@arbidocs/blocks 0.5.34 → 0.5.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +30 -0
  2. package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs → ConnectedNativeDocxComparison-H2OZMWHT.cjs} +7 -7
  3. package/dist/{ConnectedNativeDocxComparison-4R5WW7IU.cjs.map → ConnectedNativeDocxComparison-H2OZMWHT.cjs.map} +1 -1
  4. package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js → ConnectedNativeDocxComparison-RWKFPJPJ.js} +6 -6
  5. package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js.map → ConnectedNativeDocxComparison-RWKFPJPJ.js.map} +1 -1
  6. package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js → ConnectedNativeDocxEditor-43BI5LN6.js} +5 -5
  7. package/dist/{ConnectedNativeDocxEditor-ETEJM7GN.js.map → ConnectedNativeDocxEditor-43BI5LN6.js.map} +1 -1
  8. package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs → ConnectedNativeDocxEditor-6DQEM6SD.cjs} +7 -7
  9. package/dist/{ConnectedNativeDocxEditor-MJVE2I33.cjs.map → ConnectedNativeDocxEditor-6DQEM6SD.cjs.map} +1 -1
  10. package/dist/{ConnectedStreamedWordArtifact-S7EQ4FM2.cjs → ConnectedStreamedWordArtifact-3VKYIG6C.cjs} +7 -7
  11. package/dist/ConnectedStreamedWordArtifact-3VKYIG6C.cjs.map +1 -0
  12. package/dist/{ConnectedStreamedWordArtifact-JJI3HR7U.js → ConnectedStreamedWordArtifact-TEB332E3.js} +6 -6
  13. package/dist/{ConnectedNativeDocxComparison-AH6KR4CZ.js.map → ConnectedStreamedWordArtifact-TEB332E3.js.map} +1 -1
  14. package/dist/agents/index.cjs +326 -326
  15. package/dist/agents/index.js +4 -4
  16. package/dist/calls/index.cjs +1 -1
  17. package/dist/calls/index.js +1 -1
  18. package/dist/{chunk-SSYRPBL5.cjs → chunk-2QDNQM63.cjs} +3 -3
  19. package/dist/{chunk-SSYRPBL5.cjs.map → chunk-2QDNQM63.cjs.map} +1 -1
  20. package/dist/{chunk-H7L43DIE.js → chunk-46WCQ4F3.js} +8 -3
  21. package/dist/chunk-46WCQ4F3.js.map +1 -0
  22. package/dist/{chunk-UWXCT3ON.js → chunk-4DKI37QQ.js} +3 -3
  23. package/dist/{chunk-UWXCT3ON.js.map → chunk-4DKI37QQ.js.map} +1 -1
  24. package/dist/{chunk-FSEZEVWZ.cjs → chunk-5NTSJV5H.cjs} +219 -2
  25. package/dist/chunk-5NTSJV5H.cjs.map +1 -0
  26. package/dist/{chunk-WUG24K7P.cjs → chunk-5V4HH7EH.cjs} +7 -2
  27. package/dist/chunk-5V4HH7EH.cjs.map +1 -0
  28. package/dist/{chunk-J6U6DIZK.cjs → chunk-6EQSP77K.cjs} +5 -5
  29. package/dist/{chunk-J6U6DIZK.cjs.map → chunk-6EQSP77K.cjs.map} +1 -1
  30. package/dist/{chunk-OPK6GYYR.js → chunk-7CHI36EP.js} +3 -3
  31. package/dist/{chunk-OPK6GYYR.js.map → chunk-7CHI36EP.js.map} +1 -1
  32. package/dist/{chunk-KBISVJPU.cjs → chunk-BRYRZOS3.cjs} +4 -4
  33. package/dist/{chunk-KBISVJPU.cjs.map → chunk-BRYRZOS3.cjs.map} +1 -1
  34. package/dist/{chunk-O76V2TUY.js → chunk-EZSYYENN.js} +5 -5
  35. package/dist/{chunk-O76V2TUY.js.map → chunk-EZSYYENN.js.map} +1 -1
  36. package/dist/{chunk-G5ISXB5I.js → chunk-FHB4G77H.js} +3 -3
  37. package/dist/{chunk-G5ISXB5I.js.map → chunk-FHB4G77H.js.map} +1 -1
  38. package/dist/{chunk-POU4O4D7.cjs → chunk-FY4C7HU5.cjs} +9 -9
  39. package/dist/{chunk-POU4O4D7.cjs.map → chunk-FY4C7HU5.cjs.map} +1 -1
  40. package/dist/{chunk-AL4GAWD3.js → chunk-MLHOG7YH.js} +3 -3
  41. package/dist/{chunk-AL4GAWD3.js.map → chunk-MLHOG7YH.js.map} +1 -1
  42. package/dist/{chunk-RFQ2FGL4.js → chunk-NUV5F6MM.js} +3 -3
  43. package/dist/{chunk-RFQ2FGL4.js.map → chunk-NUV5F6MM.js.map} +1 -1
  44. package/dist/{chunk-B426HYRI.cjs → chunk-PUX4M22Q.cjs} +49 -49
  45. package/dist/{chunk-B426HYRI.cjs.map → chunk-PUX4M22Q.cjs.map} +1 -1
  46. package/dist/{chunk-LTEDORG3.js → chunk-QFYRXQTD.js} +220 -5
  47. package/dist/chunk-QFYRXQTD.js.map +1 -0
  48. package/dist/{chunk-SXYXFCHN.js → chunk-VKY4SQMH.js} +3 -3
  49. package/dist/{chunk-SXYXFCHN.js.map → chunk-VKY4SQMH.js.map} +1 -1
  50. package/dist/{chunk-QU77RRZP.cjs → chunk-VMLEISRZ.cjs} +8 -8
  51. package/dist/{chunk-QU77RRZP.cjs.map → chunk-VMLEISRZ.cjs.map} +1 -1
  52. package/dist/{chunk-R3QNE46Z.cjs → chunk-XFSEPGF7.cjs} +4 -4
  53. package/dist/{chunk-R3QNE46Z.cjs.map → chunk-XFSEPGF7.cjs.map} +1 -1
  54. package/dist/collaboration/index.cjs +67 -67
  55. package/dist/collaboration/index.js +1 -1
  56. package/dist/connect/docx.cjs +9 -9
  57. package/dist/connect/docx.js +5 -5
  58. package/dist/connect/index.cjs +301 -301
  59. package/dist/connect/index.js +9 -9
  60. package/dist/connect/viewer.cjs +5 -5
  61. package/dist/connect/viewer.js +5 -5
  62. package/dist/index.cjs +552 -501
  63. package/dist/index.cjs.map +1 -1
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.js +51 -10
  66. package/dist/index.js.map +1 -1
  67. package/dist/nav/actions.d.ts +24 -0
  68. package/dist/nav/manifest.d.ts +16 -0
  69. package/dist/nav/types.d.ts +2 -0
  70. package/dist/shell/DockZone.d.ts +27 -0
  71. package/dist/shell/PanelModeSwitcher.d.ts +30 -0
  72. package/dist/shell/index.cjs +47 -39
  73. package/dist/shell/index.d.ts +2 -0
  74. package/dist/shell/index.js +1 -1
  75. package/dist/workflow-canvas/index.cjs +17 -17
  76. package/dist/workflow-canvas/index.js +4 -4
  77. package/node_modules/@arbidocs/coedit/package.json +1 -1
  78. package/package.json +5 -5
  79. package/dist/ConnectedStreamedWordArtifact-S7EQ4FM2.cjs.map +0 -1
  80. package/dist/chunk-FSEZEVWZ.cjs.map +0 -1
  81. package/dist/chunk-H7L43DIE.js.map +0 -1
  82. package/dist/chunk-LTEDORG3.js.map +0 -1
  83. package/dist/chunk-WUG24K7P.cjs.map +0 -1
@@ -0,0 +1,16 @@
1
+ import type { AppNavItem, AppNavSection } from './types';
2
+ import type { NavItem } from '../shell/types';
3
+ /**
4
+ * A host's destinations, once: the items are also the command palette's nav contract. Resolve
5
+ * their state and handlers for ShellSidebar or MobileTabBar without copying the catalogue.
6
+ */
7
+ export declare function defineNavigation(sections: readonly AppNavSection[]): {
8
+ sections: readonly AppNavSection[];
9
+ items: AppNavItem[];
10
+ resolve(options: {
11
+ beforeNavigate?: () => void;
12
+ onNavigate: (item: AppNavItem) => void;
13
+ onNavigated?: () => void;
14
+ itemProps?: (item: AppNavItem) => Partial<Omit<NavItem, "id" | "label" | "onSelect">>;
15
+ }): NavItem[];
16
+ };
@@ -9,6 +9,8 @@ export interface AppNavItem {
9
9
  label: string;
10
10
  icon: LucideIcon;
11
11
  id: string;
12
+ /** Additional search terms understood by command palettes. */
13
+ keywords?: string;
12
14
  /** true for ARBI-powered modules (document management + agentic AI). */
13
15
  arbi?: boolean;
14
16
  end?: boolean;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * DockZone Component
3
+ *
4
+ * Layout wrapper that provides a resizable right-hand panel area (#dock-zone)
5
+ * where panels in 'docked' mode render via PanelPortal.
6
+ *
7
+ * Uses MutationObserver on the #dock-zone element to detect when content is
8
+ * portaled in/out, so the split layout appears only when a panel is actually
9
+ * mounted — not just when the store says a panel prefers 'docked' mode.
10
+ *
11
+ * The dock zone reads its initial width from the child's data-dock-width
12
+ * attribute (pixels). If absent, defaults to 50% of the container.
13
+ *
14
+ * Below MOBILE_BREAKPOINT_PX, MIN_MAIN_PX + MIN_DOCK_PX (500px combined)
15
+ * can't both fit — the clamp math still ran unconditionally and squeezed the
16
+ * dock pane down to whatever sliver was left (as little as ~90px on a 390px
17
+ * phone), rendering both panes as unusable slivers instead of showing either
18
+ * one properly. Below that width this becomes a single full-width view that
19
+ * swaps between main and docked content instead of splitting — same
20
+ * principle as the Document Viewer's own view-swap (Edit ⇄ Track Changes).
21
+ */
22
+ interface DockZoneProps {
23
+ children: React.ReactNode;
24
+ 'data-testid'?: string;
25
+ }
26
+ export declare function DockZone({ children, ...props }: DockZoneProps): import("react").JSX.Element;
27
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * PanelModeSwitcher Component
3
+ *
4
+ * User-selectable placements are: popped out, docked, or overlay. `main` is
5
+ * NOT user-selectable — the system decides which surfaces render full-width
6
+ * (e.g. the DM modal); the user just moves floating panels between popout /
7
+ * docked / overlay. The switcher shows a button for each placement you're not
8
+ * currently in (plus close):
9
+ * - Popout/pop-in toggle (unless disablePopout).
10
+ * - Split-screen button (when not docked).
11
+ * - Float-as-overlay button (when not overlay).
12
+ * - Popout mode shows just the pop-in toggle (the window has its own close).
13
+ */
14
+ import type { ArbiPanelMode as PanelMode } from '@arbidocs/react';
15
+ interface PanelModeSwitcherProps {
16
+ mode: PanelMode;
17
+ onModeChange: (mode: PanelMode) => void;
18
+ onClose?: () => void;
19
+ /** When true, hides the popout button (e.g. for panels whose content breaks in a popup window) */
20
+ disablePopout?: boolean;
21
+ /**
22
+ * Override the close-button data-testid. Defaults to `dialog-close-button`
23
+ * for backwards compatibility. Use a panel-specific value (e.g.
24
+ * `close-viewer-button`) when there are multiple PanelModeSwitchers in the
25
+ * DOM at once and tests need to disambiguate.
26
+ */
27
+ closeTestId?: string;
28
+ }
29
+ export declare function PanelModeSwitcher({ mode, onModeChange, onClose, disablePopout, closeTestId, }: PanelModeSwitcherProps): import("react").JSX.Element;
30
+ export {};
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkFSEZEVWZ_cjs = require('../chunk-FSEZEVWZ.cjs');
4
+ var chunk5NTSJV5H_cjs = require('../chunk-5NTSJV5H.cjs');
5
5
  var chunkQWKT4DO6_cjs = require('../chunk-QWKT4DO6.cjs');
6
6
  require('../chunk-AHDJXIUB.cjs');
7
7
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
@@ -21,155 +21,163 @@ require('../chunk-DES3K4SD.cjs');
21
21
 
22
22
  Object.defineProperty(exports, "AskField", {
23
23
  enumerable: true,
24
- get: function () { return chunkFSEZEVWZ_cjs.AskField; }
24
+ get: function () { return chunk5NTSJV5H_cjs.AskField; }
25
25
  });
26
26
  Object.defineProperty(exports, "AskRow", {
27
27
  enumerable: true,
28
- get: function () { return chunkFSEZEVWZ_cjs.AskRow; }
28
+ get: function () { return chunk5NTSJV5H_cjs.AskRow; }
29
29
  });
30
30
  Object.defineProperty(exports, "AskTrigger", {
31
31
  enumerable: true,
32
- get: function () { return chunkFSEZEVWZ_cjs.AskTrigger; }
32
+ get: function () { return chunk5NTSJV5H_cjs.AskTrigger; }
33
33
  });
34
34
  Object.defineProperty(exports, "DEFAULT_ASK_FIELD_LABELS", {
35
35
  enumerable: true,
36
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_ASK_FIELD_LABELS; }
36
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_ASK_FIELD_LABELS; }
37
37
  });
38
38
  Object.defineProperty(exports, "DEFAULT_INSTALL_PROMPT_LABELS", {
39
39
  enumerable: true,
40
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_INSTALL_PROMPT_LABELS; }
40
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_INSTALL_PROMPT_LABELS; }
41
41
  });
42
42
  Object.defineProperty(exports, "DEFAULT_MOBILE_BARS_LABELS", {
43
43
  enumerable: true,
44
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_MOBILE_BARS_LABELS; }
44
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_MOBILE_BARS_LABELS; }
45
45
  });
46
46
  Object.defineProperty(exports, "DEFAULT_OFFLINE_PILL_LABELS", {
47
47
  enumerable: true,
48
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_OFFLINE_PILL_LABELS; }
48
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_OFFLINE_PILL_LABELS; }
49
49
  });
50
50
  Object.defineProperty(exports, "DEFAULT_REMOTE_CONTROL_PILL_LABELS", {
51
51
  enumerable: true,
52
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_REMOTE_CONTROL_PILL_LABELS; }
52
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_REMOTE_CONTROL_PILL_LABELS; }
53
53
  });
54
54
  Object.defineProperty(exports, "DEFAULT_TIP_CARD_LABELS", {
55
55
  enumerable: true,
56
- get: function () { return chunkFSEZEVWZ_cjs.DEFAULT_TIP_CARD_LABELS; }
56
+ get: function () { return chunk5NTSJV5H_cjs.DEFAULT_TIP_CARD_LABELS; }
57
+ });
58
+ Object.defineProperty(exports, "DockZone", {
59
+ enumerable: true,
60
+ get: function () { return chunk5NTSJV5H_cjs.DockZone; }
57
61
  });
58
62
  Object.defineProperty(exports, "INSTALL_PROMPT_DISMISSED_KEY", {
59
63
  enumerable: true,
60
- get: function () { return chunkFSEZEVWZ_cjs.INSTALL_PROMPT_DISMISSED_KEY; }
64
+ get: function () { return chunk5NTSJV5H_cjs.INSTALL_PROMPT_DISMISSED_KEY; }
61
65
  });
62
66
  Object.defineProperty(exports, "InfoBar", {
63
67
  enumerable: true,
64
- get: function () { return chunkFSEZEVWZ_cjs.InfoBar; }
68
+ get: function () { return chunk5NTSJV5H_cjs.InfoBar; }
65
69
  });
66
70
  Object.defineProperty(exports, "InstallPrompt", {
67
71
  enumerable: true,
68
- get: function () { return chunkFSEZEVWZ_cjs.InstallPrompt; }
72
+ get: function () { return chunk5NTSJV5H_cjs.InstallPrompt; }
69
73
  });
70
74
  Object.defineProperty(exports, "MobileAppBar", {
71
75
  enumerable: true,
72
- get: function () { return chunkFSEZEVWZ_cjs.MobileAppBar; }
76
+ get: function () { return chunk5NTSJV5H_cjs.MobileAppBar; }
73
77
  });
74
78
  Object.defineProperty(exports, "MobileTabBar", {
75
79
  enumerable: true,
76
- get: function () { return chunkFSEZEVWZ_cjs.MobileTabBar; }
80
+ get: function () { return chunk5NTSJV5H_cjs.MobileTabBar; }
77
81
  });
78
82
  Object.defineProperty(exports, "NotificationBell", {
79
83
  enumerable: true,
80
- get: function () { return chunkFSEZEVWZ_cjs.NotificationBell; }
84
+ get: function () { return chunk5NTSJV5H_cjs.NotificationBell; }
81
85
  });
82
86
  Object.defineProperty(exports, "OfflinePill", {
83
87
  enumerable: true,
84
- get: function () { return chunkFSEZEVWZ_cjs.OfflinePill; }
88
+ get: function () { return chunk5NTSJV5H_cjs.OfflinePill; }
89
+ });
90
+ Object.defineProperty(exports, "PanelModeSwitcher", {
91
+ enumerable: true,
92
+ get: function () { return chunk5NTSJV5H_cjs.PanelModeSwitcher; }
85
93
  });
86
94
  Object.defineProperty(exports, "RemoteControlPill", {
87
95
  enumerable: true,
88
- get: function () { return chunkFSEZEVWZ_cjs.RemoteControlPill; }
96
+ get: function () { return chunk5NTSJV5H_cjs.RemoteControlPill; }
89
97
  });
90
98
  Object.defineProperty(exports, "SHELL_START_INSET_VAR", {
91
99
  enumerable: true,
92
- get: function () { return chunkFSEZEVWZ_cjs.SHELL_START_INSET_VAR; }
100
+ get: function () { return chunk5NTSJV5H_cjs.SHELL_START_INSET_VAR; }
93
101
  });
94
102
  Object.defineProperty(exports, "STATUS_ROW_BASE_CLASS", {
95
103
  enumerable: true,
96
- get: function () { return chunkFSEZEVWZ_cjs.STATUS_ROW_BASE_CLASS; }
104
+ get: function () { return chunk5NTSJV5H_cjs.STATUS_ROW_BASE_CLASS; }
97
105
  });
98
106
  Object.defineProperty(exports, "STATUS_ROW_TONES", {
99
107
  enumerable: true,
100
- get: function () { return chunkFSEZEVWZ_cjs.STATUS_ROW_TONES; }
108
+ get: function () { return chunk5NTSJV5H_cjs.STATUS_ROW_TONES; }
101
109
  });
102
110
  Object.defineProperty(exports, "ShellSidebar", {
103
111
  enumerable: true,
104
- get: function () { return chunkFSEZEVWZ_cjs.ShellSidebar; }
112
+ get: function () { return chunk5NTSJV5H_cjs.ShellSidebar; }
105
113
  });
106
114
  Object.defineProperty(exports, "Sidebar", {
107
115
  enumerable: true,
108
- get: function () { return chunkFSEZEVWZ_cjs.Sidebar; }
116
+ get: function () { return chunk5NTSJV5H_cjs.Sidebar; }
109
117
  });
110
118
  Object.defineProperty(exports, "SidebarRowAction", {
111
119
  enumerable: true,
112
- get: function () { return chunkFSEZEVWZ_cjs.SidebarRowAction; }
120
+ get: function () { return chunk5NTSJV5H_cjs.SidebarRowAction; }
113
121
  });
114
122
  Object.defineProperty(exports, "SplitLayout", {
115
123
  enumerable: true,
116
- get: function () { return chunkFSEZEVWZ_cjs.SplitLayout; }
124
+ get: function () { return chunk5NTSJV5H_cjs.SplitLayout; }
117
125
  });
118
126
  Object.defineProperty(exports, "StatusBadge", {
119
127
  enumerable: true,
120
- get: function () { return chunkFSEZEVWZ_cjs.StatusBadge; }
128
+ get: function () { return chunk5NTSJV5H_cjs.StatusBadge; }
121
129
  });
122
130
  Object.defineProperty(exports, "StatusRow", {
123
131
  enumerable: true,
124
- get: function () { return chunkFSEZEVWZ_cjs.StatusRow; }
132
+ get: function () { return chunk5NTSJV5H_cjs.StatusRow; }
125
133
  });
126
134
  Object.defineProperty(exports, "TipCard", {
127
135
  enumerable: true,
128
- get: function () { return chunkFSEZEVWZ_cjs.TipCard; }
136
+ get: function () { return chunk5NTSJV5H_cjs.TipCard; }
129
137
  });
130
138
  Object.defineProperty(exports, "UserMenu", {
131
139
  enumerable: true,
132
- get: function () { return chunkFSEZEVWZ_cjs.UserMenu; }
140
+ get: function () { return chunk5NTSJV5H_cjs.UserMenu; }
133
141
  });
134
142
  Object.defineProperty(exports, "getInstallInstructions", {
135
143
  enumerable: true,
136
- get: function () { return chunkFSEZEVWZ_cjs.getInstallInstructions; }
144
+ get: function () { return chunk5NTSJV5H_cjs.getInstallInstructions; }
137
145
  });
138
146
  Object.defineProperty(exports, "initInstallPrompt", {
139
147
  enumerable: true,
140
- get: function () { return chunkFSEZEVWZ_cjs.initInstallPrompt; }
148
+ get: function () { return chunk5NTSJV5H_cjs.initInstallPrompt; }
141
149
  });
142
150
  Object.defineProperty(exports, "isIosDevice", {
143
151
  enumerable: true,
144
- get: function () { return chunkFSEZEVWZ_cjs.isIosDevice; }
152
+ get: function () { return chunk5NTSJV5H_cjs.isIosDevice; }
145
153
  });
146
154
  Object.defineProperty(exports, "promptAppInstall", {
147
155
  enumerable: true,
148
- get: function () { return chunkFSEZEVWZ_cjs.promptAppInstall; }
156
+ get: function () { return chunk5NTSJV5H_cjs.promptAppInstall; }
149
157
  });
150
158
  Object.defineProperty(exports, "resolveSidebarLayout", {
151
159
  enumerable: true,
152
- get: function () { return chunkFSEZEVWZ_cjs.resolveSidebarLayout; }
160
+ get: function () { return chunk5NTSJV5H_cjs.resolveSidebarLayout; }
153
161
  });
154
162
  Object.defineProperty(exports, "useCloseOnEscape", {
155
163
  enumerable: true,
156
- get: function () { return chunkFSEZEVWZ_cjs.useCloseOnEscape; }
164
+ get: function () { return chunk5NTSJV5H_cjs.useCloseOnEscape; }
157
165
  });
158
166
  Object.defineProperty(exports, "useInstallPrompt", {
159
167
  enumerable: true,
160
- get: function () { return chunkFSEZEVWZ_cjs.useInstallPrompt; }
168
+ get: function () { return chunk5NTSJV5H_cjs.useInstallPrompt; }
161
169
  });
162
170
  Object.defineProperty(exports, "useShellStartInset", {
163
171
  enumerable: true,
164
- get: function () { return chunkFSEZEVWZ_cjs.useShellStartInset; }
172
+ get: function () { return chunk5NTSJV5H_cjs.useShellStartInset; }
165
173
  });
166
174
  Object.defineProperty(exports, "useSidebarController", {
167
175
  enumerable: true,
168
- get: function () { return chunkFSEZEVWZ_cjs.useSidebarController; }
176
+ get: function () { return chunk5NTSJV5H_cjs.useSidebarController; }
169
177
  });
170
178
  Object.defineProperty(exports, "useSidebarSettle", {
171
179
  enumerable: true,
172
- get: function () { return chunkFSEZEVWZ_cjs.useSidebarSettle; }
180
+ get: function () { return chunk5NTSJV5H_cjs.useSidebarSettle; }
173
181
  });
174
182
  Object.defineProperty(exports, "ActionCluster", {
175
183
  enumerable: true,
@@ -32,3 +32,5 @@ export { SplitLayout, type SplitLayoutProps } from './SplitLayout';
32
32
  export { Toaster, DEFAULT_DOCK_WIDTH, type ShellToasterProps } from './Toaster';
33
33
  export { STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES } from './status-row-styles';
34
34
  export { FilterInput, DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, type FilterField, type FilterInputProps, type FilterInputLabels, type FilterInputTestIds, } from './FilterInput';
35
+ export { DockZone } from './DockZone';
36
+ export { PanelModeSwitcher } from './PanelModeSwitcher';
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { AskField, AskRow, AskTrigger, DEFAULT_ASK_FIELD_LABELS, DEFAULT_INSTALL_PROMPT_LABELS, DEFAULT_MOBILE_BARS_LABELS, DEFAULT_OFFLINE_PILL_LABELS, DEFAULT_REMOTE_CONTROL_PILL_LABELS, DEFAULT_TIP_CARD_LABELS, INSTALL_PROMPT_DISMISSED_KEY, InfoBar, InstallPrompt, MobileAppBar, MobileTabBar, NotificationBell, OfflinePill, RemoteControlPill, SHELL_START_INSET_VAR, STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES, ShellSidebar, Sidebar, SidebarRowAction, SplitLayout, StatusBadge, StatusRow, TipCard, UserMenu, getInstallInstructions, initInstallPrompt, isIosDevice, promptAppInstall, resolveSidebarLayout, useCloseOnEscape, useInstallPrompt, useShellStartInset, useSidebarController, useSidebarSettle } from '../chunk-LTEDORG3.js';
2
+ export { AskField, AskRow, AskTrigger, DEFAULT_ASK_FIELD_LABELS, DEFAULT_INSTALL_PROMPT_LABELS, DEFAULT_MOBILE_BARS_LABELS, DEFAULT_OFFLINE_PILL_LABELS, DEFAULT_REMOTE_CONTROL_PILL_LABELS, DEFAULT_TIP_CARD_LABELS, DockZone, INSTALL_PROMPT_DISMISSED_KEY, InfoBar, InstallPrompt, MobileAppBar, MobileTabBar, NotificationBell, OfflinePill, PanelModeSwitcher, RemoteControlPill, SHELL_START_INSET_VAR, STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES, ShellSidebar, Sidebar, SidebarRowAction, SplitLayout, StatusBadge, StatusRow, TipCard, UserMenu, getInstallInstructions, initInstallPrompt, isIosDevice, promptAppInstall, resolveSidebarLayout, useCloseOnEscape, useInstallPrompt, useShellStartInset, useSidebarController, useSidebarSettle } from '../chunk-QFYRXQTD.js';
3
3
  export { ActionCluster, DEFAULT_SIDEBAR_LABELS, DEFAULT_WORKSPACE_KIND_LABELS, DEFAULT_WORKSPACE_SWITCHER_LABELS, SidebarBadgeRow, SidebarRowHoverContext, WorkspaceIdentity, WorkspaceSwitcher, hasUnsavedInput, installReloadPolicy, markBuildStale, prefetchChunk, requestReload, useSidebarContext, workspaceKindColor, workspaceKindMeta } from '../chunk-PXYP3DM5.js';
4
4
  import '../chunk-RLWIUUQ5.js';
5
5
  export { DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, FilterInput } from '../chunk-YU2KUMGE.js';
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkB426HYRI_cjs = require('../chunk-B426HYRI.cjs');
5
- var chunkPOU4O4D7_cjs = require('../chunk-POU4O4D7.cjs');
4
+ var chunkPUX4M22Q_cjs = require('../chunk-PUX4M22Q.cjs');
5
+ var chunkFY4C7HU5_cjs = require('../chunk-FY4C7HU5.cjs');
6
6
  require('../chunk-RFIBUWLF.cjs');
7
- var chunkSSYRPBL5_cjs = require('../chunk-SSYRPBL5.cjs');
7
+ var chunk2QDNQM63_cjs = require('../chunk-2QDNQM63.cjs');
8
8
  require('../chunk-3ZLNI7ZA.cjs');
9
9
  require('../chunk-AQPZ4QMV.cjs');
10
10
  require('../chunk-SIB6C7P7.cjs');
@@ -18,8 +18,8 @@ require('../chunk-VZOOGA47.cjs');
18
18
  var chunkC3YIVBTU_cjs = require('../chunk-C3YIVBTU.cjs');
19
19
  var chunkJVXHVFUA_cjs = require('../chunk-JVXHVFUA.cjs');
20
20
  require('../chunk-MB3S2ETI.cjs');
21
- require('../chunk-ZW6FPIFC.cjs');
22
21
  require('../chunk-MEMWZ72Y.cjs');
22
+ require('../chunk-ZW6FPIFC.cjs');
23
23
  var chunkEZLZ3MDU_cjs = require('../chunk-EZLZ3MDU.cjs');
24
24
  var chunk76L6LOP3_cjs = require('../chunk-76L6LOP3.cjs');
25
25
  var chunk32HW2Q33_cjs = require('../chunk-32HW2Q33.cjs');
@@ -322,9 +322,9 @@ function SignalsEditor({
322
322
  {
323
323
  className: ui.cn(
324
324
  "space-y-1.5 rounded-md border p-2",
325
- chunkPOU4O4D7_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
325
+ chunkFY4C7HU5_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
326
326
  ),
327
- "data-incomplete": chunkPOU4O4D7_cjs.isIncompleteSignal(signal) || void 0,
327
+ "data-incomplete": chunkFY4C7HU5_cjs.isIncompleteSignal(signal) || void 0,
328
328
  "data-testid": `${testId}-${i}`,
329
329
  children: [
330
330
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -1612,7 +1612,7 @@ function triggerFields(trigger, clearOthers) {
1612
1612
  return {
1613
1613
  timezone: trigger.timezone,
1614
1614
  rrule: trigger.start === "repeat" ? trigger.rrule.trim() : none,
1615
- run_at: trigger.start === "once" ? chunkPOU4O4D7_cjs.localInputToIso(trigger.runAt) : none,
1615
+ run_at: trigger.start === "once" ? chunkFY4C7HU5_cjs.localInputToIso(trigger.runAt) : none,
1616
1616
  event_kind: trigger.start === "event" ? trigger.eventKind.trim() : none,
1617
1617
  // A step signal is `workflow_signal` narrowed to one signal name.
1618
1618
  event_filter: filter ?? none,
@@ -1628,7 +1628,7 @@ function plan(value, options) {
1628
1628
  criteria: [],
1629
1629
  max_passes: 3,
1630
1630
  documents: [],
1631
- steps: chunkPOU4O4D7_cjs.toPlanSteps(value.workflow, options)
1631
+ steps: chunkFY4C7HU5_cjs.toPlanSteps(value.workflow, options)
1632
1632
  };
1633
1633
  }
1634
1634
  function builderToWorkflowRequest(value, workspaceId, options = {}) {
@@ -1663,7 +1663,7 @@ function builderToWorkflowUpdate(value, options = {}) {
1663
1663
  }
1664
1664
  function workflowRecordToBuilder(record) {
1665
1665
  const planned = record.plan?.steps ?? [];
1666
- const steps = planned.length ? chunkPOU4O4D7_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1666
+ const steps = planned.length ? chunkFY4C7HU5_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1667
1667
  {
1668
1668
  id: "work",
1669
1669
  kind: "agent",
@@ -1671,7 +1671,7 @@ function workflowRecordToBuilder(record) {
1671
1671
  ...record.skill_ref ? { workflow: record.skill_ref } : { run: { kind: "prompt", promptTemplate: record.prompt } }
1672
1672
  }
1673
1673
  ] : [];
1674
- const when = chunkPOU4O4D7_cjs.workflowWhen(record);
1674
+ const when = chunkFY4C7HU5_cjs.workflowWhen(record);
1675
1675
  return {
1676
1676
  workflow: {
1677
1677
  id: record.external_id,
@@ -1680,12 +1680,12 @@ function workflowRecordToBuilder(record) {
1680
1680
  inputs: [],
1681
1681
  landing: "chat",
1682
1682
  schedulable: false,
1683
- run: { kind: "steps", steps, layout: chunkPOU4O4D7_cjs.layoutFromPlanSteps(planned ?? []) }
1683
+ run: { kind: "steps", steps, layout: chunkFY4C7HU5_cjs.layoutFromPlanSteps(planned ?? []) }
1684
1684
  },
1685
1685
  trigger: {
1686
1686
  ...DEFAULT_WORKFLOW_TRIGGER,
1687
1687
  start: when === "now" ? "manual" : when,
1688
- runAt: chunkPOU4O4D7_cjs.isoToLocalInput(record.run_at),
1688
+ runAt: chunkFY4C7HU5_cjs.isoToLocalInput(record.run_at),
1689
1689
  rrule: record.rrule ?? "",
1690
1690
  timezone: record.timezone || DEFAULT_WORKFLOW_TRIGGER.timezone,
1691
1691
  eventKind: record.event_kind ?? "",
@@ -1741,7 +1741,7 @@ function triggerSummary(trigger, options = {}) {
1741
1741
  case "once":
1742
1742
  return trigger.runAt ? new Date(trigger.runAt).toLocaleString() : l.starts.once;
1743
1743
  case "repeat":
1744
- return trigger.rrule ? chunkPOU4O4D7_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1744
+ return trigger.rrule ? chunkFY4C7HU5_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1745
1745
  case "event":
1746
1746
  if (isSignalTrigger(trigger))
1747
1747
  return trigger.signal ? l.signalSummary.replace("{signal}", trigger.signal) : l.stepSignals;
@@ -1800,7 +1800,7 @@ function TriggerInspector({
1800
1800
  }
1801
1801
  )
1802
1802
  ] }),
1803
- trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunkPOU4O4D7_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1803
+ trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunkFY4C7HU5_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1804
1804
  trigger.start === "event" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1805
1805
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-xs", children: l.event }),
1806
1806
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1852,7 +1852,7 @@ function TriggerInspector({
1852
1852
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1853
1853
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-xs", children: l.agent }),
1854
1854
  /* @__PURE__ */ jsxRuntime.jsx(
1855
- chunkSSYRPBL5_cjs.AgentSelect,
1855
+ chunk2QDNQM63_cjs.AgentSelect,
1856
1856
  {
1857
1857
  agents,
1858
1858
  value: trigger.agentId,
@@ -2689,13 +2689,13 @@ function WorkflowPreview({
2689
2689
  renderIcon,
2690
2690
  testId
2691
2691
  }) {
2692
- const run = chunkB426HYRI_cjs.useWorkflowPreview(workflow, {
2692
+ const run = chunkPUX4M22Q_cjs.useWorkflowPreview(workflow, {
2693
2693
  resolveWorkflow: (id) => workflows.find((w) => w.id === id),
2694
2694
  compose,
2695
2695
  answer
2696
2696
  });
2697
2697
  return /* @__PURE__ */ jsxRuntime.jsx(
2698
- chunkPOU4O4D7_cjs.WorkflowRunner,
2698
+ chunkFY4C7HU5_cjs.WorkflowRunner,
2699
2699
  {
2700
2700
  workflow,
2701
2701
  run,
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { useWorkflowPreview } from '../chunk-O76V2TUY.js';
3
- import { isIncompleteSignal, fromPlanSteps, workflowWhen, isoToLocalInput, layoutFromPlanSteps, describeRRule, RecurrenceBuilder, WorkflowRunner, toPlanSteps, localInputToIso } from '../chunk-UWXCT3ON.js';
2
+ import { useWorkflowPreview } from '../chunk-EZSYYENN.js';
3
+ import { isIncompleteSignal, fromPlanSteps, workflowWhen, isoToLocalInput, layoutFromPlanSteps, describeRRule, RecurrenceBuilder, WorkflowRunner, toPlanSteps, localInputToIso } from '../chunk-4DKI37QQ.js';
4
4
  import '../chunk-CQCC7LE7.js';
5
- import { AgentSelect } from '../chunk-OPK6GYYR.js';
5
+ import { AgentSelect } from '../chunk-7CHI36EP.js';
6
6
  import '../chunk-2C3I27VI.js';
7
7
  import '../chunk-G4GLDQLY.js';
8
8
  import '../chunk-M4S75AEJ.js';
@@ -16,8 +16,8 @@ import '../chunk-WNDIVNPT.js';
16
16
  import { useConnectedTags, useListedDocuments, useConnectedConversations } from '../chunk-5JEM3BWT.js';
17
17
  import { useConnectedWorkspace } from '../chunk-2YCCCXYV.js';
18
18
  import '../chunk-T4P237N6.js';
19
- import '../chunk-P6GHJSLR.js';
20
19
  import '../chunk-ABEKUV6L.js';
20
+ import '../chunk-P6GHJSLR.js';
21
21
  import { DEFAULT_STEP_KIND_LABELS, workflowSteps, dependsOn, stepLevels, runFields, upstreamSteps, stepDependencies, canAssign, WORKFLOW_STEP_KINDS, STEP_KIND_ICONS, validateWorkflowGraph, stepConfigProblems, assigneeName, orderSteps, stepKindOf } from '../chunk-THNTNAYI.js';
22
22
  import { mergeSkillWorkflows } from '../chunk-TZGBRLPK.js';
23
23
  import { TONE_DOT, TONES, isTone } from '../chunk-AUS3KBHJ.js';
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbidocs/coedit",
3
- "version": "0.5.34",
3
+ "version": "0.5.36",
4
4
  "description": "Real-time collaboration for the ARBI native DOCX editor: a Yjs mirror of the canonical OOXML package, session, and server runtime",
5
5
  "type": "module",
6
6
  "sideEffects": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbidocs/blocks",
3
- "version": "0.5.34",
3
+ "version": "0.5.36",
4
4
  "description": "Composable, domain-neutral UI blocks for ARBI apps, organised by capability (retrieval, facts, agents, workspaces, citations, collaboration) plus shell, theme and site primitives, on top of @arbidocs/react.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -296,9 +296,9 @@
296
296
  "example:test:e2e": "playwright test -c examples/custom-ui/playwright.config.ts"
297
297
  },
298
298
  "dependencies": {
299
- "@arbidocs/client": "0.5.34",
300
- "@arbidocs/coedit": "0.5.34",
301
- "@arbidocs/sdk": "0.5.34",
299
+ "@arbidocs/client": "0.5.36",
300
+ "@arbidocs/coedit": "0.5.36",
301
+ "@arbidocs/sdk": "0.5.36",
302
302
  "@auth0/auth0-react": "^2.19.0",
303
303
  "@dnd-kit/core": "^6.3.1",
304
304
  "@dnd-kit/sortable": "^10.0.0",
@@ -345,7 +345,7 @@
345
345
  "y-protocols": "^1.0.6"
346
346
  },
347
347
  "peerDependencies": {
348
- "@arbidocs/react": "0.5.34",
348
+ "@arbidocs/react": "0.5.36",
349
349
  "@lexical/html": "0.35.0",
350
350
  "@lexical/link": "0.35.0",
351
351
  "@lexical/list": "0.35.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"ConnectedStreamedWordArtifact-S7EQ4FM2.cjs"}