{
  "version": 3,
  "sources": ["../../src/web/pages/projects/components/UpgradeProjectPlan/useProjectUpgradeNav.ts", "../../src/web/pages/projects/components/UpgradeProjectPlan/projectUpgradeTracker.ts", "../../src/web/pages/projects/components/UpgradeProjectPlan/useProjectUpgradeParam.ts"],
  "sourcesContent": ["import type { PaidProjectLicenseType, ProjectBase } from \"@framerjs/app-shared\"\nimport { UpsellType } from \"@framerjs/events\"\nimport { useCallback, useEffect, useState } from \"react\"\nimport { useHistory } from \"react-router-dom\"\nimport { getProjectPlansURL } from \"web/lib/Project.ts\"\nimport { usePurchaseOriginLocalStorage } from \"web/lib/usePurchaseOriginLocalStorage.ts\"\nimport { projectUpgradeTracker } from \"./projectUpgradeTracker.ts\"\nimport { removeUpgradeParam } from \"./useProjectUpgradeParam.ts\"\n\nconst whatTracked = { current: null as PaidProjectLicenseType | null }\nexport const useProjectUpgradeNav = (licenseType: PaidProjectLicenseType) => {\n\tconst history = useHistory()\n\tconst [savedProject, selectProject] = useState<ProjectBase | null>(null)\n\tconst { forgetPurchaseOrigin } = usePurchaseOriginLocalStorage()\n\n\tuseEffect(() => {\n\t\tif (whatTracked.current === licenseType) {\n\t\t\treturn\n\t\t}\n\t\twhatTracked.current = licenseType\n\t\tprojectUpgradeTracker.openUpgradeFlow()\n\t}, [licenseType])\n\n\tconst dismissUpgrade = useCallback(() => {\n\t\tprojectUpgradeTracker.closeUpgradeFlow()\n\t\tforgetPurchaseOrigin(UpsellType.selectProjectToUpgradeModalUpsell)\n\t\twhatTracked.current = null\n\t\thistory.push({ search: removeUpgradeParam(new URLSearchParams(history.location.search)) })\n\t}, [history, forgetPurchaseOrigin])\n\n\tconst gotoPlans = useCallback(\n\t\t(project: ProjectBase) => {\n\t\t\tprojectUpgradeTracker.selectProject({\n\t\t\t\tprojectId: project.id,\n\t\t\t\tfromLicenseType: project.license.type,\n\t\t\t\ttoLicenseType: licenseType,\n\t\t\t})\n\t\t\tif (!savedProject || savedProject.id !== project.id) {\n\t\t\t\tselectProject(project)\n\t\t\t}\n\t\t\tconst url = getProjectPlansURL(project)\n\t\t\twindow.open(url, \"_self\")\n\t\t},\n\t\t[licenseType, savedProject],\n\t)\n\n\treturn {\n\t\tdismissUpgrade,\n\t\tgotoPlans,\n\t\tchosenProject: savedProject,\n\t} as const\n}\n", "import type { FramerEventsMap } from \"@framerjs/events\"\nimport { UpsellType } from \"@framerjs/events\"\nimport { record } from \"web/lib/tracker.ts\"\n\nexport const projectUpgradeTracker = {\n\topenUpgradeFlow: () => {\n\t\trecord(\"ui_impression\", { page: UpsellType.selectProjectToUpgradeModalUpsell })\n\t},\n\tcloseUpgradeFlow: () => {\n\t\trecord(\"ui_interaction\", { page: UpsellType.selectProjectToUpgradeModalUpsell, id: \"close\" })\n\t},\n\tselectProject: (attrs: FramerEventsMap[\"select_project_to_upgrade_modal_upsell_select_project\"]) => {\n\t\trecord(\"ui_interaction\", { page: UpsellType.selectProjectToUpgradeModalUpsell, id: \"select-project\" })\n\t\trecord(\"select_project_to_upgrade_modal_upsell_select_project\", attrs)\n\t},\n}\n", "import type { PaidProjectLicenseType } from \"@framerjs/app-shared\"\nimport { ProjectLicenseType, isPaidLicenseType, isValidProjectLicense } from \"@framerjs/app-shared\"\n\nconst QS_PARAMS_PLAN = \"upgradeTo\"\n\nexport const useProjectUpgradeParam = (sp: URLSearchParams): PaidProjectLicenseType | null => {\n\tconst licenseTypeQS = sp.get(QS_PARAMS_PLAN)\n\treturn isValidProjectLicense(licenseTypeQS) && isPaidLicenseType(licenseTypeQS) ? licenseTypeQS : null\n}\n\nexport const removeUpgradeParam = (sp: URLSearchParams) => {\n\tsp.delete(QS_PARAMS_PLAN)\n\treturn sp.toString()\n}\n\nexport const generateSiteUpgradeParams = () => {\n\tconst sp = new URLSearchParams()\n\tsp.append(\"showUpgrade\", \"true\")\n\tsp.append(QS_PARAMS_PLAN, ProjectLicenseType.BasicSite2025)\n\treturn sp.toString()\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAEA,mBAAiD;;;ACE1C,IAAM,wBAAwB;AAAA,EACpC,iBAAiB,MAAM;AACtB,WAAO,iBAAiB,EAAE,uFAAmD,CAAC;AAAA,EAC/E;AAAA,EACA,kBAAkB,MAAM;AACvB,WAAO,kBAAkB,EAAE,wFAAoD,IAAI,QAAQ,CAAC;AAAA,EAC7F;AAAA,EACA,eAAe,CAAC,UAAoF;AACnG,WAAO,kBAAkB,EAAE,wFAAoD,IAAI,iBAAiB,CAAC;AACrG,WAAO,yDAAyD,KAAK;AAAA,EACtE;AACD;;;ACZA,IAAM,iBAAiB;AAEhB,IAAM,yBAAyB,CAAC,OAAuD;AAC7F,QAAM,gBAAgB,GAAG,IAAI,cAAc;AAC3C,SAAO,sBAAsB,aAAa,KAAK,kBAAkB,aAAa,IAAI,gBAAgB;AACnG;AAEO,IAAM,qBAAqB,CAAC,OAAwB;AAC1D,KAAG,OAAO,cAAc;AACxB,SAAO,GAAG,SAAS;AACpB;AAEO,IAAM,4BAA4B,MAAM;AAC9C,QAAM,KAAK,IAAI,gBAAgB;AAC/B,KAAG,OAAO,eAAe,MAAM;AAC/B,KAAG,OAAO,mDAAgD;AAC1D,SAAO,GAAG,SAAS;AACpB;;;AFXA,IAAM,cAAc,EAAE,SAAS,KAAsC;AAC9D,IAAM,uBAAuB,CAAC,gBAAwC;AAC5E,QAAM,UAAU,WAAW;AAC3B,QAAM,CAAC,cAAc,aAAa,QAAI,uBAA6B,IAAI;AACvE,QAAM,EAAE,qBAAqB,IAAI,8BAA8B;AAE/D,8BAAU,MAAM;AACf,QAAI,YAAY,YAAY,aAAa;AACxC;AAAA,IACD;AACA,gBAAY,UAAU;AACtB,0BAAsB,gBAAgB;AAAA,EACvC,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,qBAAiB,0BAAY,MAAM;AACxC,0BAAsB,iBAAiB;AACvC,yGAAiE;AACjE,gBAAY,UAAU;AACtB,YAAQ,KAAK,EAAE,QAAQ,mBAAmB,IAAI,gBAAgB,QAAQ,SAAS,MAAM,CAAC,EAAE,CAAC;AAAA,EAC1F,GAAG,CAAC,SAAS,oBAAoB,CAAC;AAElC,QAAM,gBAAY;AAAA,IACjB,CAAC,YAAyB;AACzB,4BAAsB,cAAc;AAAA,QACnC,WAAW,QAAQ;AAAA,QACnB,iBAAiB,QAAQ,QAAQ;AAAA,QACjC,eAAe;AAAA,MAChB,CAAC;AACD,UAAI,CAAC,gBAAgB,aAAa,OAAO,QAAQ,IAAI;AACpD,sBAAc,OAAO;AAAA,MACtB;AACA,YAAM,MAAM,mBAAmB,OAAO;AACtC,aAAO,KAAK,KAAK,OAAO;AAAA,IACzB;AAAA,IACA,CAAC,aAAa,YAAY;AAAA,EAC3B;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EAChB;AACD;",
  "names": []
}
