@unifiedsoftware/react-ui 1.0.8-beta → 1.0.10

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/index.mjs ADDED
@@ -0,0 +1,1132 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+
33
+ // src/components/Badge/Badge.tsx
34
+ import clsx from "clsx";
35
+
36
+ // src/constants/index.ts
37
+ var PREFIX_CLS = "us-";
38
+
39
+ // src/components/Badge/Badge.tsx
40
+ import { jsx, jsxs } from "react/jsx-runtime";
41
+ var Badge = ({ children, placement, content }) => {
42
+ return /* @__PURE__ */ jsxs("div", { className: clsx(`${PREFIX_CLS}badge-wrapper`), children: [
43
+ children,
44
+ /* @__PURE__ */ jsx(
45
+ "div",
46
+ {
47
+ className: clsx(`${PREFIX_CLS}badge`, {
48
+ [`${PREFIX_CLS}badge--${placement}`]: placement
49
+ }),
50
+ children: content
51
+ }
52
+ )
53
+ ] });
54
+ };
55
+ var Badge_default = Badge;
56
+
57
+ // src/components/Button/Button.tsx
58
+ import clsx3 from "clsx";
59
+ import { forwardRef as forwardRef5 } from "react";
60
+
61
+ // src/icons/ChevronDownIcon.tsx
62
+ import { forwardRef } from "react";
63
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
64
+ var ChevronDownIcon = forwardRef((props, ref) => {
65
+ return /* @__PURE__ */ jsxs2(
66
+ "svg",
67
+ __spreadProps(__spreadValues({
68
+ ref,
69
+ stroke: "currentColor",
70
+ fill: "currentColor",
71
+ "stroke-width": "0",
72
+ viewBox: "0 0 24 24",
73
+ height: "1em",
74
+ width: "1em",
75
+ xmlns: "http://www.w3.org/2000/svg"
76
+ }, props), {
77
+ children: [
78
+ /* @__PURE__ */ jsx2("path", { fill: "none", d: "M0 0h24v24H0V0z" }),
79
+ /* @__PURE__ */ jsx2("path", { d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" })
80
+ ]
81
+ })
82
+ );
83
+ });
84
+ var ChevronDownIcon_default = ChevronDownIcon;
85
+
86
+ // src/icons/ChevronUpIcon.tsx
87
+ import { forwardRef as forwardRef2 } from "react";
88
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
89
+ var ChevronUpIcon = forwardRef2((props, ref) => {
90
+ return /* @__PURE__ */ jsxs3(
91
+ "svg",
92
+ __spreadProps(__spreadValues({
93
+ ref,
94
+ stroke: "currentColor",
95
+ fill: "currentColor",
96
+ "stroke-width": "0",
97
+ viewBox: "0 0 24 24",
98
+ height: "1em",
99
+ width: "1em",
100
+ xmlns: "http://www.w3.org/2000/svg"
101
+ }, props), {
102
+ children: [
103
+ /* @__PURE__ */ jsx3("path", { fill: "none", d: "M0 0h24v24H0z" }),
104
+ /* @__PURE__ */ jsx3("path", { d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" })
105
+ ]
106
+ })
107
+ );
108
+ });
109
+ var ChevronUpIcon_default = ChevronUpIcon;
110
+
111
+ // src/icons/LoaderIcon.tsx
112
+ import { forwardRef as forwardRef3 } from "react";
113
+ import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
114
+ var LoaderIcon = forwardRef3((props, ref) => {
115
+ return /* @__PURE__ */ jsxs4(
116
+ "svg",
117
+ __spreadProps(__spreadValues({
118
+ ref,
119
+ stroke: "currentColor",
120
+ fill: "none",
121
+ "stroke-width": "2",
122
+ viewBox: "0 0 24 24",
123
+ "stroke-linecap": "round",
124
+ "stroke-linejoin": "round",
125
+ height: "1em",
126
+ width: "1em",
127
+ xmlns: "http://www.w3.org/2000/svg"
128
+ }, props), {
129
+ children: [
130
+ /* @__PURE__ */ jsx4("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
131
+ /* @__PURE__ */ jsx4("path", { d: "M12 3a9 9 0 1 0 9 9" })
132
+ ]
133
+ })
134
+ );
135
+ });
136
+ var LoaderIcon_default = LoaderIcon;
137
+
138
+ // src/components/Icon/Icon.tsx
139
+ import clsx2 from "clsx";
140
+ import { Children, cloneElement, forwardRef as forwardRef4 } from "react";
141
+ var Icon = forwardRef4(({ children, size }, ref) => {
142
+ const child = Children.only(children);
143
+ return cloneElement(child, __spreadProps(__spreadValues({
144
+ ref
145
+ }, child.props), {
146
+ className: clsx2(`${PREFIX_CLS}icon`, { [`${PREFIX_CLS}font-size-${size}`]: size }, child.props.className)
147
+ }));
148
+ });
149
+ var Icon_default = Icon;
150
+
151
+ // src/components/Button/Button.tsx
152
+ import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
153
+ var Button = forwardRef5(
154
+ (_a, ref) => {
155
+ var _b = _a, {
156
+ as: Component = "button",
157
+ children,
158
+ className,
159
+ role = "presentation",
160
+ variant = "text",
161
+ color = "primary",
162
+ size = "md",
163
+ iconOnly,
164
+ startContent,
165
+ endContent,
166
+ loading,
167
+ disabled
168
+ } = _b, rest = __objRest(_b, [
169
+ "as",
170
+ "children",
171
+ "className",
172
+ "role",
173
+ "variant",
174
+ "color",
175
+ "size",
176
+ "iconOnly",
177
+ "startContent",
178
+ "endContent",
179
+ "loading",
180
+ "disabled"
181
+ ]);
182
+ return /* @__PURE__ */ jsxs5(
183
+ Component,
184
+ __spreadProps(__spreadValues({
185
+ ref,
186
+ className: clsx3(
187
+ `${PREFIX_CLS}button`,
188
+ {
189
+ [`${PREFIX_CLS}button--${variant}`]: variant,
190
+ [`${PREFIX_CLS}button--${color}`]: color,
191
+ [`${PREFIX_CLS}button--${size}`]: size,
192
+ [`${PREFIX_CLS}button--icon-only`]: iconOnly,
193
+ [`${PREFIX_CLS}button--disabled`]: disabled
194
+ },
195
+ className
196
+ ),
197
+ role,
198
+ disabled
199
+ }, rest), {
200
+ children: [
201
+ /* @__PURE__ */ jsx5("div", { className: `${PREFIX_CLS}overlay` }),
202
+ /* @__PURE__ */ jsx5("div", { className: `${PREFIX_CLS}outline` }),
203
+ loading ? /* @__PURE__ */ jsx5(Icon_default, { children: /* @__PURE__ */ jsx5(LoaderIcon_default, { className: `${PREFIX_CLS}animation-spin` }) }) : startContent,
204
+ /* @__PURE__ */ jsx5("div", { className: `${PREFIX_CLS}button__content`, children }),
205
+ endContent
206
+ ]
207
+ })
208
+ );
209
+ }
210
+ );
211
+
212
+ // src/components/Chip/Chip.tsx
213
+ import clsx4 from "clsx";
214
+ import { forwardRef as forwardRef6 } from "react";
215
+ import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
216
+ var Chip = forwardRef6(
217
+ (_a, ref) => {
218
+ var _b = _a, { as: Component = "div", children, className, variant, color, size } = _b, rest = __objRest(_b, ["as", "children", "className", "variant", "color", "size"]);
219
+ return /* @__PURE__ */ jsxs6(
220
+ Component,
221
+ __spreadProps(__spreadValues({
222
+ ref,
223
+ className: clsx4(
224
+ `${PREFIX_CLS}chip`,
225
+ {
226
+ [`${PREFIX_CLS}chip--${variant}`]: variant,
227
+ [`${PREFIX_CLS}chip--${color}`]: color,
228
+ [`${PREFIX_CLS}chip--${size}`]: size
229
+ },
230
+ className
231
+ )
232
+ }, rest), {
233
+ children: [
234
+ /* @__PURE__ */ jsx6("div", { className: clsx4(`${PREFIX_CLS}overlay`) }),
235
+ /* @__PURE__ */ jsx6("div", { className: `${PREFIX_CLS}outline` }),
236
+ children
237
+ ]
238
+ })
239
+ );
240
+ }
241
+ );
242
+ var Chip_default = Chip;
243
+
244
+ // src/components/Collapse/Collapse.tsx
245
+ import { Children as Children2, useEffect, useRef, useState } from "react";
246
+
247
+ // src/components/Collapse/CollapseContext.tsx
248
+ import { createContext, useContext } from "react";
249
+ var CollapseContext = createContext(null);
250
+ var useCollapse = () => {
251
+ const context = useContext(CollapseContext);
252
+ if (!context) {
253
+ throw new Error("`useCollapse` must be used within a `<Collapse />`");
254
+ }
255
+ return context;
256
+ };
257
+ var CollapseContext_default = CollapseContext;
258
+
259
+ // src/components/Collapse/Collapse.tsx
260
+ import { jsxs as jsxs7 } from "react/jsx-runtime";
261
+ var Collapse = ({ children, isOpen, onOpen, onClose, onToggle }) => {
262
+ const collapseRef = useRef(null);
263
+ const [selfIsOpen, setSelfIsOpen] = useState(isOpen != null ? isOpen : false);
264
+ const [heightAuto, setHeightAuto] = useState(false);
265
+ const [trigger, content] = Children2.toArray(children);
266
+ const handleOpen = () => {
267
+ setSelfIsOpen(true);
268
+ onOpen == null ? void 0 : onOpen();
269
+ };
270
+ const handleClose = () => {
271
+ setSelfIsOpen(false);
272
+ onClose == null ? void 0 : onClose();
273
+ };
274
+ const handleToggle = () => {
275
+ setSelfIsOpen((prevState) => !prevState);
276
+ onToggle == null ? void 0 : onToggle();
277
+ };
278
+ useEffect(() => {
279
+ if (isOpen !== void 0) {
280
+ setSelfIsOpen(isOpen);
281
+ }
282
+ setTimeout(() => {
283
+ if (isOpen) {
284
+ setHeightAuto(true);
285
+ } else {
286
+ setHeightAuto(false);
287
+ }
288
+ }, 100);
289
+ }, [isOpen]);
290
+ return /* @__PURE__ */ jsxs7(
291
+ CollapseContext_default.Provider,
292
+ {
293
+ value: {
294
+ collapseRef,
295
+ isOpen: selfIsOpen,
296
+ heightAuto,
297
+ onOpen: handleOpen,
298
+ onClose: handleClose,
299
+ onToggle: handleToggle
300
+ },
301
+ children: [
302
+ trigger,
303
+ content
304
+ ]
305
+ }
306
+ );
307
+ };
308
+ var Collapse_default = Collapse;
309
+
310
+ // src/components/Collapse/CollapseContent.tsx
311
+ import clsx5 from "clsx";
312
+ import { Children as Children3, cloneElement as cloneElement2, forwardRef as forwardRef7 } from "react";
313
+ var CollapseContent = forwardRef7(({ children }, ref) => {
314
+ var _a, _b;
315
+ const { collapseRef, isOpen, heightAuto } = useCollapse();
316
+ const child = Children3.only(children);
317
+ return cloneElement2(child, __spreadProps(__spreadValues({}, child.props), {
318
+ ref: (node) => {
319
+ collapseRef.current = node;
320
+ if (ref !== null) {
321
+ ref.current = node;
322
+ }
323
+ },
324
+ style: __spreadProps(__spreadValues({}, child.props.style), {
325
+ height: isOpen && heightAuto ? "auto" : isOpen ? (_a = collapseRef.current) == null ? void 0 : _a.scrollHeight : !isOpen && heightAuto ? (_b = collapseRef.current) == null ? void 0 : _b.scrollHeight : 0
326
+ }),
327
+ className: clsx5(`${PREFIX_CLS}collapse`, child.props.className)
328
+ }));
329
+ });
330
+ var CollapseContent_default = CollapseContent;
331
+
332
+ // src/components/Collapse/CollapseTrigger.tsx
333
+ import { Children as Children4, cloneElement as cloneElement3, forwardRef as forwardRef8 } from "react";
334
+ var CollapseTrigger = forwardRef8(({ children }, ref) => {
335
+ const { collapseRef, onToggle } = useCollapse();
336
+ const child = Children4.only(children);
337
+ return cloneElement3(child, __spreadValues({
338
+ ref,
339
+ onClick: (event) => {
340
+ var _a, _b;
341
+ if (!collapseRef.current) {
342
+ return;
343
+ }
344
+ onToggle();
345
+ (_b = (_a = child.props).onClick) == null ? void 0 : _b.call(_a, event);
346
+ }
347
+ }, child.props));
348
+ });
349
+ var CollapseTrigger_default = CollapseTrigger;
350
+
351
+ // src/components/Menu/Menu.tsx
352
+ import clsx9 from "clsx";
353
+ import { useEffect as useEffect3, useMemo as useMemo3, useState as useState2 } from "react";
354
+
355
+ // src/components/Menu/MenuContext.tsx
356
+ import { createContext as createContext2, useContext as useContext2 } from "react";
357
+ var MenuContext = createContext2(null);
358
+ var useMenu = () => {
359
+ const context = useContext2(MenuContext);
360
+ if (!context) {
361
+ throw new Error("`useMenu` must be used within a `<Menu />`");
362
+ }
363
+ return context;
364
+ };
365
+ var MenuContext_default = MenuContext;
366
+
367
+ // src/components/Menu/MenuGroup.tsx
368
+ import clsx8 from "clsx";
369
+ import { useMemo as useMemo2 } from "react";
370
+
371
+ // src/components/Menu/MenuItem.tsx
372
+ import clsx6 from "clsx";
373
+ import { forwardRef as forwardRef9, useContext as useContext4, useEffect as useEffect2 } from "react";
374
+
375
+ // src/components/Menu/MenuValueContext.tsx
376
+ import { createContext as createContext3, useContext as useContext3 } from "react";
377
+ var MenuValueContext = createContext3([]);
378
+ var useMenuItemValue = () => {
379
+ const context = useContext3(MenuValueContext);
380
+ if (!context) {
381
+ throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");
382
+ }
383
+ return context;
384
+ };
385
+ var MenuValueContext_default = MenuValueContext;
386
+
387
+ // src/components/Menu/MenuItem.tsx
388
+ import { jsx as jsx7, jsxs as jsxs8 } from "react/jsx-runtime";
389
+ var MenuItem = forwardRef9((props, ref) => {
390
+ const _a = props, { as: Component = "div", className, style, value, title, icon, level = 1, disabled, onClick } = _a, rest = __objRest(_a, ["as", "className", "style", "value", "title", "icon", "level", "disabled", "onClick"]);
391
+ const { value: menuValue, originalValue, navMode, onChange, onOpen, onItemSelect } = useMenu();
392
+ const values = useContext4(MenuValueContext_default);
393
+ const mergedValues = [...values, value];
394
+ const handleClick = (event) => {
395
+ if (value !== void 0) {
396
+ onChange(mergedValues);
397
+ }
398
+ onClick == null ? void 0 : onClick(event);
399
+ onItemSelect == null ? void 0 : onItemSelect(props);
400
+ };
401
+ useEffect2(() => {
402
+ if (navMode === "automatic" && originalValue.length > 0 && originalValue[originalValue.length - 1] === value) {
403
+ onOpen(values);
404
+ onChange(mergedValues);
405
+ }
406
+ }, [value, originalValue, navMode]);
407
+ return /* @__PURE__ */ jsxs8(
408
+ Component,
409
+ __spreadProps(__spreadValues({
410
+ ref,
411
+ className: clsx6(
412
+ `${PREFIX_CLS}menu-item`,
413
+ {
414
+ [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value),
415
+ [`${PREFIX_CLS}menu-item--disabled`]: disabled
416
+ },
417
+ className
418
+ ),
419
+ style: __spreadValues({
420
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
421
+ }, style),
422
+ onClick: handleClick
423
+ }, rest), {
424
+ children: [
425
+ /* @__PURE__ */ jsx7("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx7("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
426
+ icon && /* @__PURE__ */ jsx7("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
427
+ /* @__PURE__ */ jsx7("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx7("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
428
+ ]
429
+ })
430
+ );
431
+ });
432
+ MenuItem.displayName = "MenuItem";
433
+ var MenuItem_default = MenuItem;
434
+
435
+ // src/components/Menu/MenuSubmenu.tsx
436
+ import clsx7 from "clsx";
437
+ import { useContext as useContext5, useMemo } from "react";
438
+
439
+ // src/components/Menu/utils.ts
440
+ var getOpenValuesByPathname = (pathname) => {
441
+ return pathname.split("/").reduce((previousValue, currentValue) => {
442
+ const previousPath = previousValue[previousValue.length - 1];
443
+ if (previousPath != void 0) {
444
+ previousValue.push(previousPath + "/" + currentValue);
445
+ } else {
446
+ previousValue.push("");
447
+ }
448
+ return previousValue;
449
+ }, []);
450
+ };
451
+ var addOrRemoveValueInArray = (array, value) => {
452
+ const index = array.indexOf(value);
453
+ const newArray = [...array];
454
+ if (index === -1) {
455
+ newArray.push(value);
456
+ } else {
457
+ newArray.splice(index, 1);
458
+ }
459
+ return newArray;
460
+ };
461
+
462
+ // src/components/Menu/MenuSubmenu.tsx
463
+ import { jsx as jsx8, jsxs as jsxs9 } from "react/jsx-runtime";
464
+ var MenuSubmenu = (_a) => {
465
+ var _b = _a, {
466
+ children,
467
+ className,
468
+ style,
469
+ value,
470
+ title,
471
+ icon,
472
+ level = 1,
473
+ items,
474
+ onClick
475
+ } = _b, rest = __objRest(_b, [
476
+ "children",
477
+ "className",
478
+ "style",
479
+ "value",
480
+ "title",
481
+ "icon",
482
+ "level",
483
+ "items",
484
+ "onClick"
485
+ ]);
486
+ const { value: menuValue, openValues, expandMode, onOpen } = useMenu();
487
+ const values = useContext5(MenuValueContext_default);
488
+ const isOpen = openValues.includes(value);
489
+ const mergedValues = [...values, value];
490
+ const content = useMemo(() => {
491
+ return items == null ? void 0 : items.map((_a2, index) => {
492
+ var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
493
+ return type === "item" ? /* @__PURE__ */ jsx8(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ jsx8(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ jsx8(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ jsx8(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
494
+ });
495
+ }, [items]);
496
+ const handleClick = (event) => {
497
+ if (expandMode === "multiple") {
498
+ const updatedOpenValues = addOrRemoveValueInArray(openValues, value);
499
+ onOpen(updatedOpenValues);
500
+ } else {
501
+ if (isOpen) {
502
+ const updatedOpenValues = addOrRemoveValueInArray(mergedValues, value);
503
+ onOpen(updatedOpenValues);
504
+ } else {
505
+ const updatedOpenValues = addOrRemoveValueInArray(values, value);
506
+ onOpen(updatedOpenValues);
507
+ }
508
+ }
509
+ onClick == null ? void 0 : onClick(event);
510
+ };
511
+ return /* @__PURE__ */ jsx8(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ jsx8("div", { className: clsx7(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ jsxs9(Collapse_default, { isOpen, children: [
512
+ /* @__PURE__ */ jsx8(CollapseTrigger_default, { children: /* @__PURE__ */ jsxs9(
513
+ "div",
514
+ __spreadProps(__spreadValues({
515
+ className: clsx7(
516
+ `${PREFIX_CLS}menu-item`,
517
+ {
518
+ [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value) || items && mergedValues.includes(menuValue)
519
+ },
520
+ className
521
+ ),
522
+ style: __spreadValues({
523
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
524
+ }, style),
525
+ onClick: handleClick
526
+ }, rest), {
527
+ children: [
528
+ /* @__PURE__ */ jsx8("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx8("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
529
+ icon && /* @__PURE__ */ jsx8("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
530
+ /* @__PURE__ */ jsx8("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx8("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
531
+ /* @__PURE__ */ jsx8("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ jsx8(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ jsx8(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
532
+ ]
533
+ })
534
+ ) }),
535
+ /* @__PURE__ */ jsx8(CollapseContent_default, { children: /* @__PURE__ */ jsx8(
536
+ "ul",
537
+ {
538
+ className: clsx7(`${PREFIX_CLS}menu`, {
539
+ [`${PREFIX_CLS}menu-open`]: !isOpen
540
+ }),
541
+ children: content || children
542
+ }
543
+ ) })
544
+ ] }) }) });
545
+ };
546
+ var MenuSubmenu_default = MenuSubmenu;
547
+
548
+ // src/components/Menu/MenuGroup.tsx
549
+ import { Fragment, jsx as jsx9, jsxs as jsxs10 } from "react/jsx-runtime";
550
+ var MenuGroup = (_a) => {
551
+ var _b = _a, {
552
+ children,
553
+ className,
554
+ style,
555
+ title,
556
+ icon,
557
+ level = 1,
558
+ items
559
+ } = _b, rest = __objRest(_b, [
560
+ "children",
561
+ "className",
562
+ "style",
563
+ "title",
564
+ "icon",
565
+ "level",
566
+ "items"
567
+ ]);
568
+ const content = useMemo2(() => {
569
+ return items == null ? void 0 : items.map((_a2, index) => {
570
+ var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
571
+ return type === "item" ? /* @__PURE__ */ jsx9(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx9(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx9(MenuItem_default, __spreadValues({}, item), index);
572
+ });
573
+ }, [items]);
574
+ return /* @__PURE__ */ jsxs10(Fragment, { children: [
575
+ /* @__PURE__ */ jsxs10(
576
+ "div",
577
+ __spreadProps(__spreadValues({
578
+ className: clsx8(`${PREFIX_CLS}menu-group`, className),
579
+ style: __spreadValues({
580
+ paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-group-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-group-padding-level))`
581
+ }, style)
582
+ }, rest), {
583
+ children: [
584
+ icon && /* @__PURE__ */ jsx9("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
585
+ /* @__PURE__ */ jsx9("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ jsx9("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
586
+ ]
587
+ })
588
+ ),
589
+ content || children
590
+ ] });
591
+ };
592
+ var MenuGroup_default = MenuGroup;
593
+
594
+ // src/components/Menu/Menu.tsx
595
+ import { jsx as jsx10 } from "react/jsx-runtime";
596
+ var Menu = (_a) => {
597
+ var _b = _a, {
598
+ children,
599
+ value: valueProp = [],
600
+ defaultValue,
601
+ openValues: openValuesProp,
602
+ expandMode = "multiple",
603
+ navMode = "manual",
604
+ items,
605
+ onChange,
606
+ onOpen,
607
+ onItemSelect
608
+ } = _b, rest = __objRest(_b, [
609
+ "children",
610
+ "value",
611
+ "defaultValue",
612
+ "openValues",
613
+ "expandMode",
614
+ "navMode",
615
+ "items",
616
+ "onChange",
617
+ "onOpen",
618
+ "onItemSelect"
619
+ ]);
620
+ var _a2;
621
+ const [selfValue, setSelfValue] = useState2((_a2 = valueProp != null ? valueProp : defaultValue) != null ? _a2 : []);
622
+ const [selfOpenValues, setSelfOpenValues] = useState2(openValuesProp != null ? openValuesProp : []);
623
+ const content = useMemo3(() => {
624
+ return items == null ? void 0 : items.map((_a3, index) => {
625
+ var _b2 = _a3, { type } = _b2, item = __objRest(_b2, ["type"]);
626
+ return type === "item" ? /* @__PURE__ */ jsx10(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx10(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ jsx10(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx10(MenuItem_default, __spreadValues({}, item), index);
627
+ });
628
+ }, [items]);
629
+ const handleChange = (value) => {
630
+ if (valueProp !== void 0 && navMode !== "automatic") {
631
+ onChange == null ? void 0 : onChange(value);
632
+ } else {
633
+ setSelfValue(value);
634
+ }
635
+ };
636
+ const handleOpen = (values) => {
637
+ if (openValuesProp !== void 0) {
638
+ onOpen == null ? void 0 : onOpen(values);
639
+ } else {
640
+ setSelfOpenValues(values);
641
+ }
642
+ };
643
+ const handleItemSelect = (props) => {
644
+ onItemSelect == null ? void 0 : onItemSelect(props);
645
+ };
646
+ useEffect3(() => {
647
+ if (valueProp !== void 0 && navMode !== "automatic") {
648
+ setSelfValue(valueProp);
649
+ }
650
+ }, [valueProp]);
651
+ useEffect3(() => {
652
+ if (openValuesProp !== void 0) {
653
+ setSelfOpenValues(openValuesProp);
654
+ }
655
+ }, [openValuesProp]);
656
+ return /* @__PURE__ */ jsx10(
657
+ MenuContext_default.Provider,
658
+ {
659
+ value: {
660
+ value: selfValue,
661
+ originalValue: valueProp,
662
+ openValues: selfOpenValues,
663
+ expandMode,
664
+ navMode,
665
+ onOpen: handleOpen,
666
+ onChange: handleChange,
667
+ onItemSelect: handleItemSelect
668
+ },
669
+ children: /* @__PURE__ */ jsx10("div", __spreadProps(__spreadValues({ className: clsx9(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
670
+ }
671
+ );
672
+ };
673
+ Menu.displayName = "Menu";
674
+ var Menu_default = Menu;
675
+
676
+ // src/components/Tabs/Tab.tsx
677
+ import clsx10 from "clsx";
678
+ import mergeRefs from "merge-refs";
679
+ import { forwardRef as forwardRef10, useEffect as useEffect4, useId, useRef as useRef2 } from "react";
680
+
681
+ // ../../../node_modules/react-icons/lib/esm/iconBase.js
682
+ import React3 from "react";
683
+
684
+ // ../../../node_modules/react-icons/lib/esm/iconContext.js
685
+ import React2 from "react";
686
+ var DefaultContext = {
687
+ color: void 0,
688
+ size: void 0,
689
+ className: void 0,
690
+ style: void 0,
691
+ attr: void 0
692
+ };
693
+ var IconContext = React2.createContext && React2.createContext(DefaultContext);
694
+
695
+ // ../../../node_modules/react-icons/lib/esm/iconBase.js
696
+ var __assign = function() {
697
+ __assign = Object.assign || function(t) {
698
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
699
+ s = arguments[i];
700
+ for (var p in s)
701
+ if (Object.prototype.hasOwnProperty.call(s, p))
702
+ t[p] = s[p];
703
+ }
704
+ return t;
705
+ };
706
+ return __assign.apply(this, arguments);
707
+ };
708
+ var __rest = function(s, e) {
709
+ var t = {};
710
+ for (var p in s)
711
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
712
+ t[p] = s[p];
713
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
714
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
715
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
716
+ t[p[i]] = s[p[i]];
717
+ }
718
+ return t;
719
+ };
720
+ function Tree2Element(tree) {
721
+ return tree && tree.map(function(node, i) {
722
+ return React3.createElement(node.tag, __assign({
723
+ key: i
724
+ }, node.attr), Tree2Element(node.child));
725
+ });
726
+ }
727
+ function GenIcon(data) {
728
+ return function(props) {
729
+ return React3.createElement(IconBase, __assign({
730
+ attr: __assign({}, data.attr)
731
+ }, props), Tree2Element(data.child));
732
+ };
733
+ }
734
+ function IconBase(props) {
735
+ var elem = function(conf) {
736
+ var attr = props.attr, size = props.size, title = props.title, svgProps = __rest(props, ["attr", "size", "title"]);
737
+ var computedSize = size || conf.size || "1em";
738
+ var className;
739
+ if (conf.className)
740
+ className = conf.className;
741
+ if (props.className)
742
+ className = (className ? className + " " : "") + props.className;
743
+ return React3.createElement("svg", __assign({
744
+ stroke: "currentColor",
745
+ fill: "currentColor",
746
+ strokeWidth: "0"
747
+ }, conf.attr, attr, svgProps, {
748
+ className,
749
+ style: __assign(__assign({
750
+ color: props.color || conf.color
751
+ }, conf.style), props.style),
752
+ height: computedSize,
753
+ width: computedSize,
754
+ xmlns: "http://www.w3.org/2000/svg"
755
+ }), title && React3.createElement("title", null, title), props.children);
756
+ };
757
+ return IconContext !== void 0 ? React3.createElement(IconContext.Consumer, null, function(conf) {
758
+ return elem(conf);
759
+ }) : elem(DefaultContext);
760
+ }
761
+
762
+ // ../../../node_modules/react-icons/tb/index.esm.js
763
+ function TbX(props) {
764
+ return GenIcon({ "tag": "svg", "attr": { "viewBox": "0 0 24 24", "strokeWidth": "2", "stroke": "currentColor", "fill": "none", "strokeLinecap": "round", "strokeLinejoin": "round" }, "child": [{ "tag": "path", "attr": { "stroke": "none", "d": "M0 0h24v24H0z", "fill": "none" } }, { "tag": "path", "attr": { "d": "M18 6l-12 12" } }, { "tag": "path", "attr": { "d": "M6 6l12 12" } }] })(props);
765
+ }
766
+
767
+ // src/components/Tabs/TabsContext.ts
768
+ import { createContext as createContext4, useContext as useContext6 } from "react";
769
+ var TabsContext = createContext4(null);
770
+ var useTabs = () => {
771
+ const context = useContext6(TabsContext);
772
+ if (!context) {
773
+ throw new Error("`useTabs` must be used within a `<Tabs />`");
774
+ }
775
+ return context;
776
+ };
777
+
778
+ // src/components/Tabs/Tab.tsx
779
+ import { jsx as jsx11, jsxs as jsxs11 } from "react/jsx-runtime";
780
+ var Tab = forwardRef10(
781
+ (_a, ref) => {
782
+ var _b = _a, {
783
+ as: Component = "div",
784
+ children,
785
+ className,
786
+ role = "presentation",
787
+ value: valueProp,
788
+ closable,
789
+ disabled,
790
+ onClick
791
+ } = _b, rest = __objRest(_b, [
792
+ "as",
793
+ "children",
794
+ "className",
795
+ "role",
796
+ "value",
797
+ "closable",
798
+ "disabled",
799
+ "onClick"
800
+ ]);
801
+ const tabRef = useRef2(null);
802
+ const id = useId();
803
+ const value = valueProp != null ? valueProp : id;
804
+ const _a2 = useTabs(), { onClose, registerItem } = _a2, tabs = __objRest(_a2, ["onClose", "registerItem"]);
805
+ const handleClick = (event) => {
806
+ const previousTab = tabs.previousTabRef.current;
807
+ const currentTab = tabRef.current;
808
+ if (!currentTab)
809
+ return;
810
+ if (previousTab) {
811
+ const previousIndicator = previousTab.querySelector(`.${PREFIX_CLS}tab__indicator`);
812
+ const currentIndicator = currentTab.querySelector(`.${PREFIX_CLS}tab__indicator`);
813
+ if (!previousIndicator || !currentIndicator)
814
+ return;
815
+ const from = {};
816
+ const fromRect = previousIndicator.getBoundingClientRect();
817
+ const fromPos = fromRect.left;
818
+ const fromWidth = fromRect.width;
819
+ const toRect = currentIndicator.getBoundingClientRect();
820
+ const toPos = toRect.left;
821
+ const toWidth = toRect.width;
822
+ const scale = fromWidth / toWidth;
823
+ if (scale) {
824
+ from["transform"] = `translateX(${(fromPos - toPos).toFixed(4)}px) scaleX(${scale.toFixed(4)})`;
825
+ } else {
826
+ from["opacity"] = 0;
827
+ }
828
+ const keyframes = [from, { transform: "none" }];
829
+ currentIndicator.animate(keyframes, {
830
+ duration: 250,
831
+ easing: "cubic-bezier(.3,0,0,1)"
832
+ });
833
+ tabs.previousTabRef.current = tabRef.current;
834
+ }
835
+ tabs.previousTabRef.current = tabRef.current;
836
+ tabs.onChange(value);
837
+ onClick == null ? void 0 : onClick(event);
838
+ };
839
+ const handleClose = (event) => {
840
+ event.stopPropagation();
841
+ onClose(value);
842
+ };
843
+ useEffect4(() => {
844
+ registerItem({ value, disabled });
845
+ if (value === tabs.value) {
846
+ tabs.previousTabRef.current = tabRef.current;
847
+ }
848
+ }, [value, tabs.value]);
849
+ return /* @__PURE__ */ jsxs11(
850
+ Component,
851
+ __spreadProps(__spreadValues({
852
+ ref: mergeRefs(tabRef, ref, (el) => tabs.tabRefs.current[value] = el),
853
+ className: clsx10(
854
+ `${PREFIX_CLS}tab`,
855
+ { [`${PREFIX_CLS}tab--selected`]: value === tabs.value, [`${PREFIX_CLS}tab--disabled`]: disabled },
856
+ className
857
+ ),
858
+ role,
859
+ onClick: handleClick
860
+ }, rest), {
861
+ children: [
862
+ /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
863
+ /* @__PURE__ */ jsxs11("div", { className: `${PREFIX_CLS}tab__content`, children: [
864
+ children,
865
+ closable && /* @__PURE__ */ jsx11(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ jsx11(Icon_default, { children: /* @__PURE__ */ jsx11(TbX, {}) }) })
866
+ ] }),
867
+ /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}tab__indicator` })
868
+ ]
869
+ })
870
+ );
871
+ }
872
+ );
873
+
874
+ // src/components/Tabs/Tabs.tsx
875
+ import clsx11 from "clsx";
876
+ import { useEffect as useEffect5, useRef as useRef3, useState as useState3 } from "react";
877
+
878
+ // src/utils/scroll.ts
879
+ var scrollToItem = (parentElement, currentElement) => {
880
+ const parentRect = parentElement.getBoundingClientRect();
881
+ const currentRect = currentElement.getBoundingClientRect();
882
+ const behavior = "smooth";
883
+ const previousElement = currentElement.previousSibling;
884
+ const previousRect = (previousElement == null ? void 0 : previousElement.getBoundingClientRect()) || currentRect;
885
+ if (parentRect.left > previousRect.left) {
886
+ let offset = 0;
887
+ if (previousElement) {
888
+ offset = previousRect.left - parentRect.left + parentElement.scrollLeft + previousRect.width / 4;
889
+ }
890
+ parentElement.scrollTo({ behavior, left: offset });
891
+ }
892
+ const nextElement = currentElement.nextSibling;
893
+ const nextRect = (nextElement == null ? void 0 : nextElement.getBoundingClientRect()) || currentRect;
894
+ if (parentRect.right < nextRect.right) {
895
+ let offset = parentElement.scrollWidth;
896
+ if (nextElement) {
897
+ offset = nextRect.right - parentRect.right + parentElement.scrollLeft - nextRect.width / 4;
898
+ }
899
+ parentElement.scrollTo({ behavior, left: offset });
900
+ }
901
+ };
902
+
903
+ // src/components/Tabs/Tabs.tsx
904
+ import { jsx as jsx12, jsxs as jsxs12 } from "react/jsx-runtime";
905
+ var Tabs = (_a) => {
906
+ var _b = _a, {
907
+ children,
908
+ className,
909
+ value,
910
+ defaultValue,
911
+ alignment = "start",
912
+ onChange,
913
+ onClose
914
+ } = _b, rest = __objRest(_b, [
915
+ "children",
916
+ "className",
917
+ "value",
918
+ "defaultValue",
919
+ "alignment",
920
+ "onChange",
921
+ "onClose"
922
+ ]);
923
+ const tabsRef = useRef3(null);
924
+ const tabRefs = useRef3({});
925
+ const previousTabRef = useRef3(null);
926
+ const [selfValue, setSelfValue] = useState3(value != null ? value : defaultValue);
927
+ const [items, setItems] = useState3([]);
928
+ const registerItem = (item) => {
929
+ setItems((prevItems) => {
930
+ const index = prevItems.findIndex((item2) => item2.value);
931
+ if (index === -1) {
932
+ prevItems.push(item);
933
+ }
934
+ return prevItems;
935
+ });
936
+ };
937
+ const scrollToTab = (value2) => {
938
+ const tabsEl = tabsRef.current;
939
+ if (!tabsEl)
940
+ return;
941
+ const currentTabEl = tabRefs.current[value2];
942
+ if (!currentTabEl)
943
+ return;
944
+ scrollToItem(tabsEl, currentTabEl);
945
+ };
946
+ const handleChange = (value2) => {
947
+ setSelfValue(value2);
948
+ onChange == null ? void 0 : onChange(value2);
949
+ scrollToTab(value2);
950
+ };
951
+ const handleClose = (value2) => {
952
+ onClose == null ? void 0 : onClose(value2);
953
+ };
954
+ useEffect5(() => {
955
+ if (value !== void 0) {
956
+ setSelfValue(value);
957
+ scrollToTab(value);
958
+ }
959
+ }, [value]);
960
+ useEffect5(() => {
961
+ if (value === void 0) {
962
+ const item = items.find((tab) => !tab.disabled);
963
+ setSelfValue(item == null ? void 0 : item.value);
964
+ }
965
+ }, [value, items]);
966
+ return /* @__PURE__ */ jsxs12(
967
+ TabsContext.Provider,
968
+ {
969
+ value: { previousTabRef, tabRefs, value: selfValue, onChange: handleChange, onClose: handleClose, registerItem },
970
+ children: [
971
+ /* @__PURE__ */ jsx12(
972
+ "div",
973
+ __spreadProps(__spreadValues({
974
+ ref: tabsRef,
975
+ className: clsx11(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
976
+ }, rest), {
977
+ children
978
+ })
979
+ ),
980
+ /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}divider` })
981
+ ]
982
+ }
983
+ );
984
+ };
985
+
986
+ // src/hooks/useLocalStorage.tsx
987
+ import { useCallback, useEffect as useEffect7, useState as useState4 } from "react";
988
+
989
+ // src/hooks/useEventListener.tsx
990
+ import { useRef as useRef4 } from "react";
991
+
992
+ // src/hooks/useIsomorphicLayoutEffect.tsx
993
+ import { useEffect as useEffect6, useLayoutEffect } from "react";
994
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect6;
995
+ var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
996
+
997
+ // src/hooks/useEventListener.tsx
998
+ function useEventListener(handler) {
999
+ const savedHandler = useRef4(handler);
1000
+ useIsomorphicLayoutEffect_default(() => {
1001
+ savedHandler.current = handler;
1002
+ }, [handler]);
1003
+ }
1004
+ var useEventListener_default = useEventListener;
1005
+
1006
+ // src/hooks/useLocalStorage.tsx
1007
+ function useLocalStorage(key, initialValue) {
1008
+ const readValue = useCallback(() => {
1009
+ if (typeof window === "undefined") {
1010
+ return initialValue;
1011
+ }
1012
+ try {
1013
+ const item = window.localStorage.getItem(key);
1014
+ return item ? parseJSON(item) : initialValue;
1015
+ } catch (error) {
1016
+ console.warn(`Error reading localStorage key \u201C${key}\u201D:`, error);
1017
+ return initialValue;
1018
+ }
1019
+ }, [initialValue, key]);
1020
+ const [storedValue, setStoredValue] = useState4(readValue);
1021
+ const setValue = useCallback(
1022
+ (value) => {
1023
+ if (typeof window == "undefined") {
1024
+ console.warn(`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`);
1025
+ }
1026
+ try {
1027
+ const newValue = value instanceof Function ? value(storedValue) : value;
1028
+ window.localStorage.setItem(key, JSON.stringify(newValue));
1029
+ setStoredValue(newValue);
1030
+ window.dispatchEvent(new Event("local-storage"));
1031
+ } catch (error) {
1032
+ console.warn(`Error setting localStorage key \u201C${key}\u201D:`, error);
1033
+ }
1034
+ },
1035
+ [key, storedValue]
1036
+ );
1037
+ useEffect7(() => {
1038
+ setStoredValue(readValue());
1039
+ }, []);
1040
+ const handleStorageChange = useCallback(() => {
1041
+ setStoredValue(readValue());
1042
+ }, [readValue]);
1043
+ useEventListener_default("storage", handleStorageChange);
1044
+ useEventListener_default("local-storage", handleStorageChange);
1045
+ return [storedValue, setValue];
1046
+ }
1047
+ function parseJSON(value) {
1048
+ try {
1049
+ return value === "undefined" ? void 0 : JSON.parse(value != null ? value : "");
1050
+ } catch (e) {
1051
+ console.log("parsing error on", { value });
1052
+ return void 0;
1053
+ }
1054
+ }
1055
+
1056
+ // src/hooks/usePrevious.tsx
1057
+ import { useEffect as useEffect8, useRef as useRef5 } from "react";
1058
+ var usePrevious = (value) => {
1059
+ const ref = useRef5();
1060
+ useEffect8(() => {
1061
+ ref.current = value;
1062
+ });
1063
+ return ref.current;
1064
+ };
1065
+
1066
+ // src/hooks/useStep.tsx
1067
+ import { useCallback as useCallback2, useMemo as useMemo4, useState as useState5 } from "react";
1068
+ var useStep = (maxStep) => {
1069
+ const [currentStep, setCurrentStep] = useState5(1);
1070
+ const canGoToNextStep = useMemo4(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
1071
+ const canGoToPrevStep = useMemo4(() => currentStep - 1 >= 1, [currentStep]);
1072
+ const setStep = useCallback2(
1073
+ (step) => {
1074
+ const newStep = step instanceof Function ? step(currentStep) : step;
1075
+ if (newStep >= 1 && newStep <= maxStep) {
1076
+ setCurrentStep(newStep);
1077
+ return;
1078
+ }
1079
+ throw new Error("Step not valid");
1080
+ },
1081
+ [maxStep, currentStep]
1082
+ );
1083
+ const goToNextStep = useCallback2(() => {
1084
+ if (canGoToNextStep) {
1085
+ setCurrentStep((step) => step + 1);
1086
+ }
1087
+ }, [canGoToNextStep]);
1088
+ const goToPrevStep = useCallback2(() => {
1089
+ if (canGoToPrevStep) {
1090
+ setCurrentStep((step) => step - 1);
1091
+ }
1092
+ }, [canGoToPrevStep]);
1093
+ const reset = useCallback2(() => {
1094
+ setCurrentStep(1);
1095
+ }, []);
1096
+ return [
1097
+ currentStep,
1098
+ {
1099
+ goToNextStep,
1100
+ goToPrevStep,
1101
+ canGoToNextStep,
1102
+ canGoToPrevStep,
1103
+ setStep,
1104
+ reset
1105
+ }
1106
+ ];
1107
+ };
1108
+ export {
1109
+ Badge_default as Badge,
1110
+ Button,
1111
+ Chip_default as Chip,
1112
+ Collapse_default as Collapse,
1113
+ CollapseContent_default as CollapseContent,
1114
+ CollapseContext_default as CollapseContext,
1115
+ CollapseTrigger_default as CollapseTrigger,
1116
+ Icon_default as Icon,
1117
+ Menu_default as Menu,
1118
+ MenuContext_default as MenuContext,
1119
+ MenuGroup_default as MenuGroup,
1120
+ MenuItem_default as MenuItem,
1121
+ MenuSubmenu_default as MenuSubmenu,
1122
+ MenuValueContext_default as MenuValueContext,
1123
+ Tab,
1124
+ Tabs,
1125
+ getOpenValuesByPathname,
1126
+ useCollapse,
1127
+ useLocalStorage,
1128
+ useMenu,
1129
+ useMenuItemValue,
1130
+ usePrevious,
1131
+ useStep
1132
+ };