@ctlyst.id/internal-ui 3.1.4 → 3.1.6

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
@@ -1083,7 +1083,7 @@ var DataTable = React5.forwardRef(
1083
1083
  React5.useImperativeHandle(ref, () => ({
1084
1084
  toggleAllRowsSelected
1085
1085
  }));
1086
- return /* @__PURE__ */ jsx24(Box11, { overflowX: "auto", position: "relative", maxW: "100%", minH: 400, w: "full", ...container, children: isLoading ? /* @__PURE__ */ jsxs8(Table, { ...styles == null ? void 0 : styles.table, "data-loading": "true", children: [
1086
+ return /* @__PURE__ */ jsx24(Box11, { overflowX: "auto", position: "relative", maxW: "100%", w: "full", ...container, children: isLoading ? /* @__PURE__ */ jsxs8(Table, { ...styles == null ? void 0 : styles.table, "data-loading": "true", children: [
1087
1087
  /* @__PURE__ */ jsx24(Thead, { ...(styles == null ? void 0 : styles.tableHead, headerSticky ? { position: "sticky", top: 0, bg: "white", zIndex: 1 } : {}), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx24(Tr, { mx: "2", ...styles == null ? void 0 : styles.tableRow, children: headerGroup.headers.map((header, index) => /* @__PURE__ */ jsx24(
1088
1088
  Th,
1089
1089
  {
@@ -1103,49 +1103,56 @@ var DataTable = React5.forwardRef(
1103
1103
  },
1104
1104
  header.id
1105
1105
  )) }, headerGroup.id)) }),
1106
- /* @__PURE__ */ jsx24(Tbody, { children: [...Array(5)].map((num) => /* @__PURE__ */ jsx24(Tr, { mx: "2", children: [...Array(generateColumn().length)].map((i) => /* @__PURE__ */ jsx24(Td, { width: 210, children: /* @__PURE__ */ jsx24(Skeleton2, { startColor: "gray.50", endColor: "gray.100", h: "30px", w: "100%" }, i) }, i)) }, num)) })
1106
+ /* @__PURE__ */ jsx24(Tbody, { children: [...Array(5)].map((num) => /* @__PURE__ */ jsx24(Tr, { mx: "2", children: [...Array(generateColumn().length)].map((i) => /* @__PURE__ */ jsx24(Td, { width: 210, children: /* @__PURE__ */ jsx24(Skeleton2, { startColor: "neutral.100", endColor: "neutral.200", h: "20px", w: "70%" }, i) }, i)) }, num)) })
1107
1107
  ] }) : /* @__PURE__ */ jsxs8(Table, { ...styles == null ? void 0 : styles.table, children: [
1108
- /* @__PURE__ */ jsx24(Thead, { ...(styles == null ? void 0 : styles.tableHead, headerSticky ? { position: "sticky", top: 0, bg: "white", zIndex: 1 } : {}), children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx24(Tr, { bg: useColorModeValue("initial", "ebony-clay.700"), ...styles == null ? void 0 : styles.tableRow, children: headerGroup.headers.map((header, index) => {
1109
- var _a;
1110
- return /* @__PURE__ */ jsx24(
1111
- Th,
1112
- {
1113
- colSpan: header.colSpan,
1114
- sx: getCommonPinningStyles(header.column),
1115
- width: `${header.getSize() + (index === 0 || index === headerGroup.headers.length - 1 ? 16 : 0)}px`,
1116
- ...styles == null ? void 0 : styles.tableColumnHeader,
1117
- children: /* @__PURE__ */ jsxs8(
1118
- Flex2,
1108
+ /* @__PURE__ */ jsx24(
1109
+ Thead,
1110
+ {
1111
+ maxH: "50px",
1112
+ ...(styles == null ? void 0 : styles.tableHead, headerSticky ? { position: "sticky", top: 0, bg: "white", zIndex: 1 } : {}),
1113
+ children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx24(Tr, { bg: useColorModeValue("initial", "ebony-clay.700"), ...styles == null ? void 0 : styles.tableRow, children: headerGroup.headers.map((header, index) => {
1114
+ var _a;
1115
+ return /* @__PURE__ */ jsx24(
1116
+ Th,
1119
1117
  {
1120
- backgroundColor: "white",
1121
- height: "100%",
1122
- "data-test-id": `CT_Container_TableHeader_${header.id}`,
1123
- textTransform: "capitalize",
1124
- userSelect: "none",
1125
- align: "center",
1126
- gap: 2,
1127
- children: [
1128
- /* @__PURE__ */ jsx24(Text4, { children: flexRender(header.column.columnDef.header, header.getContext()) }),
1129
- /* @__PURE__ */ jsx24(
1130
- Box11,
1131
- {
1132
- as: "span",
1133
- cursor: header.column.getCanSort() ? "pointer" : "default",
1134
- "data-test-id": `CT_Container_SortingIcon_${header.id}`,
1135
- onClick: header.column.getToggleSortingHandler(),
1136
- children: (_a = header.column.getCanSort() && {
1137
- asc: /* @__PURE__ */ jsx24(ChevronUpIcon, { h: 4, w: 4, color: "neutral.500" }),
1138
- desc: /* @__PURE__ */ jsx24(ChevronDownIcon, { h: 4, w: 4, color: "neutral.500" })
1139
- }[header.column.getIsSorted()]) != null ? _a : /* @__PURE__ */ jsx24(UpDownIcon, { h: 4, w: 4, color: "neutral.500" })
1140
- }
1141
- )
1142
- ]
1143
- }
1144
- )
1145
- },
1146
- header.id
1147
- );
1148
- }) }, headerGroup.id)) }),
1118
+ colSpan: header.colSpan,
1119
+ sx: getCommonPinningStyles(header.column),
1120
+ width: `${header.getSize() + (index === 0 || index === headerGroup.headers.length - 1 ? 16 : 0)}px`,
1121
+ ...styles == null ? void 0 : styles.tableColumnHeader,
1122
+ children: /* @__PURE__ */ jsxs8(
1123
+ Flex2,
1124
+ {
1125
+ backgroundColor: "white",
1126
+ height: "100%",
1127
+ "data-test-id": `CT_Container_TableHeader_${header.id}`,
1128
+ textTransform: "capitalize",
1129
+ userSelect: "none",
1130
+ align: "center",
1131
+ gap: 2,
1132
+ children: [
1133
+ /* @__PURE__ */ jsx24(Text4, { children: flexRender(header.column.columnDef.header, header.getContext()) }),
1134
+ /* @__PURE__ */ jsx24(
1135
+ Box11,
1136
+ {
1137
+ as: "span",
1138
+ cursor: header.column.getCanSort() ? "pointer" : "default",
1139
+ "data-test-id": `CT_Container_SortingIcon_${header.id}`,
1140
+ onClick: header.column.getToggleSortingHandler(),
1141
+ children: (_a = header.column.getCanSort() && {
1142
+ asc: /* @__PURE__ */ jsx24(ChevronUpIcon, { h: 4, w: 4, color: "neutral.500" }),
1143
+ desc: /* @__PURE__ */ jsx24(ChevronDownIcon, { h: 4, w: 4, color: "neutral.500" })
1144
+ }[header.column.getIsSorted()]) != null ? _a : /* @__PURE__ */ jsx24(Box11, { display: "flex", justifyContent: "center", alignItems: "center", boxSize: 4, children: /* @__PURE__ */ jsx24(UpDownIcon, { color: "neutral.500" }) })
1145
+ }
1146
+ )
1147
+ ]
1148
+ }
1149
+ )
1150
+ },
1151
+ header.id
1152
+ );
1153
+ }) }, headerGroup.id))
1154
+ }
1155
+ ),
1149
1156
  /* @__PURE__ */ jsx24(Tbody, { ...styles == null ? void 0 : styles.tableBody, children: table.getRowModel().rows.map((row) => {
1150
1157
  const trRef = useRef();
1151
1158
  return /* @__PURE__ */ jsx24(
@@ -2557,33 +2564,45 @@ import {
2557
2564
  Portal,
2558
2565
  Tooltip as ChakraTooltip
2559
2566
  } from "@chakra-ui/react";
2560
- import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
2567
+ import { Fragment as Fragment3, jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
2561
2568
  var Tooltip = (props) => {
2562
- const { children, bg = "neutral.700", textStyle = "text.sm", color = "white", width } = props;
2563
- const content = /* @__PURE__ */ jsxs14(
2569
+ const {
2570
+ children,
2571
+ bg = "neutral.700",
2572
+ textStyle = "text.sm",
2573
+ color = "white",
2574
+ width,
2575
+ borderRadius = 4,
2576
+ fontWeight = "400"
2577
+ } = props;
2578
+ const content = ({ onClose }) => /* @__PURE__ */ jsxs14(
2564
2579
  PopoverContent,
2565
2580
  {
2581
+ "data-test-id": "",
2566
2582
  border: "none",
2567
2583
  bg,
2568
2584
  textStyle,
2569
2585
  width,
2570
- ml: 1,
2571
2586
  placeItems: "center",
2572
- borderRadius: props.borderRadius,
2587
+ borderRadius,
2588
+ onClick: (e) => {
2589
+ e.stopPropagation();
2590
+ onClose();
2591
+ },
2573
2592
  children: [
2574
2593
  props.hasArrow && /* @__PURE__ */ jsx35(PopoverArrow, { color, bg, shadow: "none" }),
2575
- /* @__PURE__ */ jsx35(PopoverBody, { color, ...props, children: props.label })
2594
+ /* @__PURE__ */ jsx35(PopoverBody, { color, ...props, fontWeight, children: props.label })
2576
2595
  ]
2577
2596
  }
2578
2597
  );
2579
- return props.isInteractive === true ? /* @__PURE__ */ jsxs14(Popover, { trigger: "hover", placement: props.placement, ...props.popoverProps, children: [
2598
+ return props.isInteractive === true ? /* @__PURE__ */ jsx35(Popover, { trigger: "hover", placement: props.placement, ...props.popoverProps, children: ({ onClose }) => /* @__PURE__ */ jsxs14(Fragment3, { children: [
2580
2599
  /* @__PURE__ */ jsx35(PopoverTrigger, { children }),
2581
- props.portal ? /* @__PURE__ */ jsx35(Portal, { children: content }) : content
2582
- ] }) : /* @__PURE__ */ jsx35(ChakraTooltip, { ...props, children });
2600
+ props.portal ? /* @__PURE__ */ jsx35(Portal, { children: content({ onClose }) }) : content({ onClose })
2601
+ ] }) }) : /* @__PURE__ */ jsx35(ChakraTooltip, { ...props, children });
2583
2602
  };
2584
2603
 
2585
2604
  // src/components/header/components/profile.tsx
2586
- import { Fragment as Fragment3, jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
2605
+ import { Fragment as Fragment4, jsx as jsx36, jsxs as jsxs15 } from "react/jsx-runtime";
2587
2606
  var Profile = ({
2588
2607
  color,
2589
2608
  brandColor,
@@ -2618,7 +2637,7 @@ var Profile = ({
2618
2637
  /* @__PURE__ */ jsxs15(VStack2, { alignItems: "flex-end", spacing: "0", ml: "2", color, children: [
2619
2638
  /* @__PURE__ */ jsx36(Text8, { textStyle: "text.xs", mb: "1", children: data == null ? void 0 : data.email }),
2620
2639
  /* @__PURE__ */ jsxs15(Flex5, { alignItems: "center", children: [
2621
- (data == null ? void 0 : data.userRole) && /* @__PURE__ */ jsxs15(Fragment3, { children: [
2640
+ (data == null ? void 0 : data.userRole) && /* @__PURE__ */ jsxs15(Fragment4, { children: [
2622
2641
  /* @__PURE__ */ jsx36(Text8, { textStyle: "text.xs", children: (data == null ? void 0 : data.userRole) || "user" }),
2623
2642
  !!((_a = data.office) == null ? void 0 : _a.length) && /* @__PURE__ */ jsx36(
2624
2643
  Box16,
@@ -2645,18 +2664,19 @@ var Profile = ({
2645
2664
  ] }),
2646
2665
  textAlign: "left",
2647
2666
  placement: "bottom-end",
2667
+ cursor: "text",
2668
+ portal: true,
2648
2669
  popoverProps: {
2649
2670
  offset: [10, 8]
2650
2671
  },
2651
- width: 186,
2672
+ width: 300,
2652
2673
  ...officeContainer,
2653
- children: /* @__PURE__ */ jsx36(Box16, { display: "flex", children: /* @__PURE__ */ jsxs15(
2674
+ children: /* @__PURE__ */ jsx36(Box16, { ml: 1, children: /* @__PURE__ */ jsxs15(
2654
2675
  badge_default,
2655
2676
  {
2656
- ml: "1",
2657
- pill: true,
2677
+ rounded: "full",
2658
2678
  variant: "neutral-light",
2659
- boxSize: "4.5",
2679
+ boxSize: "5",
2660
2680
  justifyContent: "center",
2661
2681
  p: "0.5",
2662
2682
  ...badgeStyle,
@@ -2717,14 +2737,14 @@ function environmentName(env) {
2717
2737
  }
2718
2738
 
2719
2739
  // src/components/header/components/version.tsx
2720
- import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
2740
+ import { Fragment as Fragment5, jsx as jsx38, jsxs as jsxs16 } from "react/jsx-runtime";
2721
2741
  var Version = ({
2722
2742
  hideEnv,
2723
2743
  version,
2724
2744
  environment,
2725
2745
  onOpenModalRelease,
2726
2746
  versionStyle
2727
- }) => /* @__PURE__ */ jsxs16(Fragment4, { children: [
2747
+ }) => /* @__PURE__ */ jsxs16(Fragment5, { children: [
2728
2748
  typeof version === "string" ? /* @__PURE__ */ jsx38(
2729
2749
  badge_default,
2730
2750
  {
@@ -2988,7 +3008,7 @@ var mappingIcon = /* @__PURE__ */ new Map([
2988
3008
  ]);
2989
3009
 
2990
3010
  // src/components/navigation/components/navigation.tsx
2991
- import { Fragment as Fragment5, jsx as jsx43, jsxs as jsxs18 } from "react/jsx-runtime";
3011
+ import { Fragment as Fragment6, jsx as jsx43, jsxs as jsxs18 } from "react/jsx-runtime";
2992
3012
  var Navigation = ({ navigations, activePath, as, host, ...props }) => {
2993
3013
  return /* @__PURE__ */ jsx43(Box21, { borderRadius: "md", overflowX: "auto", ...props, children: /* @__PURE__ */ jsx43(
2994
3014
  Flex9,
@@ -3005,7 +3025,7 @@ var Navigation = ({ navigations, activePath, as, host, ...props }) => {
3005
3025
  children: navigations == null ? void 0 : navigations.map((navigation) => {
3006
3026
  const isActive = activePath.startsWith(navigation.navLink || "");
3007
3027
  const activeBg = isActive ? "primary.500" : void 0;
3008
- return /* @__PURE__ */ jsx43(Popover3, { trigger: "hover", placement: "bottom-start", children: ({ isOpen }) => /* @__PURE__ */ jsxs18(Fragment5, { children: [
3028
+ return /* @__PURE__ */ jsx43(Popover3, { trigger: "hover", placement: "bottom-start", children: ({ isOpen }) => /* @__PURE__ */ jsxs18(Fragment6, { children: [
3009
3029
  /* @__PURE__ */ jsx43(PopoverTrigger3, { children: /* @__PURE__ */ jsx43(
3010
3030
  Button3,
3011
3031
  {
@@ -3105,7 +3125,7 @@ var navigation_default = Navigation;
3105
3125
  // src/components/navigation/components/navigation-bar.tsx
3106
3126
  import { Box as Box22, Button as Button4, Flex as Flex10, Link as Link4, Popover as Popover4, PopoverContent as PopoverContent4, PopoverTrigger as PopoverTrigger4, Text as Text10 } from "@chakra-ui/react";
3107
3127
  import * as Icon6 from "@ctlyst.id/internal-icon";
3108
- import { Fragment as Fragment6, jsx as jsx44, jsxs as jsxs19 } from "react/jsx-runtime";
3128
+ import { Fragment as Fragment7, jsx as jsx44, jsxs as jsxs19 } from "react/jsx-runtime";
3109
3129
  var NavigationBar = ({
3110
3130
  navigations,
3111
3131
  isFetched,
@@ -3137,7 +3157,7 @@ var NavigationBar = ({
3137
3157
  const childMenu = item.children.filter((subMenu) => asPath == null ? void 0 : asPath.includes(subMenu.navLink));
3138
3158
  const isActive = pathname == null ? void 0 : pathname.startsWith((_a = childMenu[0]) == null ? void 0 : _a.navLink);
3139
3159
  const activeBg = isActive ? "primary.500" : void 0;
3140
- return /* @__PURE__ */ jsx44(Popover4, { isLazy: true, trigger: "hover", placement: "bottom-start", openDelay: 100, closeDelay: 100, children: ({ isOpen, onClose }) => /* @__PURE__ */ jsxs19(Fragment6, { children: [
3160
+ return /* @__PURE__ */ jsx44(Popover4, { isLazy: true, trigger: "hover", placement: "bottom-start", openDelay: 100, closeDelay: 100, children: ({ isOpen, onClose }) => /* @__PURE__ */ jsxs19(Fragment7, { children: [
3141
3161
  /* @__PURE__ */ jsx44(PopoverTrigger4, { children: /* @__PURE__ */ jsx44(
3142
3162
  Button4,
3143
3163
  {
@@ -3527,8 +3547,10 @@ var Rating = ({ value }) => {
3527
3547
  var rating_default = Rating;
3528
3548
 
3529
3549
  // src/components/select/components/select.tsx
3550
+ import { Badge as Badge2, Flex as Flex11 } from "@chakra-ui/react";
3530
3551
  import { useColorMode as useColorMode3 } from "@chakra-ui/system";
3531
- import ReactSelect from "react-select";
3552
+ import * as Icon7 from "@ctlyst.id/internal-icon";
3553
+ import ReactSelect, { components as componentRS } from "react-select";
3532
3554
 
3533
3555
  // src/config/theme/foundations/shadows.ts
3534
3556
  import { theme } from "@chakra-ui/react";
@@ -3835,10 +3857,10 @@ function selectStyles(colorMode, _isError) {
3835
3857
  return { ...base, ...selectStyle };
3836
3858
  },
3837
3859
  dropdownIndicator: (base) => {
3838
- return { ...base, ...selectStyle };
3860
+ return { ...base, ...selectStyle, color: "var(--chakra-colors-neutral-400)" };
3839
3861
  },
3840
3862
  indicatorSeparator: (base) => {
3841
- return { ...base, ...selectStyle };
3863
+ return { ...base, background: "var(--chakra-colors-neutral-400)", borderRadius: 10 };
3842
3864
  },
3843
3865
  placeholder: (base) => {
3844
3866
  return { ...base, ...selectStyle, color: "var(--chakra-colors-black-low)" };
@@ -3853,13 +3875,15 @@ function selectStyles(colorMode, _isError) {
3853
3875
  multiValueLabel: (base) => ({
3854
3876
  ...base,
3855
3877
  borderRadius: 4,
3856
- fontWeight: "bold"
3878
+ fontWeight: "bold",
3879
+ padding: 0,
3880
+ paddingLeft: 0
3857
3881
  }),
3858
3882
  multiValueRemove: (base) => ({
3859
3883
  ...base,
3860
3884
  color: "var(--chakra-colors-neutral-900)",
3861
3885
  ":hover": {
3862
- backgroundColor: "var(--chakra-colors-neutral-300)"
3886
+ backgroundColor: "transparent"
3863
3887
  }
3864
3888
  })
3865
3889
  };
@@ -3879,19 +3903,40 @@ var themeSelect = (theme5) => {
3879
3903
 
3880
3904
  // src/components/select/components/select.tsx
3881
3905
  import { jsx as jsx53 } from "react/jsx-runtime";
3906
+ function DropdownIndicator(props) {
3907
+ return /* @__PURE__ */ jsx53(componentRS.DropdownIndicator, { ...props, children: /* @__PURE__ */ jsx53(Icon7.ChevronDown, { size: 4, color: "neutral.400" }) });
3908
+ }
3909
+ function ClearIndicator(props) {
3910
+ const { hasValue } = props;
3911
+ return /* @__PURE__ */ jsx53(componentRS.ClearIndicator, { ...props, children: /* @__PURE__ */ jsx53(Icon7.Close, { size: 4, color: hasValue ? "black.medium" : "neutral.400" }) });
3912
+ }
3913
+ function MultiValue(props) {
3914
+ return /* @__PURE__ */ jsx53(componentRS.MultiValue, { ...props, children: /* @__PURE__ */ jsx53(Badge2, { pr: 0, variant: "neutral-light", children: props == null ? void 0 : props.data.label }) });
3915
+ }
3916
+ function MultiValueRemove(props) {
3917
+ return /* @__PURE__ */ jsx53(componentRS.MultiValueRemove, { ...props, children: /* @__PURE__ */ jsx53(Flex11, { align: "center", justify: "center", children: /* @__PURE__ */ jsx53(Icon7.Close, { size: 2.5, color: "inherit" }) }) });
3918
+ }
3882
3919
  function Select2({
3883
3920
  styles,
3884
3921
  isError = false,
3885
3922
  ...rest
3886
3923
  }) {
3887
3924
  const { colorMode } = useColorMode3();
3925
+ const { components } = rest;
3888
3926
  return /* @__PURE__ */ jsx53(
3889
3927
  ReactSelect,
3890
3928
  {
3891
3929
  classNamePrefix: "react-select",
3892
- ...rest,
3930
+ components: {
3931
+ DropdownIndicator,
3932
+ ClearIndicator,
3933
+ MultiValue,
3934
+ MultiValueRemove,
3935
+ ...components
3936
+ },
3893
3937
  styles: { ...selectStyles(colorMode, isError) },
3894
- theme: themeSelect
3938
+ theme: themeSelect,
3939
+ ...rest
3895
3940
  }
3896
3941
  );
3897
3942
  }
@@ -3911,6 +3956,10 @@ function SelectAsync({
3911
3956
  AsyncPaginate,
3912
3957
  {
3913
3958
  classNamePrefix: "react-select",
3959
+ components: {
3960
+ DropdownIndicator,
3961
+ ClearIndicator
3962
+ },
3914
3963
  ...rest,
3915
3964
  styles: { ...selectStyles(colorMode, isError), ...styles },
3916
3965
  theme: themeSelect
@@ -3929,6 +3978,10 @@ function SelectAsyncCreatable({ styles, isError = false, ...rest }) {
3929
3978
  ReactSelectAsyncCreatable,
3930
3979
  {
3931
3980
  classNamePrefix: "react-select",
3981
+ components: {
3982
+ DropdownIndicator,
3983
+ ClearIndicator
3984
+ },
3932
3985
  ...rest,
3933
3986
  styles: { ...selectStyles(colorMode, isError), ...styles },
3934
3987
  theme: themeSelect
@@ -3946,6 +3999,10 @@ function SelectCreatable({ styles, isError = false, ...rest }) {
3946
3999
  ReactSelectCreatable,
3947
4000
  {
3948
4001
  classNamePrefix: "react-select",
4002
+ components: {
4003
+ DropdownIndicator,
4004
+ ClearIndicator
4005
+ },
3949
4006
  ...rest,
3950
4007
  styles: { ...selectStyles(colorMode, isError), ...styles },
3951
4008
  theme: themeSelect
@@ -3954,10 +4011,10 @@ function SelectCreatable({ styles, isError = false, ...rest }) {
3954
4011
  }
3955
4012
 
3956
4013
  // src/components/select/components/select-with-checkbox.tsx
3957
- import { Checkbox as Checkbox3, Flex as Flex11, Text as Text15 } from "@chakra-ui/react";
4014
+ import { Checkbox as Checkbox3, Flex as Flex12, Text as Text15 } from "@chakra-ui/react";
3958
4015
  import { useColorMode as useColorMode7 } from "@chakra-ui/system";
3959
4016
  import ReactSelect2, { components as ComponentRS } from "react-select";
3960
- import { Fragment as Fragment7, jsx as jsx57, jsxs as jsxs24 } from "react/jsx-runtime";
4017
+ import { Fragment as Fragment8, jsx as jsx57, jsxs as jsxs24 } from "react/jsx-runtime";
3961
4018
  var CHECKBOX_STATE = {
3962
4019
  UNCHECKED: 0,
3963
4020
  INDETERMINATE: 1,
@@ -4004,7 +4061,7 @@ var InputOption = ({
4004
4061
  onClick: isDisabled ? void 0 : innerProps.onClick,
4005
4062
  style
4006
4063
  };
4007
- return /* @__PURE__ */ jsxs24(Fragment7, { children: [
4064
+ return /* @__PURE__ */ jsxs24(Fragment8, { children: [
4008
4065
  /* @__PURE__ */ jsx57(
4009
4066
  ComponentRS.Option,
4010
4067
  {
@@ -4017,7 +4074,7 @@ var InputOption = ({
4017
4074
  innerProps: props,
4018
4075
  ...rest,
4019
4076
  children: /* @__PURE__ */ jsxs24(
4020
- Flex11,
4077
+ Flex12,
4021
4078
  {
4022
4079
  alignItems: "center",
4023
4080
  width: "100%",
@@ -4068,7 +4125,7 @@ var SelectWithCheckboxBase = ({
4068
4125
  );
4069
4126
  };
4070
4127
  var SelectCheckbox = (props) => {
4071
- const { isMulti, options, value, ...rest } = props;
4128
+ const { isMulti, options, value, components, ...rest } = props;
4072
4129
  const selectValue = value || [];
4073
4130
  return /* @__PURE__ */ jsx57(
4074
4131
  SelectWithCheckboxBase,
@@ -4076,6 +4133,11 @@ var SelectCheckbox = (props) => {
4076
4133
  isMulti,
4077
4134
  options,
4078
4135
  components: {
4136
+ DropdownIndicator,
4137
+ ClearIndicator,
4138
+ MultiValue,
4139
+ MultiValueRemove,
4140
+ ...components,
4079
4141
  Option: (optionProps) => {
4080
4142
  const { isSelected, data } = optionProps;
4081
4143
  const optionLength = (options == null ? void 0 : options.length) ? options.length - 1 : 0;
@@ -4091,13 +4153,13 @@ var SelectCheckbox = (props) => {
4091
4153
  var select_with_checkbox_default = SelectCheckbox;
4092
4154
 
4093
4155
  // src/components/sidebar/components/sidebar.tsx
4094
- import { Flex as Flex12 } from "@chakra-ui/react";
4156
+ import { Flex as Flex13 } from "@chakra-ui/react";
4095
4157
  import { motion } from "framer-motion";
4096
4158
  import { jsx as jsx58 } from "react/jsx-runtime";
4097
4159
  var Sidebar = ({ isCollapse, children, ...props }) => {
4098
4160
  const { width = "220px" } = props;
4099
4161
  return /* @__PURE__ */ jsx58(
4100
- Flex12,
4162
+ Flex13,
4101
4163
  {
4102
4164
  position: "relative",
4103
4165
  as: motion.div,
@@ -4117,7 +4179,7 @@ var Sidebar = ({ isCollapse, children, ...props }) => {
4117
4179
  Sidebar.displayName = "Sidebar";
4118
4180
 
4119
4181
  // src/components/sidebar/components/sidebar-header.tsx
4120
- import { Box as Box27, Flex as Flex13, Text as Text16 } from "@chakra-ui/react";
4182
+ import { Box as Box27, Flex as Flex14, Text as Text16 } from "@chakra-ui/react";
4121
4183
  import { ArrowRight } from "@ctlyst.id/internal-icon";
4122
4184
  import { AnimatePresence, motion as motion2 } from "framer-motion";
4123
4185
  import { jsx as jsx59, jsxs as jsxs25 } from "react/jsx-runtime";
@@ -4133,7 +4195,7 @@ var SidebarHeader = ({ isCollapse, setCollapse, title }) => {
4133
4195
  color: "primary.500"
4134
4196
  },
4135
4197
  children: /* @__PURE__ */ jsxs25(
4136
- Flex13,
4198
+ Flex14,
4137
4199
  {
4138
4200
  "data-test-id": "nLkz69YipW818FioeAxVI",
4139
4201
  direction: "row",
@@ -4195,9 +4257,9 @@ import {
4195
4257
  Portal as Portal4,
4196
4258
  Text as Text17
4197
4259
  } from "@chakra-ui/react";
4198
- import * as Icon7 from "@ctlyst.id/internal-icon";
4260
+ import * as Icon8 from "@ctlyst.id/internal-icon";
4199
4261
  import { motion as motion3 } from "framer-motion";
4200
- import { Fragment as Fragment8, jsx as jsx60, jsxs as jsxs26 } from "react/jsx-runtime";
4262
+ import { Fragment as Fragment9, jsx as jsx60, jsxs as jsxs26 } from "react/jsx-runtime";
4201
4263
  var SidebarMenu = ({ menu, isCollapse, mappingIcon: mappingIcon2, itemStyles, setActive, active }) => {
4202
4264
  return /* @__PURE__ */ jsx60(Box28, { as: motion3.div, animate: { padding: isCollapse ? "8px 16px" : "8px" }, children: /* @__PURE__ */ jsx60(Accordion2, { index: menu.findIndex((item) => item.children.some((child) => child.navLink === active)), children: menu.map((item) => {
4203
4265
  const isActive = active == null ? void 0 : active.includes(item.navLink);
@@ -4205,12 +4267,12 @@ var SidebarMenu = ({ menu, isCollapse, mappingIcon: mappingIcon2, itemStyles, se
4205
4267
  const isOpenOptions = isCollapse || !isCollapse && !isExpanded;
4206
4268
  const noChild = !item.children.length;
4207
4269
  const offsetStyle = isCollapse ? noChild ? [-5, 16] : [-1, 16] : [-1, 8];
4208
- return /* @__PURE__ */ jsxs26(Fragment8, { children: [
4270
+ return /* @__PURE__ */ jsxs26(Fragment9, { children: [
4209
4271
  /* @__PURE__ */ jsx60(Popover6, { trigger: "hover", placement: "right-start", offset: offsetStyle, children: ({ isOpen, onClose }) => {
4210
4272
  const activeOption = isOpen ? "primary.50" : "white";
4211
4273
  const backgroundColor = isOpen && !isActive ? "primary.50" : "primary.100";
4212
4274
  const activeParent = isActive ? backgroundColor : activeOption;
4213
- return /* @__PURE__ */ jsxs26(Fragment8, { children: [
4275
+ return /* @__PURE__ */ jsxs26(Fragment9, { children: [
4214
4276
  /* @__PURE__ */ jsx60(PopoverTrigger6, { children: /* @__PURE__ */ jsx60(
4215
4277
  AccordionButton2,
4216
4278
  {
@@ -4252,7 +4314,7 @@ var SidebarMenu = ({ menu, isCollapse, mappingIcon: mappingIcon2, itemStyles, se
4252
4314
  boxSize: "3",
4253
4315
  as: motion3.div,
4254
4316
  animate: { transform: isExpanded ? "rotate(-180deg)" : "rotate(0)" },
4255
- children: /* @__PURE__ */ jsx60(Icon7.ChevronDown, { size: 3 })
4317
+ children: /* @__PURE__ */ jsx60(Icon8.ChevronDown, { size: 3 })
4256
4318
  }
4257
4319
  )
4258
4320
  ]
@@ -4331,9 +4393,9 @@ SidebarMenu.defaultProps = {
4331
4393
  };
4332
4394
 
4333
4395
  // src/components/switch/components/switch.tsx
4334
- import { chakra as chakra6, Flex as Flex14, forwardRef as forwardRef10, omitThemingProps as omitThemingProps2, useCheckbox as useCheckbox3, useMultiStyleConfig as useMultiStyleConfig2 } from "@chakra-ui/react";
4396
+ import { chakra as chakra6, Flex as Flex15, forwardRef as forwardRef10, omitThemingProps as omitThemingProps2, useCheckbox as useCheckbox3, useMultiStyleConfig as useMultiStyleConfig2 } from "@chakra-ui/react";
4335
4397
  import { cx as cx10, dataAttr } from "@chakra-ui/shared-utils";
4336
- import { Check as Check2, Close as Close4 } from "@ctlyst.id/internal-icon";
4398
+ import { Check as Check2, Close as Close5 } from "@ctlyst.id/internal-icon";
4337
4399
  import { useMemo as useMemo3 } from "react";
4338
4400
  import { jsx as jsx61, jsxs as jsxs27 } from "react/jsx-runtime";
4339
4401
  var Switch = forwardRef10(function Switch2(props, ref) {
@@ -4389,9 +4451,9 @@ var Switch = forwardRef10(function Switch2(props, ref) {
4389
4451
  children: [
4390
4452
  /* @__PURE__ */ jsx61("input", { "data-test-id": "", className: "chakra-switch__input", ...getInputProps({}, ref) }),
4391
4453
  /* @__PURE__ */ jsxs27(chakra6.span, { ...getCheckboxProps(), className: "chakra-switch__track", pos: "relative", __css: trackStyles, children: [
4392
- /* @__PURE__ */ jsxs27(Flex14, { gap: 1, pos: "absolute", top: "50%", left: "50%", transform: "translate(-50%, -50%)", children: [
4454
+ /* @__PURE__ */ jsxs27(Flex15, { gap: 1, pos: "absolute", top: "50%", left: "50%", transform: "translate(-50%, -50%)", children: [
4393
4455
  /* @__PURE__ */ jsx61(Check2, { color: "white", size: getIconSize(props.size) }),
4394
- /* @__PURE__ */ jsx61(Close4, { color: state.isDisabled ? "neutral.600" : "neutral.900", size: getIconSize(props.size) })
4456
+ /* @__PURE__ */ jsx61(Close5, { color: state.isDisabled ? "neutral.600" : "neutral.900", size: getIconSize(props.size) })
4395
4457
  ] }),
4396
4458
  /* @__PURE__ */ jsx61(
4397
4459
  chakra6.span,
@@ -4440,7 +4502,7 @@ import {
4440
4502
  } from "@chakra-ui/react";
4441
4503
 
4442
4504
  // src/components/tabs/components/tab.tsx
4443
- import { Button as Button6, Flex as Flex15, forwardRef as forwardRef11, useMultiStyleConfig as useMultiStyleConfig3, useTab } from "@chakra-ui/react";
4505
+ import { Button as Button6, Flex as Flex16, forwardRef as forwardRef11, useMultiStyleConfig as useMultiStyleConfig3, useTab } from "@chakra-ui/react";
4444
4506
  import { jsx as jsx62, jsxs as jsxs28 } from "react/jsx-runtime";
4445
4507
  var Tab = forwardRef11((props, ref) => {
4446
4508
  var _a, _b;
@@ -4473,7 +4535,7 @@ var Tab = forwardRef11((props, ref) => {
4473
4535
  },
4474
4536
  __css: styles.tab,
4475
4537
  ...tabProps,
4476
- children: /* @__PURE__ */ jsxs28(Flex15, { alignItems: "center", children: [
4538
+ children: /* @__PURE__ */ jsxs28(Flex16, { alignItems: "center", children: [
4477
4539
  (_a = props.leftAddon) == null ? void 0 : _a.call(props, { isSelected }),
4478
4540
  tabProps.children,
4479
4541
  (_b = props.rightAddon) == null ? void 0 : _b.call(props, { isSelected })
@@ -4522,7 +4584,7 @@ import {
4522
4584
  import { Code, CodeProps, Heading, HeadingProps, Link as Link5, LinkProps, Text as Text18, TextProps } from "@chakra-ui/react";
4523
4585
 
4524
4586
  // src/components/toast/components/toast.tsx
4525
- import { chakra as chakra7, Flex as Flex16, Link as Link6, useToken } from "@chakra-ui/react";
4587
+ import { chakra as chakra7, Flex as Flex17, Link as Link6, useToken } from "@chakra-ui/react";
4526
4588
  import { Bounce, toast } from "react-toastify";
4527
4589
 
4528
4590
  // src/components/toast/components/styles.tsx
@@ -4561,7 +4623,7 @@ var Styles2 = () => {
4561
4623
  var styles_default2 = Styles2;
4562
4624
 
4563
4625
  // src/components/toast/components/toast.tsx
4564
- import { Fragment as Fragment9, jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
4626
+ import { Fragment as Fragment10, jsx as jsx64, jsxs as jsxs29 } from "react/jsx-runtime";
4565
4627
  var DEFAULT_OPTIONS = {
4566
4628
  position: "top-right",
4567
4629
  autoClose: 5e3,
@@ -4592,10 +4654,10 @@ var useToast = () => {
4592
4654
  "success.500"
4593
4655
  ]);
4594
4656
  const content = (icon, message, link) => {
4595
- return /* @__PURE__ */ jsxs29(Fragment9, { children: [
4657
+ return /* @__PURE__ */ jsxs29(Fragment10, { children: [
4596
4658
  /* @__PURE__ */ jsx64(styles_default2, {}),
4597
- /* @__PURE__ */ jsxs29(Flex16, { justifyContent: "space-between", alignItems: "center", gap: 4, children: [
4598
- /* @__PURE__ */ jsxs29(Flex16, { alignItems: "center", children: [
4659
+ /* @__PURE__ */ jsxs29(Flex17, { justifyContent: "space-between", alignItems: "center", gap: 4, children: [
4660
+ /* @__PURE__ */ jsxs29(Flex17, { alignItems: "center", children: [
4599
4661
  icon && /* @__PURE__ */ jsx64(chakra7.span, { mr: 2, w: 4, h: 4, children: renderIcon(icon, "default") }),
4600
4662
  /* @__PURE__ */ jsx64(chakra7.span, { noOfLines: 2, children: message })
4601
4663
  ] }),
@@ -4681,7 +4743,7 @@ import { ToastContainer } from "react-toastify";
4681
4743
  import {
4682
4744
  Box as Box29,
4683
4745
  Button as Button7,
4684
- Flex as Flex17,
4746
+ Flex as Flex18,
4685
4747
  FormControl as FormControl4,
4686
4748
  FormLabel as FormLabel4,
4687
4749
  Heading as Heading2,
@@ -4722,7 +4784,7 @@ var concatList = (list) => {
4722
4784
  var formatValidationMessage = (extension) => `Foto harus dalam format ${concatList(extension.map((ext) => `.${ext}`))}.`;
4723
4785
 
4724
4786
  // src/components/uploader/components/uploader.tsx
4725
- import { Fragment as Fragment10, jsx as jsx65, jsxs as jsxs30 } from "react/jsx-runtime";
4787
+ import { Fragment as Fragment11, jsx as jsx65, jsxs as jsxs30 } from "react/jsx-runtime";
4726
4788
  import { createElement } from "react";
4727
4789
  var Uploader = ({
4728
4790
  onHandleUploadFile,
@@ -4841,13 +4903,13 @@ var Uploader = ({
4841
4903
  return /* @__PURE__ */ jsxs30(FormControl4, { isRequired, children: [
4842
4904
  label && typeof label === "string" ? (
4843
4905
  // eslint-disable-next-line react/jsx-no-useless-fragment
4844
- /* @__PURE__ */ jsxs30(FormLabel4, { requiredIndicator: /* @__PURE__ */ jsx65(Fragment10, {}), fontSize: "text.sm", children: [
4906
+ /* @__PURE__ */ jsxs30(FormLabel4, { requiredIndicator: /* @__PURE__ */ jsx65(Fragment11, {}), fontSize: "text.sm", children: [
4845
4907
  isRequired && /* @__PURE__ */ jsx65(RequiredIndicator2, { mr: 1, ml: 0 }),
4846
4908
  label
4847
4909
  ] })
4848
4910
  ) : label,
4849
4911
  /* @__PURE__ */ jsxs30(
4850
- Flex17,
4912
+ Flex18,
4851
4913
  {
4852
4914
  minH: containerHeight,
4853
4915
  maxW: !isSmall ? "full" : "120px",
@@ -4883,7 +4945,7 @@ var Uploader = ({
4883
4945
  }
4884
4946
  ) }),
4885
4947
  filePreview && /* @__PURE__ */ jsx65(Box29, { w: "full", children: /* @__PURE__ */ jsx65(
4886
- Flex17,
4948
+ Flex18,
4887
4949
  {
4888
4950
  position: "relative",
4889
4951
  "data-test-id": `CT_component_base-image-uploader_image-preview${testId ? `_${testId}` : ""}`,
@@ -4900,7 +4962,7 @@ var Uploader = ({
4900
4962
  )
4901
4963
  }
4902
4964
  ) }),
4903
- !filePreview && /* @__PURE__ */ jsxs30(Fragment10, { children: [
4965
+ !filePreview && /* @__PURE__ */ jsxs30(Fragment11, { children: [
4904
4966
  /* @__PURE__ */ jsx65(
4905
4967
  "input",
4906
4968
  {
@@ -4908,7 +4970,7 @@ var Uploader = ({
4908
4970
  ...getInputProps()
4909
4971
  }
4910
4972
  ),
4911
- isDragActive ? /* @__PURE__ */ jsx65(Text19, { children: dragActiveText != null ? dragActiveText : messages.dragActive }) : /* @__PURE__ */ jsxs30(Flex17, { gap: 2, flexDirection: "column", alignItems: "center", color: isError ? "danger.500" : color, children: [
4973
+ isDragActive ? /* @__PURE__ */ jsx65(Text19, { children: dragActiveText != null ? dragActiveText : messages.dragActive }) : /* @__PURE__ */ jsxs30(Flex18, { gap: 2, flexDirection: "column", alignItems: "center", color: isError ? "danger.500" : color, children: [
4912
4974
  size2 === "sm" && /* @__PURE__ */ jsx65(Plus, { size: 6, color }),
4913
4975
  /* @__PURE__ */ jsxs30(Box29, { children: [
4914
4976
  !filePreview && /* @__PURE__ */ jsx65(
@@ -4928,7 +4990,7 @@ var Uploader = ({
4928
4990
  ]
4929
4991
  }
4930
4992
  ),
4931
- filePreview && !isSmall && /* @__PURE__ */ jsxs30(Flex17, { align: "center", justify: "center", my: 2, children: [
4993
+ filePreview && !isSmall && /* @__PURE__ */ jsxs30(Flex18, { align: "center", justify: "center", my: 2, children: [
4932
4994
  /* @__PURE__ */ createElement(
4933
4995
  "input",
4934
4996
  {
@@ -5212,7 +5274,7 @@ var alertTheme = defineMultiStyleConfig2({
5212
5274
  var alert_default = alertTheme;
5213
5275
 
5214
5276
  // src/config/theme/components/badge.ts
5215
- var Badge2 = {
5277
+ var Badge3 = {
5216
5278
  baseStyle: {
5217
5279
  h: "fit-content",
5218
5280
  display: "inline-block",
@@ -5286,7 +5348,7 @@ var Badge2 = {
5286
5348
  variant: "primary-solid"
5287
5349
  }
5288
5350
  };
5289
- var badge_default2 = Badge2;
5351
+ var badge_default2 = Badge3;
5290
5352
 
5291
5353
  // src/config/theme/components/button.ts
5292
5354
  import { defineStyleConfig } from "@chakra-ui/styled-system";
@@ -6776,6 +6838,7 @@ export {
6776
6838
  CheckboxIconProps,
6777
6839
  CheckboxState,
6778
6840
  chips_default as Chips,
6841
+ ClearIndicator,
6779
6842
  CloseButton,
6780
6843
  CloseButtonProps,
6781
6844
  Code,
@@ -6803,6 +6866,7 @@ export {
6803
6866
  ModalHeader3 as DrawerHeader,
6804
6867
  ModalOverlay3 as DrawerOverlay,
6805
6868
  DrawerProps,
6869
+ DropdownIndicator,
6806
6870
  empty_state_default as EmptyState,
6807
6871
  Fade,
6808
6872
  FadeProps,
@@ -6876,6 +6940,8 @@ export {
6876
6940
  ModalOverlayProps,
6877
6941
  ModalProps,
6878
6942
  multi_datepicker_month_default as MultiDatePickerMonth,
6943
+ MultiValue,
6944
+ MultiValueRemove,
6879
6945
  NavItem,
6880
6946
  Navbar,
6881
6947
  navigation_bar_default as NavigationBar,