sanity 6.9.2 → 6.9.3-next.2

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.
Files changed (121) hide show
  1. package/lib/{AddonDatasetProvider-CIq0vehp.js → AddonDatasetProvider-DDQrh5ob.js} +2 -2
  2. package/lib/{AddonDatasetProvider-CIq0vehp.js.map → AddonDatasetProvider-DDQrh5ob.js.map} +1 -1
  3. package/lib/{CalendarFilter-DRKSPTWd.js → CalendarFilter-DYbHmp_x.js} +3 -3
  4. package/lib/{CalendarFilter-DRKSPTWd.js.map → CalendarFilter-DYbHmp_x.js.map} +1 -1
  5. package/lib/{CommentsDocumentLayout-NGghzPWZ.js → CommentsDocumentLayout-qdF_HKSC.js} +2 -2
  6. package/lib/{CommentsDocumentLayout-NGghzPWZ.js.map → CommentsDocumentLayout-qdF_HKSC.js.map} +1 -1
  7. package/lib/{CommentsField-_QkW9aLe.js → CommentsField-i8xs45PB.js} +3 -3
  8. package/lib/{CommentsField-_QkW9aLe.js.map → CommentsField-i8xs45PB.js.map} +1 -1
  9. package/lib/{CommentsInput-DdtI0Naj.js → CommentsInput-B9iSSi8A.js} +6 -6
  10. package/lib/{CommentsInput-DdtI0Naj.js.map → CommentsInput-B9iSSi8A.js.map} +1 -1
  11. package/lib/{CommentsInspector-BQtqxGsK.js → CommentsInspector-rGGP9buL.js} +5 -5
  12. package/lib/{CommentsInspector-BQtqxGsK.js.map → CommentsInspector-rGGP9buL.js.map} +1 -1
  13. package/lib/{CommentsListItem-B0yR0R5a.js → CommentsListItem-DKS6V_TV.js} +3 -3
  14. package/lib/{CommentsListItem-B0yR0R5a.js.map → CommentsListItem-DKS6V_TV.js.map} +1 -1
  15. package/lib/{CommentsSelectedPathProvider-BYZ2OmJ9.js → CommentsSelectedPathProvider-BnZ6GdNc.js} +3 -3
  16. package/lib/{CommentsSelectedPathProvider-BYZ2OmJ9.js.map → CommentsSelectedPathProvider-BnZ6GdNc.js.map} +1 -1
  17. package/lib/{CommentsStudioLayout-DK4W-hTe.js → CommentsStudioLayout-YlpSH_2Y.js} +4 -4
  18. package/lib/{CommentsStudioLayout-DK4W-hTe.js.map → CommentsStudioLayout-YlpSH_2Y.js.map} +1 -1
  19. package/lib/{DateInputs-enUB1fG8.js → DateInputs-DioSKqY0.js} +7 -7
  20. package/lib/{DateInputs-enUB1fG8.js.map → DateInputs-DioSKqY0.js.map} +1 -1
  21. package/lib/{DocumentStatusIndicator-BP3N2GwG.js → DocumentStatusIndicator-BPBTH84U.js} +5 -5
  22. package/lib/{DocumentStatusIndicator-BP3N2GwG.js.map → DocumentStatusIndicator-BPBTH84U.js.map} +1 -1
  23. package/lib/{FormValue-4tVuOoGw.js → FormValue-CJg43LyM.js} +2 -2
  24. package/lib/{FormValue-4tVuOoGw.js.map → FormValue-CJg43LyM.js.map} +1 -1
  25. package/lib/{LoadingBlock-Cy2Pckab.js → LoadingBlock-DPTVJ58M.js} +3 -3
  26. package/lib/{LoadingBlock-Cy2Pckab.js.map → LoadingBlock-DPTVJ58M.js.map} +1 -1
  27. package/lib/{ReleaseTitle-CkEMIfmx.js → ReleaseTitle-ln13W3P1.js} +4 -4
  28. package/lib/{ReleaseTitle-CkEMIfmx.js.map → ReleaseTitle-ln13W3P1.js.map} +1 -1
  29. package/lib/{ReleasesMetadataProvider-DuAzHgpz.js → ReleasesMetadataProvider-DbxROVyw.js} +2 -2
  30. package/lib/{ReleasesMetadataProvider-DuAzHgpz.js.map → ReleasesMetadataProvider-DbxROVyw.js.map} +1 -1
  31. package/lib/{ReleasesNav-DozstCwb.js → ReleasesNav-DNwncim0.js} +15 -15
  32. package/lib/{ReleasesNav-DozstCwb.js.map → ReleasesNav-DNwncim0.js.map} +1 -1
  33. package/lib/{ReleasesStudioLayout-CXoRbIpf.js → ReleasesStudioLayout-gzl7rMMp.js} +8 -8
  34. package/lib/{ReleasesStudioLayout-CXoRbIpf.js.map → ReleasesStudioLayout-gzl7rMMp.js.map} +1 -1
  35. package/lib/{ReleasesTool-Bxru9khS.js → ReleasesTool-CsHniZCP.js} +20 -20
  36. package/lib/{ReleasesTool-Bxru9khS.js.map → ReleasesTool-CsHniZCP.js.map} +1 -1
  37. package/lib/{SchedulePublishingStudioLayout-CjJ-nu3Q.js → SchedulePublishingStudioLayout-BzSSDp9x.js} +3 -3
  38. package/lib/{SchedulePublishingStudioLayout-CjJ-nu3Q.js.map → SchedulePublishingStudioLayout-BzSSDp9x.js.map} +1 -1
  39. package/lib/{SchedulePublishingUpsellProvider-CxpMXwyA.js → SchedulePublishingUpsellProvider-DQqIZsCc.js} +2 -2
  40. package/lib/{SchedulePublishingUpsellProvider-CxpMXwyA.js.map → SchedulePublishingUpsellProvider-DQqIZsCc.js.map} +1 -1
  41. package/lib/{ScheduledPublishingEnabledProvider-Bvx140h2.js → ScheduledPublishingEnabledProvider-BcWaBJw5.js} +3 -3
  42. package/lib/{ScheduledPublishingEnabledProvider-Bvx140h2.js.map → ScheduledPublishingEnabledProvider-BcWaBJw5.js.map} +1 -1
  43. package/lib/{SearchProvider-DSLbCdgY.js → SearchProvider-D3w4Bvul.js} +10 -10
  44. package/lib/{SearchProvider-DSLbCdgY.js.map → SearchProvider-D3w4Bvul.js.map} +1 -1
  45. package/lib/{SingleDocReleaseLayout-DQicfsKs.js → SingleDocReleaseLayout-CQCkL8-0.js} +2 -2
  46. package/lib/{SingleDocReleaseLayout-DQicfsKs.js.map → SingleDocReleaseLayout-CQCkL8-0.js.map} +1 -1
  47. package/lib/{SingleDocReleaseUpsellProvider-DXNTZGTk.js → SingleDocReleaseUpsellProvider-YDBCGrHT.js} +4 -4
  48. package/lib/{SingleDocReleaseUpsellProvider-DXNTZGTk.js.map → SingleDocReleaseUpsellProvider-YDBCGrHT.js.map} +1 -1
  49. package/lib/{TasksStudioActiveToolLayout-CNpB5xLh.js → TasksStudioActiveToolLayout-DAmh3t6t.js} +16 -16
  50. package/lib/{TasksStudioActiveToolLayout-CNpB5xLh.js.map → TasksStudioActiveToolLayout-DAmh3t6t.js.map} +1 -1
  51. package/lib/{TasksStudioLayout-CnsvBNfw.js → TasksStudioLayout-6qNY69FD.js} +5 -5
  52. package/lib/{TasksStudioLayout-CnsvBNfw.js.map → TasksStudioLayout-6qNY69FD.js.map} +1 -1
  53. package/lib/{TimeZoneButton-DMd-M_ri.js → TimeZoneButton-TmrFye13.js} +4 -4
  54. package/lib/{TimeZoneButton-DMd-M_ri.js.map → TimeZoneButton-TmrFye13.js.map} +1 -1
  55. package/lib/{Tool-VgnYCwyZ.js → Tool-tpq9K4o7.js} +14 -14
  56. package/lib/{Tool-VgnYCwyZ.js.map → Tool-tpq9K4o7.js.map} +1 -1
  57. package/lib/{UnpublishVersionDialog-Fow5nBrc.js → UnpublishVersionDialog-6zyP9rCr.js} +5 -5
  58. package/lib/{UnpublishVersionDialog-Fow5nBrc.js.map → UnpublishVersionDialog-6zyP9rCr.js.map} +1 -1
  59. package/lib/{UpsellDialog-BqP2wmnt.js → UpsellDialog-CM238V3B.js} +3 -3
  60. package/lib/{UpsellDialog-BqP2wmnt.js.map → UpsellDialog-CM238V3B.js.map} +1 -1
  61. package/lib/{VariantsStudioNavbar-CvwRIsWJ.js → VariantsStudioNavbar-lFO2yrMq.js} +7 -7
  62. package/lib/{VariantsStudioNavbar-CvwRIsWJ.js.map → VariantsStudioNavbar-lFO2yrMq.js.map} +1 -1
  63. package/lib/{VariantsTool-CmQqDiwU.js → VariantsTool-B0OS4fku.js} +9 -9
  64. package/lib/{VariantsTool-CmQqDiwU.js.map → VariantsTool-B0OS4fku.js.map} +1 -1
  65. package/lib/{WorkspaceLoader-Ailj0PR9.js → WorkspaceLoader-CiJ6lGBu.js} +32 -32
  66. package/lib/{WorkspaceLoader-Ailj0PR9.js.map → WorkspaceLoader-CiJ6lGBu.js.map} +1 -1
  67. package/lib/_createContext.js +1 -1
  68. package/lib/{buildTextSelectionFromFragment-QpFfw3b7.js → buildTextSelectionFromFragment-CFZdgjpp.js} +3 -3
  69. package/lib/{buildTextSelectionFromFragment-QpFfw3b7.js.map → buildTextSelectionFromFragment-CFZdgjpp.js.map} +1 -1
  70. package/lib/{datastores-D4iZNSXV.js → datastores-wbjstxMt.js} +2 -2
  71. package/lib/{datastores-D4iZNSXV.js.map → datastores-wbjstxMt.js.map} +1 -1
  72. package/lib/{getTransactionsLogs-C-_o7nGx.js → getTransactionsLogs-Di50JBPB.js} +2 -2
  73. package/lib/{getTransactionsLogs-C-_o7nGx.js.map → getTransactionsLogs-Di50JBPB.js.map} +1 -1
  74. package/lib/index.js +35 -35
  75. package/lib/{inputResolver-Dpo4FxTy.js → inputResolver-DuUEGuH5.js} +4 -4
  76. package/lib/{inputResolver-Dpo4FxTy.js.map → inputResolver-DuUEGuH5.js.map} +1 -1
  77. package/lib/{navigation.telemetry-syjEPEw-.js → navigation.telemetry-EsdzXa34.js} +9 -9
  78. package/lib/{navigation.telemetry-syjEPEw-.js.map → navigation.telemetry-EsdzXa34.js.map} +1 -1
  79. package/lib/{plugin-B8Op6DFi.js → plugin-C_6lw0l3.js} +3 -3
  80. package/lib/{plugin-B8Op6DFi.js.map → plugin-C_6lw0l3.js.map} +1 -1
  81. package/lib/{plugin-CmF53OT5.js → plugin-ClT8-pVM.js} +4 -4
  82. package/lib/{plugin-CmF53OT5.js.map → plugin-ClT8-pVM.js.map} +1 -1
  83. package/lib/{plugin-Bk41RRuC.js → plugin-DRuKGgrO.js} +6 -6
  84. package/lib/{plugin-Bk41RRuC.js.map → plugin-DRuKGgrO.js.map} +1 -1
  85. package/lib/{plugin-BhEK2rZ8.js → plugin-wJP1ECFq.js} +6 -6
  86. package/lib/{plugin-BhEK2rZ8.js.map → plugin-wJP1ECFq.js.map} +1 -1
  87. package/lib/{scheduleItem-sJhB8YzX.js → scheduleItem-9PFIH7_h.js} +15 -15
  88. package/lib/{scheduleItem-sJhB8YzX.js.map → scheduleItem-9PFIH7_h.js.map} +1 -1
  89. package/lib/{schedules-CLC2KygL.js → schedules-DniNrpFJ.js} +3 -3
  90. package/lib/{schedules-CLC2KygL.js.map → schedules-DniNrpFJ.js.map} +1 -1
  91. package/lib/{searchDocumentRelease-CtPYZAZk.js → searchDocumentRelease-TrunKdQg.js} +5 -5
  92. package/lib/{searchDocumentRelease-CtPYZAZk.js.map → searchDocumentRelease-TrunKdQg.js.map} +1 -1
  93. package/lib/{studioClient-WYiCwgfZ.js → studioClient-BpYJ_yYC.js} +2 -2
  94. package/lib/{studioClient-WYiCwgfZ.js.map → studioClient-BpYJ_yYC.js.map} +1 -1
  95. package/lib/{useBundleDocuments-CiRQnzQh.js → useBundleDocuments-C58ExRpX.js} +5 -5
  96. package/lib/{useBundleDocuments-CiRQnzQh.js.map → useBundleDocuments-C58ExRpX.js.map} +1 -1
  97. package/lib/{useComments-CxUK5MNb.js → useComments-BcMCyjIE.js} +2 -2
  98. package/lib/{useComments-CxUK5MNb.js.map → useComments-BcMCyjIE.js.map} +1 -1
  99. package/lib/{useCommentsTelemetry-BWqcsQ1u.js → useCommentsTelemetry-CL97yuwT.js} +4 -4
  100. package/lib/{useCommentsTelemetry-BWqcsQ1u.js.map → useCommentsTelemetry-CL97yuwT.js.map} +1 -1
  101. package/lib/{useDocumentPreviewValues-B4jUnACZ.js → useDocumentPreviewValues-Cy9aUMu2.js} +5 -5
  102. package/lib/{useDocumentPreviewValues-B4jUnACZ.js.map → useDocumentPreviewValues-Cy9aUMu2.js.map} +1 -1
  103. package/lib/{useFeatureEnabled-sRpDeLLJ.js → useFeatureEnabled-C5qTffLc.js} +2 -2
  104. package/lib/{useFeatureEnabled-sRpDeLLJ.js.map → useFeatureEnabled-C5qTffLc.js.map} +1 -1
  105. package/lib/{useFieldActions-CrPgIiyl.js → useFieldActions-MFJIkobn.js} +2 -2
  106. package/lib/{useFieldActions-CrPgIiyl.js.map → useFieldActions-MFJIkobn.js.map} +1 -1
  107. package/lib/{useProjectId-bGwoCAuz.js → useProjectId-BRSQ8kIo.js} +2 -2
  108. package/lib/{useProjectId-bGwoCAuz.js.map → useProjectId-BRSQ8kIo.js.map} +1 -1
  109. package/lib/{useReleasesToolAvailable-BevhFmt9.js → useReleasesToolAvailable-BOlw1HWL.js} +3 -3
  110. package/lib/{useReleasesToolAvailable-BevhFmt9.js.map → useReleasesToolAvailable-BOlw1HWL.js.map} +1 -1
  111. package/lib/{useScheduledDraftMenuActions-DqsFlU0p.js → useScheduledDraftMenuActions-DIQYFw0x.js} +6 -6
  112. package/lib/{useScheduledDraftMenuActions-DqsFlU0p.js.map → useScheduledDraftMenuActions-DIQYFw0x.js.map} +1 -1
  113. package/lib/{useStudioUrl-DbfIwS1P.js → useStudioUrl-Dc5LnOvR.js} +5 -5
  114. package/lib/{useStudioUrl-DbfIwS1P.js.map → useStudioUrl-Dc5LnOvR.js.map} +1 -1
  115. package/lib/{useTimeZone-DnxQlCGS.js → useTimeZone-Da8WK1q-.js} +2 -2
  116. package/lib/{useTimeZone-DnxQlCGS.js.map → useTimeZone-Da8WK1q-.js.map} +1 -1
  117. package/lib/{validationUtils-Bcu-PkHm.js → validationUtils-B9CLn9F7.js} +4 -4
  118. package/lib/{validationUtils-Bcu-PkHm.js.map → validationUtils-B9CLn9F7.js.map} +1 -1
  119. package/lib/{version-DTqx_kFw.js → version-D7qSwBVE.js} +2 -2
  120. package/lib/{version-DTqx_kFw.js.map → version-D7qSwBVE.js.map} +1 -1
  121. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-Bk41RRuC.js","names":["useMemo","useSyncObservable","useDocumentStore","ValidationStatus","INITIAL","validation","isValidating","useValidationStatus","validationTargetId","docTypeName","requirePublishedReferences","$","_c","documentStore","t0","pair","observable","useContext","SingleDocReleaseContext","SingleDocReleaseContextValue","SingleDocReleaseProviderProps","children","React","ReactNode","onSetScheduledDraftPerspective","releaseId","SingleDocReleaseProvider","t0","$","_c","t1","t2","useSingleDocRelease","context","Error","ReleaseDocument","useCallback","usePerspective","getReleaseIdFromReleaseDocumentId","useSingleDocRelease","useClearScheduledDraftPerspectiveOnDelete","release","$","_c","onSetScheduledDraftPerspective","selectedPerspectiveName","t0","_id","ReleaseDocument","DocumentActionComponent","DocumentActionDescription","DocumentActionProps","useAllReleases","getReleaseIdFromReleaseDocumentId","isPausedCardinalityOneRelease","useClearScheduledDraftPerspectiveOnDelete","useScheduledDraftMenuActions","UseScheduledDraftMenuActionsReturn","createScheduledDraftAction","actionKey","visibilityCheck","release","useScheduledDraftAction","props","$","_c","type","id","data","t0","loading","t1","undefined","releases","t2","t3","r","_id","find","releaseDocument","onDeleteComplete","t4","documentType","documentId","actions","dialogs","actionProps","t5","disabled","t6","component","t7","icon","onClick","text","tone","label","title","dialog","onHandle","PublishScheduledDraftAction","EditScheduledDraftAction","DeleteScheduledDraftAction","displayName","action","useMemo","useDocumentVersions","useActiveReleases","getReleaseIdFromReleaseDocumentId","getVersionFromId","isCardinalityOneRelease","useHasCardinalityOneReleaseVersions","documentId","$","_c","data","allReleases","t0","documentVersions","t1","bb0","t2","documentReleaseIds","map","filter","Boolean","some","release","releaseId","_id","includes","CalendarIcon","isValidationErrorMarker","useToast","useCallback","useMemo","useState","DocumentActionComponent","DocumentActionDescription","DocumentActionProps","useValidationStatus","useTranslation","usePerspective","useActiveReleases","getReleaseIdFromReleaseDocumentId","getDraftId","isPausedCardinalityOneRelease","ScheduleDraftDialog","useSingleDocReleaseEnabled","useSingleDocRelease","useSingleDocReleaseUpsell","useHasCardinalityOneReleaseVersions","useScheduleDraftOperations","singleDocReleaseNamespace","useSchedulePublishAction","props","$","_c","id","type","draft","t","createScheduledDraft","rescheduleScheduledDraft","toast","enabled","singleDocReleaseEnabled","mode","handleOpenDialog","handleOpenUpsellDialog","t0","validationStatus","t1","validation","some","hasValidationErrors","hasCardinalityOneReleaseVersions","dialogOpen","setDialogOpen","isScheduling","setIsScheduling","onSetScheduledDraftPerspective","data","t2","t3","undefined","releases","perspective","isVariantSelected","Boolean","selectedVariantName","t4","selectedReleaseId","t5","r","_id","find","currentRelease","isPaused","t6","metadata","intendedPublishAt","Date","initialDate","t7","t8","Symbol","for","handleCloseDialog","t9","publishAt","run","releaseDocumentId","t10","error","console","push","closable","status","title","description","Error","message","handleSchedule","disabled","bb0","t11","t12","t13","component","t14","icon","label","tone","onHandle","dialog","action","displayName","DocumentActionComponent","DocumentActionsContext","DeleteScheduledDraftAction","EditScheduledDraftAction","PublishScheduledDraftAction","useSchedulePublishAction","resolveDocumentActions","existingActions","context","versionType","actionsExcludingOriginalSchedule","filter","action","publishActionIndex","findIndex","nextAfterPublishIndex","hasPublishAction","actionsBeforePublish","slice","actionsAfterPublish","lazy","definePlugin","singleDocReleaseUsEnglishLocaleBundle","resolveDocumentActions","SingleDocReleaseLayout","then","module","default","SINGLE_DOC_RELEASE_NAME","RELEASES_SCHEDULED_DRAFTS_INTENT","singleDocRelease","name","studio","components","layout","i18n","bundles","document","actions"],"sources":["../src/core/hooks/useValidationStatus.ts","../src/core/singleDocRelease/context/SingleDocReleaseProvider.tsx","../src/core/singleDocRelease/hooks/useClearScheduledDraftPerspectiveOnDelete.ts","../src/core/singleDocRelease/plugin/documentActions/ScheduledDraftDocumentActions.tsx","../src/core/singleDocRelease/hooks/useHasCardinalityOneReleaseVersions.ts","../src/core/singleDocRelease/plugin/documentActions/SchedulePublishAction.tsx","../src/core/singleDocRelease/plugin/documentActions/index.ts","../src/core/singleDocRelease/plugin/index.ts"],"sourcesContent":["import {useMemo} from 'react'\nimport {useSyncObservable} from 'react-rx'\n\nimport {useDocumentStore} from '../store/datastores'\nimport {type ValidationStatus} from '../validation'\n\nconst INITIAL: ValidationStatus = {validation: [], isValidating: false}\n\n/** @internal */\nexport function useValidationStatus(\n validationTargetId: string,\n docTypeName: string,\n requirePublishedReferences: boolean,\n): ValidationStatus {\n const documentStore = useDocumentStore()\n\n const observable = useMemo(\n () =>\n documentStore.pair.validation(validationTargetId, docTypeName, requirePublishedReferences),\n [docTypeName, documentStore.pair, validationTargetId, requirePublishedReferences],\n )\n\n // Kept synchronous: consumers use this as a write-side gate, not just for\n // display. PublishAction enables publish from `hasValidationErrors` and\n // fires `doPublish()` once `isValidating` is false and `revision` matches\n // the live edit revision — and reference-driven revalidation re-runs\n // validation without changing the document revision, so a deferred (stale\n // but revision-matching) \"valid\" snapshot could publish before live errors\n // catch up. Identity-coherent deferral cannot help there: the observable\n // identity is stable while the pane is mounted; only the value lags.\n // Proof: hooks/__tests__/useValidationStatus.test.tsx.\n return useSyncObservable(observable, INITIAL)\n}\n","import {useContext} from 'react'\nimport {SingleDocReleaseContext, type SingleDocReleaseContextValue} from 'sanity/_singletons'\n\ninterface SingleDocReleaseProviderProps {\n children: React.ReactNode\n onSetScheduledDraftPerspective: (releaseId: string) => void\n}\n\n/**\n * Provider for the single doc release context.\n * @internal\n */\nexport function SingleDocReleaseProvider({\n children,\n onSetScheduledDraftPerspective,\n}: SingleDocReleaseProviderProps) {\n return (\n <SingleDocReleaseContext.Provider value={{onSetScheduledDraftPerspective}}>\n {children}\n </SingleDocReleaseContext.Provider>\n )\n}\n\n/**\n * Hook to get the single doc release context\n * @internal\n */\nexport function useSingleDocRelease(): SingleDocReleaseContextValue {\n const context = useContext(SingleDocReleaseContext)\n if (!context) {\n throw new Error('SingleDocReleaseContext not found')\n }\n return context\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {useCallback} from 'react'\n\nimport {usePerspective} from '../../perspective/usePerspective'\nimport {getReleaseIdFromReleaseDocumentId} from '../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {useSingleDocRelease} from '../context/SingleDocReleaseProvider'\n\n/**\n * Returns a callback that clears the pane-local scheduled draft perspective when\n * the document pane is currently viewing the given release. Used after deleting\n * a scheduled draft so stale release UI is not left visible.\n *\n * Must be used within a document pane (requires `SingleDocReleaseProvider`).\n *\n * @internal\n */\nexport function useClearScheduledDraftPerspectiveOnDelete(\n release: ReleaseDocument | undefined,\n): () => void {\n const {onSetScheduledDraftPerspective} = useSingleDocRelease()\n const {selectedPerspectiveName} = usePerspective()\n\n return useCallback(() => {\n if (!release) return\n\n if (selectedPerspectiveName === getReleaseIdFromReleaseDocumentId(release._id)) {\n onSetScheduledDraftPerspective('')\n }\n }, [release, selectedPerspectiveName, onSetScheduledDraftPerspective])\n}\n","import {type ReleaseDocument} from '@sanity/client'\n\nimport {\n type DocumentActionComponent,\n type DocumentActionDescription,\n type DocumentActionProps,\n} from '../../../config/document/actions'\nimport {useAllReleases} from '../../../releases/store/useAllReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {isPausedCardinalityOneRelease} from '../../../util/releaseUtils'\nimport {useClearScheduledDraftPerspectiveOnDelete} from '../../hooks/useClearScheduledDraftPerspectiveOnDelete'\nimport {\n useScheduledDraftMenuActions,\n type UseScheduledDraftMenuActionsReturn,\n} from '../../hooks/useScheduledDraftMenuActions'\n\n/**\n * Higher-order function that creates a scheduled draft document action\n * @internal\n */\nconst createScheduledDraftAction = (\n actionKey: keyof UseScheduledDraftMenuActionsReturn['actions'],\n visibilityCheck?: (release: ReleaseDocument | undefined) => boolean,\n): DocumentActionComponent => {\n // Using hook naming conventions is required for React Compiler to detect this function and memoize it\n const useScheduledDraftAction: DocumentActionComponent = (\n props: DocumentActionProps,\n ): DocumentActionDescription | null => {\n const {type, release, id} = props\n const {data: releases = [], loading} = useAllReleases()\n\n const releaseDocument = releases.find(\n (r) => getReleaseIdFromReleaseDocumentId(r._id) === release,\n )\n\n const onDeleteComplete = useClearScheduledDraftPerspectiveOnDelete(\n actionKey === 'deleteSchedule' ? releaseDocument : undefined,\n )\n\n const {actions, dialogs} = useScheduledDraftMenuActions({\n release: releaseDocument,\n documentType: type,\n documentId: id,\n onDeleteComplete: actionKey === 'deleteSchedule' ? onDeleteComplete : undefined,\n })\n\n if (visibilityCheck && !visibilityCheck(releaseDocument)) {\n return null\n }\n\n // This action is only shown for scheduled-draft version type\n if (!releaseDocument) {\n return null\n }\n\n if (!actions || !actions[actionKey]) {\n return null\n }\n\n const actionProps = actions[actionKey]\n\n return {\n disabled: actionProps.disabled || loading,\n icon: actionProps.icon,\n label: actionProps.text,\n title: actionProps.text,\n tone: actionProps.tone,\n dialog: dialogs\n ? {\n type: 'custom',\n component: dialogs,\n }\n : false,\n onHandle: actionProps.onClick,\n }\n }\n return useScheduledDraftAction\n}\n\n/**\n * Document action for publishing a scheduled draft immediately\n * @internal\n */\nexport const PublishScheduledDraftAction = createScheduledDraftAction('publishNow')\n\n/**\n * Document action for editing schedule of a scheduled draft\n * Only visible when the draft is NOT paused\n * @internal\n */\nexport const EditScheduledDraftAction = createScheduledDraftAction(\n 'editSchedule',\n (release) => !isPausedCardinalityOneRelease(release), // Hide when paused\n)\n\n/**\n * Document action for deleting a scheduled draft\n * @internal\n */\nexport const DeleteScheduledDraftAction = createScheduledDraftAction('deleteSchedule')\n\nPublishScheduledDraftAction.displayName = 'PublishScheduledDraftAction'\nPublishScheduledDraftAction.action = 'publish'\n\nEditScheduledDraftAction.displayName = 'EditScheduledDraftAction'\nEditScheduledDraftAction.action = 'schedule'\n\nDeleteScheduledDraftAction.displayName = 'DeleteScheduledDraftAction'\nDeleteScheduledDraftAction.action = 'discardVersion'\n","import {useMemo} from 'react'\n\nimport {useDocumentVersions} from '../../releases/hooks/useDocumentVersions'\nimport {useActiveReleases} from '../../releases/store/useActiveReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {getVersionFromId} from '../../util/draftUtils'\nimport {isCardinalityOneRelease} from '../../util/releaseUtils'\n\n/**\n * Checks if a document has any versions in scheduled draft (`metadata.cardinality: 'one'`) releases.\n *\n * @param documentId - The ID of the document to check\n * @returns boolean - true if the document has versions in any cardinality one releases\n * @internal\n */\nexport function useHasCardinalityOneReleaseVersions(documentId: string): boolean {\n const {data: allReleases} = useActiveReleases()\n const {data: documentVersions} = useDocumentVersions({documentId})\n\n return useMemo(() => {\n if (!allReleases || !documentVersions) return false\n\n const documentReleaseIds = documentVersions.map(getVersionFromId).filter(Boolean)\n\n return allReleases.some((release) => {\n const releaseId = getReleaseIdFromReleaseDocumentId(release._id)\n\n return documentReleaseIds.includes(releaseId) && isCardinalityOneRelease(release)\n })\n }, [allReleases, documentVersions])\n}\n","import {CalendarIcon} from '@sanity/icons/Calendar'\nimport {isValidationErrorMarker} from '@sanity/types'\nimport {useToast} from '@sanity/ui/toast'\nimport {useCallback, useMemo, useState} from 'react'\n\nimport {\n type DocumentActionComponent,\n type DocumentActionDescription,\n type DocumentActionProps,\n} from '../../../config/document/actions'\nimport {useValidationStatus} from '../../../hooks/useValidationStatus'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {useActiveReleases} from '../../../releases/store/useActiveReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {getDraftId} from '../../../util/draftUtils'\nimport {isPausedCardinalityOneRelease} from '../../../util/releaseUtils'\nimport {ScheduleDraftDialog} from '../../components/ScheduleDraftDialog'\nimport {useSingleDocReleaseEnabled} from '../../context/SingleDocReleaseEnabledProvider'\nimport {useSingleDocRelease} from '../../context/SingleDocReleaseProvider'\nimport {useSingleDocReleaseUpsell} from '../../context/SingleDocReleaseUpsellProvider'\nimport {useHasCardinalityOneReleaseVersions} from '../../hooks/useHasCardinalityOneReleaseVersions'\nimport {useScheduleDraftOperations} from '../../hooks/useScheduleDraftOperations'\nimport {singleDocReleaseNamespace} from '../../i18n'\n\n// React Compiler needs functions that are hooks to have the `use` prefix, pascal case are treated as a component, these are hooks even though they're confusingly named `DocumentActionComponent`\n/** @internal */\nexport const useSchedulePublishAction: DocumentActionComponent = (\n props: DocumentActionProps,\n): DocumentActionDescription | null => {\n const {id, type, draft} = props\n const {t} = useTranslation(singleDocReleaseNamespace)\n const {createScheduledDraft, rescheduleScheduledDraft} = useScheduleDraftOperations()\n const toast = useToast()\n const {enabled: singleDocReleaseEnabled, mode} = useSingleDocReleaseEnabled()\n const {handleOpenDialog: handleOpenUpsellDialog} = useSingleDocReleaseUpsell()\n // Check validation status.\n // No `getTargetScopeId(useTargetDocumentState())` here: scheduling a draft publish deliberately validates the\n // explicit draft of the document, independent of the selected perspective. This is safe because\n // the action is disabled while a variant is selected (see `isVariantSelected` below).\n // TODO: this will be supported in the future, look for SAPP-3986 and SAPP-3987.\n const validationStatus = useValidationStatus(getDraftId(id), type, true)\n const hasValidationErrors = validationStatus.validation.some(isValidationErrorMarker)\n\n // Check if document has versions in cardinality one releases\n const hasCardinalityOneReleaseVersions = useHasCardinalityOneReleaseVersions(id)\n\n const [dialogOpen, setDialogOpen] = useState(false)\n const [isScheduling, setIsScheduling] = useState(false)\n const {onSetScheduledDraftPerspective} = useSingleDocRelease()\n\n // Check if current release is a paused scheduled draft\n const {data: releases = []} = useActiveReleases()\n const perspective = usePerspective()\n\n // Scheduling operates on the base draft, so it is not available while a variant is selected —\n // it would silently schedule the base document instead of the variant (SAPP-3986).\n const isVariantSelected = Boolean(perspective.selectedVariantName)\n\n const currentRelease = useMemo(\n () =>\n releases.find(\n (r) => getReleaseIdFromReleaseDocumentId(r._id) === perspective.selectedReleaseId,\n ),\n [releases, perspective.selectedReleaseId],\n )\n\n const isPaused = isPausedCardinalityOneRelease(currentRelease)\n const initialDate =\n isPaused && currentRelease?.metadata.intendedPublishAt\n ? new Date(currentRelease.metadata.intendedPublishAt)\n : undefined\n const handleOpenDialog = useCallback(() => {\n if (mode === 'upsell') {\n handleOpenUpsellDialog('document_action')\n } else {\n setDialogOpen(true)\n }\n }, [mode, handleOpenUpsellDialog])\n\n const handleCloseDialog = useCallback(() => {\n setDialogOpen(false)\n }, [])\n\n const handleSchedule = useCallback(\n async (publishAt: Date) => {\n setIsScheduling(true)\n // Workaround for React Compiler not yet fully supporting try/catch/finally syntax\n const run = async () => {\n if (isPaused && currentRelease) {\n // Resume paused draft: reschedule with new date\n await rescheduleScheduledDraft(currentRelease, publishAt)\n } else {\n // Normal flow: create new scheduled draft\n const releaseDocumentId = await createScheduledDraft(id, publishAt)\n onSetScheduledDraftPerspective(getReleaseIdFromReleaseDocumentId(releaseDocumentId))\n }\n\n setDialogOpen(false)\n }\n try {\n await run()\n } catch (error) {\n console.error('Failed to schedule document publish:', error)\n\n toast.push({\n closable: true,\n status: 'error',\n title: t('action.schedule-publish-error'),\n description: error instanceof Error ? error.message : 'An unknown error occurred',\n })\n }\n setIsScheduling(false)\n },\n [\n id,\n createScheduledDraft,\n toast,\n t,\n onSetScheduledDraftPerspective,\n isPaused,\n currentRelease,\n rescheduleScheduledDraft,\n ],\n )\n\n const disabled =\n isVariantSelected ||\n (isPaused\n ? hasValidationErrors // Only check validation errors for paused drafts\n : hasCardinalityOneReleaseVersions || hasValidationErrors) // Full check for regular drafts\n\n const title = useMemo(() => {\n if (isVariantSelected) {\n return t('action.schedule-publish.disabled.variant')\n }\n\n if (isPaused && hasValidationErrors) {\n return t('action.schedule-publish.disabled.validation-issues')\n }\n\n if (hasCardinalityOneReleaseVersions) {\n return t('action.schedule-publish.disabled.cardinality-one')\n }\n\n if (hasValidationErrors) {\n return t('action.schedule-publish.disabled.validation-issues')\n }\n\n return t('action.schedule-publish')\n }, [isVariantSelected, isPaused, hasValidationErrors, hasCardinalityOneReleaseVersions, t])\n\n if (!singleDocReleaseEnabled) {\n return null\n }\n\n // Show for drafts OR paused scheduled drafts\n if (!draft && !isPaused) {\n return null\n }\n\n return {\n icon: CalendarIcon,\n disabled,\n label: t('action.schedule-publish'),\n title,\n tone: isPaused ? 'primary' : undefined, // Add primary tone when paused\n onHandle: handleOpenDialog,\n dialog: dialogOpen && {\n type: 'custom',\n component: (\n <ScheduleDraftDialog\n onClose={handleCloseDialog}\n onSchedule={handleSchedule}\n variant=\"schedule\"\n loading={isScheduling}\n initialDate={initialDate}\n />\n ),\n },\n }\n}\n\nuseSchedulePublishAction.action = 'schedule'\nuseSchedulePublishAction.displayName = 'SchedulePublishAction'\n","import {type DocumentActionComponent} from '../../../config/document/actions'\nimport {type DocumentActionsContext} from '../../../config/types'\nimport {\n DeleteScheduledDraftAction,\n EditScheduledDraftAction,\n PublishScheduledDraftAction,\n} from './ScheduledDraftDocumentActions'\nimport {useSchedulePublishAction} from './SchedulePublishAction'\n\nexport default function resolveDocumentActions(\n existingActions: DocumentActionComponent[],\n context: DocumentActionsContext,\n): DocumentActionComponent[] {\n if (context.versionType === 'scheduled-draft') {\n // For paused scheduled drafts: Schedule (primary), Publish Now, Delete Schedule\n // For active scheduled drafts: Publish Now (primary), Edit Schedule, Delete Schedule\n return [\n useSchedulePublishAction, // Shows only when paused\n PublishScheduledDraftAction, // Always shows\n EditScheduledDraftAction, // Shows only when NOT paused\n DeleteScheduledDraftAction, // Always shows\n ]\n }\n\n // Add SchedulePublishAction only for draft documents\n if (context.versionType === 'draft') {\n const actionsExcludingOriginalSchedule = existingActions.filter(\n ({action}) => action !== 'schedule',\n )\n const publishActionIndex = actionsExcludingOriginalSchedule.findIndex(\n ({action}) => action === 'publish',\n )\n const nextAfterPublishIndex = publishActionIndex + 1\n const hasPublishAction = publishActionIndex >= 0\n\n const actionsBeforePublish = hasPublishAction\n ? actionsExcludingOriginalSchedule.slice(0, nextAfterPublishIndex)\n : []\n const actionsAfterPublish = hasPublishAction\n ? actionsExcludingOriginalSchedule.slice(nextAfterPublishIndex)\n : actionsExcludingOriginalSchedule\n\n return [...actionsBeforePublish, useSchedulePublishAction, ...actionsAfterPublish]\n }\n return existingActions\n}\n","import {lazy} from 'react'\n\nimport {definePlugin} from '../../config/definePlugin'\nimport {singleDocReleaseUsEnglishLocaleBundle} from '../i18n'\nimport resolveDocumentActions from './documentActions'\n\nconst SingleDocReleaseLayout = lazy(() =>\n import('./SingleDocReleaseLayout').then((module) => ({default: module.SingleDocReleaseLayout})),\n)\n\n/**\n * @internal\n */\nexport const SINGLE_DOC_RELEASE_NAME = 'sanity/singleDocRelease'\n\n/**\n * @internal\n */\nexport const RELEASES_SCHEDULED_DRAFTS_INTENT = 'releases-scheduled-drafts'\n\n/**\n * @internal\n */\nexport const singleDocRelease = definePlugin({\n name: SINGLE_DOC_RELEASE_NAME,\n studio: {\n components: {\n layout: SingleDocReleaseLayout,\n },\n },\n i18n: {\n bundles: [singleDocReleaseUsEnglishLocaleBundle],\n },\n document: {\n actions: resolveDocumentActions,\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-DRuKGgrO.js","names":["useMemo","useSyncObservable","useDocumentStore","ValidationStatus","INITIAL","validation","isValidating","useValidationStatus","validationTargetId","docTypeName","requirePublishedReferences","$","_c","documentStore","t0","pair","observable","useContext","SingleDocReleaseContext","SingleDocReleaseContextValue","SingleDocReleaseProviderProps","children","React","ReactNode","onSetScheduledDraftPerspective","releaseId","SingleDocReleaseProvider","t0","$","_c","t1","t2","useSingleDocRelease","context","Error","ReleaseDocument","useCallback","usePerspective","getReleaseIdFromReleaseDocumentId","useSingleDocRelease","useClearScheduledDraftPerspectiveOnDelete","release","$","_c","onSetScheduledDraftPerspective","selectedPerspectiveName","t0","_id","ReleaseDocument","DocumentActionComponent","DocumentActionDescription","DocumentActionProps","useAllReleases","getReleaseIdFromReleaseDocumentId","isPausedCardinalityOneRelease","useClearScheduledDraftPerspectiveOnDelete","useScheduledDraftMenuActions","UseScheduledDraftMenuActionsReturn","createScheduledDraftAction","actionKey","visibilityCheck","release","useScheduledDraftAction","props","$","_c","type","id","data","t0","loading","t1","undefined","releases","t2","t3","r","_id","find","releaseDocument","onDeleteComplete","t4","documentType","documentId","actions","dialogs","actionProps","t5","disabled","t6","component","t7","icon","onClick","text","tone","label","title","dialog","onHandle","PublishScheduledDraftAction","EditScheduledDraftAction","DeleteScheduledDraftAction","displayName","action","useMemo","useDocumentVersions","useActiveReleases","getReleaseIdFromReleaseDocumentId","getVersionFromId","isCardinalityOneRelease","useHasCardinalityOneReleaseVersions","documentId","$","_c","data","allReleases","t0","documentVersions","t1","bb0","t2","documentReleaseIds","map","filter","Boolean","some","release","releaseId","_id","includes","CalendarIcon","isValidationErrorMarker","useToast","useCallback","useMemo","useState","DocumentActionComponent","DocumentActionDescription","DocumentActionProps","useValidationStatus","useTranslation","usePerspective","useActiveReleases","getReleaseIdFromReleaseDocumentId","getDraftId","isPausedCardinalityOneRelease","ScheduleDraftDialog","useSingleDocReleaseEnabled","useSingleDocRelease","useSingleDocReleaseUpsell","useHasCardinalityOneReleaseVersions","useScheduleDraftOperations","singleDocReleaseNamespace","useSchedulePublishAction","props","$","_c","id","type","draft","t","createScheduledDraft","rescheduleScheduledDraft","toast","enabled","singleDocReleaseEnabled","mode","handleOpenDialog","handleOpenUpsellDialog","t0","validationStatus","t1","validation","some","hasValidationErrors","hasCardinalityOneReleaseVersions","dialogOpen","setDialogOpen","isScheduling","setIsScheduling","onSetScheduledDraftPerspective","data","t2","t3","undefined","releases","perspective","isVariantSelected","Boolean","selectedVariantName","t4","selectedReleaseId","t5","r","_id","find","currentRelease","isPaused","t6","metadata","intendedPublishAt","Date","initialDate","t7","t8","Symbol","for","handleCloseDialog","t9","publishAt","run","releaseDocumentId","t10","error","console","push","closable","status","title","description","Error","message","handleSchedule","disabled","bb0","t11","t12","t13","component","t14","icon","label","tone","onHandle","dialog","action","displayName","DocumentActionComponent","DocumentActionsContext","DeleteScheduledDraftAction","EditScheduledDraftAction","PublishScheduledDraftAction","useSchedulePublishAction","resolveDocumentActions","existingActions","context","versionType","actionsExcludingOriginalSchedule","filter","action","publishActionIndex","findIndex","nextAfterPublishIndex","hasPublishAction","actionsBeforePublish","slice","actionsAfterPublish","lazy","definePlugin","singleDocReleaseUsEnglishLocaleBundle","resolveDocumentActions","SingleDocReleaseLayout","then","module","default","SINGLE_DOC_RELEASE_NAME","RELEASES_SCHEDULED_DRAFTS_INTENT","singleDocRelease","name","studio","components","layout","i18n","bundles","document","actions"],"sources":["../src/core/hooks/useValidationStatus.ts","../src/core/singleDocRelease/context/SingleDocReleaseProvider.tsx","../src/core/singleDocRelease/hooks/useClearScheduledDraftPerspectiveOnDelete.ts","../src/core/singleDocRelease/plugin/documentActions/ScheduledDraftDocumentActions.tsx","../src/core/singleDocRelease/hooks/useHasCardinalityOneReleaseVersions.ts","../src/core/singleDocRelease/plugin/documentActions/SchedulePublishAction.tsx","../src/core/singleDocRelease/plugin/documentActions/index.ts","../src/core/singleDocRelease/plugin/index.ts"],"sourcesContent":["import {useMemo} from 'react'\nimport {useSyncObservable} from 'react-rx'\n\nimport {useDocumentStore} from '../store/datastores'\nimport {type ValidationStatus} from '../validation'\n\nconst INITIAL: ValidationStatus = {validation: [], isValidating: false}\n\n/** @internal */\nexport function useValidationStatus(\n validationTargetId: string,\n docTypeName: string,\n requirePublishedReferences: boolean,\n): ValidationStatus {\n const documentStore = useDocumentStore()\n\n const observable = useMemo(\n () =>\n documentStore.pair.validation(validationTargetId, docTypeName, requirePublishedReferences),\n [docTypeName, documentStore.pair, validationTargetId, requirePublishedReferences],\n )\n\n // Kept synchronous: consumers use this as a write-side gate, not just for\n // display. PublishAction enables publish from `hasValidationErrors` and\n // fires `doPublish()` once `isValidating` is false and `revision` matches\n // the live edit revision — and reference-driven revalidation re-runs\n // validation without changing the document revision, so a deferred (stale\n // but revision-matching) \"valid\" snapshot could publish before live errors\n // catch up. Identity-coherent deferral cannot help there: the observable\n // identity is stable while the pane is mounted; only the value lags.\n // Proof: hooks/__tests__/useValidationStatus.test.tsx.\n return useSyncObservable(observable, INITIAL)\n}\n","import {useContext} from 'react'\nimport {SingleDocReleaseContext, type SingleDocReleaseContextValue} from 'sanity/_singletons'\n\ninterface SingleDocReleaseProviderProps {\n children: React.ReactNode\n onSetScheduledDraftPerspective: (releaseId: string) => void\n}\n\n/**\n * Provider for the single doc release context.\n * @internal\n */\nexport function SingleDocReleaseProvider({\n children,\n onSetScheduledDraftPerspective,\n}: SingleDocReleaseProviderProps) {\n return (\n <SingleDocReleaseContext.Provider value={{onSetScheduledDraftPerspective}}>\n {children}\n </SingleDocReleaseContext.Provider>\n )\n}\n\n/**\n * Hook to get the single doc release context\n * @internal\n */\nexport function useSingleDocRelease(): SingleDocReleaseContextValue {\n const context = useContext(SingleDocReleaseContext)\n if (!context) {\n throw new Error('SingleDocReleaseContext not found')\n }\n return context\n}\n","import {type ReleaseDocument} from '@sanity/client'\nimport {useCallback} from 'react'\n\nimport {usePerspective} from '../../perspective/usePerspective'\nimport {getReleaseIdFromReleaseDocumentId} from '../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {useSingleDocRelease} from '../context/SingleDocReleaseProvider'\n\n/**\n * Returns a callback that clears the pane-local scheduled draft perspective when\n * the document pane is currently viewing the given release. Used after deleting\n * a scheduled draft so stale release UI is not left visible.\n *\n * Must be used within a document pane (requires `SingleDocReleaseProvider`).\n *\n * @internal\n */\nexport function useClearScheduledDraftPerspectiveOnDelete(\n release: ReleaseDocument | undefined,\n): () => void {\n const {onSetScheduledDraftPerspective} = useSingleDocRelease()\n const {selectedPerspectiveName} = usePerspective()\n\n return useCallback(() => {\n if (!release) return\n\n if (selectedPerspectiveName === getReleaseIdFromReleaseDocumentId(release._id)) {\n onSetScheduledDraftPerspective('')\n }\n }, [release, selectedPerspectiveName, onSetScheduledDraftPerspective])\n}\n","import {type ReleaseDocument} from '@sanity/client'\n\nimport {\n type DocumentActionComponent,\n type DocumentActionDescription,\n type DocumentActionProps,\n} from '../../../config/document/actions'\nimport {useAllReleases} from '../../../releases/store/useAllReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {isPausedCardinalityOneRelease} from '../../../util/releaseUtils'\nimport {useClearScheduledDraftPerspectiveOnDelete} from '../../hooks/useClearScheduledDraftPerspectiveOnDelete'\nimport {\n useScheduledDraftMenuActions,\n type UseScheduledDraftMenuActionsReturn,\n} from '../../hooks/useScheduledDraftMenuActions'\n\n/**\n * Higher-order function that creates a scheduled draft document action\n * @internal\n */\nconst createScheduledDraftAction = (\n actionKey: keyof UseScheduledDraftMenuActionsReturn['actions'],\n visibilityCheck?: (release: ReleaseDocument | undefined) => boolean,\n): DocumentActionComponent => {\n // Using hook naming conventions is required for React Compiler to detect this function and memoize it\n const useScheduledDraftAction: DocumentActionComponent = (\n props: DocumentActionProps,\n ): DocumentActionDescription | null => {\n const {type, release, id} = props\n const {data: releases = [], loading} = useAllReleases()\n\n const releaseDocument = releases.find(\n (r) => getReleaseIdFromReleaseDocumentId(r._id) === release,\n )\n\n const onDeleteComplete = useClearScheduledDraftPerspectiveOnDelete(\n actionKey === 'deleteSchedule' ? releaseDocument : undefined,\n )\n\n const {actions, dialogs} = useScheduledDraftMenuActions({\n release: releaseDocument,\n documentType: type,\n documentId: id,\n onDeleteComplete: actionKey === 'deleteSchedule' ? onDeleteComplete : undefined,\n })\n\n if (visibilityCheck && !visibilityCheck(releaseDocument)) {\n return null\n }\n\n // This action is only shown for scheduled-draft version type\n if (!releaseDocument) {\n return null\n }\n\n if (!actions || !actions[actionKey]) {\n return null\n }\n\n const actionProps = actions[actionKey]\n\n return {\n disabled: actionProps.disabled || loading,\n icon: actionProps.icon,\n label: actionProps.text,\n title: actionProps.text,\n tone: actionProps.tone,\n dialog: dialogs\n ? {\n type: 'custom',\n component: dialogs,\n }\n : false,\n onHandle: actionProps.onClick,\n }\n }\n return useScheduledDraftAction\n}\n\n/**\n * Document action for publishing a scheduled draft immediately\n * @internal\n */\nexport const PublishScheduledDraftAction = createScheduledDraftAction('publishNow')\n\n/**\n * Document action for editing schedule of a scheduled draft\n * Only visible when the draft is NOT paused\n * @internal\n */\nexport const EditScheduledDraftAction = createScheduledDraftAction(\n 'editSchedule',\n (release) => !isPausedCardinalityOneRelease(release), // Hide when paused\n)\n\n/**\n * Document action for deleting a scheduled draft\n * @internal\n */\nexport const DeleteScheduledDraftAction = createScheduledDraftAction('deleteSchedule')\n\nPublishScheduledDraftAction.displayName = 'PublishScheduledDraftAction'\nPublishScheduledDraftAction.action = 'publish'\n\nEditScheduledDraftAction.displayName = 'EditScheduledDraftAction'\nEditScheduledDraftAction.action = 'schedule'\n\nDeleteScheduledDraftAction.displayName = 'DeleteScheduledDraftAction'\nDeleteScheduledDraftAction.action = 'discardVersion'\n","import {useMemo} from 'react'\n\nimport {useDocumentVersions} from '../../releases/hooks/useDocumentVersions'\nimport {useActiveReleases} from '../../releases/store/useActiveReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {getVersionFromId} from '../../util/draftUtils'\nimport {isCardinalityOneRelease} from '../../util/releaseUtils'\n\n/**\n * Checks if a document has any versions in scheduled draft (`metadata.cardinality: 'one'`) releases.\n *\n * @param documentId - The ID of the document to check\n * @returns boolean - true if the document has versions in any cardinality one releases\n * @internal\n */\nexport function useHasCardinalityOneReleaseVersions(documentId: string): boolean {\n const {data: allReleases} = useActiveReleases()\n const {data: documentVersions} = useDocumentVersions({documentId})\n\n return useMemo(() => {\n if (!allReleases || !documentVersions) return false\n\n const documentReleaseIds = documentVersions.map(getVersionFromId).filter(Boolean)\n\n return allReleases.some((release) => {\n const releaseId = getReleaseIdFromReleaseDocumentId(release._id)\n\n return documentReleaseIds.includes(releaseId) && isCardinalityOneRelease(release)\n })\n }, [allReleases, documentVersions])\n}\n","import {CalendarIcon} from '@sanity/icons/Calendar'\nimport {isValidationErrorMarker} from '@sanity/types'\nimport {useToast} from '@sanity/ui/toast'\nimport {useCallback, useMemo, useState} from 'react'\n\nimport {\n type DocumentActionComponent,\n type DocumentActionDescription,\n type DocumentActionProps,\n} from '../../../config/document/actions'\nimport {useValidationStatus} from '../../../hooks/useValidationStatus'\nimport {useTranslation} from '../../../i18n/hooks/useTranslation'\nimport {usePerspective} from '../../../perspective/usePerspective'\nimport {useActiveReleases} from '../../../releases/store/useActiveReleases'\nimport {getReleaseIdFromReleaseDocumentId} from '../../../releases/util/getReleaseIdFromReleaseDocumentId'\nimport {getDraftId} from '../../../util/draftUtils'\nimport {isPausedCardinalityOneRelease} from '../../../util/releaseUtils'\nimport {ScheduleDraftDialog} from '../../components/ScheduleDraftDialog'\nimport {useSingleDocReleaseEnabled} from '../../context/SingleDocReleaseEnabledProvider'\nimport {useSingleDocRelease} from '../../context/SingleDocReleaseProvider'\nimport {useSingleDocReleaseUpsell} from '../../context/SingleDocReleaseUpsellProvider'\nimport {useHasCardinalityOneReleaseVersions} from '../../hooks/useHasCardinalityOneReleaseVersions'\nimport {useScheduleDraftOperations} from '../../hooks/useScheduleDraftOperations'\nimport {singleDocReleaseNamespace} from '../../i18n'\n\n// React Compiler needs functions that are hooks to have the `use` prefix, pascal case are treated as a component, these are hooks even though they're confusingly named `DocumentActionComponent`\n/** @internal */\nexport const useSchedulePublishAction: DocumentActionComponent = (\n props: DocumentActionProps,\n): DocumentActionDescription | null => {\n const {id, type, draft} = props\n const {t} = useTranslation(singleDocReleaseNamespace)\n const {createScheduledDraft, rescheduleScheduledDraft} = useScheduleDraftOperations()\n const toast = useToast()\n const {enabled: singleDocReleaseEnabled, mode} = useSingleDocReleaseEnabled()\n const {handleOpenDialog: handleOpenUpsellDialog} = useSingleDocReleaseUpsell()\n // Check validation status.\n // No `getTargetScopeId(useTargetDocumentState())` here: scheduling a draft publish deliberately validates the\n // explicit draft of the document, independent of the selected perspective. This is safe because\n // the action is disabled while a variant is selected (see `isVariantSelected` below).\n // TODO: this will be supported in the future, look for SAPP-3986 and SAPP-3987.\n const validationStatus = useValidationStatus(getDraftId(id), type, true)\n const hasValidationErrors = validationStatus.validation.some(isValidationErrorMarker)\n\n // Check if document has versions in cardinality one releases\n const hasCardinalityOneReleaseVersions = useHasCardinalityOneReleaseVersions(id)\n\n const [dialogOpen, setDialogOpen] = useState(false)\n const [isScheduling, setIsScheduling] = useState(false)\n const {onSetScheduledDraftPerspective} = useSingleDocRelease()\n\n // Check if current release is a paused scheduled draft\n const {data: releases = []} = useActiveReleases()\n const perspective = usePerspective()\n\n // Scheduling operates on the base draft, so it is not available while a variant is selected —\n // it would silently schedule the base document instead of the variant (SAPP-3986).\n const isVariantSelected = Boolean(perspective.selectedVariantName)\n\n const currentRelease = useMemo(\n () =>\n releases.find(\n (r) => getReleaseIdFromReleaseDocumentId(r._id) === perspective.selectedReleaseId,\n ),\n [releases, perspective.selectedReleaseId],\n )\n\n const isPaused = isPausedCardinalityOneRelease(currentRelease)\n const initialDate =\n isPaused && currentRelease?.metadata.intendedPublishAt\n ? new Date(currentRelease.metadata.intendedPublishAt)\n : undefined\n const handleOpenDialog = useCallback(() => {\n if (mode === 'upsell') {\n handleOpenUpsellDialog('document_action')\n } else {\n setDialogOpen(true)\n }\n }, [mode, handleOpenUpsellDialog])\n\n const handleCloseDialog = useCallback(() => {\n setDialogOpen(false)\n }, [])\n\n const handleSchedule = useCallback(\n async (publishAt: Date) => {\n setIsScheduling(true)\n // Workaround for React Compiler not yet fully supporting try/catch/finally syntax\n const run = async () => {\n if (isPaused && currentRelease) {\n // Resume paused draft: reschedule with new date\n await rescheduleScheduledDraft(currentRelease, publishAt)\n } else {\n // Normal flow: create new scheduled draft\n const releaseDocumentId = await createScheduledDraft(id, publishAt)\n onSetScheduledDraftPerspective(getReleaseIdFromReleaseDocumentId(releaseDocumentId))\n }\n\n setDialogOpen(false)\n }\n try {\n await run()\n } catch (error) {\n console.error('Failed to schedule document publish:', error)\n\n toast.push({\n closable: true,\n status: 'error',\n title: t('action.schedule-publish-error'),\n description: error instanceof Error ? error.message : 'An unknown error occurred',\n })\n }\n setIsScheduling(false)\n },\n [\n id,\n createScheduledDraft,\n toast,\n t,\n onSetScheduledDraftPerspective,\n isPaused,\n currentRelease,\n rescheduleScheduledDraft,\n ],\n )\n\n const disabled =\n isVariantSelected ||\n (isPaused\n ? hasValidationErrors // Only check validation errors for paused drafts\n : hasCardinalityOneReleaseVersions || hasValidationErrors) // Full check for regular drafts\n\n const title = useMemo(() => {\n if (isVariantSelected) {\n return t('action.schedule-publish.disabled.variant')\n }\n\n if (isPaused && hasValidationErrors) {\n return t('action.schedule-publish.disabled.validation-issues')\n }\n\n if (hasCardinalityOneReleaseVersions) {\n return t('action.schedule-publish.disabled.cardinality-one')\n }\n\n if (hasValidationErrors) {\n return t('action.schedule-publish.disabled.validation-issues')\n }\n\n return t('action.schedule-publish')\n }, [isVariantSelected, isPaused, hasValidationErrors, hasCardinalityOneReleaseVersions, t])\n\n if (!singleDocReleaseEnabled) {\n return null\n }\n\n // Show for drafts OR paused scheduled drafts\n if (!draft && !isPaused) {\n return null\n }\n\n return {\n icon: CalendarIcon,\n disabled,\n label: t('action.schedule-publish'),\n title,\n tone: isPaused ? 'primary' : undefined, // Add primary tone when paused\n onHandle: handleOpenDialog,\n dialog: dialogOpen && {\n type: 'custom',\n component: (\n <ScheduleDraftDialog\n onClose={handleCloseDialog}\n onSchedule={handleSchedule}\n variant=\"schedule\"\n loading={isScheduling}\n initialDate={initialDate}\n />\n ),\n },\n }\n}\n\nuseSchedulePublishAction.action = 'schedule'\nuseSchedulePublishAction.displayName = 'SchedulePublishAction'\n","import {type DocumentActionComponent} from '../../../config/document/actions'\nimport {type DocumentActionsContext} from '../../../config/types'\nimport {\n DeleteScheduledDraftAction,\n EditScheduledDraftAction,\n PublishScheduledDraftAction,\n} from './ScheduledDraftDocumentActions'\nimport {useSchedulePublishAction} from './SchedulePublishAction'\n\nexport default function resolveDocumentActions(\n existingActions: DocumentActionComponent[],\n context: DocumentActionsContext,\n): DocumentActionComponent[] {\n if (context.versionType === 'scheduled-draft') {\n // For paused scheduled drafts: Schedule (primary), Publish Now, Delete Schedule\n // For active scheduled drafts: Publish Now (primary), Edit Schedule, Delete Schedule\n return [\n useSchedulePublishAction, // Shows only when paused\n PublishScheduledDraftAction, // Always shows\n EditScheduledDraftAction, // Shows only when NOT paused\n DeleteScheduledDraftAction, // Always shows\n ]\n }\n\n // Add SchedulePublishAction only for draft documents\n if (context.versionType === 'draft') {\n const actionsExcludingOriginalSchedule = existingActions.filter(\n ({action}) => action !== 'schedule',\n )\n const publishActionIndex = actionsExcludingOriginalSchedule.findIndex(\n ({action}) => action === 'publish',\n )\n const nextAfterPublishIndex = publishActionIndex + 1\n const hasPublishAction = publishActionIndex >= 0\n\n const actionsBeforePublish = hasPublishAction\n ? actionsExcludingOriginalSchedule.slice(0, nextAfterPublishIndex)\n : []\n const actionsAfterPublish = hasPublishAction\n ? actionsExcludingOriginalSchedule.slice(nextAfterPublishIndex)\n : actionsExcludingOriginalSchedule\n\n return [...actionsBeforePublish, useSchedulePublishAction, ...actionsAfterPublish]\n }\n return existingActions\n}\n","import {lazy} from 'react'\n\nimport {definePlugin} from '../../config/definePlugin'\nimport {singleDocReleaseUsEnglishLocaleBundle} from '../i18n'\nimport resolveDocumentActions from './documentActions'\n\nconst SingleDocReleaseLayout = lazy(() =>\n import('./SingleDocReleaseLayout').then((module) => ({default: module.SingleDocReleaseLayout})),\n)\n\n/**\n * @internal\n */\nexport const SINGLE_DOC_RELEASE_NAME = 'sanity/singleDocRelease'\n\n/**\n * @internal\n */\nexport const RELEASES_SCHEDULED_DRAFTS_INTENT = 'releases-scheduled-drafts'\n\n/**\n * @internal\n */\nexport const singleDocRelease = definePlugin({\n name: SINGLE_DOC_RELEASE_NAME,\n studio: {\n components: {\n layout: SingleDocReleaseLayout,\n },\n },\n i18n: {\n bundles: [singleDocReleaseUsEnglishLocaleBundle],\n },\n document: {\n actions: resolveDocumentActions,\n },\n})\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { nt as definePlugin } from "./useBundleDocuments-CiRQnzQh.js";
2
- import { S as releasesUsEnglishLocaleBundle } from "./UnpublishVersionDialog-Fow5nBrc.js";
3
- import "./plugin-CmF53OT5.js";
4
- import "./plugin-Bk41RRuC.js";
1
+ import { nt as definePlugin } from "./useBundleDocuments-C58ExRpX.js";
2
+ import { S as releasesUsEnglishLocaleBundle } from "./UnpublishVersionDialog-6zyP9rCr.js";
3
+ import "./plugin-ClT8-pVM.js";
4
+ import "./plugin-DRuKGgrO.js";
5
5
  import { lazy } from "react";
6
6
  import { route } from "sanity/router";
7
- const ReleasesStudioLayout = lazy(() => import("./ReleasesStudioLayout-CXoRbIpf.js").then((module) => ({ default: module.ReleasesStudioLayout }))), ReleasesTool = lazy(() => import("./ReleasesTool-Bxru9khS.js").then((module) => ({ default: module.ReleasesTool }))), SCHEDULES_NAME = "sanity/schedules", SCHEDULES_TOOL_NAME = "releases", schedules = definePlugin((options) => ({
7
+ const ReleasesStudioLayout = lazy(() => import("./ReleasesStudioLayout-gzl7rMMp.js").then((module) => ({ default: module.ReleasesStudioLayout }))), ReleasesTool = lazy(() => import("./ReleasesTool-CsHniZCP.js").then((module) => ({ default: module.ReleasesTool }))), SCHEDULES_NAME = "sanity/schedules", SCHEDULES_TOOL_NAME = "releases", schedules = definePlugin((options) => ({
8
8
  name: SCHEDULES_NAME,
9
9
  studio: { components: { layout: ReleasesStudioLayout } },
10
10
  tools: [{
@@ -27,4 +27,4 @@ const ReleasesStudioLayout = lazy(() => import("./ReleasesStudioLayout-CXoRbIpf.
27
27
  }));
28
28
  export { SCHEDULES_TOOL_NAME as n, schedules as r, SCHEDULES_NAME as t };
29
29
 
30
- //# sourceMappingURL=plugin-BhEK2rZ8.js.map
30
+ //# sourceMappingURL=plugin-wJP1ECFq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-BhEK2rZ8.js","names":["lazy","route","definePlugin","DefaultPluginsWorkspaceOptions","releasesUsEnglishLocaleBundle","RELEASES_INTENT","RELEASES_SCHEDULED_DRAFTS_INTENT","ReleasesStudioLayout","then","module","default","ReleasesTool","SCHEDULES_NAME","SCHEDULES_TOOL_NAME","schedules","options","name","studio","components","layout","tools","title","releases","enabled","component","router","create","__internalApplicationType","canHandleIntent","intent","Boolean","getIntentState","params","releaseId","id","searchParams","view","push","_searchParams","i18n","bundles"],"sources":["../src/core/schedules/plugin/index.ts"],"sourcesContent":["import {lazy} from 'react'\nimport {route} from 'sanity/router'\n\nimport {definePlugin} from '../../config/definePlugin'\nimport {type DefaultPluginsWorkspaceOptions} from '../../config/types'\nimport {releasesUsEnglishLocaleBundle} from '../../releases/i18n'\nimport {RELEASES_INTENT} from '../../releases/plugin'\nimport {RELEASES_SCHEDULED_DRAFTS_INTENT} from '../../singleDocRelease/plugin'\n\nconst ReleasesStudioLayout = lazy(() =>\n import('../../releases/plugin/ReleasesStudioLayout').then((module) => ({\n default: module.ReleasesStudioLayout,\n })),\n)\nconst ReleasesTool = lazy(() =>\n import('../../releases/tool/ReleasesTool').then((module) => ({default: module.ReleasesTool})),\n)\n\n/**\n * @internal\n */\nexport const SCHEDULES_NAME = 'sanity/schedules'\n\n/**\n * @internal\n */\nexport const SCHEDULES_TOOL_NAME = 'releases'\n\n/**\n * @internal\n */\nexport const schedules = definePlugin((options: DefaultPluginsWorkspaceOptions) => ({\n name: SCHEDULES_NAME,\n studio: {\n components: {\n layout: ReleasesStudioLayout,\n },\n },\n tools: [\n {\n name: SCHEDULES_TOOL_NAME,\n title: options.releases.enabled ? 'Releases' : 'Scheduled Drafts',\n component: ReleasesTool,\n router: route.create('/', [route.create('/:releaseId')]),\n __internalApplicationType: 'sanity/schedules',\n canHandleIntent: (intent) =>\n Boolean(intent === RELEASES_INTENT || intent === RELEASES_SCHEDULED_DRAFTS_INTENT),\n getIntentState(intent, params) {\n if (intent === RELEASES_INTENT) {\n return {releaseId: params.id}\n }\n if (intent === RELEASES_SCHEDULED_DRAFTS_INTENT) {\n // Handle view parameter and convert to search params\n const searchParams = []\n if (params.view) {\n searchParams.push(['view', params.view])\n }\n return {\n _searchParams: searchParams,\n }\n }\n return null\n },\n },\n ],\n i18n: {\n bundles: [releasesUsEnglishLocaleBundle],\n },\n}))\n"],"mappings":";;;;;;AASA,MAAMO,uBAAuBP,WAC3B,OAAO,qCAA6C,CAACQ,MAAMC,YAAY,EACrEC,SAASD,OAAOF,qBAClB,EAAE,CACJ,GACMI,eAAeX,WACnB,OAAO,6BAAmC,CAACQ,MAAMC,YAAY,EAACC,SAASD,OAAOE,aAAY,EAAE,CAC9F,GAKaC,iBAAiB,oBAKjBC,sBAAsB,YAKtBC,YAAYZ,cAAca,aAA6C;CAClFC,MAAMJ;CACNK,QAAQ,EACNC,YAAY,EACVC,QAAQZ,qBACV,EACF;CACAa,OAAO,CACL;EACEJ,MAAMH;EACNQ,OAAON,QAAQO,SAASC,UAAU,aAAa;EAC/CC,WAAWb;EACXc,QAAQxB,MAAMyB,OAAO,KAAK,CAACzB,MAAMyB,OAAO,aAAa,CAAC,CAAC;EACvDC,2BAA2B;EAC3BC,kBAAkBC,WACRA,WAAAA,aAA8BA,WAAAA;EACxCE,eAAeF,QAAQG,QAAQ;GAC7B,IAAIH,WAAAA,WACF,OAAO,EAACI,WAAWD,OAAOE,GAAE;GAE9B,IAAIL,WAAAA,6BAA6C;IAE/C,IAAMM,eAAe,CAAA;IAIrB,OAHIH,OAAOI,QACTD,aAAaE,KAAK,CAAC,QAAQL,OAAOI,IAAI,CAAC,GAElC,EACLE,eAAeH,aACjB;GACF;GACA,OAAO;EACT;CACF,CAAC;CAEHI,MAAM,EACJC,SAAS,CAACpC,6BAA6B,EACzC;AACF,EAAE"}
1
+ {"version":3,"file":"plugin-wJP1ECFq.js","names":["lazy","route","definePlugin","DefaultPluginsWorkspaceOptions","releasesUsEnglishLocaleBundle","RELEASES_INTENT","RELEASES_SCHEDULED_DRAFTS_INTENT","ReleasesStudioLayout","then","module","default","ReleasesTool","SCHEDULES_NAME","SCHEDULES_TOOL_NAME","schedules","options","name","studio","components","layout","tools","title","releases","enabled","component","router","create","__internalApplicationType","canHandleIntent","intent","Boolean","getIntentState","params","releaseId","id","searchParams","view","push","_searchParams","i18n","bundles"],"sources":["../src/core/schedules/plugin/index.ts"],"sourcesContent":["import {lazy} from 'react'\nimport {route} from 'sanity/router'\n\nimport {definePlugin} from '../../config/definePlugin'\nimport {type DefaultPluginsWorkspaceOptions} from '../../config/types'\nimport {releasesUsEnglishLocaleBundle} from '../../releases/i18n'\nimport {RELEASES_INTENT} from '../../releases/plugin'\nimport {RELEASES_SCHEDULED_DRAFTS_INTENT} from '../../singleDocRelease/plugin'\n\nconst ReleasesStudioLayout = lazy(() =>\n import('../../releases/plugin/ReleasesStudioLayout').then((module) => ({\n default: module.ReleasesStudioLayout,\n })),\n)\nconst ReleasesTool = lazy(() =>\n import('../../releases/tool/ReleasesTool').then((module) => ({default: module.ReleasesTool})),\n)\n\n/**\n * @internal\n */\nexport const SCHEDULES_NAME = 'sanity/schedules'\n\n/**\n * @internal\n */\nexport const SCHEDULES_TOOL_NAME = 'releases'\n\n/**\n * @internal\n */\nexport const schedules = definePlugin((options: DefaultPluginsWorkspaceOptions) => ({\n name: SCHEDULES_NAME,\n studio: {\n components: {\n layout: ReleasesStudioLayout,\n },\n },\n tools: [\n {\n name: SCHEDULES_TOOL_NAME,\n title: options.releases.enabled ? 'Releases' : 'Scheduled Drafts',\n component: ReleasesTool,\n router: route.create('/', [route.create('/:releaseId')]),\n __internalApplicationType: 'sanity/schedules',\n canHandleIntent: (intent) =>\n Boolean(intent === RELEASES_INTENT || intent === RELEASES_SCHEDULED_DRAFTS_INTENT),\n getIntentState(intent, params) {\n if (intent === RELEASES_INTENT) {\n return {releaseId: params.id}\n }\n if (intent === RELEASES_SCHEDULED_DRAFTS_INTENT) {\n // Handle view parameter and convert to search params\n const searchParams = []\n if (params.view) {\n searchParams.push(['view', params.view])\n }\n return {\n _searchParams: searchParams,\n }\n }\n return null\n },\n },\n ],\n i18n: {\n bundles: [releasesUsEnglishLocaleBundle],\n },\n}))\n"],"mappings":";;;;;;AASA,MAAMO,uBAAuBP,WAC3B,OAAO,qCAA6C,CAACQ,MAAMC,YAAY,EACrEC,SAASD,OAAOF,qBAClB,EAAE,CACJ,GACMI,eAAeX,WACnB,OAAO,6BAAmC,CAACQ,MAAMC,YAAY,EAACC,SAASD,OAAOE,aAAY,EAAE,CAC9F,GAKaC,iBAAiB,oBAKjBC,sBAAsB,YAKtBC,YAAYZ,cAAca,aAA6C;CAClFC,MAAMJ;CACNK,QAAQ,EACNC,YAAY,EACVC,QAAQZ,qBACV,EACF;CACAa,OAAO,CACL;EACEJ,MAAMH;EACNQ,OAAON,QAAQO,SAASC,UAAU,aAAa;EAC/CC,WAAWb;EACXc,QAAQxB,MAAMyB,OAAO,KAAK,CAACzB,MAAMyB,OAAO,aAAa,CAAC,CAAC;EACvDC,2BAA2B;EAC3BC,kBAAkBC,WACRA,WAAAA,aAA8BA,WAAAA;EACxCE,eAAeF,QAAQG,QAAQ;GAC7B,IAAIH,WAAAA,WACF,OAAO,EAACI,WAAWD,OAAOE,GAAE;GAE9B,IAAIL,WAAAA,6BAA6C;IAE/C,IAAMM,eAAe,CAAA;IAIrB,OAHIH,OAAOI,QACTD,aAAaE,KAAK,CAAC,QAAQL,OAAOI,IAAI,CAAC,GAElC,EACLE,eAAeH,aACjB;GACF;GACA,OAAO;EACT;CACF,CAAC;CAEHI,MAAM,EACJC,SAAS,CAACpC,6BAA6B,EACzC;AACF,EAAE"}
@@ -4,26 +4,26 @@ import { n as MenuButton$1, t as MenuItem$1 } from "./MenuItem-D0rtIQmn.js";
4
4
  import { t as Popover } from "./Popover-DRCM1MS-.js";
5
5
  import { t as ConfirmPopover } from "./ConfirmPopover-CdjYMFRi.js";
6
6
  import { g as isPublishedId, h as isDraftId, l as getPublishedId, s as getDraftId, u as getVersionFromId } from "./draftUtils-D3HJGQaW.js";
7
- import { c as useWorkspace, i as useClient, n as DEFAULT_STUDIO_CLIENT_OPTIONS } from "./studioClient-WYiCwgfZ.js";
8
- import { Mt as getDocumentVariantType, O as isDev, dn as isRecord, h as createMultiKeyWeakMap, i as useDocumentStore, pn as useSchema, r as useDocumentPreviewStore } from "./datastores-D4iZNSXV.js";
7
+ import { c as useWorkspace, i as useClient, n as DEFAULT_STUDIO_CLIENT_OPTIONS } from "./studioClient-BpYJ_yYC.js";
8
+ import { Mt as getDocumentVariantType, O as isDev, dn as isRecord, h as createMultiKeyWeakMap, i as useDocumentStore, pn as useSchema, r as useDocumentPreviewStore } from "./datastores-wbjstxMt.js";
9
9
  import { t as useTranslation } from "./useTranslation-Cqs6Itwv.js";
10
- import { a as getValueAtPath, d as pathToString, f as pathsAreEqual, i as getItemKeySegment, n as findIndex, o as isEmptyObject$1, p as stringToPath, r as getItemKey, t as useFieldActions } from "./useFieldActions-CrPgIiyl.js";
11
- import { _ as useChangeIndicatorsReportedValues, n as FormFieldHeaderText, r as FormFieldBaseHeader, t as TimeZoneButton } from "./TimeZoneButton-DMd-M_ri.js";
12
- import { n as useCurrentUser, r as useUser } from "./LoadingBlock-Cy2Pckab.js";
10
+ import { a as getValueAtPath, d as pathToString, f as pathsAreEqual, i as getItemKeySegment, n as findIndex, o as isEmptyObject$1, p as stringToPath, r as getItemKey, t as useFieldActions } from "./useFieldActions-MFJIkobn.js";
11
+ import { _ as useChangeIndicatorsReportedValues, n as FormFieldHeaderText, r as FormFieldBaseHeader, t as TimeZoneButton } from "./TimeZoneButton-TmrFye13.js";
12
+ import { n as useCurrentUser, r as useUser } from "./LoadingBlock-DPTVJ58M.js";
13
13
  import { t as useCurrentLocale } from "./useLocale-ChRJXddd.js";
14
14
  import { r as intlCache } from "./Translate-0HIWr1eF.js";
15
15
  import { n as useDateTimeFormat } from "./UpsellPanel-ZBO1OwPf.js";
16
16
  import { n as useRelativeTime, t as ContextMenuButton } from "./ContextMenuButton-PNi9pxWs.js";
17
- import { Bt as isReleaseDocument, C as useDocumentVersions, E as Preview, V as SanityDefaultPreview, b as useDocumentOperation, c as getReleaseDocumentIdFromReleaseId, gt as useReleasesStore, h as useTargetDocumentState, m as getTargetScopeId, p as getPairTarget, u as useDocumentPairPermissions, yt as getReleaseTone } from "./useBundleDocuments-CiRQnzQh.js";
18
- import { a as UserAvatar, s as useUserColorManager, t as ReleaseTitle } from "./ReleaseTitle-CkEMIfmx.js";
19
- import { n as DocumentStatus, t as DocumentStatusIndicator } from "./DocumentStatusIndicator-BP3N2GwG.js";
17
+ import { Bt as isReleaseDocument, C as useDocumentVersions, E as Preview, V as SanityDefaultPreview, b as useDocumentOperation, c as getReleaseDocumentIdFromReleaseId, gt as useReleasesStore, h as useTargetDocumentState, m as getTargetScopeId, p as getPairTarget, u as useDocumentPairPermissions, yt as getReleaseTone } from "./useBundleDocuments-C58ExRpX.js";
18
+ import { a as UserAvatar, s as useUserColorManager, t as ReleaseTitle } from "./ReleaseTitle-ln13W3P1.js";
19
+ import { n as DocumentStatus, t as DocumentStatusIndicator } from "./DocumentStatusIndicator-BPBTH84U.js";
20
20
  import { t as InsufficientPermissionsMessage } from "./InsufficientPermissionsMessage-DnOOs0ae.js";
21
- import { C as getDocumentVersionInfoFromVersions, x as LazyTextInput } from "./useScheduledDraftMenuActions-DqsFlU0p.js";
22
- import { t as getTransactionsLogs } from "./getTransactionsLogs-C-_o7nGx.js";
23
- import { a as useScheduleOperation, d as SCHEDULED_PUBLISHING_TIME_ZONE_SCOPE, m as SCHEDULE_FAILED_TEXT, n as useValidationState, p as SCHEDULE_ACTION_DICTIONARY, r as usePublishedId, s as getLastExecuteDate, t as EMPTY_VALIDATION_STATUS } from "./validationUtils-Bcu-PkHm.js";
24
- import { n as useScheduledPublishingEnabled } from "./ScheduledPublishingEnabledProvider-Bvx140h2.js";
25
- import { n as DATE_FORMAT, t as useTimeZone } from "./useTimeZone-DnxQlCGS.js";
26
- import { s as useValidationStatus } from "./plugin-Bk41RRuC.js";
21
+ import { C as getDocumentVersionInfoFromVersions, x as LazyTextInput } from "./useScheduledDraftMenuActions-DIQYFw0x.js";
22
+ import { t as getTransactionsLogs } from "./getTransactionsLogs-Di50JBPB.js";
23
+ import { a as useScheduleOperation, d as SCHEDULED_PUBLISHING_TIME_ZONE_SCOPE, m as SCHEDULE_FAILED_TEXT, n as useValidationState, p as SCHEDULE_ACTION_DICTIONARY, r as usePublishedId, s as getLastExecuteDate, t as EMPTY_VALIDATION_STATUS } from "./validationUtils-B9CLn9F7.js";
24
+ import { n as useScheduledPublishingEnabled } from "./ScheduledPublishingEnabledProvider-BcWaBJw5.js";
25
+ import { n as DATE_FORMAT, t as useTimeZone } from "./useTimeZone-Da8WK1q-.js";
26
+ import { s as useValidationStatus } from "./plugin-DRuKGgrO.js";
27
27
  import { Component, Fragment, memo, startTransition, useContext, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from "react";
28
28
  import { BehaviorSubject, EMPTY, Subject, catchError, combineLatest, concat, concatMap, concatWith, debounceTime, delayWhen, distinctUntilChanged, filter, find, first, firstValueFrom, from, map, merge, mergeMap, of, pipe, reduce, scan, shareReplay, startWith, switchMap, switchScan, takeWhile, tap, toArray, zip, zipWith } from "rxjs";
29
29
  import { c } from "react/compiler-runtime";
@@ -8186,4 +8186,4 @@ const DocumentPreview = (props) => {
8186
8186
  };
8187
8187
  export { RevertChangesButton as $, useVersionRelease as A, isUpdateLiveDocumentEvent as At, DiffString as B, useUnique as Bt, remoteMutationToTransaction as C, isDeleteDocumentGroupEvent as Ct, updateVersionEvents as D, isScheduleDocumentVersionEvent as Dt, updatePublishedEvents as E, isPublishDocumentVersionEvent as Et, isObjectFormNode as F, getAnnotationAtPath as Ft, MetaInfo as G, useZIndex as Gt, useDocumentValues as H, useUnitFormatter as Ht, getFieldLevel as I, getAnnotationColor as It, ChangeResolver as J, ChangeList as K, getOption as L, getDiffAtPath as Lt, selectFirstDescendantDivergence as M, getVersionInlineBadge as Mt, useDivergenceNavigator as N, useAnnotationColor as Nt, getDocumentTransactions as O, isUnpublishDocumentEvent as Ot, isArrayOfObjectsFormNode as P, useDiffAnnotationColor as Pt, RevertChangesConfirmDialog as Q, getTypeChain as R, visitDiff as Rt, addParentToEvents as S, isCreateLiveDocumentEvent as St, squashLiveEditEvents as T, isEditDocumentVersionEvent as Tt, asLoadable as U, getHumanFriendlyBytes as Ut, DiffStringSegment as V, getPrintableType as Vt, useLoadable as W, LegacyLayerProvider as Wt, FieldChange as X, GroupChange as Y, ValueError as Z, getDocumentAtRevision as _, FromToArrow as _t, DocumentActionPropsProvider as a, emptyValuesByType as at, getEditEvents as b, TIMELINE_ITEM_I18N_KEY_MAPPING as bt, DialogHeader as c, isGroupChange as ct, FormRow as d, noop as dt, FallbackDiff as et, FormCell as f, getValueError as ft, useDocumentDivergences as g, useDocumentChange as gt, DivergencesProvider as h, DiffCard as ht, useScheduleForm as i, ChangeTitleSegment as it, selectDivergenceCount as j, VersionInlineBadge as jt, selectUpstreamVersion as k, isUnscheduleDocumentVersionEvent as kt, TimeZoneButtonElementQuery as l, isRemovedItemDiff as lt, FormDivergenceIndicator as m, FromTo as mt, useSchemaType as n, DiffErrorBoundary as nt, ErrorCallout as o, isAddedItemDiff as ot, FormNodeDivergenceDetail as p, DiffFromTo as pt, NoChanges as q, ValidationInfo as r, ChangeBreadcrumb as rt, EditScheduleForm as s, isFieldChange as st, ScheduleItem as t, DiffInspectWrapper as tt, FormField as u, isUnchangedDiff as ut, HISTORY_CLEARED_EVENT_ID as v, DiffTooltip as vt, sortEvents as w, isDeleteDocumentVersionEvent as wt, getEffectState as x, isCreateDocumentVersionEvent as xt, getInitialFetchEvents as y, Event as yt, resolveDiffComponent as z, pathToAnchorIdent as zt };
8188
8188
 
8189
- //# sourceMappingURL=scheduleItem-sJhB8YzX.js.map
8189
+ //# sourceMappingURL=scheduleItem-9PFIH7_h.js.map