boreal-ui 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/CheveronDownIcon-B2codmaq.cjs +26 -0
- package/dist/core/CheveronDownIcon-B2codmaq.cjs.map +1 -0
- package/dist/core/CheveronDownIcon-Cn9jj-ku.js +27 -0
- package/dist/core/CheveronDownIcon-Cn9jj-ku.js.map +1 -0
- package/dist/core/{Footer-D_-eBUqK.js → Footer-7ixaMvFc.js} +2 -2
- package/dist/core/{Footer-D_-eBUqK.js.map → Footer-7ixaMvFc.js.map} +1 -1
- package/dist/core/{Footer-DxYjXCde.cjs → Footer-Dc_CuIC1.cjs} +2 -2
- package/dist/core/{Footer-DxYjXCde.cjs.map → Footer-Dc_CuIC1.cjs.map} +1 -1
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{Select-DhUEQ4W_.cjs → Select-CitauzQm.cjs} +3 -25
- package/dist/core/Select-CitauzQm.cjs.map +1 -0
- package/dist/core/{Select-BDwB-XRV.js → Select-_12yQ-yj.js} +3 -25
- package/dist/core/Select-_12yQ-yj.js.map +1 -0
- package/dist/core/Select.cjs.js +1 -1
- package/dist/core/Select.js +1 -1
- package/dist/core/Sidebar-CqTJJULG.cjs +216 -0
- package/dist/core/Sidebar-CqTJJULG.cjs.map +1 -0
- package/dist/core/Sidebar-z0mG5nn_.js +217 -0
- package/dist/core/Sidebar-z0mG5nn_.js.map +1 -0
- package/dist/core/Sidebar.cjs.js +4 -0
- package/dist/core/Sidebar.cjs.js.map +1 -0
- package/dist/core/Sidebar.js +5 -0
- package/dist/core/Sidebar.js.map +1 -0
- package/dist/core/index.cjs.js +4 -211
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +6 -215
- package/dist/core/index.js.map +1 -1
- package/dist/core/style.css +2454 -2454
- package/dist/next/CheveronDownIcon-Cn9jj-ku.js +27 -0
- package/dist/next/CheveronDownIcon-Cn9jj-ku.js.map +1 -0
- package/dist/next/CheveronDownIcon-CyoOZUNY.cjs +26 -0
- package/dist/next/CheveronDownIcon-CyoOZUNY.cjs.map +1 -0
- package/dist/next/{Footer-C6gSCcdC.cjs → Footer-J0Tb7-n4.cjs} +2 -2
- package/dist/next/{Footer-C6gSCcdC.cjs.map → Footer-J0Tb7-n4.cjs.map} +1 -1
- package/dist/next/{Footer-BPjfubyG.js → Footer-bb_8EH_R.js} +2 -2
- package/dist/next/{Footer-BPjfubyG.js.map → Footer-bb_8EH_R.js.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/NavBar-CRbRBzGq.js +163 -0
- package/dist/next/NavBar-CRbRBzGq.js.map +1 -0
- package/dist/next/NavBar-JPkuek76.cjs +162 -0
- package/dist/next/NavBar-JPkuek76.cjs.map +1 -0
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{Select-BKprqV3i.cjs → Select-Bln5-seQ.cjs} +3 -25
- package/dist/next/Select-Bln5-seQ.cjs.map +1 -0
- package/dist/next/{Select-_C8mTVb1.js → Select-CdWyrGrV.js} +3 -25
- package/dist/next/Select-CdWyrGrV.js.map +1 -0
- package/dist/next/Select.cjs.js +1 -1
- package/dist/next/Select.js +1 -1
- package/dist/next/Sidebar-B9jHy0wy.js +285 -0
- package/dist/next/Sidebar-B9jHy0wy.js.map +1 -0
- package/dist/next/Sidebar-PUffGMhm.cjs +284 -0
- package/dist/next/Sidebar-PUffGMhm.cjs.map +1 -0
- package/dist/next/Sidebar.cjs.js +4 -0
- package/dist/next/Sidebar.cjs.js.map +1 -0
- package/dist/next/Sidebar.js +5 -0
- package/dist/next/Sidebar.js.map +1 -0
- package/dist/next/index.cjs.js +23 -297
- package/dist/next/index.cjs.js.map +1 -1
- package/dist/next/index.js +26 -303
- package/dist/next/index.js.map +1 -1
- package/dist/next/{NavBar-CLfsYv5E.js → navigation-DTwYCgCL.js} +3 -160
- package/dist/next/navigation-DTwYCgCL.js.map +1 -0
- package/dist/next/{NavBar-COPlmHzy.cjs → navigation-m012syo9.cjs} +1 -158
- package/dist/next/navigation-m012syo9.cjs.map +1 -0
- package/dist/next/style.css +2642 -2642
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Sidebar/Sidebar.types.d.ts +0 -5
- package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -1
- package/dist/types/components/Sidebar/SidebarBase.d.ts +4 -1
- package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
- package/package.json +11 -1
- package/dist/core/Select-BDwB-XRV.js.map +0 -1
- package/dist/core/Select-DhUEQ4W_.cjs.map +0 -1
- package/dist/next/NavBar-CLfsYv5E.js.map +0 -1
- package/dist/next/NavBar-COPlmHzy.cjs.map +0 -1
- package/dist/next/Select-BKprqV3i.cjs.map +0 -1
- package/dist/next/Select-_C8mTVb1.js.map +0 -1
package/dist/next/index.cjs.js
CHANGED
|
@@ -9,8 +9,8 @@ const IconButton = require("./IconButton-CNzF48hu.cjs");
|
|
|
9
9
|
const STT = require("./STT-C0q3yqiJ.cjs");
|
|
10
10
|
const TextInput = require("./TextInput-iQT-2lPj.cjs");
|
|
11
11
|
const TextArea = require("./TextArea-BfVBd3wl.cjs");
|
|
12
|
-
const Select = require("./Select-
|
|
13
|
-
const Footer = require("./Footer-
|
|
12
|
+
const Select = require("./Select-Bln5-seQ.cjs");
|
|
13
|
+
const Footer = require("./Footer-J0Tb7-n4.cjs");
|
|
14
14
|
const FileUpload = require("./FileUpload-427ZyzCY.cjs");
|
|
15
15
|
const Taginput = require("./Taginput-BcNgwFOj.cjs");
|
|
16
16
|
const RadioButton = require("./RadioButton-cXdUfJD2.cjs");
|
|
@@ -35,7 +35,7 @@ const Spinner = require("./Spinner-Doh4Uft1.cjs");
|
|
|
35
35
|
const Tooltip = require("./Tooltip-DHhLeygn.cjs");
|
|
36
36
|
const MessagePopup = require("./MessagePopup-C-7N3vB0.cjs");
|
|
37
37
|
const PopOver = require("./PopOver-CHs0s9rp.cjs");
|
|
38
|
-
const NavBar = require("./NavBar-
|
|
38
|
+
const NavBar = require("./NavBar-JPkuek76.cjs");
|
|
39
39
|
const Breadcrumbs = require("./Breadcrumbs-0cJD4s9s.cjs");
|
|
40
40
|
const Tabs = require("./Tabs-DuZPFjen.cjs");
|
|
41
41
|
const Stepper = require("./Stepper-D2UYDRwT.cjs");
|
|
@@ -51,8 +51,7 @@ const MetricBox = require("./MetricBox-Dtkrwrtw.cjs");
|
|
|
51
51
|
const EmptyState = require("./EmptyState-DUZQ2Qmn.cjs");
|
|
52
52
|
const CommandPalette = require("./CommandPalette-Dp2pT5ot.cjs");
|
|
53
53
|
const NotificationCenter = require("./NotificationCenter-DmcHIkOp.cjs");
|
|
54
|
-
const
|
|
55
|
-
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
54
|
+
const Sidebar = require("./Sidebar-PUffGMhm.cjs");
|
|
56
55
|
const Card = require("./Card-BCYMEFyT.cjs");
|
|
57
56
|
const Avatar = require("./Avatar-DjuHvrMV.cjs");
|
|
58
57
|
const ChipGroupBase = React.forwardRef(
|
|
@@ -133,11 +132,11 @@ const ChipGroupBase = React.forwardRef(
|
|
|
133
132
|
}
|
|
134
133
|
);
|
|
135
134
|
ChipGroupBase.displayName = "ChipGroupBase";
|
|
136
|
-
const noScroll
|
|
137
|
-
const errorMessage
|
|
138
|
-
const loadingContainer
|
|
139
|
-
const hideScrollbar
|
|
140
|
-
const sr_only
|
|
135
|
+
const noScroll = "_noScroll_vcv6u_91";
|
|
136
|
+
const errorMessage = "_errorMessage_vcv6u_92";
|
|
137
|
+
const loadingContainer = "_loadingContainer_vcv6u_93";
|
|
138
|
+
const hideScrollbar = "_hideScrollbar_vcv6u_85";
|
|
139
|
+
const sr_only = "_sr_only_vcv6u_94";
|
|
141
140
|
const container = "_container_vcv6u_479";
|
|
142
141
|
const topLeft = "_topLeft_vcv6u_488";
|
|
143
142
|
const topCenter = "_topCenter_vcv6u_493";
|
|
@@ -145,16 +144,16 @@ const topRight = "_topRight_vcv6u_499";
|
|
|
145
144
|
const bottomLeft = "_bottomLeft_vcv6u_504";
|
|
146
145
|
const bottomCenter = "_bottomCenter_vcv6u_509";
|
|
147
146
|
const bottomRight = "_bottomRight_vcv6u_515";
|
|
148
|
-
const list
|
|
147
|
+
const list = "_list_vcv6u_521";
|
|
149
148
|
const chip = "_chip_vcv6u_530";
|
|
150
|
-
const spin
|
|
151
|
-
const pulse
|
|
152
|
-
const styles
|
|
153
|
-
noScroll
|
|
154
|
-
errorMessage
|
|
155
|
-
loadingContainer
|
|
156
|
-
hideScrollbar
|
|
157
|
-
sr_only
|
|
149
|
+
const spin = "_spin_vcv6u_1";
|
|
150
|
+
const pulse = "_pulse_vcv6u_1";
|
|
151
|
+
const styles = {
|
|
152
|
+
noScroll,
|
|
153
|
+
errorMessage,
|
|
154
|
+
loadingContainer,
|
|
155
|
+
hideScrollbar,
|
|
156
|
+
sr_only,
|
|
158
157
|
container,
|
|
159
158
|
topLeft,
|
|
160
159
|
topCenter,
|
|
@@ -162,13 +161,13 @@ const styles$1 = {
|
|
|
162
161
|
bottomLeft,
|
|
163
162
|
bottomCenter,
|
|
164
163
|
bottomRight,
|
|
165
|
-
list
|
|
164
|
+
list,
|
|
166
165
|
chip,
|
|
167
166
|
"fade-in": "_fade-in_vcv6u_1",
|
|
168
167
|
"slide-up": "_slide-up_vcv6u_1",
|
|
169
168
|
"spin-3d": "_spin-3d_vcv6u_1",
|
|
170
|
-
spin
|
|
171
|
-
pulse
|
|
169
|
+
spin,
|
|
170
|
+
pulse,
|
|
172
171
|
"fade-in-up": "_fade-in-up_vcv6u_1",
|
|
173
172
|
"progress-grow": "_progress-grow_vcv6u_1",
|
|
174
173
|
"indeterminate-move": "_indeterminate-move_vcv6u_1",
|
|
@@ -181,283 +180,10 @@ const ChipGroup = React.forwardRef(
|
|
|
181
180
|
...props,
|
|
182
181
|
ref,
|
|
183
182
|
ChipComponent: Chip.Chip,
|
|
184
|
-
classMap: styles
|
|
183
|
+
classMap: styles
|
|
185
184
|
}
|
|
186
185
|
)
|
|
187
186
|
);
|
|
188
|
-
const SidebarBase = ({
|
|
189
|
-
links,
|
|
190
|
-
classMap,
|
|
191
|
-
currentPath,
|
|
192
|
-
LinkComponent = "a",
|
|
193
|
-
theme = borealStyleConfig.getDefaultTheme(),
|
|
194
|
-
rounding = borealStyleConfig.getDefaultRounding(),
|
|
195
|
-
shadow = borealStyleConfig.getDefaultShadow(),
|
|
196
|
-
state = "",
|
|
197
|
-
showFooter = false,
|
|
198
|
-
footerLinks,
|
|
199
|
-
footerVersion: footerVersion2,
|
|
200
|
-
outline: outline2 = false,
|
|
201
|
-
className = "",
|
|
202
|
-
"data-testid": testId = "sidebar",
|
|
203
|
-
ariaLabel = "Sidebar navigation",
|
|
204
|
-
...rest
|
|
205
|
-
}) => {
|
|
206
|
-
const [openItems, setOpenItems] = React.useState({});
|
|
207
|
-
const toggleItem = (key) => {
|
|
208
|
-
setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));
|
|
209
|
-
};
|
|
210
|
-
const submenuRefs = React.useRef({});
|
|
211
|
-
const setSubmenuRef = (key, el) => {
|
|
212
|
-
submenuRefs.current[key] = el;
|
|
213
|
-
};
|
|
214
|
-
const getSubmenuHeight = (key) => {
|
|
215
|
-
const el = submenuRefs.current[key];
|
|
216
|
-
return el ? `${el.scrollHeight}px` : "0px";
|
|
217
|
-
};
|
|
218
|
-
const containerClasses = React.useMemo(
|
|
219
|
-
() => classNames.combineClassNames(
|
|
220
|
-
classMap.wrapper,
|
|
221
|
-
className,
|
|
222
|
-
classMap[theme],
|
|
223
|
-
classMap[state],
|
|
224
|
-
shadow && classMap[`shadow${capitalize.capitalize(shadow)}`],
|
|
225
|
-
rounding && classMap[`round${capitalize.capitalize(rounding)}`],
|
|
226
|
-
outline2 ? classMap.outline : ""
|
|
227
|
-
),
|
|
228
|
-
[className, theme, state, outline2, rounding, shadow]
|
|
229
|
-
);
|
|
230
|
-
const renderLinks = (items, isChild = false) => /* @__PURE__ */ require$$2.jsx(
|
|
231
|
-
"ul",
|
|
232
|
-
{
|
|
233
|
-
className: classNames.combineClassNames(
|
|
234
|
-
classMap.list,
|
|
235
|
-
isChild ? classMap.childList : ""
|
|
236
|
-
),
|
|
237
|
-
"data-testid": `${testId}-list`,
|
|
238
|
-
children: items.map(({ label, href, children, icon }) => {
|
|
239
|
-
const isActive = href && currentPath === href;
|
|
240
|
-
const isOpen = openItems[label] || false;
|
|
241
|
-
return /* @__PURE__ */ require$$2.jsx(
|
|
242
|
-
"li",
|
|
243
|
-
{
|
|
244
|
-
className: classMap.item,
|
|
245
|
-
"data-testid": `${testId}-listItems`,
|
|
246
|
-
children: children && children.length > 0 ? /* @__PURE__ */ require$$2.jsxs(require$$2.Fragment, { children: [
|
|
247
|
-
/* @__PURE__ */ require$$2.jsxs(
|
|
248
|
-
"button",
|
|
249
|
-
{
|
|
250
|
-
type: "button",
|
|
251
|
-
className: classNames.combineClassNames(
|
|
252
|
-
classMap.link,
|
|
253
|
-
isOpen ? classMap.active : ""
|
|
254
|
-
),
|
|
255
|
-
onClick: () => toggleItem(label),
|
|
256
|
-
"aria-expanded": isOpen,
|
|
257
|
-
"data-testid": `${testId}-exapndItemButton`,
|
|
258
|
-
children: [
|
|
259
|
-
icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
|
|
260
|
-
/* @__PURE__ */ require$$2.jsx("span", { "data-testid": `${testId}-exapndItemLabel`, children: label }),
|
|
261
|
-
/* @__PURE__ */ require$$2.jsx(
|
|
262
|
-
Select.ChevronDownIcon,
|
|
263
|
-
{
|
|
264
|
-
className: classNames.combineClassNames(
|
|
265
|
-
classMap.chevron,
|
|
266
|
-
isOpen ? classMap.chevronOpen : ""
|
|
267
|
-
),
|
|
268
|
-
"data-testid": `${testId}-exapndIcon`
|
|
269
|
-
}
|
|
270
|
-
)
|
|
271
|
-
]
|
|
272
|
-
}
|
|
273
|
-
),
|
|
274
|
-
/* @__PURE__ */ require$$2.jsx(
|
|
275
|
-
"div",
|
|
276
|
-
{
|
|
277
|
-
ref: (el) => setSubmenuRef(label, el),
|
|
278
|
-
className: classNames.combineClassNames(
|
|
279
|
-
classMap.submenu,
|
|
280
|
-
isOpen ? classMap.submenuOpen : ""
|
|
281
|
-
),
|
|
282
|
-
style: {
|
|
283
|
-
maxHeight: isOpen ? getSubmenuHeight(label) : "0px"
|
|
284
|
-
},
|
|
285
|
-
"data-testid": `${testId}-subMenu`,
|
|
286
|
-
children: renderLinks(children, true)
|
|
287
|
-
}
|
|
288
|
-
)
|
|
289
|
-
] }) : href ? /* @__PURE__ */ require$$2.jsxs(
|
|
290
|
-
LinkComponent,
|
|
291
|
-
{
|
|
292
|
-
href,
|
|
293
|
-
className: classNames.combineClassNames(
|
|
294
|
-
classMap.link,
|
|
295
|
-
isChild ? classMap.childLink : "",
|
|
296
|
-
isActive ? classMap.active : ""
|
|
297
|
-
),
|
|
298
|
-
"aria-current": isActive ? "page" : void 0,
|
|
299
|
-
"data-testid": `${testId}-sidebarLink`,
|
|
300
|
-
children: [
|
|
301
|
-
icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
|
|
302
|
-
label
|
|
303
|
-
]
|
|
304
|
-
}
|
|
305
|
-
) : /* @__PURE__ */ require$$2.jsxs(
|
|
306
|
-
"span",
|
|
307
|
-
{
|
|
308
|
-
className: classNames.combineClassNames(
|
|
309
|
-
classMap.link,
|
|
310
|
-
isChild ? classMap.childLink : ""
|
|
311
|
-
),
|
|
312
|
-
"data-testid": `${testId}-sidebarLabel`,
|
|
313
|
-
children: [
|
|
314
|
-
icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
|
|
315
|
-
label
|
|
316
|
-
]
|
|
317
|
-
}
|
|
318
|
-
)
|
|
319
|
-
},
|
|
320
|
-
label
|
|
321
|
-
);
|
|
322
|
-
})
|
|
323
|
-
}
|
|
324
|
-
);
|
|
325
|
-
return /* @__PURE__ */ require$$2.jsxs(
|
|
326
|
-
"nav",
|
|
327
|
-
{
|
|
328
|
-
className: containerClasses,
|
|
329
|
-
"aria-label": ariaLabel,
|
|
330
|
-
...rest,
|
|
331
|
-
"data-testid": testId,
|
|
332
|
-
children: [
|
|
333
|
-
/* @__PURE__ */ require$$2.jsx("nav", { className: classMap.nav, children: renderLinks(links) }),
|
|
334
|
-
showFooter && /* @__PURE__ */ require$$2.jsxs("footer", { className: classMap.footer, "data-testid": `${testId}-footer`, children: [
|
|
335
|
-
footerLinks == null ? void 0 : footerLinks.map(({ label, href }) => /* @__PURE__ */ require$$2.jsx(
|
|
336
|
-
LinkComponent,
|
|
337
|
-
{
|
|
338
|
-
href,
|
|
339
|
-
className: classMap.footerLink,
|
|
340
|
-
"data-testid": `${testId}-footerLink`,
|
|
341
|
-
children: label
|
|
342
|
-
},
|
|
343
|
-
label
|
|
344
|
-
)),
|
|
345
|
-
footerVersion2 && /* @__PURE__ */ require$$2.jsx(
|
|
346
|
-
"span",
|
|
347
|
-
{
|
|
348
|
-
className: classMap.footerVersion,
|
|
349
|
-
"data-testid": `${testId}-footerVersion`,
|
|
350
|
-
children: footerVersion2
|
|
351
|
-
}
|
|
352
|
-
)
|
|
353
|
-
] })
|
|
354
|
-
]
|
|
355
|
-
}
|
|
356
|
-
);
|
|
357
|
-
};
|
|
358
|
-
SidebarBase.displayName = "SidebarBase";
|
|
359
|
-
const noScroll = "_noScroll_y1c07_91";
|
|
360
|
-
const errorMessage = "_errorMessage_y1c07_92";
|
|
361
|
-
const loadingContainer = "_loadingContainer_y1c07_93";
|
|
362
|
-
const hideScrollbar = "_hideScrollbar_y1c07_85";
|
|
363
|
-
const sr_only = "_sr_only_y1c07_94";
|
|
364
|
-
const wrapper = "_wrapper_y1c07_479";
|
|
365
|
-
const roundNone = "_roundNone_y1c07_490";
|
|
366
|
-
const roundSmall = "_roundSmall_y1c07_493";
|
|
367
|
-
const roundMedium = "_roundMedium_y1c07_496";
|
|
368
|
-
const roundLarge = "_roundLarge_y1c07_499";
|
|
369
|
-
const roundFull = "_roundFull_y1c07_502";
|
|
370
|
-
const shadowNone = "_shadowNone_y1c07_505";
|
|
371
|
-
const shadowLight = "_shadowLight_y1c07_508";
|
|
372
|
-
const shadowMedium = "_shadowMedium_y1c07_511";
|
|
373
|
-
const shadowStrong = "_shadowStrong_y1c07_514";
|
|
374
|
-
const shadowIntense = "_shadowIntense_y1c07_517";
|
|
375
|
-
const primary = "_primary_y1c07_521";
|
|
376
|
-
const active = "_active_y1c07_521";
|
|
377
|
-
const outline = "_outline_y1c07_525";
|
|
378
|
-
const clear = "_clear_y1c07_530";
|
|
379
|
-
const secondary = "_secondary_y1c07_534";
|
|
380
|
-
const tertiary = "_tertiary_y1c07_547";
|
|
381
|
-
const quaternary = "_quaternary_y1c07_560";
|
|
382
|
-
const success = "_success_y1c07_588";
|
|
383
|
-
const error = "_error_y1c07_92";
|
|
384
|
-
const warning = "_warning_y1c07_602";
|
|
385
|
-
const nav = "_nav_y1c07_609";
|
|
386
|
-
const list = "_list_y1c07_614";
|
|
387
|
-
const link = "_link_y1c07_620";
|
|
388
|
-
const childLink = "_childLink_y1c07_650";
|
|
389
|
-
const chevron = "_chevron_y1c07_654";
|
|
390
|
-
const chevronOpen = "_chevronOpen_y1c07_658";
|
|
391
|
-
const submenu = "_submenu_y1c07_662";
|
|
392
|
-
const childList = "_childList_y1c07_668";
|
|
393
|
-
const footer = "_footer_y1c07_673";
|
|
394
|
-
const footerLink = "_footerLink_y1c07_685";
|
|
395
|
-
const footerVersion = "_footerVersion_y1c07_693";
|
|
396
|
-
const spin = "_spin_y1c07_1";
|
|
397
|
-
const pulse = "_pulse_y1c07_1";
|
|
398
|
-
const styles = {
|
|
399
|
-
noScroll,
|
|
400
|
-
errorMessage,
|
|
401
|
-
loadingContainer,
|
|
402
|
-
hideScrollbar,
|
|
403
|
-
sr_only,
|
|
404
|
-
wrapper,
|
|
405
|
-
roundNone,
|
|
406
|
-
roundSmall,
|
|
407
|
-
roundMedium,
|
|
408
|
-
roundLarge,
|
|
409
|
-
roundFull,
|
|
410
|
-
shadowNone,
|
|
411
|
-
shadowLight,
|
|
412
|
-
shadowMedium,
|
|
413
|
-
shadowStrong,
|
|
414
|
-
shadowIntense,
|
|
415
|
-
primary,
|
|
416
|
-
active,
|
|
417
|
-
outline,
|
|
418
|
-
clear,
|
|
419
|
-
secondary,
|
|
420
|
-
tertiary,
|
|
421
|
-
quaternary,
|
|
422
|
-
success,
|
|
423
|
-
error,
|
|
424
|
-
warning,
|
|
425
|
-
nav,
|
|
426
|
-
list,
|
|
427
|
-
link,
|
|
428
|
-
childLink,
|
|
429
|
-
chevron,
|
|
430
|
-
chevronOpen,
|
|
431
|
-
submenu,
|
|
432
|
-
childList,
|
|
433
|
-
footer,
|
|
434
|
-
footerLink,
|
|
435
|
-
footerVersion,
|
|
436
|
-
"fade-in": "_fade-in_y1c07_1",
|
|
437
|
-
"slide-up": "_slide-up_y1c07_1",
|
|
438
|
-
"spin-3d": "_spin-3d_y1c07_1",
|
|
439
|
-
spin,
|
|
440
|
-
pulse,
|
|
441
|
-
"fade-in-up": "_fade-in-up_y1c07_1",
|
|
442
|
-
"progress-grow": "_progress-grow_y1c07_1",
|
|
443
|
-
"indeterminate-move": "_indeterminate-move_y1c07_1",
|
|
444
|
-
"skeleton-loading": "_skeleton-loading_y1c07_1"
|
|
445
|
-
};
|
|
446
|
-
const Sidebar = ({ links, ...rest }) => {
|
|
447
|
-
const currentPath = NavBar.navigation.usePathname();
|
|
448
|
-
const { classMap, currentPath: _ignored, ...safeRest } = rest;
|
|
449
|
-
return /* @__PURE__ */ require$$2.jsx(
|
|
450
|
-
SidebarBase,
|
|
451
|
-
{
|
|
452
|
-
links,
|
|
453
|
-
classMap: styles,
|
|
454
|
-
currentPath,
|
|
455
|
-
LinkComponent: link$1.Link,
|
|
456
|
-
...safeRest
|
|
457
|
-
},
|
|
458
|
-
currentPath
|
|
459
|
-
);
|
|
460
|
-
};
|
|
461
187
|
function ClientFooterWrapper(props) {
|
|
462
188
|
return /* @__PURE__ */ require$$2.jsx(Footer.Footer, { ...props });
|
|
463
189
|
}
|
|
@@ -510,9 +236,9 @@ exports.MetricBox = MetricBox.MetricBox;
|
|
|
510
236
|
exports.EmptyState = EmptyState.EmptyState;
|
|
511
237
|
exports.CommandPalette = CommandPalette.CommandPalette;
|
|
512
238
|
exports.NotificationCenter = NotificationCenter.NotificationCenter;
|
|
239
|
+
exports.Sidebar = Sidebar.Sidebar;
|
|
513
240
|
exports.Card = Card.Card;
|
|
514
241
|
exports.Avatar = Avatar.Avatar;
|
|
515
242
|
exports.ChipGroup = ChipGroup;
|
|
516
243
|
exports.ClientFooterWrapper = ClientFooterWrapper;
|
|
517
|
-
exports.Sidebar = Sidebar;
|
|
518
244
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/Chip/ChipGroup/ChipGroupBase.tsx","../../src/components/Chip/ChipGroup/next/ChipGroup.tsx","../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/next/Sidebar.tsx","../../src/components/Footer/next/ClientFooterWrapper.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useCallback,\r\n useEffect,\r\n useImperativeHandle,\r\n useState,\r\n} from \"react\";\r\nimport type { ChipGroupProps, ChipGroupRef } from \"./ChipGroup.types\";\r\nimport type { ChipProps } from \"../Chip.types\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\n\r\nexport interface ChipGroupBaseProps extends ChipGroupProps {\r\n ChipComponent: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ChipGroupBase = forwardRef<ChipGroupRef, ChipGroupBaseProps>(\r\n (\r\n {\r\n chips,\r\n onRemove,\r\n position = \"topCenter\",\r\n size = \"medium\",\r\n className = \"\",\r\n ChipComponent,\r\n classMap,\r\n },\r\n ref\r\n ) => {\r\n const [visibleChips, setVisibleChips] = useState<ChipProps[]>([]);\r\n\r\n useEffect(() => {\r\n const initialized = chips.map((chip) => ({\r\n ...chip,\r\n id: chip.id || uuidv4(),\r\n }));\r\n setVisibleChips(initialized);\r\n }, [chips]);\r\n\r\n const handleClose = useCallback(\r\n (id: string) => {\r\n setVisibleChips((prev) => prev.filter((c) => c.id !== id));\r\n onRemove?.(id);\r\n },\r\n [onRemove]\r\n );\r\n\r\n useImperativeHandle(ref, () => ({\r\n closeAllChips: () => {\r\n visibleChips.forEach((chip) => handleClose(chip.id!));\r\n },\r\n }));\r\n\r\n const containerClassName = [\r\n classMap.container,\r\n classMap[position],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={containerClassName}\r\n role=\"region\"\r\n aria-label=\"Notifications\"\r\n aria-live=\"polite\"\r\n data-testid=\"chip-group\"\r\n >\r\n <ul role=\"list\" className={classMap.list}>\r\n {visibleChips.map((chip, index) => {\r\n const chipPosition = chip.position || position;\r\n const chipPositionClass = classMap[chipPosition];\r\n\r\n return (\r\n <li key={chip.id} role=\"listitem\">\r\n <ChipComponent\r\n id={chip.id}\r\n message={chip.message}\r\n icon={chip.icon}\r\n theme={chip.theme}\r\n state={chip.state}\r\n size={chip.size || size}\r\n rounding={chip.rounding}\r\n shadow={chip.shadow}\r\n visible={true}\r\n onClose={() => handleClose(chip.id!)}\r\n autoClose={chip.autoClose}\r\n duration={chip.duration}\r\n position={chipPosition}\r\n usePortal={false}\r\n stackIndex={index}\r\n className={combineClassNames(\r\n classMap.chip,\r\n chip.className,\r\n chipPositionClass\r\n )}\r\n data-testid={chip[\"data-testid\"]}\r\n />\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nChipGroupBase.displayName = \"ChipGroupBase\";\r\nexport default ChipGroupBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipGroupBase from \"../ChipGroupBase\";\r\nimport { Chip } from \"../../../../index.next\";\r\nimport styles from \"./ChipGroup.module.scss\";\r\nimport { ChipGroupProps, ChipGroupRef } from \"../ChipGroup.types\";\r\n\r\nconst ChipGroup = React.forwardRef<ChipGroupRef, ChipGroupProps>(\r\n (props, ref) => (\r\n <ChipGroupBase\r\n {...props}\r\n ref={ref}\r\n ChipComponent={Chip}\r\n classMap={styles}\r\n />\r\n )\r\n);\r\n\r\nexport default ChipGroup;\r\n","import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { SidebarProps } from \"./Sidebar.types\";\nimport { combineClassNames } from \"@/utils/classNames\";\nimport {\n getDefaultRounding,\n getDefaultShadow,\n getDefaultTheme,\n} from \"@/config/boreal-style-config\";\nimport { capitalize } from \"@/utils/capitalize\";\nimport { ChevronDownIcon } from \"@/Icons\";\n\nconst SidebarBase: React.FC<SidebarProps> = ({\n links,\n classMap,\n currentPath,\n LinkComponent = \"a\",\n theme = getDefaultTheme(),\n rounding = getDefaultRounding(),\n shadow = getDefaultShadow(),\n state = \"\",\n showFooter = false,\n footerLinks,\n footerVersion,\n outline = false,\n className = \"\",\n \"data-testid\": testId = \"sidebar\",\n ariaLabel = \"Sidebar navigation\",\n ...rest\n}) => {\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\n\n const toggleItem = (key: string) => {\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\n submenuRefs.current[key] = el;\n };\n\n const getSubmenuHeight = (key: string) => {\n const el = submenuRefs.current[key];\n return el ? `${el.scrollHeight}px` : \"0px\";\n };\n\n const containerClasses = useMemo(\n () =>\n combineClassNames(\n classMap.wrapper,\n className,\n classMap[theme],\n classMap[state],\n shadow && classMap[`shadow${capitalize(shadow)}`],\n rounding && classMap[`round${capitalize(rounding)}`],\n outline ? classMap.outline : \"\"\n ),\n [className, theme, state, outline, rounding, shadow]\n );\n\n const renderLinks = (items: typeof links, isChild = false) => (\n <ul\n className={combineClassNames(\n classMap.list,\n isChild ? classMap.childList : \"\"\n )}\n data-testid={`${testId}-list`}\n >\n {items.map(({ label, href, children, icon }) => {\n const isActive = href && currentPath === href;\n const isOpen = openItems[label] || false;\n\n return (\n <li\n key={label}\n className={classMap.item}\n data-testid={`${testId}-listItems`}\n >\n {children && children.length > 0 ? (\n <>\n <button\n type=\"button\"\n className={combineClassNames(\n classMap.link,\n isOpen ? classMap.active : \"\"\n )}\n onClick={() => toggleItem(label)}\n aria-expanded={isOpen}\n data-testid={`${testId}-exapndItemButton`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n <span data-testid={`${testId}-exapndItemLabel`}>{label}</span>\n <ChevronDownIcon\n className={combineClassNames(\n classMap.chevron,\n isOpen ? classMap.chevronOpen : \"\"\n )}\n data-testid={`${testId}-exapndIcon`}\n />\n </button>\n <div\n ref={(el) => setSubmenuRef(label, el)}\n className={combineClassNames(\n classMap.submenu,\n isOpen ? classMap.submenuOpen : \"\"\n )}\n style={{\n maxHeight: isOpen ? getSubmenuHeight(label) : \"0px\",\n }}\n data-testid={`${testId}-subMenu`}\n >\n {renderLinks(children, true)}\n </div>\n </>\n ) : href ? (\n <LinkComponent\n href={href}\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\",\n isActive ? classMap.active : \"\"\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-testid={`${testId}-sidebarLink`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </LinkComponent>\n ) : (\n <span\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\"\n )}\n data-testid={`${testId}-sidebarLabel`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={containerClasses}\n aria-label={ariaLabel}\n {...rest}\n data-testid={testId}\n >\n <nav className={classMap.nav}>{renderLinks(links)}</nav>\n {showFooter && (\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\n {footerLinks?.map(({ label, href }) => (\n <LinkComponent\n key={label}\n href={href}\n className={classMap.footerLink}\n data-testid={`${testId}-footerLink`}\n >\n {label}\n </LinkComponent>\n ))}\n\n {footerVersion && (\n <span\n className={classMap.footerVersion}\n data-testid={`${testId}-footerVersion`}\n >\n {footerVersion}\n </span>\n )}\n </footer>\n )}\n </nav>\n );\n};\n\nSidebarBase.displayName = \"SidebarBase\";\n\nexport default SidebarBase;\n","\"use client\";\n\nimport React from \"react\";\nimport Link from \"next/link\";\nimport { usePathname } from \"next/navigation\";\nimport SidebarBase from \"../SidebarBase\";\nimport styles from \"./Sidebar.module.scss\";\nimport { SidebarProps } from \"../Sidebar.types\";\n\nconst Sidebar: React.FC<SidebarProps> = ({ links, ...rest }) => {\n const currentPath = usePathname();\n\n const { classMap, currentPath: _ignored, ...safeRest } = rest;\n\n return (\n <SidebarBase\n links={links}\n classMap={styles}\n currentPath={currentPath}\n LinkComponent={Link}\n key={currentPath}\n {...safeRest}\n />\n );\n};\n\nexport default Sidebar;\n","/**\r\n * ---------------------------------------------------------------------\r\n * ClientFooterWrapper.tsx\r\n * ---------------------------------------------------------------------\r\n * A client-side wrapper for the `<Footer>` component to ensure\r\n * it renders only on the client (required when using dynamic content\r\n * or browser-specific APIs within the Footer).\r\n *\r\n * This is useful in Next.js when a server component cannot render\r\n * a client-only dependency.\r\n *\r\n * Props are directly passed through from `FooterProps`.\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ClientFooterWrapper\r\n * copyright=\"© 2025 Davin Chiupka\"\r\n * showThemeSelect\r\n * />\r\n * ```\r\n */\r\n\r\n\"use client\";\r\n\r\nimport Footer from \"./Footer\";\r\nimport type { FooterProps } from \"../Footer.types\";\r\n\r\nexport default function ClientFooterWrapper(props: FooterProps) {\r\n return <Footer {...props} />;\r\n}\r\n"],"names":["forwardRef","useState","useEffect","chip","uuidv4","useCallback","useImperativeHandle","jsx","combineClassNames","Chip","styles","getDefaultTheme","getDefaultRounding","getDefaultShadow","footerVersion","outline","useRef","useMemo","capitalize","jsxs","Fragment","ChevronDownIcon","usePathname","Link","Footer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/Chip/ChipGroup/ChipGroupBase.tsx","../../src/components/Chip/ChipGroup/next/ChipGroup.tsx","../../src/components/Footer/next/ClientFooterWrapper.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useCallback,\r\n useEffect,\r\n useImperativeHandle,\r\n useState,\r\n} from \"react\";\r\nimport type { ChipGroupProps, ChipGroupRef } from \"./ChipGroup.types\";\r\nimport type { ChipProps } from \"../Chip.types\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { combineClassNames } from \"@/utils/classNames\";\r\n\r\nexport interface ChipGroupBaseProps extends ChipGroupProps {\r\n ChipComponent: React.ElementType;\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ChipGroupBase = forwardRef<ChipGroupRef, ChipGroupBaseProps>(\r\n (\r\n {\r\n chips,\r\n onRemove,\r\n position = \"topCenter\",\r\n size = \"medium\",\r\n className = \"\",\r\n ChipComponent,\r\n classMap,\r\n },\r\n ref\r\n ) => {\r\n const [visibleChips, setVisibleChips] = useState<ChipProps[]>([]);\r\n\r\n useEffect(() => {\r\n const initialized = chips.map((chip) => ({\r\n ...chip,\r\n id: chip.id || uuidv4(),\r\n }));\r\n setVisibleChips(initialized);\r\n }, [chips]);\r\n\r\n const handleClose = useCallback(\r\n (id: string) => {\r\n setVisibleChips((prev) => prev.filter((c) => c.id !== id));\r\n onRemove?.(id);\r\n },\r\n [onRemove]\r\n );\r\n\r\n useImperativeHandle(ref, () => ({\r\n closeAllChips: () => {\r\n visibleChips.forEach((chip) => handleClose(chip.id!));\r\n },\r\n }));\r\n\r\n const containerClassName = [\r\n classMap.container,\r\n classMap[position],\r\n className,\r\n ]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={containerClassName}\r\n role=\"region\"\r\n aria-label=\"Notifications\"\r\n aria-live=\"polite\"\r\n data-testid=\"chip-group\"\r\n >\r\n <ul role=\"list\" className={classMap.list}>\r\n {visibleChips.map((chip, index) => {\r\n const chipPosition = chip.position || position;\r\n const chipPositionClass = classMap[chipPosition];\r\n\r\n return (\r\n <li key={chip.id} role=\"listitem\">\r\n <ChipComponent\r\n id={chip.id}\r\n message={chip.message}\r\n icon={chip.icon}\r\n theme={chip.theme}\r\n state={chip.state}\r\n size={chip.size || size}\r\n rounding={chip.rounding}\r\n shadow={chip.shadow}\r\n visible={true}\r\n onClose={() => handleClose(chip.id!)}\r\n autoClose={chip.autoClose}\r\n duration={chip.duration}\r\n position={chipPosition}\r\n usePortal={false}\r\n stackIndex={index}\r\n className={combineClassNames(\r\n classMap.chip,\r\n chip.className,\r\n chipPositionClass\r\n )}\r\n data-testid={chip[\"data-testid\"]}\r\n />\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nChipGroupBase.displayName = \"ChipGroupBase\";\r\nexport default ChipGroupBase;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport ChipGroupBase from \"../ChipGroupBase\";\r\nimport { Chip } from \"../../../../index.next\";\r\nimport styles from \"./ChipGroup.module.scss\";\r\nimport { ChipGroupProps, ChipGroupRef } from \"../ChipGroup.types\";\r\n\r\nconst ChipGroup = React.forwardRef<ChipGroupRef, ChipGroupProps>(\r\n (props, ref) => (\r\n <ChipGroupBase\r\n {...props}\r\n ref={ref}\r\n ChipComponent={Chip}\r\n classMap={styles}\r\n />\r\n )\r\n);\r\n\r\nexport default ChipGroup;\r\n","/**\r\n * ---------------------------------------------------------------------\r\n * ClientFooterWrapper.tsx\r\n * ---------------------------------------------------------------------\r\n * A client-side wrapper for the `<Footer>` component to ensure\r\n * it renders only on the client (required when using dynamic content\r\n * or browser-specific APIs within the Footer).\r\n *\r\n * This is useful in Next.js when a server component cannot render\r\n * a client-only dependency.\r\n *\r\n * Props are directly passed through from `FooterProps`.\r\n *\r\n * Usage:\r\n * ```tsx\r\n * <ClientFooterWrapper\r\n * copyright=\"© 2025 Davin Chiupka\"\r\n * showThemeSelect\r\n * />\r\n * ```\r\n */\r\n\r\n\"use client\";\r\n\r\nimport Footer from \"./Footer\";\r\nimport type { FooterProps } from \"../Footer.types\";\r\n\r\nexport default function ClientFooterWrapper(props: FooterProps) {\r\n return <Footer {...props} />;\r\n}\r\n"],"names":["forwardRef","useState","useEffect","chip","uuidv4","useCallback","useImperativeHandle","jsx","combineClassNames","Chip","Footer"],"mappings":"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"}
|