@elevasis/ui 2.35.0 → 2.37.0

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 (100) hide show
  1. package/dist/api/index.js +4 -3
  2. package/dist/app/index.css +0 -384
  3. package/dist/app/index.d.ts +45 -18
  4. package/dist/app/index.js +21 -21
  5. package/dist/auth/index.d.ts +91 -28
  6. package/dist/auth/index.js +5 -1
  7. package/dist/charts/index.js +9 -3
  8. package/dist/chunk-5CTJ7TW2.js +111 -0
  9. package/dist/chunk-5EYJ2GIN.js +122 -0
  10. package/dist/{chunk-VDOOGGBA.js → chunk-6NREL3KL.js} +2 -2
  11. package/dist/chunk-6ROXVZ3L.js +9 -0
  12. package/dist/{chunk-YYX7OPZQ.js → chunk-73EWE2EW.js} +1 -1
  13. package/dist/{chunk-SIQ3P4OR.js → chunk-7GQFIWP4.js} +8 -756
  14. package/dist/chunk-A7IG36LB.js +215 -0
  15. package/dist/chunk-CLDCYJQT.js +1 -0
  16. package/dist/{chunk-AKW7KISS.js → chunk-CWYQRM5T.js} +2 -38
  17. package/dist/{chunk-LUYVRATI.js → chunk-DA6I5VEY.js} +5 -213
  18. package/dist/chunk-I53EX4VU.js +734 -0
  19. package/dist/chunk-IIMU5YAJ.js +53 -0
  20. package/dist/{chunk-VKIZUUPM.js → chunk-JPVZRZ3X.js} +31 -14
  21. package/dist/chunk-JXVNHVK7.js +79 -0
  22. package/dist/chunk-JZ2WID2G.js +337 -0
  23. package/dist/chunk-LCJQ6OWC.js +348 -0
  24. package/dist/chunk-LNC6PZAE.js +85 -0
  25. package/dist/{chunk-4U3XAWCN.js → chunk-NWMPBG4U.js} +134 -495
  26. package/dist/chunk-NYNOMAAS.js +422 -0
  27. package/dist/chunk-S3KBYQTI.js +39 -0
  28. package/dist/chunk-S3XR4II4.js +30 -0
  29. package/dist/chunk-SHZT7ULK.js +425 -0
  30. package/dist/{chunk-26HFM4MH.js → chunk-T3NI7DOA.js} +2005 -4106
  31. package/dist/{chunk-GX6XBRRF.js → chunk-TYRUKGGD.js} +2 -1
  32. package/dist/{chunk-R3VCBZDC.js → chunk-X4WBGKJQ.js} +3 -50
  33. package/dist/{chunk-GEFWMU26.js → chunk-X66MVMZT.js} +1 -9
  34. package/dist/{chunk-57OZ3AEG.js → chunk-Y3JQBSKQ.js} +1 -1
  35. package/dist/components/index.d.ts +36 -46
  36. package/dist/components/index.js +33 -19
  37. package/dist/components/navigation/index.js +3 -31
  38. package/dist/execution/index.d.ts +2 -2
  39. package/dist/features/auth/index.d.ts +55 -99
  40. package/dist/features/auth/index.js +36 -99
  41. package/dist/features/clients/index.js +33 -19
  42. package/dist/features/crm/index.d.ts +23 -0
  43. package/dist/features/crm/index.js +33 -19
  44. package/dist/features/dashboard/index.d.ts +3 -3
  45. package/dist/features/dashboard/index.js +33 -19
  46. package/dist/features/delivery/index.d.ts +23 -0
  47. package/dist/features/delivery/index.js +33 -19
  48. package/dist/features/knowledge/index.js +6 -30
  49. package/dist/features/lead-gen/index.d.ts +1373 -48
  50. package/dist/features/lead-gen/index.js +33 -19
  51. package/dist/features/monitoring/index.js +33 -19
  52. package/dist/features/monitoring/requests/index.js +33 -19
  53. package/dist/features/notes/index.d.ts +72 -0
  54. package/dist/features/notes/index.js +621 -0
  55. package/dist/features/operations/index.d.ts +30 -30
  56. package/dist/features/operations/index.js +33 -19
  57. package/dist/features/right-panel-host/index.d.ts +214 -0
  58. package/dist/features/right-panel-host/index.js +640 -0
  59. package/dist/features/seo/index.js +3 -2
  60. package/dist/features/settings/index.d.ts +26 -35
  61. package/dist/features/settings/index.js +33 -19
  62. package/dist/hooks/access/index.d.ts +90 -0
  63. package/dist/hooks/access/index.js +10 -0
  64. package/dist/hooks/delivery/index.d.ts +23 -0
  65. package/dist/hooks/delivery/index.js +33 -19
  66. package/dist/hooks/index.d.ts +1816 -1855
  67. package/dist/hooks/index.js +33 -19
  68. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +13 -13
  69. package/dist/hooks/published.d.ts +1816 -1855
  70. package/dist/hooks/published.js +33 -19
  71. package/dist/hooks/user-notes/index.d.ts +57 -0
  72. package/dist/hooks/user-notes/index.js +3 -0
  73. package/dist/index.d.ts +290 -309
  74. package/dist/index.js +34 -20
  75. package/dist/initialization/index.d.ts +23 -19
  76. package/dist/knowledge/index.d.ts +21 -21
  77. package/dist/knowledge/index.js +12 -9
  78. package/dist/{knowledge-search-index-ORIJCEZX.js → knowledge-search-index-NBCTFIOH.js} +2 -2
  79. package/dist/layout/index.js +5 -3
  80. package/dist/organization/index.d.ts +0 -19
  81. package/dist/organization/index.js +33 -19
  82. package/dist/profile/index.d.ts +23 -0
  83. package/dist/provider/index.css +0 -384
  84. package/dist/provider/index.d.ts +45 -18
  85. package/dist/provider/index.js +15 -21
  86. package/dist/provider/published.css +0 -523
  87. package/dist/provider/published.d.ts +45 -18
  88. package/dist/provider/published.js +11 -21
  89. package/dist/sse/index.js +26 -5
  90. package/dist/supabase/index.d.ts +46 -0
  91. package/dist/test-utils/index.d.ts +2 -21
  92. package/dist/test-utils/index.js +5 -18
  93. package/dist/theme/index.js +2 -1
  94. package/dist/types/index.d.ts +86 -72
  95. package/dist/utils/index.d.ts +3 -3
  96. package/dist/utils/index.js +2 -1
  97. package/package.json +21 -5
  98. package/src/auth/README.md +6 -6
  99. package/dist/components/navigation/index.css +0 -649
  100. package/dist/features/knowledge/index.css +0 -649
@@ -0,0 +1,215 @@
1
+ import { topbarHeight, sidebarTransitionDuration, sidebarBottomSectionHeight } from './chunk-DT3QYZVU.js';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { createContext, useState, useContext } from 'react';
4
+
5
+ var SubshellContainer = ({ children, className }) => {
6
+ return /* @__PURE__ */ jsx(
7
+ "div",
8
+ {
9
+ className,
10
+ style: {
11
+ display: "flex",
12
+ height: "100%",
13
+ width: "100%",
14
+ position: "relative"
15
+ },
16
+ children
17
+ }
18
+ );
19
+ };
20
+ var SubshellRightSideContainer = ({ children, className }) => {
21
+ return /* @__PURE__ */ jsx(
22
+ "div",
23
+ {
24
+ className,
25
+ style: {
26
+ flex: 1,
27
+ minWidth: 0,
28
+ display: "flex",
29
+ flexDirection: "column",
30
+ overflow: "hidden"
31
+ },
32
+ children
33
+ }
34
+ );
35
+ };
36
+ var mdSpacing = 16;
37
+ var SubshellContentContainer = ({ children, className }) => {
38
+ return /* @__PURE__ */ jsx(
39
+ "div",
40
+ {
41
+ className,
42
+ style: {
43
+ display: "flex",
44
+ flexDirection: "column",
45
+ flex: 1,
46
+ overflowX: "clip",
47
+ overflowY: "auto",
48
+ minWidth: 0,
49
+ minHeight: 0,
50
+ padding: "var(--mantine-spacing-md)",
51
+ paddingTop: `${topbarHeight + mdSpacing}px`
52
+ },
53
+ children
54
+ }
55
+ );
56
+ };
57
+ var SubshellSidebar = ({
58
+ children,
59
+ className,
60
+ width,
61
+ collapsible = true,
62
+ defaultOpen = true
63
+ }) => {
64
+ const [isOpen, setIsOpen] = useState(defaultOpen);
65
+ const effectiveWidth = collapsible && !isOpen ? 0 : width;
66
+ if (!collapsible) {
67
+ return /* @__PURE__ */ jsx(
68
+ "aside",
69
+ {
70
+ className,
71
+ style: {
72
+ width: `${width}px`,
73
+ flexShrink: 0,
74
+ display: "flex",
75
+ flexDirection: "column",
76
+ backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
77
+ backdropFilter: "var(--glass-blur)",
78
+ WebkitBackdropFilter: "var(--glass-blur)",
79
+ borderRight: "1px solid var(--color-border)",
80
+ boxShadow: "var(--card-shadow)",
81
+ clipPath: "inset(-100px -100px -100px 0)",
82
+ height: `calc(100vh - ${topbarHeight}px)`,
83
+ minHeight: 0,
84
+ marginTop: `${topbarHeight}px`,
85
+ fontFamily: "var(--elevasis-font-family-subtitle)",
86
+ overflow: "hidden"
87
+ },
88
+ children
89
+ }
90
+ );
91
+ }
92
+ return /* @__PURE__ */ jsxs(
93
+ "div",
94
+ {
95
+ style: {
96
+ position: "relative",
97
+ flexShrink: 0,
98
+ marginTop: `${topbarHeight}px`,
99
+ height: `calc(100vh - ${topbarHeight}px)`,
100
+ minHeight: 0
101
+ },
102
+ children: [
103
+ /* @__PURE__ */ jsx(
104
+ "aside",
105
+ {
106
+ className,
107
+ style: {
108
+ width: `${effectiveWidth}px`,
109
+ flexShrink: 0,
110
+ display: "flex",
111
+ flexDirection: "column",
112
+ backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
113
+ backdropFilter: "var(--glass-blur)",
114
+ WebkitBackdropFilter: "var(--glass-blur)",
115
+ borderRight: isOpen ? "1px solid var(--color-border)" : "none",
116
+ boxShadow: isOpen ? "var(--card-shadow)" : "none",
117
+ clipPath: isOpen ? "inset(-100px -100px -100px 0)" : "none",
118
+ height: "100%",
119
+ fontFamily: "var(--elevasis-font-family-subtitle)",
120
+ overflow: "hidden",
121
+ transition: `width ${sidebarTransitionDuration}ms var(--easing)`
122
+ },
123
+ children: /* @__PURE__ */ jsx(
124
+ "div",
125
+ {
126
+ style: {
127
+ width: `${width}px`,
128
+ flexShrink: 0,
129
+ height: "100%",
130
+ minHeight: 0,
131
+ display: "flex",
132
+ flexDirection: "column",
133
+ opacity: isOpen ? 1 : 0,
134
+ transition: `opacity var(--duration-fast) var(--easing)`
135
+ },
136
+ children
137
+ }
138
+ )
139
+ }
140
+ ),
141
+ /* @__PURE__ */ jsx(
142
+ "button",
143
+ {
144
+ onClick: () => setIsOpen((prev) => !prev),
145
+ style: {
146
+ position: "absolute",
147
+ right: 0,
148
+ bottom: 0,
149
+ transform: "translateX(100%)",
150
+ width: "20px",
151
+ // Match the live height of the outer Sidebar's bottom profile section.
152
+ // SidebarBottomSection publishes --elevasis-sidebar-bottom-section-height
153
+ // via ResizeObserver so this follows its actual height through
154
+ // collapse/expand transitions. Falls back to the expanded-state
155
+ // constant when rendered outside a Sidebar layout.
156
+ height: `var(--elevasis-sidebar-bottom-section-height, ${sidebarBottomSectionHeight}px)`,
157
+ display: "flex",
158
+ alignItems: "center",
159
+ justifyContent: "center",
160
+ backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
161
+ backdropFilter: "var(--glass-blur)",
162
+ WebkitBackdropFilter: "var(--glass-blur)",
163
+ border: "1px solid var(--color-border)",
164
+ borderLeft: "none",
165
+ borderBottom: "none",
166
+ borderRadius: "0 4px 0 0",
167
+ cursor: "pointer",
168
+ color: "var(--color-text-subtle)",
169
+ padding: 0,
170
+ zIndex: 10,
171
+ transition: `color var(--duration-fast) var(--easing)`
172
+ },
173
+ "aria-label": isOpen ? "Collapse sidebar" : "Expand sidebar",
174
+ children: /* @__PURE__ */ jsx(
175
+ "svg",
176
+ {
177
+ width: "6",
178
+ height: "10",
179
+ viewBox: "0 0 8 12",
180
+ fill: "none",
181
+ style: {
182
+ transform: isOpen ? void 0 : "rotate(180deg)",
183
+ transition: `transform var(--duration-fast) var(--easing)`
184
+ },
185
+ children: /* @__PURE__ */ jsx(
186
+ "path",
187
+ {
188
+ d: "M6 1L1 6L6 11",
189
+ stroke: "currentColor",
190
+ strokeWidth: "1.5",
191
+ strokeLinecap: "round",
192
+ strokeLinejoin: "round"
193
+ }
194
+ )
195
+ }
196
+ )
197
+ }
198
+ )
199
+ ]
200
+ }
201
+ );
202
+ };
203
+ var AppearanceContext = createContext(null);
204
+ function AppearanceProvider({ value, children }) {
205
+ return /* @__PURE__ */ jsx(AppearanceContext.Provider, { value, children });
206
+ }
207
+ function useAppearance() {
208
+ const ctx = useContext(AppearanceContext);
209
+ if (!ctx) {
210
+ throw new Error("useAppearance must be used within an AppearanceProvider (ElevasisCoreProvider)");
211
+ }
212
+ return ctx;
213
+ }
214
+
215
+ export { AppearanceProvider, SubshellContainer, SubshellContentContainer, SubshellRightSideContainer, SubshellSidebar, useAppearance };
@@ -0,0 +1 @@
1
+
@@ -1,6 +1,6 @@
1
1
  import { PRESETS, getPreset, generateShades } from './chunk-WF7CONXF.js';
2
2
  import { Tooltip, Tree, Text, TagsInput, Tabs, Table, Stack, SimpleGrid, Select, Combobox, SegmentedControl, ScrollArea, Paper, Popover, Notification, MultiSelect, Modal, Menu, Input, HoverCard, Group, Grid, Flex, Drawer, Code, Divider, Card, Button, Accordion, createTheme } from '@mantine/core';
3
- import { createContext, useContext, useMemo } from 'react';
3
+ import { createContext, useContext } from 'react';
4
4
 
5
5
  // src/theme/cssVariables.ts
6
6
  var TOKEN_VAR_MAP = {
@@ -418,8 +418,6 @@ var componentThemes = {
418
418
  })
419
419
  // Pagination styles are in custom.css to support :not([data-active]) selector
420
420
  };
421
-
422
- // src/theme/MantineThemeOverride.ts
423
421
  var mantineThemeOverride = createTheme({
424
422
  defaultRadius: "xs",
425
423
  fontFamily: 'Roboto, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',
@@ -452,39 +450,5 @@ var PresetsProvider = PresetsContext.Provider;
452
450
  function usePresetsContext() {
453
451
  return useContext(PresetsContext);
454
452
  }
455
- var BUILT_IN_NAMES = /* @__PURE__ */ new Set([
456
- "default",
457
- "tactical",
458
- "regal",
459
- "cyber-volt",
460
- "aurora",
461
- "rose-gold",
462
- "midnight",
463
- "titanium",
464
- "obsidian",
465
- "honey",
466
- "abyss",
467
- "canopy",
468
- "slate",
469
- "cyber-strike",
470
- "cyber-chrome",
471
- "cyber-void",
472
- "quarry"
473
- ]);
474
- function titleCase(str) {
475
- return str.replace(/(^|-)(\w)/g, (_, sep, char) => (sep ? " " : "") + char.toUpperCase());
476
- }
477
- function useAvailablePresets() {
478
- const presetsMap = usePresetsContext();
479
- return useMemo(() => {
480
- return Object.entries(presetsMap).map(([key, preset]) => ({
481
- value: key,
482
- label: preset.label ?? titleCase(key),
483
- description: preset.description ?? "",
484
- colors: preset.colors ?? [preset.dark.primary, preset.dark.background, preset.light.background],
485
- isCustom: !BUILT_IN_NAMES.has(key)
486
- }));
487
- }, [presetsMap]);
488
- }
489
453
 
490
- export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, glassBase, mantineThemeOverride, useAvailablePresets, usePresetsContext };
454
+ export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, glassBase, mantineThemeOverride, usePresetsContext };
@@ -1,11 +1,12 @@
1
+ import { SubshellNavItem } from './chunk-X4WBGKJQ.js';
2
+ import { useAppearance } from './chunk-A7IG36LB.js';
1
3
  import { NavigationButton } from './chunk-NYBEU5TE.js';
2
- import { SubshellNavItem } from './chunk-R3VCBZDC.js';
3
- import { sidebarItemGap, sidebarSubLinkPaddingY, sidebarSubLinkPaddingX, sidebarSubLinkIndent, sidebarHoverDelay, sidebarTransitionDuration, sidebarCollapsedWidth, sidebarWidth, topbarHeight, sidebarToggleIconSize, sidebarSectionPadding, sidebarGroupChevronSize, sidebarIconInnerSize, sidebarBottomSectionHeight } from './chunk-DT3QYZVU.js';
4
+ import { sidebarItemGap, sidebarSubLinkPaddingY, sidebarSubLinkPaddingX, sidebarSubLinkIndent, sidebarHoverDelay, sidebarTransitionDuration, sidebarCollapsedWidth, sidebarWidth, topbarHeight, sidebarToggleIconSize, sidebarSectionPadding, sidebarGroupChevronSize, sidebarIconInnerSize } from './chunk-DT3QYZVU.js';
4
5
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
5
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
- import { createContext, memo, useEffect, useRef, createElement, useContext, useLayoutEffect, useState } from 'react';
7
7
  import { Collapse, HoverCard, Stack, Group, Text, UnstyledButton, Tooltip, ScrollArea, Menu, Avatar, Container, Title, Button, Box, Center, useMantineColorScheme, Switch, Code } from '@mantine/core';
8
8
  import { IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconAlertCircle, IconChevronDown, IconChevronRight, IconMoonStars, IconSun } from '@tabler/icons-react';
9
+ import { createContext, memo, useEffect, useRef, createElement, useContext, useLayoutEffect, useState } from 'react';
9
10
 
10
11
  var randRange = (min, max) => min + Math.random() * (max - min);
11
12
  var FLUX_SPARKS = Array.from({ length: 30 }, () => {
@@ -227,17 +228,6 @@ function Vignette({ strength = 0.35, className }) {
227
228
  }
228
229
  );
229
230
  }
230
- var AppearanceContext = createContext(null);
231
- function AppearanceProvider({ value, children }) {
232
- return /* @__PURE__ */ jsx(AppearanceContext.Provider, { value, children });
233
- }
234
- function useAppearance() {
235
- const ctx = useContext(AppearanceContext);
236
- if (!ctx) {
237
- throw new Error("useAppearance must be used within an AppearanceProvider (ElevasisCoreProvider)");
238
- }
239
- return ctx;
240
- }
241
231
  var AppShellContainer = ({ children }) => {
242
232
  const { background } = useAppearance();
243
233
  return /* @__PURE__ */ jsxs(
@@ -1123,204 +1113,6 @@ var CollapsibleSidebarGroup = ({
1123
1113
  ) })
1124
1114
  ] });
1125
1115
  };
1126
- var SubshellContainer = ({ children, className }) => {
1127
- return /* @__PURE__ */ jsx(
1128
- "div",
1129
- {
1130
- className,
1131
- style: {
1132
- display: "flex",
1133
- height: "100%",
1134
- width: "100%",
1135
- position: "relative"
1136
- },
1137
- children
1138
- }
1139
- );
1140
- };
1141
- var SubshellRightSideContainer = ({ children, className }) => {
1142
- return /* @__PURE__ */ jsx(
1143
- "div",
1144
- {
1145
- className,
1146
- style: {
1147
- flex: 1,
1148
- minWidth: 0,
1149
- display: "flex",
1150
- flexDirection: "column",
1151
- overflow: "hidden"
1152
- },
1153
- children
1154
- }
1155
- );
1156
- };
1157
- var mdSpacing = 16;
1158
- var SubshellContentContainer = ({ children, className }) => {
1159
- return /* @__PURE__ */ jsx(
1160
- "div",
1161
- {
1162
- className,
1163
- style: {
1164
- display: "flex",
1165
- flexDirection: "column",
1166
- flex: 1,
1167
- overflowX: "clip",
1168
- overflowY: "auto",
1169
- minWidth: 0,
1170
- minHeight: 0,
1171
- padding: "var(--mantine-spacing-md)",
1172
- paddingTop: `${topbarHeight + mdSpacing}px`
1173
- },
1174
- children
1175
- }
1176
- );
1177
- };
1178
- var SubshellSidebar = ({
1179
- children,
1180
- className,
1181
- width,
1182
- collapsible = true,
1183
- defaultOpen = true
1184
- }) => {
1185
- const [isOpen, setIsOpen] = useState(defaultOpen);
1186
- const effectiveWidth = collapsible && !isOpen ? 0 : width;
1187
- if (!collapsible) {
1188
- return /* @__PURE__ */ jsx(
1189
- "aside",
1190
- {
1191
- className,
1192
- style: {
1193
- width: `${width}px`,
1194
- flexShrink: 0,
1195
- display: "flex",
1196
- flexDirection: "column",
1197
- backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
1198
- backdropFilter: "var(--glass-blur)",
1199
- WebkitBackdropFilter: "var(--glass-blur)",
1200
- borderRight: "1px solid var(--color-border)",
1201
- boxShadow: "var(--card-shadow)",
1202
- clipPath: "inset(-100px -100px -100px 0)",
1203
- height: `calc(100vh - ${topbarHeight}px)`,
1204
- minHeight: 0,
1205
- marginTop: `${topbarHeight}px`,
1206
- fontFamily: "var(--elevasis-font-family-subtitle)",
1207
- overflow: "hidden"
1208
- },
1209
- children
1210
- }
1211
- );
1212
- }
1213
- return /* @__PURE__ */ jsxs(
1214
- "div",
1215
- {
1216
- style: {
1217
- position: "relative",
1218
- flexShrink: 0,
1219
- marginTop: `${topbarHeight}px`,
1220
- height: `calc(100vh - ${topbarHeight}px)`,
1221
- minHeight: 0
1222
- },
1223
- children: [
1224
- /* @__PURE__ */ jsx(
1225
- "aside",
1226
- {
1227
- className,
1228
- style: {
1229
- width: `${effectiveWidth}px`,
1230
- flexShrink: 0,
1231
- display: "flex",
1232
- flexDirection: "column",
1233
- backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
1234
- backdropFilter: "var(--glass-blur)",
1235
- WebkitBackdropFilter: "var(--glass-blur)",
1236
- borderRight: isOpen ? "1px solid var(--color-border)" : "none",
1237
- boxShadow: isOpen ? "var(--card-shadow)" : "none",
1238
- clipPath: isOpen ? "inset(-100px -100px -100px 0)" : "none",
1239
- height: "100%",
1240
- fontFamily: "var(--elevasis-font-family-subtitle)",
1241
- overflow: "hidden",
1242
- transition: `width ${sidebarTransitionDuration}ms var(--easing)`
1243
- },
1244
- children: /* @__PURE__ */ jsx(
1245
- "div",
1246
- {
1247
- style: {
1248
- width: `${width}px`,
1249
- flexShrink: 0,
1250
- height: "100%",
1251
- minHeight: 0,
1252
- display: "flex",
1253
- flexDirection: "column",
1254
- opacity: isOpen ? 1 : 0,
1255
- transition: `opacity var(--duration-fast) var(--easing)`
1256
- },
1257
- children
1258
- }
1259
- )
1260
- }
1261
- ),
1262
- /* @__PURE__ */ jsx(
1263
- "button",
1264
- {
1265
- onClick: () => setIsOpen((prev) => !prev),
1266
- style: {
1267
- position: "absolute",
1268
- right: 0,
1269
- bottom: 0,
1270
- transform: "translateX(100%)",
1271
- width: "20px",
1272
- // Match the live height of the outer Sidebar's bottom profile section.
1273
- // SidebarBottomSection publishes --elevasis-sidebar-bottom-section-height
1274
- // via ResizeObserver so this follows its actual height through
1275
- // collapse/expand transitions. Falls back to the expanded-state
1276
- // constant when rendered outside a Sidebar layout.
1277
- height: `var(--elevasis-sidebar-bottom-section-height, ${sidebarBottomSectionHeight}px)`,
1278
- display: "flex",
1279
- alignItems: "center",
1280
- justifyContent: "center",
1281
- backgroundColor: "color-mix(in srgb, var(--glass-background) 80%, transparent)",
1282
- backdropFilter: "var(--glass-blur)",
1283
- WebkitBackdropFilter: "var(--glass-blur)",
1284
- border: "1px solid var(--color-border)",
1285
- borderLeft: "none",
1286
- borderBottom: "none",
1287
- borderRadius: "0 4px 0 0",
1288
- cursor: "pointer",
1289
- color: "var(--color-text-subtle)",
1290
- padding: 0,
1291
- zIndex: 10,
1292
- transition: `color var(--duration-fast) var(--easing)`
1293
- },
1294
- "aria-label": isOpen ? "Collapse sidebar" : "Expand sidebar",
1295
- children: /* @__PURE__ */ jsx(
1296
- "svg",
1297
- {
1298
- width: "6",
1299
- height: "10",
1300
- viewBox: "0 0 8 12",
1301
- fill: "none",
1302
- style: {
1303
- transform: isOpen ? void 0 : "rotate(180deg)",
1304
- transition: `transform var(--duration-fast) var(--easing)`
1305
- },
1306
- children: /* @__PURE__ */ jsx(
1307
- "path",
1308
- {
1309
- d: "M6 1L1 6L6 11",
1310
- stroke: "currentColor",
1311
- strokeWidth: "1.5",
1312
- strokeLinecap: "round",
1313
- strokeLinejoin: "round"
1314
- }
1315
- )
1316
- }
1317
- )
1318
- }
1319
- )
1320
- ]
1321
- }
1322
- );
1323
- };
1324
1116
  var SubshellNavList = ({ items }) => {
1325
1117
  const { currentPath, navigate } = useRouterContext();
1326
1118
  return /* @__PURE__ */ jsx(Fragment, { children: items.map((item) => {
@@ -1439,4 +1231,4 @@ var Topbar = ({ version, leftContent, children }) => {
1439
1231
  ] });
1440
1232
  };
1441
1233
 
1442
- export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceProvider, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useAppearance, useSidebar, useSidebarCollapse };
1234
+ export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellLoader, SubshellNavList, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse };