@unifiedsoftware/react-ui 1.0.12 → 1.0.14

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.d.mts CHANGED
@@ -125,6 +125,18 @@ interface CollapseTriggerProps {
125
125
  }
126
126
  declare const CollapseTrigger: react__default.FC<CollapseTriggerProps>;
127
127
 
128
+ type DrawerSize = 'sm' | 'md' | 'lg';
129
+ type DrawerPosition = 'top' | 'left' | 'right' | 'bottom';
130
+
131
+ interface DrawerProps extends React.HTMLAttributes<HTMLDivElement> {
132
+ isOpen: boolean;
133
+ size?: DrawerSize;
134
+ position?: DrawerPosition;
135
+ onClose: () => void;
136
+ onAfterClose?: () => void;
137
+ }
138
+ declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<HTMLDivElement>>;
139
+
128
140
  interface IconProps {
129
141
  children: React.ReactNode;
130
142
  color?: 'primary' | 'secondary';
@@ -364,4 +376,4 @@ interface Helpers {
364
376
  */
365
377
  declare const useStep: (maxStep: number) => [number, Helpers];
366
378
 
367
- export { Backdrop, BackdropProps, Badge, BadgeProps, Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, Chip, ChipProps, Collapse, CollapseContent, CollapseContentProps, CollapseContext, CollapseContextValue, CollapseProps, CollapseTrigger, CollapseTriggerProps, Icon, IconProps, Menu, MenuContext, MenuContextValue, MenuGroup, MenuGroupItemType, MenuGroupProps, MenuItem, MenuItemProps, MenuItemType, MenuProps, MenuSubmenu, MenuSubmenuProps, MenuValueContext, Portal, PortalProps, Tab, TabProps, Tabs, TabsAlignmet, TabsProps, Toolbar, ToolbarProps, ToolbarSize, Transition, TransitionProps, getOpenValuesByPathname, useCollapse, useLocalStorage, useMenu, useMenuItemValue, usePrevious, useStep };
379
+ export { Backdrop, BackdropProps, Badge, BadgeProps, Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, Chip, ChipProps, Collapse, CollapseContent, CollapseContentProps, CollapseContext, CollapseContextValue, CollapseProps, CollapseTrigger, CollapseTriggerProps, Drawer, DrawerPosition, DrawerProps, DrawerSize, Icon, IconProps, Menu, MenuContext, MenuContextValue, MenuGroup, MenuGroupItemType, MenuGroupProps, MenuItem, MenuItemProps, MenuItemType, MenuProps, MenuSubmenu, MenuSubmenuProps, MenuValueContext, Portal, PortalProps, Tab, TabProps, Tabs, TabsAlignmet, TabsProps, Toolbar, ToolbarProps, ToolbarSize, Transition, TransitionProps, getOpenValuesByPathname, useCollapse, useLocalStorage, useMenu, useMenuItemValue, usePrevious, useStep };
package/dist/index.d.ts CHANGED
@@ -125,6 +125,18 @@ interface CollapseTriggerProps {
125
125
  }
126
126
  declare const CollapseTrigger: react__default.FC<CollapseTriggerProps>;
127
127
 
128
+ type DrawerSize = 'sm' | 'md' | 'lg';
129
+ type DrawerPosition = 'top' | 'left' | 'right' | 'bottom';
130
+
131
+ interface DrawerProps extends React.HTMLAttributes<HTMLDivElement> {
132
+ isOpen: boolean;
133
+ size?: DrawerSize;
134
+ position?: DrawerPosition;
135
+ onClose: () => void;
136
+ onAfterClose?: () => void;
137
+ }
138
+ declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & react.RefAttributes<HTMLDivElement>>;
139
+
128
140
  interface IconProps {
129
141
  children: React.ReactNode;
130
142
  color?: 'primary' | 'secondary';
@@ -364,4 +376,4 @@ interface Helpers {
364
376
  */
365
377
  declare const useStep: (maxStep: number) => [number, Helpers];
366
378
 
367
- export { Backdrop, BackdropProps, Badge, BadgeProps, Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, Chip, ChipProps, Collapse, CollapseContent, CollapseContentProps, CollapseContext, CollapseContextValue, CollapseProps, CollapseTrigger, CollapseTriggerProps, Icon, IconProps, Menu, MenuContext, MenuContextValue, MenuGroup, MenuGroupItemType, MenuGroupProps, MenuItem, MenuItemProps, MenuItemType, MenuProps, MenuSubmenu, MenuSubmenuProps, MenuValueContext, Portal, PortalProps, Tab, TabProps, Tabs, TabsAlignmet, TabsProps, Toolbar, ToolbarProps, ToolbarSize, Transition, TransitionProps, getOpenValuesByPathname, useCollapse, useLocalStorage, useMenu, useMenuItemValue, usePrevious, useStep };
379
+ export { Backdrop, BackdropProps, Badge, BadgeProps, Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, Chip, ChipProps, Collapse, CollapseContent, CollapseContentProps, CollapseContext, CollapseContextValue, CollapseProps, CollapseTrigger, CollapseTriggerProps, Drawer, DrawerPosition, DrawerProps, DrawerSize, Icon, IconProps, Menu, MenuContext, MenuContextValue, MenuGroup, MenuGroupItemType, MenuGroupProps, MenuItem, MenuItemProps, MenuItemType, MenuProps, MenuSubmenu, MenuSubmenuProps, MenuValueContext, Portal, PortalProps, Tab, TabProps, Tabs, TabsAlignmet, TabsProps, Toolbar, ToolbarProps, ToolbarSize, Transition, TransitionProps, getOpenValuesByPathname, useCollapse, useLocalStorage, useMenu, useMenuItemValue, usePrevious, useStep };
package/dist/index.js CHANGED
@@ -67,6 +67,7 @@ __export(src_exports, {
67
67
  CollapseContent: () => CollapseContent_default,
68
68
  CollapseContext: () => CollapseContext_default,
69
69
  CollapseTrigger: () => CollapseTrigger_default,
70
+ Drawer: () => Drawer_default,
70
71
  Icon: () => Icon_default,
71
72
  Menu: () => Menu_default,
72
73
  MenuContext: () => MenuContext_default,
@@ -208,7 +209,7 @@ var ChevronDownIcon = (0, import_react4.forwardRef)((props, ref) => {
208
209
  ref,
209
210
  stroke: "currentColor",
210
211
  fill: "currentColor",
211
- "stroke-width": "0",
212
+ strokeWidth: "0",
212
213
  viewBox: "0 0 24 24",
213
214
  height: "1em",
214
215
  width: "1em",
@@ -488,15 +489,47 @@ var CollapseTrigger = (0, import_react13.forwardRef)(({ children }, ref) => {
488
489
  });
489
490
  var CollapseTrigger_default = CollapseTrigger;
490
491
 
492
+ // src/components/Drawer/Drawer.tsx
493
+ var import_clsx8 = __toESM(require("clsx"));
494
+ var import_react14 = require("react");
495
+ var import_react_merge_refs2 = require("react-merge-refs");
496
+ var import_jsx_runtime11 = require("react/jsx-runtime");
497
+ var Drawer = (0, import_react14.forwardRef)((props, ref) => {
498
+ const { children, className, isOpen, size = "md", position = "left", onClose } = props;
499
+ const nodeRef = (0, import_react14.useRef)(null);
500
+ const handleClose = () => {
501
+ onClose();
502
+ };
503
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Backdrop_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Transition_default, { nodeRef, isOpen, name: `${PREFIX_CLS}drawer`, enter: 600, leave: 300, unmountOnExit: true, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
504
+ "div",
505
+ {
506
+ ref: (0, import_react_merge_refs2.mergeRefs)([ref, nodeRef]),
507
+ className: (0, import_clsx8.default)(
508
+ `${PREFIX_CLS}drawer`,
509
+ {
510
+ [`${PREFIX_CLS}drawer--${size}`]: size,
511
+ [`${PREFIX_CLS}drawer--${position}`]: position
512
+ },
513
+ className
514
+ ),
515
+ children: [
516
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${PREFIX_CLS}drawer__overlay` }),
517
+ children
518
+ ]
519
+ }
520
+ ) }) });
521
+ });
522
+ var Drawer_default = Drawer;
523
+
491
524
  // src/components/Menu/Menu.tsx
492
- var import_clsx11 = __toESM(require("clsx"));
493
- var import_react19 = require("react");
525
+ var import_clsx12 = __toESM(require("clsx"));
526
+ var import_react20 = require("react");
494
527
 
495
528
  // src/components/Menu/MenuContext.tsx
496
- var import_react14 = require("react");
497
- var MenuContext = (0, import_react14.createContext)(null);
529
+ var import_react15 = require("react");
530
+ var MenuContext = (0, import_react15.createContext)(null);
498
531
  var useMenu = () => {
499
- const context = (0, import_react14.useContext)(MenuContext);
532
+ const context = (0, import_react15.useContext)(MenuContext);
500
533
  if (!context) {
501
534
  throw new Error("`useMenu` must be used within a `<Menu />`");
502
535
  }
@@ -505,18 +538,18 @@ var useMenu = () => {
505
538
  var MenuContext_default = MenuContext;
506
539
 
507
540
  // src/components/Menu/MenuGroup.tsx
508
- var import_clsx10 = __toESM(require("clsx"));
509
- var import_react18 = require("react");
541
+ var import_clsx11 = __toESM(require("clsx"));
542
+ var import_react19 = require("react");
510
543
 
511
544
  // src/components/Menu/MenuItem.tsx
512
- var import_clsx8 = __toESM(require("clsx"));
513
- var import_react16 = require("react");
545
+ var import_clsx9 = __toESM(require("clsx"));
546
+ var import_react17 = require("react");
514
547
 
515
548
  // src/components/Menu/MenuValueContext.tsx
516
- var import_react15 = require("react");
517
- var MenuValueContext = (0, import_react15.createContext)([]);
549
+ var import_react16 = require("react");
550
+ var MenuValueContext = (0, import_react16.createContext)([]);
518
551
  var useMenuItemValue = () => {
519
- const context = (0, import_react15.useContext)(MenuValueContext);
552
+ const context = (0, import_react16.useContext)(MenuValueContext);
520
553
  if (!context) {
521
554
  throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");
522
555
  }
@@ -525,11 +558,11 @@ var useMenuItemValue = () => {
525
558
  var MenuValueContext_default = MenuValueContext;
526
559
 
527
560
  // src/components/Menu/MenuItem.tsx
528
- var import_jsx_runtime11 = require("react/jsx-runtime");
529
- var MenuItem = (0, import_react16.forwardRef)((props, ref) => {
561
+ var import_jsx_runtime12 = require("react/jsx-runtime");
562
+ var MenuItem = (0, import_react17.forwardRef)((props, ref) => {
530
563
  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"]);
531
564
  const { value: menuValue, originalValue, navMode, onChange, onOpen, onItemSelect } = useMenu();
532
- const values = (0, import_react16.useContext)(MenuValueContext_default);
565
+ const values = (0, import_react17.useContext)(MenuValueContext_default);
533
566
  const mergedValues = [...values, value];
534
567
  const handleClick = (event) => {
535
568
  if (value !== void 0) {
@@ -538,17 +571,17 @@ var MenuItem = (0, import_react16.forwardRef)((props, ref) => {
538
571
  onClick == null ? void 0 : onClick(event);
539
572
  onItemSelect == null ? void 0 : onItemSelect(props);
540
573
  };
541
- (0, import_react16.useEffect)(() => {
574
+ (0, import_react17.useEffect)(() => {
542
575
  if (navMode === "automatic" && originalValue.length > 0 && originalValue[originalValue.length - 1] === value) {
543
576
  onOpen(values);
544
577
  onChange(mergedValues);
545
578
  }
546
579
  }, [value, originalValue, navMode]);
547
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
580
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
548
581
  Component,
549
582
  __spreadProps(__spreadValues({
550
583
  ref,
551
- className: (0, import_clsx8.default)(
584
+ className: (0, import_clsx9.default)(
552
585
  `${PREFIX_CLS}menu-item`,
553
586
  {
554
587
  [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value),
@@ -562,9 +595,9 @@ var MenuItem = (0, import_react16.forwardRef)((props, ref) => {
562
595
  onClick: handleClick
563
596
  }, rest), {
564
597
  children: [
565
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
566
- icon && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
567
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
598
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
599
+ icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
600
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
568
601
  ]
569
602
  })
570
603
  );
@@ -573,8 +606,8 @@ MenuItem.displayName = "MenuItem";
573
606
  var MenuItem_default = MenuItem;
574
607
 
575
608
  // src/components/Menu/MenuSubmenu.tsx
576
- var import_clsx9 = __toESM(require("clsx"));
577
- var import_react17 = require("react");
609
+ var import_clsx10 = __toESM(require("clsx"));
610
+ var import_react18 = require("react");
578
611
 
579
612
  // src/components/Menu/utils.ts
580
613
  var getOpenValuesByPathname = (pathname) => {
@@ -600,7 +633,7 @@ var addOrRemoveValueInArray = (array, value) => {
600
633
  };
601
634
 
602
635
  // src/components/Menu/MenuSubmenu.tsx
603
- var import_jsx_runtime12 = require("react/jsx-runtime");
636
+ var import_jsx_runtime13 = require("react/jsx-runtime");
604
637
  var MenuSubmenu = (_a) => {
605
638
  var _b = _a, {
606
639
  children,
@@ -624,13 +657,13 @@ var MenuSubmenu = (_a) => {
624
657
  "onClick"
625
658
  ]);
626
659
  const { value: menuValue, openValues, expandMode, onOpen } = useMenu();
627
- const values = (0, import_react17.useContext)(MenuValueContext_default);
660
+ const values = (0, import_react18.useContext)(MenuValueContext_default);
628
661
  const isOpen = openValues.includes(value);
629
662
  const mergedValues = [...values, value];
630
- const content = (0, import_react17.useMemo)(() => {
663
+ const content = (0, import_react18.useMemo)(() => {
631
664
  return items == null ? void 0 : items.map((_a2, index) => {
632
665
  var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
633
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
666
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
634
667
  });
635
668
  }, [items]);
636
669
  const handleClick = (event) => {
@@ -648,11 +681,11 @@ var MenuSubmenu = (_a) => {
648
681
  }
649
682
  onClick == null ? void 0 : onClick(event);
650
683
  };
651
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: (0, import_clsx9.default)(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Collapse_default, { isOpen, children: [
652
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
684
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: (0, import_clsx10.default)(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Collapse_default, { isOpen, children: [
685
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
653
686
  "div",
654
687
  __spreadProps(__spreadValues({
655
- className: (0, import_clsx9.default)(
688
+ className: (0, import_clsx10.default)(
656
689
  `${PREFIX_CLS}menu-item`,
657
690
  {
658
691
  [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value) || items && mergedValues.includes(menuValue)
@@ -665,17 +698,17 @@ var MenuSubmenu = (_a) => {
665
698
  onClick: handleClick
666
699
  }, rest), {
667
700
  children: [
668
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
669
- icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
670
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
671
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
701
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
702
+ icon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
703
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
704
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
672
705
  ]
673
706
  })
674
707
  ) }),
675
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
708
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
676
709
  "ul",
677
710
  {
678
- className: (0, import_clsx9.default)(`${PREFIX_CLS}menu`, {
711
+ className: (0, import_clsx10.default)(`${PREFIX_CLS}menu`, {
679
712
  [`${PREFIX_CLS}menu-open`]: !isOpen
680
713
  }),
681
714
  children: content || children
@@ -686,7 +719,7 @@ var MenuSubmenu = (_a) => {
686
719
  var MenuSubmenu_default = MenuSubmenu;
687
720
 
688
721
  // src/components/Menu/MenuGroup.tsx
689
- var import_jsx_runtime13 = require("react/jsx-runtime");
722
+ var import_jsx_runtime14 = require("react/jsx-runtime");
690
723
  var MenuGroup = (_a) => {
691
724
  var _b = _a, {
692
725
  children,
@@ -705,24 +738,24 @@ var MenuGroup = (_a) => {
705
738
  "level",
706
739
  "items"
707
740
  ]);
708
- const content = (0, import_react18.useMemo)(() => {
741
+ const content = (0, import_react19.useMemo)(() => {
709
742
  return items == null ? void 0 : items.map((_a2, index) => {
710
743
  var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
711
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuItem_default, __spreadValues({}, item), index);
744
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuItem_default, __spreadValues({}, item), index);
712
745
  });
713
746
  }, [items]);
714
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
715
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
747
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
748
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
716
749
  "div",
717
750
  __spreadProps(__spreadValues({
718
- className: (0, import_clsx10.default)(`${PREFIX_CLS}menu-group`, className),
751
+ className: (0, import_clsx11.default)(`${PREFIX_CLS}menu-group`, className),
719
752
  style: __spreadValues({
720
753
  paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-group-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-group-padding-level))`
721
754
  }, style)
722
755
  }, rest), {
723
756
  children: [
724
- icon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
725
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
757
+ icon && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
758
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
726
759
  ]
727
760
  })
728
761
  ),
@@ -732,7 +765,7 @@ var MenuGroup = (_a) => {
732
765
  var MenuGroup_default = MenuGroup;
733
766
 
734
767
  // src/components/Menu/Menu.tsx
735
- var import_jsx_runtime14 = require("react/jsx-runtime");
768
+ var import_jsx_runtime15 = require("react/jsx-runtime");
736
769
  var Menu = (_a) => {
737
770
  var _b = _a, {
738
771
  children,
@@ -758,12 +791,12 @@ var Menu = (_a) => {
758
791
  "onItemSelect"
759
792
  ]);
760
793
  var _a2;
761
- const [selfValue, setSelfValue] = (0, import_react19.useState)((_a2 = valueProp != null ? valueProp : defaultValue) != null ? _a2 : []);
762
- const [selfOpenValues, setSelfOpenValues] = (0, import_react19.useState)(openValuesProp != null ? openValuesProp : []);
763
- const content = (0, import_react19.useMemo)(() => {
794
+ const [selfValue, setSelfValue] = (0, import_react20.useState)((_a2 = valueProp != null ? valueProp : defaultValue) != null ? _a2 : []);
795
+ const [selfOpenValues, setSelfOpenValues] = (0, import_react20.useState)(openValuesProp != null ? openValuesProp : []);
796
+ const content = (0, import_react20.useMemo)(() => {
764
797
  return items == null ? void 0 : items.map((_a3, index) => {
765
798
  var _b2 = _a3, { type } = _b2, item = __objRest(_b2, ["type"]);
766
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(MenuItem_default, __spreadValues({}, item), index);
799
+ return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MenuItem_default, __spreadValues({}, item), index);
767
800
  });
768
801
  }, [items]);
769
802
  const handleChange = (value) => {
@@ -783,17 +816,17 @@ var Menu = (_a) => {
783
816
  const handleItemSelect = (props) => {
784
817
  onItemSelect == null ? void 0 : onItemSelect(props);
785
818
  };
786
- (0, import_react19.useEffect)(() => {
819
+ (0, import_react20.useEffect)(() => {
787
820
  if (valueProp !== void 0 && navMode !== "automatic") {
788
821
  setSelfValue(valueProp);
789
822
  }
790
823
  }, [valueProp]);
791
- (0, import_react19.useEffect)(() => {
824
+ (0, import_react20.useEffect)(() => {
792
825
  if (openValuesProp !== void 0) {
793
826
  setSelfOpenValues(openValuesProp);
794
827
  }
795
828
  }, [openValuesProp]);
796
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
829
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
797
830
  MenuContext_default.Provider,
798
831
  {
799
832
  value: {
@@ -806,7 +839,7 @@ var Menu = (_a) => {
806
839
  onChange: handleChange,
807
840
  onItemSelect: handleItemSelect
808
841
  },
809
- children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx11.default)(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
842
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx12.default)(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
810
843
  }
811
844
  );
812
845
  };
@@ -814,15 +847,15 @@ Menu.displayName = "Menu";
814
847
  var Menu_default = Menu;
815
848
 
816
849
  // src/components/Tabs/Tab.tsx
817
- var import_clsx12 = __toESM(require("clsx"));
850
+ var import_clsx13 = __toESM(require("clsx"));
818
851
  var import_merge_refs = __toESM(require("merge-refs"));
819
- var import_react23 = require("react");
852
+ var import_react24 = require("react");
820
853
 
821
854
  // ../../../node_modules/react-icons/lib/esm/iconBase.js
822
- var import_react21 = __toESM(require("react"));
855
+ var import_react22 = __toESM(require("react"));
823
856
 
824
857
  // ../../../node_modules/react-icons/lib/esm/iconContext.js
825
- var import_react20 = __toESM(require("react"));
858
+ var import_react21 = __toESM(require("react"));
826
859
  var DefaultContext = {
827
860
  color: void 0,
828
861
  size: void 0,
@@ -830,7 +863,7 @@ var DefaultContext = {
830
863
  style: void 0,
831
864
  attr: void 0
832
865
  };
833
- var IconContext = import_react20.default.createContext && import_react20.default.createContext(DefaultContext);
866
+ var IconContext = import_react21.default.createContext && import_react21.default.createContext(DefaultContext);
834
867
 
835
868
  // ../../../node_modules/react-icons/lib/esm/iconBase.js
836
869
  var __assign = function() {
@@ -859,14 +892,14 @@ var __rest = function(s, e) {
859
892
  };
860
893
  function Tree2Element(tree) {
861
894
  return tree && tree.map(function(node, i) {
862
- return import_react21.default.createElement(node.tag, __assign({
895
+ return import_react22.default.createElement(node.tag, __assign({
863
896
  key: i
864
897
  }, node.attr), Tree2Element(node.child));
865
898
  });
866
899
  }
867
900
  function GenIcon(data) {
868
901
  return function(props) {
869
- return import_react21.default.createElement(IconBase, __assign({
902
+ return import_react22.default.createElement(IconBase, __assign({
870
903
  attr: __assign({}, data.attr)
871
904
  }, props), Tree2Element(data.child));
872
905
  };
@@ -880,7 +913,7 @@ function IconBase(props) {
880
913
  className = conf.className;
881
914
  if (props.className)
882
915
  className = (className ? className + " " : "") + props.className;
883
- return import_react21.default.createElement("svg", __assign({
916
+ return import_react22.default.createElement("svg", __assign({
884
917
  stroke: "currentColor",
885
918
  fill: "currentColor",
886
919
  strokeWidth: "0"
@@ -892,9 +925,9 @@ function IconBase(props) {
892
925
  height: computedSize,
893
926
  width: computedSize,
894
927
  xmlns: "http://www.w3.org/2000/svg"
895
- }), title && import_react21.default.createElement("title", null, title), props.children);
928
+ }), title && import_react22.default.createElement("title", null, title), props.children);
896
929
  };
897
- return IconContext !== void 0 ? import_react21.default.createElement(IconContext.Consumer, null, function(conf) {
930
+ return IconContext !== void 0 ? import_react22.default.createElement(IconContext.Consumer, null, function(conf) {
898
931
  return elem(conf);
899
932
  }) : elem(DefaultContext);
900
933
  }
@@ -905,10 +938,10 @@ function TbX(props) {
905
938
  }
906
939
 
907
940
  // src/components/Tabs/TabsContext.ts
908
- var import_react22 = require("react");
909
- var TabsContext = (0, import_react22.createContext)(null);
941
+ var import_react23 = require("react");
942
+ var TabsContext = (0, import_react23.createContext)(null);
910
943
  var useTabs = () => {
911
- const context = (0, import_react22.useContext)(TabsContext);
944
+ const context = (0, import_react23.useContext)(TabsContext);
912
945
  if (!context) {
913
946
  throw new Error("`useTabs` must be used within a `<Tabs />`");
914
947
  }
@@ -916,8 +949,8 @@ var useTabs = () => {
916
949
  };
917
950
 
918
951
  // src/components/Tabs/Tab.tsx
919
- var import_jsx_runtime15 = require("react/jsx-runtime");
920
- var Tab = (0, import_react23.forwardRef)(
952
+ var import_jsx_runtime16 = require("react/jsx-runtime");
953
+ var Tab = (0, import_react24.forwardRef)(
921
954
  (_a, ref) => {
922
955
  var _b = _a, {
923
956
  as: Component = "div",
@@ -938,8 +971,8 @@ var Tab = (0, import_react23.forwardRef)(
938
971
  "disabled",
939
972
  "onClick"
940
973
  ]);
941
- const tabRef = (0, import_react23.useRef)(null);
942
- const id = (0, import_react23.useId)();
974
+ const tabRef = (0, import_react24.useRef)(null);
975
+ const id = (0, import_react24.useId)();
943
976
  const value = valueProp != null ? valueProp : id;
944
977
  const _a2 = useTabs(), { onClose, registerItem } = _a2, tabs = __objRest(_a2, ["onClose", "registerItem"]);
945
978
  const handleClick = (event) => {
@@ -980,17 +1013,17 @@ var Tab = (0, import_react23.forwardRef)(
980
1013
  event.stopPropagation();
981
1014
  onClose(value);
982
1015
  };
983
- (0, import_react23.useEffect)(() => {
1016
+ (0, import_react24.useEffect)(() => {
984
1017
  registerItem({ value, disabled });
985
1018
  if (value === tabs.value) {
986
1019
  tabs.previousTabRef.current = tabRef.current;
987
1020
  }
988
1021
  }, [value, tabs.value]);
989
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1022
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
990
1023
  Component,
991
1024
  __spreadProps(__spreadValues({
992
1025
  ref: (0, import_merge_refs.default)(tabRef, ref, (el) => tabs.tabRefs.current[value] = el),
993
- className: (0, import_clsx12.default)(
1026
+ className: (0, import_clsx13.default)(
994
1027
  `${PREFIX_CLS}tab`,
995
1028
  { [`${PREFIX_CLS}tab--selected`]: value === tabs.value, [`${PREFIX_CLS}tab--disabled`]: disabled },
996
1029
  className
@@ -999,12 +1032,12 @@ var Tab = (0, import_react23.forwardRef)(
999
1032
  onClick: handleClick
1000
1033
  }, rest), {
1001
1034
  children: [
1002
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
1003
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: `${PREFIX_CLS}tab__content`, children: [
1035
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
1036
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: `${PREFIX_CLS}tab__content`, children: [
1004
1037
  children,
1005
- closable && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(TbX, {}) }) })
1038
+ closable && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(TbX, {}) }) })
1006
1039
  ] }),
1007
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `${PREFIX_CLS}tab__indicator` })
1040
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `${PREFIX_CLS}tab__indicator` })
1008
1041
  ]
1009
1042
  })
1010
1043
  );
@@ -1012,8 +1045,8 @@ var Tab = (0, import_react23.forwardRef)(
1012
1045
  );
1013
1046
 
1014
1047
  // src/components/Tabs/Tabs.tsx
1015
- var import_clsx13 = __toESM(require("clsx"));
1016
- var import_react24 = require("react");
1048
+ var import_clsx14 = __toESM(require("clsx"));
1049
+ var import_react25 = require("react");
1017
1050
 
1018
1051
  // src/utils/scroll.ts
1019
1052
  var scrollToItem = (parentElement, currentElement) => {
@@ -1041,7 +1074,7 @@ var scrollToItem = (parentElement, currentElement) => {
1041
1074
  };
1042
1075
 
1043
1076
  // src/components/Tabs/Tabs.tsx
1044
- var import_jsx_runtime16 = require("react/jsx-runtime");
1077
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1045
1078
  var Tabs = (_a) => {
1046
1079
  var _b = _a, {
1047
1080
  children,
@@ -1060,11 +1093,11 @@ var Tabs = (_a) => {
1060
1093
  "onChange",
1061
1094
  "onClose"
1062
1095
  ]);
1063
- const tabsRef = (0, import_react24.useRef)(null);
1064
- const tabRefs = (0, import_react24.useRef)({});
1065
- const previousTabRef = (0, import_react24.useRef)(null);
1066
- const [selfValue, setSelfValue] = (0, import_react24.useState)(value != null ? value : defaultValue);
1067
- const [items, setItems] = (0, import_react24.useState)([]);
1096
+ const tabsRef = (0, import_react25.useRef)(null);
1097
+ const tabRefs = (0, import_react25.useRef)({});
1098
+ const previousTabRef = (0, import_react25.useRef)(null);
1099
+ const [selfValue, setSelfValue] = (0, import_react25.useState)(value != null ? value : defaultValue);
1100
+ const [items, setItems] = (0, import_react25.useState)([]);
1068
1101
  const registerItem = (item) => {
1069
1102
  setItems((prevItems) => {
1070
1103
  const index = prevItems.findIndex((item2) => item2.value);
@@ -1091,71 +1124,71 @@ var Tabs = (_a) => {
1091
1124
  const handleClose = (value2) => {
1092
1125
  onClose == null ? void 0 : onClose(value2);
1093
1126
  };
1094
- (0, import_react24.useEffect)(() => {
1127
+ (0, import_react25.useEffect)(() => {
1095
1128
  if (value !== void 0) {
1096
1129
  setSelfValue(value);
1097
1130
  scrollToTab(value);
1098
1131
  }
1099
1132
  }, [value]);
1100
- (0, import_react24.useEffect)(() => {
1133
+ (0, import_react25.useEffect)(() => {
1101
1134
  if (value === void 0) {
1102
1135
  const item = items.find((tab) => !tab.disabled);
1103
1136
  setSelfValue(item == null ? void 0 : item.value);
1104
1137
  }
1105
1138
  }, [value, items]);
1106
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1139
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1107
1140
  TabsContext.Provider,
1108
1141
  {
1109
1142
  value: { previousTabRef, tabRefs, value: selfValue, onChange: handleChange, onClose: handleClose, registerItem },
1110
1143
  children: [
1111
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1144
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1112
1145
  "div",
1113
1146
  __spreadProps(__spreadValues({
1114
1147
  ref: tabsRef,
1115
- className: (0, import_clsx13.default)(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
1148
+ className: (0, import_clsx14.default)(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
1116
1149
  }, rest), {
1117
1150
  children
1118
1151
  })
1119
1152
  ),
1120
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: `${PREFIX_CLS}divider` })
1153
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `${PREFIX_CLS}divider` })
1121
1154
  ]
1122
1155
  }
1123
1156
  );
1124
1157
  };
1125
1158
 
1126
1159
  // src/components/Toolbar/Toolbar.tsx
1127
- var import_clsx14 = __toESM(require("clsx"));
1128
- var import_jsx_runtime17 = require("react/jsx-runtime");
1160
+ var import_clsx15 = __toESM(require("clsx"));
1161
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1129
1162
  var Toolbar = (props) => {
1130
1163
  const _a = props, { children, className, size = "md", startAction, endAction, title, subtitle } = _a, rest = __objRest(_a, ["children", "className", "size", "startAction", "endAction", "title", "subtitle"]);
1131
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", __spreadProps(__spreadValues({ className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar`, { [`${PREFIX_CLS}toolbar--${size}`]: size }, className) }, rest), { children: [
1132
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `${PREFIX_CLS}outline-b` }),
1133
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__container`), children: [
1134
- startAction && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__start-action`), children: startAction }),
1135
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__content`), children: title || subtitle ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
1136
- title && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__title`), children: title }),
1137
- subtitle && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__subtitle`), children: subtitle })
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", __spreadProps(__spreadValues({ className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar`, { [`${PREFIX_CLS}toolbar--${size}`]: size }, className) }, rest), { children: [
1165
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `${PREFIX_CLS}outline-b` }),
1166
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__container`), children: [
1167
+ startAction && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__start-action`), children: startAction }),
1168
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__content`), children: title || subtitle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
1169
+ title && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__title`), children: title }),
1170
+ subtitle && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__subtitle`), children: subtitle })
1138
1171
  ] }) : children }),
1139
- endAction && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: (0, import_clsx14.default)(`${PREFIX_CLS}toolbar__trailing`), children: endAction })
1172
+ endAction && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: (0, import_clsx15.default)(`${PREFIX_CLS}toolbar__trailing`), children: endAction })
1140
1173
  ] })
1141
1174
  ] }));
1142
1175
  };
1143
1176
  var Toolbar_default = Toolbar;
1144
1177
 
1145
1178
  // src/hooks/useLocalStorage.tsx
1146
- var import_react27 = require("react");
1179
+ var import_react28 = require("react");
1147
1180
 
1148
1181
  // src/hooks/useEventListener.tsx
1149
- var import_react26 = require("react");
1182
+ var import_react27 = require("react");
1150
1183
 
1151
1184
  // src/hooks/useIsomorphicLayoutEffect.tsx
1152
- var import_react25 = require("react");
1153
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react25.useLayoutEffect : import_react25.useEffect;
1185
+ var import_react26 = require("react");
1186
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react26.useLayoutEffect : import_react26.useEffect;
1154
1187
  var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
1155
1188
 
1156
1189
  // src/hooks/useEventListener.tsx
1157
1190
  function useEventListener(handler) {
1158
- const savedHandler = (0, import_react26.useRef)(handler);
1191
+ const savedHandler = (0, import_react27.useRef)(handler);
1159
1192
  useIsomorphicLayoutEffect_default(() => {
1160
1193
  savedHandler.current = handler;
1161
1194
  }, [handler]);
@@ -1164,7 +1197,7 @@ var useEventListener_default = useEventListener;
1164
1197
 
1165
1198
  // src/hooks/useLocalStorage.tsx
1166
1199
  function useLocalStorage(key, initialValue) {
1167
- const readValue = (0, import_react27.useCallback)(() => {
1200
+ const readValue = (0, import_react28.useCallback)(() => {
1168
1201
  if (typeof window === "undefined") {
1169
1202
  return initialValue;
1170
1203
  }
@@ -1176,8 +1209,8 @@ function useLocalStorage(key, initialValue) {
1176
1209
  return initialValue;
1177
1210
  }
1178
1211
  }, [initialValue, key]);
1179
- const [storedValue, setStoredValue] = (0, import_react27.useState)(readValue);
1180
- const setValue = (0, import_react27.useCallback)(
1212
+ const [storedValue, setStoredValue] = (0, import_react28.useState)(readValue);
1213
+ const setValue = (0, import_react28.useCallback)(
1181
1214
  (value) => {
1182
1215
  if (typeof window == "undefined") {
1183
1216
  console.warn(`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`);
@@ -1193,10 +1226,10 @@ function useLocalStorage(key, initialValue) {
1193
1226
  },
1194
1227
  [key, storedValue]
1195
1228
  );
1196
- (0, import_react27.useEffect)(() => {
1229
+ (0, import_react28.useEffect)(() => {
1197
1230
  setStoredValue(readValue());
1198
1231
  }, []);
1199
- const handleStorageChange = (0, import_react27.useCallback)(() => {
1232
+ const handleStorageChange = (0, import_react28.useCallback)(() => {
1200
1233
  setStoredValue(readValue());
1201
1234
  }, [readValue]);
1202
1235
  useEventListener_default("storage", handleStorageChange);
@@ -1213,22 +1246,22 @@ function parseJSON(value) {
1213
1246
  }
1214
1247
 
1215
1248
  // src/hooks/usePrevious.tsx
1216
- var import_react28 = require("react");
1249
+ var import_react29 = require("react");
1217
1250
  var usePrevious = (value) => {
1218
- const ref = (0, import_react28.useRef)();
1219
- (0, import_react28.useEffect)(() => {
1251
+ const ref = (0, import_react29.useRef)();
1252
+ (0, import_react29.useEffect)(() => {
1220
1253
  ref.current = value;
1221
1254
  });
1222
1255
  return ref.current;
1223
1256
  };
1224
1257
 
1225
1258
  // src/hooks/useStep.tsx
1226
- var import_react29 = require("react");
1259
+ var import_react30 = require("react");
1227
1260
  var useStep = (maxStep) => {
1228
- const [currentStep, setCurrentStep] = (0, import_react29.useState)(1);
1229
- const canGoToNextStep = (0, import_react29.useMemo)(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
1230
- const canGoToPrevStep = (0, import_react29.useMemo)(() => currentStep - 1 >= 1, [currentStep]);
1231
- const setStep = (0, import_react29.useCallback)(
1261
+ const [currentStep, setCurrentStep] = (0, import_react30.useState)(1);
1262
+ const canGoToNextStep = (0, import_react30.useMemo)(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
1263
+ const canGoToPrevStep = (0, import_react30.useMemo)(() => currentStep - 1 >= 1, [currentStep]);
1264
+ const setStep = (0, import_react30.useCallback)(
1232
1265
  (step) => {
1233
1266
  const newStep = step instanceof Function ? step(currentStep) : step;
1234
1267
  if (newStep >= 1 && newStep <= maxStep) {
@@ -1239,17 +1272,17 @@ var useStep = (maxStep) => {
1239
1272
  },
1240
1273
  [maxStep, currentStep]
1241
1274
  );
1242
- const goToNextStep = (0, import_react29.useCallback)(() => {
1275
+ const goToNextStep = (0, import_react30.useCallback)(() => {
1243
1276
  if (canGoToNextStep) {
1244
1277
  setCurrentStep((step) => step + 1);
1245
1278
  }
1246
1279
  }, [canGoToNextStep]);
1247
- const goToPrevStep = (0, import_react29.useCallback)(() => {
1280
+ const goToPrevStep = (0, import_react30.useCallback)(() => {
1248
1281
  if (canGoToPrevStep) {
1249
1282
  setCurrentStep((step) => step - 1);
1250
1283
  }
1251
1284
  }, [canGoToPrevStep]);
1252
- const reset = (0, import_react29.useCallback)(() => {
1285
+ const reset = (0, import_react30.useCallback)(() => {
1253
1286
  setCurrentStep(1);
1254
1287
  }, []);
1255
1288
  return [
@@ -1274,6 +1307,7 @@ var useStep = (maxStep) => {
1274
1307
  CollapseContent,
1275
1308
  CollapseContext,
1276
1309
  CollapseTrigger,
1310
+ Drawer,
1277
1311
  Icon,
1278
1312
  Menu,
1279
1313
  MenuContext,
package/dist/index.mjs CHANGED
@@ -149,7 +149,7 @@ var ChevronDownIcon = forwardRef4((props, ref) => {
149
149
  ref,
150
150
  stroke: "currentColor",
151
151
  fill: "currentColor",
152
- "stroke-width": "0",
152
+ strokeWidth: "0",
153
153
  viewBox: "0 0 24 24",
154
154
  height: "1em",
155
155
  width: "1em",
@@ -429,8 +429,40 @@ var CollapseTrigger = forwardRef11(({ children }, ref) => {
429
429
  });
430
430
  var CollapseTrigger_default = CollapseTrigger;
431
431
 
432
+ // src/components/Drawer/Drawer.tsx
433
+ import clsx8 from "clsx";
434
+ import { forwardRef as forwardRef12, useRef as useRef4 } from "react";
435
+ import { mergeRefs as mergeRefs2 } from "react-merge-refs";
436
+ import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
437
+ var Drawer = forwardRef12((props, ref) => {
438
+ const { children, className, isOpen, size = "md", position = "left", onClose } = props;
439
+ const nodeRef = useRef4(null);
440
+ const handleClose = () => {
441
+ onClose();
442
+ };
443
+ return /* @__PURE__ */ jsx10(Backdrop_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ jsx10(Transition_default, { nodeRef, isOpen, name: `${PREFIX_CLS}drawer`, enter: 600, leave: 300, unmountOnExit: true, children: /* @__PURE__ */ jsxs9(
444
+ "div",
445
+ {
446
+ ref: mergeRefs2([ref, nodeRef]),
447
+ className: clsx8(
448
+ `${PREFIX_CLS}drawer`,
449
+ {
450
+ [`${PREFIX_CLS}drawer--${size}`]: size,
451
+ [`${PREFIX_CLS}drawer--${position}`]: position
452
+ },
453
+ className
454
+ ),
455
+ children: [
456
+ /* @__PURE__ */ jsx10("div", { className: `${PREFIX_CLS}drawer__overlay` }),
457
+ children
458
+ ]
459
+ }
460
+ ) }) });
461
+ });
462
+ var Drawer_default = Drawer;
463
+
432
464
  // src/components/Menu/Menu.tsx
433
- import clsx11 from "clsx";
465
+ import clsx12 from "clsx";
434
466
  import { useEffect as useEffect3, useMemo as useMemo3, useState as useState2 } from "react";
435
467
 
436
468
  // src/components/Menu/MenuContext.tsx
@@ -446,12 +478,12 @@ var useMenu = () => {
446
478
  var MenuContext_default = MenuContext;
447
479
 
448
480
  // src/components/Menu/MenuGroup.tsx
449
- import clsx10 from "clsx";
481
+ import clsx11 from "clsx";
450
482
  import { useMemo as useMemo2 } from "react";
451
483
 
452
484
  // src/components/Menu/MenuItem.tsx
453
- import clsx8 from "clsx";
454
- import { forwardRef as forwardRef12, useContext as useContext4, useEffect as useEffect2 } from "react";
485
+ import clsx9 from "clsx";
486
+ import { forwardRef as forwardRef13, useContext as useContext4, useEffect as useEffect2 } from "react";
455
487
 
456
488
  // src/components/Menu/MenuValueContext.tsx
457
489
  import { createContext as createContext3, useContext as useContext3 } from "react";
@@ -466,8 +498,8 @@ var useMenuItemValue = () => {
466
498
  var MenuValueContext_default = MenuValueContext;
467
499
 
468
500
  // src/components/Menu/MenuItem.tsx
469
- import { jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
470
- var MenuItem = forwardRef12((props, ref) => {
501
+ import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
502
+ var MenuItem = forwardRef13((props, ref) => {
471
503
  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"]);
472
504
  const { value: menuValue, originalValue, navMode, onChange, onOpen, onItemSelect } = useMenu();
473
505
  const values = useContext4(MenuValueContext_default);
@@ -485,11 +517,11 @@ var MenuItem = forwardRef12((props, ref) => {
485
517
  onChange(mergedValues);
486
518
  }
487
519
  }, [value, originalValue, navMode]);
488
- return /* @__PURE__ */ jsxs9(
520
+ return /* @__PURE__ */ jsxs10(
489
521
  Component,
490
522
  __spreadProps(__spreadValues({
491
523
  ref,
492
- className: clsx8(
524
+ className: clsx9(
493
525
  `${PREFIX_CLS}menu-item`,
494
526
  {
495
527
  [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value),
@@ -503,9 +535,9 @@ var MenuItem = forwardRef12((props, ref) => {
503
535
  onClick: handleClick
504
536
  }, rest), {
505
537
  children: [
506
- /* @__PURE__ */ jsx10("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx10("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
507
- icon && /* @__PURE__ */ jsx10("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
508
- /* @__PURE__ */ jsx10("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx10("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
538
+ /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
539
+ icon && /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
540
+ /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx11("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
509
541
  ]
510
542
  })
511
543
  );
@@ -514,7 +546,7 @@ MenuItem.displayName = "MenuItem";
514
546
  var MenuItem_default = MenuItem;
515
547
 
516
548
  // src/components/Menu/MenuSubmenu.tsx
517
- import clsx9 from "clsx";
549
+ import clsx10 from "clsx";
518
550
  import { useContext as useContext5, useMemo } from "react";
519
551
 
520
552
  // src/components/Menu/utils.ts
@@ -541,7 +573,7 @@ var addOrRemoveValueInArray = (array, value) => {
541
573
  };
542
574
 
543
575
  // src/components/Menu/MenuSubmenu.tsx
544
- import { jsx as jsx11, jsxs as jsxs10 } from "react/jsx-runtime";
576
+ import { jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
545
577
  var MenuSubmenu = (_a) => {
546
578
  var _b = _a, {
547
579
  children,
@@ -571,7 +603,7 @@ var MenuSubmenu = (_a) => {
571
603
  const content = useMemo(() => {
572
604
  return items == null ? void 0 : items.map((_a2, index) => {
573
605
  var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
574
- return type === "item" ? /* @__PURE__ */ jsx11(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ jsx11(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ jsx11(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ jsx11(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
606
+ return type === "item" ? /* @__PURE__ */ jsx12(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ jsx12(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ jsx12(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ jsx12(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
575
607
  });
576
608
  }, [items]);
577
609
  const handleClick = (event) => {
@@ -589,11 +621,11 @@ var MenuSubmenu = (_a) => {
589
621
  }
590
622
  onClick == null ? void 0 : onClick(event);
591
623
  };
592
- return /* @__PURE__ */ jsx11(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ jsx11("div", { className: clsx9(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ jsxs10(Collapse_default, { isOpen, children: [
593
- /* @__PURE__ */ jsx11(CollapseTrigger_default, { children: /* @__PURE__ */ jsxs10(
624
+ return /* @__PURE__ */ jsx12(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ jsx12("div", { className: clsx10(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ jsxs11(Collapse_default, { isOpen, children: [
625
+ /* @__PURE__ */ jsx12(CollapseTrigger_default, { children: /* @__PURE__ */ jsxs11(
594
626
  "div",
595
627
  __spreadProps(__spreadValues({
596
- className: clsx9(
628
+ className: clsx10(
597
629
  `${PREFIX_CLS}menu-item`,
598
630
  {
599
631
  [`${PREFIX_CLS}menu-item--selected`]: menuValue.includes(value) || items && mergedValues.includes(menuValue)
@@ -606,17 +638,17 @@ var MenuSubmenu = (_a) => {
606
638
  onClick: handleClick
607
639
  }, rest), {
608
640
  children: [
609
- /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
610
- icon && /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
611
- /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx11("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
612
- /* @__PURE__ */ jsx11("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ jsx11(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ jsx11(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
641
+ /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
642
+ icon && /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
643
+ /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ jsx12("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
644
+ /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ jsx12(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ jsx12(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
613
645
  ]
614
646
  })
615
647
  ) }),
616
- /* @__PURE__ */ jsx11(CollapseContent_default, { children: /* @__PURE__ */ jsx11(
648
+ /* @__PURE__ */ jsx12(CollapseContent_default, { children: /* @__PURE__ */ jsx12(
617
649
  "ul",
618
650
  {
619
- className: clsx9(`${PREFIX_CLS}menu`, {
651
+ className: clsx10(`${PREFIX_CLS}menu`, {
620
652
  [`${PREFIX_CLS}menu-open`]: !isOpen
621
653
  }),
622
654
  children: content || children
@@ -627,7 +659,7 @@ var MenuSubmenu = (_a) => {
627
659
  var MenuSubmenu_default = MenuSubmenu;
628
660
 
629
661
  // src/components/Menu/MenuGroup.tsx
630
- import { Fragment, jsx as jsx12, jsxs as jsxs11 } from "react/jsx-runtime";
662
+ import { Fragment, jsx as jsx13, jsxs as jsxs12 } from "react/jsx-runtime";
631
663
  var MenuGroup = (_a) => {
632
664
  var _b = _a, {
633
665
  children,
@@ -649,21 +681,21 @@ var MenuGroup = (_a) => {
649
681
  const content = useMemo2(() => {
650
682
  return items == null ? void 0 : items.map((_a2, index) => {
651
683
  var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
652
- return type === "item" ? /* @__PURE__ */ jsx12(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx12(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx12(MenuItem_default, __spreadValues({}, item), index);
684
+ return type === "item" ? /* @__PURE__ */ jsx13(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx13(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx13(MenuItem_default, __spreadValues({}, item), index);
653
685
  });
654
686
  }, [items]);
655
- return /* @__PURE__ */ jsxs11(Fragment, { children: [
656
- /* @__PURE__ */ jsxs11(
687
+ return /* @__PURE__ */ jsxs12(Fragment, { children: [
688
+ /* @__PURE__ */ jsxs12(
657
689
  "div",
658
690
  __spreadProps(__spreadValues({
659
- className: clsx10(`${PREFIX_CLS}menu-group`, className),
691
+ className: clsx11(`${PREFIX_CLS}menu-group`, className),
660
692
  style: __spreadValues({
661
693
  paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-group-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-group-padding-level))`
662
694
  }, style)
663
695
  }, rest), {
664
696
  children: [
665
- icon && /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
666
- /* @__PURE__ */ jsx12("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ jsx12("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
697
+ icon && /* @__PURE__ */ jsx13("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
698
+ /* @__PURE__ */ jsx13("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ jsx13("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
667
699
  ]
668
700
  })
669
701
  ),
@@ -673,7 +705,7 @@ var MenuGroup = (_a) => {
673
705
  var MenuGroup_default = MenuGroup;
674
706
 
675
707
  // src/components/Menu/Menu.tsx
676
- import { jsx as jsx13 } from "react/jsx-runtime";
708
+ import { jsx as jsx14 } from "react/jsx-runtime";
677
709
  var Menu = (_a) => {
678
710
  var _b = _a, {
679
711
  children,
@@ -704,7 +736,7 @@ var Menu = (_a) => {
704
736
  const content = useMemo3(() => {
705
737
  return items == null ? void 0 : items.map((_a3, index) => {
706
738
  var _b2 = _a3, { type } = _b2, item = __objRest(_b2, ["type"]);
707
- return type === "item" ? /* @__PURE__ */ jsx13(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx13(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ jsx13(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx13(MenuItem_default, __spreadValues({}, item), index);
739
+ return type === "item" ? /* @__PURE__ */ jsx14(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ jsx14(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ jsx14(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ jsx14(MenuItem_default, __spreadValues({}, item), index);
708
740
  });
709
741
  }, [items]);
710
742
  const handleChange = (value) => {
@@ -734,7 +766,7 @@ var Menu = (_a) => {
734
766
  setSelfOpenValues(openValuesProp);
735
767
  }
736
768
  }, [openValuesProp]);
737
- return /* @__PURE__ */ jsx13(
769
+ return /* @__PURE__ */ jsx14(
738
770
  MenuContext_default.Provider,
739
771
  {
740
772
  value: {
@@ -747,7 +779,7 @@ var Menu = (_a) => {
747
779
  onChange: handleChange,
748
780
  onItemSelect: handleItemSelect
749
781
  },
750
- children: /* @__PURE__ */ jsx13("div", __spreadProps(__spreadValues({ className: clsx11(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
782
+ children: /* @__PURE__ */ jsx14("div", __spreadProps(__spreadValues({ className: clsx12(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
751
783
  }
752
784
  );
753
785
  };
@@ -755,9 +787,9 @@ Menu.displayName = "Menu";
755
787
  var Menu_default = Menu;
756
788
 
757
789
  // src/components/Tabs/Tab.tsx
758
- import clsx12 from "clsx";
759
- import mergeRefs2 from "merge-refs";
760
- import { forwardRef as forwardRef13, useEffect as useEffect4, useId, useRef as useRef4 } from "react";
790
+ import clsx13 from "clsx";
791
+ import mergeRefs3 from "merge-refs";
792
+ import { forwardRef as forwardRef14, useEffect as useEffect4, useId, useRef as useRef5 } from "react";
761
793
 
762
794
  // ../../../node_modules/react-icons/lib/esm/iconBase.js
763
795
  import React3 from "react";
@@ -857,8 +889,8 @@ var useTabs = () => {
857
889
  };
858
890
 
859
891
  // src/components/Tabs/Tab.tsx
860
- import { jsx as jsx14, jsxs as jsxs12 } from "react/jsx-runtime";
861
- var Tab = forwardRef13(
892
+ import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
893
+ var Tab = forwardRef14(
862
894
  (_a, ref) => {
863
895
  var _b = _a, {
864
896
  as: Component = "div",
@@ -879,7 +911,7 @@ var Tab = forwardRef13(
879
911
  "disabled",
880
912
  "onClick"
881
913
  ]);
882
- const tabRef = useRef4(null);
914
+ const tabRef = useRef5(null);
883
915
  const id = useId();
884
916
  const value = valueProp != null ? valueProp : id;
885
917
  const _a2 = useTabs(), { onClose, registerItem } = _a2, tabs = __objRest(_a2, ["onClose", "registerItem"]);
@@ -927,11 +959,11 @@ var Tab = forwardRef13(
927
959
  tabs.previousTabRef.current = tabRef.current;
928
960
  }
929
961
  }, [value, tabs.value]);
930
- return /* @__PURE__ */ jsxs12(
962
+ return /* @__PURE__ */ jsxs13(
931
963
  Component,
932
964
  __spreadProps(__spreadValues({
933
- ref: mergeRefs2(tabRef, ref, (el) => tabs.tabRefs.current[value] = el),
934
- className: clsx12(
965
+ ref: mergeRefs3(tabRef, ref, (el) => tabs.tabRefs.current[value] = el),
966
+ className: clsx13(
935
967
  `${PREFIX_CLS}tab`,
936
968
  { [`${PREFIX_CLS}tab--selected`]: value === tabs.value, [`${PREFIX_CLS}tab--disabled`]: disabled },
937
969
  className
@@ -940,12 +972,12 @@ var Tab = forwardRef13(
940
972
  onClick: handleClick
941
973
  }, rest), {
942
974
  children: [
943
- /* @__PURE__ */ jsx14("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx14("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
944
- /* @__PURE__ */ jsxs12("div", { className: `${PREFIX_CLS}tab__content`, children: [
975
+ /* @__PURE__ */ jsx15("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ jsx15("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
976
+ /* @__PURE__ */ jsxs13("div", { className: `${PREFIX_CLS}tab__content`, children: [
945
977
  children,
946
- closable && /* @__PURE__ */ jsx14(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ jsx14(Icon_default, { children: /* @__PURE__ */ jsx14(TbX, {}) }) })
978
+ closable && /* @__PURE__ */ jsx15(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ jsx15(Icon_default, { children: /* @__PURE__ */ jsx15(TbX, {}) }) })
947
979
  ] }),
948
- /* @__PURE__ */ jsx14("div", { className: `${PREFIX_CLS}tab__indicator` })
980
+ /* @__PURE__ */ jsx15("div", { className: `${PREFIX_CLS}tab__indicator` })
949
981
  ]
950
982
  })
951
983
  );
@@ -953,8 +985,8 @@ var Tab = forwardRef13(
953
985
  );
954
986
 
955
987
  // src/components/Tabs/Tabs.tsx
956
- import clsx13 from "clsx";
957
- import { useEffect as useEffect5, useRef as useRef5, useState as useState3 } from "react";
988
+ import clsx14 from "clsx";
989
+ import { useEffect as useEffect5, useRef as useRef6, useState as useState3 } from "react";
958
990
 
959
991
  // src/utils/scroll.ts
960
992
  var scrollToItem = (parentElement, currentElement) => {
@@ -982,7 +1014,7 @@ var scrollToItem = (parentElement, currentElement) => {
982
1014
  };
983
1015
 
984
1016
  // src/components/Tabs/Tabs.tsx
985
- import { jsx as jsx15, jsxs as jsxs13 } from "react/jsx-runtime";
1017
+ import { jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
986
1018
  var Tabs = (_a) => {
987
1019
  var _b = _a, {
988
1020
  children,
@@ -1001,9 +1033,9 @@ var Tabs = (_a) => {
1001
1033
  "onChange",
1002
1034
  "onClose"
1003
1035
  ]);
1004
- const tabsRef = useRef5(null);
1005
- const tabRefs = useRef5({});
1006
- const previousTabRef = useRef5(null);
1036
+ const tabsRef = useRef6(null);
1037
+ const tabRefs = useRef6({});
1038
+ const previousTabRef = useRef6(null);
1007
1039
  const [selfValue, setSelfValue] = useState3(value != null ? value : defaultValue);
1008
1040
  const [items, setItems] = useState3([]);
1009
1041
  const registerItem = (item) => {
@@ -1044,40 +1076,40 @@ var Tabs = (_a) => {
1044
1076
  setSelfValue(item == null ? void 0 : item.value);
1045
1077
  }
1046
1078
  }, [value, items]);
1047
- return /* @__PURE__ */ jsxs13(
1079
+ return /* @__PURE__ */ jsxs14(
1048
1080
  TabsContext.Provider,
1049
1081
  {
1050
1082
  value: { previousTabRef, tabRefs, value: selfValue, onChange: handleChange, onClose: handleClose, registerItem },
1051
1083
  children: [
1052
- /* @__PURE__ */ jsx15(
1084
+ /* @__PURE__ */ jsx16(
1053
1085
  "div",
1054
1086
  __spreadProps(__spreadValues({
1055
1087
  ref: tabsRef,
1056
- className: clsx13(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
1088
+ className: clsx14(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
1057
1089
  }, rest), {
1058
1090
  children
1059
1091
  })
1060
1092
  ),
1061
- /* @__PURE__ */ jsx15("div", { className: `${PREFIX_CLS}divider` })
1093
+ /* @__PURE__ */ jsx16("div", { className: `${PREFIX_CLS}divider` })
1062
1094
  ]
1063
1095
  }
1064
1096
  );
1065
1097
  };
1066
1098
 
1067
1099
  // src/components/Toolbar/Toolbar.tsx
1068
- import clsx14 from "clsx";
1069
- import { Fragment as Fragment2, jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
1100
+ import clsx15 from "clsx";
1101
+ import { Fragment as Fragment2, jsx as jsx17, jsxs as jsxs15 } from "react/jsx-runtime";
1070
1102
  var Toolbar = (props) => {
1071
1103
  const _a = props, { children, className, size = "md", startAction, endAction, title, subtitle } = _a, rest = __objRest(_a, ["children", "className", "size", "startAction", "endAction", "title", "subtitle"]);
1072
- return /* @__PURE__ */ jsxs14("div", __spreadProps(__spreadValues({ className: clsx14(`${PREFIX_CLS}toolbar`, { [`${PREFIX_CLS}toolbar--${size}`]: size }, className) }, rest), { children: [
1073
- /* @__PURE__ */ jsx16("div", { className: `${PREFIX_CLS}outline-b` }),
1074
- /* @__PURE__ */ jsxs14("div", { className: clsx14(`${PREFIX_CLS}toolbar__container`), children: [
1075
- startAction && /* @__PURE__ */ jsx16("div", { className: clsx14(`${PREFIX_CLS}toolbar__start-action`), children: startAction }),
1076
- /* @__PURE__ */ jsx16("div", { className: clsx14(`${PREFIX_CLS}toolbar__content`), children: title || subtitle ? /* @__PURE__ */ jsxs14(Fragment2, { children: [
1077
- title && /* @__PURE__ */ jsx16("div", { className: clsx14(`${PREFIX_CLS}toolbar__title`), children: title }),
1078
- subtitle && /* @__PURE__ */ jsx16("div", { className: clsx14(`${PREFIX_CLS}toolbar__subtitle`), children: subtitle })
1104
+ return /* @__PURE__ */ jsxs15("div", __spreadProps(__spreadValues({ className: clsx15(`${PREFIX_CLS}toolbar`, { [`${PREFIX_CLS}toolbar--${size}`]: size }, className) }, rest), { children: [
1105
+ /* @__PURE__ */ jsx17("div", { className: `${PREFIX_CLS}outline-b` }),
1106
+ /* @__PURE__ */ jsxs15("div", { className: clsx15(`${PREFIX_CLS}toolbar__container`), children: [
1107
+ startAction && /* @__PURE__ */ jsx17("div", { className: clsx15(`${PREFIX_CLS}toolbar__start-action`), children: startAction }),
1108
+ /* @__PURE__ */ jsx17("div", { className: clsx15(`${PREFIX_CLS}toolbar__content`), children: title || subtitle ? /* @__PURE__ */ jsxs15(Fragment2, { children: [
1109
+ title && /* @__PURE__ */ jsx17("div", { className: clsx15(`${PREFIX_CLS}toolbar__title`), children: title }),
1110
+ subtitle && /* @__PURE__ */ jsx17("div", { className: clsx15(`${PREFIX_CLS}toolbar__subtitle`), children: subtitle })
1079
1111
  ] }) : children }),
1080
- endAction && /* @__PURE__ */ jsx16("div", { className: clsx14(`${PREFIX_CLS}toolbar__trailing`), children: endAction })
1112
+ endAction && /* @__PURE__ */ jsx17("div", { className: clsx15(`${PREFIX_CLS}toolbar__trailing`), children: endAction })
1081
1113
  ] })
1082
1114
  ] }));
1083
1115
  };
@@ -1087,7 +1119,7 @@ var Toolbar_default = Toolbar;
1087
1119
  import { useCallback, useEffect as useEffect7, useState as useState4 } from "react";
1088
1120
 
1089
1121
  // src/hooks/useEventListener.tsx
1090
- import { useRef as useRef6 } from "react";
1122
+ import { useRef as useRef7 } from "react";
1091
1123
 
1092
1124
  // src/hooks/useIsomorphicLayoutEffect.tsx
1093
1125
  import { useEffect as useEffect6, useLayoutEffect } from "react";
@@ -1096,7 +1128,7 @@ var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
1096
1128
 
1097
1129
  // src/hooks/useEventListener.tsx
1098
1130
  function useEventListener(handler) {
1099
- const savedHandler = useRef6(handler);
1131
+ const savedHandler = useRef7(handler);
1100
1132
  useIsomorphicLayoutEffect_default(() => {
1101
1133
  savedHandler.current = handler;
1102
1134
  }, [handler]);
@@ -1154,9 +1186,9 @@ function parseJSON(value) {
1154
1186
  }
1155
1187
 
1156
1188
  // src/hooks/usePrevious.tsx
1157
- import { useEffect as useEffect8, useRef as useRef7 } from "react";
1189
+ import { useEffect as useEffect8, useRef as useRef8 } from "react";
1158
1190
  var usePrevious = (value) => {
1159
- const ref = useRef7();
1191
+ const ref = useRef8();
1160
1192
  useEffect8(() => {
1161
1193
  ref.current = value;
1162
1194
  });
@@ -1214,6 +1246,7 @@ export {
1214
1246
  CollapseContent_default as CollapseContent,
1215
1247
  CollapseContext_default as CollapseContext,
1216
1248
  CollapseTrigger_default as CollapseTrigger,
1249
+ Drawer_default as Drawer,
1217
1250
  Icon_default as Icon,
1218
1251
  Menu_default as Menu,
1219
1252
  MenuContext_default as MenuContext,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unifiedsoftware/react-ui",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "files": [