@arbidocs/blocks 0.5.63 → 0.5.65

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 (177) hide show
  1. package/dist/{ConnectedDocumentViewer-7VKAM6KD.js → ConnectedDocumentViewer-HKIBNGGG.js} +10 -9
  2. package/dist/{ConnectedDocumentViewer-7VKAM6KD.js.map → ConnectedDocumentViewer-HKIBNGGG.js.map} +1 -1
  3. package/dist/{ConnectedDocumentViewer-FGQ27H4B.cjs → ConnectedDocumentViewer-YSZWOVGN.cjs} +11 -10
  4. package/dist/{ConnectedDocumentViewer-FGQ27H4B.cjs.map → ConnectedDocumentViewer-YSZWOVGN.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs → ConnectedNativeDocxComparison-L3R3ROPZ.cjs} +7 -7
  6. package/dist/{ConnectedNativeDocxComparison-HJ4FTVH6.cjs.map → ConnectedNativeDocxComparison-L3R3ROPZ.cjs.map} +1 -1
  7. package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js → ConnectedNativeDocxComparison-PSAP3Q7D.js} +6 -6
  8. package/dist/{ConnectedNativeDocxComparison-FPW3BNBN.js.map → ConnectedNativeDocxComparison-PSAP3Q7D.js.map} +1 -1
  9. package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js → ConnectedNativeDocxEditor-PI6QTPXZ.js} +5 -5
  10. package/dist/{ConnectedNativeDocxEditor-S7NJMDSU.js.map → ConnectedNativeDocxEditor-PI6QTPXZ.js.map} +1 -1
  11. package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs → ConnectedNativeDocxEditor-VDBC4XRT.cjs} +7 -7
  12. package/dist/{ConnectedNativeDocxEditor-PF46MU5H.cjs.map → ConnectedNativeDocxEditor-VDBC4XRT.cjs.map} +1 -1
  13. package/dist/{ConnectedStreamedWordArtifact-5MHLV24V.js → ConnectedStreamedWordArtifact-V4MTKVNE.js} +6 -6
  14. package/dist/ConnectedStreamedWordArtifact-V4MTKVNE.js.map +1 -0
  15. package/dist/{ConnectedStreamedWordArtifact-LNGW7YGV.cjs → ConnectedStreamedWordArtifact-YSW6D7AG.cjs} +7 -7
  16. package/dist/ConnectedStreamedWordArtifact-YSW6D7AG.cjs.map +1 -0
  17. package/dist/{DocumentReviewCard-VFNMJSK7.cjs → DocumentReviewCard-BQ6ZD5MD.cjs} +6 -6
  18. package/dist/{DocumentReviewCard-VFNMJSK7.cjs.map → DocumentReviewCard-BQ6ZD5MD.cjs.map} +1 -1
  19. package/dist/{DocumentReviewCard-5U3TGJZA.js → DocumentReviewCard-TQQADJ36.js} +6 -6
  20. package/dist/{DocumentReviewCard-5U3TGJZA.js.map → DocumentReviewCard-TQQADJ36.js.map} +1 -1
  21. package/dist/{WorkspaceTableView-DHMCJRC6.cjs → WorkspaceTableView-GKMVTECZ.cjs} +6 -6
  22. package/dist/{WorkspaceTableView-DHMCJRC6.cjs.map → WorkspaceTableView-GKMVTECZ.cjs.map} +1 -1
  23. package/dist/{WorkspaceTableView-EH5CEB44.js → WorkspaceTableView-YFLVFRJL.js} +4 -4
  24. package/dist/{WorkspaceTableView-EH5CEB44.js.map → WorkspaceTableView-YFLVFRJL.js.map} +1 -1
  25. package/dist/agents/index.cjs +345 -344
  26. package/dist/agents/index.js +6 -5
  27. package/dist/{chunk-NDVLCOWS.js → chunk-2LUA7UDE.js} +7 -7
  28. package/dist/{chunk-NDVLCOWS.js.map → chunk-2LUA7UDE.js.map} +1 -1
  29. package/dist/{chunk-77IAOKZO.js → chunk-2VH2PT3J.js} +5 -38
  30. package/dist/chunk-2VH2PT3J.js.map +1 -0
  31. package/dist/{chunk-IC6SBDYA.js → chunk-4CI42DCG.js} +3 -3
  32. package/dist/{chunk-IC6SBDYA.js.map → chunk-4CI42DCG.js.map} +1 -1
  33. package/dist/{chunk-IFLFLP4K.js → chunk-4Q7ON335.js} +6 -5
  34. package/dist/chunk-4Q7ON335.js.map +1 -0
  35. package/dist/{chunk-IUFS3AYQ.js → chunk-5EGTGHBW.js} +7 -7
  36. package/dist/{chunk-IUFS3AYQ.js.map → chunk-5EGTGHBW.js.map} +1 -1
  37. package/dist/{chunk-OLDGMBEF.cjs → chunk-67AFX23Y.cjs} +185 -91
  38. package/dist/chunk-67AFX23Y.cjs.map +1 -0
  39. package/dist/{chunk-5CWBAINB.js → chunk-6OMIIF76.js} +3 -3
  40. package/dist/{chunk-5CWBAINB.js.map → chunk-6OMIIF76.js.map} +1 -1
  41. package/dist/chunk-6QZ35CTZ.js +594 -0
  42. package/dist/chunk-6QZ35CTZ.js.map +1 -0
  43. package/dist/{chunk-4RJPTXUQ.cjs → chunk-7MOQO6NO.cjs} +5 -5
  44. package/dist/{chunk-4RJPTXUQ.cjs.map → chunk-7MOQO6NO.cjs.map} +1 -1
  45. package/dist/chunk-AESJLGMC.cjs +1228 -0
  46. package/dist/chunk-AESJLGMC.cjs.map +1 -0
  47. package/dist/{chunk-EOIJ5JYP.cjs → chunk-B3CRSCLK.cjs} +4 -4
  48. package/dist/{chunk-EOIJ5JYP.cjs.map → chunk-B3CRSCLK.cjs.map} +1 -1
  49. package/dist/{chunk-GRDLCRNL.js → chunk-BELZ2WD2.js} +5 -5
  50. package/dist/{chunk-GRDLCRNL.js.map → chunk-BELZ2WD2.js.map} +1 -1
  51. package/dist/chunk-C2S246BV.js +1225 -0
  52. package/dist/chunk-C2S246BV.js.map +1 -0
  53. package/dist/{chunk-TAI23FCY.js → chunk-CEKOZAGO.js} +3 -3
  54. package/dist/{chunk-TAI23FCY.js.map → chunk-CEKOZAGO.js.map} +1 -1
  55. package/dist/{chunk-HVOPUYAG.cjs → chunk-CJF7B5A7.cjs} +29 -28
  56. package/dist/chunk-CJF7B5A7.cjs.map +1 -0
  57. package/dist/{chunk-LBKTTQUR.cjs → chunk-CMYJEIZB.cjs} +12 -12
  58. package/dist/{chunk-LBKTTQUR.cjs.map → chunk-CMYJEIZB.cjs.map} +1 -1
  59. package/dist/{chunk-2SLDVFOZ.js → chunk-CRHY7DBO.js} +3 -3
  60. package/dist/{chunk-2SLDVFOZ.js.map → chunk-CRHY7DBO.js.map} +1 -1
  61. package/dist/{chunk-23ACBETH.cjs → chunk-D27BBGUF.cjs} +4 -4
  62. package/dist/{chunk-23ACBETH.cjs.map → chunk-D27BBGUF.cjs.map} +1 -1
  63. package/dist/{chunk-3X37I6QE.cjs → chunk-DJE2E7YH.cjs} +29 -29
  64. package/dist/{chunk-3X37I6QE.cjs.map → chunk-DJE2E7YH.cjs.map} +1 -1
  65. package/dist/{chunk-CCSF7RI4.cjs → chunk-EG3BB32W.cjs} +3 -3
  66. package/dist/{chunk-CCSF7RI4.cjs.map → chunk-EG3BB32W.cjs.map} +1 -1
  67. package/dist/{chunk-MAKTAR7H.cjs → chunk-F777MGVA.cjs} +18 -18
  68. package/dist/{chunk-MAKTAR7H.cjs.map → chunk-F777MGVA.cjs.map} +1 -1
  69. package/dist/{chunk-TFWCREOL.js → chunk-GPYLXEZO.js} +9 -506
  70. package/dist/chunk-GPYLXEZO.js.map +1 -0
  71. package/dist/{chunk-OY3I32ZS.js → chunk-GX37C5QT.js} +4 -4
  72. package/dist/{chunk-OY3I32ZS.js.map → chunk-GX37C5QT.js.map} +1 -1
  73. package/dist/chunk-I4IS6ST6.cjs +48 -0
  74. package/dist/chunk-I4IS6ST6.cjs.map +1 -0
  75. package/dist/{chunk-OZL5ABLF.js → chunk-IRXPUQFP.js} +3 -3
  76. package/dist/{chunk-OZL5ABLF.js.map → chunk-IRXPUQFP.js.map} +1 -1
  77. package/dist/chunk-J77BACGX.js +575 -0
  78. package/dist/chunk-J77BACGX.js.map +1 -0
  79. package/dist/{chunk-X3JJTHQ4.cjs → chunk-JSHBC47B.cjs} +55 -55
  80. package/dist/{chunk-X3JJTHQ4.cjs.map → chunk-JSHBC47B.cjs.map} +1 -1
  81. package/dist/{chunk-Y6ZNWC7E.cjs → chunk-K26RLK2Y.cjs} +3 -3
  82. package/dist/{chunk-Y6ZNWC7E.cjs.map → chunk-K26RLK2Y.cjs.map} +1 -1
  83. package/dist/{chunk-PKDPQS6Z.js → chunk-KNOSLLTC.js} +3 -3
  84. package/dist/{chunk-PKDPQS6Z.js.map → chunk-KNOSLLTC.js.map} +1 -1
  85. package/dist/chunk-LFS6UWSJ.cjs +602 -0
  86. package/dist/chunk-LFS6UWSJ.cjs.map +1 -0
  87. package/dist/{chunk-YQFEN7UJ.js → chunk-LNH6NYG4.js} +6 -90
  88. package/dist/chunk-LNH6NYG4.js.map +1 -0
  89. package/dist/chunk-LRPGXNMA.js +44 -0
  90. package/dist/chunk-LRPGXNMA.js.map +1 -0
  91. package/dist/chunk-NEGFHF3V.cjs +617 -0
  92. package/dist/chunk-NEGFHF3V.cjs.map +1 -0
  93. package/dist/{chunk-NHPBONMR.js → chunk-O4FBMC6S.js} +186 -71
  94. package/dist/chunk-O4FBMC6S.js.map +1 -0
  95. package/dist/{chunk-7P24MJQN.js → chunk-PBIFISDD.js} +3 -3
  96. package/dist/{chunk-7P24MJQN.js.map → chunk-PBIFISDD.js.map} +1 -1
  97. package/dist/{chunk-OWUNCJFO.cjs → chunk-PZOX4JF6.cjs} +30 -30
  98. package/dist/{chunk-OWUNCJFO.cjs.map → chunk-PZOX4JF6.cjs.map} +1 -1
  99. package/dist/{chunk-CKNUL4LM.cjs → chunk-QK546T4C.cjs} +3 -3
  100. package/dist/{chunk-CKNUL4LM.cjs.map → chunk-QK546T4C.cjs.map} +1 -1
  101. package/dist/{chunk-QAXIVZEJ.cjs → chunk-ROWJU4SK.cjs} +13 -513
  102. package/dist/chunk-ROWJU4SK.cjs.map +1 -0
  103. package/dist/{chunk-JWRTUYLC.js → chunk-SBAM3UZX.js} +3 -3
  104. package/dist/{chunk-JWRTUYLC.js.map → chunk-SBAM3UZX.js.map} +1 -1
  105. package/dist/{chunk-COZDIUG7.cjs → chunk-TJ7QEGVP.cjs} +18 -18
  106. package/dist/{chunk-COZDIUG7.cjs.map → chunk-TJ7QEGVP.cjs.map} +1 -1
  107. package/dist/{chunk-PVPGD6QR.js → chunk-VWM3J6ES.js} +3 -3
  108. package/dist/{chunk-PVPGD6QR.js.map → chunk-VWM3J6ES.js.map} +1 -1
  109. package/dist/{chunk-UDMII47W.cjs → chunk-WBLCPCWR.cjs} +7 -7
  110. package/dist/{chunk-UDMII47W.cjs.map → chunk-WBLCPCWR.cjs.map} +1 -1
  111. package/dist/{chunk-3T3IKNGF.cjs → chunk-ZXW6WFZG.cjs} +5 -41
  112. package/dist/chunk-ZXW6WFZG.cjs.map +1 -0
  113. package/dist/{chunk-ODQK3LX5.cjs → chunk-ZZHMJXM5.cjs} +4 -93
  114. package/dist/chunk-ZZHMJXM5.cjs.map +1 -0
  115. package/dist/connect/docx.cjs +11 -11
  116. package/dist/connect/docx.js +7 -7
  117. package/dist/connect/index.cjs +496 -493
  118. package/dist/connect/index.cjs.map +1 -1
  119. package/dist/connect/index.js +36 -33
  120. package/dist/connect/index.js.map +1 -1
  121. package/dist/connect/viewer.cjs +9 -8
  122. package/dist/connect/viewer.js +8 -7
  123. package/dist/dashboards/index.cjs +1 -1
  124. package/dist/dashboards/index.js +1 -1
  125. package/dist/document-tools/index.cjs +17 -17
  126. package/dist/document-tools/index.js +2 -2
  127. package/dist/embed/index.cjs +11 -10
  128. package/dist/embed/index.js +8 -7
  129. package/dist/facts/index.cjs +1 -1
  130. package/dist/facts/index.js +1 -1
  131. package/dist/files/index.cjs +1 -1
  132. package/dist/files/index.js +1 -1
  133. package/dist/index.cjs +653 -618
  134. package/dist/index.cjs.map +1 -1
  135. package/dist/index.d.ts +4 -0
  136. package/dist/index.js +19 -16
  137. package/dist/index.js.map +1 -1
  138. package/dist/shell/index.cjs +78 -77
  139. package/dist/shell/index.js +3 -2
  140. package/dist/site/index.cjs +105 -81
  141. package/dist/site/index.d.ts +3 -1
  142. package/dist/site/index.js +4 -4
  143. package/dist/studio/index.cjs +60 -55
  144. package/dist/studio/index.cjs.map +1 -1
  145. package/dist/studio/index.js +12 -7
  146. package/dist/studio/index.js.map +1 -1
  147. package/dist/theme/ThemeControls.d.ts +71 -0
  148. package/dist/theme/ThemeEditor.d.ts +5 -2
  149. package/dist/theme/ThemePreview.d.ts +20 -0
  150. package/dist/theme/color.d.ts +17 -1
  151. package/dist/theme/derive.d.ts +75 -0
  152. package/dist/theme/editorModel.d.ts +36 -0
  153. package/dist/theme/previewLabels.d.ts +38 -0
  154. package/dist/theme/store.d.ts +51 -13
  155. package/dist/theme/tokens.d.ts +2 -0
  156. package/dist/workflow-canvas/index.cjs +37 -36
  157. package/dist/workflow-canvas/index.cjs.map +1 -1
  158. package/dist/workflow-canvas/index.js +13 -12
  159. package/dist/workflow-canvas/index.js.map +1 -1
  160. package/node_modules/@arbidocs/coedit/package.json +1 -1
  161. package/package.json +5 -5
  162. package/dist/ConnectedStreamedWordArtifact-5MHLV24V.js.map +0 -1
  163. package/dist/ConnectedStreamedWordArtifact-LNGW7YGV.cjs.map +0 -1
  164. package/dist/chunk-3T3IKNGF.cjs.map +0 -1
  165. package/dist/chunk-77IAOKZO.js.map +0 -1
  166. package/dist/chunk-HVOPUYAG.cjs.map +0 -1
  167. package/dist/chunk-IFLFLP4K.js.map +0 -1
  168. package/dist/chunk-N5WJBQYF.cjs +0 -476
  169. package/dist/chunk-N5WJBQYF.cjs.map +0 -1
  170. package/dist/chunk-NHPBONMR.js.map +0 -1
  171. package/dist/chunk-ODQK3LX5.cjs.map +0 -1
  172. package/dist/chunk-OLDGMBEF.cjs.map +0 -1
  173. package/dist/chunk-QAXIVZEJ.cjs.map +0 -1
  174. package/dist/chunk-QCLYRNOC.js +0 -466
  175. package/dist/chunk-QCLYRNOC.js.map +0 -1
  176. package/dist/chunk-TFWCREOL.js.map +0 -1
  177. package/dist/chunk-YQFEN7UJ.js.map +0 -1
@@ -2,517 +2,20 @@
2
2
  'use strict';
3
3
 
4
4
  var chunk34HQO4ZQ_cjs = require('./chunk-34HQO4ZQ.cjs');
5
- var chunkODQK3LX5_cjs = require('./chunk-ODQK3LX5.cjs');
5
+ var chunkLFS6UWSJ_cjs = require('./chunk-LFS6UWSJ.cjs');
6
6
  var chunk2UYT7MIX_cjs = require('./chunk-2UYT7MIX.cjs');
7
7
  var chunkKKYNTWDU_cjs = require('./chunk-KKYNTWDU.cjs');
8
8
  var chunkTAVQOU3M_cjs = require('./chunk-TAVQOU3M.cjs');
9
9
  var chunkITRI47DF_cjs = require('./chunk-ITRI47DF.cjs');
10
10
  var chunkKQF7POTG_cjs = require('./chunk-KQF7POTG.cjs');
11
11
  var chunkMHVNT4J3_cjs = require('./chunk-MHVNT4J3.cjs');
12
+ var client = require('@arbidocs/client');
13
+ var jsxRuntime = require('react/jsx-runtime');
12
14
  var react = require('react');
13
- var lucideReact = require('lucide-react');
14
15
  var ui = require('@arbidocs/react/ui');
15
- var jsxRuntime = require('react/jsx-runtime');
16
- var client = require('@arbidocs/client');
16
+ var lucideReact = require('lucide-react');
17
17
  var shell = require('@arbidocs/react/shell');
18
18
 
19
- var SHELL_START_INSET_VAR = "--shell-start-inset";
20
- var widths = /* @__PURE__ */ new Map();
21
- function apply() {
22
- if (typeof document === "undefined") return;
23
- const inset = Math.max(0, ...widths.values());
24
- const style = document.documentElement.style;
25
- if (inset > 0) style.setProperty(SHELL_START_INSET_VAR, `${inset}px`);
26
- else style.removeProperty(SHELL_START_INSET_VAR);
27
- }
28
- function useShellStartInset(width) {
29
- react.useEffect(() => {
30
- const key = /* @__PURE__ */ Symbol("shell-start-inset");
31
- widths.set(key, width);
32
- apply();
33
- return () => {
34
- widths.delete(key);
35
- apply();
36
- };
37
- }, [width]);
38
- }
39
- var noop = () => {
40
- };
41
- var COLLAPSED_PX = 64;
42
- var EXPANDED_PX = 256;
43
- var COLLAPSED_WIDTH = `${COLLAPSED_PX}px`;
44
- var EXPANDED_WIDTH = `${EXPANDED_PX}px`;
45
- function SidebarRoot({
46
- mode,
47
- expanded,
48
- isHovering = false,
49
- onBackdropClick,
50
- hasRailBackdrop = false,
51
- onMouseEnter,
52
- onMouseLeave,
53
- children,
54
- className,
55
- "aria-label": ariaLabelProp,
56
- labels,
57
- "data-testid": testId,
58
- backdropTestId
59
- }) {
60
- const mergedLabels = react.useMemo(() => ({ ...chunkODQK3LX5_cjs.DEFAULT_SIDEBAR_LABELS, ...labels }), [labels]);
61
- const drawerRef = react.useRef(null);
62
- const isDrawer = mode === "drawer";
63
- chunkITRI47DF_cjs.useDrawerBehavior(isDrawer, onBackdropClick ?? noop, drawerRef);
64
- useShellStartInset(mode === "pinned" ? EXPANDED_PX : mode === "rail" ? COLLAPSED_PX : 0);
65
- const ariaLabel = ariaLabelProp ?? mergedLabels.mainNavigation;
66
- const contextValue = react.useMemo(() => ({ expanded, labels: mergedLabels }), [expanded, mergedLabels]);
67
- const navBase = "group/sidebar bg-sidebar border-r border-border text-foreground scrollbar-themed flex flex-col h-full overflow-y-auto overflow-x-hidden pb-safe pt-3 transition-all duration-300 ease-in-out";
68
- const common = {
69
- "aria-label": ariaLabel,
70
- "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "sidebar" }),
71
- "data-slot": "sidebar",
72
- "data-mode": mode
73
- };
74
- const fixedWidth = { width: EXPANDED_WIDTH, minWidth: EXPANDED_WIDTH };
75
- let body;
76
- if (mode === "drawer") {
77
- body = /* @__PURE__ */ jsxRuntime.jsxs(
78
- "div",
79
- {
80
- ref: drawerRef,
81
- role: "dialog",
82
- "aria-modal": "true",
83
- "aria-label": ariaLabel,
84
- "data-slot": "sidebar-drawer",
85
- className: "fixed inset-0 z-50",
86
- children: [
87
- /* @__PURE__ */ jsxRuntime.jsx(
88
- "div",
89
- {
90
- className: "absolute inset-0 bg-black/50",
91
- onClick: onBackdropClick,
92
- "aria-hidden": "true",
93
- "data-testid": chunkMHVNT4J3_cjs.testIdOr(backdropTestId, { testId: "sidebar-backdrop" })
94
- }
95
- ),
96
- /* @__PURE__ */ jsxRuntime.jsx(
97
- "nav",
98
- {
99
- ...common,
100
- className: ui.cn(navBase, "!px-3 absolute left-0 top-0 pt-safe shadow-xl", className),
101
- style: fixedWidth,
102
- children
103
- }
104
- )
105
- ]
106
- }
107
- );
108
- } else if (mode === "collapsed") {
109
- body = /* @__PURE__ */ jsxRuntime.jsx(
110
- "nav",
111
- {
112
- ...common,
113
- className: ui.cn(navBase, "absolute left-0 top-0 z-[45]", className),
114
- style: {
115
- width: "0px",
116
- minWidth: 0,
117
- paddingLeft: 0,
118
- paddingRight: 0,
119
- borderRightWidth: 0,
120
- pointerEvents: "none"
121
- },
122
- inert: true,
123
- children
124
- }
125
- );
126
- } else if (mode === "pinned") {
127
- body = /* @__PURE__ */ jsxRuntime.jsx(
128
- "nav",
129
- {
130
- ...common,
131
- className: ui.cn(navBase, "!px-3 relative flex-shrink-0", className),
132
- style: fixedWidth,
133
- onMouseEnter,
134
- onMouseLeave,
135
- children
136
- }
137
- );
138
- } else {
139
- body = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
140
- /* @__PURE__ */ jsxRuntime.jsx(
141
- "div",
142
- {
143
- className: "bg-sidebar border-r border-border flex flex-col h-full relative px-0 pb-safe flex-shrink-0",
144
- style: { width: COLLAPSED_WIDTH, minWidth: COLLAPSED_WIDTH },
145
- "aria-hidden": "true"
146
- }
147
- ),
148
- isHovering && hasRailBackdrop && /* @__PURE__ */ jsxRuntime.jsx(
149
- "div",
150
- {
151
- className: "fixed inset-0 z-[44] bg-black/40",
152
- onClick: onBackdropClick,
153
- "aria-hidden": "true",
154
- "data-testid": chunkMHVNT4J3_cjs.testIdOr(backdropTestId, { testId: "sidebar-backdrop" })
155
- }
156
- ),
157
- /* @__PURE__ */ jsxRuntime.jsx(
158
- "nav",
159
- {
160
- ...common,
161
- className: ui.cn(
162
- navBase,
163
- isHovering ? "!px-3 shadow-xl" : "!px-2",
164
- "absolute left-0 top-0 z-[45]",
165
- className
166
- ),
167
- style: {
168
- width: isHovering ? EXPANDED_WIDTH : COLLAPSED_WIDTH,
169
- minWidth: isHovering ? EXPANDED_WIDTH : COLLAPSED_WIDTH
170
- },
171
- onMouseEnter,
172
- onMouseLeave,
173
- children
174
- }
175
- )
176
- ] });
177
- }
178
- return /* @__PURE__ */ jsxRuntime.jsx(chunkODQK3LX5_cjs.SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(chunkITRI47DF_cjs.BlocksTooltipProvider, { children: body }) });
179
- }
180
- function SidebarHeader({ children, className, "data-testid": testId }) {
181
- return /* @__PURE__ */ jsxRuntime.jsx(
182
- "div",
183
- {
184
- "data-slot": "sidebar-header",
185
- "data-testid": testId,
186
- className: ui.cn("flex flex-shrink-0 flex-col gap-3 pb-3", className),
187
- children
188
- }
189
- );
190
- }
191
- function SidebarNav({
192
- items,
193
- sections,
194
- children,
195
- className,
196
- "data-testid": testId
197
- }) {
198
- const { expanded } = chunkODQK3LX5_cjs.useSidebarContext();
199
- return /* @__PURE__ */ jsxRuntime.jsxs(
200
- "div",
201
- {
202
- "data-slot": "sidebar-nav",
203
- "data-testid": testId,
204
- className: ui.cn("flex flex-shrink-0 flex-col gap-0.5", !expanded && "items-center", className),
205
- children: [
206
- items?.map((item) => /* @__PURE__ */ jsxRuntime.jsx(SidebarNavItem, { ...item }, item.id)),
207
- sections?.map((section) => /* @__PURE__ */ jsxRuntime.jsx(
208
- SidebarGroup,
209
- {
210
- label: section.label,
211
- ariaLabel: section.ariaLabel,
212
- "data-testid": section.testId,
213
- children: section.items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(SidebarNavItem, { ...item }, item.id))
214
- },
215
- section.id
216
- )),
217
- children
218
- ]
219
- }
220
- );
221
- }
222
- function SidebarGroup({
223
- label,
224
- ariaLabel,
225
- children,
226
- className,
227
- "data-testid": testId
228
- }) {
229
- const { expanded } = chunkODQK3LX5_cjs.useSidebarContext();
230
- return /* @__PURE__ */ jsxRuntime.jsxs(
231
- "div",
232
- {
233
- role: "group",
234
- "aria-label": ariaLabel ?? (typeof label === "string" ? label : void 0),
235
- "data-slot": "sidebar-group",
236
- "data-testid": testId,
237
- className: ui.cn("flex flex-shrink-0 flex-col gap-0.5", !expanded && "items-center", className),
238
- children: [
239
- label && (expanded ? /* @__PURE__ */ jsxRuntime.jsx(SidebarGroupLabel, { children: label }) : /* @__PURE__ */ jsxRuntime.jsx(
240
- "div",
241
- {
242
- role: "separator",
243
- "data-slot": "sidebar-group-divider",
244
- className: "my-1 h-px w-6 bg-border"
245
- }
246
- )),
247
- children
248
- ]
249
- }
250
- );
251
- }
252
- function SidebarGroupLabel({ children, className }) {
253
- return /* @__PURE__ */ jsxRuntime.jsx(
254
- "div",
255
- {
256
- "data-slot": "sidebar-group-label",
257
- className: ui.cn(
258
- "px-2 pb-0.5 pt-2 text-xs font-medium uppercase tracking-wide text-muted-foreground",
259
- className
260
- ),
261
- children
262
- }
263
- );
264
- }
265
- function SidebarFooter({ children, className, "data-testid": testId }) {
266
- const { expanded } = chunkODQK3LX5_cjs.useSidebarContext();
267
- return /* @__PURE__ */ jsxRuntime.jsx(
268
- "div",
269
- {
270
- "data-slot": "sidebar-footer",
271
- "data-testid": testId,
272
- className: ui.cn(
273
- "mt-auto flex flex-shrink-0 flex-col gap-2 pt-3 pb-3",
274
- !expanded && "items-center",
275
- className
276
- ),
277
- children
278
- }
279
- );
280
- }
281
- var INDICATOR_TONES = {
282
- progress: "bg-primary",
283
- error: "bg-red-solid",
284
- attention: "bg-yellow-solid"
285
- };
286
- function SidebarNavItem({
287
- label,
288
- icon,
289
- active = false,
290
- onSelect,
291
- href,
292
- count,
293
- countIcon,
294
- testId,
295
- disabled = false,
296
- trailing,
297
- indicator,
298
- className,
299
- tooltip
300
- }) {
301
- const { expanded } = chunkODQK3LX5_cjs.useSidebarContext();
302
- const [isRowActive, setIsRowActive] = react.useState(false);
303
- const tip = expanded ? void 0 : tooltip ?? label;
304
- if (!expanded) {
305
- const railButton = /* @__PURE__ */ jsxRuntime.jsx(
306
- chunk2UYT7MIX_cjs.ActionLink,
307
- {
308
- href,
309
- onSelect,
310
- disabled,
311
- "aria-label": label,
312
- "aria-current": active ? "page" : void 0,
313
- "data-slot": "sidebar-nav-item",
314
- "data-testid": testId,
315
- className: ui.cn(
316
- "m-0 flex h-9 w-12 items-center justify-center rounded-md transition-colors pointer-coarse:h-11",
317
- active ? "bg-accent text-accent-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground",
318
- disabled && "pointer-events-none cursor-not-allowed opacity-30",
319
- className
320
- ),
321
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-5 items-center justify-center", children: indicator ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
322
- icon,
323
- /* @__PURE__ */ jsxRuntime.jsx(
324
- "div",
325
- {
326
- "data-slot": "sidebar-nav-indicator",
327
- "data-tone": indicator,
328
- className: ui.cn(
329
- "absolute -right-1 -top-1 size-2.5 rounded-full border border-sidebar",
330
- INDICATOR_TONES[indicator]
331
- )
332
- }
333
- )
334
- ] }) : icon })
335
- }
336
- );
337
- if (!tip) return railButton;
338
- return /* @__PURE__ */ jsxRuntime.jsxs(ui.Tooltip, { delayDuration: 50, children: [
339
- /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipTrigger, { asChild: true, children: railButton }),
340
- /* @__PURE__ */ jsxRuntime.jsx(ui.TooltipContent, { side: "right", sideOffset: 8, children: tip })
341
- ] });
342
- }
343
- const rowClass = ui.cn(
344
- "group flex h-9 w-full cursor-pointer items-center rounded-md px-3 text-sm transition-colors pointer-coarse:h-11",
345
- active ? "bg-accent font-semibold text-accent-foreground" : "font-medium text-muted-foreground hover:bg-muted hover:text-foreground",
346
- disabled && "pointer-events-none cursor-not-allowed opacity-30",
347
- className
348
- );
349
- const countNode = count !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(
350
- "span",
351
- {
352
- className: ui.cn(
353
- "ml-auto inline-flex flex-shrink-0 items-center gap-0.5 pl-2 text-xs font-normal tabular-nums",
354
- active ? "text-accent-foreground" : "text-muted-foreground"
355
- ),
356
- children: [
357
- countIcon,
358
- count
359
- ]
360
- }
361
- );
362
- if (href && !disabled && !trailing) {
363
- return /* @__PURE__ */ jsxRuntime.jsxs(
364
- chunk2UYT7MIX_cjs.ActionLink,
365
- {
366
- href,
367
- onSelect,
368
- "aria-current": active ? "page" : void 0,
369
- "data-slot": "sidebar-nav-item",
370
- "data-testid": testId,
371
- className: rowClass,
372
- children: [
373
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-5 flex-shrink-0 items-center justify-center", children: icon }),
374
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-3 min-w-0 truncate text-left", children: label }),
375
- countNode
376
- ]
377
- }
378
- );
379
- }
380
- if (href && !disabled) {
381
- return /* @__PURE__ */ jsxRuntime.jsxs(
382
- "div",
383
- {
384
- onMouseEnter: () => setIsRowActive(true),
385
- onMouseLeave: () => setIsRowActive(false),
386
- onFocusCapture: () => setIsRowActive(true),
387
- onBlurCapture: (e) => {
388
- if (!e.currentTarget.contains(e.relatedTarget)) setIsRowActive(false);
389
- },
390
- "data-slot": "sidebar-nav-item",
391
- "data-testid": testId,
392
- className: ui.cn(rowClass, "relative"),
393
- children: [
394
- /* @__PURE__ */ jsxRuntime.jsx(
395
- chunk2UYT7MIX_cjs.ActionLink,
396
- {
397
- href,
398
- onSelect,
399
- "aria-label": label,
400
- "aria-current": active ? "page" : void 0,
401
- className: "absolute inset-0 rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
402
- }
403
- ),
404
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pointer-events-none flex min-w-0 flex-1 items-center", children: [
405
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-5 flex-shrink-0 items-center justify-center", children: icon }),
406
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-3 min-w-0 truncate text-left", children: label }),
407
- countNode
408
- ] }),
409
- /* @__PURE__ */ jsxRuntime.jsx(chunkODQK3LX5_cjs.SidebarRowHoverContext.Provider, { value: isRowActive, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative ml-2 flex flex-shrink-0 items-center", children: trailing }) })
410
- ]
411
- }
412
- );
413
- }
414
- return /* @__PURE__ */ jsxRuntime.jsxs(
415
- "div",
416
- {
417
- role: "button",
418
- tabIndex: disabled ? -1 : 0,
419
- "aria-current": active ? "page" : void 0,
420
- onClick: disabled ? void 0 : onSelect,
421
- onMouseEnter: () => setIsRowActive(true),
422
- onMouseLeave: () => setIsRowActive(false),
423
- onFocusCapture: () => setIsRowActive(true),
424
- onBlurCapture: (e) => {
425
- if (!e.currentTarget.contains(e.relatedTarget)) setIsRowActive(false);
426
- },
427
- onKeyDown: disabled ? void 0 : (e) => {
428
- if (e.key === "Enter" || e.key === " ") {
429
- e.preventDefault();
430
- onSelect();
431
- }
432
- },
433
- "data-slot": "sidebar-nav-item",
434
- "data-testid": testId,
435
- className: rowClass,
436
- children: [
437
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex size-5 flex-shrink-0 items-center justify-center", children: icon }),
438
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-3 min-w-0 truncate text-left", children: label }),
439
- countNode,
440
- trailing && /* @__PURE__ */ jsxRuntime.jsx(chunkODQK3LX5_cjs.SidebarRowHoverContext.Provider, { value: isRowActive, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto flex flex-shrink-0 items-center pl-2", children: trailing }) })
441
- ]
442
- }
443
- );
444
- }
445
- function SidebarPinToggle({
446
- isPinned,
447
- onToggle,
448
- className,
449
- "data-testid": testId
450
- }) {
451
- const { expanded, labels } = chunkODQK3LX5_cjs.useSidebarContext();
452
- const label = isPinned ? labels.hideSidebar : labels.showSidebar;
453
- return /* @__PURE__ */ jsxRuntime.jsx(
454
- "button",
455
- {
456
- type: "button",
457
- onClick: onToggle,
458
- title: label,
459
- "aria-label": label,
460
- "aria-pressed": isPinned,
461
- "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "sidebar-pin-button" }),
462
- className: ui.cn(
463
- "flex flex-shrink-0 items-center justify-center rounded-md text-muted-foreground transition-[opacity,colors] hover:bg-muted hover:text-foreground pointer-coarse:size-11",
464
- "pointer-events-none opacity-0 group-hover/sidebar:pointer-events-auto group-hover/sidebar:opacity-100",
465
- "group-focus-within/sidebar:pointer-events-auto group-focus-within/sidebar:opacity-100",
466
- "pointer-coarse:pointer-events-auto pointer-coarse:opacity-100 focus-visible:pointer-events-auto focus-visible:opacity-100",
467
- expanded ? "size-9" : "h-9 w-12",
468
- className
469
- ),
470
- children: isPinned ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftClose, { className: "size-5" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftOpen, { className: "size-5" })
471
- }
472
- );
473
- }
474
- function SidebarDrawerHeader({
475
- logo,
476
- onClose,
477
- closeLabel: closeLabelProp,
478
- "data-testid": testId
479
- }) {
480
- const { labels } = chunkODQK3LX5_cjs.useSidebarContext();
481
- const closeLabel = closeLabelProp ?? labels.closeNavigationMenu;
482
- return /* @__PURE__ */ jsxRuntime.jsxs(
483
- "div",
484
- {
485
- "data-slot": "sidebar-drawer-header",
486
- className: "flex flex-shrink-0 items-center justify-between pb-2",
487
- children: [
488
- logo,
489
- /* @__PURE__ */ jsxRuntime.jsx(
490
- "button",
491
- {
492
- type: "button",
493
- onClick: onClose,
494
- "aria-label": closeLabel,
495
- "data-testid": chunkMHVNT4J3_cjs.testIdOr(testId, { testId: "mobile-nav-close" }),
496
- className: "flex size-11 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",
497
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-5" })
498
- }
499
- )
500
- ]
501
- }
502
- );
503
- }
504
- var Sidebar = {
505
- Root: SidebarRoot,
506
- Header: SidebarHeader,
507
- Nav: SidebarNav,
508
- Group: SidebarGroup,
509
- GroupLabel: SidebarGroupLabel,
510
- NavItem: SidebarNavItem,
511
- Footer: SidebarFooter,
512
- PinToggle: SidebarPinToggle,
513
- BadgeRow: chunkODQK3LX5_cjs.SidebarBadgeRow,
514
- DrawerHeader: SidebarDrawerHeader
515
- };
516
19
  var DEFAULT_INSECURE_SESSION_BANNER_TEXT = "This connection is not secure (no HTTPS), so your session is kept in memory only and you will be signed out when you reload. Use https:// or localhost for a persistent, encrypted session.";
517
20
  function InsecureSessionBanner({
518
21
  text = DEFAULT_INSECURE_SESSION_BANNER_TEXT,
@@ -565,18 +68,18 @@ function ShellSidebar({
565
68
  ...rootProps
566
69
  }) {
567
70
  if (controller.layout.hidden) return null;
568
- return /* @__PURE__ */ jsxRuntime.jsxs(Sidebar.Root, { ...controller.rootProps, ...rootProps, children: [
71
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkLFS6UWSJ_cjs.Sidebar.Root, { ...controller.rootProps, ...rootProps, children: [
569
72
  controller.isDrawer && drawerLogo && /* @__PURE__ */ jsxRuntime.jsx(
570
- Sidebar.DrawerHeader,
73
+ chunkLFS6UWSJ_cjs.Sidebar.DrawerHeader,
571
74
  {
572
75
  logo: drawerLogo,
573
76
  onClose: controller.closeDrawer,
574
77
  "data-testid": drawerCloseTestId
575
78
  }
576
79
  ),
577
- header && /* @__PURE__ */ jsxRuntime.jsx(Sidebar.Header, { children: header }),
578
- /* @__PURE__ */ jsxRuntime.jsx(Sidebar.Nav, { items, sections, className: navClassName }),
579
- (tips || footer) && /* @__PURE__ */ jsxRuntime.jsxs(Sidebar.Footer, { children: [
80
+ header && /* @__PURE__ */ jsxRuntime.jsx(chunkLFS6UWSJ_cjs.Sidebar.Header, { children: header }),
81
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLFS6UWSJ_cjs.Sidebar.Nav, { items, sections, className: navClassName }),
82
+ (tips || footer) && /* @__PURE__ */ jsxRuntime.jsxs(chunkLFS6UWSJ_cjs.Sidebar.Footer, { children: [
580
83
  controller.tipsVisible && tips,
581
84
  footer
582
85
  ] })
@@ -597,7 +100,7 @@ function SidebarRowAction({
597
100
  "data-testid": testId,
598
101
  children
599
102
  }) {
600
- const rowHovered = react.useContext(chunkODQK3LX5_cjs.SidebarRowHoverContext);
103
+ const rowHovered = react.useContext(chunkLFS6UWSJ_cjs.SidebarRowHoverContext);
601
104
  const tone = active ? "text-accent-foreground hover:bg-background/60" : pulse ? `${PULSE_STYLES[pulse]} hover:bg-muted` : ui.cn(
602
105
  "text-muted-foreground hover:bg-muted hover:text-foreground",
603
106
  rowHovered ? "opacity-100" : "opacity-70"
@@ -1239,7 +742,7 @@ function OfflinePill({
1239
742
  }
1240
743
  ),
1241
744
  !compact && onReconnect && // Forced visible (context true): there is no row to hover.
1242
- /* @__PURE__ */ jsxRuntime.jsx(chunkODQK3LX5_cjs.SidebarRowHoverContext.Provider, { value: true, children: /* @__PURE__ */ jsxRuntime.jsx(
745
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLFS6UWSJ_cjs.SidebarRowHoverContext.Provider, { value: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1243
746
  SidebarRowAction,
1244
747
  {
1245
748
  label: labels?.reconnect ?? DEFAULT_OFFLINE_PILL_LABELS.reconnect,
@@ -1562,9 +1065,7 @@ exports.MobileAppBar = MobileAppBar;
1562
1065
  exports.MobileTabBar = MobileTabBar;
1563
1066
  exports.OfflinePill = OfflinePill;
1564
1067
  exports.RemoteControlPill = RemoteControlPill;
1565
- exports.SHELL_START_INSET_VAR = SHELL_START_INSET_VAR;
1566
1068
  exports.ShellSidebar = ShellSidebar;
1567
- exports.Sidebar = Sidebar;
1568
1069
  exports.SidebarRowAction = SidebarRowAction;
1569
1070
  exports.SplitLayout = SplitLayout;
1570
1071
  exports.StatusBadge = StatusBadge;
@@ -1573,6 +1074,5 @@ exports.TipCard = TipCard;
1573
1074
  exports.initInstallPrompt = initInstallPrompt;
1574
1075
  exports.promptAppInstall = promptAppInstall;
1575
1076
  exports.useInstallPrompt = useInstallPrompt;
1576
- exports.useShellStartInset = useShellStartInset;
1577
- //# sourceMappingURL=chunk-QAXIVZEJ.cjs.map
1578
- //# sourceMappingURL=chunk-QAXIVZEJ.cjs.map
1077
+ //# sourceMappingURL=chunk-ROWJU4SK.cjs.map
1078
+ //# sourceMappingURL=chunk-ROWJU4SK.cjs.map