@unifiedsoftware/react-ui 1.0.13 → 1.0.15

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 CHANGED
@@ -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,59 +1076,610 @@ 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
  };
1084
1116
  var Toolbar_default = Toolbar;
1085
1117
 
1118
+ // src/components/Select/SelectClient.tsx
1119
+ import { filterBy } from "@progress/kendo-data-query";
1120
+ import {
1121
+ ComboBox
1122
+ } from "@progress/kendo-react-dropdowns";
1123
+ import { useEffect as useEffect6, useRef as useRef7, useState as useState4 } from "react";
1124
+ import { jsx as jsx18 } from "react/jsx-runtime";
1125
+ var SelectClient = ({
1126
+ value: valueProp,
1127
+ data: propData,
1128
+ filter: filterProp,
1129
+ keyField: keyField2 = "key",
1130
+ textField: textField3 = "text",
1131
+ placeholder,
1132
+ virtual,
1133
+ filterable,
1134
+ disabled,
1135
+ loading,
1136
+ className,
1137
+ onChange,
1138
+ onFilterChange
1139
+ }) => {
1140
+ const [value, setValue] = useState4(valueProp);
1141
+ const [filter, setFilter] = useState4(filterProp);
1142
+ const handleChange = (event) => {
1143
+ const value2 = event.target.value || null;
1144
+ if (valueProp !== void 0) {
1145
+ onChange(value2);
1146
+ } else {
1147
+ setValue(value2);
1148
+ }
1149
+ };
1150
+ const pageSize3 = virtual == null ? void 0 : virtual.pageSize;
1151
+ const filteredData = useRef7([]);
1152
+ const [state, setState] = useState4({
1153
+ skip: 0,
1154
+ total: propData.total,
1155
+ subsetData: propData.items.slice(0, pageSize3)
1156
+ });
1157
+ const handleFilterChange = (event) => {
1158
+ if (pageSize3) {
1159
+ filteredData.current = filterBy(propData.items.slice(), event.filter);
1160
+ const data = filteredData.current.slice(0, pageSize3);
1161
+ setState({
1162
+ subsetData: data,
1163
+ skip: 0,
1164
+ total: filteredData.current.length
1165
+ });
1166
+ }
1167
+ const filter2 = event.filter.value;
1168
+ if (filterProp !== void 0) {
1169
+ onFilterChange == null ? void 0 : onFilterChange(filter2);
1170
+ } else {
1171
+ setFilter(filter2);
1172
+ }
1173
+ };
1174
+ const handlePageChange = (event) => {
1175
+ if (pageSize3) {
1176
+ const skip = event.page.skip;
1177
+ const take = event.page.take;
1178
+ const newSubsetData = filteredData.current.slice(skip, skip + take);
1179
+ setState(__spreadProps(__spreadValues({}, state), { subsetData: newSubsetData, skip }));
1180
+ }
1181
+ };
1182
+ useEffect6(() => {
1183
+ if (valueProp !== void 0) {
1184
+ setValue(valueProp);
1185
+ }
1186
+ }, [valueProp]);
1187
+ useEffect6(() => {
1188
+ setFilter(filterProp);
1189
+ }, [filterProp]);
1190
+ useEffect6(() => {
1191
+ if (pageSize3) {
1192
+ filteredData.current = propData.items.slice();
1193
+ }
1194
+ }, [propData]);
1195
+ return /* @__PURE__ */ jsx18(
1196
+ ComboBox,
1197
+ {
1198
+ value,
1199
+ data: pageSize3 ? state.subsetData : propData.items,
1200
+ placeholder,
1201
+ dataItemKey: keyField2,
1202
+ textField: textField3,
1203
+ filterable,
1204
+ filter,
1205
+ virtual: pageSize3 ? {
1206
+ total: state.total,
1207
+ pageSize: pageSize3,
1208
+ skip: state.skip
1209
+ } : void 0,
1210
+ disabled,
1211
+ loading,
1212
+ className,
1213
+ onChange: handleChange,
1214
+ onFilterChange: handleFilterChange,
1215
+ onPageChange: handlePageChange
1216
+ }
1217
+ );
1218
+ };
1219
+ var SelectClient_default = SelectClient;
1220
+
1221
+ // src/components/Select/SelectServer.tsx
1222
+ import {
1223
+ ComboBox as ComboBox2
1224
+ } from "@progress/kendo-react-dropdowns";
1225
+ import { cloneElement as cloneElement4, useCallback, useEffect as useEffect7, useRef as useRef8, useState as useState5 } from "react";
1226
+ import { jsx as jsx19 } from "react/jsx-runtime";
1227
+ var textField = "ContactName";
1228
+ var emptyItem = { [textField]: "loading ...", CustomerID: 0 };
1229
+ var pageSize = 10;
1230
+ var loadingData = [];
1231
+ while (loadingData.length < pageSize) {
1232
+ loadingData.push(__spreadValues({}, emptyItem));
1233
+ }
1234
+ var SelectServer = ({
1235
+ data: dataProp,
1236
+ value: valueProp,
1237
+ keyField: keyField2 = "key",
1238
+ textField: textField3 = "text",
1239
+ placeholder,
1240
+ virtual,
1241
+ filterable,
1242
+ filter: filterProp = "",
1243
+ disabled,
1244
+ loading,
1245
+ className,
1246
+ onChange,
1247
+ onDataChange,
1248
+ onFilterChange,
1249
+ getData,
1250
+ renderItem
1251
+ }) => {
1252
+ var _a;
1253
+ const dataCaching = useRef8([]);
1254
+ const pendingRequest = useRef8();
1255
+ const requestStarted = useRef8(false);
1256
+ const emptyItem3 = { [keyField2]: 0, [textField3]: "loading ..." };
1257
+ const [loadingData3, setLoadingData] = useState5([]);
1258
+ const [data, setData] = useState5(dataProp.items);
1259
+ const [total, setTotal] = useState5(0);
1260
+ const [value, setValue] = useState5(valueProp);
1261
+ const [filter, setFilter] = useState5(filterProp);
1262
+ const pageSize3 = (_a = virtual == null ? void 0 : virtual.pageSize) != null ? _a : 10;
1263
+ const skipRef = useRef8(0);
1264
+ const resetCach = () => {
1265
+ dataCaching.current.length = 0;
1266
+ };
1267
+ const requestData = useCallback((state) => {
1268
+ const { skip } = state;
1269
+ if (requestStarted.current) {
1270
+ clearTimeout(pendingRequest.current);
1271
+ pendingRequest.current = setTimeout(() => {
1272
+ requestData(state);
1273
+ }, 50);
1274
+ return;
1275
+ }
1276
+ requestStarted.current = true;
1277
+ getData(state).then(({ items, total: total2 }) => {
1278
+ items.forEach((item, index) => {
1279
+ dataCaching.current[index + skip] = item;
1280
+ });
1281
+ if (skip === skipRef.current) {
1282
+ setData(items);
1283
+ setTotal(total2);
1284
+ onDataChange == null ? void 0 : onDataChange({ items, total: total2 });
1285
+ }
1286
+ requestStarted.current = false;
1287
+ }).catch(() => {
1288
+ requestStarted.current = false;
1289
+ });
1290
+ }, []);
1291
+ const handleFilterChange = useCallback((event) => {
1292
+ const filter2 = event.filter.value;
1293
+ if (filterProp !== void 0) {
1294
+ onFilterChange == null ? void 0 : onFilterChange(filter2);
1295
+ } else {
1296
+ setFilter(filter2);
1297
+ }
1298
+ resetCach();
1299
+ requestData({ skip: 0, filter: filter2 });
1300
+ setData(loadingData3);
1301
+ skipRef.current = 0;
1302
+ }, []);
1303
+ const shouldRequestData = useCallback((skip) => {
1304
+ for (let i = 0; i < pageSize3; i++) {
1305
+ if (!dataCaching.current[skip + i]) {
1306
+ return true;
1307
+ }
1308
+ }
1309
+ return false;
1310
+ }, []);
1311
+ const getCachedData = useCallback((skip) => {
1312
+ const data2 = [];
1313
+ for (let i = 0; i < pageSize3; i++) {
1314
+ data2.push(dataCaching.current[i + skip] || emptyItem3);
1315
+ }
1316
+ return data2;
1317
+ }, []);
1318
+ const pageChange = useCallback(
1319
+ (event) => {
1320
+ if (filter !== void 0) {
1321
+ const newSkip = event.page.skip;
1322
+ if (shouldRequestData(newSkip)) {
1323
+ requestData({ skip: newSkip, filter });
1324
+ }
1325
+ const data2 = getCachedData(newSkip);
1326
+ setData(data2);
1327
+ skipRef.current = newSkip;
1328
+ }
1329
+ },
1330
+ [getCachedData, requestData, shouldRequestData, filter]
1331
+ );
1332
+ const handleChange = useCallback((event) => {
1333
+ const value2 = event.target.value;
1334
+ if (value2 && value2[textField3] === emptyItem3[textField3]) {
1335
+ return;
1336
+ }
1337
+ if (valueProp !== void 0) {
1338
+ onChange(value2);
1339
+ } else {
1340
+ setValue(value2);
1341
+ }
1342
+ }, []);
1343
+ const handleItemRender = (li, itemProps) => {
1344
+ const itemChildren = renderItem == null ? void 0 : renderItem(itemProps.dataItem);
1345
+ if (!itemChildren)
1346
+ return cloneElement4(li, li.props);
1347
+ return cloneElement4(li, li.props, itemChildren);
1348
+ };
1349
+ useEffect7(() => {
1350
+ const pageSize4 = 10;
1351
+ const loadingData4 = [];
1352
+ while (loadingData4.length < pageSize4) {
1353
+ loadingData4.push(emptyItem3);
1354
+ }
1355
+ setLoadingData(loadingData4);
1356
+ }, []);
1357
+ useEffect7(() => {
1358
+ if (valueProp !== void 0) {
1359
+ setValue(valueProp);
1360
+ }
1361
+ }, [valueProp]);
1362
+ useEffect7(() => {
1363
+ if (filterProp !== void 0) {
1364
+ setFilter(filterProp);
1365
+ }
1366
+ }, [filterProp]);
1367
+ useEffect7(() => {
1368
+ requestData({ skip: 0, filter });
1369
+ return () => {
1370
+ resetCach();
1371
+ };
1372
+ }, [filter, requestData]);
1373
+ useEffect7(() => {
1374
+ setData(dataProp.items);
1375
+ }, [dataProp]);
1376
+ return /* @__PURE__ */ jsx19(
1377
+ ComboBox2,
1378
+ {
1379
+ data,
1380
+ value,
1381
+ placeholder,
1382
+ dataItemKey: keyField2,
1383
+ textField: textField3,
1384
+ filterable,
1385
+ onFilterChange: handleFilterChange,
1386
+ virtual: {
1387
+ pageSize: pageSize3,
1388
+ skip: skipRef.current,
1389
+ total
1390
+ },
1391
+ disabled,
1392
+ loading,
1393
+ className,
1394
+ onChange: handleChange,
1395
+ onPageChange: pageChange,
1396
+ itemRender: handleItemRender
1397
+ }
1398
+ );
1399
+ };
1400
+ var SelectServer_default = SelectServer;
1401
+
1402
+ // src/components/Select/Select.tsx
1403
+ import { jsx as jsx20 } from "react/jsx-runtime";
1404
+ var Select = (props) => {
1405
+ return props.filterMode === "client" ? /* @__PURE__ */ jsx20(SelectClient_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx20(SelectServer_default, __spreadValues({}, props));
1406
+ };
1407
+ var Select_default = Select;
1408
+
1409
+ // src/components/MultiSelect/MultiSelectClient.tsx
1410
+ import { filterBy as filterBy2 } from "@progress/kendo-data-query";
1411
+ import {
1412
+ MultiSelect
1413
+ } from "@progress/kendo-react-dropdowns";
1414
+ import { useEffect as useEffect8, useRef as useRef9, useState as useState6 } from "react";
1415
+ import { jsx as jsx21 } from "react/jsx-runtime";
1416
+ var textField2 = "text";
1417
+ var keyField = "key";
1418
+ var emptyItem2 = { [textField2]: "loading ...", [keyField]: 0 };
1419
+ var pageSize2 = 10;
1420
+ var loadingData2 = [];
1421
+ while (loadingData2.length < pageSize2) {
1422
+ loadingData2.push(__spreadValues({}, emptyItem2));
1423
+ }
1424
+ var SelectClient2 = ({
1425
+ data: dataProp,
1426
+ value: valueProp,
1427
+ keyField: keyField2 = "key",
1428
+ textField: textField3 = "text",
1429
+ placeholder,
1430
+ virtual,
1431
+ filterable,
1432
+ filter: filterProp,
1433
+ disabled,
1434
+ loading,
1435
+ className,
1436
+ onChange,
1437
+ onFilterChange
1438
+ }) => {
1439
+ const [value, setValue] = useState6(valueProp);
1440
+ const [filter, setFilter] = useState6(filterProp);
1441
+ const handleChange = (event) => {
1442
+ onChange(event.target.value);
1443
+ };
1444
+ const pageSize3 = virtual == null ? void 0 : virtual.pageSize;
1445
+ const filteredData = useRef9([]);
1446
+ const [state, setState] = useState6({
1447
+ skip: 0,
1448
+ total: dataProp.total,
1449
+ subsetData: dataProp.items.slice(0, pageSize3)
1450
+ });
1451
+ const handleFilterChange = (event) => {
1452
+ if (pageSize3) {
1453
+ filteredData.current = filterBy2(dataProp.items.slice(), event.filter);
1454
+ const data = filteredData.current.slice(0, pageSize3);
1455
+ setState({
1456
+ subsetData: data,
1457
+ skip: 0,
1458
+ total: filteredData.current.length
1459
+ });
1460
+ }
1461
+ onFilterChange == null ? void 0 : onFilterChange(event.filter.value);
1462
+ };
1463
+ const pageChange = (event) => {
1464
+ if (pageSize3) {
1465
+ const skip = event.page.skip;
1466
+ const take = event.page.take;
1467
+ const newSubsetData = filteredData.current.slice(skip, skip + take);
1468
+ setState(__spreadProps(__spreadValues({}, state), { subsetData: newSubsetData, skip }));
1469
+ }
1470
+ };
1471
+ useEffect8(() => {
1472
+ setValue(valueProp);
1473
+ }, [valueProp]);
1474
+ useEffect8(() => {
1475
+ setFilter(filterProp);
1476
+ }, [filterProp]);
1477
+ useEffect8(() => {
1478
+ if (pageSize3) {
1479
+ filteredData.current = dataProp.items.slice();
1480
+ }
1481
+ }, [dataProp]);
1482
+ return /* @__PURE__ */ jsx21(
1483
+ MultiSelect,
1484
+ {
1485
+ value,
1486
+ data: pageSize3 ? state.subsetData : dataProp.items,
1487
+ placeholder,
1488
+ dataItemKey: keyField2,
1489
+ textField: textField3,
1490
+ filterable,
1491
+ filter,
1492
+ virtual: pageSize3 ? {
1493
+ total: state.total,
1494
+ pageSize: pageSize3,
1495
+ skip: state.skip
1496
+ } : void 0,
1497
+ disabled,
1498
+ loading,
1499
+ className,
1500
+ onChange: handleChange,
1501
+ onFilterChange: handleFilterChange,
1502
+ onPageChange: pageChange
1503
+ }
1504
+ );
1505
+ };
1506
+ var MultiSelectClient_default = SelectClient2;
1507
+
1508
+ // src/components/MultiSelect/MultiSelectServer.tsx
1509
+ import {
1510
+ MultiSelect as MultiSelect2
1511
+ } from "@progress/kendo-react-dropdowns";
1512
+ import { useCallback as useCallback2, useEffect as useEffect9, useRef as useRef10, useState as useState7 } from "react";
1513
+ import { jsx as jsx22 } from "react/jsx-runtime";
1514
+ var MultiSelectServer = ({
1515
+ data: dataProp,
1516
+ value: valueProp,
1517
+ keyField: keyField2 = "key",
1518
+ textField: textField3 = "text",
1519
+ placeholder,
1520
+ virtual,
1521
+ filterable,
1522
+ filter: filterProp = "",
1523
+ disabled,
1524
+ loading,
1525
+ className,
1526
+ onDataChange,
1527
+ onChange,
1528
+ onFilterChange,
1529
+ getData
1530
+ }) => {
1531
+ var _a;
1532
+ const dataCaching = useRef10([]);
1533
+ const pendingRequest = useRef10();
1534
+ const requestStarted = useRef10(false);
1535
+ const emptyItem3 = { [keyField2]: 0, [textField3]: "loading ..." };
1536
+ const [loadingData3, setLoadingData] = useState7([]);
1537
+ const [data, setData] = useState7(dataProp.items);
1538
+ const [total, setTotal] = useState7(0);
1539
+ const [value, setValue] = useState7(valueProp);
1540
+ const [filter, setFilter] = useState7(filterProp);
1541
+ const pageSize3 = (_a = virtual == null ? void 0 : virtual.pageSize) != null ? _a : 10;
1542
+ const skipRef = useRef10(0);
1543
+ const resetCach = () => {
1544
+ dataCaching.current.length = 0;
1545
+ };
1546
+ const requestData = useCallback2((state) => {
1547
+ if (requestStarted.current) {
1548
+ clearTimeout(pendingRequest.current);
1549
+ pendingRequest.current = setTimeout(() => {
1550
+ requestData(state);
1551
+ }, 50);
1552
+ return;
1553
+ }
1554
+ requestStarted.current = true;
1555
+ getData(state).then(({ items, total: total2 }) => {
1556
+ const { skip } = state;
1557
+ items.forEach((item, index) => {
1558
+ dataCaching.current[index + skip] = item;
1559
+ });
1560
+ if (skip === skipRef.current) {
1561
+ setData(items);
1562
+ setTotal(total2);
1563
+ onDataChange == null ? void 0 : onDataChange({ items, total: total2 });
1564
+ }
1565
+ requestStarted.current = false;
1566
+ }).catch(() => {
1567
+ requestStarted.current = false;
1568
+ });
1569
+ }, []);
1570
+ const handleFilterChange = useCallback2((event) => {
1571
+ const filter2 = event.filter.value;
1572
+ resetCach();
1573
+ requestData({ skip: 0, filter: filter2 });
1574
+ setData(loadingData3);
1575
+ skipRef.current = 0;
1576
+ setFilter(filter2);
1577
+ onFilterChange == null ? void 0 : onFilterChange(filter2);
1578
+ }, []);
1579
+ const shouldRequestData = useCallback2((skip) => {
1580
+ for (let i = 0; i < pageSize3; i++) {
1581
+ if (!dataCaching.current[skip + i]) {
1582
+ return true;
1583
+ }
1584
+ }
1585
+ return false;
1586
+ }, []);
1587
+ const getCachedData = useCallback2((skip) => {
1588
+ const data2 = [];
1589
+ for (let i = 0; i < pageSize3; i++) {
1590
+ data2.push(dataCaching.current[i + skip] || emptyItem3);
1591
+ }
1592
+ return data2;
1593
+ }, []);
1594
+ const pageChange = useCallback2(
1595
+ (event) => {
1596
+ const newSkip = event.page.skip;
1597
+ if (shouldRequestData(newSkip)) {
1598
+ requestData({ skip: newSkip, filter });
1599
+ }
1600
+ const data2 = getCachedData(newSkip);
1601
+ setData(data2);
1602
+ skipRef.current = newSkip;
1603
+ },
1604
+ [getCachedData, requestData, shouldRequestData, filter]
1605
+ );
1606
+ const handleChange = useCallback2((event) => {
1607
+ const value2 = event.target.value;
1608
+ if (value2 && value2[textField3] === emptyItem3[textField3]) {
1609
+ return;
1610
+ }
1611
+ setValue(value2);
1612
+ onChange(value2);
1613
+ }, []);
1614
+ useEffect9(() => {
1615
+ const pageSize4 = 10;
1616
+ const loadingData4 = [];
1617
+ while (loadingData4.length < pageSize4) {
1618
+ loadingData4.push(emptyItem3);
1619
+ }
1620
+ setLoadingData(loadingData4);
1621
+ }, []);
1622
+ useEffect9(() => {
1623
+ setData(dataProp.items);
1624
+ }, [dataProp]);
1625
+ useEffect9(() => {
1626
+ setValue(valueProp);
1627
+ }, [valueProp]);
1628
+ useEffect9(() => {
1629
+ setFilter(filterProp);
1630
+ }, [filterProp]);
1631
+ useEffect9(() => {
1632
+ requestData({ skip: 0, filter });
1633
+ return () => {
1634
+ resetCach();
1635
+ };
1636
+ }, [filter, requestData]);
1637
+ return /* @__PURE__ */ jsx22(
1638
+ MultiSelect2,
1639
+ {
1640
+ data,
1641
+ value,
1642
+ placeholder,
1643
+ dataItemKey: keyField2,
1644
+ textField: textField3,
1645
+ filterable,
1646
+ onFilterChange: handleFilterChange,
1647
+ virtual: {
1648
+ pageSize: pageSize3,
1649
+ skip: skipRef.current,
1650
+ total
1651
+ },
1652
+ disabled,
1653
+ loading,
1654
+ className,
1655
+ onChange: handleChange,
1656
+ onPageChange: pageChange
1657
+ }
1658
+ );
1659
+ };
1660
+ var MultiSelectServer_default = MultiSelectServer;
1661
+
1662
+ // src/components/MultiSelect/MultiSelect.tsx
1663
+ import { jsx as jsx23 } from "react/jsx-runtime";
1664
+ var MultiSelect3 = (props) => {
1665
+ return props.filterMode === "client" ? /* @__PURE__ */ jsx23(MultiSelectClient_default, __spreadValues({}, props)) : /* @__PURE__ */ jsx23(MultiSelectServer_default, __spreadValues({}, props));
1666
+ };
1667
+ var MultiSelect_default = MultiSelect3;
1668
+
1086
1669
  // src/hooks/useLocalStorage.tsx
1087
- import { useCallback, useEffect as useEffect7, useState as useState4 } from "react";
1670
+ import { useCallback as useCallback3, useEffect as useEffect11, useState as useState8 } from "react";
1088
1671
 
1089
1672
  // src/hooks/useEventListener.tsx
1090
- import { useRef as useRef6 } from "react";
1673
+ import { useRef as useRef11 } from "react";
1091
1674
 
1092
1675
  // src/hooks/useIsomorphicLayoutEffect.tsx
1093
- import { useEffect as useEffect6, useLayoutEffect } from "react";
1094
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect6;
1676
+ import { useEffect as useEffect10, useLayoutEffect } from "react";
1677
+ var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect10;
1095
1678
  var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
1096
1679
 
1097
1680
  // src/hooks/useEventListener.tsx
1098
1681
  function useEventListener(handler) {
1099
- const savedHandler = useRef6(handler);
1682
+ const savedHandler = useRef11(handler);
1100
1683
  useIsomorphicLayoutEffect_default(() => {
1101
1684
  savedHandler.current = handler;
1102
1685
  }, [handler]);
@@ -1105,7 +1688,7 @@ var useEventListener_default = useEventListener;
1105
1688
 
1106
1689
  // src/hooks/useLocalStorage.tsx
1107
1690
  function useLocalStorage(key, initialValue) {
1108
- const readValue = useCallback(() => {
1691
+ const readValue = useCallback3(() => {
1109
1692
  if (typeof window === "undefined") {
1110
1693
  return initialValue;
1111
1694
  }
@@ -1117,8 +1700,8 @@ function useLocalStorage(key, initialValue) {
1117
1700
  return initialValue;
1118
1701
  }
1119
1702
  }, [initialValue, key]);
1120
- const [storedValue, setStoredValue] = useState4(readValue);
1121
- const setValue = useCallback(
1703
+ const [storedValue, setStoredValue] = useState8(readValue);
1704
+ const setValue = useCallback3(
1122
1705
  (value) => {
1123
1706
  if (typeof window == "undefined") {
1124
1707
  console.warn(`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`);
@@ -1134,10 +1717,10 @@ function useLocalStorage(key, initialValue) {
1134
1717
  },
1135
1718
  [key, storedValue]
1136
1719
  );
1137
- useEffect7(() => {
1720
+ useEffect11(() => {
1138
1721
  setStoredValue(readValue());
1139
1722
  }, []);
1140
- const handleStorageChange = useCallback(() => {
1723
+ const handleStorageChange = useCallback3(() => {
1141
1724
  setStoredValue(readValue());
1142
1725
  }, [readValue]);
1143
1726
  useEventListener_default("storage", handleStorageChange);
@@ -1148,28 +1731,27 @@ function parseJSON(value) {
1148
1731
  try {
1149
1732
  return value === "undefined" ? void 0 : JSON.parse(value != null ? value : "");
1150
1733
  } catch (e) {
1151
- console.log("parsing error on", { value });
1152
1734
  return void 0;
1153
1735
  }
1154
1736
  }
1155
1737
 
1156
1738
  // src/hooks/usePrevious.tsx
1157
- import { useEffect as useEffect8, useRef as useRef7 } from "react";
1739
+ import { useEffect as useEffect12, useRef as useRef12 } from "react";
1158
1740
  var usePrevious = (value) => {
1159
- const ref = useRef7();
1160
- useEffect8(() => {
1741
+ const ref = useRef12();
1742
+ useEffect12(() => {
1161
1743
  ref.current = value;
1162
1744
  });
1163
1745
  return ref.current;
1164
1746
  };
1165
1747
 
1166
1748
  // src/hooks/useStep.tsx
1167
- import { useCallback as useCallback2, useMemo as useMemo4, useState as useState5 } from "react";
1749
+ import { useCallback as useCallback4, useMemo as useMemo4, useState as useState9 } from "react";
1168
1750
  var useStep = (maxStep) => {
1169
- const [currentStep, setCurrentStep] = useState5(1);
1751
+ const [currentStep, setCurrentStep] = useState9(1);
1170
1752
  const canGoToNextStep = useMemo4(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
1171
1753
  const canGoToPrevStep = useMemo4(() => currentStep - 1 >= 1, [currentStep]);
1172
- const setStep = useCallback2(
1754
+ const setStep = useCallback4(
1173
1755
  (step) => {
1174
1756
  const newStep = step instanceof Function ? step(currentStep) : step;
1175
1757
  if (newStep >= 1 && newStep <= maxStep) {
@@ -1180,17 +1762,17 @@ var useStep = (maxStep) => {
1180
1762
  },
1181
1763
  [maxStep, currentStep]
1182
1764
  );
1183
- const goToNextStep = useCallback2(() => {
1765
+ const goToNextStep = useCallback4(() => {
1184
1766
  if (canGoToNextStep) {
1185
1767
  setCurrentStep((step) => step + 1);
1186
1768
  }
1187
1769
  }, [canGoToNextStep]);
1188
- const goToPrevStep = useCallback2(() => {
1770
+ const goToPrevStep = useCallback4(() => {
1189
1771
  if (canGoToPrevStep) {
1190
1772
  setCurrentStep((step) => step - 1);
1191
1773
  }
1192
1774
  }, [canGoToPrevStep]);
1193
- const reset = useCallback2(() => {
1775
+ const reset = useCallback4(() => {
1194
1776
  setCurrentStep(1);
1195
1777
  }, []);
1196
1778
  return [
@@ -1214,6 +1796,7 @@ export {
1214
1796
  CollapseContent_default as CollapseContent,
1215
1797
  CollapseContext_default as CollapseContext,
1216
1798
  CollapseTrigger_default as CollapseTrigger,
1799
+ Drawer_default as Drawer,
1217
1800
  Icon_default as Icon,
1218
1801
  Menu_default as Menu,
1219
1802
  MenuContext_default as MenuContext,
@@ -1221,7 +1804,9 @@ export {
1221
1804
  MenuItem_default as MenuItem,
1222
1805
  MenuSubmenu_default as MenuSubmenu,
1223
1806
  MenuValueContext_default as MenuValueContext,
1807
+ MultiSelect_default as MultiSelect,
1224
1808
  Portal_default as Portal,
1809
+ Select_default as Select,
1225
1810
  Tab,
1226
1811
  Tabs,
1227
1812
  Toolbar_default as Toolbar,