@arbidocs/blocks 0.5.113 → 0.5.114
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/dist/{ConnectedCallDock-VCJ6Q7WE.cjs → ConnectedCallDock-2KXEQENS.cjs} +13 -13
- package/dist/{ConnectedCallDock-VCJ6Q7WE.cjs.map → ConnectedCallDock-2KXEQENS.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-BUI3ILJD.cjs → ConnectedCallRoom-MU3NPNXF.cjs} +12 -12
- package/dist/{ConnectedCallRoom-BUI3ILJD.cjs.map → ConnectedCallRoom-MU3NPNXF.cjs.map} +1 -1
- package/dist/{ConnectedMailInviteCard-P65MQM6J.cjs → ConnectedMailInviteCard-EINB3THA.cjs} +5 -5
- package/dist/{ConnectedMailInviteCard-P65MQM6J.cjs.map → ConnectedMailInviteCard-EINB3THA.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-JO2H4QIP.cjs → ConnectedNativeDocxComparison-VH3I65H6.cjs} +16 -16
- package/dist/{ConnectedNativeDocxComparison-JO2H4QIP.cjs.map → ConnectedNativeDocxComparison-VH3I65H6.cjs.map} +1 -1
- package/dist/{ConnectedProductionSetDialog-BSPM4NQC.cjs → ConnectedProductionSetDialog-4EAY6KAZ.cjs} +8 -8
- package/dist/{ConnectedProductionSetDialog-BSPM4NQC.cjs.map → ConnectedProductionSetDialog-4EAY6KAZ.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-DMQEJFCA.cjs → ConnectedStreamedWordArtifact-KQSHCA75.cjs} +16 -16
- package/dist/{ConnectedStreamedWordArtifact-DMQEJFCA.cjs.map → ConnectedStreamedWordArtifact-KQSHCA75.cjs.map} +1 -1
- package/dist/{DocumentReviewCard-UBE2DVAC.cjs → DocumentReviewCard-OCPFVMLD.cjs} +20 -20
- package/dist/{DocumentReviewCard-UBE2DVAC.cjs.map → DocumentReviewCard-OCPFVMLD.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-EBYRA3ZZ.cjs → FilesViewerDialog-BAGOEMXW.cjs} +38 -38
- package/dist/{FilesViewerDialog-EBYRA3ZZ.cjs.map → FilesViewerDialog-BAGOEMXW.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-BO2OJO7A.cjs → WorkspaceTableView-IMAZICIZ.cjs} +3 -3
- package/dist/{WorkspaceTableView-BO2OJO7A.cjs.map → WorkspaceTableView-IMAZICIZ.cjs.map} +1 -1
- package/dist/agents/index.cjs +202 -202
- package/dist/{ai-EMNMGDAN.cjs → ai-7U4B4CVF.cjs} +22 -22
- package/dist/ai-7U4B4CVF.cjs.map +1 -0
- package/dist/calls/index.cjs +51 -51
- package/dist/chat/index.cjs +29 -29
- package/dist/{chunk-GVTKFVXH.cjs → chunk-2W5E62EY.cjs} +6 -6
- package/dist/{chunk-GVTKFVXH.cjs.map → chunk-2W5E62EY.cjs.map} +1 -1
- package/dist/{chunk-ZZZ6AZDR.cjs → chunk-3ODEWSRO.cjs} +4 -4
- package/dist/{chunk-ZZZ6AZDR.cjs.map → chunk-3ODEWSRO.cjs.map} +1 -1
- package/dist/{chunk-LCNKKSN3.cjs → chunk-3R6YHJ3G.cjs} +4 -4
- package/dist/{chunk-LCNKKSN3.cjs.map → chunk-3R6YHJ3G.cjs.map} +1 -1
- package/dist/{chunk-DZWIVRYP.cjs → chunk-3U36VYMD.cjs} +21 -21
- package/dist/{chunk-DZWIVRYP.cjs.map → chunk-3U36VYMD.cjs.map} +1 -1
- package/dist/{chunk-DMNX556N.cjs → chunk-436I7PQL.cjs} +8 -8
- package/dist/{chunk-DMNX556N.cjs.map → chunk-436I7PQL.cjs.map} +1 -1
- package/dist/{chunk-J2RXQVVF.cjs → chunk-4EK7TAP7.cjs} +5 -5
- package/dist/{chunk-J2RXQVVF.cjs.map → chunk-4EK7TAP7.cjs.map} +1 -1
- package/dist/{chunk-MJHIBCF7.cjs → chunk-4NPCDS2X.cjs} +4 -4
- package/dist/{chunk-MJHIBCF7.cjs.map → chunk-4NPCDS2X.cjs.map} +1 -1
- package/dist/{chunk-ONZOVO2B.cjs → chunk-57EE6CMW.cjs} +15 -15
- package/dist/{chunk-ONZOVO2B.cjs.map → chunk-57EE6CMW.cjs.map} +1 -1
- package/dist/{chunk-Y45VRNSZ.cjs → chunk-57NHXEU2.cjs} +4 -4
- package/dist/{chunk-Y45VRNSZ.cjs.map → chunk-57NHXEU2.cjs.map} +1 -1
- package/dist/{chunk-OVKJ7OVZ.cjs → chunk-5QUL5BZO.cjs} +5 -5
- package/dist/{chunk-OVKJ7OVZ.cjs.map → chunk-5QUL5BZO.cjs.map} +1 -1
- package/dist/{chunk-MUA5PJGX.cjs → chunk-5SKHK3BG.cjs} +4 -4
- package/dist/{chunk-MUA5PJGX.cjs.map → chunk-5SKHK3BG.cjs.map} +1 -1
- package/dist/{chunk-AFXDLDPU.cjs → chunk-5UYFLFNR.cjs} +4 -4
- package/dist/{chunk-AFXDLDPU.cjs.map → chunk-5UYFLFNR.cjs.map} +1 -1
- package/dist/{chunk-R4TP3VS3.cjs → chunk-6DCIZA3X.cjs} +55 -55
- package/dist/{chunk-R4TP3VS3.cjs.map → chunk-6DCIZA3X.cjs.map} +1 -1
- package/dist/{chunk-KGGSBJMU.cjs → chunk-7TEUGFIL.cjs} +4 -4
- package/dist/{chunk-KGGSBJMU.cjs.map → chunk-7TEUGFIL.cjs.map} +1 -1
- package/dist/{chunk-A4Z5CTLF.cjs → chunk-7X3FS5HQ.cjs} +39 -39
- package/dist/{chunk-A4Z5CTLF.cjs.map → chunk-7X3FS5HQ.cjs.map} +1 -1
- package/dist/{chunk-GGBNUDLK.cjs → chunk-7XT5B2DZ.cjs} +25 -25
- package/dist/{chunk-GGBNUDLK.cjs.map → chunk-7XT5B2DZ.cjs.map} +1 -1
- package/dist/{chunk-AJVZYRAJ.cjs → chunk-AHT6DQNI.cjs} +59 -59
- package/dist/{chunk-AJVZYRAJ.cjs.map → chunk-AHT6DQNI.cjs.map} +1 -1
- package/dist/{chunk-MY7Q3QE2.cjs → chunk-BW5MF464.cjs} +4 -4
- package/dist/{chunk-MY7Q3QE2.cjs.map → chunk-BW5MF464.cjs.map} +1 -1
- package/dist/{chunk-NP4EWPIP.cjs → chunk-CJYWHUZR.cjs} +6 -6
- package/dist/{chunk-NP4EWPIP.cjs.map → chunk-CJYWHUZR.cjs.map} +1 -1
- package/dist/{chunk-6W4X4EFI.cjs → chunk-CMGNRMPA.cjs} +5 -5
- package/dist/{chunk-6W4X4EFI.cjs.map → chunk-CMGNRMPA.cjs.map} +1 -1
- package/dist/{chunk-Z3VNKPPH.cjs → chunk-E3Y7RI3J.cjs} +4 -4
- package/dist/{chunk-Z3VNKPPH.cjs.map → chunk-E3Y7RI3J.cjs.map} +1 -1
- package/dist/{chunk-WT7CCCIN.cjs → chunk-GNX3FBBX.cjs} +4 -4
- package/dist/{chunk-WT7CCCIN.cjs.map → chunk-GNX3FBBX.cjs.map} +1 -1
- package/dist/{chunk-KZKGZ7IG.cjs → chunk-GQXPNIRE.cjs} +14 -14
- package/dist/{chunk-KZKGZ7IG.cjs.map → chunk-GQXPNIRE.cjs.map} +1 -1
- package/dist/{chunk-IIWJQEBC.cjs → chunk-H7PHOTX2.cjs} +10 -10
- package/dist/{chunk-IIWJQEBC.cjs.map → chunk-H7PHOTX2.cjs.map} +1 -1
- package/dist/{chunk-LQHXUSWZ.cjs → chunk-HQDR43JC.cjs} +6 -6
- package/dist/{chunk-LQHXUSWZ.cjs.map → chunk-HQDR43JC.cjs.map} +1 -1
- package/dist/{chunk-6LQN4BMX.cjs → chunk-IDCD5TEZ.cjs} +5 -5
- package/dist/{chunk-6LQN4BMX.cjs.map → chunk-IDCD5TEZ.cjs.map} +1 -1
- package/dist/{chunk-6YOZKXV6.cjs → chunk-JR2YSBD5.cjs} +4 -4
- package/dist/{chunk-6YOZKXV6.cjs.map → chunk-JR2YSBD5.cjs.map} +1 -1
- package/dist/{chunk-OTG5T5Z5.cjs → chunk-JSQQV23D.cjs} +4 -4
- package/dist/{chunk-OTG5T5Z5.cjs.map → chunk-JSQQV23D.cjs.map} +1 -1
- package/dist/{chunk-ZFKWCGA5.cjs → chunk-JV5TVUOU.cjs} +4 -4
- package/dist/{chunk-ZFKWCGA5.cjs.map → chunk-JV5TVUOU.cjs.map} +1 -1
- package/dist/{chunk-BHTEKYWJ.cjs → chunk-LFRNBT2I.cjs} +21 -21
- package/dist/{chunk-BHTEKYWJ.cjs.map → chunk-LFRNBT2I.cjs.map} +1 -1
- package/dist/{chunk-WJP6ICDM.cjs → chunk-LYTIQQQ2.cjs} +3 -3
- package/dist/{chunk-WJP6ICDM.cjs.map → chunk-LYTIQQQ2.cjs.map} +1 -1
- package/dist/{chunk-YONJRX6N.cjs → chunk-MC4F2URI.cjs} +28 -28
- package/dist/{chunk-YONJRX6N.cjs.map → chunk-MC4F2URI.cjs.map} +1 -1
- package/dist/{chunk-MQANCZOD.cjs → chunk-MGQSLMTC.cjs} +77 -77
- package/dist/{chunk-MQANCZOD.cjs.map → chunk-MGQSLMTC.cjs.map} +1 -1
- package/dist/{chunk-M2D4POJV.cjs → chunk-MZ2KZXNU.cjs} +8 -8
- package/dist/{chunk-M2D4POJV.cjs.map → chunk-MZ2KZXNU.cjs.map} +1 -1
- package/dist/{chunk-FGEBA3TL.cjs → chunk-NHHEMBXQ.cjs} +22 -22
- package/dist/{chunk-FGEBA3TL.cjs.map → chunk-NHHEMBXQ.cjs.map} +1 -1
- package/dist/{chunk-ENUZ35NR.cjs → chunk-P5AQYC4D.cjs} +4 -4
- package/dist/{chunk-ENUZ35NR.cjs.map → chunk-P5AQYC4D.cjs.map} +1 -1
- package/dist/{chunk-5I2VUNZR.cjs → chunk-PGJYD67F.cjs} +6 -6
- package/dist/{chunk-5I2VUNZR.cjs.map → chunk-PGJYD67F.cjs.map} +1 -1
- package/dist/{chunk-BYN7UMC5.cjs → chunk-PL7HUTM3.cjs} +8 -8
- package/dist/{chunk-BYN7UMC5.cjs.map → chunk-PL7HUTM3.cjs.map} +1 -1
- package/dist/{chunk-GTTDJMWX.cjs → chunk-Q6DQGGP4.cjs} +6 -6
- package/dist/{chunk-GTTDJMWX.cjs.map → chunk-Q6DQGGP4.cjs.map} +1 -1
- package/dist/{chunk-T7J352JD.cjs → chunk-QMIHLJMH.cjs} +6 -6
- package/dist/{chunk-T7J352JD.cjs.map → chunk-QMIHLJMH.cjs.map} +1 -1
- package/dist/{chunk-IE677C4I.cjs → chunk-SBWIA4PL.cjs} +21 -21
- package/dist/{chunk-IE677C4I.cjs.map → chunk-SBWIA4PL.cjs.map} +1 -1
- package/dist/{chunk-JDI7E4RI.cjs → chunk-TDN33HSK.cjs} +14 -14
- package/dist/{chunk-JDI7E4RI.cjs.map → chunk-TDN33HSK.cjs.map} +1 -1
- package/dist/{chunk-U5T46QCS.cjs → chunk-TKHCIHE2.cjs} +3 -3
- package/dist/chunk-TKHCIHE2.cjs.map +1 -0
- package/dist/{chunk-WIAWHETB.cjs → chunk-ULPTSXXO.cjs} +4 -4
- package/dist/{chunk-WIAWHETB.cjs.map → chunk-ULPTSXXO.cjs.map} +1 -1
- package/dist/{chunk-PIB7K7HI.cjs → chunk-UNDQYTRF.cjs} +7 -7
- package/dist/{chunk-PIB7K7HI.cjs.map → chunk-UNDQYTRF.cjs.map} +1 -1
- package/dist/{chunk-OKHKJ5ML.cjs → chunk-UUENH4BJ.cjs} +11 -11
- package/dist/{chunk-OKHKJ5ML.cjs.map → chunk-UUENH4BJ.cjs.map} +1 -1
- package/dist/{chunk-K5MYEWD5.cjs → chunk-UZHWXKS6.cjs} +7 -7
- package/dist/{chunk-K5MYEWD5.cjs.map → chunk-UZHWXKS6.cjs.map} +1 -1
- package/dist/{chunk-OZWYCRRK.cjs → chunk-V5IMYLYK.cjs} +29 -29
- package/dist/{chunk-OZWYCRRK.cjs.map → chunk-V5IMYLYK.cjs.map} +1 -1
- package/dist/{chunk-XW524KUX.cjs → chunk-VJCSEMXT.cjs} +4 -4
- package/dist/{chunk-XW524KUX.cjs.map → chunk-VJCSEMXT.cjs.map} +1 -1
- package/dist/{chunk-B5442TKX.cjs → chunk-VRK3IQAP.cjs} +4 -4
- package/dist/{chunk-B5442TKX.cjs.map → chunk-VRK3IQAP.cjs.map} +1 -1
- package/dist/{chunk-MYRKL3JO.cjs → chunk-VWTOIGX4.cjs} +4 -4
- package/dist/{chunk-MYRKL3JO.cjs.map → chunk-VWTOIGX4.cjs.map} +1 -1
- package/dist/{chunk-5VCID67B.cjs → chunk-WW6LXQY6.cjs} +10 -10
- package/dist/{chunk-5VCID67B.cjs.map → chunk-WW6LXQY6.cjs.map} +1 -1
- package/dist/{chunk-YAPXIANR.cjs → chunk-YVCOQHCE.cjs} +5 -5
- package/dist/{chunk-YAPXIANR.cjs.map → chunk-YVCOQHCE.cjs.map} +1 -1
- package/dist/{chunk-L52N2LVE.cjs → chunk-ZZA756I4.cjs} +4 -4
- package/dist/{chunk-L52N2LVE.cjs.map → chunk-ZZA756I4.cjs.map} +1 -1
- package/dist/citations/index.cjs +8 -8
- package/dist/connect/docx.cjs +19 -19
- package/dist/connect/index.cjs +1121 -1097
- package/dist/connect/index.cjs.map +1 -1
- package/dist/connect/viewer.cjs +26 -26
- package/dist/connection/ConnectedWorkflowBuilder.d.ts +11 -0
- package/dist/connection/ConnectedWorkflowBuilder.js +42 -3
- package/dist/connection/ConnectedWorkflowBuilder.js.map +2 -2
- package/dist/connection/conversation/ConnectedConversationPage.js +36 -2
- package/dist/connection/conversation/ConnectedConversationPage.js.map +2 -2
- package/dist/connection/workflows/ConnectedWorkflowsPage.js +10 -3
- package/dist/connection/workflows/ConnectedWorkflowsPage.js.map +2 -2
- package/dist/connection/workflows/useWorkflowsPageState.d.ts +1 -0
- package/dist/connection/workflows/useWorkflowsPageState.js.map +2 -2
- package/dist/dashboards/index.cjs +22 -22
- package/dist/embed/index.cjs +32 -32
- package/dist/facts/index.cjs +44 -44
- package/dist/files/index.cjs +226 -226
- package/dist/home/index.cjs +32 -32
- package/dist/index.cjs +907 -907
- package/dist/provider/environment.d.ts +5 -0
- package/dist/provider/environment.js +1 -1
- package/dist/provider/environment.js.map +2 -2
- package/dist/provider/requests.d.ts +2 -0
- package/dist/provider/requests.js.map +2 -2
- package/dist/retrieval/index.cjs +4 -4
- package/dist/shell/index.cjs +50 -50
- package/dist/site/index.cjs +5 -5
- package/dist/studio/index.cjs +31 -31
- package/dist/workflow-canvas/index.cjs +92 -50
- package/dist/workflow-canvas/index.cjs.map +1 -1
- package/dist/workspaces/index.cjs +27 -27
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ai-EMNMGDAN.cjs.map +0 -1
- package/dist/chunk-U5T46QCS.cjs.map +0 -1
|
@@ -65,6 +65,11 @@ export interface OpenWorkflowOptions {
|
|
|
65
65
|
* (`ConnectedWorkflowRunPage`) itself; the host only shows the page.
|
|
66
66
|
*/
|
|
67
67
|
view?: 'builder' | 'runs' | 'run';
|
|
68
|
+
/**
|
|
69
|
+
* With no workflow: a new workflow's builder starts from this preset instead of a blank one
|
|
70
|
+
* (`schedule`: a repeating schedule with one task prompt to fill in).
|
|
71
|
+
*/
|
|
72
|
+
preset?: 'schedule';
|
|
68
73
|
/** The workspace the workflow is in, when it is not the open one. */
|
|
69
74
|
workspaceId?: string;
|
|
70
75
|
}
|
|
@@ -92,7 +92,7 @@ function resolve(environment) {
|
|
|
92
92
|
openMail(options);
|
|
93
93
|
}),
|
|
94
94
|
openWorkflow: recordingIntent(environment.openWorkflow, (openWorkflow) => (id, options) => {
|
|
95
|
-
workflowOpenRequest.request({ workflowId: id, view: options?.view });
|
|
95
|
+
workflowOpenRequest.request({ workflowId: id, view: options?.view, preset: options?.preset });
|
|
96
96
|
openWorkflow(id, options);
|
|
97
97
|
}),
|
|
98
98
|
openNewConversation: recordingIntent(environment.openNewConversation, (openNewConversation) => (options) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/provider/environment.ts"],
|
|
4
|
-
"sourcesContent": ["import { useSyncExternalStore, type ReactNode } from 'react'\nimport type { AnalyticsChartRequest, MailAttachment } from '@arbidocs/react'\nimport {\n notify as notifyStore,\n useHostConfigRecord,\n type NotifyOptions,\n type NotifyVariant,\n} from '@arbidocs/react/shell'\nimport type { BlockLinkComponent } from '../components/blockLink'\nimport { requestCalendarEvent, type PendingCalendarEvent } from '../connection/calendar/store'\nimport { choiceDialog, confirmDialog, type ChoiceRequest, type ConfirmRequest } from './dialogs'\nimport {\n closeDialog,\n openDialog,\n type BlocksDialogKind,\n type DialogPropsArg,\n type ShareRequest,\n type UploadSource,\n} from './dialog-registry'\nimport {\n conversationStartRequest,\n mailDraftRequest,\n mailMessageRequest,\n mailFolderRequest,\n mailComposeRequest,\n workflowOpenRequest,\n} from './requests'\nimport { requestSettingsSection } from './settings-section'\n\n/** What blocks need from the host's runtime configuration (the app's `config.json`). */\nexport interface BlocksRuntimeConfig {\n /** Origin of the ARBI API; `''` means the page's own origin. */\n apiBaseUrl: string\n /** The deployment's domain, e.g. `www.arbidocs.com` (deep links, key derivation, labels). */\n deploymentDomain: string\n /** Where seats are added for this deployment (a Box's licence page); none: its settings. */\n licenceUrl?: string\n /**\n * A public page where a Microsoft administrator approves SharePoint access, for the user to send\n * them (the accounts import offers the link). None: no link.\n */\n sharePointAdminUrl?: string\n}\n\nexport interface OpenDocumentOptions {\n /** 1-based page to scroll to. */\n page?: number\n /** Passage (chunk) to highlight. */\n passageId?: string\n /**\n * The workspace the document is in, when it is not the open one (a document an agent wrote in\n * its own workspace): the host opens that workspace first.\n */\n workspaceId?: string\n /** An earlier version (1-based); none: the current one. */\n version?: number\n /**\n * The viewer tab to show: `pdf` is where a signature request is reviewed and signed, and where\n * a copy the document tools made (frozen, signed) opens.\n */\n tab?: 'pdf'\n}\n\nexport type { ShareRequest, UploadSource }\n\nexport interface OpenWordEditorOptions {\n /** The comment to show (a mention in it, a reply to it). */\n commentId?: string\n /** The workspace the document is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenConversationOptions {\n /** The message to scroll to. */\n messageId?: string\n /** The open document stays on screen beside the thread (a thread about it). */\n keepDocumentOpen?: boolean\n /** The workspace the thread is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenNewConversationOptions {\n /** Its first message, sent once the new conversation is ready (an ask bar, \"Ask about this\"). */\n prompt?: string\n /** The open document stays on screen beside it (a chat started from it). */\n keepDocumentOpen?: boolean\n}\n\nexport interface OpenWorkflowOptions {\n /**\n * The workflow's editor (default), its runs, or (`run`, a host catalogue entry) where it starts.\n * The Workflows page (`ConnectedWorkflowsPage`) opens the editor, the runs or the run page\n * (`ConnectedWorkflowRunPage`) itself; the host only shows the page.\n */\n view?: 'builder' | 'runs' | 'run'\n /** The workspace the workflow is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenMailOptions {\n /** The email draft to show (a draft a workflow step or an agent left), to check and send. */\n draftId?: string\n /** The folder to show (`inbox`, `sent`, `trash`, `outbox`\u2026). Default: the host's own. */\n folder?: string\n /** A message to show in the native inbox (a secure message just claimed from its link). */\n messageId?: string\n /** Start a new message with these files attached (\"Email\" on a document). */\n attachments?: MailAttachment[]\n}\n\nexport interface OpenCalendarOptions {\n /** The event to open on. */\n event?: PendingCalendarEvent\n}\n\n/** What `openFiles` shows: some files selected, and the list narrowed. */\nexport interface OpenFilesOptions {\n /** Files to select. */\n select?: string[]\n /** Quick filters by key (a label id, `folder:<path>`, `folder:none`): show or hide those files. */\n filters?: Record<string, 'include' | 'exclude'>\n}\n\n/**\n * Something a kit links to (the target of an `open\u2026` intent), for `hrefFor`. `workspaceId` is the\n * workspace it is in, when the kit knows it.\n */\nexport type LinkTarget =\n | { kind: 'document'; documentId: string; workspaceId?: string | null }\n | {\n kind: 'conversation'\n conversationId: string\n workspaceId?: string | null\n messageId?: string\n }\n | { kind: 'workspace'; workspaceId: string }\n /** A project; none: the projects list. */\n | { kind: 'project'; projectId?: string }\n /** A workflow (its editor); none: the workflows list. */\n | { kind: 'workflow'; workflowId?: string; workspaceId?: string | null }\n /** The mailbox, on an email draft when given. */\n | { kind: 'mail'; draftId?: string }\n /** The user's settings, at a section when given. */\n | { kind: 'settings'; section?: string }\n /** The calendar, on an event when given. */\n | { kind: 'calendar'; eventId?: string }\n\n/**\n * The only way blocks reach the host app's environment: the host configuration's `environment`\n * (`<ArbiHost config={{ environment: { navigate, notify, \u2026 } }}>`). Blocks never import a router, a\n * toast library or an app store; the host gives what it has, and every field has a safe default so\n * a block renders correctly with no host at all. A nested host overrides only the fields it gives\n * and inherits the rest.\n */\nexport interface BlocksEnvironment {\n /** Router-aware link (keeps navigation in-SPA). Default: a plain `<a href>`. */\n linkComponent?: BlockLinkComponent\n /** Imperative navigation for buttons and keyboard shortcuts. Default: `window.location.assign`. */\n navigate: (href: string) => void\n /**\n * A hook: the address on screen (path, then any search), re-rendering when it changes. A routed\n * shell reads its current row from it. A host with a router adapts that router's location\n * (react-router: `() => { const l = useLocation(); return l.pathname + l.search }`); keep the\n * same hook for the host's life. Default: the window's address, following Back/Forward.\n */\n useLocation: () => string\n /** Surface a transient message (and record it in the notification centre). Default: the shared\n * `@arbidocs/react` notify store, rendered by its `<Toaster/>`. */\n notify: (message: ReactNode, kind?: NotifyVariant, options?: NotifyOptions) => void\n /** Ask the user to confirm. Default: the blocks prompt dialog. */\n confirm: (request: ConfirmRequest) => Promise<boolean>\n /** Ask the user to pick one of several choices; `null` when dismissed. Default: the blocks\n * prompt dialog. */\n choose: <T extends string>(request: ChoiceRequest<T>) => Promise<T | null>\n /**\n * Open a global dialog by kind (`BlocksDialogProps`), shown by the one `<ConnectedGlobalDialogs>`\n * in the shell. Default: the blocks dialog registry.\n */\n openDialog: <K extends BlocksDialogKind>(kind: K, ...props: DialogPropsArg<K>) => void\n /** Close a global dialog. Default: the blocks dialog registry. */\n closeDialog: (kind: BlocksDialogKind) => void\n /** Deployment configuration. Default: same-origin API on the page's own host. */\n runtimeConfig: BlocksRuntimeConfig\n /**\n * The address of a target in the host's router, for a real link (open in a new tab, middle-click,\n * copy link) beside the matching `open\u2026` intent: a kit never builds an app path itself, so its\n * links and its navigation agree on every site. `undefined`: no link (the row still opens on a\n * click). Default: none. ARBI's addresses (`/wrk-\u2026/doc-\u2026`): the route codec's `hrefFor`.\n */\n hrefFor: (target: LinkTarget) => string | undefined\n /** Open a document (optionally at a page / passage) wherever the host shows documents.\n * Default: no-op. */\n openDocument: (documentId: string, options?: OpenDocumentOptions) => void\n /**\n * Open a Word document (`opensInWord`) in the host's Word editor, optionally on a comment.\n * Default: `openDocument` (a host whose viewer edits Word documents in place needs no other).\n */\n openWordEditor: (documentId: string, options?: OpenWordEditorOptions) => void\n /** Open a conversation thread, optionally scrolled to a message. Default: no-op. */\n openConversation: (conversationId: string, options?: OpenConversationOptions) => void\n /**\n * Show a new, empty conversation, unbound to any document. With a `prompt` it is sent as the\n * first message once the conversation is ready (recorded for the chat that shows it:\n * `ConnectedConversationThread`, `ChatPage`). Without one a launch composes into the session's draft\n * after this. Default: no-op.\n */\n openNewConversation: (options?: OpenNewConversationOptions) => void\n /**\n * Open the user's settings, optionally at a section (a `ConnectedSettingsPage` section id).\n * The section is always recorded for `ConnectedSettingsPage` first (`requestSettingsSection`);\n * the host's handler then shows its settings. Default: only that record.\n */\n openSettings: (section?: string) => void\n /** Open a project; no id: the projects list. Default: no-op. */\n openProject: (projectId?: string) => void\n /**\n * Show the calendar page (`ConnectedCalendar`), optionally on an event (recorded for the\n * calendar first: `requestCalendarEvent`). Default: only that record.\n */\n openCalendar: (options?: OpenCalendarOptions) => void\n /**\n * Show the mailbox (`ConnectedMailbox`), optionally on an email draft (recorded for the mailbox\n * first). Absent: the host has no mail, and a kit offers no way to open it.\n */\n openMail?: (options?: OpenMailOptions) => void\n /** Show the host's calls page (call history, scheduled calls). Absent: not offered. */\n openCalls?: () => void\n /** Open the direct chat with a person (the host's messenger). Absent: not offered. */\n openDirectChat?: (userId: string) => void\n /** Open one of my chats (a group or meeting chat) in the host's messenger. Absent: not offered. */\n openChat?: (chatId: string) => void\n /** Show the host's notification centre (`ConnectedNotificationCenter`), optionally on one\n * entry (`focusId`). Absent: not offered. */\n openNotifications?: (options?: { focusId?: string }) => void\n /** Show the host's contacts (a panel it toggles, a page). Absent: not offered. */\n openContacts?: () => void\n /** Show the host's databases page (user-defined tables). Absent: not offered. */\n openDatabases?: () => void\n /** Show the host's Analytics page (saved dashboards); `database`: with a new dashboard charting that\n * database (a database's \"Chart this\"). Absent: not offered. */\n openAnalytics?: (options?: { database?: AnalyticsChartRequest }) => void\n /** Show the host's tags page (people, organisations and the other tags). Absent: not offered. */\n openTags?: () => void\n /** Show the host's facts page; `compose`: with its composer open for a new fact; `focusId`: at\n * that fact. Absent: not offered. */\n openFacts?: (options?: { compose?: boolean; focusId?: string }) => void\n /** Show the open workspace's threads (the host's threads page). Absent: not offered. */\n openThreads?: () => void\n /** Show the host's Smart Search page (`ConnectedSearchPage`). Absent: not offered. */\n openSmartSearch?: () => void\n /**\n * Open a workflow in the host's Workflows page (its editor, or its runs); no id: the list.\n * Offered only while the `workflows` feature is on (`useOpenWorkflow` in `/connect`). Absent: never.\n */\n openWorkflow?: (workflowId?: string, options?: OpenWorkflowOptions) => void\n /**\n * Show the open workspace's document processing (the host's processing panel: what is indexing,\n * what failed). Absent: not offered.\n */\n openProcessing?: () => void\n /** Show the open workspace's files, optionally with some selected and the list narrowed. Default: no-op. */\n openFiles: (options?: OpenFilesOptions) => void\n /**\n * Add files the host's way (its upload dialog), optionally with some already picked, or from one\n * source. Absent: a kit that adds files uploads them itself.\n */\n openUpload?: (files?: File[], options?: { source?: UploadSource }) => void\n /** Open the host's skills browser, optionally at one skill. Absent: not offered. */\n openSkillsBrowser?: (skillSlug?: string) => void\n /** Share a document or a thread by email (the host's share dialog). Absent: not offered. */\n openShare?: (request: ShareRequest) => void\n /**\n * Show a workspace (its own page). Under `defaultHost`'s sign-in layer the kits select it first\n * (`useConnectedWorkspace().openWorkspace`); a host that keeps its own session switches to it\n * here. `name` is for the host's messages. Default: no-op.\n */\n openWorkspace: (workspaceId: string, options?: { name?: string }) => void\n}\n\nconst noop = () => {}\n\nconst subscribeToHistory = (listener: () => void) => {\n window.addEventListener('popstate', listener)\n return () => window.removeEventListener('popstate', listener)\n}\nconst windowAddress = () => window.location.pathname + window.location.search\n\n/** The window's address, following Back/Forward (the environment's default `useLocation`). */\nfunction useWindowLocation(): string {\n return useSyncExternalStore(subscribeToHistory, windowAddress, () => '/')\n}\n\nconst defaultEnvironment: BlocksEnvironment = {\n navigate: (href) => {\n if (typeof window !== 'undefined') window.location.assign(href)\n },\n useLocation: useWindowLocation,\n notify: (message, kind = 'info', options) => {\n notifyStore[kind](message, options)\n },\n confirm: confirmDialog,\n choose: choiceDialog,\n openDialog,\n closeDialog,\n runtimeConfig: {\n apiBaseUrl: '',\n deploymentDomain: typeof window !== 'undefined' ? window.location.host : '',\n },\n hrefFor: () => undefined,\n openDocument: noop,\n openWordEditor: noop,\n openConversation: noop,\n openNewConversation: noop,\n openSettings: requestSettingsSection,\n openProject: noop,\n openCalendar: (options) => {\n if (options?.event) requestCalendarEvent(options.event)\n },\n openFiles: noop,\n openWorkspace: noop,\n}\n\nconst resolved = new WeakMap<object, BlocksEnvironment>()\nconst complete = new WeakSet<BlocksEnvironment>()\n// The intents below that record what they open on: a resolved environment passed on again (a\n// nested host's, `createBlocksEnvironment`'s) records once, not twice.\nconst recording = new WeakSet<object>()\n\nfunction records<F extends object>(intent: F): F {\n recording.add(intent)\n return intent\n}\n\nfunction recordingIntent<F extends object>(\n host: F | undefined,\n wrap: (host: F) => F\n): F | undefined {\n if (!host) return undefined\n return recording.has(host) ? host : records(wrap(host))\n}\n\nfunction resolve(environment: Partial<BlocksEnvironment>): BlocksEnvironment {\n const { openDocument } = environment\n const value: BlocksEnvironment = {\n ...defaultEnvironment,\n openWordEditor: openDocument\n ? (documentId, options) => openDocument(documentId, { workspaceId: options?.workspaceId })\n : noop,\n ...environment,\n // What an intent opens on is recorded for the surface before the host shows it.\n openSettings:\n recordingIntent(environment.openSettings, (openSettings) => (section) => {\n requestSettingsSection(section)\n openSettings(section)\n }) ?? defaultEnvironment.openSettings,\n openCalendar:\n recordingIntent(environment.openCalendar, (openCalendar) => (options) => {\n defaultEnvironment.openCalendar(options)\n openCalendar(options)\n }) ?? defaultEnvironment.openCalendar,\n openMail: recordingIntent(environment.openMail, (openMail) => (options) => {\n if (options?.draftId) mailDraftRequest.request(options.draftId)\n if (options?.messageId) mailMessageRequest.request(options.messageId)\n if (options?.folder) mailFolderRequest.request(options.folder)\n if (options?.attachments?.length) mailComposeRequest.request(options.attachments)\n openMail(options)\n }),\n openWorkflow: recordingIntent(environment.openWorkflow, (openWorkflow) => (id, options) => {\n workflowOpenRequest.request({ workflowId: id, view: options?.view })\n openWorkflow(id, options)\n }),\n openNewConversation:\n recordingIntent(environment.openNewConversation, (openNewConversation) => (options) => {\n openNewConversation(options)\n // After the host's reset of the new conversation, which clears its draft.\n const prompt = options?.prompt?.trim()\n if (prompt) conversationStartRequest.request(prompt)\n }) ?? noop,\n }\n complete.add(value)\n return value\n}\n\n/**\n * The environment with every field filled in (the defaults where `environment` gives none), and\n * every intent recording what it opens on. A host calls it for code outside React (a store action,\n * a notification handler); passing the result as the host configuration's `environment` uses it\n * as is.\n */\nexport function createBlocksEnvironment(\n environment: Partial<BlocksEnvironment>\n): BlocksEnvironment {\n if (complete.has(environment as BlocksEnvironment)) return environment as BlocksEnvironment\n let value = resolved.get(environment)\n if (!value) resolved.set(environment, (value = resolve(environment)))\n return value\n}\n\n/** The host's environment, every field filled in (the defaults where the host gives none). */\nexport function useBlocksEnvironment(): BlocksEnvironment {\n const environment = useHostConfigRecord().environment as Partial<BlocksEnvironment> | undefined\n return environment ? createBlocksEnvironment(environment) : defaultEnvironment\n}\n\n/** Open and close the global dialogs (`<ConnectedGlobalDialogs>`), the host's way. */\nexport function useBlocksDialogs(): Pick<BlocksEnvironment, 'openDialog' | 'closeDialog'> {\n const { openDialog, closeDialog } = useBlocksEnvironment()\n return { openDialog, closeDialog }\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,4BAA4C;AAErD;AAAA,EACE,UAAU;AAAA,EACV;AAAA,OAGK;AAEP,SAAS,4BAAuD;AAChE,SAAS,cAAc,qBAA8D;AACrF;AAAA,EACE;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,8BAA8B;
|
|
4
|
+
"sourcesContent": ["import { useSyncExternalStore, type ReactNode } from 'react'\nimport type { AnalyticsChartRequest, MailAttachment } from '@arbidocs/react'\nimport {\n notify as notifyStore,\n useHostConfigRecord,\n type NotifyOptions,\n type NotifyVariant,\n} from '@arbidocs/react/shell'\nimport type { BlockLinkComponent } from '../components/blockLink'\nimport { requestCalendarEvent, type PendingCalendarEvent } from '../connection/calendar/store'\nimport { choiceDialog, confirmDialog, type ChoiceRequest, type ConfirmRequest } from './dialogs'\nimport {\n closeDialog,\n openDialog,\n type BlocksDialogKind,\n type DialogPropsArg,\n type ShareRequest,\n type UploadSource,\n} from './dialog-registry'\nimport {\n conversationStartRequest,\n mailDraftRequest,\n mailMessageRequest,\n mailFolderRequest,\n mailComposeRequest,\n workflowOpenRequest,\n} from './requests'\nimport { requestSettingsSection } from './settings-section'\n\n/** What blocks need from the host's runtime configuration (the app's `config.json`). */\nexport interface BlocksRuntimeConfig {\n /** Origin of the ARBI API; `''` means the page's own origin. */\n apiBaseUrl: string\n /** The deployment's domain, e.g. `www.arbidocs.com` (deep links, key derivation, labels). */\n deploymentDomain: string\n /** Where seats are added for this deployment (a Box's licence page); none: its settings. */\n licenceUrl?: string\n /**\n * A public page where a Microsoft administrator approves SharePoint access, for the user to send\n * them (the accounts import offers the link). None: no link.\n */\n sharePointAdminUrl?: string\n}\n\nexport interface OpenDocumentOptions {\n /** 1-based page to scroll to. */\n page?: number\n /** Passage (chunk) to highlight. */\n passageId?: string\n /**\n * The workspace the document is in, when it is not the open one (a document an agent wrote in\n * its own workspace): the host opens that workspace first.\n */\n workspaceId?: string\n /** An earlier version (1-based); none: the current one. */\n version?: number\n /**\n * The viewer tab to show: `pdf` is where a signature request is reviewed and signed, and where\n * a copy the document tools made (frozen, signed) opens.\n */\n tab?: 'pdf'\n}\n\nexport type { ShareRequest, UploadSource }\n\nexport interface OpenWordEditorOptions {\n /** The comment to show (a mention in it, a reply to it). */\n commentId?: string\n /** The workspace the document is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenConversationOptions {\n /** The message to scroll to. */\n messageId?: string\n /** The open document stays on screen beside the thread (a thread about it). */\n keepDocumentOpen?: boolean\n /** The workspace the thread is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenNewConversationOptions {\n /** Its first message, sent once the new conversation is ready (an ask bar, \"Ask about this\"). */\n prompt?: string\n /** The open document stays on screen beside it (a chat started from it). */\n keepDocumentOpen?: boolean\n}\n\nexport interface OpenWorkflowOptions {\n /**\n * The workflow's editor (default), its runs, or (`run`, a host catalogue entry) where it starts.\n * The Workflows page (`ConnectedWorkflowsPage`) opens the editor, the runs or the run page\n * (`ConnectedWorkflowRunPage`) itself; the host only shows the page.\n */\n view?: 'builder' | 'runs' | 'run'\n /**\n * With no workflow: a new workflow's builder starts from this preset instead of a blank one\n * (`schedule`: a repeating schedule with one task prompt to fill in).\n */\n preset?: 'schedule'\n /** The workspace the workflow is in, when it is not the open one. */\n workspaceId?: string\n}\n\nexport interface OpenMailOptions {\n /** The email draft to show (a draft a workflow step or an agent left), to check and send. */\n draftId?: string\n /** The folder to show (`inbox`, `sent`, `trash`, `outbox`\u2026). Default: the host's own. */\n folder?: string\n /** A message to show in the native inbox (a secure message just claimed from its link). */\n messageId?: string\n /** Start a new message with these files attached (\"Email\" on a document). */\n attachments?: MailAttachment[]\n}\n\nexport interface OpenCalendarOptions {\n /** The event to open on. */\n event?: PendingCalendarEvent\n}\n\n/** What `openFiles` shows: some files selected, and the list narrowed. */\nexport interface OpenFilesOptions {\n /** Files to select. */\n select?: string[]\n /** Quick filters by key (a label id, `folder:<path>`, `folder:none`): show or hide those files. */\n filters?: Record<string, 'include' | 'exclude'>\n}\n\n/**\n * Something a kit links to (the target of an `open\u2026` intent), for `hrefFor`. `workspaceId` is the\n * workspace it is in, when the kit knows it.\n */\nexport type LinkTarget =\n | { kind: 'document'; documentId: string; workspaceId?: string | null }\n | {\n kind: 'conversation'\n conversationId: string\n workspaceId?: string | null\n messageId?: string\n }\n | { kind: 'workspace'; workspaceId: string }\n /** A project; none: the projects list. */\n | { kind: 'project'; projectId?: string }\n /** A workflow (its editor); none: the workflows list. */\n | { kind: 'workflow'; workflowId?: string; workspaceId?: string | null }\n /** The mailbox, on an email draft when given. */\n | { kind: 'mail'; draftId?: string }\n /** The user's settings, at a section when given. */\n | { kind: 'settings'; section?: string }\n /** The calendar, on an event when given. */\n | { kind: 'calendar'; eventId?: string }\n\n/**\n * The only way blocks reach the host app's environment: the host configuration's `environment`\n * (`<ArbiHost config={{ environment: { navigate, notify, \u2026 } }}>`). Blocks never import a router, a\n * toast library or an app store; the host gives what it has, and every field has a safe default so\n * a block renders correctly with no host at all. A nested host overrides only the fields it gives\n * and inherits the rest.\n */\nexport interface BlocksEnvironment {\n /** Router-aware link (keeps navigation in-SPA). Default: a plain `<a href>`. */\n linkComponent?: BlockLinkComponent\n /** Imperative navigation for buttons and keyboard shortcuts. Default: `window.location.assign`. */\n navigate: (href: string) => void\n /**\n * A hook: the address on screen (path, then any search), re-rendering when it changes. A routed\n * shell reads its current row from it. A host with a router adapts that router's location\n * (react-router: `() => { const l = useLocation(); return l.pathname + l.search }`); keep the\n * same hook for the host's life. Default: the window's address, following Back/Forward.\n */\n useLocation: () => string\n /** Surface a transient message (and record it in the notification centre). Default: the shared\n * `@arbidocs/react` notify store, rendered by its `<Toaster/>`. */\n notify: (message: ReactNode, kind?: NotifyVariant, options?: NotifyOptions) => void\n /** Ask the user to confirm. Default: the blocks prompt dialog. */\n confirm: (request: ConfirmRequest) => Promise<boolean>\n /** Ask the user to pick one of several choices; `null` when dismissed. Default: the blocks\n * prompt dialog. */\n choose: <T extends string>(request: ChoiceRequest<T>) => Promise<T | null>\n /**\n * Open a global dialog by kind (`BlocksDialogProps`), shown by the one `<ConnectedGlobalDialogs>`\n * in the shell. Default: the blocks dialog registry.\n */\n openDialog: <K extends BlocksDialogKind>(kind: K, ...props: DialogPropsArg<K>) => void\n /** Close a global dialog. Default: the blocks dialog registry. */\n closeDialog: (kind: BlocksDialogKind) => void\n /** Deployment configuration. Default: same-origin API on the page's own host. */\n runtimeConfig: BlocksRuntimeConfig\n /**\n * The address of a target in the host's router, for a real link (open in a new tab, middle-click,\n * copy link) beside the matching `open\u2026` intent: a kit never builds an app path itself, so its\n * links and its navigation agree on every site. `undefined`: no link (the row still opens on a\n * click). Default: none. ARBI's addresses (`/wrk-\u2026/doc-\u2026`): the route codec's `hrefFor`.\n */\n hrefFor: (target: LinkTarget) => string | undefined\n /** Open a document (optionally at a page / passage) wherever the host shows documents.\n * Default: no-op. */\n openDocument: (documentId: string, options?: OpenDocumentOptions) => void\n /**\n * Open a Word document (`opensInWord`) in the host's Word editor, optionally on a comment.\n * Default: `openDocument` (a host whose viewer edits Word documents in place needs no other).\n */\n openWordEditor: (documentId: string, options?: OpenWordEditorOptions) => void\n /** Open a conversation thread, optionally scrolled to a message. Default: no-op. */\n openConversation: (conversationId: string, options?: OpenConversationOptions) => void\n /**\n * Show a new, empty conversation, unbound to any document. With a `prompt` it is sent as the\n * first message once the conversation is ready (recorded for the chat that shows it:\n * `ConnectedConversationThread`, `ChatPage`). Without one a launch composes into the session's draft\n * after this. Default: no-op.\n */\n openNewConversation: (options?: OpenNewConversationOptions) => void\n /**\n * Open the user's settings, optionally at a section (a `ConnectedSettingsPage` section id).\n * The section is always recorded for `ConnectedSettingsPage` first (`requestSettingsSection`);\n * the host's handler then shows its settings. Default: only that record.\n */\n openSettings: (section?: string) => void\n /** Open a project; no id: the projects list. Default: no-op. */\n openProject: (projectId?: string) => void\n /**\n * Show the calendar page (`ConnectedCalendar`), optionally on an event (recorded for the\n * calendar first: `requestCalendarEvent`). Default: only that record.\n */\n openCalendar: (options?: OpenCalendarOptions) => void\n /**\n * Show the mailbox (`ConnectedMailbox`), optionally on an email draft (recorded for the mailbox\n * first). Absent: the host has no mail, and a kit offers no way to open it.\n */\n openMail?: (options?: OpenMailOptions) => void\n /** Show the host's calls page (call history, scheduled calls). Absent: not offered. */\n openCalls?: () => void\n /** Open the direct chat with a person (the host's messenger). Absent: not offered. */\n openDirectChat?: (userId: string) => void\n /** Open one of my chats (a group or meeting chat) in the host's messenger. Absent: not offered. */\n openChat?: (chatId: string) => void\n /** Show the host's notification centre (`ConnectedNotificationCenter`), optionally on one\n * entry (`focusId`). Absent: not offered. */\n openNotifications?: (options?: { focusId?: string }) => void\n /** Show the host's contacts (a panel it toggles, a page). Absent: not offered. */\n openContacts?: () => void\n /** Show the host's databases page (user-defined tables). Absent: not offered. */\n openDatabases?: () => void\n /** Show the host's Analytics page (saved dashboards); `database`: with a new dashboard charting that\n * database (a database's \"Chart this\"). Absent: not offered. */\n openAnalytics?: (options?: { database?: AnalyticsChartRequest }) => void\n /** Show the host's tags page (people, organisations and the other tags). Absent: not offered. */\n openTags?: () => void\n /** Show the host's facts page; `compose`: with its composer open for a new fact; `focusId`: at\n * that fact. Absent: not offered. */\n openFacts?: (options?: { compose?: boolean; focusId?: string }) => void\n /** Show the open workspace's threads (the host's threads page). Absent: not offered. */\n openThreads?: () => void\n /** Show the host's Smart Search page (`ConnectedSearchPage`). Absent: not offered. */\n openSmartSearch?: () => void\n /**\n * Open a workflow in the host's Workflows page (its editor, or its runs); no id: the list.\n * Offered only while the `workflows` feature is on (`useOpenWorkflow` in `/connect`). Absent: never.\n */\n openWorkflow?: (workflowId?: string, options?: OpenWorkflowOptions) => void\n /**\n * Show the open workspace's document processing (the host's processing panel: what is indexing,\n * what failed). Absent: not offered.\n */\n openProcessing?: () => void\n /** Show the open workspace's files, optionally with some selected and the list narrowed. Default: no-op. */\n openFiles: (options?: OpenFilesOptions) => void\n /**\n * Add files the host's way (its upload dialog), optionally with some already picked, or from one\n * source. Absent: a kit that adds files uploads them itself.\n */\n openUpload?: (files?: File[], options?: { source?: UploadSource }) => void\n /** Open the host's skills browser, optionally at one skill. Absent: not offered. */\n openSkillsBrowser?: (skillSlug?: string) => void\n /** Share a document or a thread by email (the host's share dialog). Absent: not offered. */\n openShare?: (request: ShareRequest) => void\n /**\n * Show a workspace (its own page). Under `defaultHost`'s sign-in layer the kits select it first\n * (`useConnectedWorkspace().openWorkspace`); a host that keeps its own session switches to it\n * here. `name` is for the host's messages. Default: no-op.\n */\n openWorkspace: (workspaceId: string, options?: { name?: string }) => void\n}\n\nconst noop = () => {}\n\nconst subscribeToHistory = (listener: () => void) => {\n window.addEventListener('popstate', listener)\n return () => window.removeEventListener('popstate', listener)\n}\nconst windowAddress = () => window.location.pathname + window.location.search\n\n/** The window's address, following Back/Forward (the environment's default `useLocation`). */\nfunction useWindowLocation(): string {\n return useSyncExternalStore(subscribeToHistory, windowAddress, () => '/')\n}\n\nconst defaultEnvironment: BlocksEnvironment = {\n navigate: (href) => {\n if (typeof window !== 'undefined') window.location.assign(href)\n },\n useLocation: useWindowLocation,\n notify: (message, kind = 'info', options) => {\n notifyStore[kind](message, options)\n },\n confirm: confirmDialog,\n choose: choiceDialog,\n openDialog,\n closeDialog,\n runtimeConfig: {\n apiBaseUrl: '',\n deploymentDomain: typeof window !== 'undefined' ? window.location.host : '',\n },\n hrefFor: () => undefined,\n openDocument: noop,\n openWordEditor: noop,\n openConversation: noop,\n openNewConversation: noop,\n openSettings: requestSettingsSection,\n openProject: noop,\n openCalendar: (options) => {\n if (options?.event) requestCalendarEvent(options.event)\n },\n openFiles: noop,\n openWorkspace: noop,\n}\n\nconst resolved = new WeakMap<object, BlocksEnvironment>()\nconst complete = new WeakSet<BlocksEnvironment>()\n// The intents below that record what they open on: a resolved environment passed on again (a\n// nested host's, `createBlocksEnvironment`'s) records once, not twice.\nconst recording = new WeakSet<object>()\n\nfunction records<F extends object>(intent: F): F {\n recording.add(intent)\n return intent\n}\n\nfunction recordingIntent<F extends object>(\n host: F | undefined,\n wrap: (host: F) => F\n): F | undefined {\n if (!host) return undefined\n return recording.has(host) ? host : records(wrap(host))\n}\n\nfunction resolve(environment: Partial<BlocksEnvironment>): BlocksEnvironment {\n const { openDocument } = environment\n const value: BlocksEnvironment = {\n ...defaultEnvironment,\n openWordEditor: openDocument\n ? (documentId, options) => openDocument(documentId, { workspaceId: options?.workspaceId })\n : noop,\n ...environment,\n // What an intent opens on is recorded for the surface before the host shows it.\n openSettings:\n recordingIntent(environment.openSettings, (openSettings) => (section) => {\n requestSettingsSection(section)\n openSettings(section)\n }) ?? defaultEnvironment.openSettings,\n openCalendar:\n recordingIntent(environment.openCalendar, (openCalendar) => (options) => {\n defaultEnvironment.openCalendar(options)\n openCalendar(options)\n }) ?? defaultEnvironment.openCalendar,\n openMail: recordingIntent(environment.openMail, (openMail) => (options) => {\n if (options?.draftId) mailDraftRequest.request(options.draftId)\n if (options?.messageId) mailMessageRequest.request(options.messageId)\n if (options?.folder) mailFolderRequest.request(options.folder)\n if (options?.attachments?.length) mailComposeRequest.request(options.attachments)\n openMail(options)\n }),\n openWorkflow: recordingIntent(environment.openWorkflow, (openWorkflow) => (id, options) => {\n workflowOpenRequest.request({ workflowId: id, view: options?.view, preset: options?.preset })\n openWorkflow(id, options)\n }),\n openNewConversation:\n recordingIntent(environment.openNewConversation, (openNewConversation) => (options) => {\n openNewConversation(options)\n // After the host's reset of the new conversation, which clears its draft.\n const prompt = options?.prompt?.trim()\n if (prompt) conversationStartRequest.request(prompt)\n }) ?? noop,\n }\n complete.add(value)\n return value\n}\n\n/**\n * The environment with every field filled in (the defaults where `environment` gives none), and\n * every intent recording what it opens on. A host calls it for code outside React (a store action,\n * a notification handler); passing the result as the host configuration's `environment` uses it\n * as is.\n */\nexport function createBlocksEnvironment(\n environment: Partial<BlocksEnvironment>\n): BlocksEnvironment {\n if (complete.has(environment as BlocksEnvironment)) return environment as BlocksEnvironment\n let value = resolved.get(environment)\n if (!value) resolved.set(environment, (value = resolve(environment)))\n return value\n}\n\n/** The host's environment, every field filled in (the defaults where the host gives none). */\nexport function useBlocksEnvironment(): BlocksEnvironment {\n const environment = useHostConfigRecord().environment as Partial<BlocksEnvironment> | undefined\n return environment ? createBlocksEnvironment(environment) : defaultEnvironment\n}\n\n/** Open and close the global dialogs (`<ConnectedGlobalDialogs>`), the host's way. */\nexport function useBlocksDialogs(): Pick<BlocksEnvironment, 'openDialog' | 'closeDialog'> {\n const { openDialog, closeDialog } = useBlocksEnvironment()\n return { openDialog, closeDialog }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,4BAA4C;AAErD;AAAA,EACE,UAAU;AAAA,EACV;AAAA,OAGK;AAEP,SAAS,4BAAuD;AAChE,SAAS,cAAc,qBAA8D;AACrF;AAAA,EACE;AAAA,EACA;AAAA,OAKK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,8BAA8B;AAiQvC,MAAM,OAAO,MAAM;AAAC;AAEpB,MAAM,qBAAqB,CAAC,aAAyB;AACnD,SAAO,iBAAiB,YAAY,QAAQ;AAC5C,SAAO,MAAM,OAAO,oBAAoB,YAAY,QAAQ;AAC9D;AACA,MAAM,gBAAgB,MAAM,OAAO,SAAS,WAAW,OAAO,SAAS;AAGvE,SAAS,oBAA4B;AACnC,SAAO,qBAAqB,oBAAoB,eAAe,MAAM,GAAG;AAC1E;AAEA,MAAM,qBAAwC;AAAA,EAC5C,UAAU,CAAC,SAAS;AAClB,QAAI,OAAO,WAAW,YAAa,QAAO,SAAS,OAAO,IAAI;AAAA,EAChE;AAAA,EACA,aAAa;AAAA,EACb,QAAQ,CAAC,SAAS,OAAO,QAAQ,YAAY;AAC3C,gBAAY,IAAI,EAAE,SAAS,OAAO;AAAA,EACpC;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA,eAAe;AAAA,IACb,YAAY;AAAA,IACZ,kBAAkB,OAAO,WAAW,cAAc,OAAO,SAAS,OAAO;AAAA,EAC3E;AAAA,EACA,SAAS,MAAM;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc,CAAC,YAAY;AACzB,QAAI,SAAS,MAAO,sBAAqB,QAAQ,KAAK;AAAA,EACxD;AAAA,EACA,WAAW;AAAA,EACX,eAAe;AACjB;AAEA,MAAM,WAAW,oBAAI,QAAmC;AACxD,MAAM,WAAW,oBAAI,QAA2B;AAGhD,MAAM,YAAY,oBAAI,QAAgB;AAEtC,SAAS,QAA0B,QAAc;AAC/C,YAAU,IAAI,MAAM;AACpB,SAAO;AACT;AAEA,SAAS,gBACP,MACA,MACe;AACf,MAAI,CAAC,KAAM,QAAO;AAClB,SAAO,UAAU,IAAI,IAAI,IAAI,OAAO,QAAQ,KAAK,IAAI,CAAC;AACxD;AAEA,SAAS,QAAQ,aAA4D;AAC3E,QAAM,EAAE,aAAa,IAAI;AACzB,QAAM,QAA2B;AAAA,IAC/B,GAAG;AAAA,IACH,gBAAgB,eACZ,CAAC,YAAY,YAAY,aAAa,YAAY,EAAE,aAAa,SAAS,YAAY,CAAC,IACvF;AAAA,IACJ,GAAG;AAAA;AAAA,IAEH,cACE,gBAAgB,YAAY,cAAc,CAAC,iBAAiB,CAAC,YAAY;AACvE,6BAAuB,OAAO;AAC9B,mBAAa,OAAO;AAAA,IACtB,CAAC,KAAK,mBAAmB;AAAA,IAC3B,cACE,gBAAgB,YAAY,cAAc,CAAC,iBAAiB,CAAC,YAAY;AACvE,yBAAmB,aAAa,OAAO;AACvC,mBAAa,OAAO;AAAA,IACtB,CAAC,KAAK,mBAAmB;AAAA,IAC3B,UAAU,gBAAgB,YAAY,UAAU,CAAC,aAAa,CAAC,YAAY;AACzE,UAAI,SAAS,QAAS,kBAAiB,QAAQ,QAAQ,OAAO;AAC9D,UAAI,SAAS,UAAW,oBAAmB,QAAQ,QAAQ,SAAS;AACpE,UAAI,SAAS,OAAQ,mBAAkB,QAAQ,QAAQ,MAAM;AAC7D,UAAI,SAAS,aAAa,OAAQ,oBAAmB,QAAQ,QAAQ,WAAW;AAChF,eAAS,OAAO;AAAA,IAClB,CAAC;AAAA,IACD,cAAc,gBAAgB,YAAY,cAAc,CAAC,iBAAiB,CAAC,IAAI,YAAY;AACzF,0BAAoB,QAAQ,EAAE,YAAY,IAAI,MAAM,SAAS,MAAM,QAAQ,SAAS,OAAO,CAAC;AAC5F,mBAAa,IAAI,OAAO;AAAA,IAC1B,CAAC;AAAA,IACD,qBACE,gBAAgB,YAAY,qBAAqB,CAAC,wBAAwB,CAAC,YAAY;AACrF,0BAAoB,OAAO;AAE3B,YAAM,SAAS,SAAS,QAAQ,KAAK;AACrC,UAAI,OAAQ,0BAAyB,QAAQ,MAAM;AAAA,IACrD,CAAC,KAAK;AAAA,EACV;AACA,WAAS,IAAI,KAAK;AAClB,SAAO;AACT;AAQO,SAAS,wBACd,aACmB;AACnB,MAAI,SAAS,IAAI,WAAgC,EAAG,QAAO;AAC3D,MAAI,QAAQ,SAAS,IAAI,WAAW;AACpC,MAAI,CAAC,MAAO,UAAS,IAAI,aAAc,QAAQ,QAAQ,WAAW,CAAE;AACpE,SAAO;AACT;AAGO,SAAS,uBAA0C;AACxD,QAAM,cAAc,oBAAoB,EAAE;AAC1C,SAAO,cAAc,wBAAwB,WAAW,IAAI;AAC9D;AAGO,SAAS,mBAA0E;AACxF,QAAM,EAAE,YAAAA,aAAY,aAAAC,aAAY,IAAI,qBAAqB;AACzD,SAAO,EAAE,YAAAD,aAAY,aAAAC,aAAY;AACnC;",
|
|
6
6
|
"names": ["openDialog", "closeDialog"]
|
|
7
7
|
}
|
|
@@ -29,4 +29,6 @@ export declare const mailComposeRequest: IntentRequest<MailAttachment[]>;
|
|
|
29
29
|
export declare const workflowOpenRequest: IntentRequest<{
|
|
30
30
|
workflowId?: string;
|
|
31
31
|
view?: "builder" | "runs" | "run";
|
|
32
|
+
/** No workflow: a new one's builder starts from this preset. */
|
|
33
|
+
preset?: "schedule";
|
|
32
34
|
}>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/provider/requests.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * What an intent asks of the surface it opens, carried across the navigation: the first message\n * of a new conversation (`openNewConversation({ prompt })`), the email draft or message to show\n * (`openMail({ draftId })`, `openMail({ messageId })`), the folder (`openMail({ folder })`), a new\n * message with files (`openMail({ attachments })`) and the workflow to show\n * (`openWorkflow(id, { view })`). The environment records the request before the host navigates;\n * the surface takes it when it mounts, or at once while it is already on screen. Taking clears it,\n * so a request is acted on once, by one surface.\n */\nimport { useEffect, useRef } from 'react'\nimport type { MailAttachment } from '@arbidocs/react'\n\nexport interface IntentRequest<T> {\n /** Record a request (replacing one not taken yet). */\n request(value: T): void\n /** The pending request, cleared: `undefined` when there is none. */\n take(): T | undefined\n /** Calls `listener` whenever a request is made. */\n subscribe(listener: () => void): () => void\n}\n\nfunction intentRequest<T>(): IntentRequest<T> {\n let pending: { value: T } | undefined\n const listeners = new Set<() => void>()\n return {\n request(value) {\n pending = { value }\n listeners.forEach((listener) => listener())\n },\n take() {\n const taken = pending\n pending = undefined\n return taken?.value\n },\n subscribe(listener) {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n}\n\n/**\n * Take each request while `enabled`: the one pending on mount and every later one. The latest\n * `onRequest` is called.\n */\nexport function useIntentRequest<T>(\n store: IntentRequest<T>,\n onRequest: (value: T) => void,\n enabled = true\n): void {\n const latest = useRef(onRequest)\n latest.current = onRequest\n useEffect(() => {\n if (!enabled) return\n const take = () => {\n const value = store.take()\n if (value !== undefined) latest.current(value)\n }\n take()\n return store.subscribe(take)\n }, [store, enabled])\n}\n\n/** The first message of the new conversation `openNewConversation({ prompt })` showed. */\nexport const conversationStartRequest = intentRequest<string>()\n\n/** The email draft `openMail({ draftId })` showed. */\nexport const mailDraftRequest = intentRequest<string>()\n\n/** The message `openMail({ messageId })` showed. */\nexport const mailMessageRequest = intentRequest<string>()\n\n/** The folder `openMail({ folder })` showed (a role such as `outbox`, or an id). */\nexport const mailFolderRequest = intentRequest<string>()\n\n/** The new message `openMail({ attachments })` starts, with these files attached. */\nexport const mailComposeRequest = intentRequest<MailAttachment[]>()\n\n/**\n * The workflow `openWorkflow(id, { view })` showed: its editor, its runs, or (`run`, a host\n * catalogue entry) its run page (no id: the list).\n */\nexport const workflowOpenRequest = intentRequest<{\n workflowId?: string\n view?: 'builder' | 'runs' | 'run'\n}>()\n"],
|
|
5
|
-
"mappings": ";AASA,SAAS,WAAW,cAAc;AAYlC,SAAS,gBAAqC;AAC5C,MAAI;AACJ,QAAM,YAAY,oBAAI,IAAgB;AACtC,SAAO;AAAA,IACL,QAAQ,OAAO;AACb,gBAAU,EAAE,MAAM;AAClB,gBAAU,QAAQ,CAAC,aAAa,SAAS,CAAC;AAAA,IAC5C;AAAA,IACA,OAAO;AACL,YAAM,QAAQ;AACd,gBAAU;AACV,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,UAAU,UAAU;AAClB,gBAAU,IAAI,QAAQ;AACtB,aAAO,MAAM,UAAU,OAAO,QAAQ;AAAA,IACxC;AAAA,EACF;AACF;AAMO,SAAS,iBACd,OACA,WACA,UAAU,MACJ;AACN,QAAM,SAAS,OAAO,SAAS;AAC/B,SAAO,UAAU;AACjB,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AACd,UAAM,OAAO,MAAM;AACjB,YAAM,QAAQ,MAAM,KAAK;AACzB,UAAI,UAAU,OAAW,QAAO,QAAQ,KAAK;AAAA,IAC/C;AACA,SAAK;AACL,WAAO,MAAM,UAAU,IAAI;AAAA,EAC7B,GAAG,CAAC,OAAO,OAAO,CAAC;AACrB;AAGO,MAAM,2BAA2B,cAAsB;AAGvD,MAAM,mBAAmB,cAAsB;AAG/C,MAAM,qBAAqB,cAAsB;AAGjD,MAAM,oBAAoB,cAAsB;AAGhD,MAAM,qBAAqB,cAAgC;AAM3D,MAAM,sBAAsB,
|
|
4
|
+
"sourcesContent": ["/**\n * What an intent asks of the surface it opens, carried across the navigation: the first message\n * of a new conversation (`openNewConversation({ prompt })`), the email draft or message to show\n * (`openMail({ draftId })`, `openMail({ messageId })`), the folder (`openMail({ folder })`), a new\n * message with files (`openMail({ attachments })`) and the workflow to show\n * (`openWorkflow(id, { view })`). The environment records the request before the host navigates;\n * the surface takes it when it mounts, or at once while it is already on screen. Taking clears it,\n * so a request is acted on once, by one surface.\n */\nimport { useEffect, useRef } from 'react'\nimport type { MailAttachment } from '@arbidocs/react'\n\nexport interface IntentRequest<T> {\n /** Record a request (replacing one not taken yet). */\n request(value: T): void\n /** The pending request, cleared: `undefined` when there is none. */\n take(): T | undefined\n /** Calls `listener` whenever a request is made. */\n subscribe(listener: () => void): () => void\n}\n\nfunction intentRequest<T>(): IntentRequest<T> {\n let pending: { value: T } | undefined\n const listeners = new Set<() => void>()\n return {\n request(value) {\n pending = { value }\n listeners.forEach((listener) => listener())\n },\n take() {\n const taken = pending\n pending = undefined\n return taken?.value\n },\n subscribe(listener) {\n listeners.add(listener)\n return () => listeners.delete(listener)\n },\n }\n}\n\n/**\n * Take each request while `enabled`: the one pending on mount and every later one. The latest\n * `onRequest` is called.\n */\nexport function useIntentRequest<T>(\n store: IntentRequest<T>,\n onRequest: (value: T) => void,\n enabled = true\n): void {\n const latest = useRef(onRequest)\n latest.current = onRequest\n useEffect(() => {\n if (!enabled) return\n const take = () => {\n const value = store.take()\n if (value !== undefined) latest.current(value)\n }\n take()\n return store.subscribe(take)\n }, [store, enabled])\n}\n\n/** The first message of the new conversation `openNewConversation({ prompt })` showed. */\nexport const conversationStartRequest = intentRequest<string>()\n\n/** The email draft `openMail({ draftId })` showed. */\nexport const mailDraftRequest = intentRequest<string>()\n\n/** The message `openMail({ messageId })` showed. */\nexport const mailMessageRequest = intentRequest<string>()\n\n/** The folder `openMail({ folder })` showed (a role such as `outbox`, or an id). */\nexport const mailFolderRequest = intentRequest<string>()\n\n/** The new message `openMail({ attachments })` starts, with these files attached. */\nexport const mailComposeRequest = intentRequest<MailAttachment[]>()\n\n/**\n * The workflow `openWorkflow(id, { view })` showed: its editor, its runs, or (`run`, a host\n * catalogue entry) its run page (no id: the list).\n */\nexport const workflowOpenRequest = intentRequest<{\n workflowId?: string\n view?: 'builder' | 'runs' | 'run'\n /** No workflow: a new one's builder starts from this preset. */\n preset?: 'schedule'\n}>()\n"],
|
|
5
|
+
"mappings": ";AASA,SAAS,WAAW,cAAc;AAYlC,SAAS,gBAAqC;AAC5C,MAAI;AACJ,QAAM,YAAY,oBAAI,IAAgB;AACtC,SAAO;AAAA,IACL,QAAQ,OAAO;AACb,gBAAU,EAAE,MAAM;AAClB,gBAAU,QAAQ,CAAC,aAAa,SAAS,CAAC;AAAA,IAC5C;AAAA,IACA,OAAO;AACL,YAAM,QAAQ;AACd,gBAAU;AACV,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,UAAU,UAAU;AAClB,gBAAU,IAAI,QAAQ;AACtB,aAAO,MAAM,UAAU,OAAO,QAAQ;AAAA,IACxC;AAAA,EACF;AACF;AAMO,SAAS,iBACd,OACA,WACA,UAAU,MACJ;AACN,QAAM,SAAS,OAAO,SAAS;AAC/B,SAAO,UAAU;AACjB,YAAU,MAAM;AACd,QAAI,CAAC,QAAS;AACd,UAAM,OAAO,MAAM;AACjB,YAAM,QAAQ,MAAM,KAAK;AACzB,UAAI,UAAU,OAAW,QAAO,QAAQ,KAAK;AAAA,IAC/C;AACA,SAAK;AACL,WAAO,MAAM,UAAU,IAAI;AAAA,EAC7B,GAAG,CAAC,OAAO,OAAO,CAAC;AACrB;AAGO,MAAM,2BAA2B,cAAsB;AAGvD,MAAM,mBAAmB,cAAsB;AAG/C,MAAM,qBAAqB,cAAsB;AAGjD,MAAM,oBAAoB,cAAsB;AAGhD,MAAM,qBAAqB,cAAgC;AAM3D,MAAM,sBAAsB,cAKhC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/retrieval/index.cjs
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkSRTSMA5K_cjs = require('../chunk-SRTSMA5K.cjs');
|
|
5
5
|
var chunkNX56DIG3_cjs = require('../chunk-NX56DIG3.cjs');
|
|
6
|
-
var
|
|
7
|
-
require('../chunk-
|
|
6
|
+
var chunkGNX3FBBX_cjs = require('../chunk-GNX3FBBX.cjs');
|
|
7
|
+
require('../chunk-TKHCIHE2.cjs');
|
|
8
8
|
require('../chunk-JDFBEGQO.cjs');
|
|
9
9
|
require('../chunk-ULWRNGGE.cjs');
|
|
10
10
|
require('../chunk-PLIF5CUV.cjs');
|
|
@@ -181,11 +181,11 @@ Object.defineProperty(exports, "stripMarkdownLinks", {
|
|
|
181
181
|
});
|
|
182
182
|
Object.defineProperty(exports, "DEFAULT_SEARCH_HIT_LABELS", {
|
|
183
183
|
enumerable: true,
|
|
184
|
-
get: function () { return
|
|
184
|
+
get: function () { return chunkGNX3FBBX_cjs.DEFAULT_SEARCH_HIT_LABELS; }
|
|
185
185
|
});
|
|
186
186
|
Object.defineProperty(exports, "SearchHit", {
|
|
187
187
|
enumerable: true,
|
|
188
|
-
get: function () { return
|
|
188
|
+
get: function () { return chunkGNX3FBBX_cjs.SearchHit; }
|
|
189
189
|
});
|
|
190
190
|
//# sourceMappingURL=index.cjs.map
|
|
191
191
|
//# sourceMappingURL=index.cjs.map
|
package/dist/shell/index.cjs
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
var chunkVCEX7COE_cjs = require('../chunk-VCEX7COE.cjs');
|
|
5
5
|
require('../chunk-34HQO4ZQ.cjs');
|
|
6
6
|
var chunkCT3SLXB7_cjs = require('../chunk-CT3SLXB7.cjs');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
7
|
+
var chunkWW6LXQY6_cjs = require('../chunk-WW6LXQY6.cjs');
|
|
8
|
+
var chunk4NPCDS2X_cjs = require('../chunk-4NPCDS2X.cjs');
|
|
9
|
+
var chunkQ6DQGGP4_cjs = require('../chunk-Q6DQGGP4.cjs');
|
|
10
10
|
var chunkDEXUL3T6_cjs = require('../chunk-DEXUL3T6.cjs');
|
|
11
11
|
var chunk6WMMZLEV_cjs = require('../chunk-6WMMZLEV.cjs');
|
|
12
12
|
var chunkYZSQ7F5K_cjs = require('../chunk-YZSQ7F5K.cjs');
|
|
@@ -14,12 +14,12 @@ var chunkKQF7POTG_cjs = require('../chunk-KQF7POTG.cjs');
|
|
|
14
14
|
var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
|
|
15
15
|
require('../chunk-AHDJXIUB.cjs');
|
|
16
16
|
var chunk6UZC4XVV_cjs = require('../chunk-6UZC4XVV.cjs');
|
|
17
|
-
require('../chunk-
|
|
17
|
+
require('../chunk-JV5TVUOU.cjs');
|
|
18
18
|
var chunkKKYNTWDU_cjs = require('../chunk-KKYNTWDU.cjs');
|
|
19
19
|
require('../chunk-3YZKDCWY.cjs');
|
|
20
20
|
var chunkSJSGSHIT_cjs = require('../chunk-SJSGSHIT.cjs');
|
|
21
21
|
require('../chunk-PPCATBOY.cjs');
|
|
22
|
-
require('../chunk-
|
|
22
|
+
require('../chunk-TKHCIHE2.cjs');
|
|
23
23
|
require('../chunk-JDFBEGQO.cjs');
|
|
24
24
|
require('../chunk-ULWRNGGE.cjs');
|
|
25
25
|
require('../chunk-PLIF5CUV.cjs');
|
|
@@ -88,183 +88,183 @@ Object.defineProperty(exports, "Toaster", {
|
|
|
88
88
|
});
|
|
89
89
|
Object.defineProperty(exports, "ActionCluster", {
|
|
90
90
|
enumerable: true,
|
|
91
|
-
get: function () { return
|
|
91
|
+
get: function () { return chunkWW6LXQY6_cjs.ActionCluster; }
|
|
92
92
|
});
|
|
93
93
|
Object.defineProperty(exports, "AskField", {
|
|
94
94
|
enumerable: true,
|
|
95
|
-
get: function () { return
|
|
95
|
+
get: function () { return chunkWW6LXQY6_cjs.AskField; }
|
|
96
96
|
});
|
|
97
97
|
Object.defineProperty(exports, "AskRow", {
|
|
98
98
|
enumerable: true,
|
|
99
|
-
get: function () { return
|
|
99
|
+
get: function () { return chunkWW6LXQY6_cjs.AskRow; }
|
|
100
100
|
});
|
|
101
101
|
Object.defineProperty(exports, "AskTrigger", {
|
|
102
102
|
enumerable: true,
|
|
103
|
-
get: function () { return
|
|
103
|
+
get: function () { return chunkWW6LXQY6_cjs.AskTrigger; }
|
|
104
104
|
});
|
|
105
105
|
Object.defineProperty(exports, "DEFAULT_ASK_FIELD_LABELS", {
|
|
106
106
|
enumerable: true,
|
|
107
|
-
get: function () { return
|
|
107
|
+
get: function () { return chunkWW6LXQY6_cjs.DEFAULT_ASK_FIELD_LABELS; }
|
|
108
108
|
});
|
|
109
109
|
Object.defineProperty(exports, "DEFAULT_OFFLINE_PILL_LABELS", {
|
|
110
110
|
enumerable: true,
|
|
111
|
-
get: function () { return
|
|
111
|
+
get: function () { return chunkWW6LXQY6_cjs.DEFAULT_OFFLINE_PILL_LABELS; }
|
|
112
112
|
});
|
|
113
113
|
Object.defineProperty(exports, "DEFAULT_REMOTE_CONTROL_PILL_LABELS", {
|
|
114
114
|
enumerable: true,
|
|
115
|
-
get: function () { return
|
|
115
|
+
get: function () { return chunkWW6LXQY6_cjs.DEFAULT_REMOTE_CONTROL_PILL_LABELS; }
|
|
116
116
|
});
|
|
117
117
|
Object.defineProperty(exports, "DEFAULT_TIP_CARD_LABELS", {
|
|
118
118
|
enumerable: true,
|
|
119
|
-
get: function () { return
|
|
119
|
+
get: function () { return chunkWW6LXQY6_cjs.DEFAULT_TIP_CARD_LABELS; }
|
|
120
120
|
});
|
|
121
121
|
Object.defineProperty(exports, "DockZone", {
|
|
122
122
|
enumerable: true,
|
|
123
|
-
get: function () { return
|
|
123
|
+
get: function () { return chunkWW6LXQY6_cjs.DockZone; }
|
|
124
124
|
});
|
|
125
125
|
Object.defineProperty(exports, "OfflinePill", {
|
|
126
126
|
enumerable: true,
|
|
127
|
-
get: function () { return
|
|
127
|
+
get: function () { return chunkWW6LXQY6_cjs.OfflinePill; }
|
|
128
128
|
});
|
|
129
129
|
Object.defineProperty(exports, "PanelModeSwitcher", {
|
|
130
130
|
enumerable: true,
|
|
131
|
-
get: function () { return
|
|
131
|
+
get: function () { return chunkWW6LXQY6_cjs.PanelModeSwitcher; }
|
|
132
132
|
});
|
|
133
133
|
Object.defineProperty(exports, "PanelPortal", {
|
|
134
134
|
enumerable: true,
|
|
135
|
-
get: function () { return
|
|
135
|
+
get: function () { return chunkWW6LXQY6_cjs.PanelPortal; }
|
|
136
136
|
});
|
|
137
137
|
Object.defineProperty(exports, "RemoteControlPill", {
|
|
138
138
|
enumerable: true,
|
|
139
|
-
get: function () { return
|
|
139
|
+
get: function () { return chunkWW6LXQY6_cjs.RemoteControlPill; }
|
|
140
140
|
});
|
|
141
141
|
Object.defineProperty(exports, "ShellSidebar", {
|
|
142
142
|
enumerable: true,
|
|
143
|
-
get: function () { return
|
|
143
|
+
get: function () { return chunkWW6LXQY6_cjs.ShellSidebar; }
|
|
144
144
|
});
|
|
145
145
|
Object.defineProperty(exports, "SidebarRowAction", {
|
|
146
146
|
enumerable: true,
|
|
147
|
-
get: function () { return
|
|
147
|
+
get: function () { return chunkWW6LXQY6_cjs.SidebarRowAction; }
|
|
148
148
|
});
|
|
149
149
|
Object.defineProperty(exports, "StatusBadge", {
|
|
150
150
|
enumerable: true,
|
|
151
|
-
get: function () { return
|
|
151
|
+
get: function () { return chunkWW6LXQY6_cjs.StatusBadge; }
|
|
152
152
|
});
|
|
153
153
|
Object.defineProperty(exports, "StatusRow", {
|
|
154
154
|
enumerable: true,
|
|
155
|
-
get: function () { return
|
|
155
|
+
get: function () { return chunkWW6LXQY6_cjs.StatusRow; }
|
|
156
156
|
});
|
|
157
157
|
Object.defineProperty(exports, "TipCard", {
|
|
158
158
|
enumerable: true,
|
|
159
|
-
get: function () { return
|
|
159
|
+
get: function () { return chunkWW6LXQY6_cjs.TipCard; }
|
|
160
160
|
});
|
|
161
161
|
Object.defineProperty(exports, "createPanelWindowManager", {
|
|
162
162
|
enumerable: true,
|
|
163
|
-
get: function () { return
|
|
163
|
+
get: function () { return chunkWW6LXQY6_cjs.createPanelWindowManager; }
|
|
164
164
|
});
|
|
165
165
|
Object.defineProperty(exports, "resolveSidebarLayout", {
|
|
166
166
|
enumerable: true,
|
|
167
|
-
get: function () { return
|
|
167
|
+
get: function () { return chunkWW6LXQY6_cjs.resolveSidebarLayout; }
|
|
168
168
|
});
|
|
169
169
|
Object.defineProperty(exports, "useCloseOnEscape", {
|
|
170
170
|
enumerable: true,
|
|
171
|
-
get: function () { return
|
|
171
|
+
get: function () { return chunkWW6LXQY6_cjs.useCloseOnEscape; }
|
|
172
172
|
});
|
|
173
173
|
Object.defineProperty(exports, "usePanelHostSupport", {
|
|
174
174
|
enumerable: true,
|
|
175
|
-
get: function () { return
|
|
175
|
+
get: function () { return chunkWW6LXQY6_cjs.usePanelHostSupport; }
|
|
176
176
|
});
|
|
177
177
|
Object.defineProperty(exports, "useSidebarController", {
|
|
178
178
|
enumerable: true,
|
|
179
|
-
get: function () { return
|
|
179
|
+
get: function () { return chunkWW6LXQY6_cjs.useSidebarController; }
|
|
180
180
|
});
|
|
181
181
|
Object.defineProperty(exports, "useSidebarSettle", {
|
|
182
182
|
enumerable: true,
|
|
183
|
-
get: function () { return
|
|
183
|
+
get: function () { return chunkWW6LXQY6_cjs.useSidebarSettle; }
|
|
184
184
|
});
|
|
185
185
|
Object.defineProperty(exports, "DEFAULT_MOBILE_BARS_LABELS", {
|
|
186
186
|
enumerable: true,
|
|
187
|
-
get: function () { return
|
|
187
|
+
get: function () { return chunk4NPCDS2X_cjs.DEFAULT_MOBILE_BARS_LABELS; }
|
|
188
188
|
});
|
|
189
189
|
Object.defineProperty(exports, "DEFAULT_WORKSPACE_KIND_LABELS", {
|
|
190
190
|
enumerable: true,
|
|
191
|
-
get: function () { return
|
|
191
|
+
get: function () { return chunk4NPCDS2X_cjs.DEFAULT_WORKSPACE_KIND_LABELS; }
|
|
192
192
|
});
|
|
193
193
|
Object.defineProperty(exports, "DEFAULT_WORKSPACE_SWITCHER_LABELS", {
|
|
194
194
|
enumerable: true,
|
|
195
|
-
get: function () { return
|
|
195
|
+
get: function () { return chunk4NPCDS2X_cjs.DEFAULT_WORKSPACE_SWITCHER_LABELS; }
|
|
196
196
|
});
|
|
197
197
|
Object.defineProperty(exports, "MobileAppBar", {
|
|
198
198
|
enumerable: true,
|
|
199
|
-
get: function () { return
|
|
199
|
+
get: function () { return chunk4NPCDS2X_cjs.MobileAppBar; }
|
|
200
200
|
});
|
|
201
201
|
Object.defineProperty(exports, "MobileTabBar", {
|
|
202
202
|
enumerable: true,
|
|
203
|
-
get: function () { return
|
|
203
|
+
get: function () { return chunk4NPCDS2X_cjs.MobileTabBar; }
|
|
204
204
|
});
|
|
205
205
|
Object.defineProperty(exports, "WorkspaceIdentity", {
|
|
206
206
|
enumerable: true,
|
|
207
|
-
get: function () { return
|
|
207
|
+
get: function () { return chunk4NPCDS2X_cjs.WorkspaceIdentity; }
|
|
208
208
|
});
|
|
209
209
|
Object.defineProperty(exports, "WorkspaceSwitcher", {
|
|
210
210
|
enumerable: true,
|
|
211
|
-
get: function () { return
|
|
211
|
+
get: function () { return chunk4NPCDS2X_cjs.WorkspaceSwitcher; }
|
|
212
212
|
});
|
|
213
213
|
Object.defineProperty(exports, "hasUnsavedInput", {
|
|
214
214
|
enumerable: true,
|
|
215
|
-
get: function () { return
|
|
215
|
+
get: function () { return chunk4NPCDS2X_cjs.hasUnsavedInput; }
|
|
216
216
|
});
|
|
217
217
|
Object.defineProperty(exports, "installReloadPolicy", {
|
|
218
218
|
enumerable: true,
|
|
219
|
-
get: function () { return
|
|
219
|
+
get: function () { return chunk4NPCDS2X_cjs.installReloadPolicy; }
|
|
220
220
|
});
|
|
221
221
|
Object.defineProperty(exports, "markBuildStale", {
|
|
222
222
|
enumerable: true,
|
|
223
|
-
get: function () { return
|
|
223
|
+
get: function () { return chunk4NPCDS2X_cjs.markBuildStale; }
|
|
224
224
|
});
|
|
225
225
|
Object.defineProperty(exports, "prefetchChunk", {
|
|
226
226
|
enumerable: true,
|
|
227
|
-
get: function () { return
|
|
227
|
+
get: function () { return chunk4NPCDS2X_cjs.prefetchChunk; }
|
|
228
228
|
});
|
|
229
229
|
Object.defineProperty(exports, "requestReload", {
|
|
230
230
|
enumerable: true,
|
|
231
|
-
get: function () { return
|
|
231
|
+
get: function () { return chunk4NPCDS2X_cjs.requestReload; }
|
|
232
232
|
});
|
|
233
233
|
Object.defineProperty(exports, "workspaceKindColor", {
|
|
234
234
|
enumerable: true,
|
|
235
|
-
get: function () { return
|
|
235
|
+
get: function () { return chunk4NPCDS2X_cjs.workspaceKindColor; }
|
|
236
236
|
});
|
|
237
237
|
Object.defineProperty(exports, "workspaceKindMeta", {
|
|
238
238
|
enumerable: true,
|
|
239
|
-
get: function () { return
|
|
239
|
+
get: function () { return chunk4NPCDS2X_cjs.workspaceKindMeta; }
|
|
240
240
|
});
|
|
241
241
|
Object.defineProperty(exports, "DEFAULT_SIDEBAR_LABELS", {
|
|
242
242
|
enumerable: true,
|
|
243
|
-
get: function () { return
|
|
243
|
+
get: function () { return chunkQ6DQGGP4_cjs.DEFAULT_SIDEBAR_LABELS; }
|
|
244
244
|
});
|
|
245
245
|
Object.defineProperty(exports, "SHELL_START_INSET_VAR", {
|
|
246
246
|
enumerable: true,
|
|
247
|
-
get: function () { return
|
|
247
|
+
get: function () { return chunkQ6DQGGP4_cjs.SHELL_START_INSET_VAR; }
|
|
248
248
|
});
|
|
249
249
|
Object.defineProperty(exports, "Sidebar", {
|
|
250
250
|
enumerable: true,
|
|
251
|
-
get: function () { return
|
|
251
|
+
get: function () { return chunkQ6DQGGP4_cjs.Sidebar; }
|
|
252
252
|
});
|
|
253
253
|
Object.defineProperty(exports, "SidebarBadgeRow", {
|
|
254
254
|
enumerable: true,
|
|
255
|
-
get: function () { return
|
|
255
|
+
get: function () { return chunkQ6DQGGP4_cjs.SidebarBadgeRow; }
|
|
256
256
|
});
|
|
257
257
|
Object.defineProperty(exports, "SidebarRowHoverContext", {
|
|
258
258
|
enumerable: true,
|
|
259
|
-
get: function () { return
|
|
259
|
+
get: function () { return chunkQ6DQGGP4_cjs.SidebarRowHoverContext; }
|
|
260
260
|
});
|
|
261
261
|
Object.defineProperty(exports, "useShellStartInset", {
|
|
262
262
|
enumerable: true,
|
|
263
|
-
get: function () { return
|
|
263
|
+
get: function () { return chunkQ6DQGGP4_cjs.useShellStartInset; }
|
|
264
264
|
});
|
|
265
265
|
Object.defineProperty(exports, "useSidebarContext", {
|
|
266
266
|
enumerable: true,
|
|
267
|
-
get: function () { return
|
|
267
|
+
get: function () { return chunkQ6DQGGP4_cjs.useSidebarContext; }
|
|
268
268
|
});
|
|
269
269
|
Object.defineProperty(exports, "STATUS_ROW_BASE_CLASS", {
|
|
270
270
|
enumerable: true,
|
package/dist/site/index.cjs
CHANGED
|
@@ -5,8 +5,8 @@ var chunk2PQ5Z3WL_cjs = require('../chunk-2PQ5Z3WL.cjs');
|
|
|
5
5
|
var chunkANWJG4A4_cjs = require('../chunk-ANWJG4A4.cjs');
|
|
6
6
|
var chunkICZSVCDT_cjs = require('../chunk-ICZSVCDT.cjs');
|
|
7
7
|
var chunkNEGFHF3V_cjs = require('../chunk-NEGFHF3V.cjs');
|
|
8
|
-
var chunkADMNU2CR_cjs = require('../chunk-ADMNU2CR.cjs');
|
|
9
8
|
var chunkPCB2BPN3_cjs = require('../chunk-PCB2BPN3.cjs');
|
|
9
|
+
var chunkADMNU2CR_cjs = require('../chunk-ADMNU2CR.cjs');
|
|
10
10
|
var chunk34HQO4ZQ_cjs = require('../chunk-34HQO4ZQ.cjs');
|
|
11
11
|
var chunkNWNVWO6L_cjs = require('../chunk-NWNVWO6L.cjs');
|
|
12
12
|
var chunkZU2B2RZK_cjs = require('../chunk-ZU2B2RZK.cjs');
|
|
@@ -269,6 +269,10 @@ Object.defineProperty(exports, "toHslTriplet", {
|
|
|
269
269
|
enumerable: true,
|
|
270
270
|
get: function () { return chunkNEGFHF3V_cjs.toHslTriplet; }
|
|
271
271
|
});
|
|
272
|
+
Object.defineProperty(exports, "Callout", {
|
|
273
|
+
enumerable: true,
|
|
274
|
+
get: function () { return chunkPCB2BPN3_cjs.Callout; }
|
|
275
|
+
});
|
|
272
276
|
Object.defineProperty(exports, "TimelineCalendar", {
|
|
273
277
|
enumerable: true,
|
|
274
278
|
get: function () { return chunkADMNU2CR_cjs.TimelineCalendar; }
|
|
@@ -297,10 +301,6 @@ Object.defineProperty(exports, "utcDay", {
|
|
|
297
301
|
enumerable: true,
|
|
298
302
|
get: function () { return chunkADMNU2CR_cjs.utcDay; }
|
|
299
303
|
});
|
|
300
|
-
Object.defineProperty(exports, "Callout", {
|
|
301
|
-
enumerable: true,
|
|
302
|
-
get: function () { return chunkPCB2BPN3_cjs.Callout; }
|
|
303
|
-
});
|
|
304
304
|
Object.defineProperty(exports, "Banner", {
|
|
305
305
|
enumerable: true,
|
|
306
306
|
get: function () { return chunk34HQO4ZQ_cjs.Banner; }
|