sanity 6.9.2-next.21 → 6.9.2-next.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{AddonDatasetProvider-B5npf4J4.js → AddonDatasetProvider-CfAw3oMr.js} +2 -2
- package/lib/{AddonDatasetProvider-B5npf4J4.js.map → AddonDatasetProvider-CfAw3oMr.js.map} +1 -1
- package/lib/{CalendarFilter-DYJEZDCP.js → CalendarFilter-OHGevGRx.js} +3 -3
- package/lib/{CalendarFilter-DYJEZDCP.js.map → CalendarFilter-OHGevGRx.js.map} +1 -1
- package/lib/{CommentsDocumentLayout-CTL7lt6a.js → CommentsDocumentLayout-p8p-oNuH.js} +2 -2
- package/lib/{CommentsDocumentLayout-CTL7lt6a.js.map → CommentsDocumentLayout-p8p-oNuH.js.map} +1 -1
- package/lib/{CommentsField-BE_CI2SY.js → CommentsField-CqXs722Y.js} +3 -3
- package/lib/{CommentsField-BE_CI2SY.js.map → CommentsField-CqXs722Y.js.map} +1 -1
- package/lib/{CommentsInput-D_EM-t5a.js → CommentsInput-B3rd8HlF.js} +5 -5
- package/lib/{CommentsInput-D_EM-t5a.js.map → CommentsInput-B3rd8HlF.js.map} +1 -1
- package/lib/{CommentsInspector-DtBIUadl.js → CommentsInspector-DTHmjTFc.js} +5 -5
- package/lib/{CommentsInspector-DtBIUadl.js.map → CommentsInspector-DTHmjTFc.js.map} +1 -1
- package/lib/{CommentsListItem-BFRqZMJ6.js → CommentsListItem-C2Ac0esL.js} +3 -3
- package/lib/{CommentsListItem-BFRqZMJ6.js.map → CommentsListItem-C2Ac0esL.js.map} +1 -1
- package/lib/{CommentsSelectedPathProvider-CIKpHpK3.js → CommentsSelectedPathProvider-DwDw8s-s.js} +3 -3
- package/lib/{CommentsSelectedPathProvider-CIKpHpK3.js.map → CommentsSelectedPathProvider-DwDw8s-s.js.map} +1 -1
- package/lib/{CommentsStudioLayout-Dx0jIDle.js → CommentsStudioLayout-e2hCA_5z.js} +4 -4
- package/lib/{CommentsStudioLayout-Dx0jIDle.js.map → CommentsStudioLayout-e2hCA_5z.js.map} +1 -1
- package/lib/{ReleasesMetadataProvider-hILX90V4.js → ReleasesMetadataProvider-BWsmHWkh.js} +2 -2
- package/lib/{ReleasesMetadataProvider-hILX90V4.js.map → ReleasesMetadataProvider-BWsmHWkh.js.map} +1 -1
- package/lib/{ReleasesNav-DIv-1iR7.js → ReleasesNav-DPSjEs29.js} +14 -14
- package/lib/{ReleasesNav-DIv-1iR7.js.map → ReleasesNav-DPSjEs29.js.map} +1 -1
- package/lib/{ReleasesStudioLayout-DW7fJSfG.js → ReleasesStudioLayout-CtyE88nI.js} +8 -8
- package/lib/{ReleasesStudioLayout-DW7fJSfG.js.map → ReleasesStudioLayout-CtyE88nI.js.map} +1 -1
- package/lib/{ReleasesTool-BQjO7osC.js → ReleasesTool-BjbRMZlc.js} +15 -15
- package/lib/{ReleasesTool-BQjO7osC.js.map → ReleasesTool-BjbRMZlc.js.map} +1 -1
- package/lib/{SchedulePublishingStudioLayout-Cwmdz7HZ.js → SchedulePublishingStudioLayout-gZWH97ZL.js} +3 -3
- package/lib/{SchedulePublishingStudioLayout-Cwmdz7HZ.js.map → SchedulePublishingStudioLayout-gZWH97ZL.js.map} +1 -1
- package/lib/{SchedulePublishingUpsellProvider-C5B21VDh.js → SchedulePublishingUpsellProvider-DsI8OUg-.js} +2 -2
- package/lib/{SchedulePublishingUpsellProvider-C5B21VDh.js.map → SchedulePublishingUpsellProvider-DsI8OUg-.js.map} +1 -1
- package/lib/{ScheduledPublishingEnabledProvider-BNMAVqrS.js → ScheduledPublishingEnabledProvider-BDRtV8OB.js} +3 -3
- package/lib/{ScheduledPublishingEnabledProvider-BNMAVqrS.js.map → ScheduledPublishingEnabledProvider-BDRtV8OB.js.map} +1 -1
- package/lib/{SearchProvider-DkGUk8a6.js → SearchProvider-Hk7IMQqR.js} +4 -4
- package/lib/{SearchProvider-DkGUk8a6.js.map → SearchProvider-Hk7IMQqR.js.map} +1 -1
- package/lib/{SingleDocReleaseLayout-fW8U-ktp.js → SingleDocReleaseLayout-evCp37zs.js} +2 -2
- package/lib/{SingleDocReleaseLayout-fW8U-ktp.js.map → SingleDocReleaseLayout-evCp37zs.js.map} +1 -1
- package/lib/{SingleDocReleaseUpsellProvider-BNF2Rj3j.js → SingleDocReleaseUpsellProvider-BOe2BACb.js} +4 -4
- package/lib/{SingleDocReleaseUpsellProvider-BNF2Rj3j.js.map → SingleDocReleaseUpsellProvider-BOe2BACb.js.map} +1 -1
- package/lib/{TasksStudioActiveToolLayout-CHazNA61.js → TasksStudioActiveToolLayout-Dbs-1GX6.js} +11 -11
- package/lib/{TasksStudioActiveToolLayout-CHazNA61.js.map → TasksStudioActiveToolLayout-Dbs-1GX6.js.map} +1 -1
- package/lib/{TasksStudioLayout-B7bCL28Q.js → TasksStudioLayout-Pn-RwtPi.js} +5 -5
- package/lib/{TasksStudioLayout-B7bCL28Q.js.map → TasksStudioLayout-Pn-RwtPi.js.map} +1 -1
- package/lib/{Tool-rkq_tjXo.js → Tool-D4-WLZtb.js} +12 -12
- package/lib/{Tool-rkq_tjXo.js.map → Tool-D4-WLZtb.js.map} +1 -1
- package/lib/{UnpublishVersionDialog-DWYCXGkz.js → UnpublishVersionDialog-DmFHVqhI.js} +4 -4
- package/lib/{UnpublishVersionDialog-DWYCXGkz.js.map → UnpublishVersionDialog-DmFHVqhI.js.map} +1 -1
- package/lib/{UpsellDialog-BiDSVmne.js → UpsellDialog-DRhOCOce.js} +2 -2
- package/lib/{UpsellDialog-BiDSVmne.js.map → UpsellDialog-DRhOCOce.js.map} +1 -1
- package/lib/{VariantsStudioNavbar-Bae9LOIN.js → VariantsStudioNavbar-CXpr7UUl.js} +7 -7
- package/lib/{VariantsStudioNavbar-Bae9LOIN.js.map → VariantsStudioNavbar-CXpr7UUl.js.map} +1 -1
- package/lib/{VariantsTool-E4ptTHik.js → VariantsTool-BCtrSWfP.js} +7 -7
- package/lib/{VariantsTool-E4ptTHik.js.map → VariantsTool-BCtrSWfP.js.map} +1 -1
- package/lib/{WorkspaceLoader-sdFQ9rkh.js → WorkspaceLoader-_w6NnbDb.js} +21 -21
- package/lib/{WorkspaceLoader-sdFQ9rkh.js.map → WorkspaceLoader-_w6NnbDb.js.map} +1 -1
- package/lib/_createContext.js +1 -1
- package/lib/{buildTextSelectionFromFragment-CuXpitEZ.js → buildTextSelectionFromFragment-Egmw5rNs.js} +3 -3
- package/lib/{buildTextSelectionFromFragment-CuXpitEZ.js.map → buildTextSelectionFromFragment-Egmw5rNs.js.map} +1 -1
- package/lib/{datastores-XTDIa3jc.js → datastores-DpJ5Y313.js} +2 -2
- package/lib/{datastores-XTDIa3jc.js.map → datastores-DpJ5Y313.js.map} +1 -1
- package/lib/index.js +28 -28
- package/lib/{inputResolver-DLP8YZcM.js → inputResolver-BX-VuloN.js} +4 -4
- package/lib/{inputResolver-DLP8YZcM.js.map → inputResolver-BX-VuloN.js.map} +1 -1
- package/lib/{navigation.telemetry-4pppJENG.js → navigation.telemetry-VbqjOek0.js} +7 -7
- package/lib/{navigation.telemetry-4pppJENG.js.map → navigation.telemetry-VbqjOek0.js.map} +1 -1
- package/lib/{plugin-BmARoHKH.js → plugin-DGOEvpWT.js} +4 -4
- package/lib/{plugin-BmARoHKH.js.map → plugin-DGOEvpWT.js.map} +1 -1
- package/lib/{plugin-BUox1zeI.js → plugin-Da_fKb0U.js} +3 -3
- package/lib/{plugin-BUox1zeI.js.map → plugin-Da_fKb0U.js.map} +1 -1
- package/lib/{plugin-CjN39wwt.js → plugin-DqqaZdOH.js} +5 -5
- package/lib/{plugin-CjN39wwt.js.map → plugin-DqqaZdOH.js.map} +1 -1
- package/lib/{plugin-BRnqEpCl.js → plugin-qHXYpO99.js} +6 -6
- package/lib/{plugin-BRnqEpCl.js.map → plugin-qHXYpO99.js.map} +1 -1
- package/lib/{scheduleItem-Dtb26ejO.js → scheduleItem-DcC1HE9G.js} +8 -8
- package/lib/{scheduleItem-Dtb26ejO.js.map → scheduleItem-DcC1HE9G.js.map} +1 -1
- package/lib/{schedules-6qsR7E_I.js → schedules-CbnXaXM9.js} +3 -3
- package/lib/{schedules-6qsR7E_I.js.map → schedules-CbnXaXM9.js.map} +1 -1
- package/lib/{searchDocumentRelease-CUk7BiST.js → searchDocumentRelease-C5sClmGF.js} +4 -4
- package/lib/{searchDocumentRelease-CUk7BiST.js.map → searchDocumentRelease-C5sClmGF.js.map} +1 -1
- package/lib/{studioClient-D1Z2zK3C.js → studioClient-CwMJwOTd.js} +2 -2
- package/lib/{studioClient-D1Z2zK3C.js.map → studioClient-CwMJwOTd.js.map} +1 -1
- package/lib/{useBundleDocuments-BnCBcbdJ.js → useBundleDocuments-DvVAF6cf.js} +7 -7
- package/lib/{useBundleDocuments-BnCBcbdJ.js.map → useBundleDocuments-DvVAF6cf.js.map} +1 -1
- package/lib/{useComments-Bm-0CwNH.js → useComments-DuEOnDkA.js} +2 -2
- package/lib/{useComments-Bm-0CwNH.js.map → useComments-DuEOnDkA.js.map} +1 -1
- package/lib/{useCommentsTelemetry-D1kYRuPU.js → useCommentsTelemetry-BgNdQdz5.js} +3 -3
- package/lib/{useCommentsTelemetry-D1kYRuPU.js.map → useCommentsTelemetry-BgNdQdz5.js.map} +1 -1
- package/lib/{useDocumentPreviewValues-DJvES8Wi.js → useDocumentPreviewValues-B1zNjl_D.js} +3 -3
- package/lib/{useDocumentPreviewValues-DJvES8Wi.js.map → useDocumentPreviewValues-B1zNjl_D.js.map} +1 -1
- package/lib/{useFeatureEnabled-g8eZoiLM.js → useFeatureEnabled-4qCpV_mX.js} +2 -2
- package/lib/{useFeatureEnabled-g8eZoiLM.js.map → useFeatureEnabled-4qCpV_mX.js.map} +1 -1
- package/lib/{useFieldActions-BV_qfe65.js → useFieldActions-uDe2qh98.js} +2 -2
- package/lib/{useFieldActions-BV_qfe65.js.map → useFieldActions-uDe2qh98.js.map} +1 -1
- package/lib/{useReleasesToolAvailable-Duu10qV0.js → useReleasesToolAvailable-DDuNc6HV.js} +3 -3
- package/lib/{useReleasesToolAvailable-Duu10qV0.js.map → useReleasesToolAvailable-DDuNc6HV.js.map} +1 -1
- package/lib/{useScheduledDraftMenuActions-Byiy3-k3.js → useScheduledDraftMenuActions-DqkHlC0c.js} +5 -5
- package/lib/{useScheduledDraftMenuActions-Byiy3-k3.js.map → useScheduledDraftMenuActions-DqkHlC0c.js.map} +1 -1
- package/lib/{useStudioUrl-BEb30_UK.js → useStudioUrl-B4w58A2i.js} +5 -5
- package/lib/{useStudioUrl-BEb30_UK.js.map → useStudioUrl-B4w58A2i.js.map} +1 -1
- package/lib/{useTimeZone-zs0ybzXu.js → useTimeZone-8Wd1UR4j.js} +2 -2
- package/lib/{useTimeZone-zs0ybzXu.js.map → useTimeZone-8Wd1UR4j.js.map} +1 -1
- package/lib/{validationUtils-LdwtMTh5.js → validationUtils-Cuk0jhWJ.js} +4 -4
- package/lib/{validationUtils-LdwtMTh5.js.map → validationUtils-Cuk0jhWJ.js.map} +1 -1
- package/lib/{version-XEmBTnIh.js → version-BVcB_xWL.js} +2 -2
- package/lib/{version-XEmBTnIh.js.map → version-BVcB_xWL.js.map} +1 -1
- package/package.json +10 -10
package/lib/{UnpublishVersionDialog-DWYCXGkz.js.map → UnpublishVersionDialog-DmFHVqhI.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnpublishVersionDialog-DWYCXGkz.js","names":["LATEST","PUBLISHED","useWorkspace","useGetDefaultPerspective","isDraftModelEnabled","document","drafts","enabled","useCallback","useRouter","SystemBundle","ReleaseId","useGetDefaultPerspective","getPerspectiveParam","perspective","defaultPerspective","useSetPerspective","$","_c","router","t0","releaseId","newPerspective","navigate","stickyParams","excludedPerspectives","setPerspective","defineEvent","DocumentVariantType","VersionInfo","documentOrigin","OriginInfo","origin","RevertInfo","revertType","AddedVersion","name","version","description","CreatedRelease","DeletedRelease","PublishedRelease","ScheduledRelease","UnscheduledRelease","ArchivedRelease","UnarchivedRelease","RevertRelease","DuplicatedRelease","ReleaseLinkCopied","ReleaseIdCopied","ReleaseTitleCopied","SingleActionResult","useTelemetry","ReleaseId","useSetPerspective","getDocumentVariantType","AddedVersion","useReleaseOperations","CreateVersionOptions","navigate","VersionOperationsValue","createVersion","releaseId","documentId","options","Promise","discardVersion","unpublishVersion","revertUnpublishVersion","useVersionOperations","$","_c","telemetry","setPerspective","t0","t1","undefined","origin","log","documentOrigin","handleCreateVersion","releaseId_0","documentId_0","handleDiscardVersion","t2","documentId_1","handleUnpublishVersion","t3","documentId_2","handleRevertUnpublishVersion","t4","ReleaseDocument","getVersionNameFromId","VersionId","Box","Stack","Text","useToast","useCallback","useState","Dialog","LoadingBlock","useDocumentOperation","useSchema","getPairTarget","useTargetDocumentState","useTranslation","Translate","TargetPerspective","usePerspective","Preview","getPublishedId","getVersionFromId","isDraftId","isVersionId","useVersionOperations","releasesLocaleNamespace","getReleaseIdFromReleaseDocumentId","DiscardVersionDialog","props","$","_c","onClose","versionId","documentType","fromPerspective","isGoingToUnpublish","t","coreT","t0","targetDocumentState","isTargetReady","status","t1","t2","discardChanges","selectedPerspective","discardVersion","schema","toast","isDiscarding","setIsDiscarding","discardType","rawReleaseName","metadata","title","t3","t4","currentRelease","t5","releaseName","t6","get","schemaType","t7","run","_id","t8","err","push","closable","description","message","execute","handleDiscardVersion","t9","releaseTitle","t10","t11","disabled","onClick","t12","t13","t14","t15","text","t16","cancelButton","confirmButton","t17","t18","Symbol","for","maxWidth","t19","t20","t21","t22","t23","ReleaseDocument","useMemo","ARCHIVED_RELEASE_STATES","useAllReleases","useArchivedReleases","$","_c","data","releases","error","loading","t0","Array","from","values","filter","_temp","archivedReleases","t1","release","includes","state","ReleaseDocument","Stack","Text","useToast","CSSProperties","useCallback","useState","Dialog","LoadingBlock","useSchema","useTranslation","Translate","Preview","useValuePreview","getVersionFromId","useVersionOperations","releasesLocaleNamespace","useActiveReleases","useArchivedReleases","getReleaseIdFromReleaseDocumentId","getReleaseTone","UnpublishVersionDialog","props","$","_c","onClose","documentVersionId","documentType","t","coreT","schema","unpublishVersion","isUnpublishing","setIsUnpublishing","toast","data","archivedReleases","release","t0","t1","candidate","_id","concat","find","tone","get","schemaType","t2","t3","value","preview","t4","title","run","push","closable","status","description","t5","err","message","handleUnpublish","t6","t7","text","onClick","t8","t9","disabled","loading","t10","cancelButton","confirmButton","t11","t12","metadata","t13","t14","Label","t15","children","color","backgroundColor","borderRadius","textDecoration","padding","fontWeight","t16","t17","t18","t19"],"sources":["../src/core/perspective/useGetDefaultPerspective.ts","../src/core/perspective/useSetPerspective.tsx","../src/core/releases/__telemetry__/releases.telemetry.ts","../src/core/releases/hooks/useVersionOperations.tsx","../src/core/releases/components/dialog/DiscardVersionDialog.tsx","../src/core/releases/store/useArchivedReleases.ts","../src/core/releases/components/dialog/UnpublishVersionDialog.tsx"],"sourcesContent":["import {LATEST, PUBLISHED} from '../releases/util/const'\nimport {useWorkspace} from '../studio/workspace'\n\n/**\n * @beta\n * Exposes the default perspective based on the draft model enabled status.\n * If the user hasn't opt out from draft, the default perspective is `drafts`\n * Otherwise, the default perspective is `published`\n * @returns The default perspective based on the draft model enabled status.\n */\nexport function useGetDefaultPerspective(): 'drafts' | 'published' {\n const isDraftModelEnabled = useWorkspace().document.drafts.enabled\n return isDraftModelEnabled ? LATEST : PUBLISHED\n}\n","import {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\n\nimport {type SystemBundle} from '../util/draftUtils'\nimport {type ReleaseId} from './types'\nimport {useGetDefaultPerspective} from './useGetDefaultPerspective'\n\n/**\n * Resolves the value of the `perspective` sticky param for a given perspective. Default states\n * (no perspective, or the default perspective) resolve to an empty string so the param is removed.\n *\n * @internal\n */\nexport function getPerspectiveParam(\n perspective: SystemBundle | ReleaseId | undefined,\n defaultPerspective: SystemBundle,\n) {\n if (!perspective) return ''\n if (perspective === defaultPerspective) return ''\n return perspective\n}\n\n/**\n * @internal\n */\nexport function useSetPerspective() {\n const router = useRouter()\n\n const defaultPerspective = useGetDefaultPerspective()\n\n const setPerspective = useCallback(\n (releaseId: SystemBundle | ReleaseId | undefined) => {\n const newPerspective = getPerspectiveParam(releaseId, defaultPerspective)\n\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: newPerspective,\n },\n })\n },\n [defaultPerspective, router],\n )\n return setPerspective\n}\n","import {defineEvent} from '@sanity/telemetry'\n\nimport {type DocumentVariantType} from '../../util/getDocumentVariantType'\n\ninterface VersionInfo {\n /**\n * document type that was added\n */\n\n /**\n * the origin of the version created (from a draft or from a version)\n */\n documentOrigin: DocumentVariantType\n}\n\nexport interface OriginInfo {\n /**\n * determines where the release was created, either from the structure view or the release plugin\n */\n origin: 'structure' | 'release-plugin'\n}\n\nexport interface RevertInfo {\n /**\n * determined whether reverting a release created a new staged release, or immediately reverted\n */\n revertType: 'immediate' | 'staged'\n}\n\n/**\n * When a document (version) is successfully added to a release\n */\nexport const AddedVersion = defineEvent<VersionInfo>({\n name: 'Version Document Added to Release ',\n version: 1,\n description: 'User added a document to a release',\n})\n\n/** When a release is successfully created */\nexport const CreatedRelease = defineEvent<OriginInfo>({\n name: 'Release Created',\n version: 1,\n description: 'User created a release',\n})\n\n/** When a release is successfully deleted */\nexport const DeletedRelease = defineEvent({\n name: 'Release Deleted',\n version: 1,\n description: 'User deleted a release',\n})\n\n/** When a release is successfully published */\nexport const PublishedRelease = defineEvent({\n name: 'Release Published',\n version: 1,\n description: 'User published a release',\n})\n\n/** When a release is successfully scheduled*/\nexport const ScheduledRelease = defineEvent({\n name: 'Release Scheduled',\n version: 1,\n description: 'User scheduled a release',\n})\n\n/** When a release is successfully scheduled */\nexport const UnscheduledRelease = defineEvent({\n name: 'Release Unscheduled',\n version: 1,\n description: 'User unscheduled a release',\n})\n\n/** When a release is successfully archived*/\nexport const ArchivedRelease = defineEvent({\n name: 'Release Archived',\n version: 1,\n description: 'User archived a release',\n})\n\n/** When a release is successfully unarchived */\nexport const UnarchivedRelease = defineEvent({\n name: 'Release Unarchived',\n version: 1,\n description: 'User unarchived a release',\n})\n\n/** When a release is successfully reverted */\nexport const RevertRelease = defineEvent<RevertInfo>({\n name: 'Release Reverted',\n version: 1,\n description: 'User reverted a release',\n})\n\n/** When a release is successfully duplicated */\nexport const DuplicatedRelease = defineEvent({\n name: 'Release Duplicated',\n version: 1,\n description: 'User duplicated a release',\n})\n\n/** When a release link is copied to clipboard */\nexport const ReleaseLinkCopied = defineEvent({\n name: 'Release Link Copied',\n version: 1,\n description: 'User copied release link to clipboard',\n})\n\n/** When a release ID is copied to clipboard */\nexport const ReleaseIdCopied = defineEvent({\n name: 'Release ID Copied',\n version: 1,\n description: 'User copied release ID to clipboard',\n})\n\n/** When a release title is copied to clipboard */\nexport const ReleaseTitleCopied = defineEvent({\n name: 'Release Title Copied',\n version: 1,\n description: 'User copied release title to clipboard',\n})\n","import {type SingleActionResult} from '@sanity/client'\nimport {useTelemetry} from '@sanity/telemetry/react'\n\nimport {type ReleaseId} from '../../perspective/types'\nimport {useSetPerspective} from '../../perspective/useSetPerspective'\nimport {getDocumentVariantType} from '../../util/getDocumentVariantType'\nimport {AddedVersion} from '../__telemetry__/releases.telemetry'\nimport {useReleaseOperations} from '../store/useReleaseOperations'\n\nexport interface CreateVersionOptions {\n /**\n * Whether to navigate to the created version's perspective after creation.\n * Defaults to `true`. Callers that handle navigation themselves (e.g. to\n * also update the variant sticky param) should pass `false`.\n */\n navigate?: boolean\n}\n\nexport interface VersionOperationsValue {\n createVersion: (\n releaseId: ReleaseId,\n documentId: string,\n options?: CreateVersionOptions,\n ) => Promise<void>\n discardVersion: (releaseId: string, documentId: string) => Promise<SingleActionResult>\n unpublishVersion: (documentId: string) => Promise<SingleActionResult>\n revertUnpublishVersion: (documentId: string) => Promise<SingleActionResult>\n}\n\n/** @internal */\nexport function useVersionOperations(): VersionOperationsValue {\n const telemetry = useTelemetry()\n const {createVersion, discardVersion, unpublishVersion, revertUnpublishVersion} =\n useReleaseOperations()\n\n const setPerspective = useSetPerspective()\n\n const handleCreateVersion = async (\n releaseId: ReleaseId,\n documentId: string,\n options?: CreateVersionOptions,\n ) => {\n const {navigate = true} = options ?? {}\n const origin = getDocumentVariantType(documentId)\n await createVersion(releaseId, documentId)\n if (navigate) {\n setPerspective(releaseId)\n }\n telemetry.log(AddedVersion, {\n documentOrigin: origin,\n })\n }\n\n const handleDiscardVersion = async (releaseId: string, documentId: string) =>\n discardVersion(releaseId, documentId)\n\n const handleUnpublishVersion = async (documentId: string) => unpublishVersion(documentId)\n\n const handleRevertUnpublishVersion = async (documentId: string) =>\n revertUnpublishVersion(documentId)\n\n return {\n createVersion: handleCreateVersion,\n discardVersion: handleDiscardVersion,\n unpublishVersion: handleUnpublishVersion,\n revertUnpublishVersion: handleRevertUnpublishVersion,\n }\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {getVersionNameFromId, type VersionId} from '@sanity/id-utils'\nimport {Box, Stack, Text, useToast} from '@sanity/ui'\nimport {useCallback, useState} from 'react'\n\nimport {Dialog} from '../../../../ui-components/dialog/Dialog'\nimport {LoadingBlock} from '../../../components/loadingBlock/LoadingBlock'\nimport {useDocumentOperation} from '../../../hooks/useDocumentOperation'\nimport {useSchema} from '../../../hooks/useSchema'\nimport {getPairTarget, useTargetDocumentState} from '../../../hooks/useTargetDocumentState'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {Translate} from '../../../i18n/Translate'\nimport {type TargetPerspective} from '../../../perspective/types'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {Preview} from '../../../preview/components/Preview'\nimport {getPublishedId, getVersionFromId, isDraftId, isVersionId} from '../../../util/draftUtils'\nimport {useVersionOperations} from '../../hooks/useVersionOperations'\nimport {releasesLocaleNamespace} from '../../i18n'\nimport {getReleaseIdFromReleaseDocumentId} from '../../util/getReleaseIdFromReleaseDocumentId'\n\n/**\n * @internal\n */\nexport function DiscardVersionDialog(props: {\n onClose: () => void\n versionId: string\n documentType: string\n fromPerspective: string | TargetPerspective\n isGoingToUnpublish: boolean\n}): React.JSX.Element {\n const {onClose, versionId, documentType, fromPerspective, isGoingToUnpublish} = props\n const {t} = useTranslation(releasesLocaleNamespace)\n const {t: coreT} = useTranslation()\n const targetDocumentState = useTargetDocumentState(getPublishedId(versionId))\n // The scope of the document targeted by the selected perspective, so that discarding a draft\n // targets the variant-scoped version when a variant is selected (undefined when the target is\n // still resolving or the draft/published pair applies). While resolving, confirming is\n // disabled below instead of silently operating on the base pair.\n const isTargetReady = targetDocumentState.status === 'ready'\n const {discardChanges} = useDocumentOperation(\n getPublishedId(versionId),\n documentType,\n getPairTarget(targetDocumentState),\n )\n const {selectedPerspective} = usePerspective()\n const {discardVersion} = useVersionOperations()\n const schema = useSchema()\n const toast = useToast()\n const [isDiscarding, setIsDiscarding] = useState(false)\n const discardType = isDraftId(versionId) ? 'draft' : 'release'\n const rawReleaseName =\n typeof fromPerspective === 'string' ? fromPerspective : fromPerspective.metadata.title\n const currentRelease = getVersionNameFromId(versionId as VersionId)\n const releaseName = rawReleaseName || coreT('release.placeholder-untitled-release')\n\n const schemaType = schema.get(documentType)\n\n const handleDiscardVersion = useCallback(async () => {\n setIsDiscarding(true)\n\n if (isVersionId(versionId)) {\n // Workaround for React Compiler not yet fully supporting try/catch/finally syntax\n const run = async () => {\n await discardVersion(\n getVersionFromId(versionId) ||\n getReleaseIdFromReleaseDocumentId((selectedPerspective as ReleaseDocument)._id),\n versionId,\n )\n }\n try {\n await run()\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: coreT('release.action.discard-version.failure'),\n description: err.message,\n })\n }\n } else {\n // on the document header you can also discard the draft\n discardChanges.execute()\n }\n\n setIsDiscarding(false)\n\n onClose()\n }, [versionId, onClose, discardVersion, selectedPerspective, toast, coreT, discardChanges])\n\n return (\n <Dialog\n id={'discard-version-dialog'}\n header={\n <Translate\n t={t}\n i18nKey={`discard-version-dialog.header-${discardType}`}\n values={{releaseTitle: releaseName}}\n />\n }\n onClose={onClose}\n width={0}\n padding={false}\n footer={{\n cancelButton: {\n disabled: isDiscarding,\n onClick: onClose,\n },\n confirmButton: {\n text: t(`discard-version-dialog.title-${discardType}`),\n onClick: handleDiscardVersion,\n disabled: isDiscarding || !isTargetReady,\n },\n }}\n >\n <Stack gap={3} paddingX={3} marginBottom={2}>\n {schemaType ? (\n <Preview\n value={{_id: isGoingToUnpublish ? getPublishedId(versionId) : versionId}}\n schemaType={schemaType}\n // Resolve the preview under the perspective of what's being discarded:\n // the published doc when unpublishing, the drafts perspective when\n // discarding a draft, otherwise the release version. Without the\n // explicit 'drafts' stack a draft falls back to its published value\n // (or \"Untitled\" when none exists), so it wouldn't show the draft\n // being discarded.\n perspectiveStack={\n isGoingToUnpublish ? [] : discardType === 'draft' ? ['drafts'] : [currentRelease]\n }\n />\n ) : (\n <LoadingBlock />\n )}\n <Box paddingX={2} style={{maxWidth: '400px'}}>\n <Text size={1} muted>\n <Translate\n t={t}\n i18nKey={`discard-version-dialog.description-${discardType}`}\n values={{releaseTitle: releaseName}}\n />\n </Text>\n </Box>\n </Stack>\n </Dialog>\n )\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {useMemo} from 'react'\n\nimport {ARCHIVED_RELEASE_STATES} from '../util/const'\nimport {useAllReleases} from './useAllReleases'\n\n/**\n * @internal\n */\nexport function useArchivedReleases(): {\n data: ReleaseDocument[]\n error?: Error\n loading: boolean\n} {\n const {data: releases, error, loading} = useAllReleases()\n\n const archivedReleases = useMemo(\n () =>\n Array.from(releases.values()).filter((release) => {\n return ARCHIVED_RELEASE_STATES.includes(release.state)\n }),\n [releases],\n )\n\n return useMemo(\n () => ({data: archivedReleases, error, loading}),\n [archivedReleases, error, loading],\n )\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {Stack, Text, useToast} from '@sanity/ui'\nimport {type CSSProperties, useCallback, useState} from 'react'\n\nimport {Dialog} from '../../../../ui-components/dialog/Dialog'\nimport {LoadingBlock} from '../../../components/loadingBlock/LoadingBlock'\nimport {useSchema} from '../../../hooks/useSchema'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {Translate} from '../../../i18n/Translate'\nimport {Preview} from '../../../preview/components/Preview'\nimport {useValuePreview} from '../../../preview/useValuePreview'\nimport {getVersionFromId} from '../../../util/draftUtils'\nimport {useVersionOperations} from '../../hooks/useVersionOperations'\nimport {releasesLocaleNamespace} from '../../i18n'\nimport {useActiveReleases} from '../../store/useActiveReleases'\nimport {useArchivedReleases} from '../../store/useArchivedReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../util/getReleaseIdFromReleaseDocumentId'\nimport {getReleaseTone} from '../../util/getReleaseTone'\n\nexport function UnpublishVersionDialog(props: {\n onClose: () => void\n documentVersionId: string\n documentType: string\n}): React.JSX.Element {\n const {onClose, documentVersionId, documentType} = props\n const {t} = useTranslation(releasesLocaleNamespace)\n const {t: coreT} = useTranslation()\n\n const schema = useSchema()\n const {unpublishVersion} = useVersionOperations()\n const [isUnpublishing, setIsUnpublishing] = useState(false)\n const toast = useToast()\n const {data} = useActiveReleases()\n const {data: archivedReleases} = useArchivedReleases()\n\n const release = data\n .concat(archivedReleases)\n .find(\n (candidate) =>\n getReleaseIdFromReleaseDocumentId(candidate._id) === getVersionFromId(documentVersionId),\n )\n\n const tone = getReleaseTone(release as ReleaseDocument)\n const schemaType = schema.get(documentType)\n\n const preview = useValuePreview({schemaType, value: {_id: documentVersionId}})\n\n const handleUnpublish = useCallback(async () => {\n setIsUnpublishing(true)\n\n // The run() wrapper instead of doing it inline in try/catch is because of the React Compiler not fully supporting the syntax yet\n const run = async () => {\n await unpublishVersion(documentVersionId)\n toast.push({\n closable: true,\n status: 'success',\n description: (\n <Translate\n t={coreT}\n i18nKey={'release.action.unpublish-version.success'}\n values={{title: preview?.value?.title || documentVersionId}}\n />\n ),\n })\n }\n try {\n await run()\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: coreT('release.action.unpublish-version.failure'),\n description: err.message,\n })\n }\n\n setIsUnpublishing(false)\n\n onClose()\n }, [coreT, documentVersionId, onClose, preview?.value?.title, toast, unpublishVersion])\n\n return (\n <Dialog\n header={t('unpublish-dialog.header')}\n id=\"document-unpublish-dialog\"\n onClickOutside={onClose}\n onClose={onClose}\n width={0}\n padding={false}\n footer={{\n cancelButton: {\n text: t('unpublish-dialog.action.cancel'),\n onClick: onClose,\n },\n confirmButton: {\n text: t('unpublish-dialog.action.unpublish'),\n onClick: handleUnpublish,\n tone: 'critical',\n disabled: isUnpublishing,\n loading: isUnpublishing,\n },\n }}\n >\n <Stack gap={4} paddingX={4} paddingBottom={4}>\n {schemaType ? (\n <Preview value={{_id: documentVersionId}} schemaType={schemaType} />\n ) : (\n <LoadingBlock />\n )}\n <Text muted size={1}>\n <Translate\n t={t}\n i18nKey=\"unpublish-dialog.description.to-draft\"\n values={{\n title: release?.metadata.title || coreT('release.placeholder-untitled-release'),\n }}\n components={{\n Label: ({children}) => {\n return (\n <span\n style={\n {\n color: `var(--card-badge-${tone ?? 'default'}-fg-color)`,\n backgroundColor: `var(--card-badge-${tone ?? 'default'}-bg-color)`,\n borderRadius: 3,\n textDecoration: 'none',\n padding: '0px 2px',\n fontWeight: 500,\n } as CSSProperties\n }\n >\n {children}\n </span>\n )\n },\n }}\n />\n </Text>\n <Text muted size={1}>\n {t('unpublish-dialog.description.lost-changes')}\n </Text>\n </Stack>\n </Dialog>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAOG,2BAAA;CAC6D,OAAtCD,aAAa,CAAC,CAAAG,SAASC,OAAOC,UACnDP,SAAAC;AAAwC;;;;;;;ACCjD,SAAgBY,oBACdC,aACAC,oBACA;CAGA,OAFI,CAACD,eACDA,gBAAgBC,qBAA2B,KACxCD;AACT;;;;AAKA,SAAOE,oBAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACLC,SAAeV,UAAU,GAEzBM,qBAA2BH,yBAAyB,GAACQ;CAcpD,OAdoDH,EAAA,OAAAF,sBAAAE,EAAA,OAAAE,UAGnDC,MAAAC,cAAA;EACE,IAAAC,iBAAuBT,oBAAoBQ,WAAWN,kBAAkB;EAExEI,OAAMI,SAAU,EAAAC,cACA;GAAAC,sBACU;GAAIX,aACbQ;EACf,EACF,CAAC;CAAC,GACHL,EAAA,KAAAF,oBAAAE,EAAA,KAAAE,QAAAF,EAAA,KAAAG,MAAAA,KAAAH,EAAA,IAGIS;AAAc;;;;ACXvB,MAAaS,eAAeR,YAAyB;CACnDS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYC,iBAAiBZ,YAAwB;CACpDS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYE,iBAAiBb,YAAY;CACxCS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYG,mBAAmBd,YAAY;CAC1CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYI,mBAAmBf,YAAY;CAC1CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYK,qBAAqBhB,YAAY;CAC5CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYM,kBAAkBjB,YAAY;CACzCS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYO,oBAAoBlB,YAAY;CAC3CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYQ,gBAAgBnB,YAAwB;CACnDS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYS,oBAAoBpB,YAAY;CAC3CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYU,oBAAoBrB,YAAY;CAC3CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYW,kBAAkBtB,YAAY;CACzCS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC,GAGYY,qBAAqBvB,YAAY;CAC5CS,MAAM;CACNC,SAAS;CACTC,aAAa;AACf,CAAC;;AC1FD,SAAO+B,uBAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACLC,YAAkBpB,aAAa,GAC/B,EAAAS,eAAAK,gBAAAC,kBAAAC,2BACEX,qBAAqB,GAEvBgB,iBAAuBnB,kBAAkB,GAACoB;CAAA,AAAAJ,EAAA,OAAAT,iBAAAS,EAAA,OAAAG,kBAAAH,EAAA,OAAAE,aAEdE,KAAA,OAAAZ,WAAAC,YAAAC,YAAA;EAK1B,IAAA,EAAAL,UAAAgB,OAA0BX,WAAA,CAAY,GAA/BL,WAAAgB,OAAAC,KAAAA,KAAAD,IACPE,SAAetB,uBAAuBQ,UAAU;EAKhDS,AAJA,MAAMX,cAAcC,WAAWC,UAAU,GACrCJ,YACFc,eAAeX,SAAS,GAE1BU,UAASM,IAAKtB,cAAc,EAAAuB,gBACVF,OAClB,CAAC;CAAC,GACHP,EAAA,KAAAT,eAAAS,EAAA,KAAAG,gBAAAH,EAAA,KAAAE,WAAAF,EAAA,KAAAI,MAAAA,KAAAJ,EAAA;CAdD,IAAAU,sBAA4BN,IAc3BC;CAAA,AAAAL,EAAA,OAAAJ,iBAGsCS,KAAAL,EAAA,MADVK,KAAA,OAAAM,aAAAC,iBAC3BhB,eAAeJ,aAAWC,YAAU,GAACO,EAAA,KAAAJ,gBAAAI,EAAA,KAAAK;CADvC,IAAAQ,uBAA6BR,IACUS;CAAA,AAAAd,EAAA,OAAAH,mBAEkDiB,KAAAd,EAAA,MAA1Dc,KAAA,OAAAC,iBAA8BlB,iBAAiBJ,YAAU,GAACO,EAAA,KAAAH,kBAAAG,EAAA,KAAAc;CAAzF,IAAAE,yBAA+BF,IAA0DG;CAAA,AAAAjB,EAAA,OAAAF,yBAGrDmB,KAAAjB,EAAA,MADCiB,KAAA,OAAAC,iBACnCpB,uBAAuBL,YAAU,GAACO,EAAA,KAAAF,wBAAAE,EAAA,KAAAiB;CADpC,IAAAE,+BAAqCF,IACDG;CAOnC,OAPmCpB,EAAA,QAAAU,uBAAAV,EAAA,QAAAa,wBAAAb,EAAA,QAAAmB,gCAAAnB,EAAA,QAAAgB,0BAE7BI,KAAA;EAAA7B,eACUmB;EAAmBd,gBAClBiB;EAAoBhB,kBAClBmB;EAAsBlB,wBAChBqB;CAC1B,GAACnB,EAAA,MAAAU,qBAAAV,EAAA,MAAAa,sBAAAb,EAAA,MAAAmB,8BAAAnB,EAAA,MAAAgB,wBAAAhB,EAAA,MAAAoB,MAAAA,KAAApB,EAAA,KALMoB;AAKN;;;;AC3CH,SAAO4B,qBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAOL,EAAAC,SAAAC,WAAAC,cAAAC,iBAAAC,uBAAgFP,OAChF,EAAAQ,MAAYrB,eAAeU,uBAAuB,GAClD,EAAAW,GAAAC,UAAmBtB,eAAe,GAACuB;CAAA,AAAAT,EAAA,OAAAG,YACyCM,KAAAT,EAAA,MAAzBS,KAAAlB,eAAeY,SAAS,GAACH,EAAA,KAAAG,WAAAH,EAAA,KAAAS;CAA5E,IAAAC,sBAA4BzB,uBAAuBwB,EAAyB,GAK5EE,gBAAsBD,oBAAmBE,WAAY,SAAOC;CAAA,AAAAb,EAAA,OAAAG,YAEjCU,KAAAb,EAAA,MAAzBa,KAAAtB,eAAeY,SAAS,GAACH,EAAA,KAAAG,WAAAH,EAAA,KAAAa;CAAA,IAAAC;CAAA,AAAAd,EAAA,OAAAU,sBAESI,KAAAd,EAAA,MAAlCc,KAAA9B,cAAc0B,mBAAmB,GAACV,EAAA,KAAAU,qBAAAV,EAAA,KAAAc;CAHpC,IAAA,EAAAC,mBAAyBjC,qBACvB+B,IACAT,cACAU,EACF,GACA,EAAAE,wBAA8B3B,eAAe,GAC7C,EAAA4B,mBAAyBtB,qBAAqB,GAC9CuB,SAAenC,UAAU,GACzBoC,QAAc1C,SAAS,GACvB,CAAA2C,cAAAC,mBAAwC1C,SAAS,EAAK,GACtD2C,cAAoB7B,YAAUU,SAA+B,IAAzC,UAAA,WACpBoB,iBACE,OAAOlB,mBAAoB,WAA3BA,kBAAwDA,gBAAemB,SAASC,OACtCC,KAAAvB,WAAsBwB;CAAA,AAAA3B,EAAA,OAAA0B,KAACC,KAAA3B,EAAA,MAA5C2B,KAAAvD,qBAAqBsD,EAAsB,GAAC1B,EAAA,KAAA0B,IAAA1B,EAAA,KAAA2B;CAAnE,IAAAC,iBAAuBD,IAA4CE;CAAA,AAAA7B,EAAA,OAAAQ,SAAAR,EAAA,OAAAuB,kBAC/CM,KAAAN,kBAAkBf,MAAM,sCAAsC,GAACR,EAAA,KAAAQ,OAAAR,EAAA,KAAAuB,gBAAAvB,EAAA,MAAA6B,MAAAA,KAAA7B,EAAA;CAAnF,IAAA8B,cAAoBD,IAA+DE;CAAA,AAAA/B,EAAA,QAAAI,gBAAAJ,EAAA,QAAAkB,UAEhEa,KAAAb,OAAMc,IAAK5B,YAAY,GAACJ,EAAA,MAAAI,cAAAJ,EAAA,MAAAkB,QAAAlB,EAAA,MAAA+B,MAAAA,KAAA/B,EAAA;CAA3C,IAAAiC,aAAmBF,IAAwBG;CAAA,AAAAlC,EAAA,QAAAQ,SAAAR,EAAA,QAAAe,kBAAAf,EAAA,QAAAiB,kBAAAjB,EAAA,QAAAE,WAAAF,EAAA,QAAAgB,uBAAAhB,EAAA,QAAAmB,SAAAnB,EAAA,QAAAG,aAEF+B,KAAA,YAAA;EAGvC,IAFAb,gBAAgB,EAAI,GAEhB3B,cAAYS,SAAS,GAAC;GAExB,IAAAgC,MAAY,YAAA;IACV,MAAMlB,eACJzB,iBAAiBW,SAC+D,KAA9EN,kCAAmCmB,oBAAsCoB,GAAK,GAChFjC,SACF;GAAC;GAEH,IAAA;IACE,MAAMgC,IAAI;GAAC,SAAAE,IAAA;IACJC,IAAAA,MAAAA;IACPnB,MAAKoB,KAAM;KAAAC,UACC;KAAI5B,QACN;KAAOa,OACRjB,MAAM,wCAAwC;KAACiC,aACzCH,IAAGI;IAClB,CAAC;GAAC;EACH,OAGD3B,eAAc4B,QAAS;EAKzBzC,AAFAmB,gBAAgB,EAAK,GAErBnB,QAAQ;CAAC,GACVF,EAAA,MAAAQ,OAAAR,EAAA,MAAAe,gBAAAf,EAAA,MAAAiB,gBAAAjB,EAAA,MAAAE,SAAAF,EAAA,MAAAgB,qBAAAhB,EAAA,MAAAmB,OAAAnB,EAAA,MAAAG,WAAAH,EAAA,MAAAkC,MAAAA,KAAAlC,EAAA;CA9BD,IAAA4C,uBAA6BV,IAsCZG,KAAA,iCAAiCf,eAAauB;CAAA,AAAA7C,EAAA,QAAA8B,cACpBe,KAAA7C,EAAA,OAA3B6C,KAAA,EAAAC,cAAehB,YAAW,GAAC9B,EAAA,MAAA8B,aAAA9B,EAAA,MAAA6C;CAAA,IAAAE;CAAA,AAAA/C,EAAA,QAAAO,KAAAP,EAAA,QAAAqC,MAAArC,EAAA,QAAA6C,MAHrCE,MAAA,oBAAC,WAAD;EACKxC;EACM,SAAA8B;EACD,QAAAQ;CAA2B,CAAA,GACnC7C,EAAA,MAAAO,GAAAP,EAAA,MAAAqC,IAAArC,EAAA,MAAA6C,IAAA7C,EAAA,MAAA+C,OAAAA,MAAA/C,EAAA;CAAA,IAAAgD;CAAA,AAAAhD,EAAA,QAAAoB,gBAAApB,EAAA,QAAAE,WAMY8C,MAAA;EAAAC,UACF7B;EAAY8B,SACbhD;CACX,GAACF,EAAA,MAAAoB,cAAApB,EAAA,MAAAE,SAAAF,EAAA,MAAAgD,OAAAA,MAAAhD,EAAA;CAES,IAAAmD,MAAA,gCAAgC7B,eAAa8B;CAAA,AAAApD,EAAA,QAAAO,KAAAP,EAAA,QAAAmD,OAA/CC,MAAA7C,EAAE4C,GAA6C,GAACnD,EAAA,MAAAO,GAAAP,EAAA,MAAAmD,KAAAnD,EAAA,MAAAoD,OAAAA,MAAApD,EAAA;CAE5C,IAAAqD,MAAAjC,gBAAA,CAAiBT,eAAa2C;CAAA,AAAAtD,EAAA,QAAA4C,wBAAA5C,EAAA,QAAAoD,OAAApD,EAAA,QAAAqD,OAH3BC,MAAA;EAAAC,MACPH;EAAgDF,SAC7CN;EAAoBK,UACnBI;CACZ,GAACrD,EAAA,MAAA4C,sBAAA5C,EAAA,MAAAoD,KAAApD,EAAA,MAAAqD,KAAArD,EAAA,MAAAsD,OAAAA,MAAAtD,EAAA;CAAA,IAAAwD;CAAA,AAAAxD,EAAA,QAAAgD,OAAAhD,EAAA,QAAAsD,OATKE,MAAA;EAAAC,cACQT;EAGbU,eACcJ;CAKjB,GAACtD,EAAA,MAAAgD,KAAAhD,EAAA,MAAAsD,KAAAtD,EAAA,MAAAwD,OAAAA,MAAAxD,EAAA;CAAA,IAAA2D;CAAA,AAAA3D,EAAA,QAAA4B,kBAAA5B,EAAA,QAAAsB,eAAAtB,EAAA,QAAAM,sBAAAN,EAAA,QAAAiC,cAAAjC,EAAA,QAAAG,aAGEwD,MAAA1B,aACC,oBAAC,SAAD;EACS,OAAA,EAAAG,KAAM9B,qBAAqBf,eAAeY,SAAqB,IAAzDA,UAA0D;EAC3D8B;EAQV,kBAAA3B,qBAAA,CAAA,IAA0BgB,gBAAgB,UAAhB,CAA2B,QAAQ,IAAnC,CAAwCM,cAAc;CAAC,CAAA,IAIrF,oBAAC,cAAD,CAAa,CAAA,GACd5B,EAAA,MAAA4B,gBAAA5B,EAAA,MAAAsB,aAAAtB,EAAA,MAAAM,oBAAAN,EAAA,MAAAiC,YAAAjC,EAAA,MAAAG,WAAAH,EAAA,MAAA2D,OAAAA,MAAA3D,EAAA;CAAA,IAAA4D;CAAA,AAAA5D,EAAA,QAAA6D,OAAAC,IAAA,2BAAA,KACwBF,MAAA,EAAAG,UAAW,QAAO,GAAC/D,EAAA,MAAA4D,OAAAA,MAAA5D,EAAA;CAI7B,IAAAgE,MAAA,sCAAsC1C,eAAa2C;CAAA,AAAAjE,EAAA,QAAA8B,cACzBmC,MAAAjE,EAAA,OAA3BiE,MAAA,EAAAnB,cAAehB,YAAW,GAAC9B,EAAA,MAAA8B,aAAA9B,EAAA,MAAAiE;CAAA,IAAAC;CAAA,AAAAlE,EAAA,QAAAO,KAAAP,EAAA,QAAAgE,OAAAhE,EAAA,QAAAiE,OALzCC,MAAA,oBAAC,KAAD;EAAe,UAAA;EAAU,OAAAN;EACvB,UAAA,oBAAC,MAAD;GAAY,MAAA;GAAG,OAAA;GACb,UAAA,oBAAC,WAAD;IACKrD;IACM,SAAAyD;IACD,QAAAC;GAA2B,CAAA;EAJlC,CAAA;CADH,CAAA,GAQEjE,EAAA,MAAAO,GAAAP,EAAA,MAAAgE,KAAAhE,EAAA,MAAAiE,KAAAjE,EAAA,MAAAkE,OAAAA,MAAAlE,EAAA;CAAA,IAAAmE;CAAA,AAAAnE,EAAA,QAAA2D,OAAA3D,EAAA,QAAAkE,OA1BRC,MAAA,qBAAC,OAAD;EAAY,KAAA;EAAa,UAAA;EAAiB,cAAA;EAA1C,UAAA,CACGR,KAiBDO,GAlBI;KA2BElE,EAAA,MAAA2D,KAAA3D,EAAA,MAAAkE,KAAAlE,EAAA,MAAAmE,OAAAA,MAAAnE,EAAA;CAAA,IAAAoE;CACD,OADCpE,EAAA,QAAAE,WAAAF,EAAA,QAAA+C,OAAA/C,EAAA,QAAAwD,OAAAxD,EAAA,QAAAmE,OAnDVC,MAAA,oBAAC,UAAD;EACM,IAAA;EAEF,QAAArB;EAMO7C;EACF,OAAA;EACE,SAAA;EACD,QAAAsD;EAYRW,UAAAA;CAxBK,CAAA,GAoDEnE,EAAA,MAAAE,SAAAF,EAAA,MAAA+C,KAAA/C,EAAA,MAAAwD,KAAAxD,EAAA,MAAAmE,KAAAnE,EAAA,MAAAoE,OAAAA,MAAApE,EAAA,KApDToE;AAoDS;;;;ACrIb,SAAOK,sBAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAKL,EAAAC,MAAAC,UAAAC,OAAAC,YAAyCP,eAAe,GAACQ;CAAA,AAAAN,EAAA,OAAAG,WAMnDG,KAAAN,EAAA,MAFFM,KAAAC,MAAKC,KAAML,SAAQM,OAAQ,CAAC,CAAC,CAAAC,OAAQC,KAEpC,GAACX,EAAA,KAAAG,UAAAH,EAAA,KAAAM;CAJN,IAAAM,mBAEIN,IAIHO;CAGgD,OAHhDb,EAAA,OAAAY,oBAAAZ,EAAA,OAAAI,SAAAJ,EAAA,OAAAK,WAGQQ,KAAA;EAAAX,MAAOU;EAAgBR;EAAAC;CAAgB,GAACL,EAAA,KAAAY,kBAAAZ,EAAA,KAAAI,OAAAJ,EAAA,KAAAK,SAAAL,EAAA,KAAAa,MAAAA,KAAAb,EAAA,IAAxCa;AAAwC;AAhB5C,SAAAF,MAAAG,SAAA;CAAA,OAUQjB,wBAAuBkB,SAAUD,QAAOE,KAAM;AAAC;ACA9D,SAAOsB,uBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAKL,EAAAC,SAAAC,mBAAAC,iBAAmDL,OACnD,EAAAM,MAAYlB,eAAeM,uBAAuB,GAClD,EAAAY,GAAAC,UAAmBnB,eAAe,GAElCoB,SAAerB,UAAU,GACzB,EAAAsB,qBAA2BhB,qBAAqB,GAChD,CAAAiB,gBAAAC,qBAA4C3B,SAAS,EAAK,GAC1D4B,QAAc/B,SAAS,GACvB,EAAAgC,SAAelB,kBAAkB,GACjC,EAAAkB,MAAAC,qBAAiClB,oBAAoB,GAACmB,SAAAC;CAAA,IAAAf,EAAA,OAAAa,oBAAAb,EAAA,OAAAY,QAAAZ,EAAA,OAAAG,mBAAA;EAAA,IAAAa;EASChB,AATDA,EAAA,OAAAG,oBAMwCa,KAAAhB,EAAA,MAD1FgB,MAAAC,cACErB,kCAAkCqB,UAASC,GAAI,MAAM3B,iBAAiBY,iBAAiB,GAACH,EAAA,KAAAG,mBAAAH,EAAA,KAAAgB,KAJ9FF,UAAgBF,KAAIO,OACVN,gBAAgB,CAAC,CAAAO,KAEvBJ,EAEF,GAEWD,KAAAlB,eAAeiB,OAA0B,GAACd,EAAA,KAAAa,kBAAAb,EAAA,KAAAY,MAAAZ,EAAA,KAAAG,mBAAAH,EAAA,KAAAc,SAAAd,EAAA,KAAAe;CAAA,OAAAA,AAAAD,UAAAd,EAAA,IAAAe,KAAAf,EAAA;CAAvD,IAAAqB,OAAaN,IAA0CC;CAAA,AAAAhB,EAAA,OAAAI,gBAAAJ,EAAA,OAAAO,UACpCS,KAAAT,OAAMe,IAAKlB,YAAY,GAACJ,EAAA,KAAAI,cAAAJ,EAAA,KAAAO,QAAAP,EAAA,KAAAgB,MAAAA,KAAAhB,EAAA;CAA3C,IAAAuB,aAAmBP,IAAwBQ;CAAA,AAAAxB,EAAA,QAAAG,oBAEiCqB,KAAAxB,EAAA,OAAxBwB,KAAA,EAAAN,KAAMf,kBAAiB,GAACH,EAAA,MAAAG,mBAAAH,EAAA,MAAAwB;CAAA,IAAAC;CAAA,AAAAzB,EAAA,QAAAuB,cAAAvB,EAAA,QAAAwB,MAA5CC,KAAA;EAAAF;EAAAG,OAAoBF;CAAwB,GAACxB,EAAA,MAAAuB,YAAAvB,EAAA,MAAAwB,IAAAxB,EAAA,MAAAyB,MAAAA,KAAAzB,EAAA;CAA7E,IAAA2B,UAAgBrC,gBAAgBmC,EAA6C,GAACG;CAkCvCD,AAlCuC3B,EAAA,QAAAM,SAAAN,EAAA,QAAAG,qBAAAH,EAAA,QAAAE,WAAAF,EAAA,QAAA2B,SAAAD,OAAAG,SAAA7B,EAAA,QAAAW,SAAAX,EAAA,QAAAQ,oBAE1CoB,KAAA,YAAA;EAClClB,kBAAkB,EAAI;EAGtB,IAAAoB,MAAY,YAAA;GAEVnB,AADA,MAAMH,iBAAiBL,iBAAiB,GACxCQ,MAAKoB,KAAM;IAAAC,UACC;IAAIC,QACN;IAASC,aAEf,oBAAC,WAAD;KACK5B,GAAAA;KACM,SAAA;KACD,QAAA,EAAAuB,OAAQF,SAAOD,OAAcG,SAArB1B,kBAA0C;IAAC,CAAA;GAGjE,CAAC;EAAC;EAEJ,IAAA;GACE,MAAM2B,IAAI;EAAC,SAAAK,IAAA;GACJC,IAAAA,MAAAA;GACPzB,MAAKoB,KAAM;IAAAC,UACC;IAAIC,QACN;IAAOJ,OACRvB,MAAM,0CAA0C;IAAC4B,aAC3CE,IAAGC;GAClB,CAAC;EAAC;EAKJnC,AAFAQ,kBAAkB,EAAK,GAEvBR,QAAQ;CAAC,GACVF,EAAA,MAAAM,OAAAN,EAAA,MAAAG,mBAAAH,EAAA,MAAAE,SAAAF,EAAA,MAAA2B,SAAAD,OAAAG,OAAA7B,EAAA,MAAAW,OAAAX,EAAA,MAAAQ,kBAAAR,EAAA,MAAA4B,MAAAA,KAAA5B,EAAA,KAAsC2B,SAAOD,OAAcG;CAhC5D,IAAAS,kBAAwBV,IAgC+DO;CAAA,AAAAnC,EAAA,QAAAK,IAI/C8B,KAAAnC,EAAA,OAA5BmC,KAAA9B,EAAE,yBAAyB,GAACL,EAAA,MAAAK,GAAAL,EAAA,MAAAmC;CAAA,IAAAI;CAAA,AAAAvC,EAAA,QAAAK,IAQSkC,KAAAvC,EAAA,OAAnCuC,KAAAlC,EAAE,gCAAgC,GAACL,EAAA,MAAAK,GAAAL,EAAA,MAAAuC;CAAA,IAAAC;CAAA,AAAAxC,EAAA,QAAAE,WAAAF,EAAA,QAAAuC,MAD7BC,KAAA;EAAAC,MACNF;EAAmCG,SAChCxC;CACX,GAACF,EAAA,MAAAE,SAAAF,EAAA,MAAAuC,IAAAvC,EAAA,MAAAwC,MAAAA,KAAAxC,EAAA;CAAA,IAAA2C;CAAA,AAAA3C,EAAA,QAAAK,IAE6CsC,KAAA3C,EAAA,OAAtC2C,KAAAtC,EAAE,mCAAmC,GAACL,EAAA,MAAAK,GAAAL,EAAA,MAAA2C;CAAA,IAAAC;CAAA,AAAA5C,EAAA,QAAAsC,mBAAAtC,EAAA,QAAAS,kBAAAT,EAAA,QAAA2C,MAD/BC,KAAA;EAAAH,MACPE;EAAsCD,SACnCJ;EAAejB,MAClB;EAAUwB,UACNpC;EAAcqC,SACfrC;CACX,GAACT,EAAA,MAAAsC,iBAAAtC,EAAA,MAAAS,gBAAAT,EAAA,MAAA2C,IAAA3C,EAAA,MAAA4C,MAAAA,KAAA5C,EAAA;CAAA,IAAA+C;CAAA,AAAA/C,EAAA,QAAAwC,MAAAxC,EAAA,QAAA4C,MAXKG,MAAA;EAAAC,cACQR;EAGbS,eACcL;CAOjB,GAAC5C,EAAA,MAAAwC,IAAAxC,EAAA,MAAA4C,IAAA5C,EAAA,MAAA+C,OAAAA,MAAA/C,EAAA;CAAA,IAAAkD;CAAA,AAAAlD,EAAA,QAAAG,qBAAAH,EAAA,QAAAuB,cAGE2B,MAAA3B,aACC,oBAAC,SAAD;EAAgB,OAAA,EAAAL,KAAMf,kBAAiB;EAAeoB;CAAU,CAAA,IAEhE,oBAAC,cAAD,CAAa,CAAA,GACdvB,EAAA,MAAAG,mBAAAH,EAAA,MAAAuB,YAAAvB,EAAA,MAAAkD,OAAAA,MAAAlD,EAAA;CAAA,IAAAmD;CAAA,AAAAnD,EAAA,QAAAM,SAAAN,EAAA,QAAAc,SAAAsC,SAAAvB,SAMYsB,MAAArC,SAAOsC,SAAgBvB,SAAIvB,MAAM,sCAAsC,GAACN,EAAA,MAAAM,OAAAN,EAAA,MAAAc,SAAAsC,SAAAvB,OAAA7B,EAAA,MAAAmD,OAAAA,MAAAnD,EAAA;CAAA,IAAAqD;CAAA,AAAArD,EAAA,QAAAmD,MAChFE,MAAArD,EAAA,OAFOqD,MAAA,EAAAxB,OACCsB,IACT,GAACnD,EAAA,MAAAmD,KAAAnD,EAAA,MAAAqD;CAAA,IAAAC;CAAA,AAAAtD,EAAA,QAAAqB,OAoBAiC,MAAAtD,EAAA,OAnBWsD,MAAA,EAAAC,QACHC,QAAA;EAAC,IAAA,EAAAC,aAAAD;EAAU,OAEd,oBAAA,QAAA;GAEI,OAAA;IAAAE,OACS,oBAAoBrC,QAAA,UAAiB;IAAYsC,iBACvC,oBAAoBtC,QAAA,UAAiB;IAAYuC,cACpD;IAACC,gBACC;IAAMC,SACb;IAASC,YACN;GACd;GAGDN;EACI,CAAA;CAAA,EAGb,GAACzD,EAAA,MAAAqB,MAAArB,EAAA,MAAAsD;CAAA,IAAAE;CAAA,AAAAxD,EAAA,QAAAK,KAAAL,EAAA,QAAAqD,OAAArD,EAAA,QAAAsD,OA1BLE,MAAA,oBAAC,MAAD;EAAM,OAAA;EAAY,MAAA;EAChB,UAAA,oBAAC,WAAD;GACKnD;GACK,SAAA;GACA,QAAAgD;GAGI,YAAAC;EAmBX,CAAA;CA1BA,CAAA,GA4BEtD,EAAA,MAAAK,GAAAL,EAAA,MAAAqD,KAAArD,EAAA,MAAAsD,KAAAtD,EAAA,MAAAwD,OAAAA,MAAAxD,EAAA;CAAA,IAAAgE;CAAA,AAAAhE,EAAA,QAAAK,IAE0C2D,MAAAhE,EAAA,OAA9CgE,MAAA3D,EAAE,2CAA2C,GAACL,EAAA,MAAAK,GAAAL,EAAA,MAAAgE;CAAA,IAAAC;CAAA,AAAAjE,EAAA,QAAAgE,MAC1CC,MAAAjE,EAAA,OAFPiE,MAAA,oBAAC,MAAD;EAAM,OAAA;EAAY,MAAA;EACfD,UAAAA;CADE,CAAA,GAEEhE,EAAA,MAAAgE,KAAAhE,EAAA,MAAAiE;CAAA,IAAAC;CAAA,AAAAlE,EAAA,QAAAkD,OAAAlD,EAAA,QAAAwD,OAAAxD,EAAA,QAAAiE,OArCTC,MAAA,qBAAC,OAAD;EAAY,KAAA;EAAa,UAAA;EAAkB,eAAA;EAA3C,UAAA;GACGhB;GAKDM;GA6BAS;EAnCI;KAsCEjE,EAAA,MAAAkD,KAAAlD,EAAA,MAAAwD,KAAAxD,EAAA,MAAAiE,KAAAjE,EAAA,MAAAkE,OAAAA,MAAAlE,EAAA;CAAA,IAAAmE;CACD,OADCnE,EAAA,QAAAE,WAAAF,EAAA,QAAA+C,OAAA/C,EAAA,QAAAkE,OAAAlE,EAAA,QAAAmC,MA3DVgC,MAAA,oBAAC,UAAD;EACU,QAAAhC;EACL,IAAA;EACajC,gBAAAA;EACPA;EACF,OAAA;EACE,SAAA;EACD,QAAA6C;EAcRmB,UAAAA;CArBK,CAAA,GA4DElE,EAAA,MAAAE,SAAAF,EAAA,MAAA+C,KAAA/C,EAAA,MAAAkE,KAAAlE,EAAA,MAAAmC,IAAAnC,EAAA,MAAAmE,OAAAA,MAAAnE,EAAA,KA5DTmE;AA4DS"}
|
|
1
|
+
{"version":3,"file":"UnpublishVersionDialog-DmFHVqhI.js","names":["LATEST","PUBLISHED","useWorkspace","useGetDefaultPerspective","isDraftModelEnabled","document","drafts","enabled","useCallback","useRouter","SystemBundle","ReleaseId","useGetDefaultPerspective","getPerspectiveParam","perspective","defaultPerspective","useSetPerspective","$","_c","router","t0","releaseId","newPerspective","navigate","stickyParams","excludedPerspectives","setPerspective","defineEvent","DocumentVariantType","VersionInfo","documentOrigin","OriginInfo","origin","RevertInfo","revertType","AddedVersion","name","version","description","CreatedRelease","DeletedRelease","PublishedRelease","ScheduledRelease","UnscheduledRelease","ArchivedRelease","UnarchivedRelease","RevertRelease","DuplicatedRelease","ReleaseLinkCopied","ReleaseIdCopied","ReleaseTitleCopied","SingleActionResult","useTelemetry","ReleaseId","useSetPerspective","getDocumentVariantType","AddedVersion","useReleaseOperations","CreateVersionOptions","navigate","VersionOperationsValue","createVersion","releaseId","documentId","options","Promise","discardVersion","unpublishVersion","revertUnpublishVersion","useVersionOperations","$","_c","telemetry","setPerspective","t0","t1","undefined","origin","log","documentOrigin","handleCreateVersion","releaseId_0","documentId_0","handleDiscardVersion","t2","documentId_1","handleUnpublishVersion","t3","documentId_2","handleRevertUnpublishVersion","t4","ReleaseDocument","getVersionNameFromId","VersionId","Box","Stack","Text","useToast","useCallback","useState","Dialog","LoadingBlock","useDocumentOperation","useSchema","getPairTarget","useTargetDocumentState","useTranslation","Translate","TargetPerspective","usePerspective","Preview","getPublishedId","getVersionFromId","isDraftId","isVersionId","useVersionOperations","releasesLocaleNamespace","getReleaseIdFromReleaseDocumentId","DiscardVersionDialog","props","$","_c","onClose","versionId","documentType","fromPerspective","isGoingToUnpublish","t","coreT","t0","targetDocumentState","isTargetReady","status","t1","t2","discardChanges","selectedPerspective","discardVersion","schema","toast","isDiscarding","setIsDiscarding","discardType","rawReleaseName","metadata","title","t3","t4","currentRelease","t5","releaseName","t6","get","schemaType","t7","run","_id","t8","err","push","closable","description","message","execute","handleDiscardVersion","t9","releaseTitle","t10","t11","disabled","onClick","t12","t13","t14","t15","text","t16","cancelButton","confirmButton","t17","t18","Symbol","for","maxWidth","t19","t20","t21","t22","t23","ReleaseDocument","useMemo","ARCHIVED_RELEASE_STATES","useAllReleases","useArchivedReleases","$","_c","data","releases","error","loading","t0","Array","from","values","filter","_temp","archivedReleases","t1","release","includes","state","ReleaseDocument","Stack","Text","useToast","CSSProperties","useCallback","useState","Dialog","LoadingBlock","useSchema","useTranslation","Translate","Preview","useValuePreview","getVersionFromId","useVersionOperations","releasesLocaleNamespace","useActiveReleases","useArchivedReleases","getReleaseIdFromReleaseDocumentId","getReleaseTone","UnpublishVersionDialog","props","$","_c","onClose","documentVersionId","documentType","t","coreT","schema","unpublishVersion","isUnpublishing","setIsUnpublishing","toast","data","archivedReleases","release","t0","t1","candidate","_id","concat","find","tone","get","schemaType","t2","t3","value","preview","t4","title","run","push","closable","status","description","t5","err","message","handleUnpublish","t6","t7","text","onClick","t8","t9","disabled","loading","t10","cancelButton","confirmButton","t11","t12","metadata","t13","t14","Label","t15","children","color","backgroundColor","borderRadius","textDecoration","padding","fontWeight","t16","t17","t18","t19"],"sources":["../src/core/perspective/useGetDefaultPerspective.ts","../src/core/perspective/useSetPerspective.tsx","../src/core/releases/__telemetry__/releases.telemetry.ts","../src/core/releases/hooks/useVersionOperations.tsx","../src/core/releases/components/dialog/DiscardVersionDialog.tsx","../src/core/releases/store/useArchivedReleases.ts","../src/core/releases/components/dialog/UnpublishVersionDialog.tsx"],"sourcesContent":["import {LATEST, PUBLISHED} from '../releases/util/const'\nimport {useWorkspace} from '../studio/workspace'\n\n/**\n * @beta\n * Exposes the default perspective based on the draft model enabled status.\n * If the user hasn't opt out from draft, the default perspective is `drafts`\n * Otherwise, the default perspective is `published`\n * @returns The default perspective based on the draft model enabled status.\n */\nexport function useGetDefaultPerspective(): 'drafts' | 'published' {\n const isDraftModelEnabled = useWorkspace().document.drafts.enabled\n return isDraftModelEnabled ? LATEST : PUBLISHED\n}\n","import {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\n\nimport {type SystemBundle} from '../util/draftUtils'\nimport {type ReleaseId} from './types'\nimport {useGetDefaultPerspective} from './useGetDefaultPerspective'\n\n/**\n * Resolves the value of the `perspective` sticky param for a given perspective. Default states\n * (no perspective, or the default perspective) resolve to an empty string so the param is removed.\n *\n * @internal\n */\nexport function getPerspectiveParam(\n perspective: SystemBundle | ReleaseId | undefined,\n defaultPerspective: SystemBundle,\n) {\n if (!perspective) return ''\n if (perspective === defaultPerspective) return ''\n return perspective\n}\n\n/**\n * @internal\n */\nexport function useSetPerspective() {\n const router = useRouter()\n\n const defaultPerspective = useGetDefaultPerspective()\n\n const setPerspective = useCallback(\n (releaseId: SystemBundle | ReleaseId | undefined) => {\n const newPerspective = getPerspectiveParam(releaseId, defaultPerspective)\n\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: newPerspective,\n },\n })\n },\n [defaultPerspective, router],\n )\n return setPerspective\n}\n","import {defineEvent} from '@sanity/telemetry'\n\nimport {type DocumentVariantType} from '../../util/getDocumentVariantType'\n\ninterface VersionInfo {\n /**\n * document type that was added\n */\n\n /**\n * the origin of the version created (from a draft or from a version)\n */\n documentOrigin: DocumentVariantType\n}\n\nexport interface OriginInfo {\n /**\n * determines where the release was created, either from the structure view or the release plugin\n */\n origin: 'structure' | 'release-plugin'\n}\n\nexport interface RevertInfo {\n /**\n * determined whether reverting a release created a new staged release, or immediately reverted\n */\n revertType: 'immediate' | 'staged'\n}\n\n/**\n * When a document (version) is successfully added to a release\n */\nexport const AddedVersion = defineEvent<VersionInfo>({\n name: 'Version Document Added to Release ',\n version: 1,\n description: 'User added a document to a release',\n})\n\n/** When a release is successfully created */\nexport const CreatedRelease = defineEvent<OriginInfo>({\n name: 'Release Created',\n version: 1,\n description: 'User created a release',\n})\n\n/** When a release is successfully deleted */\nexport const DeletedRelease = defineEvent({\n name: 'Release Deleted',\n version: 1,\n description: 'User deleted a release',\n})\n\n/** When a release is successfully published */\nexport const PublishedRelease = defineEvent({\n name: 'Release Published',\n version: 1,\n description: 'User published a release',\n})\n\n/** When a release is successfully scheduled*/\nexport const ScheduledRelease = defineEvent({\n name: 'Release Scheduled',\n version: 1,\n description: 'User scheduled a release',\n})\n\n/** When a release is successfully scheduled */\nexport const UnscheduledRelease = defineEvent({\n name: 'Release Unscheduled',\n version: 1,\n description: 'User unscheduled a release',\n})\n\n/** When a release is successfully archived*/\nexport const ArchivedRelease = defineEvent({\n name: 'Release Archived',\n version: 1,\n description: 'User archived a release',\n})\n\n/** When a release is successfully unarchived */\nexport const UnarchivedRelease = defineEvent({\n name: 'Release Unarchived',\n version: 1,\n description: 'User unarchived a release',\n})\n\n/** When a release is successfully reverted */\nexport const RevertRelease = defineEvent<RevertInfo>({\n name: 'Release Reverted',\n version: 1,\n description: 'User reverted a release',\n})\n\n/** When a release is successfully duplicated */\nexport const DuplicatedRelease = defineEvent({\n name: 'Release Duplicated',\n version: 1,\n description: 'User duplicated a release',\n})\n\n/** When a release link is copied to clipboard */\nexport const ReleaseLinkCopied = defineEvent({\n name: 'Release Link Copied',\n version: 1,\n description: 'User copied release link to clipboard',\n})\n\n/** When a release ID is copied to clipboard */\nexport const ReleaseIdCopied = defineEvent({\n name: 'Release ID Copied',\n version: 1,\n description: 'User copied release ID to clipboard',\n})\n\n/** When a release title is copied to clipboard */\nexport const ReleaseTitleCopied = defineEvent({\n name: 'Release Title Copied',\n version: 1,\n description: 'User copied release title to clipboard',\n})\n","import {type SingleActionResult} from '@sanity/client'\nimport {useTelemetry} from '@sanity/telemetry/react'\n\nimport {type ReleaseId} from '../../perspective/types'\nimport {useSetPerspective} from '../../perspective/useSetPerspective'\nimport {getDocumentVariantType} from '../../util/getDocumentVariantType'\nimport {AddedVersion} from '../__telemetry__/releases.telemetry'\nimport {useReleaseOperations} from '../store/useReleaseOperations'\n\nexport interface CreateVersionOptions {\n /**\n * Whether to navigate to the created version's perspective after creation.\n * Defaults to `true`. Callers that handle navigation themselves (e.g. to\n * also update the variant sticky param) should pass `false`.\n */\n navigate?: boolean\n}\n\nexport interface VersionOperationsValue {\n createVersion: (\n releaseId: ReleaseId,\n documentId: string,\n options?: CreateVersionOptions,\n ) => Promise<void>\n discardVersion: (releaseId: string, documentId: string) => Promise<SingleActionResult>\n unpublishVersion: (documentId: string) => Promise<SingleActionResult>\n revertUnpublishVersion: (documentId: string) => Promise<SingleActionResult>\n}\n\n/** @internal */\nexport function useVersionOperations(): VersionOperationsValue {\n const telemetry = useTelemetry()\n const {createVersion, discardVersion, unpublishVersion, revertUnpublishVersion} =\n useReleaseOperations()\n\n const setPerspective = useSetPerspective()\n\n const handleCreateVersion = async (\n releaseId: ReleaseId,\n documentId: string,\n options?: CreateVersionOptions,\n ) => {\n const {navigate = true} = options ?? {}\n const origin = getDocumentVariantType(documentId)\n await createVersion(releaseId, documentId)\n if (navigate) {\n setPerspective(releaseId)\n }\n telemetry.log(AddedVersion, {\n documentOrigin: origin,\n })\n }\n\n const handleDiscardVersion = async (releaseId: string, documentId: string) =>\n discardVersion(releaseId, documentId)\n\n const handleUnpublishVersion = async (documentId: string) => unpublishVersion(documentId)\n\n const handleRevertUnpublishVersion = async (documentId: string) =>\n revertUnpublishVersion(documentId)\n\n return {\n createVersion: handleCreateVersion,\n discardVersion: handleDiscardVersion,\n unpublishVersion: handleUnpublishVersion,\n revertUnpublishVersion: handleRevertUnpublishVersion,\n }\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {getVersionNameFromId, type VersionId} from '@sanity/id-utils'\nimport {Box, Stack, Text, useToast} from '@sanity/ui'\nimport {useCallback, useState} from 'react'\n\nimport {Dialog} from '../../../../ui-components/dialog/Dialog'\nimport {LoadingBlock} from '../../../components/loadingBlock/LoadingBlock'\nimport {useDocumentOperation} from '../../../hooks/useDocumentOperation'\nimport {useSchema} from '../../../hooks/useSchema'\nimport {getPairTarget, useTargetDocumentState} from '../../../hooks/useTargetDocumentState'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {Translate} from '../../../i18n/Translate'\nimport {type TargetPerspective} from '../../../perspective/types'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {Preview} from '../../../preview/components/Preview'\nimport {getPublishedId, getVersionFromId, isDraftId, isVersionId} from '../../../util/draftUtils'\nimport {useVersionOperations} from '../../hooks/useVersionOperations'\nimport {releasesLocaleNamespace} from '../../i18n'\nimport {getReleaseIdFromReleaseDocumentId} from '../../util/getReleaseIdFromReleaseDocumentId'\n\n/**\n * @internal\n */\nexport function DiscardVersionDialog(props: {\n onClose: () => void\n versionId: string\n documentType: string\n fromPerspective: string | TargetPerspective\n isGoingToUnpublish: boolean\n}): React.JSX.Element {\n const {onClose, versionId, documentType, fromPerspective, isGoingToUnpublish} = props\n const {t} = useTranslation(releasesLocaleNamespace)\n const {t: coreT} = useTranslation()\n const targetDocumentState = useTargetDocumentState(getPublishedId(versionId))\n // The scope of the document targeted by the selected perspective, so that discarding a draft\n // targets the variant-scoped version when a variant is selected (undefined when the target is\n // still resolving or the draft/published pair applies). While resolving, confirming is\n // disabled below instead of silently operating on the base pair.\n const isTargetReady = targetDocumentState.status === 'ready'\n const {discardChanges} = useDocumentOperation(\n getPublishedId(versionId),\n documentType,\n getPairTarget(targetDocumentState),\n )\n const {selectedPerspective} = usePerspective()\n const {discardVersion} = useVersionOperations()\n const schema = useSchema()\n const toast = useToast()\n const [isDiscarding, setIsDiscarding] = useState(false)\n const discardType = isDraftId(versionId) ? 'draft' : 'release'\n const rawReleaseName =\n typeof fromPerspective === 'string' ? fromPerspective : fromPerspective.metadata.title\n const currentRelease = getVersionNameFromId(versionId as VersionId)\n const releaseName = rawReleaseName || coreT('release.placeholder-untitled-release')\n\n const schemaType = schema.get(documentType)\n\n const handleDiscardVersion = useCallback(async () => {\n setIsDiscarding(true)\n\n if (isVersionId(versionId)) {\n // Workaround for React Compiler not yet fully supporting try/catch/finally syntax\n const run = async () => {\n await discardVersion(\n getVersionFromId(versionId) ||\n getReleaseIdFromReleaseDocumentId((selectedPerspective as ReleaseDocument)._id),\n versionId,\n )\n }\n try {\n await run()\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: coreT('release.action.discard-version.failure'),\n description: err.message,\n })\n }\n } else {\n // on the document header you can also discard the draft\n discardChanges.execute()\n }\n\n setIsDiscarding(false)\n\n onClose()\n }, [versionId, onClose, discardVersion, selectedPerspective, toast, coreT, discardChanges])\n\n return (\n <Dialog\n id={'discard-version-dialog'}\n header={\n <Translate\n t={t}\n i18nKey={`discard-version-dialog.header-${discardType}`}\n values={{releaseTitle: releaseName}}\n />\n }\n onClose={onClose}\n width={0}\n padding={false}\n footer={{\n cancelButton: {\n disabled: isDiscarding,\n onClick: onClose,\n },\n confirmButton: {\n text: t(`discard-version-dialog.title-${discardType}`),\n onClick: handleDiscardVersion,\n disabled: isDiscarding || !isTargetReady,\n },\n }}\n >\n <Stack gap={3} paddingX={3} marginBottom={2}>\n {schemaType ? (\n <Preview\n value={{_id: isGoingToUnpublish ? getPublishedId(versionId) : versionId}}\n schemaType={schemaType}\n // Resolve the preview under the perspective of what's being discarded:\n // the published doc when unpublishing, the drafts perspective when\n // discarding a draft, otherwise the release version. Without the\n // explicit 'drafts' stack a draft falls back to its published value\n // (or \"Untitled\" when none exists), so it wouldn't show the draft\n // being discarded.\n perspectiveStack={\n isGoingToUnpublish ? [] : discardType === 'draft' ? ['drafts'] : [currentRelease]\n }\n />\n ) : (\n <LoadingBlock />\n )}\n <Box paddingX={2} style={{maxWidth: '400px'}}>\n <Text size={1} muted>\n <Translate\n t={t}\n i18nKey={`discard-version-dialog.description-${discardType}`}\n values={{releaseTitle: releaseName}}\n />\n </Text>\n </Box>\n </Stack>\n </Dialog>\n )\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {useMemo} from 'react'\n\nimport {ARCHIVED_RELEASE_STATES} from '../util/const'\nimport {useAllReleases} from './useAllReleases'\n\n/**\n * @internal\n */\nexport function useArchivedReleases(): {\n data: ReleaseDocument[]\n error?: Error\n loading: boolean\n} {\n const {data: releases, error, loading} = useAllReleases()\n\n const archivedReleases = useMemo(\n () =>\n Array.from(releases.values()).filter((release) => {\n return ARCHIVED_RELEASE_STATES.includes(release.state)\n }),\n [releases],\n )\n\n return useMemo(\n () => ({data: archivedReleases, error, loading}),\n [archivedReleases, error, loading],\n )\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {Stack, Text, useToast} from '@sanity/ui'\nimport {type CSSProperties, useCallback, useState} from 'react'\n\nimport {Dialog} from '../../../../ui-components/dialog/Dialog'\nimport {LoadingBlock} from '../../../components/loadingBlock/LoadingBlock'\nimport {useSchema} from '../../../hooks/useSchema'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {Translate} from '../../../i18n/Translate'\nimport {Preview} from '../../../preview/components/Preview'\nimport {useValuePreview} from '../../../preview/useValuePreview'\nimport {getVersionFromId} from '../../../util/draftUtils'\nimport {useVersionOperations} from '../../hooks/useVersionOperations'\nimport {releasesLocaleNamespace} from '../../i18n'\nimport {useActiveReleases} from '../../store/useActiveReleases'\nimport {useArchivedReleases} from '../../store/useArchivedReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../util/getReleaseIdFromReleaseDocumentId'\nimport {getReleaseTone} from '../../util/getReleaseTone'\n\nexport function UnpublishVersionDialog(props: {\n onClose: () => void\n documentVersionId: string\n documentType: string\n}): React.JSX.Element {\n const {onClose, documentVersionId, documentType} = props\n const {t} = useTranslation(releasesLocaleNamespace)\n const {t: coreT} = useTranslation()\n\n const schema = useSchema()\n const {unpublishVersion} = useVersionOperations()\n const [isUnpublishing, setIsUnpublishing] = useState(false)\n const toast = useToast()\n const {data} = useActiveReleases()\n const {data: archivedReleases} = useArchivedReleases()\n\n const release = data\n .concat(archivedReleases)\n .find(\n (candidate) =>\n getReleaseIdFromReleaseDocumentId(candidate._id) === getVersionFromId(documentVersionId),\n )\n\n const tone = getReleaseTone(release as ReleaseDocument)\n const schemaType = schema.get(documentType)\n\n const preview = useValuePreview({schemaType, value: {_id: documentVersionId}})\n\n const handleUnpublish = useCallback(async () => {\n setIsUnpublishing(true)\n\n // The run() wrapper instead of doing it inline in try/catch is because of the React Compiler not fully supporting the syntax yet\n const run = async () => {\n await unpublishVersion(documentVersionId)\n toast.push({\n closable: true,\n status: 'success',\n description: (\n <Translate\n t={coreT}\n i18nKey={'release.action.unpublish-version.success'}\n values={{title: preview?.value?.title || documentVersionId}}\n />\n ),\n })\n }\n try {\n await run()\n } catch (err) {\n toast.push({\n closable: true,\n status: 'error',\n title: coreT('release.action.unpublish-version.failure'),\n description: err.message,\n })\n }\n\n setIsUnpublishing(false)\n\n onClose()\n }, [coreT, documentVersionId, onClose, preview?.value?.title, toast, unpublishVersion])\n\n return (\n <Dialog\n header={t('unpublish-dialog.header')}\n id=\"document-unpublish-dialog\"\n onClickOutside={onClose}\n onClose={onClose}\n width={0}\n padding={false}\n footer={{\n cancelButton: {\n text: t('unpublish-dialog.action.cancel'),\n onClick: onClose,\n },\n confirmButton: {\n text: t('unpublish-dialog.action.unpublish'),\n onClick: handleUnpublish,\n tone: 'critical',\n disabled: isUnpublishing,\n loading: isUnpublishing,\n },\n }}\n >\n <Stack gap={4} paddingX={4} paddingBottom={4}>\n {schemaType ? (\n <Preview value={{_id: documentVersionId}} schemaType={schemaType} />\n ) : (\n <LoadingBlock />\n )}\n <Text muted size={1}>\n <Translate\n t={t}\n i18nKey=\"unpublish-dialog.description.to-draft\"\n values={{\n title: release?.metadata.title || coreT('release.placeholder-untitled-release'),\n }}\n components={{\n Label: ({children}) => {\n return (\n <span\n style={\n {\n color: `var(--card-badge-${tone ?? 'default'}-fg-color)`,\n backgroundColor: `var(--card-badge-${tone ?? 'default'}-bg-color)`,\n borderRadius: 3,\n textDecoration: 'none',\n padding: '0px 2px',\n fontWeight: 500,\n } as CSSProperties\n }\n >\n {children}\n </span>\n )\n },\n }}\n />\n </Text>\n <Text muted size={1}>\n {t('unpublish-dialog.description.lost-changes')}\n </Text>\n </Stack>\n </Dialog>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as Dialog$1 } from "./ConfirmPopover-CD1rDyuk.js";
|
|
2
2
|
import { a as Button$1 } from "./MenuItem-BWdL61CI.js";
|
|
3
|
-
import { i as useClient, n as DEFAULT_STUDIO_CLIENT_OPTIONS, o as useSource } from "./studioClient-
|
|
3
|
+
import { i as useClient, n as DEFAULT_STUDIO_CLIENT_OPTIONS, o as useSource } from "./studioClient-CwMJwOTd.js";
|
|
4
4
|
import { t as useTranslation } from "./useTranslation-Cqs6Itwv.js";
|
|
5
5
|
import { n as interpolateTemplate, t as UpsellDescriptionSerializer } from "./UpsellDescriptionSerializer-zZ4Bu2_c.js";
|
|
6
6
|
import { useState } from "react";
|
|
@@ -297,4 +297,4 @@ function UpsellDialog(props) {
|
|
|
297
297
|
}
|
|
298
298
|
export { UpsellDialogDismissed as a, UpsellDialogViewed as c, useUpsellData as i, useProjectId as l, getDialogPropsFromContext as n, UpsellDialogLearnMoreCtaClicked as o, useUpsellContext as r, UpsellDialogUpgradeCtaClicked as s, UpsellDialog as t };
|
|
299
299
|
|
|
300
|
-
//# sourceMappingURL=UpsellDialog-
|
|
300
|
+
//# sourceMappingURL=UpsellDialog-DRhOCOce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpsellDialog-BiDSVmne.js","names":["useSource","useProjectId","projectId","defineEvent","UpsellDialogActionsInfo","feature","type","UpsellDialogViewedInfo","source","UpsellDialogViewed","name","version","description","UpsellDialogDismissed","UpsellDialogUpgradeCtaClicked","UpsellDialogLearnMoreCtaClicked","useTelemetry","useMemo","useObservable","catchError","map","of","UpsellDialogDismissed","UpsellDialogLearnMoreCtaClicked","UpsellDialogUpgradeCtaClicked","UpsellDialogViewed","UpsellDialogViewedInfo","UpsellData","DEFAULT_STUDIO_CLIENT_OPTIONS","interpolateTemplate","useClient","useProjectId","UpsellDataProps","dataUri","feature","UpsellResult","upsellData","hasError","INITIAL_UPSELL_RESULT","useUpsellData","t0","$","_c","telemetry","projectId","client","isStaging","config","apiHost","endsWith","baseUrl","t1","dialogSecondaryClicked","log","type","dialogPrimaryClicked","dialogViewed","source","dialogDismissed","panelViewed","source_0","panelDismissed","panelPrimaryClicked","panelSecondaryClicked","telemetryLogs","t2","observable","t3","data","ctaButton","url","secondaryButton","request","uri","pipe","_temp","upsellResult$","useToast","useCallback","useMemo","useState","useTranslation","UpsellDialogViewedInfo","UpsellData","useUpsellData","UseUpsellContextOptions","dataUri","feature","UpsellContextValue","upsellDialogOpen","handleOpenDialog","source","handleClose","upsellData","telemetryLogs","dialogSecondaryClicked","dialogPrimaryClicked","dialogViewed","dialogDismissed","panelViewed","panelDismissed","panelPrimaryClicked","panelSecondaryClicked","getDialogPropsFromContext","contextValue","data","open","onClose","onPrimaryClick","onSecondaryClick","useUpsellContext","t0","$","_c","setUpsellDialogOpen","t1","hasError","toast","t","t2","t3","push","status","title","closable","t4","white","CloseIcon","LaunchIcon","Box","Stack","getTheme_v2","styled","Button","Dialog","UpsellData","InterpolationProp","UpsellDescriptionSerializer","StyledButton","theme","space","hex","Image","img","UpsellDialogProps","data","open","onClose","onPrimaryClick","onSecondaryClick","interpolation","UpsellDialog","props","$","_c","t0","undefined","t1","secondaryButton","text","mode","tone","iconRight","url","target","rel","as","href","onClick","t2","ctaButton","t3","t4","t5","cancelButton","confirmButton","t6","t7","image","asset","altText","t8","descriptionText","t9"],"sources":["../src/core/hooks/useProjectId.ts","../src/core/studio/upsell/__telemetry__/upsell.telemetry.ts","../src/core/hooks/useUpsellData.ts","../src/core/hooks/useUpsellContext.ts","../src/core/studio/upsell/UpsellDialog.tsx"],"sourcesContent":["import {useSource} from '../studio/source'\n\n/**\n * React hook that returns the current project id\n *\n * @public\n * @returns The current project id\n * @example Using the `useProjectId` hook\n * ```ts\n * function MyComponent() {\n * const projectId = useProjectId()\n * // ... do something with the project id ...\n * }\n * ```\n */\nexport function useProjectId(): string {\n // oxlint-disable-next-line no-deprecated -- will fix in follow up PR\n return useSource().projectId\n}\n","import {defineEvent} from '@sanity/telemetry'\n\ninterface UpsellDialogActionsInfo {\n feature: 'comments' | 'scheduled_publishing' | 'ai_assist' | 'tasks'\n type: 'modal' | 'inspector'\n}\n\n/** @internal */\nexport interface UpsellDialogViewedInfo extends UpsellDialogActionsInfo {\n source: 'field_action' | 'document_toolbar' | 'document_action' | 'navbar' | 'link' | 'pte'\n}\n\n/**\n * @internal\n */\nexport const UpsellDialogViewed = defineEvent<UpsellDialogViewedInfo>({\n name: 'Upsell Dialog Viewed',\n version: 1,\n description: 'User viewed the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogDismissed = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Dismissed',\n version: 1,\n description: 'User dismissed the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogUpgradeCtaClicked = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Upgrade CTA Clicked',\n version: 1,\n description: 'User clicked the \"Upgrade\" CTA in the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogLearnMoreCtaClicked = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Learn More CTA Clicked',\n version: 1,\n description: 'User clicked the \"Learn More\" CTA in the upsell dialog',\n})\n","import {useTelemetry} from '@sanity/telemetry/react'\nimport {useMemo} from 'react'\nimport {useObservable} from 'react-rx'\nimport {catchError, map, of} from 'rxjs'\n\nimport {\n UpsellDialogDismissed,\n UpsellDialogLearnMoreCtaClicked,\n UpsellDialogUpgradeCtaClicked,\n UpsellDialogViewed,\n type UpsellDialogViewedInfo,\n} from '../studio/upsell/__telemetry__/upsell.telemetry'\nimport {type UpsellData} from '../studio/upsell/types'\nimport {DEFAULT_STUDIO_CLIENT_OPTIONS} from '../studioClient'\nimport {interpolateTemplate} from '../util/interpolateTemplate'\nimport {useClient} from './useClient'\nimport {useProjectId} from './useProjectId'\n\ninterface UpsellDataProps {\n dataUri: string\n feature: string\n}\n\ntype UpsellResult = {upsellData: UpsellData | null; hasError: boolean}\n\nconst INITIAL_UPSELL_RESULT: UpsellResult = {upsellData: null, hasError: false}\n\nexport const useUpsellData = ({dataUri, feature}: UpsellDataProps) => {\n const telemetry = useTelemetry()\n const projectId = useProjectId()\n const client = useClient(DEFAULT_STUDIO_CLIENT_OPTIONS)\n\n const isStaging = client.config().apiHost.endsWith('.sanity.work')\n const baseUrl = `https://www.sanity.${isStaging ? 'work' : 'io'}`\n\n const telemetryLogs = useMemo(\n () => ({\n dialogSecondaryClicked: () =>\n telemetry.log(UpsellDialogLearnMoreCtaClicked, {\n feature,\n type: 'modal',\n }),\n dialogPrimaryClicked: () =>\n telemetry.log(UpsellDialogUpgradeCtaClicked, {\n feature,\n type: 'modal',\n }),\n dialogViewed: (source: UpsellDialogViewedInfo['source']) =>\n telemetry.log(UpsellDialogViewed, {\n feature,\n type: 'modal',\n source,\n }),\n dialogDismissed: () => {\n telemetry.log(UpsellDialogDismissed, {\n feature,\n type: 'modal',\n })\n },\n panelViewed: (source: UpsellDialogViewedInfo['source']) =>\n telemetry.log(UpsellDialogViewed, {\n feature,\n type: 'inspector',\n source,\n }),\n panelDismissed: () =>\n telemetry.log(UpsellDialogDismissed, {\n feature,\n type: 'inspector',\n }),\n panelPrimaryClicked: () =>\n telemetry.log(UpsellDialogUpgradeCtaClicked, {\n feature,\n type: 'inspector',\n }),\n panelSecondaryClicked: () =>\n telemetry.log(UpsellDialogLearnMoreCtaClicked, {\n feature,\n type: 'inspector',\n }),\n }),\n [telemetry, feature],\n )\n\n const upsellResult$ = useMemo(\n () =>\n client.observable.request<UpsellData | null>({uri: dataUri}).pipe(\n map((data): UpsellResult => {\n if (!data) {\n return {upsellData: null, hasError: true}\n }\n try {\n data.ctaButton.url = interpolateTemplate(data.ctaButton.url, {baseUrl, projectId})\n data.secondaryButton.url = interpolateTemplate(data.secondaryButton.url, {\n baseUrl,\n projectId,\n })\n return {upsellData: data, hasError: false}\n } catch {\n return {upsellData: null, hasError: true}\n }\n }),\n catchError(() => of({upsellData: null, hasError: true})),\n ),\n [client, projectId, baseUrl, dataUri],\n )\n\n const {upsellData, hasError} = useObservable(upsellResult$, INITIAL_UPSELL_RESULT)\n\n return {upsellData, telemetryLogs, hasError}\n}\n","import {useToast} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\n\nimport {useTranslation} from '../i18n/hooks/useTranslation'\nimport {type UpsellDialogViewedInfo} from '../studio/upsell/__telemetry__/upsell.telemetry'\nimport {type UpsellData} from '../studio/upsell/types'\nimport {useUpsellData} from './useUpsellData'\n\ninterface UseUpsellContextOptions {\n dataUri: string\n feature: string\n}\n\nexport interface UpsellContextValue {\n upsellDialogOpen: boolean\n handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void\n handleClose: () => void\n upsellData: UpsellData | null\n telemetryLogs: {\n dialogSecondaryClicked: () => void\n dialogPrimaryClicked: () => void\n dialogViewed: (source: UpsellDialogViewedInfo['source']) => void\n dialogDismissed: () => void\n panelViewed: (source: UpsellDialogViewedInfo['source']) => void\n panelDismissed: () => void\n panelPrimaryClicked: () => void\n panelSecondaryClicked: () => void\n }\n}\n\n/**\n * Transforms context value into props for UpsellDialog component.\n * Helper function to reduce boilerplate in simple providers.\n *\n * @internal\n */\nexport function getDialogPropsFromContext(contextValue: UpsellContextValue) {\n return {\n data: contextValue.upsellData,\n open: contextValue.upsellDialogOpen,\n onClose: contextValue.handleClose,\n onPrimaryClick: () => contextValue.telemetryLogs.dialogPrimaryClicked(),\n onSecondaryClick: () => contextValue.telemetryLogs.dialogSecondaryClicked(),\n }\n}\n\n/**\n * Creates context value for simple upsell providers.\n * Handles data fetching, dialog state management, and error handling with toast notifications.\n *\n * For complex providers with custom logic, use useUpsellData directly.\n *\n * @internal\n */\nexport function useUpsellContext({dataUri, feature}: UseUpsellContextOptions): UpsellContextValue {\n const [upsellDialogOpen, setUpsellDialogOpen] = useState(false)\n const {upsellData, telemetryLogs, hasError} = useUpsellData({\n dataUri,\n feature,\n })\n const toast = useToast()\n const {t} = useTranslation()\n\n const handleClose = useCallback(() => {\n setUpsellDialogOpen(false)\n telemetryLogs.dialogDismissed()\n }, [telemetryLogs])\n\n const handleOpenDialog = useCallback(\n (source: UpsellDialogViewedInfo['source']) => {\n if (hasError) {\n toast.push({\n status: 'error',\n title: t('errors.unable-to-perform-action'),\n closable: true,\n })\n return\n }\n setUpsellDialogOpen(true)\n telemetryLogs.dialogViewed(source)\n },\n [hasError, toast, t, telemetryLogs],\n )\n\n return useMemo(\n () => ({\n upsellDialogOpen,\n handleOpenDialog,\n handleClose,\n upsellData,\n telemetryLogs,\n }),\n [upsellDialogOpen, handleOpenDialog, handleClose, upsellData, telemetryLogs],\n )\n}\n","import {white} from '@sanity/color'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {LaunchIcon} from '@sanity/icons/Launch'\nimport {Box, Stack} from '@sanity/ui'\nimport {getTheme_v2} from '@sanity/ui/theme'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../ui-components/button/Button'\nimport {Dialog} from '../../../ui-components/dialog/Dialog'\nimport {type UpsellData} from './types'\nimport {\n type InterpolationProp,\n UpsellDescriptionSerializer,\n} from './upsellDescriptionSerializer/UpsellDescriptionSerializer'\n\n/**\n * Absolute positioned button to close the dialog.\n */\nconst StyledButton = styled(Button)(({theme}) => {\n const {space} = getTheme_v2(theme)\n return `\n position: absolute;\n top: ${space[3]}px;\n right: ${space[3]}px;\n z-index: 20;\n background: transparent;\n border-radius: 9999px;\n box-shadow: none;\n color: ${white.hex};\n --card-fg-color: ${white.hex};\n :hover {\n --card-fg-color: ${white.hex};\n }\n `\n})\n\nconst Image = styled.img`\n object-fit: cover;\n width: 100%;\n height: 100%;\n height: 200px;\n`\n\ninterface UpsellDialogProps {\n data?: UpsellData | null\n open?: boolean\n onClose: () => void\n onPrimaryClick: () => void\n onSecondaryClick: () => void\n interpolation?: InterpolationProp\n}\n\nexport function UpsellDialog(props: UpsellDialogProps) {\n const {data, open = true, onClose, onPrimaryClick, onSecondaryClick, interpolation} = props\n\n if (!data || !open) {\n return null\n }\n\n return (\n <Dialog\n id=\"upsell-dialog\"\n onClose={onClose}\n onClickOutside={onClose}\n __unstable_hideCloseButton\n bodyHeight=\"fill\"\n padding={false}\n zOffset={800}\n footer={{\n cancelButton: data.secondaryButton?.text\n ? {\n text: data.secondaryButton.text,\n mode: 'bleed',\n tone: 'default',\n iconRight: LaunchIcon,\n ...(data.secondaryButton.url && {\n target: '_blank',\n rel: 'noopener noreferrer',\n as: 'a',\n href: data.secondaryButton.url,\n }),\n onClick: onSecondaryClick,\n }\n : undefined,\n confirmButton: {\n text: data.ctaButton?.text,\n mode: 'default',\n tone: 'default',\n ...(data.ctaButton.url && {\n target: '_blank',\n rel: 'noopener noreferrer',\n as: 'a',\n href: data.ctaButton.url,\n }),\n onClick: onPrimaryClick,\n },\n }}\n >\n <StyledButton\n icon={CloseIcon}\n mode=\"bleed\"\n tone=\"default\"\n onClick={onClose}\n tabIndex={-1}\n tooltipProps={null}\n />\n {data.image && <Image src={data.image.asset.url} alt={data.image.asset.altText ?? ''} />}\n <Box padding={3} marginTop={2}>\n <Stack gap={4} paddingBottom={2}>\n <UpsellDescriptionSerializer\n blocks={data.descriptionText}\n interpolation={interpolation}\n />\n </Stack>\n </Box>\n </Dialog>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UpsellDialog-DRhOCOce.js","names":["useSource","useProjectId","projectId","defineEvent","UpsellDialogActionsInfo","feature","type","UpsellDialogViewedInfo","source","UpsellDialogViewed","name","version","description","UpsellDialogDismissed","UpsellDialogUpgradeCtaClicked","UpsellDialogLearnMoreCtaClicked","useTelemetry","useMemo","useObservable","catchError","map","of","UpsellDialogDismissed","UpsellDialogLearnMoreCtaClicked","UpsellDialogUpgradeCtaClicked","UpsellDialogViewed","UpsellDialogViewedInfo","UpsellData","DEFAULT_STUDIO_CLIENT_OPTIONS","interpolateTemplate","useClient","useProjectId","UpsellDataProps","dataUri","feature","UpsellResult","upsellData","hasError","INITIAL_UPSELL_RESULT","useUpsellData","t0","$","_c","telemetry","projectId","client","isStaging","config","apiHost","endsWith","baseUrl","t1","dialogSecondaryClicked","log","type","dialogPrimaryClicked","dialogViewed","source","dialogDismissed","panelViewed","source_0","panelDismissed","panelPrimaryClicked","panelSecondaryClicked","telemetryLogs","t2","observable","t3","data","ctaButton","url","secondaryButton","request","uri","pipe","_temp","upsellResult$","useToast","useCallback","useMemo","useState","useTranslation","UpsellDialogViewedInfo","UpsellData","useUpsellData","UseUpsellContextOptions","dataUri","feature","UpsellContextValue","upsellDialogOpen","handleOpenDialog","source","handleClose","upsellData","telemetryLogs","dialogSecondaryClicked","dialogPrimaryClicked","dialogViewed","dialogDismissed","panelViewed","panelDismissed","panelPrimaryClicked","panelSecondaryClicked","getDialogPropsFromContext","contextValue","data","open","onClose","onPrimaryClick","onSecondaryClick","useUpsellContext","t0","$","_c","setUpsellDialogOpen","t1","hasError","toast","t","t2","t3","push","status","title","closable","t4","white","CloseIcon","LaunchIcon","Box","Stack","getTheme_v2","styled","Button","Dialog","UpsellData","InterpolationProp","UpsellDescriptionSerializer","StyledButton","theme","space","hex","Image","img","UpsellDialogProps","data","open","onClose","onPrimaryClick","onSecondaryClick","interpolation","UpsellDialog","props","$","_c","t0","undefined","t1","secondaryButton","text","mode","tone","iconRight","url","target","rel","as","href","onClick","t2","ctaButton","t3","t4","t5","cancelButton","confirmButton","t6","t7","image","asset","altText","t8","descriptionText","t9"],"sources":["../src/core/hooks/useProjectId.ts","../src/core/studio/upsell/__telemetry__/upsell.telemetry.ts","../src/core/hooks/useUpsellData.ts","../src/core/hooks/useUpsellContext.ts","../src/core/studio/upsell/UpsellDialog.tsx"],"sourcesContent":["import {useSource} from '../studio/source'\n\n/**\n * React hook that returns the current project id\n *\n * @public\n * @returns The current project id\n * @example Using the `useProjectId` hook\n * ```ts\n * function MyComponent() {\n * const projectId = useProjectId()\n * // ... do something with the project id ...\n * }\n * ```\n */\nexport function useProjectId(): string {\n // oxlint-disable-next-line no-deprecated -- will fix in follow up PR\n return useSource().projectId\n}\n","import {defineEvent} from '@sanity/telemetry'\n\ninterface UpsellDialogActionsInfo {\n feature: 'comments' | 'scheduled_publishing' | 'ai_assist' | 'tasks'\n type: 'modal' | 'inspector'\n}\n\n/** @internal */\nexport interface UpsellDialogViewedInfo extends UpsellDialogActionsInfo {\n source: 'field_action' | 'document_toolbar' | 'document_action' | 'navbar' | 'link' | 'pte'\n}\n\n/**\n * @internal\n */\nexport const UpsellDialogViewed = defineEvent<UpsellDialogViewedInfo>({\n name: 'Upsell Dialog Viewed',\n version: 1,\n description: 'User viewed the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogDismissed = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Dismissed',\n version: 1,\n description: 'User dismissed the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogUpgradeCtaClicked = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Upgrade CTA Clicked',\n version: 1,\n description: 'User clicked the \"Upgrade\" CTA in the upsell dialog',\n})\n\n/**\n * @internal\n */\nexport const UpsellDialogLearnMoreCtaClicked = defineEvent<UpsellDialogActionsInfo>({\n name: 'Upsell Dialog Learn More CTA Clicked',\n version: 1,\n description: 'User clicked the \"Learn More\" CTA in the upsell dialog',\n})\n","import {useTelemetry} from '@sanity/telemetry/react'\nimport {useMemo} from 'react'\nimport {useObservable} from 'react-rx'\nimport {catchError, map, of} from 'rxjs'\n\nimport {\n UpsellDialogDismissed,\n UpsellDialogLearnMoreCtaClicked,\n UpsellDialogUpgradeCtaClicked,\n UpsellDialogViewed,\n type UpsellDialogViewedInfo,\n} from '../studio/upsell/__telemetry__/upsell.telemetry'\nimport {type UpsellData} from '../studio/upsell/types'\nimport {DEFAULT_STUDIO_CLIENT_OPTIONS} from '../studioClient'\nimport {interpolateTemplate} from '../util/interpolateTemplate'\nimport {useClient} from './useClient'\nimport {useProjectId} from './useProjectId'\n\ninterface UpsellDataProps {\n dataUri: string\n feature: string\n}\n\ntype UpsellResult = {upsellData: UpsellData | null; hasError: boolean}\n\nconst INITIAL_UPSELL_RESULT: UpsellResult = {upsellData: null, hasError: false}\n\nexport const useUpsellData = ({dataUri, feature}: UpsellDataProps) => {\n const telemetry = useTelemetry()\n const projectId = useProjectId()\n const client = useClient(DEFAULT_STUDIO_CLIENT_OPTIONS)\n\n const isStaging = client.config().apiHost.endsWith('.sanity.work')\n const baseUrl = `https://www.sanity.${isStaging ? 'work' : 'io'}`\n\n const telemetryLogs = useMemo(\n () => ({\n dialogSecondaryClicked: () =>\n telemetry.log(UpsellDialogLearnMoreCtaClicked, {\n feature,\n type: 'modal',\n }),\n dialogPrimaryClicked: () =>\n telemetry.log(UpsellDialogUpgradeCtaClicked, {\n feature,\n type: 'modal',\n }),\n dialogViewed: (source: UpsellDialogViewedInfo['source']) =>\n telemetry.log(UpsellDialogViewed, {\n feature,\n type: 'modal',\n source,\n }),\n dialogDismissed: () => {\n telemetry.log(UpsellDialogDismissed, {\n feature,\n type: 'modal',\n })\n },\n panelViewed: (source: UpsellDialogViewedInfo['source']) =>\n telemetry.log(UpsellDialogViewed, {\n feature,\n type: 'inspector',\n source,\n }),\n panelDismissed: () =>\n telemetry.log(UpsellDialogDismissed, {\n feature,\n type: 'inspector',\n }),\n panelPrimaryClicked: () =>\n telemetry.log(UpsellDialogUpgradeCtaClicked, {\n feature,\n type: 'inspector',\n }),\n panelSecondaryClicked: () =>\n telemetry.log(UpsellDialogLearnMoreCtaClicked, {\n feature,\n type: 'inspector',\n }),\n }),\n [telemetry, feature],\n )\n\n const upsellResult$ = useMemo(\n () =>\n client.observable.request<UpsellData | null>({uri: dataUri}).pipe(\n map((data): UpsellResult => {\n if (!data) {\n return {upsellData: null, hasError: true}\n }\n try {\n data.ctaButton.url = interpolateTemplate(data.ctaButton.url, {baseUrl, projectId})\n data.secondaryButton.url = interpolateTemplate(data.secondaryButton.url, {\n baseUrl,\n projectId,\n })\n return {upsellData: data, hasError: false}\n } catch {\n return {upsellData: null, hasError: true}\n }\n }),\n catchError(() => of({upsellData: null, hasError: true})),\n ),\n [client, projectId, baseUrl, dataUri],\n )\n\n const {upsellData, hasError} = useObservable(upsellResult$, INITIAL_UPSELL_RESULT)\n\n return {upsellData, telemetryLogs, hasError}\n}\n","import {useToast} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\n\nimport {useTranslation} from '../i18n/hooks/useTranslation'\nimport {type UpsellDialogViewedInfo} from '../studio/upsell/__telemetry__/upsell.telemetry'\nimport {type UpsellData} from '../studio/upsell/types'\nimport {useUpsellData} from './useUpsellData'\n\ninterface UseUpsellContextOptions {\n dataUri: string\n feature: string\n}\n\nexport interface UpsellContextValue {\n upsellDialogOpen: boolean\n handleOpenDialog: (source: UpsellDialogViewedInfo['source']) => void\n handleClose: () => void\n upsellData: UpsellData | null\n telemetryLogs: {\n dialogSecondaryClicked: () => void\n dialogPrimaryClicked: () => void\n dialogViewed: (source: UpsellDialogViewedInfo['source']) => void\n dialogDismissed: () => void\n panelViewed: (source: UpsellDialogViewedInfo['source']) => void\n panelDismissed: () => void\n panelPrimaryClicked: () => void\n panelSecondaryClicked: () => void\n }\n}\n\n/**\n * Transforms context value into props for UpsellDialog component.\n * Helper function to reduce boilerplate in simple providers.\n *\n * @internal\n */\nexport function getDialogPropsFromContext(contextValue: UpsellContextValue) {\n return {\n data: contextValue.upsellData,\n open: contextValue.upsellDialogOpen,\n onClose: contextValue.handleClose,\n onPrimaryClick: () => contextValue.telemetryLogs.dialogPrimaryClicked(),\n onSecondaryClick: () => contextValue.telemetryLogs.dialogSecondaryClicked(),\n }\n}\n\n/**\n * Creates context value for simple upsell providers.\n * Handles data fetching, dialog state management, and error handling with toast notifications.\n *\n * For complex providers with custom logic, use useUpsellData directly.\n *\n * @internal\n */\nexport function useUpsellContext({dataUri, feature}: UseUpsellContextOptions): UpsellContextValue {\n const [upsellDialogOpen, setUpsellDialogOpen] = useState(false)\n const {upsellData, telemetryLogs, hasError} = useUpsellData({\n dataUri,\n feature,\n })\n const toast = useToast()\n const {t} = useTranslation()\n\n const handleClose = useCallback(() => {\n setUpsellDialogOpen(false)\n telemetryLogs.dialogDismissed()\n }, [telemetryLogs])\n\n const handleOpenDialog = useCallback(\n (source: UpsellDialogViewedInfo['source']) => {\n if (hasError) {\n toast.push({\n status: 'error',\n title: t('errors.unable-to-perform-action'),\n closable: true,\n })\n return\n }\n setUpsellDialogOpen(true)\n telemetryLogs.dialogViewed(source)\n },\n [hasError, toast, t, telemetryLogs],\n )\n\n return useMemo(\n () => ({\n upsellDialogOpen,\n handleOpenDialog,\n handleClose,\n upsellData,\n telemetryLogs,\n }),\n [upsellDialogOpen, handleOpenDialog, handleClose, upsellData, telemetryLogs],\n )\n}\n","import {white} from '@sanity/color'\nimport {CloseIcon} from '@sanity/icons/Close'\nimport {LaunchIcon} from '@sanity/icons/Launch'\nimport {Box, Stack} from '@sanity/ui'\nimport {getTheme_v2} from '@sanity/ui/theme'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../ui-components/button/Button'\nimport {Dialog} from '../../../ui-components/dialog/Dialog'\nimport {type UpsellData} from './types'\nimport {\n type InterpolationProp,\n UpsellDescriptionSerializer,\n} from './upsellDescriptionSerializer/UpsellDescriptionSerializer'\n\n/**\n * Absolute positioned button to close the dialog.\n */\nconst StyledButton = styled(Button)(({theme}) => {\n const {space} = getTheme_v2(theme)\n return `\n position: absolute;\n top: ${space[3]}px;\n right: ${space[3]}px;\n z-index: 20;\n background: transparent;\n border-radius: 9999px;\n box-shadow: none;\n color: ${white.hex};\n --card-fg-color: ${white.hex};\n :hover {\n --card-fg-color: ${white.hex};\n }\n `\n})\n\nconst Image = styled.img`\n object-fit: cover;\n width: 100%;\n height: 100%;\n height: 200px;\n`\n\ninterface UpsellDialogProps {\n data?: UpsellData | null\n open?: boolean\n onClose: () => void\n onPrimaryClick: () => void\n onSecondaryClick: () => void\n interpolation?: InterpolationProp\n}\n\nexport function UpsellDialog(props: UpsellDialogProps) {\n const {data, open = true, onClose, onPrimaryClick, onSecondaryClick, interpolation} = props\n\n if (!data || !open) {\n return null\n }\n\n return (\n <Dialog\n id=\"upsell-dialog\"\n onClose={onClose}\n onClickOutside={onClose}\n __unstable_hideCloseButton\n bodyHeight=\"fill\"\n padding={false}\n zOffset={800}\n footer={{\n cancelButton: data.secondaryButton?.text\n ? {\n text: data.secondaryButton.text,\n mode: 'bleed',\n tone: 'default',\n iconRight: LaunchIcon,\n ...(data.secondaryButton.url && {\n target: '_blank',\n rel: 'noopener noreferrer',\n as: 'a',\n href: data.secondaryButton.url,\n }),\n onClick: onSecondaryClick,\n }\n : undefined,\n confirmButton: {\n text: data.ctaButton?.text,\n mode: 'default',\n tone: 'default',\n ...(data.ctaButton.url && {\n target: '_blank',\n rel: 'noopener noreferrer',\n as: 'a',\n href: data.ctaButton.url,\n }),\n onClick: onPrimaryClick,\n },\n }}\n >\n <StyledButton\n icon={CloseIcon}\n mode=\"bleed\"\n tone=\"default\"\n onClick={onClose}\n tabIndex={-1}\n tooltipProps={null}\n />\n {data.image && <Image src={data.image.asset.url} alt={data.image.asset.altText ?? ''} />}\n <Box padding={3} marginTop={2}>\n <Stack gap={4} paddingBottom={2}>\n <UpsellDescriptionSerializer\n blocks={data.descriptionText}\n interpolation={interpolation}\n />\n </Stack>\n </Box>\n </Dialog>\n )\n}\n"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as Button$1, r as MenuButton$1, t as MenuItem$1 } from "./MenuItem-BWdL61CI.js";
|
|
2
|
-
import { Et as filterVariantsForSearch, Tt as decodeVariantIdFromRoute, jt as getVariantTitle, kt as getVariantId } from "./datastores-
|
|
2
|
+
import { Et as filterVariantsForSearch, Tt as decodeVariantIdFromRoute, jt as getVariantTitle, kt as getVariantId } from "./datastores-DpJ5Y313.js";
|
|
3
3
|
import { t as useTranslation } from "./useTranslation-Cqs6Itwv.js";
|
|
4
|
-
import { Ao as getReleaseTone, bi as usePerspective, mi as useAllVariants } from "./useBundleDocuments-
|
|
5
|
-
import { b as useGetDefaultPerspective } from "./UnpublishVersionDialog-
|
|
4
|
+
import { Ao as getReleaseTone, bi as usePerspective, mi as useAllVariants } from "./useBundleDocuments-DvVAF6cf.js";
|
|
5
|
+
import { b as useGetDefaultPerspective } from "./UnpublishVersionDialog-DmFHVqhI.js";
|
|
6
6
|
import { t as variantsLocaleNamespace } from "./i18n-BWMyMJpf.js";
|
|
7
|
-
import { t as VARIANTS_INTENT } from "./plugin-
|
|
8
|
-
import { i as oversizedButtonStyle, r as AnimatedTextWidth, t as ReleasesNav, u as useSetVariant } from "./ReleasesNav-
|
|
9
|
-
import { a as RhombusIcon } from "./navigation.telemetry-
|
|
7
|
+
import { t as VARIANTS_INTENT } from "./plugin-Da_fKb0U.js";
|
|
8
|
+
import { i as oversizedButtonStyle, r as AnimatedTextWidth, t as ReleasesNav, u as useSetVariant } from "./ReleasesNav-DPSjEs29.js";
|
|
9
|
+
import { a as RhombusIcon } from "./navigation.telemetry-VbqjOek0.js";
|
|
10
10
|
import { useState } from "react";
|
|
11
11
|
import { c } from "react/compiler-runtime";
|
|
12
12
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -388,4 +388,4 @@ function VariantsStudioNavbar(props) {
|
|
|
388
388
|
}
|
|
389
389
|
export { VariantsStudioNavbar };
|
|
390
390
|
|
|
391
|
-
//# sourceMappingURL=VariantsStudioNavbar-
|
|
391
|
+
//# sourceMappingURL=VariantsStudioNavbar-CXpr7UUl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariantsStudioNavbar-Bae9LOIN.js","names":["Box","Flex","Button","Text","HTMLProps","useMemo","RefAttributes","IntentLink","styled","useTranslation","AnimatedTextWidth","oversizedButtonStyle","variantsLocaleNamespace","getVariantId","getVariantTitle","SystemVariant","VARIANTS_INTENT","RhombusIcon","OversizedButton","VariantDetailLink","t0","$","_c","variant","t1","_id","encodedVariantId","t2","VariantLinkComponent","linkProps","ref","rest","id","VariantLink","t3","Symbol","for","maxWidth","t4","t5","CurrentVariantLabel","selectedVariant","t","animationKey","userSelect","overflow","ChevronDownIcon","Box","Button","Menu","MenuDivider","Text","TextInput","useCallback","useMemo","useState","useRouter","styled","MenuButton","MenuItem","useTranslation","oversizedButtonStyle","useSetVariant","variantsLocaleNamespace","useAllVariants","decodeVariantIdFromRoute","filterVariantsForSearch","getVariantId","getVariantTitle","SystemVariant","RhombusIcon","StyledMenu","SectionHeader","OversizedButton","VariantsMenu","$","_c","t","router","setVariant","data","variants","filterQuery","setFilterQuery","t0","stickyParams","variant","undefined","t1","selectedVariantDocumentId","t2","find","_id","selectedVariant","t3","filteredVariants","t4","variantId","handleSelectDefault","t5","variant_0","handleSelectVariant","t6","Symbol","for","event","currentTarget","value","handleFilterChange","t7","handleMenuClose","isDefaultSelected","t8","t9","t10","t11","t12","t13","t14","length","map","variant_1","isSelected","t15","t16","t17","t18","overflow","t19","__unstable_margins","constrainSize","fallbackPlacements","placement","portal","style","React","CSSProperties","tone","zOffset","t20","Card","useRouter","styled","useAllVariants","decodeVariantIdFromRoute","CurrentVariantLabel","VariantsMenu","VariantsNavContainer","VariantsNav","$","_c","router","byId","t0","stickyParams","variant","selectedVariantDocumentId","undefined","get","selectedVariant","t1","t2","Symbol","for","t3","Card","Flex","Text","AnimatePresence","motion","useCallback","useRouter","styled","Button","NavbarProps","useTranslation","ReleasesNav","useGetDefaultPerspective","usePerspective","getReleaseTone","variantsLocaleNamespace","VariantsNav","NavRowContainer","VariantsStudioNavbar","props","$","_c","t","selectedPerspective","router","hasVariantSelection","Boolean","stickyParams","variant","defaultPerspective","canClear","t0","navigate","excludedPerspectives","perspective","handleClearViewAs","t1","renderDefault","t2","t3","t4","t5","t6","t7","Symbol","for","t8","t9","t10","t11","t12","t13","t14","t15","t16","clipPath","opacity","display","type","bounce","duration","t17","t18","t19"],"sources":["../src/core/variants/plugin/components/CurrentVariantLabel.tsx","../src/core/variants/plugin/components/VariantsMenu.tsx","../src/core/variants/plugin/components/VariantsNav.tsx","../src/core/variants/plugin/components/VariantsStudioNavbar.tsx"],"sourcesContent":["// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Flex, Button, Text} from '@sanity/ui'\nimport {type HTMLProps, useMemo, type RefAttributes} from 'react'\nimport {IntentLink} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {AnimatedTextWidth} from '../../../perspective/navbar/AnimatedTextWidth'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {getVariantId, getVariantTitle} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {VARIANTS_INTENT} from '../index'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst OversizedButton = styled(IntentLink)`\n ${oversizedButtonStyle}\n`\n\nfunction VariantDetailLink({variant}: {variant: SystemVariant}) {\n const encodedVariantId = getVariantId(variant._id)\n\n const VariantLink = useMemo(\n () =>\n function VariantLinkComponent(\n linkProps: HTMLProps<HTMLAnchorElement> & RefAttributes<HTMLAnchorElement>,\n ) {\n const {ref, ...rest} = linkProps\n return (\n <OversizedButton\n {...rest}\n ref={ref}\n intent={VARIANTS_INTENT}\n params={{id: encodedVariantId}}\n />\n )\n },\n [encodedVariantId],\n )\n\n return (\n <Button\n as={VariantLink}\n data-as=\"a\"\n data-testid=\"variants-nav-label-link\"\n icon={RhombusIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n style={{maxWidth: '180px'}}\n text={getVariantTitle(variant)}\n />\n )\n}\n\n/**\n * @internal\n */\nexport function CurrentVariantLabel({\n selectedVariant,\n}: {\n selectedVariant?: SystemVariant\n}): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n\n const animationKey = selectedVariant?._id ?? 'default'\n\n return (\n <AnimatedTextWidth text={animationKey}>\n {!selectedVariant ? (\n <Box padding={2} style={{userSelect: 'none', overflow: 'hidden'}}>\n <Flex align=\"center\" gap={2}>\n <Text size={0}>\n <RhombusIcon />\n </Text>\n <Text data-testid=\"variants-nav-label\" size={1} textOverflow=\"ellipsis\" weight=\"medium\">\n {t('navbar.variant.default')}\n </Text>\n </Flex>\n </Box>\n ) : (\n <VariantDetailLink variant={selectedVariant} />\n )}\n </AnimatedTextWidth>\n )\n}\n","import {ChevronDownIcon} from '@sanity/icons/ChevronDown'\n// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Button, Menu, MenuDivider, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {MenuButton} from '../../../../ui-components/menuButton/MenuButton'\nimport {MenuItem} from '../../../../ui-components/menuItem/MenuItem'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {useSetVariant} from '../../../perspective/useSetVariant'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {\n decodeVariantIdFromRoute,\n filterVariantsForSearch,\n getVariantId,\n getVariantTitle,\n} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst StyledMenu = styled(Menu)`\n min-width: 240px;\n max-width: 320px;\n\n > [data-ui='Stack'] {\n gap: 0;\n }\n`\n\nconst SectionHeader = styled(Text)`\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`\n\nconst OversizedButton = styled(Button)`\n ${oversizedButtonStyle}\n`\n\n/**\n * @internal\n */\nexport function VariantsMenu(): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n const router = useRouter()\n const setVariant = useSetVariant()\n const {data: variants} = useAllVariants()\n const [filterQuery, setFilterQuery] = useState('')\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n const selectedVariant = useMemo(\n () =>\n selectedVariantDocumentId\n ? variants.find((variant) => variant._id === selectedVariantDocumentId)\n : undefined,\n [selectedVariantDocumentId, variants],\n )\n\n const filteredVariants = useMemo(\n () => filterVariantsForSearch(variants, filterQuery),\n [filterQuery, variants],\n )\n\n const handleSelectDefault = useCallback(() => {\n setVariant({variantId: undefined})\n setFilterQuery('')\n }, [setVariant])\n\n const handleSelectVariant = useCallback(\n (variant: SystemVariant) => {\n setVariant({variantId: variant._id})\n setFilterQuery('')\n },\n [setVariant],\n )\n\n const handleFilterChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setFilterQuery(event.currentTarget.value)\n }, [])\n\n const handleMenuClose = useCallback(() => {\n setFilterQuery('')\n }, [])\n\n const isDefaultSelected = !selectedVariant\n\n return (\n <MenuButton\n button={\n <OversizedButton\n data-testid=\"variants-nav-menu-button\"\n iconRight={ChevronDownIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n />\n }\n id=\"variants-nav-menu\"\n onClose={handleMenuClose}\n menu={\n <StyledMenu data-testid=\"variants-nav-menu\" padding={0}>\n <Box padding={2}>\n <TextInput\n fontSize={1}\n onChange={handleFilterChange}\n placeholder={t('navbar.variant.filter-placeholder')}\n radius={2}\n value={filterQuery}\n />\n </Box>\n\n <MenuDivider />\n\n <MenuItem\n data-testid=\"variant-default\"\n icon={RhombusIcon}\n onClick={handleSelectDefault}\n pressed={isDefaultSelected}\n selected={isDefaultSelected}\n text={t('navbar.variant.default')}\n />\n\n {filteredVariants.length > 0 && (\n <>\n <Box padding={3} paddingBottom={2}>\n <SectionHeader muted size={0} weight=\"medium\">\n {t('navbar.variant.other')}\n </SectionHeader>\n </Box>\n\n {filteredVariants.map((variant) => {\n const isSelected = selectedVariant?._id === variant._id\n\n return (\n <MenuItem\n key={variant._id}\n data-testid={`variant-${getVariantId(variant._id)}`}\n icon={RhombusIcon}\n onClick={() => handleSelectVariant(variant)}\n pressed={isSelected}\n selected={isSelected}\n text={getVariantTitle(variant)}\n />\n )\n })}\n </>\n )}\n </StyledMenu>\n }\n popover={{\n __unstable_margins: [0, 0, 32, 0],\n constrainSize: true,\n fallbackPlacements: ['bottom-end'],\n placement: 'bottom-end',\n portal: true,\n // @ts-expect-error PopoverProps doesn't include `style`, but the Popover implementation accepts it via React.HTMLProps<HTMLDivElement>\n style: {overflow: 'hidden'} as React.CSSProperties,\n tone: 'default',\n zOffset: 3000,\n }}\n />\n )\n}\n","import {Card} from '@sanity/ui'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {decodeVariantIdFromRoute} from '../../tool/util'\nimport {CurrentVariantLabel} from './CurrentVariantLabel'\nimport {VariantsMenu} from './VariantsMenu'\n\nconst VariantsNavContainer = styled(Card)`\n position: relative;\n display: flex;\n &:not([hidden]) {\n display: flex;\n }\n align-items: center;\n gap: 2px;\n padding: 2px;\n margin: -3px 0;\n\n a:hover,\n button:hover {\n position: relative;\n z-index: 2;\n }\n`\n\n/**\n * @internal\n */\nexport function VariantsNav(): React.JSX.Element {\n const router = useRouter()\n const {byId} = useAllVariants()\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n\n const selectedVariant = selectedVariantDocumentId\n ? byId.get(selectedVariantDocumentId)\n : undefined\n\n return (\n <VariantsNavContainer flex=\"none\" tone=\"inherit\" radius=\"full\" data-ui=\"VariantsNav\">\n <CurrentVariantLabel selectedVariant={selectedVariant} />\n <VariantsMenu />\n </VariantsNavContainer>\n )\n}\n","import {Card, Flex, Text} from '@sanity/ui'\nimport {AnimatePresence, motion} from 'motion/react'\nimport {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../../ui-components/button/Button'\nimport {type NavbarProps} from '../../../config/studio/types'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {ReleasesNav} from '../../../perspective/navbar/ReleasesNav'\nimport {useGetDefaultPerspective} from '../../../perspective/useGetDefaultPerspective'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {getReleaseTone} from '../../../releases/util/getReleaseTone'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {VariantsNav} from './VariantsNav'\n\nconst NavRowContainer = styled(Card)`\n [data-ui='ReleasesNav'],\n [data-ui='VariantsNav'] {\n margin: 0;\n }\n`\n\nexport function VariantsStudioNavbar(props: NavbarProps) {\n const {t} = useTranslation(variantsLocaleNamespace)\n const {selectedPerspective} = usePerspective()\n const router = useRouter()\n\n const hasVariantSelection = Boolean(router.stickyParams.variant)\n const defaultPerspective = useGetDefaultPerspective()\n const canClear = hasVariantSelection || selectedPerspective !== defaultPerspective\n\n const handleClearViewAs = useCallback(() => {\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: '',\n variant: null,\n },\n })\n }, [router])\n\n return (\n <Flex direction=\"column\">\n {props.renderDefault(props)}\n <Card tone=\"neutral\" paddingY={2} paddingX={3} borderBottom>\n <Flex justify=\"center\" align=\"center\" gap={2}>\n <Text weight=\"medium\" size={1}>\n {t('navbar.view-as')}\n </Text>\n <NavRowContainer\n tone={getReleaseTone(selectedPerspective)}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.version')}</Text>\n </Flex>\n </Card>\n <ReleasesNav withReleasesToolButton border={false} />\n </Flex>\n </NavRowContainer>\n <NavRowContainer\n tone={hasVariantSelection ? 'suggest' : 'default'}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.variant')}</Text>\n </Flex>\n </Card>\n <VariantsNav />\n </Flex>\n </NavRowContainer>\n <AnimatePresence initial={false}>\n {canClear && (\n <motion.div\n key=\"view-as-clear-button\"\n animate={{clipPath: 'inset(0 0% 0 0%)', opacity: 1}}\n exit={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n initial={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n style={{display: 'flex'}}\n transition={{type: 'spring', bounce: 0, duration: 0.3}}\n >\n <Button\n data-testid=\"view-as-clear-button\"\n mode=\"bleed\"\n onClick={handleClearViewAs}\n text={t('navbar.clear')}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Card>\n </Flex>\n )\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VariantsStudioNavbar-CXpr7UUl.js","names":["Box","Flex","Button","Text","HTMLProps","useMemo","RefAttributes","IntentLink","styled","useTranslation","AnimatedTextWidth","oversizedButtonStyle","variantsLocaleNamespace","getVariantId","getVariantTitle","SystemVariant","VARIANTS_INTENT","RhombusIcon","OversizedButton","VariantDetailLink","t0","$","_c","variant","t1","_id","encodedVariantId","t2","VariantLinkComponent","linkProps","ref","rest","id","VariantLink","t3","Symbol","for","maxWidth","t4","t5","CurrentVariantLabel","selectedVariant","t","animationKey","userSelect","overflow","ChevronDownIcon","Box","Button","Menu","MenuDivider","Text","TextInput","useCallback","useMemo","useState","useRouter","styled","MenuButton","MenuItem","useTranslation","oversizedButtonStyle","useSetVariant","variantsLocaleNamespace","useAllVariants","decodeVariantIdFromRoute","filterVariantsForSearch","getVariantId","getVariantTitle","SystemVariant","RhombusIcon","StyledMenu","SectionHeader","OversizedButton","VariantsMenu","$","_c","t","router","setVariant","data","variants","filterQuery","setFilterQuery","t0","stickyParams","variant","undefined","t1","selectedVariantDocumentId","t2","find","_id","selectedVariant","t3","filteredVariants","t4","variantId","handleSelectDefault","t5","variant_0","handleSelectVariant","t6","Symbol","for","event","currentTarget","value","handleFilterChange","t7","handleMenuClose","isDefaultSelected","t8","t9","t10","t11","t12","t13","t14","length","map","variant_1","isSelected","t15","t16","t17","t18","overflow","t19","__unstable_margins","constrainSize","fallbackPlacements","placement","portal","style","React","CSSProperties","tone","zOffset","t20","Card","useRouter","styled","useAllVariants","decodeVariantIdFromRoute","CurrentVariantLabel","VariantsMenu","VariantsNavContainer","VariantsNav","$","_c","router","byId","t0","stickyParams","variant","selectedVariantDocumentId","undefined","get","selectedVariant","t1","t2","Symbol","for","t3","Card","Flex","Text","AnimatePresence","motion","useCallback","useRouter","styled","Button","NavbarProps","useTranslation","ReleasesNav","useGetDefaultPerspective","usePerspective","getReleaseTone","variantsLocaleNamespace","VariantsNav","NavRowContainer","VariantsStudioNavbar","props","$","_c","t","selectedPerspective","router","hasVariantSelection","Boolean","stickyParams","variant","defaultPerspective","canClear","t0","navigate","excludedPerspectives","perspective","handleClearViewAs","t1","renderDefault","t2","t3","t4","t5","t6","t7","Symbol","for","t8","t9","t10","t11","t12","t13","t14","t15","t16","clipPath","opacity","display","type","bounce","duration","t17","t18","t19"],"sources":["../src/core/variants/plugin/components/CurrentVariantLabel.tsx","../src/core/variants/plugin/components/VariantsMenu.tsx","../src/core/variants/plugin/components/VariantsNav.tsx","../src/core/variants/plugin/components/VariantsStudioNavbar.tsx"],"sourcesContent":["// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Flex, Button, Text} from '@sanity/ui'\nimport {type HTMLProps, useMemo, type RefAttributes} from 'react'\nimport {IntentLink} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {AnimatedTextWidth} from '../../../perspective/navbar/AnimatedTextWidth'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {getVariantId, getVariantTitle} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {VARIANTS_INTENT} from '../index'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst OversizedButton = styled(IntentLink)`\n ${oversizedButtonStyle}\n`\n\nfunction VariantDetailLink({variant}: {variant: SystemVariant}) {\n const encodedVariantId = getVariantId(variant._id)\n\n const VariantLink = useMemo(\n () =>\n function VariantLinkComponent(\n linkProps: HTMLProps<HTMLAnchorElement> & RefAttributes<HTMLAnchorElement>,\n ) {\n const {ref, ...rest} = linkProps\n return (\n <OversizedButton\n {...rest}\n ref={ref}\n intent={VARIANTS_INTENT}\n params={{id: encodedVariantId}}\n />\n )\n },\n [encodedVariantId],\n )\n\n return (\n <Button\n as={VariantLink}\n data-as=\"a\"\n data-testid=\"variants-nav-label-link\"\n icon={RhombusIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n style={{maxWidth: '180px'}}\n text={getVariantTitle(variant)}\n />\n )\n}\n\n/**\n * @internal\n */\nexport function CurrentVariantLabel({\n selectedVariant,\n}: {\n selectedVariant?: SystemVariant\n}): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n\n const animationKey = selectedVariant?._id ?? 'default'\n\n return (\n <AnimatedTextWidth text={animationKey}>\n {!selectedVariant ? (\n <Box padding={2} style={{userSelect: 'none', overflow: 'hidden'}}>\n <Flex align=\"center\" gap={2}>\n <Text size={0}>\n <RhombusIcon />\n </Text>\n <Text data-testid=\"variants-nav-label\" size={1} textOverflow=\"ellipsis\" weight=\"medium\">\n {t('navbar.variant.default')}\n </Text>\n </Flex>\n </Box>\n ) : (\n <VariantDetailLink variant={selectedVariant} />\n )}\n </AnimatedTextWidth>\n )\n}\n","import {ChevronDownIcon} from '@sanity/icons/ChevronDown'\n// oxlint-disable-next-line no-restricted-imports -- Button requires props, only supported by @sanity/ui\nimport {Box, Button, Menu, MenuDivider, Text, TextInput} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {MenuButton} from '../../../../ui-components/menuButton/MenuButton'\nimport {MenuItem} from '../../../../ui-components/menuItem/MenuItem'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {oversizedButtonStyle} from '../../../perspective/styles'\nimport {useSetVariant} from '../../../perspective/useSetVariant'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {\n decodeVariantIdFromRoute,\n filterVariantsForSearch,\n getVariantId,\n getVariantTitle,\n} from '../../tool/util'\nimport {type SystemVariant} from '../../types'\nimport {RhombusIcon} from './PersonalizationIcons'\n\nconst StyledMenu = styled(Menu)`\n min-width: 240px;\n max-width: 320px;\n\n > [data-ui='Stack'] {\n gap: 0;\n }\n`\n\nconst SectionHeader = styled(Text)`\n text-transform: uppercase;\n letter-spacing: 0.04em;\n`\n\nconst OversizedButton = styled(Button)`\n ${oversizedButtonStyle}\n`\n\n/**\n * @internal\n */\nexport function VariantsMenu(): React.JSX.Element {\n const {t} = useTranslation(variantsLocaleNamespace)\n const router = useRouter()\n const setVariant = useSetVariant()\n const {data: variants} = useAllVariants()\n const [filterQuery, setFilterQuery] = useState('')\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n const selectedVariant = useMemo(\n () =>\n selectedVariantDocumentId\n ? variants.find((variant) => variant._id === selectedVariantDocumentId)\n : undefined,\n [selectedVariantDocumentId, variants],\n )\n\n const filteredVariants = useMemo(\n () => filterVariantsForSearch(variants, filterQuery),\n [filterQuery, variants],\n )\n\n const handleSelectDefault = useCallback(() => {\n setVariant({variantId: undefined})\n setFilterQuery('')\n }, [setVariant])\n\n const handleSelectVariant = useCallback(\n (variant: SystemVariant) => {\n setVariant({variantId: variant._id})\n setFilterQuery('')\n },\n [setVariant],\n )\n\n const handleFilterChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setFilterQuery(event.currentTarget.value)\n }, [])\n\n const handleMenuClose = useCallback(() => {\n setFilterQuery('')\n }, [])\n\n const isDefaultSelected = !selectedVariant\n\n return (\n <MenuButton\n button={\n <OversizedButton\n data-testid=\"variants-nav-menu-button\"\n iconRight={ChevronDownIcon}\n mode=\"bleed\"\n padding={2}\n radius=\"full\"\n />\n }\n id=\"variants-nav-menu\"\n onClose={handleMenuClose}\n menu={\n <StyledMenu data-testid=\"variants-nav-menu\" padding={0}>\n <Box padding={2}>\n <TextInput\n fontSize={1}\n onChange={handleFilterChange}\n placeholder={t('navbar.variant.filter-placeholder')}\n radius={2}\n value={filterQuery}\n />\n </Box>\n\n <MenuDivider />\n\n <MenuItem\n data-testid=\"variant-default\"\n icon={RhombusIcon}\n onClick={handleSelectDefault}\n pressed={isDefaultSelected}\n selected={isDefaultSelected}\n text={t('navbar.variant.default')}\n />\n\n {filteredVariants.length > 0 && (\n <>\n <Box padding={3} paddingBottom={2}>\n <SectionHeader muted size={0} weight=\"medium\">\n {t('navbar.variant.other')}\n </SectionHeader>\n </Box>\n\n {filteredVariants.map((variant) => {\n const isSelected = selectedVariant?._id === variant._id\n\n return (\n <MenuItem\n key={variant._id}\n data-testid={`variant-${getVariantId(variant._id)}`}\n icon={RhombusIcon}\n onClick={() => handleSelectVariant(variant)}\n pressed={isSelected}\n selected={isSelected}\n text={getVariantTitle(variant)}\n />\n )\n })}\n </>\n )}\n </StyledMenu>\n }\n popover={{\n __unstable_margins: [0, 0, 32, 0],\n constrainSize: true,\n fallbackPlacements: ['bottom-end'],\n placement: 'bottom-end',\n portal: true,\n // @ts-expect-error PopoverProps doesn't include `style`, but the Popover implementation accepts it via React.HTMLProps<HTMLDivElement>\n style: {overflow: 'hidden'} as React.CSSProperties,\n tone: 'default',\n zOffset: 3000,\n }}\n />\n )\n}\n","import {Card} from '@sanity/ui'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {useAllVariants} from '../../store/useAllVariants'\nimport {decodeVariantIdFromRoute} from '../../tool/util'\nimport {CurrentVariantLabel} from './CurrentVariantLabel'\nimport {VariantsMenu} from './VariantsMenu'\n\nconst VariantsNavContainer = styled(Card)`\n position: relative;\n display: flex;\n &:not([hidden]) {\n display: flex;\n }\n align-items: center;\n gap: 2px;\n padding: 2px;\n margin: -3px 0;\n\n a:hover,\n button:hover {\n position: relative;\n z-index: 2;\n }\n`\n\n/**\n * @internal\n */\nexport function VariantsNav(): React.JSX.Element {\n const router = useRouter()\n const {byId} = useAllVariants()\n\n const selectedVariantDocumentId = decodeVariantIdFromRoute(\n router.stickyParams.variant ?? undefined,\n )\n\n const selectedVariant = selectedVariantDocumentId\n ? byId.get(selectedVariantDocumentId)\n : undefined\n\n return (\n <VariantsNavContainer flex=\"none\" tone=\"inherit\" radius=\"full\" data-ui=\"VariantsNav\">\n <CurrentVariantLabel selectedVariant={selectedVariant} />\n <VariantsMenu />\n </VariantsNavContainer>\n )\n}\n","import {Card, Flex, Text} from '@sanity/ui'\nimport {AnimatePresence, motion} from 'motion/react'\nimport {useCallback} from 'react'\nimport {useRouter} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nimport {Button} from '../../../../ui-components/button/Button'\nimport {type NavbarProps} from '../../../config/studio/types'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {ReleasesNav} from '../../../perspective/navbar/ReleasesNav'\nimport {useGetDefaultPerspective} from '../../../perspective/useGetDefaultPerspective'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {getReleaseTone} from '../../../releases/util/getReleaseTone'\nimport {variantsLocaleNamespace} from '../../i18n'\nimport {VariantsNav} from './VariantsNav'\n\nconst NavRowContainer = styled(Card)`\n [data-ui='ReleasesNav'],\n [data-ui='VariantsNav'] {\n margin: 0;\n }\n`\n\nexport function VariantsStudioNavbar(props: NavbarProps) {\n const {t} = useTranslation(variantsLocaleNamespace)\n const {selectedPerspective} = usePerspective()\n const router = useRouter()\n\n const hasVariantSelection = Boolean(router.stickyParams.variant)\n const defaultPerspective = useGetDefaultPerspective()\n const canClear = hasVariantSelection || selectedPerspective !== defaultPerspective\n\n const handleClearViewAs = useCallback(() => {\n router.navigate({\n stickyParams: {\n excludedPerspectives: null,\n perspective: '',\n variant: null,\n },\n })\n }, [router])\n\n return (\n <Flex direction=\"column\">\n {props.renderDefault(props)}\n <Card tone=\"neutral\" paddingY={2} paddingX={3} borderBottom>\n <Flex justify=\"center\" align=\"center\" gap={2}>\n <Text weight=\"medium\" size={1}>\n {t('navbar.view-as')}\n </Text>\n <NavRowContainer\n tone={getReleaseTone(selectedPerspective)}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.version')}</Text>\n </Flex>\n </Card>\n <ReleasesNav withReleasesToolButton border={false} />\n </Flex>\n </NavRowContainer>\n <NavRowContainer\n tone={hasVariantSelection ? 'suggest' : 'default'}\n border\n radius={4}\n paddingLeft={1}\n >\n <Flex marginLeft={1}>\n <Card borderRight tone=\"inherit\">\n <Flex align=\"center\" paddingX={2} height={'fill'}>\n <Text size={1}>{t('navbar.variant')}</Text>\n </Flex>\n </Card>\n <VariantsNav />\n </Flex>\n </NavRowContainer>\n <AnimatePresence initial={false}>\n {canClear && (\n <motion.div\n key=\"view-as-clear-button\"\n animate={{clipPath: 'inset(0 0% 0 0%)', opacity: 1}}\n exit={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n initial={{clipPath: 'inset(0 50% 0 50%)', opacity: 0}}\n style={{display: 'flex'}}\n transition={{type: 'spring', bounce: 0, duration: 0.3}}\n >\n <Button\n data-testid=\"view-as-clear-button\"\n mode=\"bleed\"\n onClick={handleClearViewAs}\n text={t('navbar.clear')}\n />\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n </Card>\n </Flex>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAeA,MAAMkB,oBAAkBV,OAAOD,UAAU,CAAC,CAAA,WAAA;;;AACtCI,CAAAA,CAAAA,GAAAA;AAGJ,SAAAQ,kBAAAC,IAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAA2B,EAAAC,YAAAH,IAAmCI;CAAA,AAAAH,EAAA,OAAAE,QAAAE,MACVD,KAAAH,EAAA,MAAzBG,KAAAX,aAAaU,QAAOE,GAAI,GAACJ,EAAA,KAAAE,QAAAE,KAAAJ,EAAA,KAAAG;CAAlD,IAAAE,mBAAyBF,IAAyBG;CAAA,AAAAN,EAAA,OAAAK,mBAgB7CC,KAAAN,EAAA,MAZDM,KAAA,SAAAC,qBAAAC,WAAA;EAGE,IAAA,EAAAC,KAAA,GAAAC,SAAuBF;EAAS,OAE9B,oBAAC,mBAAD;GAAgB,GACVE;GACCD;GACGd,QAAAA;GACA,QAAA,EAAAgB,IAAKN,iBAAgB;EAAC,CAAA;CAC9B,GAELL,EAAA,KAAAK,kBAAAL,EAAA,KAAAM;CAdL,IAAAM,cAEIN,IAcHO;CAAA,AAAAb,EAAA,OAAAc,OAAAC,IAAA,2BAAA,KAWUF,KAAA,EAAAG,UAAW,QAAO,GAAChB,EAAA,KAAAa,MAAAA,KAAAb,EAAA;CAAA,IAAAiB;CAAA,AAAAjB,EAAA,OAAAE,UACIe,KAAAjB,EAAA,MAAxBiB,KAAAxB,gBAAgBS,OAAO,GAACF,EAAA,KAAAE,SAAAF,EAAA,KAAAiB;CAAA,IAAAC;CAC9B,OAD8BlB,EAAA,OAAAY,eAAAZ,EAAA,OAAAiB,MAThCC,KAAA,oBAAC,QAAD;EACMN,IAAAA;EACI,WAAA;EACI,eAAA;EACNhB,MAAAA;EACD,MAAA;EACI,SAAA;EACF,QAAA;EACA,OAAAiB;EACD,MAAAI;CAAwB,CAAA,GAC9BjB,EAAA,KAAAY,aAAAZ,EAAA,KAAAiB,IAAAjB,EAAA,KAAAkB,MAAAA,KAAAlB,EAAA,IAVFkB;AAUE;;;;AAON,SAAOC,oBAAApB,IAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAA6B,EAAAmB,oBAAArB,IAKlC,EAAAsB,MAAYjC,eAAeG,uBAAuB,GAElD+B,eAAqBF,iBAAehB,OAAf,WAAiCD;CAAA,AAAAH,EAAA,OAAAoB,mBAAApB,EAAA,OAAAqB,KAIjDlB,KAACiB,kBAYA,oBAAC,mBAAD,EAA4BA,SAAAA,gBAAe,CAAA,IAX3C,oBAAC,KAAD;EAAc,SAAA;EAAU,OAAA;GAAAG,YAAa;GAAMC,UAAY;EAAQ;EAC7D,UAAA,qBAAC,MAAD;GAAY,OAAA;GAAc,KAAA;GAA1B,UAAA,CACE,oBAAC,MAAD;IAAY,MAAA;IACV,UAAA,oBAAC,aAAD,CAAY,CAAA;GADT,CAAA,GAGL,oBAAC,MAAD;IAAkB,eAAA;IAA2B,MAAA;IAAgB,cAAA;IAAkB,QAAA;IAC5EH,UAAAA,EAAE,wBAAwB;GADxB,CAAA,CAJF;;CADH,CAAA,GAYLrB,EAAA,KAAAoB,iBAAApB,EAAA,KAAAqB,GAAArB,EAAA,KAAAG,MAAAA,KAAAH,EAAA;CAAA,IAAAM;CACiB,OADjBN,EAAA,OAAAsB,gBAAAtB,EAAA,OAAAG,MAdHG,KAAA,oBAAC,mBAAD;EAAyBgB,MAAAA;EACtBnB,UAAAA;CADe,CAAA,GAeEH,EAAA,KAAAsB,cAAAtB,EAAA,KAAAG,IAAAH,EAAA,KAAAM,MAAAA,KAAAN,EAAA,IAfpBM;AAeoB;AC5DxB,MAAM4C,aAAad,OAAOR,IAAI,CAAC,CAAA,WAAA;;;iEASzBuB,gBAAgBf,OAAON,IAAI,CAAC,CAAA,WAAA;;;qDAK5BsB,kBAAkBhB,OAAOT,MAAM,CAAC,CAAA,WAAA;;;AAClCa,CAAAA,CAAAA,GAAAA;;;;AAMJ,SAAOa,eAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACL,EAAAC,MAAYjB,eAAeG,uBAAuB,GAClDe,SAAetB,UAAU,GACzBuB,aAAmBjB,cAAc,GACjC,EAAAkB,MAAAC,aAAyBjB,eAAe,GACxC,CAAAkB,aAAAC,kBAAsC5B,SAAS,EAAE,GAG/C6B,KAAAN,OAAMO,aAAaC,WAAnBC,KAAAA,GAAwCC;CAAA,AAAAb,EAAA,OAAAS,KACzCI,KAAAb,EAAA,MAFiCa,KAAAvB,yBAChCmB,EACF,GAACT,EAAA,KAAAS,IAAAT,EAAA,KAAAa;CAFD,IAAAC,4BAAkCD,IAEjCE;CAAA,AAAAf,EAAA,OAAAc,6BAAAd,EAAA,OAAAM,YAGGS,KAAAD,4BACIR,SAAQU,MAAML,YAAaA,QAAOM,QAASH,yBACnC,IAFZF,KAAAA,GAEaZ,EAAA,KAAAc,2BAAAd,EAAA,KAAAM,UAAAN,EAAA,KAAAe,MAAAA,KAAAf,EAAA;CAJjB,IAAAkB,kBAEIH,IAIHI;CAAA,AAAAnB,EAAA,OAAAO,eAAAP,EAAA,OAAAM,YAGOa,KAAA5B,wBAAwBe,UAAUC,WAAW,GAACP,EAAA,KAAAO,aAAAP,EAAA,KAAAM,UAAAN,EAAA,KAAAmB,MAAAA,KAAAnB,EAAA;CADtD,IAAAoB,mBACQD,IAEPE;CAAA,AAAArB,EAAA,OAAAI,aAKAiB,KAAArB,EAAA,MAHuCqB,WAAA;EAEtCb,AADAJ,WAAW,EAAAkB,WAAYV,KAAAA,EAAS,CAAC,GACjCJ,eAAe,EAAE;CAAC,GACnBR,EAAA,KAAAI,YAAAJ,EAAA,KAAAqB;CAHD,IAAAE,sBAA4BF,IAGZG;CAAA,AAAAxB,EAAA,QAAAI,aAMboB,KAAAxB,EAAA,OAHDwB,MAAAC,cAAA;EAEEjB,AADAJ,WAAW,EAAAkB,WAAYX,UAAOM,IAAI,CAAC,GACnCT,eAAe,EAAE;CAAC,GACnBR,EAAA,MAAAI,YAAAJ,EAAA,MAAAwB;CAJH,IAAAE,sBAA4BF,IAM3BG;CAAA,AAAA3B,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAEsCF,MAAAG,UAAA;EACrCtB,eAAesB,MAAKC,cAAcC,KAAM;CAAC,GAC1ChC,EAAA,MAAA2B,MAAAA,KAAA3B,EAAA;CAFD,IAAAiC,qBAA2BN,IAErBO;CAAA,AAAAlC,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAE8BK,WAAA;EAClC1B,eAAe,EAAE;CAAC,GACnBR,EAAA,MAAAkC,MAAAA,KAAAlC,EAAA;CAFD,IAAAmC,kBAAwBD,IAIxBE,oBAA0B,CAAClB,iBAAemB;CAAA,AAAArC,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAKpCQ,KAAA,oBAAC,iBAAD;EACc,eAAA;EACDlE,WAAAA;EACN,MAAA;EACI,SAAA;EACF,QAAA;CAAM,CAAA,GACb6B,EAAA,MAAAqC,MAAAA,KAAArC,EAAA;CAAA,IAAAsC;CAAA,AAAAtC,EAAA,QAAAE,IAUuDoC,KAAAtC,EAAA,OAAtCsC,KAAApC,EAAE,mCAAmC,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAsC;CAAA,IAAAC;CAAA,AAAAvC,EAAA,QAAAO,eAAAP,EAAA,QAAAsC,MAJvDC,MAAA,oBAAC,KAAD;EAAc,SAAA;EACZ,UAAA,oBAAC,WAAD;GACY,UAAA;GACAN,UAAAA;GACG,aAAAK;GACL,QAAA;GACD/B,OAAAA;EAAW,CAAA;CANlB,CAAA,GAQEP,EAAA,MAAAO,aAAAP,EAAA,MAAAsC,IAAAtC,EAAA,MAAAuC,OAAAA,MAAAvC,EAAA;CAAA,IAAAwC;CAAA,AAAAxC,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAENW,MAAA,oBAAC,aAAD,CAAY,CAAA,GAAGxC,EAAA,MAAAwC,OAAAA,MAAAxC,EAAA;CAAA,IAAAyC;CAAA,AAAAzC,EAAA,QAAAE,IAQoBuC,MAAAzC,EAAA,OAA3ByC,MAAAvC,EAAE,wBAAwB,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAyC;CAAA,IAAAC;CAAA,AAAA1C,EAAA,QAAAuB,uBAAAvB,EAAA,QAAAoC,qBAAApC,EAAA,QAAAyC,OANnCC,MAAA,oBAAC,YAAD;EACc,eAAA;EACN/C,MAAAA;EACG4B,SAAAA;EACAa,SAAAA;EACCA,UAAAA;EACJ,MAAAK;CAA2B,CAAA,GACjCzC,EAAA,MAAAuB,qBAAAvB,EAAA,MAAAoC,mBAAApC,EAAA,MAAAyC,KAAAzC,EAAA,MAAA0C,OAAAA,MAAA1C,EAAA;CAAA,IAAA2C;CAAA,AAAA3C,EAAA,QAAAoB,oBAAApB,EAAA,QAAA0B,uBAAA1B,EAAA,QAAAkB,iBAAAD,OAAAjB,EAAA,QAAAE,KAEDyC,MAAAvB,iBAAgBwB,SAAU,KAA1B,qBAAA,YAAA,EAAA,UAAA,CAEG,oBAAC,KAAD;EAAc,SAAA;EAAkB,eAAA;EAC9B,UAAA,oBAAC,eAAD;GAAe,OAAA;GAAY,MAAA;GAAU,QAAA;GAClC1C,UAAAA,EAAE,sBAAsB;EADb,CAAA;CADZ,CAAA,GAMHkB,iBAAgByB,KAAKC,cAAA;EACpB,IAAAC,aAAmB7B,iBAAeD,QAAUN,UAAOM;EAAI,OAGrD,oBAAC,YAAD;GAEe,eAAA,WAAWzB,aAAamB,UAAOM,GAAI;GAC1CtB,MAAAA;GACG,eAAM+B,oBAAoBf,SAAO;GACjCoC,SAAAA;GACCA,UAAAA;GACJ,MAAAtD,gBAAgBkB,SAAO;EAAC,GANzBA,UAAOM,GAMkB;CAC9B,CAEL,CAAC,EAAA,CAAA,GAELjB,EAAA,MAAAoB,kBAAApB,EAAA,MAAA0B,qBAAA1B,EAAA,MAAAkB,iBAAAD,KAAAjB,EAAA,MAAAE,GAAAF,EAAA,MAAA2C,OAAAA,MAAA3C,EAAA;CAAA,IAAAgD;CAAA,AAAAhD,EAAA,QAAAuC,OAAAvC,EAAA,QAAA0C,OAAA1C,EAAA,QAAA2C,OA9CHK,MAAA,qBAAC,YAAD;EAAwB,eAAA;EAA6B,SAAA;EAArD,UAAA;GACET;GAUAC;GAEAE;GASCC;EAtBQ;KA+CE3C,EAAA,MAAAuC,KAAAvC,EAAA,MAAA0C,KAAA1C,EAAA,MAAA2C,KAAA3C,EAAA,MAAAgD,OAAAA,MAAAhD,EAAA;CAAA,IAAAiD;CAAA,AAAAjD,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAGOoB,MAAA;EAAC;EAAG;EAAG;EAAI;CAAC,GAACjD,EAAA,MAAAiD,OAAAA,MAAAjD,EAAA;CAAA,IAAAkD;CAAA,AAAAlD,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAEbqB,MAAA,CAAC,YAAY,GAAClD,EAAA,MAAAkD,OAAAA,MAAAlD,EAAA;CAAA,IAAAmD;CAAA,AAAAnD,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAI3BsB,MAAA,EAAAC,UAAW,SAAQ,GAACpD,EAAA,MAAAmD,OAAAA,MAAAnD,EAAA;CAAA,IAAAqD;CAAA,AAAArD,EAAA,QAAA4B,OAAAC,IAAA,2BAAA,KAPpBwB,MAAA;EAAAC,oBACaL;EAAaM,eAClB;EAAIC,oBACCN;EAAcO,WACvB;EAAYC,QACf;EAAIC,OAELR;EAA2CW,MAC5C;EAASC,SACN;CACX,GAAC/D,EAAA,MAAAqD,OAAAA,MAAArD,EAAA;CAAA,IAAAgE;CACD,OADChE,EAAA,QAAAgD,MACDgB,MAAAhE,EAAA,OAzEFgE,MAAA,oBAAC,cAAD;EAEI,QAAA3B;EAQC,IAAA;EACMF,SAAAA;EAEP,MAAAa;EAiDO,SAAAK;CAUR,CAAA,GACDrD,EAAA,MAAAgD,KAAAhD,EAAA,MAAAgE,MAzEFA;AAyEE;AC3JN,MAAMQ,uBAAuBL,OAAOF,IAAI,CAAC,CAAA,WAAA;;;;;;;AAqBzC,SAAOQ,cAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GACLC,SAAeV,UAAU,GACzB,EAAAW,SAAeT,eAAe,GAACU;CAAA,IAAAJ,EAAA,OAAAG,QAAAH,EAAA,OAAAE,OAAAG,aAAAC,SAAA;EAE/B,IAAAC,4BAAkCZ,yBAChCO,OAAMG,aAAaC,WAAnBE,KAAAA,CACF;EAIaR,AAFWI,KAAAG,4BACpBJ,KAAIM,IAAKF,yBACD,IAFYC,KAAAA,GAEXR,EAAA,KAAAG,MAAAH,EAAA,KAAAE,OAAAG,aAAAC,SAAAN,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAFb,IAAAU,kBAAwBN,IAEXO;CAAA,AAAAX,EAAA,OAAAU,kBAIgDC,KAAAX,EAAA,MAAzDW,KAAA,oBAAC,qBAAD,EAAsCD,gBAAe,CAAA,GAAIV,EAAA,KAAAU,iBAAAV,EAAA,KAAAW;CAAA,IAAAC;CAAA,AAAAZ,EAAA,OAAAa,OAAAC,IAAA,2BAAA,KACzDF,KAAA,oBAAC,cAAD,CAAa,CAAA,GAAGZ,EAAA,KAAAY,MAAAA,KAAAZ,EAAA;CAAA,IAAAe;CACK,OADLf,EAAA,OAAAW,KACKI,KAAAf,EAAA,MAHvBe,KAAA,qBAAC,sBAAD;EAA2B,MAAA;EAAY,MAAA;EAAiB,QAAA;EAAe,WAAA;EAAvE,UAAA,CACEJ,IACAC,EAFmB;KAGEZ,EAAA,KAAAW,IAAAX,EAAA,KAAAe,KAHvBA;AAGuB;AC9B3B,MAAMkB,kBAAkBV,OAAOP,IAAI,CAAC,CAAA,WAAA;;;;AAOpC,SAAOkB,qBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACL,EAAAC,MAAYZ,eAAeK,uBAAuB,GAClD,EAAAQ,wBAA8BV,eAAe,GAC7CW,SAAelB,UAAU,GAEzBmB,sBAA4BC,EAAQF,OAAMG,aAAaC,SACvDC,qBAA2BjB,yBAAyB,GACpDkB,WAAiBL,uBAAuBF,wBAAwBM,oBAAkBE;CAAA,AAAAX,EAAA,OAAAI,SAUjFO,KAAAX,EAAA,MARqCW,WAAA;EACpCP,OAAMQ,SAAU,EAAAL,cACA;GAAAM,sBACU;GAAIC,aACb;GAAEN,SACN;EACX,EACF,CAAC;CAAC,GACHR,EAAA,KAAAI,QAAAJ,EAAA,KAAAW;CARD,IAAAI,oBAA0BJ,IAQdK;CAAA,AAAAhB,EAAA,OAAAD,QAImBiB,KAAAhB,EAAA,MAA1BgB,KAAAjB,MAAKkB,cAAelB,KAAK,GAACC,EAAA,KAAAD,OAAAC,EAAA,KAAAgB;CAAA,IAAAE;CAAA,AAAAlB,EAAA,OAAAE,IAIDgB,KAAAlB,EAAA,MAAnBkB,KAAAhB,EAAE,gBAAgB,GAACF,EAAA,KAAAE,GAAAF,EAAA,KAAAkB;CAAA,IAAAC;CAAA,AAAAnB,EAAA,OAAAkB,KACfC,KAAAnB,EAAA,MAFPmB,KAAA,oBAAC,MAAD;EAAa,QAAA;EAAe,MAAA;EACzBD,UAAAA;CADE,CAAA,GAEElB,EAAA,KAAAkB,IAAAlB,EAAA,KAAAmB;CAAA,IAAAC;CAAA,AAAApB,EAAA,OAAAG,sBAEoCiB,KAAApB,EAAA,MAAnCoB,KAAA1B,eAAeS,mBAAmB,GAACH,EAAA,KAAAG,qBAAAH,EAAA,KAAAoB;CAAA,IAAAC;CAAA,AAAArB,EAAA,QAAAE,IAQAmB,KAAArB,EAAA,OAAnBqB,KAAAnB,EAAE,gBAAgB,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAAqB;CAAA,IAAAC;CAAA,AAAAtB,EAAA,QAAAqB,KAEhCC,KAAAtB,EAAA,OAJPsB,KAAA,oBAAC,MAAD;EAAM,aAAA;EAAiB,MAAA;EACrB,UAAA,oBAAC,MAAD;GAAY,OAAA;GAAmB,UAAA;GAAW,QAAA;GACxC,UAAA,oBAAC,MAAD;IAAY,MAAA;IAAID,UAAAA;GAAX,CAAA;EADF,CAAA;CADF,CAAA,GAIErB,EAAA,MAAAqB,IAAArB,EAAA,MAAAsB;CAAA,IAAAC;CAAA,AAAAvB,EAAA,QAAAwB,OAAAC,IAAA,2BAAA,KACPF,KAAA,oBAAC,aAAD;EAAa,wBAAA;EAA+B,QAAA;CAAK,CAAA,GAAIvB,EAAA,MAAAuB,MAAAA,KAAAvB,EAAA;CAAA,IAAA0B;CAAA,AAAA1B,EAAA,QAAAsB,KAChDI,KAAA1B,EAAA,OAPP0B,KAAA,qBAAC,MAAD;EAAkB,YAAA;EAAlB,UAAA,CACEJ,IAKAC,EANG;KAOEvB,EAAA,MAAAsB,IAAAtB,EAAA,MAAA0B;CAAA,IAAAC;CAAA,AAAA3B,EAAA,QAAAoB,MAAApB,EAAA,QAAA0B,MAbTC,KAAA,oBAAC,iBAAD;EACQ,MAAAP;EACN,QAAA;EACQ,QAAA;EACK,aAAA;EAEbM,UAAAA;CANc,CAAA,GAcE1B,EAAA,MAAAoB,IAAApB,EAAA,MAAA0B,IAAA1B,EAAA,MAAA2B,MAAAA,KAAA3B,EAAA;CAEV,IAAA4B,MAAAvB,sBAAA,YAAA,WAA2CwB;CAAA,AAAA7B,EAAA,QAAAE,IAQR2B,MAAA7B,EAAA,OAAnB6B,MAAA3B,EAAE,gBAAgB,GAACF,EAAA,MAAAE,GAAAF,EAAA,MAAA6B;CAAA,IAAAC;CAAA,AAAA9B,EAAA,QAAA6B,MAEhCC,MAAA9B,EAAA,OAJP8B,MAAA,oBAAC,MAAD;EAAM,aAAA;EAAiB,MAAA;EACrB,UAAA,oBAAC,MAAD;GAAY,OAAA;GAAmB,UAAA;GAAW,QAAA;GACxC,UAAA,oBAAC,MAAD;IAAY,MAAA;IAAID,UAAAA;GAAX,CAAA;EADF,CAAA;CADF,CAAA,GAIE7B,EAAA,MAAA6B,KAAA7B,EAAA,MAAA8B;CAAA,IAAAC;CAAA,AAAA/B,EAAA,QAAAwB,OAAAC,IAAA,2BAAA,KACPM,MAAA,oBAAC,aAAD,CAAY,CAAA,GAAG/B,EAAA,MAAA+B,OAAAA,MAAA/B,EAAA;CAAA,IAAAgC;CAAA,AAAAhC,EAAA,QAAA8B,MACVE,MAAAhC,EAAA,OAPPgC,MAAA,qBAAC,MAAD;EAAkB,YAAA;EAAlB,UAAA,CACEF,KAKAC,GANG;KAOE/B,EAAA,MAAA8B,KAAA9B,EAAA,MAAAgC;CAAA,IAAAC;CAAA,AAAAjC,EAAA,QAAA4B,OAAA5B,EAAA,QAAAgC,OAbTC,MAAA,oBAAC,iBAAD;EACQ,MAAAL;EACN,QAAA;EACQ,QAAA;EACK,aAAA;EAEbI,UAAAA;CANc,CAAA,GAcEhC,EAAA,MAAA4B,KAAA5B,EAAA,MAAAgC,KAAAhC,EAAA,MAAAiC,OAAAA,MAAAjC,EAAA;CAAA,IAAAkC;CAAA,AAAAlC,EAAA,QAAAU,YAAAV,EAAA,QAAAe,qBAAAf,EAAA,QAAAE,KAEfgC,MAAAxB,YACC,oBAAA,OAAA,KAAA;EAEW,SAAA;GAAAyB,UAAW;GAAkBC,SAAW;EAAC;EAC5C,MAAA;GAAAD,UAAW;GAAoBC,SAAW;EAAC;EACxC,SAAA;GAAAD,UAAW;GAAoBC,SAAW;EAAC;EAC7C,OAAA,EAAAC,SAAU,OAAM;EACX,YAAA;GAAAC,MAAO;GAAQC,QAAU;GAACC,UAAY;EAAG;EAErD,UAAA,oBAAC,UAAD;GACc,eAAA;GACP,MAAA;GACIzB,SAAAA;GACH,MAAAb,EAAE,cAAc;EAAC,CAAA;CAE3B,GAbM,sBAaN,GACDF,EAAA,MAAAU,UAAAV,EAAA,MAAAe,mBAAAf,EAAA,MAAAE,GAAAF,EAAA,MAAAkC,OAAAA,MAAAlC,EAAA;CAAA,IAAAyC;CAAA,AAAAzC,EAAA,QAAAkC,MACeO,MAAAzC,EAAA,OAlBlByC,MAAA,oBAAC,iBAAD;EAA0B,SAAA;EACvBP,UAAAA;CADa,CAAA,GAkBElC,EAAA,MAAAkC,KAAAlC,EAAA,MAAAyC;CAAA,IAAAC;CAAA,AAAA1C,EAAA,QAAAiC,OAAAjC,EAAA,QAAAyC,OAAAzC,EAAA,QAAAmB,MAAAnB,EAAA,QAAA2B,MArDtBe,MAAA,oBAAC,MAAD;EAAW,MAAA;EAAoB,UAAA;EAAa,UAAA;EAAG,cAAA;EAC7C,UAAA,qBAAC,MAAD;GAAc,SAAA;GAAe,OAAA;GAAc,KAAA;GAA3C,UAAA;IACEvB;IAGAQ;IAeAM;IAeAQ;GAlCG;;CADF,CAAA,GAuDEzC,EAAA,MAAAiC,KAAAjC,EAAA,MAAAyC,KAAAzC,EAAA,MAAAmB,IAAAnB,EAAA,MAAA2B,IAAA3B,EAAA,MAAA0C,OAAAA,MAAA1C,EAAA;CAAA,IAAA2C;CACF,OADE3C,EAAA,QAAAgB,MAAAhB,EAAA,QAAA0C,OAzDTC,MAAA,qBAAC,MAAD;EAAgB,WAAA;EAAhB,UAAA,CACG3B,IACD0B,GAFG;KA0DE1C,EAAA,MAAAgB,IAAAhB,EAAA,MAAA0C,KAAA1C,EAAA,MAAA2C,OAAAA,MAAA3C,EAAA,KA1DP2C;AA0DO"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { i as Dialog$1, r as Popover$1 } from "./ConfirmPopover-CD1rDyuk.js";
|
|
2
2
|
import { a as Button$1, n as Tab$1, o as Tooltip$1, r as MenuButton$1, t as MenuItem$1 } from "./MenuItem-BWdL61CI.js";
|
|
3
3
|
import { l as getPublishedId } from "./draftUtils-D3HJGQaW.js";
|
|
4
|
-
import { i as useClient } from "./studioClient-
|
|
5
|
-
import { Dt as getVariantConditionsText, Et as filterVariantsForSearch, L as listenQuery, Mt as isPublishedBundleId, Nt as isReleaseBundle, Ot as getVariantDescription, Pt as variantMatchesConditionFilters, Tt as decodeVariantIdFromRoute, fn as DOCUMENT_SYSTEM_FIELD, gn as useSchema, ht as variantsClient, in as VARIANT_DOCUMENTS_PATH, jt as getVariantTitle, kt as getVariantId, lt as getReleaseIdFromReleaseDocumentId, rn as VARIANTS_STUDIO_CLIENT_OPTIONS, wt as buildConditionFacets } from "./datastores-
|
|
4
|
+
import { i as useClient } from "./studioClient-CwMJwOTd.js";
|
|
5
|
+
import { Dt as getVariantConditionsText, Et as filterVariantsForSearch, L as listenQuery, Mt as isPublishedBundleId, Nt as isReleaseBundle, Ot as getVariantDescription, Pt as variantMatchesConditionFilters, Tt as decodeVariantIdFromRoute, fn as DOCUMENT_SYSTEM_FIELD, gn as useSchema, ht as variantsClient, in as VARIANT_DOCUMENTS_PATH, jt as getVariantTitle, kt as getVariantId, lt as getReleaseIdFromReleaseDocumentId, rn as VARIANTS_STUDIO_CLIENT_OPTIONS, wt as buildConditionFacets } from "./datastores-DpJ5Y313.js";
|
|
6
6
|
import { t as useTranslation } from "./useTranslation-Cqs6Itwv.js";
|
|
7
|
-
import { An as SanityDefaultPreview, ha as getReleaseDocumentIdFromReleaseId, hi as useVariantsStore, ji as ReleaseTitle, ko as ReleaseAvatarIcon, mi as useAllVariants, mn as useDocumentPresence, n as useBundleDocuments, wo as useActiveReleases, xn as DocumentPreviewPresence } from "./useBundleDocuments-
|
|
7
|
+
import { An as SanityDefaultPreview, ha as getReleaseDocumentIdFromReleaseId, hi as useVariantsStore, ji as ReleaseTitle, ko as ReleaseAvatarIcon, mi as useAllVariants, mn as useDocumentPresence, n as useBundleDocuments, wo as useActiveReleases, xn as DocumentPreviewPresence } from "./useBundleDocuments-DvVAF6cf.js";
|
|
8
8
|
import { o as TextWithTone, t as ContextMenuButton } from "./ContextMenuButton-i3QSjB9U.js";
|
|
9
9
|
import { n as LoadingBlock } from "./useDidUpdate-Br1Dx-yJ.js";
|
|
10
10
|
import { t as RelativeTime } from "./RelativeTime-CHKqaAq1.js";
|
|
11
|
-
import { t as RELEASES_INTENT } from "./plugin-
|
|
11
|
+
import { t as RELEASES_INTENT } from "./plugin-DGOEvpWT.js";
|
|
12
12
|
import { t as variantsLocaleNamespace } from "./i18n-BWMyMJpf.js";
|
|
13
13
|
import { t as ToneIcon } from "./ToneIcon-DgovBh2L.js";
|
|
14
|
-
import { t as useDocumentPreviewValues } from "./useDocumentPreviewValues-
|
|
15
|
-
import { c as DetailIdentity, i as DocumentTable, l as DetailBackButton, o as Headers, r as EditedByCell, s as DetailPropertiesPanel, t as searchDocumentRelease, u as DetailActionRail } from "./searchDocumentRelease-
|
|
14
|
+
import { t as useDocumentPreviewValues } from "./useDocumentPreviewValues-B1zNjl_D.js";
|
|
15
|
+
import { c as DetailIdentity, i as DocumentTable, l as DetailBackButton, o as Headers, r as EditedByCell, s as DetailPropertiesPanel, t as searchDocumentRelease, u as DetailActionRail } from "./searchDocumentRelease-C5sClmGF.js";
|
|
16
16
|
import { memo, useCallback, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
17
17
|
import { of } from "rxjs";
|
|
18
18
|
import { c } from "react/compiler-runtime";
|
|
@@ -3373,4 +3373,4 @@ function VariantsTool() {
|
|
|
3373
3373
|
}
|
|
3374
3374
|
export { VariantsTool };
|
|
3375
3375
|
|
|
3376
|
-
//# sourceMappingURL=VariantsTool-
|
|
3376
|
+
//# sourceMappingURL=VariantsTool-BCtrSWfP.js.map
|