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.
- package/lib/{AddonDatasetProvider-CIq0vehp.js → AddonDatasetProvider-DDQrh5ob.js} +2 -2
- package/lib/{AddonDatasetProvider-CIq0vehp.js.map → AddonDatasetProvider-DDQrh5ob.js.map} +1 -1
- package/lib/{CalendarFilter-DRKSPTWd.js → CalendarFilter-DYbHmp_x.js} +3 -3
- package/lib/{CalendarFilter-DRKSPTWd.js.map → CalendarFilter-DYbHmp_x.js.map} +1 -1
- package/lib/{CommentsDocumentLayout-NGghzPWZ.js → CommentsDocumentLayout-qdF_HKSC.js} +2 -2
- package/lib/{CommentsDocumentLayout-NGghzPWZ.js.map → CommentsDocumentLayout-qdF_HKSC.js.map} +1 -1
- package/lib/{CommentsField-_QkW9aLe.js → CommentsField-i8xs45PB.js} +3 -3
- package/lib/{CommentsField-_QkW9aLe.js.map → CommentsField-i8xs45PB.js.map} +1 -1
- package/lib/{CommentsInput-DdtI0Naj.js → CommentsInput-B9iSSi8A.js} +6 -6
- package/lib/{CommentsInput-DdtI0Naj.js.map → CommentsInput-B9iSSi8A.js.map} +1 -1
- package/lib/{CommentsInspector-BQtqxGsK.js → CommentsInspector-rGGP9buL.js} +5 -5
- package/lib/{CommentsInspector-BQtqxGsK.js.map → CommentsInspector-rGGP9buL.js.map} +1 -1
- package/lib/{CommentsListItem-B0yR0R5a.js → CommentsListItem-DKS6V_TV.js} +3 -3
- package/lib/{CommentsListItem-B0yR0R5a.js.map → CommentsListItem-DKS6V_TV.js.map} +1 -1
- package/lib/{CommentsSelectedPathProvider-BYZ2OmJ9.js → CommentsSelectedPathProvider-BnZ6GdNc.js} +3 -3
- package/lib/{CommentsSelectedPathProvider-BYZ2OmJ9.js.map → CommentsSelectedPathProvider-BnZ6GdNc.js.map} +1 -1
- package/lib/{CommentsStudioLayout-DK4W-hTe.js → CommentsStudioLayout-YlpSH_2Y.js} +4 -4
- package/lib/{CommentsStudioLayout-DK4W-hTe.js.map → CommentsStudioLayout-YlpSH_2Y.js.map} +1 -1
- package/lib/{DateInputs-enUB1fG8.js → DateInputs-DioSKqY0.js} +7 -7
- package/lib/{DateInputs-enUB1fG8.js.map → DateInputs-DioSKqY0.js.map} +1 -1
- package/lib/{DocumentStatusIndicator-BP3N2GwG.js → DocumentStatusIndicator-BPBTH84U.js} +5 -5
- package/lib/{DocumentStatusIndicator-BP3N2GwG.js.map → DocumentStatusIndicator-BPBTH84U.js.map} +1 -1
- package/lib/{FormValue-4tVuOoGw.js → FormValue-CJg43LyM.js} +2 -2
- package/lib/{FormValue-4tVuOoGw.js.map → FormValue-CJg43LyM.js.map} +1 -1
- package/lib/{LoadingBlock-Cy2Pckab.js → LoadingBlock-DPTVJ58M.js} +3 -3
- package/lib/{LoadingBlock-Cy2Pckab.js.map → LoadingBlock-DPTVJ58M.js.map} +1 -1
- package/lib/{ReleaseTitle-CkEMIfmx.js → ReleaseTitle-ln13W3P1.js} +4 -4
- package/lib/{ReleaseTitle-CkEMIfmx.js.map → ReleaseTitle-ln13W3P1.js.map} +1 -1
- package/lib/{ReleasesMetadataProvider-DuAzHgpz.js → ReleasesMetadataProvider-DbxROVyw.js} +2 -2
- package/lib/{ReleasesMetadataProvider-DuAzHgpz.js.map → ReleasesMetadataProvider-DbxROVyw.js.map} +1 -1
- package/lib/{ReleasesNav-DozstCwb.js → ReleasesNav-DNwncim0.js} +15 -15
- package/lib/{ReleasesNav-DozstCwb.js.map → ReleasesNav-DNwncim0.js.map} +1 -1
- package/lib/{ReleasesStudioLayout-CXoRbIpf.js → ReleasesStudioLayout-gzl7rMMp.js} +8 -8
- package/lib/{ReleasesStudioLayout-CXoRbIpf.js.map → ReleasesStudioLayout-gzl7rMMp.js.map} +1 -1
- package/lib/{ReleasesTool-Bxru9khS.js → ReleasesTool-CsHniZCP.js} +20 -20
- package/lib/{ReleasesTool-Bxru9khS.js.map → ReleasesTool-CsHniZCP.js.map} +1 -1
- package/lib/{SchedulePublishingStudioLayout-CjJ-nu3Q.js → SchedulePublishingStudioLayout-BzSSDp9x.js} +3 -3
- package/lib/{SchedulePublishingStudioLayout-CjJ-nu3Q.js.map → SchedulePublishingStudioLayout-BzSSDp9x.js.map} +1 -1
- package/lib/{SchedulePublishingUpsellProvider-CxpMXwyA.js → SchedulePublishingUpsellProvider-DQqIZsCc.js} +2 -2
- package/lib/{SchedulePublishingUpsellProvider-CxpMXwyA.js.map → SchedulePublishingUpsellProvider-DQqIZsCc.js.map} +1 -1
- package/lib/{ScheduledPublishingEnabledProvider-Bvx140h2.js → ScheduledPublishingEnabledProvider-BcWaBJw5.js} +3 -3
- package/lib/{ScheduledPublishingEnabledProvider-Bvx140h2.js.map → ScheduledPublishingEnabledProvider-BcWaBJw5.js.map} +1 -1
- package/lib/{SearchProvider-DSLbCdgY.js → SearchProvider-D3w4Bvul.js} +10 -10
- package/lib/{SearchProvider-DSLbCdgY.js.map → SearchProvider-D3w4Bvul.js.map} +1 -1
- package/lib/{SingleDocReleaseLayout-DQicfsKs.js → SingleDocReleaseLayout-CQCkL8-0.js} +2 -2
- package/lib/{SingleDocReleaseLayout-DQicfsKs.js.map → SingleDocReleaseLayout-CQCkL8-0.js.map} +1 -1
- package/lib/{SingleDocReleaseUpsellProvider-DXNTZGTk.js → SingleDocReleaseUpsellProvider-YDBCGrHT.js} +4 -4
- package/lib/{SingleDocReleaseUpsellProvider-DXNTZGTk.js.map → SingleDocReleaseUpsellProvider-YDBCGrHT.js.map} +1 -1
- package/lib/{TasksStudioActiveToolLayout-CNpB5xLh.js → TasksStudioActiveToolLayout-DAmh3t6t.js} +16 -16
- package/lib/{TasksStudioActiveToolLayout-CNpB5xLh.js.map → TasksStudioActiveToolLayout-DAmh3t6t.js.map} +1 -1
- package/lib/{TasksStudioLayout-CnsvBNfw.js → TasksStudioLayout-6qNY69FD.js} +5 -5
- package/lib/{TasksStudioLayout-CnsvBNfw.js.map → TasksStudioLayout-6qNY69FD.js.map} +1 -1
- package/lib/{TimeZoneButton-DMd-M_ri.js → TimeZoneButton-TmrFye13.js} +4 -4
- package/lib/{TimeZoneButton-DMd-M_ri.js.map → TimeZoneButton-TmrFye13.js.map} +1 -1
- package/lib/{Tool-VgnYCwyZ.js → Tool-tpq9K4o7.js} +14 -14
- package/lib/{Tool-VgnYCwyZ.js.map → Tool-tpq9K4o7.js.map} +1 -1
- package/lib/{UnpublishVersionDialog-Fow5nBrc.js → UnpublishVersionDialog-6zyP9rCr.js} +5 -5
- package/lib/{UnpublishVersionDialog-Fow5nBrc.js.map → UnpublishVersionDialog-6zyP9rCr.js.map} +1 -1
- package/lib/{UpsellDialog-BqP2wmnt.js → UpsellDialog-CM238V3B.js} +3 -3
- package/lib/{UpsellDialog-BqP2wmnt.js.map → UpsellDialog-CM238V3B.js.map} +1 -1
- package/lib/{VariantsStudioNavbar-CvwRIsWJ.js → VariantsStudioNavbar-lFO2yrMq.js} +7 -7
- package/lib/{VariantsStudioNavbar-CvwRIsWJ.js.map → VariantsStudioNavbar-lFO2yrMq.js.map} +1 -1
- package/lib/{VariantsTool-CmQqDiwU.js → VariantsTool-B0OS4fku.js} +9 -9
- package/lib/{VariantsTool-CmQqDiwU.js.map → VariantsTool-B0OS4fku.js.map} +1 -1
- package/lib/{WorkspaceLoader-Ailj0PR9.js → WorkspaceLoader-CiJ6lGBu.js} +32 -32
- package/lib/{WorkspaceLoader-Ailj0PR9.js.map → WorkspaceLoader-CiJ6lGBu.js.map} +1 -1
- package/lib/_createContext.js +1 -1
- package/lib/{buildTextSelectionFromFragment-QpFfw3b7.js → buildTextSelectionFromFragment-CFZdgjpp.js} +3 -3
- package/lib/{buildTextSelectionFromFragment-QpFfw3b7.js.map → buildTextSelectionFromFragment-CFZdgjpp.js.map} +1 -1
- package/lib/{datastores-D4iZNSXV.js → datastores-wbjstxMt.js} +2 -2
- package/lib/{datastores-D4iZNSXV.js.map → datastores-wbjstxMt.js.map} +1 -1
- package/lib/{getTransactionsLogs-C-_o7nGx.js → getTransactionsLogs-Di50JBPB.js} +2 -2
- package/lib/{getTransactionsLogs-C-_o7nGx.js.map → getTransactionsLogs-Di50JBPB.js.map} +1 -1
- package/lib/index.js +35 -35
- package/lib/{inputResolver-Dpo4FxTy.js → inputResolver-DuUEGuH5.js} +4 -4
- package/lib/{inputResolver-Dpo4FxTy.js.map → inputResolver-DuUEGuH5.js.map} +1 -1
- package/lib/{navigation.telemetry-syjEPEw-.js → navigation.telemetry-EsdzXa34.js} +9 -9
- package/lib/{navigation.telemetry-syjEPEw-.js.map → navigation.telemetry-EsdzXa34.js.map} +1 -1
- package/lib/{plugin-B8Op6DFi.js → plugin-C_6lw0l3.js} +3 -3
- package/lib/{plugin-B8Op6DFi.js.map → plugin-C_6lw0l3.js.map} +1 -1
- package/lib/{plugin-CmF53OT5.js → plugin-ClT8-pVM.js} +4 -4
- package/lib/{plugin-CmF53OT5.js.map → plugin-ClT8-pVM.js.map} +1 -1
- package/lib/{plugin-Bk41RRuC.js → plugin-DRuKGgrO.js} +6 -6
- package/lib/{plugin-Bk41RRuC.js.map → plugin-DRuKGgrO.js.map} +1 -1
- package/lib/{plugin-BhEK2rZ8.js → plugin-wJP1ECFq.js} +6 -6
- package/lib/{plugin-BhEK2rZ8.js.map → plugin-wJP1ECFq.js.map} +1 -1
- package/lib/{scheduleItem-sJhB8YzX.js → scheduleItem-9PFIH7_h.js} +15 -15
- package/lib/{scheduleItem-sJhB8YzX.js.map → scheduleItem-9PFIH7_h.js.map} +1 -1
- package/lib/{schedules-CLC2KygL.js → schedules-DniNrpFJ.js} +3 -3
- package/lib/{schedules-CLC2KygL.js.map → schedules-DniNrpFJ.js.map} +1 -1
- package/lib/{searchDocumentRelease-CtPYZAZk.js → searchDocumentRelease-TrunKdQg.js} +5 -5
- package/lib/{searchDocumentRelease-CtPYZAZk.js.map → searchDocumentRelease-TrunKdQg.js.map} +1 -1
- package/lib/{studioClient-WYiCwgfZ.js → studioClient-BpYJ_yYC.js} +2 -2
- package/lib/{studioClient-WYiCwgfZ.js.map → studioClient-BpYJ_yYC.js.map} +1 -1
- package/lib/{useBundleDocuments-CiRQnzQh.js → useBundleDocuments-C58ExRpX.js} +5 -5
- package/lib/{useBundleDocuments-CiRQnzQh.js.map → useBundleDocuments-C58ExRpX.js.map} +1 -1
- package/lib/{useComments-CxUK5MNb.js → useComments-BcMCyjIE.js} +2 -2
- package/lib/{useComments-CxUK5MNb.js.map → useComments-BcMCyjIE.js.map} +1 -1
- package/lib/{useCommentsTelemetry-BWqcsQ1u.js → useCommentsTelemetry-CL97yuwT.js} +4 -4
- package/lib/{useCommentsTelemetry-BWqcsQ1u.js.map → useCommentsTelemetry-CL97yuwT.js.map} +1 -1
- package/lib/{useDocumentPreviewValues-B4jUnACZ.js → useDocumentPreviewValues-Cy9aUMu2.js} +5 -5
- package/lib/{useDocumentPreviewValues-B4jUnACZ.js.map → useDocumentPreviewValues-Cy9aUMu2.js.map} +1 -1
- package/lib/{useFeatureEnabled-sRpDeLLJ.js → useFeatureEnabled-C5qTffLc.js} +2 -2
- package/lib/{useFeatureEnabled-sRpDeLLJ.js.map → useFeatureEnabled-C5qTffLc.js.map} +1 -1
- package/lib/{useFieldActions-CrPgIiyl.js → useFieldActions-MFJIkobn.js} +2 -2
- package/lib/{useFieldActions-CrPgIiyl.js.map → useFieldActions-MFJIkobn.js.map} +1 -1
- package/lib/{useProjectId-bGwoCAuz.js → useProjectId-BRSQ8kIo.js} +2 -2
- package/lib/{useProjectId-bGwoCAuz.js.map → useProjectId-BRSQ8kIo.js.map} +1 -1
- package/lib/{useReleasesToolAvailable-BevhFmt9.js → useReleasesToolAvailable-BOlw1HWL.js} +3 -3
- package/lib/{useReleasesToolAvailable-BevhFmt9.js.map → useReleasesToolAvailable-BOlw1HWL.js.map} +1 -1
- package/lib/{useScheduledDraftMenuActions-DqsFlU0p.js → useScheduledDraftMenuActions-DIQYFw0x.js} +6 -6
- package/lib/{useScheduledDraftMenuActions-DqsFlU0p.js.map → useScheduledDraftMenuActions-DIQYFw0x.js.map} +1 -1
- package/lib/{useStudioUrl-DbfIwS1P.js → useStudioUrl-Dc5LnOvR.js} +5 -5
- package/lib/{useStudioUrl-DbfIwS1P.js.map → useStudioUrl-Dc5LnOvR.js.map} +1 -1
- package/lib/{useTimeZone-DnxQlCGS.js → useTimeZone-Da8WK1q-.js} +2 -2
- package/lib/{useTimeZone-DnxQlCGS.js.map → useTimeZone-Da8WK1q-.js.map} +1 -1
- package/lib/{validationUtils-Bcu-PkHm.js → validationUtils-B9CLn9F7.js} +4 -4
- package/lib/{validationUtils-Bcu-PkHm.js.map → validationUtils-B9CLn9F7.js.map} +1 -1
- package/lib/{version-DTqx_kFw.js → version-D7qSwBVE.js} +2 -2
- package/lib/{version-DTqx_kFw.js.map → version-D7qSwBVE.js.map} +1 -1
- package/package.json +11 -11
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { l as getPublishedId } from "./draftUtils-D3HJGQaW.js";
|
|
2
|
-
import { c as useWorkspace } from "./studioClient-
|
|
2
|
+
import { c as useWorkspace } from "./studioClient-BpYJ_yYC.js";
|
|
3
3
|
import { t as useAddonDataset } from "./useAddonDataset-BvCgByG6.js";
|
|
4
|
-
import { n as useFeatureEnabled, t as FEATURES } from "./useFeatureEnabled-
|
|
5
|
-
import { n as getDialogPropsFromContext, r as useUpsellContext, t as UpsellDialog } from "./UpsellDialog-
|
|
4
|
+
import { n as useFeatureEnabled, t as FEATURES } from "./useFeatureEnabled-C5qTffLc.js";
|
|
5
|
+
import { n as getDialogPropsFromContext, r as useUpsellContext, t as UpsellDialog } from "./UpsellDialog-CM238V3B.js";
|
|
6
6
|
import { t as useTasksEnabled } from "./useTasksEnabled-DBNZp6wF.js";
|
|
7
|
-
import { t as AddonDatasetProvider } from "./AddonDatasetProvider-
|
|
7
|
+
import { t as AddonDatasetProvider } from "./AddonDatasetProvider-DDQrh5ob.js";
|
|
8
8
|
import { n as TASKS_SIDEBAR_SEARCH_PARAM, o as TaskLinkCopied, r as TASKS_VIEW_MODE_SEARCH_PARAM, s as TaskLinkOpened, t as TASKS_SELECTED_TASK_SEARCH_PARAM } from "./types-B8Ny1dM-.js";
|
|
9
9
|
import { useEffect, useReducer, useState } from "react";
|
|
10
10
|
import { catchError, of } from "rxjs";
|
|
@@ -417,4 +417,4 @@ function TasksStudioLayout(props) {
|
|
|
417
417
|
}
|
|
418
418
|
export { TasksStudioLayout };
|
|
419
419
|
|
|
420
|
-
//# sourceMappingURL=TasksStudioLayout-
|
|
420
|
+
//# sourceMappingURL=TasksStudioLayout-6qNY69FD.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TasksStudioLayout-CnsvBNfw.js","names":["useMemo","TasksEnabledContext","useFeatureEnabled","FEATURES","useWorkspace","TasksEnabledContextValue","TaksEnabledProviderProps","children","React","ReactNode","TasksEnabledProvider","t0","$","_c","enabled","isLoading","error","sanityTasks","isWorkspaceEnabled","tasks","t1","bb0","t2","Symbol","for","mode","t3","value","useTelemetry","useToast","uuid","ReactNode","useCallback","useEffect","useMemo","useReducer","TasksNavigationContext","useRouter","TaskLinkCopied","TaskLinkOpened","Action","SidebarTabsIds","State","TASKS_SELECTED_TASK_SEARCH_PARAM","TASKS_SIDEBAR_SEARCH_PARAM","TASKS_VIEW_MODE_SEARCH_PARAM","ViewModeOptions","initialState","viewMode","selectedTask","activeTabId","duplicateTaskValues","isOpen","reducer","state","action","type","payload","id","TasksNavigationProvider","t0","$","_c","children","dispatch","router","toast","telemetry","t1","Symbol","for","bb2","setViewMode","t2","tabId","setActiveTab","t3","navigate","stickyParams","handleCloseTasks","t4","handleOpenTasks","t5","url","URL","window","location","href","searchParams","set","navigator","clipboard","writeText","toString","then","log","catch","push","closable","status","title","handleCopyLinkToTask","sidebar","viewMode_0","t6","t7","t8","value","t9","TaskDocument","TaskPostPayload","TaskAddedAction","payload","type","TaskDeletedAction","id","TaskUpdatedAction","Partial","TasksSetAction","tasks","TaskReceivedAction","TasksReducerAction","TasksReducerState","Record","createTasksSet","tasksById","reduce","acc","task","_id","tasksReducer","state","action","nextTaskResult","nextTaskValue","nextTask","_state","undefined","_createdAt","Date","toISOString","_","restTasks","updatedTask","ListenEvent","ListenOptions","useCallback","useEffect","useMemo","useReducer","useState","catchError","of","useAddonDataset","getPublishedId","Loadable","TaskDocument","tasksReducer","TasksReducerAction","TasksReducerState","TasksStoreOptions","documentId","TasksStoreReturnType","dispatch","React","Dispatch","INITIAL_STATE","tasks","LISTEN_OPTIONS","events","includeResult","visibility","includeAllVersions","tag","SORT_FIELD","SORT_ORDER","QUERY_FILTERS","QUERY_PROJECTION","QUERY_SORT_ORDER","QUERY","join","useTasksStore","opts","$","_c","client","state","isLoading","setIsLoading","error","setError","t0","t1","params","t2","res","fetch","type","t3","err","initialFetch","event","transition","nextTask","result","payload","id","updatedTask","handleListenerEvent","t4","bb0","t5","Symbol","for","observable","t6","err_0","listen","pipe","events$","listener$","sub","subscribe","unsubscribe","t7","Object","values","tasksAsArray","t8","data","debounce","useMemo","useState","TasksContext","useTasksStore","ActiveDocument","TasksContextValue","TasksProviderProps","children","React","ReactNode","EMPTY_ARRAY","TasksProvider","props","$","_c","activeDocument","setActiveDocument","t0","Symbol","for","data","t1","isLoading","undefined","t2","debouncedSetActiveDocument","t3","t4","value","t5","TasksUpsellContext","getDialogPropsFromContext","useUpsellContext","UpsellDialog","TasksUpsellProvider","props","$","_c","t0","Symbol","for","dataUri","feature","contextValue","t1","children","t2","t3","t4","LayoutProps","AddonDatasetProvider","TasksEnabledProvider","useTasksEnabled","TasksNavigationProvider","TasksProvider","TasksUpsellProvider","TasksStudioLayoutInner","props","$","_c","enabled","mode","t0","renderDefault","t1","children","t2","TasksStudioLayout"],"sources":["../src/core/tasks/context/enabled/TasksEnabledProvider.tsx","../src/core/tasks/context/navigation/TasksNavigationProvider.tsx","../src/core/tasks/store/reducer.ts","../src/core/tasks/store/useTasksStore.ts","../src/core/tasks/context/tasks/TasksProvider.tsx","../src/core/tasks/context/upsell/TasksUpsellProvider.tsx","../src/core/tasks/plugin/TasksStudioLayout.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {TasksEnabledContext} from 'sanity/_singletons'\n\nimport {useFeatureEnabled, FEATURES} from '../../../hooks/useFeatureEnabled'\nimport {useWorkspace} from '../../../studio/workspace'\nimport {type TasksEnabledContextValue} from './types'\n\ninterface TaksEnabledProviderProps {\n children: React.ReactNode\n}\n\n/**\n * @internal\n */\nexport function TasksEnabledProvider({children}: TaksEnabledProviderProps) {\n const {enabled, isLoading, error} = useFeatureEnabled(FEATURES.sanityTasks)\n\n const isWorkspaceEnabled = useWorkspace().tasks?.enabled\n\n const value: TasksEnabledContextValue = useMemo(() => {\n if (!isWorkspaceEnabled || isLoading || error) {\n return {\n enabled: false,\n mode: null,\n }\n }\n return {\n enabled: true,\n mode: enabled ? 'default' : 'upsell',\n }\n }, [enabled, isLoading, isWorkspaceEnabled, error])\n\n return <TasksEnabledContext.Provider value={value}>{children}</TasksEnabledContext.Provider>\n}\n","import {useTelemetry} from '@sanity/telemetry/react'\nimport {useToast} from '@sanity/ui/toast'\nimport {uuid} from '@sanity/uuid'\nimport {type ReactNode, useCallback, useEffect, useMemo, useReducer} from 'react'\nimport {TasksNavigationContext} from 'sanity/_singletons'\nimport {useRouter} from 'sanity/router'\n\nimport {TaskLinkCopied, TaskLinkOpened} from '../../__telemetry__/tasks.telemetry'\nimport {\n type Action,\n type SidebarTabsIds,\n type State,\n TASKS_SELECTED_TASK_SEARCH_PARAM,\n TASKS_SIDEBAR_SEARCH_PARAM,\n TASKS_VIEW_MODE_SEARCH_PARAM,\n type ViewModeOptions,\n} from './types'\n\nconst initialState: State = {\n viewMode: 'list',\n selectedTask: null,\n activeTabId: 'assigned',\n duplicateTaskValues: null,\n isOpen: false,\n}\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case 'TOGGLE_TASKS_VIEW': {\n if (!action.payload) {\n return {\n ...initialState,\n isOpen: action.payload,\n }\n }\n return {\n ...state,\n isOpen: action.payload,\n }\n }\n case 'CREATE_TASK':\n return {\n ...state,\n viewMode: 'create',\n selectedTask: uuid(),\n }\n case 'EDIT_TASK':\n return {\n ...state,\n viewMode: 'edit',\n selectedTask: action.payload.id,\n }\n case 'EDIT_DRAFT':\n return {\n ...state,\n viewMode: 'draft',\n selectedTask: action.payload.id,\n }\n case 'DUPLICATE_TASK':\n return {\n ...state,\n viewMode: 'duplicate',\n selectedTask: uuid(),\n duplicateTaskValues: action.payload.duplicateTaskValues,\n }\n case 'SET_ACTIVE_TAB':\n return {\n ...state,\n viewMode: 'list',\n activeTabId: action.payload,\n }\n case 'NAVIGATE_TO_LIST':\n return {\n ...state,\n viewMode: 'list',\n }\n default:\n return state\n }\n}\n\nexport const TasksNavigationProvider = ({children}: {children: ReactNode}) => {\n const [state, dispatch] = useReducer(reducer, initialState)\n const router = useRouter()\n const toast = useToast()\n const telemetry = useTelemetry()\n\n const setViewMode = useCallback((viewMode: ViewModeOptions) => {\n switch (viewMode.type) {\n case 'list':\n dispatch({type: 'NAVIGATE_TO_LIST'})\n break\n case 'create':\n dispatch({type: 'CREATE_TASK'})\n break\n case 'edit':\n dispatch({type: 'EDIT_TASK', payload: {id: viewMode.id}})\n break\n case 'duplicate':\n dispatch({\n type: 'DUPLICATE_TASK',\n payload: {duplicateTaskValues: viewMode.duplicateTaskValues},\n })\n break\n case 'draft':\n dispatch({type: 'EDIT_DRAFT', payload: {id: viewMode.id}})\n break\n default:\n break\n }\n }, [])\n\n const setActiveTab = useCallback((tabId: SidebarTabsIds) => {\n dispatch({type: 'SET_ACTIVE_TAB', payload: tabId})\n }, [])\n\n const handleCloseTasks = useCallback(() => {\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: false})\n\n // Remove task-related query parameters from the URL\n router.navigate({\n stickyParams: {\n ...router.stickyParams,\n [TASKS_SIDEBAR_SEARCH_PARAM]: null,\n [TASKS_VIEW_MODE_SEARCH_PARAM]: null,\n [TASKS_SELECTED_TASK_SEARCH_PARAM]: null,\n },\n })\n }, [router])\n\n const handleOpenTasks = useCallback(() => {\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: true})\n }, [])\n\n const handleCopyLinkToTask = useCallback(() => {\n const url = new URL(window.location.href)\n url.searchParams.set(TASKS_SIDEBAR_SEARCH_PARAM, 'tasks')\n url.searchParams.set(TASKS_VIEW_MODE_SEARCH_PARAM, state.viewMode)\n if (state.selectedTask) {\n url.searchParams.set(TASKS_SELECTED_TASK_SEARCH_PARAM, state.selectedTask)\n }\n navigator.clipboard\n .writeText(url.toString())\n .then(() => {\n telemetry.log(TaskLinkCopied)\n })\n .catch(() => {\n toast.push({\n closable: true,\n status: 'error',\n title: 'Failed to copy link to clipboard',\n })\n })\n }, [state.selectedTask, state.viewMode, telemetry, toast])\n\n const sidebar = router.stickyParams[TASKS_SIDEBAR_SEARCH_PARAM]\n const viewMode = router.stickyParams[TASKS_VIEW_MODE_SEARCH_PARAM]\n const selectedTask = router.stickyParams[TASKS_SELECTED_TASK_SEARCH_PARAM]\n\n useEffect(() => {\n // listen to the URL to open the tasks view if the sidebar is set to task.\n if (sidebar !== 'tasks') {\n return\n }\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: true})\n if (viewMode === 'edit' && selectedTask) {\n dispatch({type: 'EDIT_TASK', payload: {id: selectedTask}})\n telemetry.log(TaskLinkOpened)\n }\n }, [selectedTask, sidebar, telemetry, viewMode])\n\n const value = useMemo(\n () => ({\n state,\n setViewMode,\n setActiveTab,\n handleCloseTasks,\n handleOpenTasks,\n handleCopyLinkToTask,\n }),\n [handleCloseTasks, handleCopyLinkToTask, handleOpenTasks, setActiveTab, setViewMode, state],\n )\n\n return <TasksNavigationContext.Provider value={value}>{children}</TasksNavigationContext.Provider>\n}\n","import {type TaskDocument, type TaskPostPayload} from '../types'\n\ninterface TaskAddedAction {\n payload: TaskDocument | TaskPostPayload\n type: 'TASK_ADDED'\n}\n\ninterface TaskDeletedAction {\n id: string\n type: 'TASK_DELETED'\n}\n\ninterface TaskUpdatedAction {\n payload: TaskDocument | Partial<TaskPostPayload>\n type: 'TASK_UPDATED'\n}\n\ninterface TasksSetAction {\n tasks: TaskDocument[]\n type: 'TASKS_SET'\n}\n\ninterface TaskReceivedAction {\n payload: TaskDocument\n type: 'TASK_RECEIVED'\n}\n\nexport type TasksReducerAction =\n | TaskAddedAction\n | TaskDeletedAction\n | TaskUpdatedAction\n | TasksSetAction\n | TaskReceivedAction\n\nexport interface TasksReducerState {\n tasks: Record<string, TaskDocument>\n}\n\n/**\n * Transform an array of tasks into an object with the task id as key:\n * ```\n * {\n * 'task-1': { _id: 'task-1', ... },\n * 'task-2': { _id: 'task-2', ... },\n * }\n * ```\n */\nfunction createTasksSet(tasks: TaskDocument[]) {\n const tasksById = tasks.reduce((acc, task) => ({...acc, [task._id]: task}), {})\n return tasksById\n}\n\nexport function tasksReducer(\n state: TasksReducerState,\n action: TasksReducerAction,\n): TasksReducerState {\n switch (action.type) {\n case 'TASKS_SET': {\n // Create an object with the task id as key\n const tasksById = createTasksSet(action.tasks)\n\n return {\n ...state,\n tasks: tasksById,\n }\n }\n\n case 'TASK_ADDED': {\n const nextTaskResult = action.payload as TaskDocument\n const nextTaskValue = nextTaskResult satisfies TaskDocument\n\n const nextTask = {\n [nextTaskResult._id]: {\n ...state.tasks[nextTaskResult._id],\n ...nextTaskValue,\n _state: nextTaskResult._state || undefined,\n // If the task is created optimistically, it won't have a createdAt date as this is set on the server.\n // However, we need to set a createdAt date to be able to sort the tasks correctly.\n // Therefore, we set the createdAt date to the current date here if it's missing while creating the task.\n // Once the task is created and received from the server, the createdAt date will be updated to the correct value.\n _createdAt: nextTaskResult._createdAt || new Date().toISOString(),\n } satisfies TaskDocument,\n }\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n ...nextTask,\n },\n }\n }\n\n case 'TASK_RECEIVED': {\n const nextTaskResult = action.payload\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n [nextTaskResult._id]: nextTaskResult,\n },\n }\n }\n\n case 'TASK_DELETED': {\n const {[action.id]: _, ...restTasks} = state.tasks\n\n return {\n ...state,\n tasks: restTasks,\n }\n }\n\n case 'TASK_UPDATED': {\n const updatedTask = action.payload\n const id = updatedTask._id as string\n const task = state.tasks[id]\n\n const nextTask = {\n // Add existing task data\n ...task,\n // Add incoming task data\n ...updatedTask,\n } satisfies TaskDocument\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n [id]: nextTask,\n },\n }\n }\n\n default:\n return state\n }\n}\n","import {type ListenEvent, type ListenOptions} from '@sanity/client'\nimport {useCallback, useEffect, useMemo, useReducer, useState} from 'react'\nimport {catchError, of} from 'rxjs'\n\nimport {useAddonDataset} from '../../studio/addonDataset/useAddonDataset'\nimport {getPublishedId} from '../../util/draftUtils'\nimport {type Loadable, type TaskDocument} from '../types'\nimport {tasksReducer, type TasksReducerAction, type TasksReducerState} from './reducer'\n\nexport interface TasksStoreOptions {\n documentId?: string\n}\n\ninterface TasksStoreReturnType extends Loadable<TaskDocument[]> {\n dispatch: React.Dispatch<TasksReducerAction>\n}\n\nconst INITIAL_STATE: TasksReducerState = {\n tasks: {},\n}\n\nconst LISTEN_OPTIONS: ListenOptions = {\n events: ['welcome', 'mutation', 'reconnect'],\n includeResult: true,\n visibility: 'query',\n includeAllVersions: true,\n tag: 'tasks-store',\n}\n\nconst SORT_FIELD = '_createdAt'\nconst SORT_ORDER = 'desc'\n\nconst QUERY_FILTERS = [`_type == \"tasks.task\"`]\n\nconst QUERY_PROJECTION = `{\n ...,\n}`\n\n// Newest tasks first\nconst QUERY_SORT_ORDER = `order(${SORT_FIELD} ${SORT_ORDER})`\n\nconst QUERY = `*[${QUERY_FILTERS.join(' && ')}] ${QUERY_PROJECTION} | ${QUERY_SORT_ORDER}`\n\nexport function useTasksStore(opts: TasksStoreOptions): TasksStoreReturnType {\n const {client} = useAddonDataset()\n const {documentId} = opts\n\n const [state, dispatch] = useReducer(tasksReducer, INITIAL_STATE)\n const [isLoading, setIsLoading] = useState<boolean>(client !== null)\n const [error, setError] = useState<Error | null>(null)\n\n const params = useMemo(\n () => ({documentId: documentId ? getPublishedId(documentId) : null}),\n [documentId],\n )\n\n const initialFetch = useCallback(async () => {\n if (!client) {\n setIsLoading(false)\n return\n }\n\n try {\n const res = await client.fetch(QUERY, params)\n dispatch({type: 'TASKS_SET', tasks: res})\n setIsLoading(false)\n } catch (err) {\n setError(err)\n }\n }, [client, params])\n\n const handleListenerEvent = useCallback(\n async (event: ListenEvent<Record<string, TaskDocument>>) => {\n // Fetch all tasks on initial connection\n if (event.type === 'welcome') {\n setIsLoading(true)\n await initialFetch()\n setIsLoading(false)\n }\n\n // The reconnect event means that we are trying to reconnect to the realtime listener.\n // In this case we set loading to true to indicate that we're trying to\n // reconnect. Once a connection has been established, the welcome event\n // will be received and we'll fetch all tasks again (above).\n if (event.type === 'reconnect') {\n setIsLoading(true)\n }\n\n // Handle mutations (create, update, delete) from the realtime listener\n // and update the tasks store accordingly\n if (event.type === 'mutation') {\n if (event.transition === 'appear') {\n const nextTask = event.result as TaskDocument | undefined\n\n if (nextTask) {\n dispatch({\n type: 'TASK_RECEIVED',\n payload: nextTask,\n })\n }\n }\n\n if (event.transition === 'disappear') {\n dispatch({type: 'TASK_DELETED', id: event.documentId})\n }\n\n if (event.transition === 'update') {\n const updatedTask = event.result as TaskDocument | undefined\n\n if (updatedTask) {\n dispatch({\n type: 'TASK_UPDATED',\n payload: updatedTask,\n })\n }\n }\n }\n },\n [initialFetch],\n )\n\n const listener$ = useMemo(() => {\n if (!client) return of()\n\n const events$ = client.observable.listen(QUERY, params, LISTEN_OPTIONS).pipe(\n catchError((err) => {\n setError(err)\n return of(err)\n }),\n )\n\n return events$\n }, [client, params])\n\n useEffect(() => {\n const sub = listener$.subscribe(handleListenerEvent)\n\n return () => {\n sub?.unsubscribe()\n }\n }, [handleListenerEvent, listener$])\n\n // Transform tasks object to array\n const tasksAsArray = useMemo(() => Object.values(state.tasks), [state.tasks])\n\n return {\n data: tasksAsArray,\n dispatch,\n error,\n isLoading,\n }\n}\n","import debounce from 'lodash-es/debounce.js'\nimport {useMemo, useState} from 'react'\nimport {TasksContext} from 'sanity/_singletons'\n\nimport {useTasksStore} from '../../store/useTasksStore'\nimport {type ActiveDocument, type TasksContextValue} from './types'\n\ninterface TasksProviderProps {\n children: React.ReactNode\n}\n\nconst EMPTY_ARRAY: [] = []\n\n/**\n * @internal\n */\nexport function TasksProvider(props: TasksProviderProps) {\n const {children} = props\n const [activeDocument, setActiveDocument] = useState<ActiveDocument | null>(null)\n const {data = EMPTY_ARRAY, isLoading} = useTasksStore({})\n\n // This change is debounced to wait until the next document loads if we are switching between documents.\n const debouncedSetActiveDocument = useMemo(() => debounce(setActiveDocument, 1000), [])\n\n const value: TasksContextValue = useMemo(\n () => ({\n activeDocument,\n setActiveDocument: debouncedSetActiveDocument,\n isLoading,\n data: data ?? [],\n }),\n [activeDocument, data, isLoading, debouncedSetActiveDocument],\n )\n\n return <TasksContext.Provider value={value}>{children}</TasksContext.Provider>\n}\n","import {TasksUpsellContext} from 'sanity/_singletons'\n\nimport {getDialogPropsFromContext, useUpsellContext} from '../../../hooks/useUpsellContext'\nimport {UpsellDialog} from '../../../studio/upsell/UpsellDialog'\n\n/**\n * @beta\n * @hidden\n */\nexport function TasksUpsellProvider(props: {children: React.ReactNode}) {\n const contextValue = useUpsellContext({\n dataUri: '/journey/tasks',\n feature: 'tasks',\n })\n\n return (\n <TasksUpsellContext.Provider value={contextValue}>\n {props.children}\n <UpsellDialog {...getDialogPropsFromContext(contextValue)} />\n </TasksUpsellContext.Provider>\n )\n}\n","import {type LayoutProps} from '../../config/studio/types'\nimport {AddonDatasetProvider} from '../../studio/addonDataset/AddonDatasetProvider'\nimport {TasksEnabledProvider} from '../context/enabled/TasksEnabledProvider'\nimport {useTasksEnabled} from '../context/enabled/useTasksEnabled'\nimport {TasksNavigationProvider} from '../context/navigation/TasksNavigationProvider'\nimport {TasksProvider} from '../context/tasks/TasksProvider'\nimport {TasksUpsellProvider} from '../context/upsell/TasksUpsellProvider'\n\nconst TasksStudioLayoutInner = (props: LayoutProps) => {\n const {enabled, mode} = useTasksEnabled()\n\n if (!enabled) {\n return props.renderDefault(props)\n }\n\n const children = (\n <TasksProvider>\n <TasksNavigationProvider>{props.renderDefault(props)}</TasksNavigationProvider>\n </TasksProvider>\n )\n\n if (mode === 'upsell') {\n return (\n <AddonDatasetProvider>\n <TasksUpsellProvider>{children}</TasksUpsellProvider>\n </AddonDatasetProvider>\n )\n }\n\n return <AddonDatasetProvider>{children}</AddonDatasetProvider>\n}\n\nexport function TasksStudioLayout(props: LayoutProps) {\n return (\n <TasksEnabledProvider>\n <TasksStudioLayoutInner {...props} />\n </TasksEnabledProvider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,SAAOU,qBAAAC,IAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAA8B,EAAAN,aAAAI,IACnC,EAAAG,SAAAC,WAAAC,UAAoCd,kBAAkBC,SAAQc,WAAY,GAE1EC,qBAA2Bd,aAAa,CAAC,CAAAe,OAAeL,SAAAM;CAAAC,KAAA;EAGtD,IAAI,CAACH,sBAADH,aAAAC,OAAyC;GAAA,IAAAM;GAC3CF,AAD2CR,EAAA,OAAAW,OAAAC,IAAA,2BAAA,KACpCF,KAAA;IAAAR,SACI;IAAKW,MACR;GACR,GAACb,EAAA,KAAAU,MAAAA,KAAAV,EAAA,IAHDQ,KAAOE;GAAP,MAAAD;EAGC;EAIK,IAAAC,KAAAR,UAAA,YAAA,UAA8BY;EAFtCN,AAEsCR,EAAA,OAAAU,KACrCI,KAAAd,EAAA,MAHMc,KAAA;GAAAZ,SACI;GAAIW,MACPH;EACR,GAACV,EAAA,KAAAU,IAAAV,EAAA,KAAAc,KAHDN,KAAOM;CAGN;CAVH,IAAAC,QAAwCP,IAWWE;CAEyC,OAFzCV,EAAA,OAAAL,YAAAK,EAAA,OAAAe,SAE5CL,KAAA,oBAAA,oBAAA,UAAA;EAAqCK;EAAQpB;CAAS,CAAA,GAA+BK,EAAA,KAAAL,UAAAK,EAAA,KAAAe,OAAAf,EAAA,KAAAU,MAAAA,KAAAV,EAAA,IAArFU;AAAqF;ACd9F,MAAMyB,eAAsB;CAC1BC,UAAU;CACVC,cAAc;CACdC,aAAa;CACbC,qBAAqB;CACrBC,QAAQ;AACV;AAEA,SAASC,QAAQC,OAAcC,QAAuB;CACpD,QAAQA,OAAOC,MAAf;EACE,KAAK,qBAOH,OANKD,OAAOE,UAML;GACL,GAAGH;GACHF,QAAQG,OAAOE;EACjB,IARS;GACL,GAAGV;GACHK,QAAQG,OAAOE;EACjB;EAOJ,KAAK,eACH,OAAO;GACL,GAAGH;GACHN,UAAU;GACVC,cAAcnB,KAAK;EACrB;EACF,KAAK,aACH,OAAO;GACL,GAAGwB;GACHN,UAAU;GACVC,cAAcM,OAAOE,QAAQC;EAC/B;EACF,KAAK,cACH,OAAO;GACL,GAAGJ;GACHN,UAAU;GACVC,cAAcM,OAAOE,QAAQC;EAC/B;EACF,KAAK,kBACH,OAAO;GACL,GAAGJ;GACHN,UAAU;GACVC,cAAcnB,KAAK;GACnBqB,qBAAqBI,OAAOE,QAAQN;EACtC;EACF,KAAK,kBACH,OAAO;GACL,GAAGG;GACHN,UAAU;GACVE,aAAaK,OAAOE;EACtB;EACF,KAAK,oBACH,OAAO;GACL,GAAGH;GACHN,UAAU;EACZ;EACF,SACE,OAAOM;CACX;AACF;AAEA,MAAaK,2BAA0BC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAAC,EAAAC,aAAAH,IACtC,CAAAN,OAAAU,YAA0B7B,WAAWkB,SAASN,YAAY,GAC1DkB,SAAe5B,UAAU,GACzB6B,QAAcrC,SAAS,GACvBsC,YAAkBvC,aAAa,GAACwC;CAAA,AAAAP,EAAA,OAAAQ,OAAAC,IAAA,2BAAA,KAEAF,MAAApB,aAAA;EAAAuB,KAC9B,QAAQvB,SAAQQ,MAAhB;GAAqB,KACd;IACHQ,SAAS,EAAAR,MAAO,mBAAkB,CAAC;IACnC,MAAAe;GAAK,KACF;IACHP,SAAS,EAAAR,MAAO,cAAa,CAAC;IAC9B,MAAAe;GAAK,KACF;IACHP,SAAS;KAAAR,MAAO;KAAWC,SAAW,EAAAC,IAAKV,SAAQU,GAAG;IAAC,CAAC;IACxD,MAAAa;GAAK,KACF;IACHP,SAAS;KAAAR,MACD;KAAgBC,SACb,EAAAN,qBAAsBH,SAAQG,oBAAoB;IAC7D,CAAC;IACD,MAAAoB;GAAK,KACF;IACHP,SAAS;KAAAR,MAAO;KAAYC,SAAW,EAAAC,IAAKV,SAAQU,GAAG;IAAC,CAAC;IACzD,MAAAa;EAGJ;CAAC,GACFV,EAAA,KAAAO,MAAAA,KAAAP,EAAA;CAvBD,IAAAW,cAAoBJ,IAuBdK;CAAA,AAAAZ,EAAA,OAAAQ,OAAAC,IAAA,2BAAA,KAE2BG,MAAAC,UAAA;EAC/BV,SAAS;GAAAR,MAAO;GAAgBC,SAAWiB;EAAK,CAAC;CAAC,GACnDb,EAAA,KAAAY,MAAAA,KAAAZ,EAAA;CAFD,IAAAc,eAAqBF,IAEfG;CAAA,AAAAf,EAAA,OAAAI,SAcLW,KAAAf,EAAA,MAZoCe,WAAA;EAInCX,AAHAD,SAAS;GAAAR,MAAO;GAAmBC,SAAW;EAAK,CAAC,GAGpDQ,OAAMY,SAAU,EAAAC,cACA;GAAA,GACTb,OAAMa;IACRlC,6BAA6B;IAC7BC,+BAA+B;IAC/BF,mCAAmC;EACtC,EACF,CAAC;CAAC,GACHkB,EAAA,KAAAI,QAAAJ,EAAA,KAAAe;CAZD,IAAAG,mBAAyBH,IAYbI;CAAA,AAAAnB,EAAA,OAAAQ,OAAAC,IAAA,2BAAA,KAEwBU,WAAA;EAClChB,SAAS;GAAAR,MAAO;GAAmBC,SAAW;EAAI,CAAC;CAAC,GACrDI,EAAA,KAAAmB,MAAAA,KAAAnB,EAAA;CAFD,IAAAoB,kBAAwBD,IAElBE;CAAA,AAAArB,EAAA,OAAAP,MAAAL,gBAAAY,EAAA,OAAAP,MAAAN,YAAAa,EAAA,OAAAM,aAAAN,EAAA,OAAAK,SAEmCgB,WAAA;EACvC,IAAAC,MAAY,IAAIC,IAAIC,OAAMC,SAASC,IAAK;EAMxCG,AALAP,IAAGK,aAAaC,IAAK7C,4BAA4B,OAAO,GACxDuC,IAAGK,aAAaC,IAAK5C,8BAA8BS,MAAKN,QAAS,GAC7DM,MAAKL,gBACPkC,IAAGK,aAAaC,IAAK9C,kCAAkCW,MAAKL,YAAa,GAE3EyC,UAASC,UAAUC,UACNT,IAAGU,SAAU,CAAC,CAAC,CAAAC,WACpB;GACJ3B,UAAS4B,IAAKzD,cAAc;EAAC,CAC9B,CAAC,CAAA0D,YACK;GACL9B,MAAK+B,KAAM;IAAAC,UACC;IAAIC,QACN;IAAOC,OACR;GACT,CAAC;EAAC,CACH;CAAC,GACLvC,EAAA,KAAAP,MAAAL,cAAAY,EAAA,KAAAP,MAAAN,UAAAa,EAAA,KAAAM,WAAAN,EAAA,KAAAK,OAAAL,EAAA,KAAAqB,MAAAA,KAAArB,EAAA;CAnBD,IAAAwC,uBAA6BnB,IAqB7BoB,UAAgBrC,OAAMa,aAAclC,6BACpC2D,aAAiBtC,OAAMa,aAAcjC,+BACrCI,eAAqBgB,OAAMa,aAAcnC,mCAAiC6D,IAAAC;CAE1ExE,AAF0E4B,EAAA,QAAAZ,gBAAAY,EAAA,QAAAyC,WAAAzC,EAAA,QAAAM,aAAAN,EAAA,QAAA0C,cAEhEC,WAAA;EAEJF,YAAY,YAGhBtC,SAAS;GAAAR,MAAO;GAAmBC,SAAW;EAAI,CAAC,GAC/CT,eAAa,UAAbC,iBACFe,SAAS;GAAAR,MAAO;GAAWC,SAAW,EAAAC,IAAKT,aAAY;EAAC,CAAC,GACzDkB,UAAS4B,IAAKxD,cAAc;CAC7B,GACAkE,KAAA;EAACxD;EAAcqD;EAASnC;EAAWnB;CAAQ,GAACa,EAAA,MAAAZ,cAAAY,EAAA,MAAAyC,SAAAzC,EAAA,MAAAM,WAAAN,EAAA,MAAA0C,YAAA1C,EAAA,MAAA2C,IAAA3C,EAAA,MAAA4C,OAAAD,KAAA3C,EAAA,KAAA4C,KAAA5C,EAAA,MAV/C5B,UAAUuE,IAUPC,EAA4C;CAAC,IAAAC;CAAA,AAAA7C,EAAA,QAAAkB,oBAAAlB,EAAA,QAAAwC,wBAAAxC,EAAA,QAAAP,SAGvCoD,KAAA;EAAApD;EAAAkB;EAAAG;EAAAI;EAAAE;EAAAoB;CAOP,GAACxC,EAAA,MAAAkB,kBAAAlB,EAAA,MAAAwC,sBAAAxC,EAAA,MAAAP,OAAAO,EAAA,MAAA6C,MAAAA,KAAA7C,EAAA;CARH,IAAA8C,QACSD,IASRE;CAEiG,OAFjG/C,EAAA,QAAAE,YAAAF,EAAA,QAAA8C,SAEMC,KAAA,oBAAA,uBAAA,UAAA;EAAwCD;EAAQ5C;CAAS,CAAA,GAAkCF,EAAA,MAAAE,UAAAF,EAAA,MAAA8C,OAAA9C,EAAA,MAAA+C,MAAAA,KAAA/C,EAAA,KAA3F+C;AAA2F;;;;;;;;;;ACxIpG,SAASgB,eAAeL,OAAuB;CAE7C,OADkBA,MAAMO,QAAQC,KAAKC,UAAU;EAAC,GAAGD;GAAMC,KAAKC,MAAMD;CAAI,IAAI,CAAC,CACtEH;AACT;AAEA,SAAgBK,aACdC,OACAC,QACmB;CACnB,QAAQA,OAAOnB,MAAf;EACE,KAAK,aAAa;GAEhB,IAAMY,YAAYD,eAAeQ,OAAOb,KAAK;GAE7C,OAAO;IACL,GAAGY;IACHZ,OAAOM;GACT;EACF;EAEA,KAAK,cAAc;GACjB,IAAMQ,iBAAiBD,OAAOpB,SACxBsB,gBAAgBD,gBAEhBE,WAAW,GACdF,eAAeJ,MAAM;IACpB,GAAGE,MAAMZ,MAAMc,eAAeJ;IAC9B,GAAGK;IACHE,QAAQH,eAAeG,UAAUC,KAAAA;IAKjCC,YAAYL,eAAeK,+BAAc,IAAIC,KAAK,EAAA,CAAEC,YAAY;GAClE,EACF;GAEA,OAAO;IACL,GAAGT;IACHZ,OAAO;KACL,GAAGY,MAAMZ;KACT,GAAGgB;IACL;GACF;EACF;EAEA,KAAK,iBAAiB;GACpB,IAAMF,iBAAiBD,OAAOpB;GAE9B,OAAO;IACL,GAAGmB;IACHZ,OAAO;KACL,GAAGY,MAAMZ;MACRc,eAAeJ,MAAMI;IACxB;GACF;EACF;EAEA,KAAK,gBAAgB;GACnB,IAAM,GAAED,OAAOjB,KAAK0B,GAAG,GAAGC,cAAaX,MAAMZ;GAE7C,OAAO;IACL,GAAGY;IACHZ,OAAOuB;GACT;EACF;EAEA,KAAK,gBAAgB;GACnB,IAAMC,cAAcX,OAAOpB,SACrBG,KAAK4B,YAAYd,KAGjBM,WAAW;IAEf,GAJWJ,MAAMZ,MAAMJ;IAMvB,GAAG4B;GACL;GAEA,OAAO;IACL,GAAGZ;IACHZ,OAAO;KACL,GAAGY,MAAMZ;MACRJ,KAAKoB;IACR;GACF;EACF;EAEA,SACE,OAAOJ;CACX;AACF;ACzHA,MAAMmC,gBAAmC,EACvCC,OAAO,CAAC,EACV,GAEMC,iBAAgC;CACpCC,QAAQ;EAAC;EAAW;EAAY;CAAW;CAC3CC,eAAe;CACfC,YAAY;CACZC,oBAAoB;CACpBC,KAAK;AACP,GAcMM,QAAQ,KAAKH,CATI,yBASJA,CAAAA,CAAcI,KAAK,MAAM,EAAC;;;AAE7C,SAAOC,cAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACL,EAAAC,WAAiBhC,gBAAgB,GACjC,EAAAQ,eAAqBqB,MAErB,CAAAI,OAAAvB,YAA0Bd,WAAWQ,cAAcS,aAAa,GAChE,CAAAqB,WAAAC,gBAAkCtC,SAAkBmC,WAAW,IAAI,GACnE,CAAAI,OAAAC,YAA0BxC,SAAuB,IAAI,GAACyC;CAAA,AAAAR,EAAA,OAAAtB,aAGc8B,KAAAR,EAAA,MAA9CQ,KAAA9B,aAAaP,eAAeO,UAAiB,IAA7C,MAA8CsB,EAAA,KAAAtB,YAAAsB,EAAA,KAAAQ;CAAA,IAAAC;CAAA,AAAAT,EAAA,OAAAQ,KAACC,KAAAT,EAAA,MAA5DS,KAAA,EAAA/B,YAAa8B,GAA8C,GAACR,EAAA,KAAAQ,IAAAR,EAAA,KAAAS;CADrE,IAAAC,SACSD,IAERE;CAAA,AAAAX,EAAA,OAAAE,UAAAF,EAAA,OAAAU,UAEgCC,KAAA,YAAA;EAC/B,IAAI,CAACT,QAAM;GACTG,aAAa,EAAK;GAAC;EAAA;EAIrB,IAAA;GACE,IAAAO,MAAY,MAAMV,OAAMW,MAAOjB,OAAOc,MAAM;GAE5CL,AADAzB,SAAS;IAAAkC,MAAO;IAAW9B,OAAS4B;GAAG,CAAC,GACxCP,aAAa,EAAK;EAAC,SAAAU,IAAA;GAEnBR,SAASS,EAAG;EAAC;CACd,GACFhB,EAAA,KAAAE,QAAAF,EAAA,KAAAU,QAAAV,EAAA,KAAAW,MAAAA,KAAAX,EAAA;CAbD,IAAAiB,eAAqBN,IAaDI;CAAA,AAAAf,EAAA,OAAAiB,eAgDjBF,KAAAf,EAAA,MA7CDe,KAAA,OAAAG,UAAA;EAkBE,IAhBIA,MAAKJ,SAAU,cACjBT,aAAa,EAAI,GACjB,MAAMY,aAAa,GACnBZ,aAAa,EAAK,IAOhBa,MAAKJ,SAAU,eACjBT,aAAa,EAAI,GAKfa,MAAKJ,SAAU,YAAU;GAC3B,IAAII,MAAKC,eAAgB,UAAQ;IAC/B,IAAAC,WAAiBF,MAAKG;IAEtB,AAAID,YACFxC,SAAS;KAAAkC,MACD;KAAeQ,SACZF;IACX,CAAC;GACF;GAOH,IAJIF,MAAKC,eAAgB,eACvBvC,SAAS;IAAAkC,MAAO;IAAcS,IAAML,MAAKxC;GAAW,CAAC,GAGnDwC,MAAKC,eAAgB,UAAQ;IAC/B,IAAAK,cAAoBN,MAAKG;IAEzB,AAAIG,eACF5C,SAAS;KAAAkC,MACD;KAAcQ,SACXE;IACX,CAAC;GACF;EACF;CACF,GACFxB,EAAA,KAAAiB,cAAAjB,EAAA,KAAAe;CA9CH,IAAAU,sBAA4BV,IAgD3BW;CAAAC,KAAA;EAGC,IAAI,CAACzB,QAAM;GAAA,IAAA0B;GAAEF,AAAF1B,EAAA,OAAA6B,OAAAC,IAAA,2BAAA,KAASF,KAAA3D,GAAG,GAAC+B,EAAA,KAAA4B,MAAAA,KAAA5B,EAAA,IAAX0B,KAAOE;GAAP,MAAAD;EAAW;EAAA,IAAAC;EAAA,IAAA5B,EAAA,QAAAE,OAAA6B,cAAA/B,EAAA,QAAAU,QAAA;GAAA,IAAAsB;GAOvBhC,AAPuBA,EAAA,QAAA6B,OAAAC,IAAA,2BAAA,KAGXE,MAAAC,WACT1B,SAASS,KAAG,GACL/C,GAAG+C,KAAG,IACdhB,EAAA,MAAAgC,MAAAA,KAAAhC,EAAA,KAJa4B,KAAA1B,OAAM6B,WAAWG,OAAQtC,OAAOc,QAAQzB,cAAc,CAAC,CAAAkD,KACrEnE,WAAWgE,EAGV,CACH,GAAChC,EAAA,MAAAE,OAAA6B,YAAA/B,EAAA,MAAAU,QAAAV,EAAA,MAAA4B;EAAA,OAAAA,KAAA5B,EAAA;EAED0B,KAAOU;CAAO;CAVhB,IAAAC,YAAkBX,IAWEE,IAAAI;CAEpBpE,AAFoBoC,EAAA,QAAAyB,uBAAAzB,EAAA,QAAAqC,aAEVT,WAAA;EACR,IAAAU,MAAYD,UAASE,UAAWd,mBAAmB;EAAC,aAE7C;GACLa,KAAGE,YAAc;EAAC;CACnB,GACAR,KAAA,CAACP,qBAAqBY,SAAS,GAACrC,EAAA,MAAAyB,qBAAAzB,EAAA,MAAAqC,WAAArC,EAAA,MAAA4B,IAAA5B,EAAA,MAAAgC,OAAAJ,KAAA5B,EAAA,KAAAgC,KAAAhC,EAAA,MANnCpC,UAAUgE,IAMPI,EAAgC;CAAC,IAAAS;CAAA,AAAAzC,EAAA,QAAAG,MAAAnB,QAGyByD,KAAAzC,EAAA,OAA1ByC,KAAAC,OAAMC,OAAQxC,MAAKnB,KAAM,GAACgB,EAAA,MAAAG,MAAAnB,OAAAgB,EAAA,MAAAyC;CAA7D,IAAAG,eAAmCH,IAA0CI;CAO5E,OAP4E7C,EAAA,QAAAM,SAAAN,EAAA,QAAAI,aAAAJ,EAAA,QAAA4C,gBAEtEC,KAAA;EAAAC,MACCF;EAAYhE;EAAA0B;EAAAF;CAIpB,GAACJ,EAAA,MAAAM,OAAAN,EAAA,MAAAI,WAAAJ,EAAA,MAAA4C,cAAA5C,EAAA,MAAA6C,MAAAA,KAAA7C,EAAA,KALM6C;AAKN;AC3IH,MAAMa,cAAkB,CAAA;;;;AAKxB,SAAOC,cAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GACL,EAAAP,aAAmBK,OACnB,CAAAG,gBAAAC,qBAA4Cf,SAAgC,IAAI,GAACgB;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,2BAAA,KAC3BF,KAAA,CAAC,GAACJ,EAAA,KAAAI,MAAAA,KAAAJ,EAAA;CAAxD,IAAA,EAAAO,MAAAC,IAAAC,cAAwCnB,cAAcc,EAAE,GAAjDG,OAAAC,OAAAE,KAAAA,IAAAb,cAAAW,IAAkBG;CAAA,AAAAX,EAAA,OAAAK,OAAAC,IAAA,2BAAA,KAGwBK,KAAAzB,WAASiB,mBAAmB,GAAI,GAACH,EAAA,KAAAW,MAAAA,KAAAX,EAAA;CAAlF,IAAAY,6BAAiDD,IAAsCE;CAAA,AAAAb,EAAA,OAAAO,OAOnEM,KAAAb,EAAA,MAAVa,KAAAN,QAAA,CAAA,GAAUP,EAAA,KAAAO,MAAAP,EAAA,KAAAa;CAAA,IAAAC;CAAA,AAAAd,EAAA,OAAAE,kBAAAF,EAAA,OAAAS,aAAAT,EAAA,OAAAa,MAJXC,KAAA;EAAAZ;EAAAC,mBAEcS;EAA0BH;EAAAF,MAEvCM;CACR,GAACb,EAAA,KAAAE,gBAAAF,EAAA,KAAAS,WAAAT,EAAA,KAAAa,IAAAb,EAAA,KAAAc,MAAAA,KAAAd,EAAA;CANH,IAAAe,QACSD,IAORE;CAE6E,OAF7EhB,EAAA,OAAAN,YAAAM,EAAA,OAAAe,SAEMC,KAAA,oBAAA,aAAA,UAAA;EAA8BD;EAAQrB;CAAS,CAAA,GAAwBM,EAAA,KAAAN,UAAAM,EAAA,KAAAe,OAAAf,EAAA,MAAAgB,MAAAA,KAAAhB,EAAA,KAAvEgB;AAAuE;;;;;ACzBhF,SAAOK,oBAAAC,OAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAC;CAAA,AAAAF,EAAA,OAAAG,OAAAC,IAAA,2BAAA,KACiCF,KAAA;EAAAG,SAC3B;EAAgBC,SAChB;CACX,GAACN,EAAA,KAAAE,MAAAA,KAAAF,EAAA;CAHD,IAAAO,eAAqBX,iBAAiBM,EAGrC,GAIIM,KAAAT,MAAKU,UAASC;CAAA,AAAAV,EAAA,OAAAO,eAC0CG,KAAAV,EAAA,MAAvCU,KAAAf,0BAA0BY,YAAY,GAACP,EAAA,KAAAO,cAAAP,EAAA,KAAAU;CAAA,IAAAC;CAAA,AAAAX,EAAA,OAAAU,KAAIC,KAAAX,EAAA,MAA7DW,KAAA,oBAAC,cAAD,EAAa,GAAKD,GAAuC,CAAA,GAAIV,EAAA,KAAAU,IAAAV,EAAA,KAAAW;CAAA,IAAAC;CACjC,OADiCZ,EAAA,OAAAO,gBAAAP,EAAA,OAAAD,MAAAU,YAAAT,EAAA,OAAAW,MAF/DC,KAAA,qBAAA,mBAAA,UAAA;EAAoCL,OAAAA;EAApC,UAAA,CACGC,IACDG,EACF;KAA8BX,EAAA,KAAAO,cAAAP,EAAA,KAAAD,MAAAU,UAAAT,EAAA,KAAAW,IAAAX,EAAA,KAAAY,MAAAA,KAAAZ,EAAA,IAH9BY;AAG8B;ACXlC,MAAMQ,0BAAyBC,UAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,GAC7B,EAAAC,SAAAC,SAAwBT,gBAAgB;CAExC,IAAI,CAACQ,SAAO;EAAA,IAAAE;EACuB,OADvBJ,EAAA,OAAAD,QACuBK,KAAAJ,EAAA,MAA1BI,KAAAL,MAAKM,cAAeN,KAAK,GAACC,EAAA,KAAAD,OAAAC,EAAA,KAAAI,KAA1BA;CAA0B;CAClC,IAAAA;CAAA,AAAAJ,EAAA,OAAAD,QAIuDK,KAAAJ,EAAA,MAA1BI,KAAAL,MAAKM,cAAeN,KAAK,GAACC,EAAA,KAAAD,OAAAC,EAAA,KAAAI;CAAA,IAAAE;CAAA,AAAAN,EAAA,OAAAI,KACtCE,KAAAN,EAAA,MAFhBM,KAAA,oBAAC,eAAD,EAAA,UACE,oBAAC,yBAAD,EAAA,UAA0BF,GAAF,CAAA,EADZ,CAAA,GAEEJ,EAAA,KAAAI,IAAAJ,EAAA,KAAAM;CAHlB,IAAAC,WACED;CAKF,IAAIH,SAAS,UAAQ;EAAA,IAAAK;EAIM,OAJNR,EAAA,OAAAO,WAIMC,KAAAR,EAAA,MAFvBQ,KAAA,oBAAC,sBAAD,EAAA,UACE,oBAAC,qBAAD,EAAsBD,SAAF,CAAA,EADD,CAAA,GAEEP,EAAA,KAAAO,UAAAP,EAAA,KAAAQ,KAFvBA;CAEuB;CAE1B,IAAAA;CAE6D,OAF7DR,EAAA,OAAAO,WAE6DC,KAAAR,EAAA,MAAvDQ,KAAA,oBAAC,sBAAD,EAAuBD,SAAF,CAAA,GAAkCP,EAAA,KAAAO,UAAAP,EAAA,KAAAQ,KAAvDA;AAAuD;AAGhE,SAAOC,kBAAAV,OAAA;CAAA,IAAAC,IAAAC,EAAA,CAAA,GAAAG;CAIoB,OAJpBJ,EAAA,OAAAD,QAIoBK,KAAAJ,EAAA,MAFvBI,KAAA,oBAAC,sBAAD,EAAA,UACE,oBAAC,wBAAD,EAAuB,GAAKL,MAAK,CAAA,EADd,CAAA,GAEEC,EAAA,KAAAD,OAAAC,EAAA,KAAAI,KAFvBA;AAEuB"}
|
|
1
|
+
{"version":3,"file":"TasksStudioLayout-6qNY69FD.js","names":["useMemo","TasksEnabledContext","useFeatureEnabled","FEATURES","useWorkspace","TasksEnabledContextValue","TaksEnabledProviderProps","children","React","ReactNode","TasksEnabledProvider","t0","$","_c","enabled","isLoading","error","sanityTasks","isWorkspaceEnabled","tasks","t1","bb0","t2","Symbol","for","mode","t3","value","useTelemetry","useToast","uuid","ReactNode","useCallback","useEffect","useMemo","useReducer","TasksNavigationContext","useRouter","TaskLinkCopied","TaskLinkOpened","Action","SidebarTabsIds","State","TASKS_SELECTED_TASK_SEARCH_PARAM","TASKS_SIDEBAR_SEARCH_PARAM","TASKS_VIEW_MODE_SEARCH_PARAM","ViewModeOptions","initialState","viewMode","selectedTask","activeTabId","duplicateTaskValues","isOpen","reducer","state","action","type","payload","id","TasksNavigationProvider","t0","$","_c","children","dispatch","router","toast","telemetry","t1","Symbol","for","bb2","setViewMode","t2","tabId","setActiveTab","t3","navigate","stickyParams","handleCloseTasks","t4","handleOpenTasks","t5","url","URL","window","location","href","searchParams","set","navigator","clipboard","writeText","toString","then","log","catch","push","closable","status","title","handleCopyLinkToTask","sidebar","viewMode_0","t6","t7","t8","value","t9","TaskDocument","TaskPostPayload","TaskAddedAction","payload","type","TaskDeletedAction","id","TaskUpdatedAction","Partial","TasksSetAction","tasks","TaskReceivedAction","TasksReducerAction","TasksReducerState","Record","createTasksSet","tasksById","reduce","acc","task","_id","tasksReducer","state","action","nextTaskResult","nextTaskValue","nextTask","_state","undefined","_createdAt","Date","toISOString","_","restTasks","updatedTask","ListenEvent","ListenOptions","useCallback","useEffect","useMemo","useReducer","useState","catchError","of","useAddonDataset","getPublishedId","Loadable","TaskDocument","tasksReducer","TasksReducerAction","TasksReducerState","TasksStoreOptions","documentId","TasksStoreReturnType","dispatch","React","Dispatch","INITIAL_STATE","tasks","LISTEN_OPTIONS","events","includeResult","visibility","includeAllVersions","tag","SORT_FIELD","SORT_ORDER","QUERY_FILTERS","QUERY_PROJECTION","QUERY_SORT_ORDER","QUERY","join","useTasksStore","opts","$","_c","client","state","isLoading","setIsLoading","error","setError","t0","t1","params","t2","res","fetch","type","t3","err","initialFetch","event","transition","nextTask","result","payload","id","updatedTask","handleListenerEvent","t4","bb0","t5","Symbol","for","observable","t6","err_0","listen","pipe","events$","listener$","sub","subscribe","unsubscribe","t7","Object","values","tasksAsArray","t8","data","debounce","useMemo","useState","TasksContext","useTasksStore","ActiveDocument","TasksContextValue","TasksProviderProps","children","React","ReactNode","EMPTY_ARRAY","TasksProvider","props","$","_c","activeDocument","setActiveDocument","t0","Symbol","for","data","t1","isLoading","undefined","t2","debouncedSetActiveDocument","t3","t4","value","t5","TasksUpsellContext","getDialogPropsFromContext","useUpsellContext","UpsellDialog","TasksUpsellProvider","props","$","_c","t0","Symbol","for","dataUri","feature","contextValue","t1","children","t2","t3","t4","LayoutProps","AddonDatasetProvider","TasksEnabledProvider","useTasksEnabled","TasksNavigationProvider","TasksProvider","TasksUpsellProvider","TasksStudioLayoutInner","props","$","_c","enabled","mode","t0","renderDefault","t1","children","t2","TasksStudioLayout"],"sources":["../src/core/tasks/context/enabled/TasksEnabledProvider.tsx","../src/core/tasks/context/navigation/TasksNavigationProvider.tsx","../src/core/tasks/store/reducer.ts","../src/core/tasks/store/useTasksStore.ts","../src/core/tasks/context/tasks/TasksProvider.tsx","../src/core/tasks/context/upsell/TasksUpsellProvider.tsx","../src/core/tasks/plugin/TasksStudioLayout.tsx"],"sourcesContent":["import {useMemo} from 'react'\nimport {TasksEnabledContext} from 'sanity/_singletons'\n\nimport {useFeatureEnabled, FEATURES} from '../../../hooks/useFeatureEnabled'\nimport {useWorkspace} from '../../../studio/workspace'\nimport {type TasksEnabledContextValue} from './types'\n\ninterface TaksEnabledProviderProps {\n children: React.ReactNode\n}\n\n/**\n * @internal\n */\nexport function TasksEnabledProvider({children}: TaksEnabledProviderProps) {\n const {enabled, isLoading, error} = useFeatureEnabled(FEATURES.sanityTasks)\n\n const isWorkspaceEnabled = useWorkspace().tasks?.enabled\n\n const value: TasksEnabledContextValue = useMemo(() => {\n if (!isWorkspaceEnabled || isLoading || error) {\n return {\n enabled: false,\n mode: null,\n }\n }\n return {\n enabled: true,\n mode: enabled ? 'default' : 'upsell',\n }\n }, [enabled, isLoading, isWorkspaceEnabled, error])\n\n return <TasksEnabledContext.Provider value={value}>{children}</TasksEnabledContext.Provider>\n}\n","import {useTelemetry} from '@sanity/telemetry/react'\nimport {useToast} from '@sanity/ui/toast'\nimport {uuid} from '@sanity/uuid'\nimport {type ReactNode, useCallback, useEffect, useMemo, useReducer} from 'react'\nimport {TasksNavigationContext} from 'sanity/_singletons'\nimport {useRouter} from 'sanity/router'\n\nimport {TaskLinkCopied, TaskLinkOpened} from '../../__telemetry__/tasks.telemetry'\nimport {\n type Action,\n type SidebarTabsIds,\n type State,\n TASKS_SELECTED_TASK_SEARCH_PARAM,\n TASKS_SIDEBAR_SEARCH_PARAM,\n TASKS_VIEW_MODE_SEARCH_PARAM,\n type ViewModeOptions,\n} from './types'\n\nconst initialState: State = {\n viewMode: 'list',\n selectedTask: null,\n activeTabId: 'assigned',\n duplicateTaskValues: null,\n isOpen: false,\n}\n\nfunction reducer(state: State, action: Action): State {\n switch (action.type) {\n case 'TOGGLE_TASKS_VIEW': {\n if (!action.payload) {\n return {\n ...initialState,\n isOpen: action.payload,\n }\n }\n return {\n ...state,\n isOpen: action.payload,\n }\n }\n case 'CREATE_TASK':\n return {\n ...state,\n viewMode: 'create',\n selectedTask: uuid(),\n }\n case 'EDIT_TASK':\n return {\n ...state,\n viewMode: 'edit',\n selectedTask: action.payload.id,\n }\n case 'EDIT_DRAFT':\n return {\n ...state,\n viewMode: 'draft',\n selectedTask: action.payload.id,\n }\n case 'DUPLICATE_TASK':\n return {\n ...state,\n viewMode: 'duplicate',\n selectedTask: uuid(),\n duplicateTaskValues: action.payload.duplicateTaskValues,\n }\n case 'SET_ACTIVE_TAB':\n return {\n ...state,\n viewMode: 'list',\n activeTabId: action.payload,\n }\n case 'NAVIGATE_TO_LIST':\n return {\n ...state,\n viewMode: 'list',\n }\n default:\n return state\n }\n}\n\nexport const TasksNavigationProvider = ({children}: {children: ReactNode}) => {\n const [state, dispatch] = useReducer(reducer, initialState)\n const router = useRouter()\n const toast = useToast()\n const telemetry = useTelemetry()\n\n const setViewMode = useCallback((viewMode: ViewModeOptions) => {\n switch (viewMode.type) {\n case 'list':\n dispatch({type: 'NAVIGATE_TO_LIST'})\n break\n case 'create':\n dispatch({type: 'CREATE_TASK'})\n break\n case 'edit':\n dispatch({type: 'EDIT_TASK', payload: {id: viewMode.id}})\n break\n case 'duplicate':\n dispatch({\n type: 'DUPLICATE_TASK',\n payload: {duplicateTaskValues: viewMode.duplicateTaskValues},\n })\n break\n case 'draft':\n dispatch({type: 'EDIT_DRAFT', payload: {id: viewMode.id}})\n break\n default:\n break\n }\n }, [])\n\n const setActiveTab = useCallback((tabId: SidebarTabsIds) => {\n dispatch({type: 'SET_ACTIVE_TAB', payload: tabId})\n }, [])\n\n const handleCloseTasks = useCallback(() => {\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: false})\n\n // Remove task-related query parameters from the URL\n router.navigate({\n stickyParams: {\n ...router.stickyParams,\n [TASKS_SIDEBAR_SEARCH_PARAM]: null,\n [TASKS_VIEW_MODE_SEARCH_PARAM]: null,\n [TASKS_SELECTED_TASK_SEARCH_PARAM]: null,\n },\n })\n }, [router])\n\n const handleOpenTasks = useCallback(() => {\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: true})\n }, [])\n\n const handleCopyLinkToTask = useCallback(() => {\n const url = new URL(window.location.href)\n url.searchParams.set(TASKS_SIDEBAR_SEARCH_PARAM, 'tasks')\n url.searchParams.set(TASKS_VIEW_MODE_SEARCH_PARAM, state.viewMode)\n if (state.selectedTask) {\n url.searchParams.set(TASKS_SELECTED_TASK_SEARCH_PARAM, state.selectedTask)\n }\n navigator.clipboard\n .writeText(url.toString())\n .then(() => {\n telemetry.log(TaskLinkCopied)\n })\n .catch(() => {\n toast.push({\n closable: true,\n status: 'error',\n title: 'Failed to copy link to clipboard',\n })\n })\n }, [state.selectedTask, state.viewMode, telemetry, toast])\n\n const sidebar = router.stickyParams[TASKS_SIDEBAR_SEARCH_PARAM]\n const viewMode = router.stickyParams[TASKS_VIEW_MODE_SEARCH_PARAM]\n const selectedTask = router.stickyParams[TASKS_SELECTED_TASK_SEARCH_PARAM]\n\n useEffect(() => {\n // listen to the URL to open the tasks view if the sidebar is set to task.\n if (sidebar !== 'tasks') {\n return\n }\n dispatch({type: 'TOGGLE_TASKS_VIEW', payload: true})\n if (viewMode === 'edit' && selectedTask) {\n dispatch({type: 'EDIT_TASK', payload: {id: selectedTask}})\n telemetry.log(TaskLinkOpened)\n }\n }, [selectedTask, sidebar, telemetry, viewMode])\n\n const value = useMemo(\n () => ({\n state,\n setViewMode,\n setActiveTab,\n handleCloseTasks,\n handleOpenTasks,\n handleCopyLinkToTask,\n }),\n [handleCloseTasks, handleCopyLinkToTask, handleOpenTasks, setActiveTab, setViewMode, state],\n )\n\n return <TasksNavigationContext.Provider value={value}>{children}</TasksNavigationContext.Provider>\n}\n","import {type TaskDocument, type TaskPostPayload} from '../types'\n\ninterface TaskAddedAction {\n payload: TaskDocument | TaskPostPayload\n type: 'TASK_ADDED'\n}\n\ninterface TaskDeletedAction {\n id: string\n type: 'TASK_DELETED'\n}\n\ninterface TaskUpdatedAction {\n payload: TaskDocument | Partial<TaskPostPayload>\n type: 'TASK_UPDATED'\n}\n\ninterface TasksSetAction {\n tasks: TaskDocument[]\n type: 'TASKS_SET'\n}\n\ninterface TaskReceivedAction {\n payload: TaskDocument\n type: 'TASK_RECEIVED'\n}\n\nexport type TasksReducerAction =\n | TaskAddedAction\n | TaskDeletedAction\n | TaskUpdatedAction\n | TasksSetAction\n | TaskReceivedAction\n\nexport interface TasksReducerState {\n tasks: Record<string, TaskDocument>\n}\n\n/**\n * Transform an array of tasks into an object with the task id as key:\n * ```\n * {\n * 'task-1': { _id: 'task-1', ... },\n * 'task-2': { _id: 'task-2', ... },\n * }\n * ```\n */\nfunction createTasksSet(tasks: TaskDocument[]) {\n const tasksById = tasks.reduce((acc, task) => ({...acc, [task._id]: task}), {})\n return tasksById\n}\n\nexport function tasksReducer(\n state: TasksReducerState,\n action: TasksReducerAction,\n): TasksReducerState {\n switch (action.type) {\n case 'TASKS_SET': {\n // Create an object with the task id as key\n const tasksById = createTasksSet(action.tasks)\n\n return {\n ...state,\n tasks: tasksById,\n }\n }\n\n case 'TASK_ADDED': {\n const nextTaskResult = action.payload as TaskDocument\n const nextTaskValue = nextTaskResult satisfies TaskDocument\n\n const nextTask = {\n [nextTaskResult._id]: {\n ...state.tasks[nextTaskResult._id],\n ...nextTaskValue,\n _state: nextTaskResult._state || undefined,\n // If the task is created optimistically, it won't have a createdAt date as this is set on the server.\n // However, we need to set a createdAt date to be able to sort the tasks correctly.\n // Therefore, we set the createdAt date to the current date here if it's missing while creating the task.\n // Once the task is created and received from the server, the createdAt date will be updated to the correct value.\n _createdAt: nextTaskResult._createdAt || new Date().toISOString(),\n } satisfies TaskDocument,\n }\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n ...nextTask,\n },\n }\n }\n\n case 'TASK_RECEIVED': {\n const nextTaskResult = action.payload\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n [nextTaskResult._id]: nextTaskResult,\n },\n }\n }\n\n case 'TASK_DELETED': {\n const {[action.id]: _, ...restTasks} = state.tasks\n\n return {\n ...state,\n tasks: restTasks,\n }\n }\n\n case 'TASK_UPDATED': {\n const updatedTask = action.payload\n const id = updatedTask._id as string\n const task = state.tasks[id]\n\n const nextTask = {\n // Add existing task data\n ...task,\n // Add incoming task data\n ...updatedTask,\n } satisfies TaskDocument\n\n return {\n ...state,\n tasks: {\n ...state.tasks,\n [id]: nextTask,\n },\n }\n }\n\n default:\n return state\n }\n}\n","import {type ListenEvent, type ListenOptions} from '@sanity/client'\nimport {useCallback, useEffect, useMemo, useReducer, useState} from 'react'\nimport {catchError, of} from 'rxjs'\n\nimport {useAddonDataset} from '../../studio/addonDataset/useAddonDataset'\nimport {getPublishedId} from '../../util/draftUtils'\nimport {type Loadable, type TaskDocument} from '../types'\nimport {tasksReducer, type TasksReducerAction, type TasksReducerState} from './reducer'\n\nexport interface TasksStoreOptions {\n documentId?: string\n}\n\ninterface TasksStoreReturnType extends Loadable<TaskDocument[]> {\n dispatch: React.Dispatch<TasksReducerAction>\n}\n\nconst INITIAL_STATE: TasksReducerState = {\n tasks: {},\n}\n\nconst LISTEN_OPTIONS: ListenOptions = {\n events: ['welcome', 'mutation', 'reconnect'],\n includeResult: true,\n visibility: 'query',\n includeAllVersions: true,\n tag: 'tasks-store',\n}\n\nconst SORT_FIELD = '_createdAt'\nconst SORT_ORDER = 'desc'\n\nconst QUERY_FILTERS = [`_type == \"tasks.task\"`]\n\nconst QUERY_PROJECTION = `{\n ...,\n}`\n\n// Newest tasks first\nconst QUERY_SORT_ORDER = `order(${SORT_FIELD} ${SORT_ORDER})`\n\nconst QUERY = `*[${QUERY_FILTERS.join(' && ')}] ${QUERY_PROJECTION} | ${QUERY_SORT_ORDER}`\n\nexport function useTasksStore(opts: TasksStoreOptions): TasksStoreReturnType {\n const {client} = useAddonDataset()\n const {documentId} = opts\n\n const [state, dispatch] = useReducer(tasksReducer, INITIAL_STATE)\n const [isLoading, setIsLoading] = useState<boolean>(client !== null)\n const [error, setError] = useState<Error | null>(null)\n\n const params = useMemo(\n () => ({documentId: documentId ? getPublishedId(documentId) : null}),\n [documentId],\n )\n\n const initialFetch = useCallback(async () => {\n if (!client) {\n setIsLoading(false)\n return\n }\n\n try {\n const res = await client.fetch(QUERY, params)\n dispatch({type: 'TASKS_SET', tasks: res})\n setIsLoading(false)\n } catch (err) {\n setError(err)\n }\n }, [client, params])\n\n const handleListenerEvent = useCallback(\n async (event: ListenEvent<Record<string, TaskDocument>>) => {\n // Fetch all tasks on initial connection\n if (event.type === 'welcome') {\n setIsLoading(true)\n await initialFetch()\n setIsLoading(false)\n }\n\n // The reconnect event means that we are trying to reconnect to the realtime listener.\n // In this case we set loading to true to indicate that we're trying to\n // reconnect. Once a connection has been established, the welcome event\n // will be received and we'll fetch all tasks again (above).\n if (event.type === 'reconnect') {\n setIsLoading(true)\n }\n\n // Handle mutations (create, update, delete) from the realtime listener\n // and update the tasks store accordingly\n if (event.type === 'mutation') {\n if (event.transition === 'appear') {\n const nextTask = event.result as TaskDocument | undefined\n\n if (nextTask) {\n dispatch({\n type: 'TASK_RECEIVED',\n payload: nextTask,\n })\n }\n }\n\n if (event.transition === 'disappear') {\n dispatch({type: 'TASK_DELETED', id: event.documentId})\n }\n\n if (event.transition === 'update') {\n const updatedTask = event.result as TaskDocument | undefined\n\n if (updatedTask) {\n dispatch({\n type: 'TASK_UPDATED',\n payload: updatedTask,\n })\n }\n }\n }\n },\n [initialFetch],\n )\n\n const listener$ = useMemo(() => {\n if (!client) return of()\n\n const events$ = client.observable.listen(QUERY, params, LISTEN_OPTIONS).pipe(\n catchError((err) => {\n setError(err)\n return of(err)\n }),\n )\n\n return events$\n }, [client, params])\n\n useEffect(() => {\n const sub = listener$.subscribe(handleListenerEvent)\n\n return () => {\n sub?.unsubscribe()\n }\n }, [handleListenerEvent, listener$])\n\n // Transform tasks object to array\n const tasksAsArray = useMemo(() => Object.values(state.tasks), [state.tasks])\n\n return {\n data: tasksAsArray,\n dispatch,\n error,\n isLoading,\n }\n}\n","import debounce from 'lodash-es/debounce.js'\nimport {useMemo, useState} from 'react'\nimport {TasksContext} from 'sanity/_singletons'\n\nimport {useTasksStore} from '../../store/useTasksStore'\nimport {type ActiveDocument, type TasksContextValue} from './types'\n\ninterface TasksProviderProps {\n children: React.ReactNode\n}\n\nconst EMPTY_ARRAY: [] = []\n\n/**\n * @internal\n */\nexport function TasksProvider(props: TasksProviderProps) {\n const {children} = props\n const [activeDocument, setActiveDocument] = useState<ActiveDocument | null>(null)\n const {data = EMPTY_ARRAY, isLoading} = useTasksStore({})\n\n // This change is debounced to wait until the next document loads if we are switching between documents.\n const debouncedSetActiveDocument = useMemo(() => debounce(setActiveDocument, 1000), [])\n\n const value: TasksContextValue = useMemo(\n () => ({\n activeDocument,\n setActiveDocument: debouncedSetActiveDocument,\n isLoading,\n data: data ?? [],\n }),\n [activeDocument, data, isLoading, debouncedSetActiveDocument],\n )\n\n return <TasksContext.Provider value={value}>{children}</TasksContext.Provider>\n}\n","import {TasksUpsellContext} from 'sanity/_singletons'\n\nimport {getDialogPropsFromContext, useUpsellContext} from '../../../hooks/useUpsellContext'\nimport {UpsellDialog} from '../../../studio/upsell/UpsellDialog'\n\n/**\n * @beta\n * @hidden\n */\nexport function TasksUpsellProvider(props: {children: React.ReactNode}) {\n const contextValue = useUpsellContext({\n dataUri: '/journey/tasks',\n feature: 'tasks',\n })\n\n return (\n <TasksUpsellContext.Provider value={contextValue}>\n {props.children}\n <UpsellDialog {...getDialogPropsFromContext(contextValue)} />\n </TasksUpsellContext.Provider>\n )\n}\n","import {type LayoutProps} from '../../config/studio/types'\nimport {AddonDatasetProvider} from '../../studio/addonDataset/AddonDatasetProvider'\nimport {TasksEnabledProvider} from '../context/enabled/TasksEnabledProvider'\nimport {useTasksEnabled} from '../context/enabled/useTasksEnabled'\nimport {TasksNavigationProvider} from '../context/navigation/TasksNavigationProvider'\nimport {TasksProvider} from '../context/tasks/TasksProvider'\nimport {TasksUpsellProvider} from '../context/upsell/TasksUpsellProvider'\n\nconst TasksStudioLayoutInner = (props: LayoutProps) => {\n const {enabled, mode} = useTasksEnabled()\n\n if (!enabled) {\n return props.renderDefault(props)\n }\n\n const children = (\n <TasksProvider>\n <TasksNavigationProvider>{props.renderDefault(props)}</TasksNavigationProvider>\n </TasksProvider>\n )\n\n if (mode === 'upsell') {\n return (\n <AddonDatasetProvider>\n <TasksUpsellProvider>{children}</TasksUpsellProvider>\n </AddonDatasetProvider>\n )\n }\n\n return <AddonDatasetProvider>{children}</AddonDatasetProvider>\n}\n\nexport function TasksStudioLayout(props: LayoutProps) {\n return (\n <TasksEnabledProvider>\n <TasksStudioLayoutInner {...props} />\n </TasksEnabledProvider>\n )\n}\n"],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ import { t as MenuGroup$1 } from "./MenuGroup-BmeDS8f7.js";
|
|
|
5
5
|
import { t as useTranslation } from "./useTranslation-Cqs6Itwv.js";
|
|
6
6
|
import { t as TextWithTone } from "./TextWithTone-DDdV-YQo.js";
|
|
7
7
|
import { n as useListFormat } from "./Translate-0HIWr1eF.js";
|
|
8
|
-
import { a as UserAvatar } from "./ReleaseTitle-
|
|
9
|
-
import { S as useDialogTimeZone } from "./useScheduledDraftMenuActions-
|
|
10
|
-
import { t as useTimeZone } from "./useTimeZone-
|
|
8
|
+
import { a as UserAvatar } from "./ReleaseTitle-ln13W3P1.js";
|
|
9
|
+
import { S as useDialogTimeZone } from "./useScheduledDraftMenuActions-DIQYFw0x.js";
|
|
10
|
+
import { t as useTimeZone } from "./useTimeZone-Da8WK1q-.js";
|
|
11
11
|
import { memo, useContext, useEffect, useId, useLayoutEffect, useReducer, useRef, useState } from "react";
|
|
12
12
|
import { c } from "react/compiler-runtime";
|
|
13
13
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -1033,4 +1033,4 @@ const LabelSuffix = styled(Flex).withConfig({
|
|
|
1033
1033
|
};
|
|
1034
1034
|
export { useChangeIndicatorsReportedValues as _, useI18nText as a, useTrackerStoreReporter as b, FieldPresenceWithOverlay as c, INTERSECTION_THRESHOLDS as d, createDescriptionId as f, ChangeIndicatorsTracker as g, TooltipOfDisabled as h, FieldActionMenu as i, PresenceTracker as l, StatusIcon as m, FormFieldHeaderText as n, FieldPresence as o, FormFieldValidationStatus as p, FormFieldBaseHeader as r, FieldPresenceInner as s, TimeZoneButton as t, usePresenceReportedValues as u, useChangeIndicatorsReporter as v, useTrackerStore as y };
|
|
1035
1035
|
|
|
1036
|
-
//# sourceMappingURL=TimeZoneButton-
|
|
1036
|
+
//# sourceMappingURL=TimeZoneButton-TmrFye13.js.map
|