@arbidocs/blocks 0.4.141 → 0.4.142

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 (55) hide show
  1. package/dist/agents/index.cjs +261 -260
  2. package/dist/agents/index.js +4 -3
  3. package/dist/chunk-AHDJXIUB.cjs +25 -0
  4. package/dist/chunk-AHDJXIUB.cjs.map +1 -0
  5. package/dist/{chunk-2UUNSHDI.cjs → chunk-DPGFEMVT.cjs} +9 -24
  6. package/dist/chunk-DPGFEMVT.cjs.map +1 -0
  7. package/dist/{chunk-3ZYOASAX.js → chunk-FXG7TFAG.js} +3 -3
  8. package/dist/{chunk-3ZYOASAX.js.map → chunk-FXG7TFAG.js.map} +1 -1
  9. package/dist/{chunk-OAQEUTNJ.cjs → chunk-GBS6QVGS.cjs} +5 -5
  10. package/dist/{chunk-OAQEUTNJ.cjs.map → chunk-GBS6QVGS.cjs.map} +1 -1
  11. package/dist/{chunk-CQ4MFKFC.cjs → chunk-HIJUXAWS.cjs} +31 -30
  12. package/dist/chunk-HIJUXAWS.cjs.map +1 -0
  13. package/dist/{chunk-O6W6RW3B.js → chunk-I7WG3JRD.js} +206 -53
  14. package/dist/chunk-I7WG3JRD.js.map +1 -0
  15. package/dist/{chunk-YWY2KIX2.js → chunk-N5X37J3D.js} +5 -4
  16. package/dist/chunk-N5X37J3D.js.map +1 -0
  17. package/dist/{chunk-YFF3GTJQ.js → chunk-PROK33G6.js} +6 -20
  18. package/dist/chunk-PROK33G6.js.map +1 -0
  19. package/dist/chunk-RLWIUUQ5.js +23 -0
  20. package/dist/chunk-RLWIUUQ5.js.map +1 -0
  21. package/dist/{chunk-GFRQG36Y.cjs → chunk-YFY3TQ6Q.cjs} +208 -52
  22. package/dist/chunk-YFY3TQ6Q.cjs.map +1 -0
  23. package/dist/connect/index.cjs +56 -55
  24. package/dist/connect/index.cjs.map +1 -1
  25. package/dist/connect/index.js +5 -4
  26. package/dist/connect/index.js.map +1 -1
  27. package/dist/facts/index.cjs +1 -1
  28. package/dist/facts/index.js +1 -1
  29. package/dist/index.cjs +358 -345
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.js +7 -6
  32. package/dist/index.js.map +1 -1
  33. package/dist/lib/sidebar-mode.d.ts +1 -3
  34. package/dist/lib/use-close-on-escape.d.ts +6 -0
  35. package/dist/settings/index.cjs +1 -1
  36. package/dist/settings/index.js +1 -1
  37. package/dist/shell/ShellSidebar.d.ts +37 -0
  38. package/dist/shell/Sidebar.d.ts +6 -6
  39. package/dist/shell/index.cjs +61 -48
  40. package/dist/shell/index.d.ts +4 -1
  41. package/dist/shell/index.js +3 -2
  42. package/dist/shell/types.d.ts +18 -0
  43. package/dist/shell/use-sidebar-controller.d.ts +59 -0
  44. package/dist/workflow-canvas/index.cjs +17 -16
  45. package/dist/workflow-canvas/index.cjs.map +1 -1
  46. package/dist/workflow-canvas/index.js +4 -3
  47. package/dist/workflow-canvas/index.js.map +1 -1
  48. package/node_modules/@arbidocs/coedit/package.json +1 -1
  49. package/package.json +4 -4
  50. package/dist/chunk-2UUNSHDI.cjs.map +0 -1
  51. package/dist/chunk-CQ4MFKFC.cjs.map +0 -1
  52. package/dist/chunk-GFRQG36Y.cjs.map +0 -1
  53. package/dist/chunk-O6W6RW3B.js.map +0 -1
  54. package/dist/chunk-YFF3GTJQ.js.map +0 -1
  55. package/dist/chunk-YWY2KIX2.js.map +0 -1
@@ -1,14 +1,15 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkGFRQG36Y_cjs = require('../chunk-GFRQG36Y.cjs');
4
+ var chunkYFY3TQ6Q_cjs = require('../chunk-YFY3TQ6Q.cjs');
5
5
  var chunkV46W7YLI_cjs = require('../chunk-V46W7YLI.cjs');
6
+ require('../chunk-AHDJXIUB.cjs');
6
7
  require('../chunk-R26BK7YL.cjs');
7
8
  var chunk2EI7NCUA_cjs = require('../chunk-2EI7NCUA.cjs');
9
+ var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
8
10
  var chunk5UHAWSEX_cjs = require('../chunk-5UHAWSEX.cjs');
9
11
  var chunkB6MVQCXW_cjs = require('../chunk-B6MVQCXW.cjs');
10
12
  var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
11
- var chunk7RGLTF76_cjs = require('../chunk-7RGLTF76.cjs');
12
13
  require('../chunk-PPCATBOY.cjs');
13
14
  require('../chunk-MHVNT4J3.cjs');
14
15
  require('../chunk-C4WSHRR6.cjs');
@@ -19,155 +20,167 @@ require('../chunk-DES3K4SD.cjs');
19
20
 
20
21
  Object.defineProperty(exports, "ActionCluster", {
21
22
  enumerable: true,
22
- get: function () { return chunkGFRQG36Y_cjs.ActionCluster; }
23
+ get: function () { return chunkYFY3TQ6Q_cjs.ActionCluster; }
23
24
  });
24
25
  Object.defineProperty(exports, "AskField", {
25
26
  enumerable: true,
26
- get: function () { return chunkGFRQG36Y_cjs.AskField; }
27
+ get: function () { return chunkYFY3TQ6Q_cjs.AskField; }
27
28
  });
28
29
  Object.defineProperty(exports, "AskRow", {
29
30
  enumerable: true,
30
- get: function () { return chunkGFRQG36Y_cjs.AskRow; }
31
+ get: function () { return chunkYFY3TQ6Q_cjs.AskRow; }
31
32
  });
32
33
  Object.defineProperty(exports, "AskTrigger", {
33
34
  enumerable: true,
34
- get: function () { return chunkGFRQG36Y_cjs.AskTrigger; }
35
+ get: function () { return chunkYFY3TQ6Q_cjs.AskTrigger; }
35
36
  });
36
37
  Object.defineProperty(exports, "DEFAULT_ASK_FIELD_LABELS", {
37
38
  enumerable: true,
38
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_ASK_FIELD_LABELS; }
39
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_ASK_FIELD_LABELS; }
39
40
  });
40
41
  Object.defineProperty(exports, "DEFAULT_INSTALL_PROMPT_LABELS", {
41
42
  enumerable: true,
42
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_INSTALL_PROMPT_LABELS; }
43
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_INSTALL_PROMPT_LABELS; }
43
44
  });
44
45
  Object.defineProperty(exports, "DEFAULT_MOBILE_BARS_LABELS", {
45
46
  enumerable: true,
46
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_MOBILE_BARS_LABELS; }
47
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_MOBILE_BARS_LABELS; }
47
48
  });
48
49
  Object.defineProperty(exports, "DEFAULT_OFFLINE_PILL_LABELS", {
49
50
  enumerable: true,
50
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_OFFLINE_PILL_LABELS; }
51
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_OFFLINE_PILL_LABELS; }
51
52
  });
52
53
  Object.defineProperty(exports, "DEFAULT_REMOTE_CONTROL_PILL_LABELS", {
53
54
  enumerable: true,
54
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_REMOTE_CONTROL_PILL_LABELS; }
55
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_REMOTE_CONTROL_PILL_LABELS; }
55
56
  });
56
57
  Object.defineProperty(exports, "DEFAULT_SIDEBAR_LABELS", {
57
58
  enumerable: true,
58
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_SIDEBAR_LABELS; }
59
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_SIDEBAR_LABELS; }
59
60
  });
60
61
  Object.defineProperty(exports, "DEFAULT_TIP_CARD_LABELS", {
61
62
  enumerable: true,
62
- get: function () { return chunkGFRQG36Y_cjs.DEFAULT_TIP_CARD_LABELS; }
63
+ get: function () { return chunkYFY3TQ6Q_cjs.DEFAULT_TIP_CARD_LABELS; }
63
64
  });
64
65
  Object.defineProperty(exports, "INSTALL_PROMPT_DISMISSED_KEY", {
65
66
  enumerable: true,
66
- get: function () { return chunkGFRQG36Y_cjs.INSTALL_PROMPT_DISMISSED_KEY; }
67
+ get: function () { return chunkYFY3TQ6Q_cjs.INSTALL_PROMPT_DISMISSED_KEY; }
67
68
  });
68
69
  Object.defineProperty(exports, "InfoBar", {
69
70
  enumerable: true,
70
- get: function () { return chunkGFRQG36Y_cjs.InfoBar; }
71
+ get: function () { return chunkYFY3TQ6Q_cjs.InfoBar; }
71
72
  });
72
73
  Object.defineProperty(exports, "InstallPrompt", {
73
74
  enumerable: true,
74
- get: function () { return chunkGFRQG36Y_cjs.InstallPrompt; }
75
+ get: function () { return chunkYFY3TQ6Q_cjs.InstallPrompt; }
75
76
  });
76
77
  Object.defineProperty(exports, "MobileAppBar", {
77
78
  enumerable: true,
78
- get: function () { return chunkGFRQG36Y_cjs.MobileAppBar; }
79
+ get: function () { return chunkYFY3TQ6Q_cjs.MobileAppBar; }
79
80
  });
80
81
  Object.defineProperty(exports, "MobileTabBar", {
81
82
  enumerable: true,
82
- get: function () { return chunkGFRQG36Y_cjs.MobileTabBar; }
83
+ get: function () { return chunkYFY3TQ6Q_cjs.MobileTabBar; }
83
84
  });
84
85
  Object.defineProperty(exports, "NotificationBell", {
85
86
  enumerable: true,
86
- get: function () { return chunkGFRQG36Y_cjs.NotificationBell; }
87
+ get: function () { return chunkYFY3TQ6Q_cjs.NotificationBell; }
87
88
  });
88
89
  Object.defineProperty(exports, "OfflinePill", {
89
90
  enumerable: true,
90
- get: function () { return chunkGFRQG36Y_cjs.OfflinePill; }
91
+ get: function () { return chunkYFY3TQ6Q_cjs.OfflinePill; }
91
92
  });
92
93
  Object.defineProperty(exports, "RemoteControlPill", {
93
94
  enumerable: true,
94
- get: function () { return chunkGFRQG36Y_cjs.RemoteControlPill; }
95
+ get: function () { return chunkYFY3TQ6Q_cjs.RemoteControlPill; }
95
96
  });
96
97
  Object.defineProperty(exports, "STATUS_ROW_BASE_CLASS", {
97
98
  enumerable: true,
98
- get: function () { return chunkGFRQG36Y_cjs.STATUS_ROW_BASE_CLASS; }
99
+ get: function () { return chunkYFY3TQ6Q_cjs.STATUS_ROW_BASE_CLASS; }
99
100
  });
100
101
  Object.defineProperty(exports, "STATUS_ROW_TONES", {
101
102
  enumerable: true,
102
- get: function () { return chunkGFRQG36Y_cjs.STATUS_ROW_TONES; }
103
+ get: function () { return chunkYFY3TQ6Q_cjs.STATUS_ROW_TONES; }
104
+ });
105
+ Object.defineProperty(exports, "ShellSidebar", {
106
+ enumerable: true,
107
+ get: function () { return chunkYFY3TQ6Q_cjs.ShellSidebar; }
103
108
  });
104
109
  Object.defineProperty(exports, "Sidebar", {
105
110
  enumerable: true,
106
- get: function () { return chunkGFRQG36Y_cjs.Sidebar; }
111
+ get: function () { return chunkYFY3TQ6Q_cjs.Sidebar; }
107
112
  });
108
113
  Object.defineProperty(exports, "SidebarBadgeRow", {
109
114
  enumerable: true,
110
- get: function () { return chunkGFRQG36Y_cjs.SidebarBadgeRow; }
115
+ get: function () { return chunkYFY3TQ6Q_cjs.SidebarBadgeRow; }
111
116
  });
112
117
  Object.defineProperty(exports, "SidebarRowAction", {
113
118
  enumerable: true,
114
- get: function () { return chunkGFRQG36Y_cjs.SidebarRowAction; }
119
+ get: function () { return chunkYFY3TQ6Q_cjs.SidebarRowAction; }
115
120
  });
116
121
  Object.defineProperty(exports, "SidebarRowHoverContext", {
117
122
  enumerable: true,
118
- get: function () { return chunkGFRQG36Y_cjs.SidebarRowHoverContext; }
123
+ get: function () { return chunkYFY3TQ6Q_cjs.SidebarRowHoverContext; }
119
124
  });
120
125
  Object.defineProperty(exports, "SplitLayout", {
121
126
  enumerable: true,
122
- get: function () { return chunkGFRQG36Y_cjs.SplitLayout; }
127
+ get: function () { return chunkYFY3TQ6Q_cjs.SplitLayout; }
123
128
  });
124
129
  Object.defineProperty(exports, "StatusBadge", {
125
130
  enumerable: true,
126
- get: function () { return chunkGFRQG36Y_cjs.StatusBadge; }
131
+ get: function () { return chunkYFY3TQ6Q_cjs.StatusBadge; }
127
132
  });
128
133
  Object.defineProperty(exports, "StatusRow", {
129
134
  enumerable: true,
130
- get: function () { return chunkGFRQG36Y_cjs.StatusRow; }
135
+ get: function () { return chunkYFY3TQ6Q_cjs.StatusRow; }
131
136
  });
132
137
  Object.defineProperty(exports, "TipCard", {
133
138
  enumerable: true,
134
- get: function () { return chunkGFRQG36Y_cjs.TipCard; }
139
+ get: function () { return chunkYFY3TQ6Q_cjs.TipCard; }
135
140
  });
136
141
  Object.defineProperty(exports, "UserMenu", {
137
142
  enumerable: true,
138
- get: function () { return chunkGFRQG36Y_cjs.UserMenu; }
143
+ get: function () { return chunkYFY3TQ6Q_cjs.UserMenu; }
139
144
  });
140
145
  Object.defineProperty(exports, "getInstallInstructions", {
141
146
  enumerable: true,
142
- get: function () { return chunkGFRQG36Y_cjs.getInstallInstructions; }
147
+ get: function () { return chunkYFY3TQ6Q_cjs.getInstallInstructions; }
143
148
  });
144
149
  Object.defineProperty(exports, "initInstallPrompt", {
145
150
  enumerable: true,
146
- get: function () { return chunkGFRQG36Y_cjs.initInstallPrompt; }
151
+ get: function () { return chunkYFY3TQ6Q_cjs.initInstallPrompt; }
147
152
  });
148
153
  Object.defineProperty(exports, "isIosDevice", {
149
154
  enumerable: true,
150
- get: function () { return chunkGFRQG36Y_cjs.isIosDevice; }
155
+ get: function () { return chunkYFY3TQ6Q_cjs.isIosDevice; }
151
156
  });
152
157
  Object.defineProperty(exports, "promptAppInstall", {
153
158
  enumerable: true,
154
- get: function () { return chunkGFRQG36Y_cjs.promptAppInstall; }
159
+ get: function () { return chunkYFY3TQ6Q_cjs.promptAppInstall; }
155
160
  });
156
161
  Object.defineProperty(exports, "resolveSidebarLayout", {
157
162
  enumerable: true,
158
- get: function () { return chunkGFRQG36Y_cjs.resolveSidebarLayout; }
163
+ get: function () { return chunkYFY3TQ6Q_cjs.resolveSidebarLayout; }
164
+ });
165
+ Object.defineProperty(exports, "useCloseOnEscape", {
166
+ enumerable: true,
167
+ get: function () { return chunkYFY3TQ6Q_cjs.useCloseOnEscape; }
159
168
  });
160
169
  Object.defineProperty(exports, "useInstallPrompt", {
161
170
  enumerable: true,
162
- get: function () { return chunkGFRQG36Y_cjs.useInstallPrompt; }
171
+ get: function () { return chunkYFY3TQ6Q_cjs.useInstallPrompt; }
163
172
  });
164
173
  Object.defineProperty(exports, "useSidebarContext", {
165
174
  enumerable: true,
166
- get: function () { return chunkGFRQG36Y_cjs.useSidebarContext; }
175
+ get: function () { return chunkYFY3TQ6Q_cjs.useSidebarContext; }
176
+ });
177
+ Object.defineProperty(exports, "useSidebarController", {
178
+ enumerable: true,
179
+ get: function () { return chunkYFY3TQ6Q_cjs.useSidebarController; }
167
180
  });
168
181
  Object.defineProperty(exports, "useSidebarSettle", {
169
182
  enumerable: true,
170
- get: function () { return chunkGFRQG36Y_cjs.useSidebarSettle; }
183
+ get: function () { return chunkYFY3TQ6Q_cjs.useSidebarSettle; }
171
184
  });
172
185
  Object.defineProperty(exports, "DEFAULT_WORKSPACE_KIND_LABELS", {
173
186
  enumerable: true,
@@ -205,6 +218,14 @@ Object.defineProperty(exports, "FilterInput", {
205
218
  enumerable: true,
206
219
  get: function () { return chunk2EI7NCUA_cjs.FilterInput; }
207
220
  });
221
+ Object.defineProperty(exports, "DEFAULT_TAB_HEADER_LABELS", {
222
+ enumerable: true,
223
+ get: function () { return chunk7RGLTF76_cjs.DEFAULT_TAB_HEADER_LABELS; }
224
+ });
225
+ Object.defineProperty(exports, "TabHeader", {
226
+ enumerable: true,
227
+ get: function () { return chunk7RGLTF76_cjs.TabHeader; }
228
+ });
208
229
  Object.defineProperty(exports, "DEFAULT_DOCK_WIDTH", {
209
230
  enumerable: true,
210
231
  get: function () { return chunk5UHAWSEX_cjs.DEFAULT_DOCK_WIDTH; }
@@ -277,13 +298,5 @@ Object.defineProperty(exports, "useMediaQuery", {
277
298
  enumerable: true,
278
299
  get: function () { return chunkFX3K6LNZ_cjs.useMediaQuery; }
279
300
  });
280
- Object.defineProperty(exports, "DEFAULT_TAB_HEADER_LABELS", {
281
- enumerable: true,
282
- get: function () { return chunk7RGLTF76_cjs.DEFAULT_TAB_HEADER_LABELS; }
283
- });
284
- Object.defineProperty(exports, "TabHeader", {
285
- enumerable: true,
286
- get: function () { return chunk7RGLTF76_cjs.TabHeader; }
287
- });
288
301
  //# sourceMappingURL=index.cjs.map
289
302
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,8 @@
1
1
  export { Shell, PageContainer, SidebarToggleButton, DEFAULT_SIDEBAR_TOGGLE_BUTTON_LABELS, DEFAULT_OVERLAY_ZONE_ID, DEFAULT_PAGE_CONTAINER_PADDING, useOverlayZoneId, type ShellRootProps, type ShellContentProps, type ShellTopbarProps, type ShellDockProps, type PageContainerProps, type SidebarToggleButtonProps, type SidebarToggleButtonLabels, } from './Shell';
2
2
  export { Sidebar, SidebarRowHoverContext, DEFAULT_SIDEBAR_LABELS, useSidebarContext, type SidebarRootProps, type SidebarNavProps, type SidebarNavItemProps, type SidebarSectionProps, type SidebarGroupProps, type SidebarPinToggleProps, type SidebarDrawerHeaderProps, type SidebarLabels, } from './Sidebar';
3
3
  export { SidebarBadgeRow, type SidebarBadgeRowProps } from './SidebarBadgeRow';
4
+ export { ShellSidebar, type ShellSidebarProps } from './ShellSidebar';
5
+ export { useSidebarController, type SidebarController, type SidebarControllerRootProps, type UseSidebarControllerOptions, } from './use-sidebar-controller';
4
6
  export { SidebarRowAction, type SidebarRowActionProps, type SidebarRowActionPulse, } from './SidebarRowAction';
5
7
  export { WorkspaceSwitcher, WorkspaceIdentity, workspaceKindMeta, workspaceKindColor, DEFAULT_WORKSPACE_KIND_LABELS, DEFAULT_WORKSPACE_SWITCHER_LABELS, type WorkspaceSwitcherProps, type WorkspaceIdentityProps, type WorkspaceKindLabels, type WorkspaceSwitcherLabels, } from './Workspace';
6
8
  export { AskField, AskTrigger, AskRow, DEFAULT_ASK_FIELD_LABELS, type AskFieldLabels, type AskFieldProps, type AskTriggerProps, type AskRowProps, } from './AskField';
@@ -16,8 +18,9 @@ export { OfflinePill, DEFAULT_OFFLINE_PILL_LABELS, type OfflinePillLabels, type
16
18
  export { RemoteControlPill, DEFAULT_REMOTE_CONTROL_PILL_LABELS, type RemoteControlPillLabels, type RemoteControlPillProps, } from './RemoteControlPill';
17
19
  export { TipCard, DEFAULT_TIP_CARD_LABELS, type TipCardLabels, type TipCardProps } from './TipCard';
18
20
  export { TabHeader, DEFAULT_TAB_HEADER_LABELS, type Tab, type TabHeaderLabels, type TabHeaderProps, } from './TabHeader';
19
- export type { NavItem, ShellActionLayout, ShellRecentWorkspace, ShellWorkspace, ShellWorkspaceKind, } from './types';
21
+ export type { NavItem, NavItemIndicator, NavSection, ShellActionLayout, ShellRecentWorkspace, ShellWorkspace, ShellWorkspaceKind, } from './types';
20
22
  export { useDrawerBehavior } from '../lib/use-drawer';
23
+ export { useCloseOnEscape } from '../lib/use-close-on-escape';
21
24
  export { BREAKPOINT_QUERIES, useMediaQuery, useIsPhone, useIsNarrow, useIsTouchScreen, } from '../lib/use-media-query';
22
25
  export { resolveSidebarLayout, useSidebarSettle, type SidebarLayout, type SidebarMode, type SidebarModeInput, } from '../lib/sidebar-mode';
23
26
  export { InfoBar, type InfoBarProps, type InfoBarVariant } from './InfoBar';
@@ -1,12 +1,13 @@
1
1
  "use client";
2
- export { ActionCluster, 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_SIDEBAR_LABELS, DEFAULT_TIP_CARD_LABELS, INSTALL_PROMPT_DISMISSED_KEY, InfoBar, InstallPrompt, MobileAppBar, MobileTabBar, NotificationBell, OfflinePill, RemoteControlPill, STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES, Sidebar, SidebarBadgeRow, SidebarRowAction, SidebarRowHoverContext, SplitLayout, StatusBadge, StatusRow, TipCard, UserMenu, getInstallInstructions, initInstallPrompt, isIosDevice, promptAppInstall, resolveSidebarLayout, useInstallPrompt, useSidebarContext, useSidebarSettle } from '../chunk-O6W6RW3B.js';
2
+ export { ActionCluster, 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_SIDEBAR_LABELS, DEFAULT_TIP_CARD_LABELS, INSTALL_PROMPT_DISMISSED_KEY, InfoBar, InstallPrompt, MobileAppBar, MobileTabBar, NotificationBell, OfflinePill, RemoteControlPill, STATUS_ROW_BASE_CLASS, STATUS_ROW_TONES, ShellSidebar, Sidebar, SidebarBadgeRow, SidebarRowAction, SidebarRowHoverContext, SplitLayout, StatusBadge, StatusRow, TipCard, UserMenu, getInstallInstructions, initInstallPrompt, isIosDevice, promptAppInstall, resolveSidebarLayout, useCloseOnEscape, useInstallPrompt, useSidebarContext, useSidebarController, useSidebarSettle } from '../chunk-I7WG3JRD.js';
3
3
  export { DEFAULT_WORKSPACE_KIND_LABELS, DEFAULT_WORKSPACE_SWITCHER_LABELS, WorkspaceIdentity, WorkspaceSwitcher, workspaceKindColor, workspaceKindMeta } from '../chunk-A3XPS2EU.js';
4
+ import '../chunk-RLWIUUQ5.js';
4
5
  import '../chunk-444XKG46.js';
5
6
  export { DEFAULT_FILTER_FIELDS, DEFAULT_FILTER_INPUT_LABELS, FilterInput } from '../chunk-YU2KUMGE.js';
7
+ export { DEFAULT_TAB_HEADER_LABELS, TabHeader } from '../chunk-4WWM3GQ5.js';
6
8
  export { DEFAULT_DOCK_WIDTH, Toaster } from '../chunk-OKERRHLH.js';
7
9
  export { DEFAULT_OVERLAY_ZONE_ID, DEFAULT_PAGE_CONTAINER_PADDING, DEFAULT_SIDEBAR_TOGGLE_BUTTON_LABELS, PageContainer, SHELL_BOTTOM_INSET_VAR, Shell, SidebarToggleButton, ToolButton, useDrawerBehavior, useOverlayZoneId, useShellBottomInset } from '../chunk-7XF5SFJ2.js';
8
10
  export { BREAKPOINT_QUERIES, useIsNarrow, useIsPhone, useIsTouchScreen, useMediaQuery } from '../chunk-SLSBJRWW.js';
9
- export { DEFAULT_TAB_HEADER_LABELS, TabHeader } from '../chunk-4WWM3GQ5.js';
10
11
  import '../chunk-NPLYHR2E.js';
11
12
  import '../chunk-7F6CBP3Z.js';
12
13
  import '../chunk-YNIBUKV5.js';
@@ -32,6 +32,24 @@ export interface NavItem {
32
32
  disabled?: boolean;
33
33
  /** Inline control after the count; may be interactive (the row is not a native button). */
34
34
  trailing?: ReactNode;
35
+ /**
36
+ * Status dot on the icon of the icon-only rail, where `trailing` has no room (work in
37
+ * progress, a failure, something waiting). The expanded row shows `trailing` instead.
38
+ */
39
+ indicator?: NavItemIndicator;
40
+ }
41
+ export type NavItemIndicator = 'progress' | 'error' | 'attention';
42
+ /** A labelled group of sidebar rows (`Sidebar.Nav` `sections`). */
43
+ export interface NavSection {
44
+ /** Stable key. */
45
+ id: string;
46
+ /** Heading shown when expanded; a divider stands in on the rail. Omit for an unlabelled run. */
47
+ label?: ReactNode;
48
+ /** Accessible name when `label` is not plain text. */
49
+ ariaLabel?: string;
50
+ items: NavItem[];
51
+ /** `data-testid` of the group. */
52
+ testId?: string;
35
53
  }
36
54
  export type ShellActionLayout = 'bar' | 'sidebar' | 'rail' | 'drawer';
37
55
  /** Workspace visibility: drives the initial-badge tone and the small type glyph. */
@@ -0,0 +1,59 @@
1
+ import { type SidebarLayout } from '../lib/sidebar-mode';
2
+ import type { SidebarRootProps } from './Sidebar';
3
+ export interface UseSidebarControllerOptions {
4
+ /** Pinned open (desktop). Controlled when set; otherwise kept here, seeded by `defaultPinned`. */
5
+ isPinned?: boolean;
6
+ /** Default `true`. */
7
+ defaultPinned?: boolean;
8
+ onPinnedChange?: (isPinned: boolean) => void;
9
+ /** The rail is floated open (hover, or its toggle at a narrow width). Controlled when set. */
10
+ isHovering?: boolean;
11
+ onHoveringChange?: (isHovering: boolean) => void;
12
+ /** The phone drawer is open. Controlled when set (the app bar's menu button opens it). */
13
+ isDrawerOpen?: boolean;
14
+ onDrawerOpenChange?: (isDrawerOpen: boolean) => void;
15
+ /**
16
+ * Keep the sidebar a rail even when pinned, on top of the tablet width (for example while a
17
+ * docked panel squeezes the content). The stored pin is left untouched.
18
+ */
19
+ forceRail?: boolean;
20
+ }
21
+ /** The `Sidebar.Root` props the controller resolves. */
22
+ export type SidebarControllerRootProps = Pick<SidebarRootProps, 'mode' | 'expanded' | 'isHovering' | 'onBackdropClick' | 'hasRailBackdrop' | 'onMouseEnter' | 'onMouseLeave'>;
23
+ export interface SidebarController {
24
+ layout: SidebarLayout;
25
+ /** Labels shown (settled: they stay on until the closing transition ends). */
26
+ expanded: boolean;
27
+ /** Width-bound content (tips, notices) may show: on once fully open, off as closing starts. */
28
+ tipsVisible: boolean;
29
+ /** The phone drawer is showing. */
30
+ isDrawer: boolean;
31
+ isSmallScreen: boolean;
32
+ /** Tablet width (or `forceRail`): pinning is ignored and the sidebar stays a rail. */
33
+ isNarrow: boolean;
34
+ /** The pin as it applies (always off while narrow). */
35
+ isPinned: boolean;
36
+ /** Spread onto `Sidebar.Root` (or pass the controller to `ShellSidebar`). */
37
+ rootProps: SidebarControllerRootProps;
38
+ openDrawer: () => void;
39
+ closeDrawer: () => void;
40
+ /** The pin toggle: pins/unpins, or floats the rail open/closed while narrow. */
41
+ togglePin: () => void;
42
+ /** Open from the rail (its ask button): pins, or floats the rail open while narrow. */
43
+ expand: () => void;
44
+ /** After a nav row is chosen: closes the drawer, and a floated rail the pointer has left. */
45
+ afterNavigate: () => void;
46
+ }
47
+ /**
48
+ * Sidebar behaviour as one hook, shared by every shell: resolves the layout (drawer / pinned /
49
+ * rail) for the viewport, settles labels and tips around the width transition, and owns the hover,
50
+ * pin and drawer rules:
51
+ * - touch: the rail opens only through its toggle, never by the emulated mouseenter of a tap;
52
+ * - narrow: a pointer drifting over the rail does not float the labels over the content;
53
+ * - Escape closes a floated rail; the drawer closes itself when the viewport grows past a phone;
54
+ * - choosing a row closes the drawer, and a floated rail unless the pointer is still over it.
55
+ *
56
+ * State is controlled per field (`isPinned`, `isHovering`, `isDrawerOpen`) so an app can keep it
57
+ * in its own store, or uncontrolled for a shell that does not care.
58
+ */
59
+ export declare function useSidebarController(options?: UseSidebarControllerOptions): SidebarController;
@@ -3,9 +3,10 @@
3
3
 
4
4
  var chunkJZNXRMLH_cjs = require('../chunk-JZNXRMLH.cjs');
5
5
  var chunkGFNELPDP_cjs = require('../chunk-GFNELPDP.cjs');
6
- var chunkCQ4MFKFC_cjs = require('../chunk-CQ4MFKFC.cjs');
7
- var chunk2UUNSHDI_cjs = require('../chunk-2UUNSHDI.cjs');
6
+ var chunkHIJUXAWS_cjs = require('../chunk-HIJUXAWS.cjs');
7
+ var chunkDPGFEMVT_cjs = require('../chunk-DPGFEMVT.cjs');
8
8
  require('../chunk-WS5EX7DN.cjs');
9
+ require('../chunk-AHDJXIUB.cjs');
9
10
  require('../chunk-MIDXCYZB.cjs');
10
11
  require('../chunk-ZW6FPIFC.cjs');
11
12
  require('../chunk-3AFWGEDJ.cjs');
@@ -15,11 +16,11 @@ require('../chunk-R26BK7YL.cjs');
15
16
  require('../chunk-V4ISCZJ7.cjs');
16
17
  require('../chunk-2EI7NCUA.cjs');
17
18
  require('../chunk-C2CWWEHO.cjs');
19
+ require('../chunk-7RGLTF76.cjs');
18
20
  var chunkOWCEQKAR_cjs = require('../chunk-OWCEQKAR.cjs');
19
21
  require('../chunk-7UTB4PHM.cjs');
20
22
  var chunk32HW2Q33_cjs = require('../chunk-32HW2Q33.cjs');
21
23
  require('../chunk-FX3K6LNZ.cjs');
22
- require('../chunk-7RGLTF76.cjs');
23
24
  require('../chunk-PPCATBOY.cjs');
24
25
  require('../chunk-MHVNT4J3.cjs');
25
26
  var chunkC4WSHRR6_cjs = require('../chunk-C4WSHRR6.cjs');
@@ -316,9 +317,9 @@ function SignalsEditor({
316
317
  {
317
318
  className: ui.cn(
318
319
  "space-y-1.5 rounded-md border p-2",
319
- chunk2UUNSHDI_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
320
+ chunkDPGFEMVT_cjs.isIncompleteSignal(signal) ? "border-destructive/50" : "border-border"
320
321
  ),
321
- "data-incomplete": chunk2UUNSHDI_cjs.isIncompleteSignal(signal) || void 0,
322
+ "data-incomplete": chunkDPGFEMVT_cjs.isIncompleteSignal(signal) || void 0,
322
323
  "data-testid": `${testId}-${i}`,
323
324
  children: [
324
325
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
@@ -1604,7 +1605,7 @@ function triggerFields(trigger, clearOthers) {
1604
1605
  return {
1605
1606
  timezone: trigger.timezone,
1606
1607
  rrule: trigger.start === "repeat" ? trigger.rrule.trim() : none,
1607
- run_at: trigger.start === "once" ? chunkCQ4MFKFC_cjs.localInputToIso(trigger.runAt) : none,
1608
+ run_at: trigger.start === "once" ? chunkHIJUXAWS_cjs.localInputToIso(trigger.runAt) : none,
1608
1609
  event_kind: trigger.start === "event" ? trigger.eventKind.trim() : none,
1609
1610
  // A step signal is `workflow_signal` narrowed to one signal name.
1610
1611
  event_filter: filter ?? none,
@@ -1620,7 +1621,7 @@ function plan(value, options) {
1620
1621
  criteria: [],
1621
1622
  max_passes: 3,
1622
1623
  documents: [],
1623
- steps: chunk2UUNSHDI_cjs.toPlanSteps(value.workflow, options)
1624
+ steps: chunkDPGFEMVT_cjs.toPlanSteps(value.workflow, options)
1624
1625
  };
1625
1626
  }
1626
1627
  function builderToWorkflowRequest(value, workspaceId, options = {}) {
@@ -1655,7 +1656,7 @@ function builderToWorkflowUpdate(value, options = {}) {
1655
1656
  }
1656
1657
  function workflowRecordToBuilder(record) {
1657
1658
  const planned = record.plan?.steps ?? [];
1658
- const steps = planned.length ? chunk2UUNSHDI_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1659
+ const steps = planned.length ? chunkDPGFEMVT_cjs.fromPlanSteps(planned) : record.prompt || record.skill_ref ? [
1659
1660
  {
1660
1661
  id: "work",
1661
1662
  kind: "agent",
@@ -1663,7 +1664,7 @@ function workflowRecordToBuilder(record) {
1663
1664
  ...record.skill_ref ? { workflow: record.skill_ref } : { run: { kind: "prompt", promptTemplate: record.prompt } }
1664
1665
  }
1665
1666
  ] : [];
1666
- const when = chunkCQ4MFKFC_cjs.workflowWhen(record);
1667
+ const when = chunkHIJUXAWS_cjs.workflowWhen(record);
1667
1668
  return {
1668
1669
  workflow: {
1669
1670
  id: record.external_id,
@@ -1672,12 +1673,12 @@ function workflowRecordToBuilder(record) {
1672
1673
  inputs: [],
1673
1674
  landing: "chat",
1674
1675
  schedulable: false,
1675
- run: { kind: "steps", steps, layout: chunk2UUNSHDI_cjs.layoutFromPlanSteps(planned ?? []) }
1676
+ run: { kind: "steps", steps, layout: chunkDPGFEMVT_cjs.layoutFromPlanSteps(planned ?? []) }
1676
1677
  },
1677
1678
  trigger: {
1678
1679
  ...DEFAULT_WORKFLOW_TRIGGER,
1679
1680
  start: when === "now" ? "manual" : when,
1680
- runAt: chunkCQ4MFKFC_cjs.isoToLocalInput(record.run_at),
1681
+ runAt: chunkHIJUXAWS_cjs.isoToLocalInput(record.run_at),
1681
1682
  rrule: record.rrule ?? "",
1682
1683
  timezone: record.timezone || DEFAULT_WORKFLOW_TRIGGER.timezone,
1683
1684
  eventKind: record.event_kind ?? "",
@@ -1733,7 +1734,7 @@ function triggerSummary(trigger, options = {}) {
1733
1734
  case "once":
1734
1735
  return trigger.runAt ? new Date(trigger.runAt).toLocaleString() : l.starts.once;
1735
1736
  case "repeat":
1736
- return trigger.rrule ? chunkCQ4MFKFC_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1737
+ return trigger.rrule ? chunkHIJUXAWS_cjs.describeRRule(trigger.rrule) : l.starts.repeat;
1737
1738
  case "event":
1738
1739
  if (isSignalTrigger(trigger))
1739
1740
  return trigger.signal ? l.signalSummary.replace("{signal}", trigger.signal) : l.stepSignals;
@@ -1792,7 +1793,7 @@ function TriggerInspector({
1792
1793
  }
1793
1794
  )
1794
1795
  ] }),
1795
- trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunkCQ4MFKFC_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1796
+ trigger.start === "repeat" && /* @__PURE__ */ jsxRuntime.jsx(chunkHIJUXAWS_cjs.RecurrenceBuilder, { rrule: trigger.rrule, onChange: (rrule) => set({ rrule }) }),
1796
1797
  trigger.start === "event" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1797
1798
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-xs", children: l.event }),
1798
1799
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1844,7 +1845,7 @@ function TriggerInspector({
1844
1845
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
1845
1846
  /* @__PURE__ */ jsxRuntime.jsx(ui.Label, { className: "text-xs", children: l.agent }),
1846
1847
  /* @__PURE__ */ jsxRuntime.jsx(
1847
- chunk2UUNSHDI_cjs.AgentSelect,
1848
+ chunkDPGFEMVT_cjs.AgentSelect,
1848
1849
  {
1849
1850
  agents,
1850
1851
  value: trigger.agentId,
@@ -2681,13 +2682,13 @@ function WorkflowPreview({
2681
2682
  renderIcon,
2682
2683
  testId
2683
2684
  }) {
2684
- const run = chunkCQ4MFKFC_cjs.useWorkflowPreview(workflow, {
2685
+ const run = chunkHIJUXAWS_cjs.useWorkflowPreview(workflow, {
2685
2686
  resolveWorkflow: (id) => workflows.find((w) => w.id === id),
2686
2687
  compose,
2687
2688
  answer
2688
2689
  });
2689
2690
  return /* @__PURE__ */ jsxRuntime.jsx(
2690
- chunk2UUNSHDI_cjs.WorkflowRunner,
2691
+ chunkDPGFEMVT_cjs.WorkflowRunner,
2691
2692
  {
2692
2693
  workflow,
2693
2694
  run,