@eztrak/shared 0.11.0 → 0.12.1

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.
@@ -533,9 +533,130 @@ 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
+ className,
617
+ isClearable = true,
618
+ isSearchable = true,
619
+ isDisabled = false,
620
+ isLoading = false,
621
+ ...otherProps
622
+ }) {
623
+ const [searchParams, setSearchParams] = useSearchParams2();
624
+ const currentValue = searchParams.get(name);
625
+ const selectedOption = currentValue ? options?.find(
626
+ (option) => option[valueKey]?.toString() === currentValue
627
+ ) ?? null : null;
628
+ const handleChange = (selected) => {
629
+ setSearchParams((prev) => {
630
+ if (!selected || selected[valueKey] === "") {
631
+ prev.delete(name);
632
+ } else {
633
+ prev.set(name, String(selected[valueKey]));
634
+ }
635
+ return prev;
636
+ });
637
+ };
638
+ return /* @__PURE__ */ jsx3("div", { className: cn(className), children: /* @__PURE__ */ jsx3(
639
+ Select,
640
+ {
641
+ placeholder: placeholder ?? `Select ${name}`,
642
+ value: selectedOption,
643
+ onChange: handleChange,
644
+ options,
645
+ isClearable,
646
+ isSearchable,
647
+ isDisabled,
648
+ isLoading,
649
+ getOptionValue: (option) => String(option[valueKey] ?? ""),
650
+ getOptionLabel: (option) => String(option.label ?? option.name ?? option[valueKey] ?? ""),
651
+ styles: dropdownStyles(borderRadius),
652
+ ...otherProps
653
+ }
654
+ ) });
655
+ }
656
+
657
+ // src/components/search-filters/ResetFiltersButton.tsx
658
+ import { useSearchParams as useSearchParams3 } from "react-router-dom";
659
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
539
660
  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
661
  var VARIANTS = {
541
662
  primary: "bg-white text-secondary border border-secondary hover:bg-lightGray hover:text-black",
@@ -564,10 +685,10 @@ function ResetIcon({
564
685
  "aria-hidden": "true",
565
686
  className,
566
687
  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" })
688
+ /* @__PURE__ */ jsx4("path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" }),
689
+ /* @__PURE__ */ jsx4("path", { d: "M21 3v5h-5" }),
690
+ /* @__PURE__ */ jsx4("path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" }),
691
+ /* @__PURE__ */ jsx4("path", { d: "M8 16H3v5" })
571
692
  ]
572
693
  }
573
694
  );
@@ -581,12 +702,12 @@ function ResetFiltersButton({
581
702
  onReset,
582
703
  disabled = false
583
704
  }) {
584
- const [, setSearchParams] = useSearchParams2();
705
+ const [, setSearchParams] = useSearchParams3();
585
706
  const handleReset = () => {
586
707
  setSearchParams({}, { replace: true });
587
708
  onReset?.();
588
709
  };
589
- const resolvedIcon = icon === void 0 ? /* @__PURE__ */ jsx3(ResetIcon, { size: 16 }) : icon;
710
+ const resolvedIcon = icon === void 0 ? /* @__PURE__ */ jsx4(ResetIcon, { size: 16 }) : icon;
590
711
  return /* @__PURE__ */ jsxs3(
591
712
  "button",
592
713
  {
@@ -609,8 +730,8 @@ import {
609
730
  useState as useState2
610
731
  } from "react";
611
732
  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";
733
+ import { useSearchParams as useSearchParams4 } from "react-router-dom";
734
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
614
735
  function SearchInput({
615
736
  placeholder = "Search...",
616
737
  searchBtn = "",
@@ -627,7 +748,7 @@ function SearchInput({
627
748
  defaultValue,
628
749
  ...props
629
750
  }) {
630
- const [searchParams, setSearchParams] = useSearchParams3();
751
+ const [searchParams, setSearchParams] = useSearchParams4();
631
752
  const queryParam = searchParams.get(defaultParam) || defaultValue || "";
632
753
  const [inputValue, setInputValue] = useState2(queryParam);
633
754
  const debounceTimerRef = useRef2(null);
@@ -688,7 +809,7 @@ function SearchInput({
688
809
  searchWrapperClass
689
810
  ),
690
811
  children: [
691
- showIcon && /* @__PURE__ */ jsx4(
812
+ showIcon && /* @__PURE__ */ jsx5(
692
813
  "button",
693
814
  {
694
815
  type: "submit",
@@ -696,7 +817,7 @@ function SearchInput({
696
817
  "bg-white text-secondary rounded-full flex items-center justify-center w-10 h-10",
697
818
  searchBtn
698
819
  ),
699
- children: customIcon ? customIcon : /* @__PURE__ */ jsx4(
820
+ children: customIcon ? customIcon : /* @__PURE__ */ jsx5(
700
821
  FiSearch,
701
822
  {
702
823
  className: cn("h-5 w-5 text-gray-400", searchIconClassName)
@@ -704,7 +825,7 @@ function SearchInput({
704
825
  )
705
826
  }
706
827
  ),
707
- /* @__PURE__ */ jsx4(
828
+ /* @__PURE__ */ jsx5(
708
829
  "input",
709
830
  {
710
831
  value: inputValue,
@@ -729,9 +850,9 @@ import { FaFileExport, FaPrint } from "react-icons/fa";
729
850
  import { IoCloseCircleOutline } from "react-icons/io5";
730
851
 
731
852
  // src/components/Loader/Loader.tsx
732
- import { jsx as jsx5 } from "react/jsx-runtime";
853
+ import { jsx as jsx6 } from "react/jsx-runtime";
733
854
  var Loader = ({ className, color = "#F54C00", size = "50px", speed = "1s" }) => {
734
- return /* @__PURE__ */ jsx5("div", { className: `loader`, children: /* @__PURE__ */ jsx5(
855
+ return /* @__PURE__ */ jsx6("div", { className: `loader`, children: /* @__PURE__ */ jsx6(
735
856
  "div",
736
857
  {
737
858
  className: `spinner ${className}`,
@@ -748,7 +869,7 @@ var Loader = ({ className, color = "#F54C00", size = "50px", speed = "1s" }) =>
748
869
  };
749
870
 
750
871
  // src/components/modal/Modal.tsx
751
- import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
872
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
752
873
  function Modal({
753
874
  isOpen,
754
875
  onClose,
@@ -789,7 +910,7 @@ function Modal({
789
910
  document.body.style.overflow = "unset";
790
911
  };
791
912
  }, [isOpen, onClose, closeOnEscape]);
792
- const modalContent = /* @__PURE__ */ jsx6(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxs5(
913
+ const modalContent = /* @__PURE__ */ jsx7(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxs5(
793
914
  "div",
794
915
  {
795
916
  className: "fixed inset-0 bg-gray-500 bg-opacity-50 flex justify-center items-center z-1000 p-4",
@@ -837,7 +958,7 @@ function Modal({
837
958
  },
838
959
  className: "sticky top-0 z-10 flex justify-between items-center bg-white text-2xl p-8 pb-4 rounded-t-3xl",
839
960
  children: [
840
- /* @__PURE__ */ jsx6("h2", { className: "font-semibold", children: title }),
961
+ /* @__PURE__ */ jsx7("h2", { className: "font-semibold", children: title }),
841
962
  /* @__PURE__ */ jsxs5("div", { className: "flex items-center space-x-4", children: [
842
963
  onPrint && /* @__PURE__ */ jsxs5(
843
964
  "button",
@@ -845,8 +966,8 @@ function Modal({
845
966
  onClick: onPrint,
846
967
  className: "flex items-center gap-1 hover:text-gray-300 text-sm border p-1 rounded",
847
968
  children: [
848
- /* @__PURE__ */ jsx6(FaPrint, { name: "FaPrint" }),
849
- /* @__PURE__ */ jsx6("span", { children: "Print" })
969
+ /* @__PURE__ */ jsx7(FaPrint, { name: "FaPrint" }),
970
+ /* @__PURE__ */ jsx7("span", { children: "Print" })
850
971
  ]
851
972
  }
852
973
  ),
@@ -856,24 +977,24 @@ function Modal({
856
977
  onClick: onExport,
857
978
  className: "flex items-center gap-1 hover:text-gray-300 text-sm border p-1 rounded",
858
979
  children: [
859
- /* @__PURE__ */ jsx6(FaFileExport, {}),
860
- /* @__PURE__ */ jsx6("span", { children: "Export" })
980
+ /* @__PURE__ */ jsx7(FaFileExport, {}),
981
+ /* @__PURE__ */ jsx7("span", { children: "Export" })
861
982
  ]
862
983
  }
863
984
  ),
864
- /* @__PURE__ */ jsx6(
985
+ /* @__PURE__ */ jsx7(
865
986
  "button",
866
987
  {
867
988
  onClick: onClose,
868
989
  className: "px-2 hover:opacity-70 transition-opacity",
869
- children: /* @__PURE__ */ jsx6(IoCloseCircleOutline, { color: "#8898AA", size: 25 })
990
+ children: /* @__PURE__ */ jsx7(IoCloseCircleOutline, { color: "#8898AA", size: 25 })
870
991
  }
871
992
  )
872
993
  ] })
873
994
  ]
874
995
  }
875
996
  ),
876
- /* @__PURE__ */ jsx6(
997
+ /* @__PURE__ */ jsx7(
877
998
  "div",
878
999
  {
879
1000
  className: cn(
@@ -883,7 +1004,7 @@ function Modal({
883
1004
  children
884
1005
  }
885
1006
  ),
886
- footer && /* @__PURE__ */ jsx6(
1007
+ footer && /* @__PURE__ */ jsx7(
887
1008
  "div",
888
1009
  {
889
1010
  className: cn("sticky bottom-0 flex justify-end p-4 space-x-4 border-t bg-white ", footerClassName),
@@ -897,7 +1018,7 @@ function Modal({
897
1018
  ]
898
1019
  }
899
1020
  ),
900
- isLoading && /* @__PURE__ */ jsx6(
1021
+ isLoading && /* @__PURE__ */ jsx7(
901
1022
  "div",
902
1023
  {
903
1024
  className: "fixed inset-0 flex items-center justify-center bg-gray-200/60",
@@ -906,7 +1027,7 @@ function Modal({
906
1027
  "aria-live": "polite",
907
1028
  role: "status",
908
1029
  onClick: (e) => e.stopPropagation(),
909
- children: customLoader ? customLoader : /* @__PURE__ */ jsx6(Loader, { size: "48px" })
1030
+ children: customLoader ? customLoader : /* @__PURE__ */ jsx7(Loader, { size: "48px" })
910
1031
  }
911
1032
  )
912
1033
  ]
@@ -922,7 +1043,7 @@ function Modal({
922
1043
  }
923
1044
 
924
1045
  // src/components/skeleton/CardSkeleton.tsx
925
- import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
1046
+ import { Fragment, jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
926
1047
  var DEFAULT_LINE_WIDTHS = ["w-32", "w-48"];
927
1048
  function shouldShowAvatar(variant, showAvatar) {
928
1049
  return showAvatar ?? variant === "profile";
@@ -931,7 +1052,7 @@ function shouldShowImage(variant, showImage) {
931
1052
  return showImage ?? variant === "image";
932
1053
  }
933
1054
  function AvatarSkeleton({ className }) {
934
- return /* @__PURE__ */ jsx7(
1055
+ return /* @__PURE__ */ jsx8(
935
1056
  "svg",
936
1057
  {
937
1058
  className: cn("w-10 h-10 text-gray-200 dark:text-gray-700", className),
@@ -939,7 +1060,7 @@ function AvatarSkeleton({ className }) {
939
1060
  xmlns: "http://www.w3.org/2000/svg",
940
1061
  fill: "currentColor",
941
1062
  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" })
1063
+ 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
1064
  }
944
1065
  );
945
1066
  }
@@ -948,7 +1069,7 @@ function SkeletonBlock({
948
1069
  className,
949
1070
  isFirst
950
1071
  }) {
951
- return /* @__PURE__ */ jsx7(
1072
+ return /* @__PURE__ */ jsx8(
952
1073
  "div",
953
1074
  {
954
1075
  className: cn(
@@ -987,7 +1108,7 @@ function CardSkeleton({
987
1108
  style: { animationDuration, ...style },
988
1109
  ...props,
989
1110
  children: [
990
- renderImage ? /* @__PURE__ */ jsx7(
1111
+ renderImage ? /* @__PURE__ */ jsx8(
991
1112
  "div",
992
1113
  {
993
1114
  className: cn(
@@ -997,8 +1118,8 @@ function CardSkeleton({
997
1118
  }
998
1119
  ) : null,
999
1120
  /* @__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(
1121
+ renderAvatar ? /* @__PURE__ */ jsx8(AvatarSkeleton, { className: avatarClassName }) : null,
1122
+ /* @__PURE__ */ jsx8("div", { children: Array.from({ length: Math.max(1, lines) }, (_2, lineIndex) => /* @__PURE__ */ jsx8(
1002
1123
  SkeletonBlock,
1003
1124
  {
1004
1125
  widthClass: lineWidths[lineIndex] ?? lineWidths[lineWidths.length - 1] ?? DEFAULT_LINE_WIDTHS[1],
@@ -1008,19 +1129,19 @@ function CardSkeleton({
1008
1129
  lineIndex
1009
1130
  )) })
1010
1131
  ] }),
1011
- /* @__PURE__ */ jsx7("span", { className: "sr-only", children: srLabel })
1132
+ /* @__PURE__ */ jsx8("span", { className: "sr-only", children: srLabel })
1012
1133
  ]
1013
1134
  },
1014
1135
  index
1015
1136
  );
1016
1137
  });
1017
- return /* @__PURE__ */ jsx7(Fragment, { children: skeletons });
1138
+ return /* @__PURE__ */ jsx8(Fragment, { children: skeletons });
1018
1139
  }
1019
1140
 
1020
1141
  // src/components/tooltip/ToolTip.tsx
1021
1142
  import { useId as useId2 } from "react";
1022
1143
  import { Tooltip } from "react-tooltip";
1023
- import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
1144
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
1024
1145
  var defaultTooltipStyle = {
1025
1146
  color: "#fff",
1026
1147
  borderRadius: "5px",
@@ -1047,10 +1168,10 @@ function ToolTip({
1047
1168
  const tooltipId = `eztrak-tooltip-${generatedId.replace(/:/g, "")}`;
1048
1169
  const tooltipText = String(text ?? "");
1049
1170
  if (disabled || !tooltipText) {
1050
- return /* @__PURE__ */ jsx8("span", { className, children });
1171
+ return /* @__PURE__ */ jsx9("span", { className, children });
1051
1172
  }
1052
1173
  return /* @__PURE__ */ jsxs7(Fragment2, { children: [
1053
- /* @__PURE__ */ jsx8(
1174
+ /* @__PURE__ */ jsx9(
1054
1175
  "span",
1055
1176
  {
1056
1177
  className,
@@ -1060,7 +1181,7 @@ function ToolTip({
1060
1181
  children
1061
1182
  }
1062
1183
  ),
1063
- /* @__PURE__ */ jsx8(
1184
+ /* @__PURE__ */ jsx9(
1064
1185
  Tooltip,
1065
1186
  {
1066
1187
  id: tooltipId,
@@ -1076,7 +1197,7 @@ function ToolTip({
1076
1197
  }
1077
1198
 
1078
1199
  // src/components/tooltip/TooltipText.tsx
1079
- import { jsx as jsx9 } from "react/jsx-runtime";
1200
+ import { jsx as jsx10 } from "react/jsx-runtime";
1080
1201
  function TooltipText({
1081
1202
  text = "",
1082
1203
  maxLength = 20,
@@ -1096,7 +1217,7 @@ function TooltipText({
1096
1217
  const displayText = truncateText(fullText, maxLength);
1097
1218
  const isTruncated = displayText !== fullText;
1098
1219
  const tooltipDisabled = !showTooltip || !hasValue || tooltipWhenTruncatedOnly && !isTruncated;
1099
- return /* @__PURE__ */ jsx9(
1220
+ return /* @__PURE__ */ jsx10(
1100
1221
  ToolTip,
1101
1222
  {
1102
1223
  text: fullText,
@@ -1108,7 +1229,7 @@ function TooltipText({
1108
1229
  tooltipStyle,
1109
1230
  wrapperTabIndex: tooltipDisabled ? void 0 : 0,
1110
1231
  disabled: tooltipDisabled,
1111
- children: /* @__PURE__ */ jsx9("span", { className: cn("inline-block max-w-full align-bottom", textClassName), children: displayText })
1232
+ children: /* @__PURE__ */ jsx10("span", { className: cn("inline-block max-w-full align-bottom", textClassName), children: displayText })
1112
1233
  }
1113
1234
  );
1114
1235
  }
@@ -1123,7 +1244,7 @@ import {
1123
1244
  useState as useState3
1124
1245
  } from "react";
1125
1246
  import toast from "react-hot-toast";
1126
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
1247
+ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1127
1248
  function ButtonSpinner() {
1128
1249
  return /* @__PURE__ */ jsxs8(
1129
1250
  "svg",
@@ -1135,7 +1256,7 @@ function ButtonSpinner() {
1135
1256
  fill: "none",
1136
1257
  "aria-hidden": true,
1137
1258
  children: [
1138
- /* @__PURE__ */ jsx10(
1259
+ /* @__PURE__ */ jsx11(
1139
1260
  "circle",
1140
1261
  {
1141
1262
  cx: "12",
@@ -1146,7 +1267,7 @@ function ButtonSpinner() {
1146
1267
  strokeOpacity: "0.25"
1147
1268
  }
1148
1269
  ),
1149
- /* @__PURE__ */ jsx10(
1270
+ /* @__PURE__ */ jsx11(
1150
1271
  "path",
1151
1272
  {
1152
1273
  d: "M12 2a10 10 0 0 1 10 10",
@@ -1301,11 +1422,11 @@ var CustomCellEditor = forwardRef(
1301
1422
  className: inputClassName ?? defaultInputClass,
1302
1423
  disabled: isLoading,
1303
1424
  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))
1425
+ /* @__PURE__ */ jsx11("option", { value: "", disabled: true, children: "Select option..." }),
1426
+ normalizedOptions.map((opt) => /* @__PURE__ */ jsx11("option", { value: opt.value, children: opt.label }, opt.value))
1306
1427
  ]
1307
1428
  }
1308
- ) : /* @__PURE__ */ jsx10(
1429
+ ) : /* @__PURE__ */ jsx11(
1309
1430
  "input",
1310
1431
  {
1311
1432
  ref: inputRef,
@@ -1318,7 +1439,7 @@ var CustomCellEditor = forwardRef(
1318
1439
  disabled: isLoading
1319
1440
  }
1320
1441
  ),
1321
- /* @__PURE__ */ jsx10(
1442
+ /* @__PURE__ */ jsx11(
1322
1443
  "button",
1323
1444
  {
1324
1445
  type: "button",
@@ -1327,10 +1448,10 @@ var CustomCellEditor = forwardRef(
1327
1448
  className: saveButtonClassName ?? (saveButtonStyle ? void 0 : defaultSaveBtnClass),
1328
1449
  style: saveButtonStyle,
1329
1450
  title: "Save (Enter)",
1330
- children: isLoading ? loadingIndicator ?? /* @__PURE__ */ jsx10(ButtonSpinner, {}) : saveButtonContent ?? "Save"
1451
+ children: isLoading ? loadingIndicator ?? /* @__PURE__ */ jsx11(ButtonSpinner, {}) : saveButtonContent ?? "Save"
1331
1452
  }
1332
1453
  ),
1333
- /* @__PURE__ */ jsx10(
1454
+ /* @__PURE__ */ jsx11(
1334
1455
  "button",
1335
1456
  {
1336
1457
  type: "button",
@@ -1354,6 +1475,8 @@ export {
1354
1475
  ResetColumnsButton,
1355
1476
  TableLayoutToolbarControls,
1356
1477
  CustomPagination,
1478
+ dropdownStyles,
1479
+ DropdownFilter,
1357
1480
  ResetFiltersButton,
1358
1481
  SearchInput,
1359
1482
  Loader,
@@ -1363,4 +1486,4 @@ export {
1363
1486
  TooltipText,
1364
1487
  CustomCellEditor
1365
1488
  };
1366
- //# sourceMappingURL=chunk-CIFNA6LN.mjs.map
1489
+ //# sourceMappingURL=chunk-3FD7O5VS.mjs.map