@eztrak/shared 0.9.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import {
3
3
  confirmationAlert,
4
4
  toDateInputValue,
5
5
  truncateText
6
- } from "./chunk-GVIHLI67.mjs";
6
+ } from "./chunk-BMX2RODZ.mjs";
7
7
 
8
8
  // src/components/tabs/EztrakTabs.tsx
9
9
  import {
@@ -533,9 +533,119 @@ function CustomPagination({
533
533
  );
534
534
  }
535
535
 
536
- // src/components/search-filters/ResetFiltersButton.tsx
536
+ // src/components/search-filters/DropdownFilter.tsx
537
+ import Select from "react-select";
537
538
  import { useSearchParams as useSearchParams2 } from "react-router-dom";
538
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
539
+
540
+ // src/components/search-filters/dropdownStyles.ts
541
+ var themeColors = {
542
+ primary: "#FF7335",
543
+ primaryHover: "#E65C2E",
544
+ lightBackground: "#FFF3EB",
545
+ textColor: "black",
546
+ white: "white"
547
+ };
548
+ var dropdownStyles = (_borderRadius = "5px") => ({
549
+ control: (provided, state) => ({
550
+ ...provided,
551
+ fontSize: "14px",
552
+ padding: "4px 8px",
553
+ minWidth: "180px",
554
+ borderRadius: "5px",
555
+ cursor: "pointer",
556
+ borderColor: state.isFocused ? themeColors.primary : "#e0e0e0",
557
+ boxShadow: state.isFocused ? "0 0 0 2px rgba(255, 115, 53, 0.3)" : "none",
558
+ "&:hover": {
559
+ borderColor: themeColors.primary
560
+ },
561
+ transition: "border-color 0.2s, box-shadow 0.2s",
562
+ zIndex: 50
563
+ }),
564
+ option: (provided, state) => ({
565
+ ...provided,
566
+ fontSize: "14px",
567
+ backgroundColor: state.isSelected ? themeColors.primary : state.isFocused ? themeColors.lightBackground : themeColors.white,
568
+ borderRadius: "5px",
569
+ cursor: "pointer",
570
+ borderColor: state.isFocused ? themeColors.primary : "#e0e0e0",
571
+ color: state.isSelected ? themeColors.white : state.isFocused ? themeColors.primary : themeColors.textColor,
572
+ "&:hover": {
573
+ backgroundColor: themeColors.lightBackground,
574
+ color: themeColors.primary
575
+ },
576
+ "&:active": {
577
+ backgroundColor: themeColors.primary,
578
+ color: themeColors.white
579
+ },
580
+ transition: "background-color 0.2s, color 0.2s",
581
+ zIndex: 50
582
+ }),
583
+ singleValue: (provided) => ({
584
+ ...provided,
585
+ color: themeColors.textColor,
586
+ zIndex: 50
587
+ }),
588
+ menu: (provided) => ({
589
+ ...provided,
590
+ borderRadius: "5px",
591
+ boxShadow: "0 4px 6px rgba(0, 0, 0, 0.1)",
592
+ marginTop: "4px",
593
+ zIndex: 50
594
+ }),
595
+ dropdownIndicator: (provided) => ({
596
+ ...provided,
597
+ color: themeColors.primary,
598
+ "&:hover": {
599
+ color: themeColors.primaryHover
600
+ },
601
+ zIndex: 50
602
+ }),
603
+ indicatorSeparator: () => ({
604
+ display: "none"
605
+ })
606
+ });
607
+
608
+ // src/components/search-filters/DropdownFilter.tsx
609
+ import { jsx as jsx3 } from "react/jsx-runtime";
610
+ function DropdownFilter({
611
+ name,
612
+ valueKey = "id",
613
+ options,
614
+ placeholder,
615
+ borderRadius = "20px",
616
+ ...otherProps
617
+ }) {
618
+ const [searchParams, setSearchParams] = useSearchParams2();
619
+ const currentValue = searchParams.get(name);
620
+ const selectedOption = currentValue ? options?.find(
621
+ (option) => option[valueKey]?.toString() === currentValue
622
+ ) ?? null : null;
623
+ const handleChange = (selected) => {
624
+ setSearchParams((prev) => {
625
+ if (!selected || selected[valueKey] === "") {
626
+ prev.delete(name);
627
+ } else {
628
+ prev.set(name, String(selected[valueKey]));
629
+ }
630
+ return prev;
631
+ });
632
+ };
633
+ return /* @__PURE__ */ jsx3(
634
+ Select,
635
+ {
636
+ placeholder: placeholder ?? `Select ${name}`,
637
+ value: selectedOption,
638
+ onChange: handleChange,
639
+ options,
640
+ styles: dropdownStyles(borderRadius),
641
+ ...otherProps
642
+ }
643
+ );
644
+ }
645
+
646
+ // src/components/search-filters/ResetFiltersButton.tsx
647
+ import { useSearchParams as useSearchParams3 } from "react-router-dom";
648
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
539
649
  var BASE_STYLES = "inline-flex items-center gap-1.5 px-5 py-3 rounded-md text-sm font-medium transition-colors duration-200 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50";
540
650
  var VARIANTS = {
541
651
  primary: "bg-white text-secondary border border-secondary hover:bg-lightGray hover:text-black",
@@ -564,10 +674,10 @@ function ResetIcon({
564
674
  "aria-hidden": "true",
565
675
  className,
566
676
  children: [
567
- /* @__PURE__ */ jsx3("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
568
- /* @__PURE__ */ jsx3("path", { d: "M21 3v5h-5" }),
569
- /* @__PURE__ */ jsx3("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
570
- /* @__PURE__ */ jsx3("path", { d: "M8 16H3v5" })
677
+ /* @__PURE__ */ jsx4("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
678
+ /* @__PURE__ */ jsx4("path", { d: "M21 3v5h-5" }),
679
+ /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
680
+ /* @__PURE__ */ jsx4("path", { d: "M8 16H3v5" })
571
681
  ]
572
682
  }
573
683
  );
@@ -581,12 +691,12 @@ function ResetFiltersButton({
581
691
  onReset,
582
692
  disabled = false
583
693
  }) {
584
- const [, setSearchParams] = useSearchParams2();
694
+ const [, setSearchParams] = useSearchParams3();
585
695
  const handleReset = () => {
586
696
  setSearchParams({}, { replace: true });
587
697
  onReset?.();
588
698
  };
589
- const resolvedIcon = icon === void 0 ? /* @__PURE__ */ jsx3(ResetIcon, { size: 16 }) : icon;
699
+ const resolvedIcon = icon === void 0 ? /* @__PURE__ */ jsx4(ResetIcon, { size: 16 }) : icon;
590
700
  return /* @__PURE__ */ jsxs3(
591
701
  "button",
592
702
  {
@@ -609,8 +719,8 @@ import {
609
719
  useState as useState2
610
720
  } from "react";
611
721
  import { FiSearch } from "react-icons/fi";
612
- import { useSearchParams as useSearchParams3 } from "react-router-dom";
613
- import { jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
722
+ import { useSearchParams as useSearchParams4 } from "react-router-dom";
723
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
614
724
  function SearchInput({
615
725
  placeholder = "Search...",
616
726
  searchBtn = "",
@@ -627,7 +737,7 @@ function SearchInput({
627
737
  defaultValue,
628
738
  ...props
629
739
  }) {
630
- const [searchParams, setSearchParams] = useSearchParams3();
740
+ const [searchParams, setSearchParams] = useSearchParams4();
631
741
  const queryParam = searchParams.get(defaultParam) || defaultValue || "";
632
742
  const [inputValue, setInputValue] = useState2(queryParam);
633
743
  const debounceTimerRef = useRef2(null);
@@ -688,7 +798,7 @@ function SearchInput({
688
798
  searchWrapperClass
689
799
  ),
690
800
  children: [
691
- showIcon && /* @__PURE__ */ jsx4(
801
+ showIcon && /* @__PURE__ */ jsx5(
692
802
  "button",
693
803
  {
694
804
  type: "submit",
@@ -696,7 +806,7 @@ function SearchInput({
696
806
  "bg-white text-secondary rounded-full flex items-center justify-center w-10 h-10",
697
807
  searchBtn
698
808
  ),
699
- children: customIcon ? customIcon : /* @__PURE__ */ jsx4(
809
+ children: customIcon ? customIcon : /* @__PURE__ */ jsx5(
700
810
  FiSearch,
701
811
  {
702
812
  className: cn("h-5 w-5 text-gray-400", searchIconClassName)
@@ -704,7 +814,7 @@ function SearchInput({
704
814
  )
705
815
  }
706
816
  ),
707
- /* @__PURE__ */ jsx4(
817
+ /* @__PURE__ */ jsx5(
708
818
  "input",
709
819
  {
710
820
  value: inputValue,
@@ -729,9 +839,9 @@ import { FaFileExport, FaPrint } from "react-icons/fa";
729
839
  import { IoCloseCircleOutline } from "react-icons/io5";
730
840
 
731
841
  // src/components/Loader/Loader.tsx
732
- import { jsx as jsx5 } from "react/jsx-runtime";
842
+ import { jsx as jsx6 } from "react/jsx-runtime";
733
843
  var Loader = ({ className, color = "#F54C00", size = "50px", speed = "1s" }) => {
734
- return /* @__PURE__ */ jsx5("div", { className: `loader`, children: /* @__PURE__ */ jsx5(
844
+ return /* @__PURE__ */ jsx6("div", { className: `loader`, children: /* @__PURE__ */ jsx6(
735
845
  "div",
736
846
  {
737
847
  className: `spinner ${className}`,
@@ -748,7 +858,7 @@ var Loader = ({ className, color = "#F54C00", size = "50px", speed = "1s" }) =>
748
858
  };
749
859
 
750
860
  // src/components/modal/Modal.tsx
751
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
861
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
752
862
  function Modal({
753
863
  isOpen,
754
864
  onClose,
@@ -789,7 +899,7 @@ function Modal({
789
899
  document.body.style.overflow = "unset";
790
900
  };
791
901
  }, [isOpen, onClose, closeOnEscape]);
792
- const modalContent = /* @__PURE__ */ jsx6(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxs5(
902
+ const modalContent = /* @__PURE__ */ jsx7(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxs5(
793
903
  "div",
794
904
  {
795
905
  className: "fixed inset-0 bg-gray-500 bg-opacity-50 flex justify-center items-center z-1000 p-4",
@@ -837,7 +947,7 @@ function Modal({
837
947
  },
838
948
  className: "sticky top-0 z-10 flex justify-between items-center bg-white text-2xl p-8 pb-4 rounded-t-3xl",
839
949
  children: [
840
- /* @__PURE__ */ jsx6("h2", { className: "font-semibold", children: title }),
950
+ /* @__PURE__ */ jsx7("h2", { className: "font-semibold", children: title }),
841
951
  /* @__PURE__ */ jsxs5("div", { className: "flex items-center space-x-4", children: [
842
952
  onPrint && /* @__PURE__ */ jsxs5(
843
953
  "button",
@@ -845,8 +955,8 @@ function Modal({
845
955
  onClick: onPrint,
846
956
  className: "flex items-center gap-1 hover:text-gray-300 text-sm border p-1 rounded",
847
957
  children: [
848
- /* @__PURE__ */ jsx6(FaPrint, { name: "FaPrint" }),
849
- /* @__PURE__ */ jsx6("span", { children: "Print" })
958
+ /* @__PURE__ */ jsx7(FaPrint, { name: "FaPrint" }),
959
+ /* @__PURE__ */ jsx7("span", { children: "Print" })
850
960
  ]
851
961
  }
852
962
  ),
@@ -856,24 +966,24 @@ function Modal({
856
966
  onClick: onExport,
857
967
  className: "flex items-center gap-1 hover:text-gray-300 text-sm border p-1 rounded",
858
968
  children: [
859
- /* @__PURE__ */ jsx6(FaFileExport, {}),
860
- /* @__PURE__ */ jsx6("span", { children: "Export" })
969
+ /* @__PURE__ */ jsx7(FaFileExport, {}),
970
+ /* @__PURE__ */ jsx7("span", { children: "Export" })
861
971
  ]
862
972
  }
863
973
  ),
864
- /* @__PURE__ */ jsx6(
974
+ /* @__PURE__ */ jsx7(
865
975
  "button",
866
976
  {
867
977
  onClick: onClose,
868
978
  className: "px-2 hover:opacity-70 transition-opacity",
869
- children: /* @__PURE__ */ jsx6(IoCloseCircleOutline, { color: "#8898AA", size: 25 })
979
+ children: /* @__PURE__ */ jsx7(IoCloseCircleOutline, { color: "#8898AA", size: 25 })
870
980
  }
871
981
  )
872
982
  ] })
873
983
  ]
874
984
  }
875
985
  ),
876
- /* @__PURE__ */ jsx6(
986
+ /* @__PURE__ */ jsx7(
877
987
  "div",
878
988
  {
879
989
  className: cn(
@@ -883,7 +993,7 @@ function Modal({
883
993
  children
884
994
  }
885
995
  ),
886
- footer && /* @__PURE__ */ jsx6(
996
+ footer && /* @__PURE__ */ jsx7(
887
997
  "div",
888
998
  {
889
999
  className: cn("sticky bottom-0 flex justify-end p-4 space-x-4 border-t bg-white ", footerClassName),
@@ -897,7 +1007,7 @@ function Modal({
897
1007
  ]
898
1008
  }
899
1009
  ),
900
- isLoading && /* @__PURE__ */ jsx6(
1010
+ isLoading && /* @__PURE__ */ jsx7(
901
1011
  "div",
902
1012
  {
903
1013
  className: "fixed inset-0 flex items-center justify-center bg-gray-200/60",
@@ -906,7 +1016,7 @@ function Modal({
906
1016
  "aria-live": "polite",
907
1017
  role: "status",
908
1018
  onClick: (e) => e.stopPropagation(),
909
- children: customLoader ? customLoader : /* @__PURE__ */ jsx6(Loader, { size: "48px" })
1019
+ children: customLoader ? customLoader : /* @__PURE__ */ jsx7(Loader, { size: "48px" })
910
1020
  }
911
1021
  )
912
1022
  ]
@@ -922,7 +1032,7 @@ function Modal({
922
1032
  }
923
1033
 
924
1034
  // src/components/skeleton/CardSkeleton.tsx
925
- import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1035
+ import { Fragment, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
926
1036
  var DEFAULT_LINE_WIDTHS = ["w-32", "w-48"];
927
1037
  function shouldShowAvatar(variant, showAvatar) {
928
1038
  return showAvatar ?? variant === "profile";
@@ -931,7 +1041,7 @@ function shouldShowImage(variant, showImage) {
931
1041
  return showImage ?? variant === "image";
932
1042
  }
933
1043
  function AvatarSkeleton({ className }) {
934
- return /* @__PURE__ */ jsx7(
1044
+ return /* @__PURE__ */ jsx8(
935
1045
  "svg",
936
1046
  {
937
1047
  className: cn("w-10 h-10 text-gray-200 dark:text-gray-700", className),
@@ -939,7 +1049,7 @@ function AvatarSkeleton({ className }) {
939
1049
  xmlns: "http://www.w3.org/2000/svg",
940
1050
  fill: "currentColor",
941
1051
  viewBox: "0 0 20 20",
942
- children: /* @__PURE__ */ jsx7("path", { d: "M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm0 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 13a8.949 8.949 0 0 1-4.951-1.488A3.987 3.987 0 0 1 9 13h2a3.987 3.987 0 0 1 3.951 3.512A8.949 8.949 0 0 1 10 18Z" })
1052
+ children: /* @__PURE__ */ jsx8("path", { d: "M10 0a10 10 0 1 0 10 10A10.011 10.011 0 0 0 10 0Zm0 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 13a8.949 8.949 0 0 1-4.951-1.488A3.987 3.987 0 0 1 9 13h2a3.987 3.987 0 0 1 3.951 3.512A8.949 8.949 0 0 1 10 18Z" })
943
1053
  }
944
1054
  );
945
1055
  }
@@ -948,7 +1058,7 @@ function SkeletonBlock({
948
1058
  className,
949
1059
  isFirst
950
1060
  }) {
951
- return /* @__PURE__ */ jsx7(
1061
+ return /* @__PURE__ */ jsx8(
952
1062
  "div",
953
1063
  {
954
1064
  className: cn(
@@ -987,7 +1097,7 @@ function CardSkeleton({
987
1097
  style: { animationDuration, ...style },
988
1098
  ...props,
989
1099
  children: [
990
- renderImage ? /* @__PURE__ */ jsx7(
1100
+ renderImage ? /* @__PURE__ */ jsx8(
991
1101
  "div",
992
1102
  {
993
1103
  className: cn(
@@ -997,8 +1107,8 @@ function CardSkeleton({
997
1107
  }
998
1108
  ) : null,
999
1109
  /* @__PURE__ */ jsxs6("div", { className: cn("flex items-center mt-4 gap-4", contentClassName), children: [
1000
- renderAvatar ? /* @__PURE__ */ jsx7(AvatarSkeleton, { className: avatarClassName }) : null,
1001
- /* @__PURE__ */ jsx7("div", { children: Array.from({ length: Math.max(1, lines) }, (_2, lineIndex) => /* @__PURE__ */ jsx7(
1110
+ renderAvatar ? /* @__PURE__ */ jsx8(AvatarSkeleton, { className: avatarClassName }) : null,
1111
+ /* @__PURE__ */ jsx8("div", { children: Array.from({ length: Math.max(1, lines) }, (_2, lineIndex) => /* @__PURE__ */ jsx8(
1002
1112
  SkeletonBlock,
1003
1113
  {
1004
1114
  widthClass: lineWidths[lineIndex] ?? lineWidths[lineWidths.length - 1] ?? DEFAULT_LINE_WIDTHS[1],
@@ -1008,19 +1118,19 @@ function CardSkeleton({
1008
1118
  lineIndex
1009
1119
  )) })
1010
1120
  ] }),
1011
- /* @__PURE__ */ jsx7("span", { className: "sr-only", children: srLabel })
1121
+ /* @__PURE__ */ jsx8("span", { className: "sr-only", children: srLabel })
1012
1122
  ]
1013
1123
  },
1014
1124
  index
1015
1125
  );
1016
1126
  });
1017
- return /* @__PURE__ */ jsx7(Fragment, { children: skeletons });
1127
+ return /* @__PURE__ */ jsx8(Fragment, { children: skeletons });
1018
1128
  }
1019
1129
 
1020
1130
  // src/components/tooltip/ToolTip.tsx
1021
1131
  import { useId as useId2 } from "react";
1022
1132
  import { Tooltip } from "react-tooltip";
1023
- import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1133
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
1024
1134
  var defaultTooltipStyle = {
1025
1135
  color: "#fff",
1026
1136
  borderRadius: "5px",
@@ -1047,10 +1157,10 @@ function ToolTip({
1047
1157
  const tooltipId = `eztrak-tooltip-${generatedId.replace(/:/g, "")}`;
1048
1158
  const tooltipText = String(text ?? "");
1049
1159
  if (disabled || !tooltipText) {
1050
- return /* @__PURE__ */ jsx8("span", { className, children });
1160
+ return /* @__PURE__ */ jsx9("span", { className, children });
1051
1161
  }
1052
1162
  return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1053
- /* @__PURE__ */ jsx8(
1163
+ /* @__PURE__ */ jsx9(
1054
1164
  "span",
1055
1165
  {
1056
1166
  className,
@@ -1060,7 +1170,7 @@ function ToolTip({
1060
1170
  children
1061
1171
  }
1062
1172
  ),
1063
- /* @__PURE__ */ jsx8(
1173
+ /* @__PURE__ */ jsx9(
1064
1174
  Tooltip,
1065
1175
  {
1066
1176
  id: tooltipId,
@@ -1076,7 +1186,7 @@ function ToolTip({
1076
1186
  }
1077
1187
 
1078
1188
  // src/components/tooltip/TooltipText.tsx
1079
- import { jsx as jsx9 } from "react/jsx-runtime";
1189
+ import { jsx as jsx10 } from "react/jsx-runtime";
1080
1190
  function TooltipText({
1081
1191
  text = "",
1082
1192
  maxLength = 20,
@@ -1096,7 +1206,7 @@ function TooltipText({
1096
1206
  const displayText = truncateText(fullText, maxLength);
1097
1207
  const isTruncated = displayText !== fullText;
1098
1208
  const tooltipDisabled = !showTooltip || !hasValue || tooltipWhenTruncatedOnly && !isTruncated;
1099
- return /* @__PURE__ */ jsx9(
1209
+ return /* @__PURE__ */ jsx10(
1100
1210
  ToolTip,
1101
1211
  {
1102
1212
  text: fullText,
@@ -1108,7 +1218,7 @@ function TooltipText({
1108
1218
  tooltipStyle,
1109
1219
  wrapperTabIndex: tooltipDisabled ? void 0 : 0,
1110
1220
  disabled: tooltipDisabled,
1111
- children: /* @__PURE__ */ jsx9("span", { className: cn("inline-block max-w-full align-bottom", textClassName), children: displayText })
1221
+ children: /* @__PURE__ */ jsx10("span", { className: cn("inline-block max-w-full align-bottom", textClassName), children: displayText })
1112
1222
  }
1113
1223
  );
1114
1224
  }
@@ -1123,7 +1233,7 @@ import {
1123
1233
  useState as useState3
1124
1234
  } from "react";
1125
1235
  import toast from "react-hot-toast";
1126
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
1236
+ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1127
1237
  function ButtonSpinner() {
1128
1238
  return /* @__PURE__ */ jsxs8(
1129
1239
  "svg",
@@ -1135,7 +1245,7 @@ function ButtonSpinner() {
1135
1245
  fill: "none",
1136
1246
  "aria-hidden": true,
1137
1247
  children: [
1138
- /* @__PURE__ */ jsx10(
1248
+ /* @__PURE__ */ jsx11(
1139
1249
  "circle",
1140
1250
  {
1141
1251
  cx: "12",
@@ -1146,7 +1256,7 @@ function ButtonSpinner() {
1146
1256
  strokeOpacity: "0.25"
1147
1257
  }
1148
1258
  ),
1149
- /* @__PURE__ */ jsx10(
1259
+ /* @__PURE__ */ jsx11(
1150
1260
  "path",
1151
1261
  {
1152
1262
  d: "M12 2a10 10 0 0 1 10 10",
@@ -1301,11 +1411,11 @@ var CustomCellEditor = forwardRef(
1301
1411
  className: inputClassName ?? defaultInputClass,
1302
1412
  disabled: isLoading,
1303
1413
  children: [
1304
- /* @__PURE__ */ jsx10("option", { value: "", disabled: true, children: "Select option..." }),
1305
- normalizedOptions.map((opt) => /* @__PURE__ */ jsx10("option", { value: opt.value, children: opt.label }, opt.value))
1414
+ /* @__PURE__ */ jsx11("option", { value: "", disabled: true, children: "Select option..." }),
1415
+ normalizedOptions.map((opt) => /* @__PURE__ */ jsx11("option", { value: opt.value, children: opt.label }, opt.value))
1306
1416
  ]
1307
1417
  }
1308
- ) : /* @__PURE__ */ jsx10(
1418
+ ) : /* @__PURE__ */ jsx11(
1309
1419
  "input",
1310
1420
  {
1311
1421
  ref: inputRef,
@@ -1318,7 +1428,7 @@ var CustomCellEditor = forwardRef(
1318
1428
  disabled: isLoading
1319
1429
  }
1320
1430
  ),
1321
- /* @__PURE__ */ jsx10(
1431
+ /* @__PURE__ */ jsx11(
1322
1432
  "button",
1323
1433
  {
1324
1434
  type: "button",
@@ -1327,10 +1437,10 @@ var CustomCellEditor = forwardRef(
1327
1437
  className: saveButtonClassName ?? (saveButtonStyle ? void 0 : defaultSaveBtnClass),
1328
1438
  style: saveButtonStyle,
1329
1439
  title: "Save (Enter)",
1330
- children: isLoading ? loadingIndicator ?? /* @__PURE__ */ jsx10(ButtonSpinner, {}) : saveButtonContent ?? "Save"
1440
+ children: isLoading ? loadingIndicator ?? /* @__PURE__ */ jsx11(ButtonSpinner, {}) : saveButtonContent ?? "Save"
1331
1441
  }
1332
1442
  ),
1333
- /* @__PURE__ */ jsx10(
1443
+ /* @__PURE__ */ jsx11(
1334
1444
  "button",
1335
1445
  {
1336
1446
  type: "button",
@@ -1354,6 +1464,8 @@ export {
1354
1464
  ResetColumnsButton,
1355
1465
  TableLayoutToolbarControls,
1356
1466
  CustomPagination,
1467
+ dropdownStyles,
1468
+ DropdownFilter,
1357
1469
  ResetFiltersButton,
1358
1470
  SearchInput,
1359
1471
  Loader,
@@ -1363,4 +1475,4 @@ export {
1363
1475
  TooltipText,
1364
1476
  CustomCellEditor
1365
1477
  };
1366
- //# sourceMappingURL=chunk-2MTTG7D2.mjs.map
1478
+ //# sourceMappingURL=chunk-PHK4IOCF.mjs.map