@lets-events/react 12.1.13 → 12.2.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.
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- > @lets-events/react@12.1.13 build
3
+ > @lets-events/react@12.2.1 build
4
4
  > tsup src/index.tsx --format esm,cjs --dts --external react
5
5
 
6
6
  CLI Building entry: src/index.tsx
@@ -10,12 +10,12 @@
10
10
  CLI Target: es6
11
11
  ESM Build start
12
12
  CJS Build start
13
- ESM dist/index.mjs 374.58 KB
14
- ESM ⚡️ Build success in 286ms
15
- CJS dist/index.js 388.40 KB
16
- CJS ⚡️ Build success in 286ms
13
+ ESM dist/index.mjs 378.47 KB
14
+ ESM ⚡️ Build success in 358ms
15
+ CJS dist/index.js 392.42 KB
16
+ CJS ⚡️ Build success in 360ms
17
17
  DTS Build start
18
- DTS ⚡️ Build success in 91323ms
19
- DTS dist/index.d.mts 388.87 KB
20
- DTS dist/index.d.ts 388.87 KB
18
+ DTS ⚡️ Build success in 7045ms
19
+ DTS dist/index.d.mts 389.04 KB
20
+ DTS dist/index.d.ts 389.04 KB
21
21
  ⠙
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @lets-events/react
2
2
 
3
+ ## 12.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Drawer Go Back Button
8
+
9
+ ## 12.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - MultiSelect added props
14
+
3
15
  ## 12.1.13
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -5054,8 +5054,10 @@ type DrawerProps = ComponentProps<typeof DrawerOverlayStyled> & {
5054
5054
  backgroundColor?: keyof Colors;
5055
5055
  title: string;
5056
5056
  children?: ReactNode;
5057
+ goBackIcon?: ReactNode;
5058
+ goBackAction: () => void;
5057
5059
  };
5058
- declare function Drawer({ isOpen, onClose, width, backgroundColor, title, children, }: DrawerProps): react_jsx_runtime.JSX.Element | null;
5060
+ declare function Drawer({ isOpen, onClose, width, backgroundColor, title, children, goBackIcon, goBackAction }: DrawerProps): react_jsx_runtime.JSX.Element | null;
5059
5061
 
5060
5062
  declare const TimePickerStyled: _stitches_react_types_styled_component.StyledComponent<"div", {
5061
5063
  expand?: boolean | "true" | undefined;
@@ -12595,9 +12597,14 @@ interface TooltipProps {
12595
12597
  }
12596
12598
  declare function Tooltip({ children, content, delayDuration, side, }: TooltipProps): react_jsx_runtime.JSX.Element;
12597
12599
 
12598
- declare const StyledTrigger: _stitches_react_types_styled_component.StyledComponent<"div", {
12599
- color?: "default" | "error" | undefined;
12600
- disabled?: boolean | "true" | undefined;
12600
+ declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.FlexProps & React$1.RefAttributes<HTMLDivElement>>, {
12601
+ display?: "flex" | "inline-flex" | undefined;
12602
+ align?: "end" | "stretch" | "center" | "start" | "baseline" | undefined;
12603
+ justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | undefined;
12604
+ direction?: "column" | "column-reverse" | "row" | "row-reverse" | undefined;
12605
+ gap?: 0 | 2 | "0" | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12606
+ gapY?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12607
+ gapX?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12601
12608
  }, {}, _stitches_react_types_css_util.CSS<{}, {
12602
12609
  colors: {
12603
12610
  brand50: string;
@@ -12968,32 +12975,15 @@ declare const StyledTrigger: _stitches_react_types_styled_component.StyledCompon
12968
12975
  transition: "transitions";
12969
12976
  zIndex: "zIndices";
12970
12977
  }, {}>>;
12971
- type MultiSelectProps = ComponentProps<typeof StyledTrigger> & {
12972
- placeholder?: string;
12973
- value?: string[];
12974
- onValueChange?: (v: string[]) => void;
12975
- options: Array<{
12976
- label: string;
12977
- value: string;
12978
- }>;
12979
- width?: string;
12980
- zIndex?: string;
12981
- showSelectedValues?: boolean;
12982
- singleSelect?: boolean;
12983
- selectedOrientation?: "row" | "column";
12984
- disabled?: boolean;
12985
- maxHeight?: string;
12978
+ type FlexProps = ComponentProps<typeof FlexStyled> & {
12979
+ as?: ElementType;
12980
+ children: React.ReactNode;
12986
12981
  };
12987
- declare const MultiSelect: React__default.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
12982
+ declare function Flex({ children, ...props }: FlexProps): react_jsx_runtime.JSX.Element;
12988
12983
 
12989
- declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.FlexProps & React$1.RefAttributes<HTMLDivElement>>, {
12990
- display?: "flex" | "inline-flex" | undefined;
12991
- align?: "end" | "stretch" | "center" | "start" | "baseline" | undefined;
12992
- justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | undefined;
12993
- direction?: "column" | "column-reverse" | "row" | "row-reverse" | undefined;
12994
- gap?: 0 | 2 | "0" | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12995
- gapY?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12996
- gapX?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12984
+ declare const StyledTrigger: _stitches_react_types_styled_component.StyledComponent<"div", {
12985
+ color?: "default" | "error" | undefined;
12986
+ disabled?: boolean | "true" | undefined;
12997
12987
  }, {}, _stitches_react_types_css_util.CSS<{}, {
12998
12988
  colors: {
12999
12989
  brand50: string;
@@ -13364,11 +13354,27 @@ declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent
13364
13354
  transition: "transitions";
13365
13355
  zIndex: "zIndices";
13366
13356
  }, {}>>;
13367
- type FlexProps = ComponentProps<typeof FlexStyled> & {
13368
- as?: ElementType;
13369
- children: React.ReactNode;
13357
+
13358
+ type MultiSelectProps = ComponentProps<typeof StyledTrigger> & {
13359
+ placeholder?: string;
13360
+ value?: string[];
13361
+ onValueChange?: (v: string[]) => void;
13362
+ options: Array<{
13363
+ label: string;
13364
+ value: string;
13365
+ }>;
13366
+ width?: string;
13367
+ zIndex?: string;
13368
+ showSelectedValues?: boolean;
13369
+ singleSelect?: boolean;
13370
+ selectedOrientation?: "row" | "column";
13371
+ disabled?: boolean;
13372
+ maxHeight?: string;
13373
+ selectedAllOptions?: boolean;
13374
+ selectedAllText?: string;
13375
+ selectedScroll?: boolean;
13370
13376
  };
13371
- declare function Flex({ children, ...props }: FlexProps): react_jsx_runtime.JSX.Element;
13377
+ declare const MultiSelect: React__default.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
13372
13378
 
13373
13379
  declare const Box: React$1.ForwardRefExoticComponent<_radix_ui_themes.BoxProps & React$1.RefAttributes<HTMLDivElement>>;
13374
13380
 
package/dist/index.d.ts CHANGED
@@ -5054,8 +5054,10 @@ type DrawerProps = ComponentProps<typeof DrawerOverlayStyled> & {
5054
5054
  backgroundColor?: keyof Colors;
5055
5055
  title: string;
5056
5056
  children?: ReactNode;
5057
+ goBackIcon?: ReactNode;
5058
+ goBackAction: () => void;
5057
5059
  };
5058
- declare function Drawer({ isOpen, onClose, width, backgroundColor, title, children, }: DrawerProps): react_jsx_runtime.JSX.Element | null;
5060
+ declare function Drawer({ isOpen, onClose, width, backgroundColor, title, children, goBackIcon, goBackAction }: DrawerProps): react_jsx_runtime.JSX.Element | null;
5059
5061
 
5060
5062
  declare const TimePickerStyled: _stitches_react_types_styled_component.StyledComponent<"div", {
5061
5063
  expand?: boolean | "true" | undefined;
@@ -12595,9 +12597,14 @@ interface TooltipProps {
12595
12597
  }
12596
12598
  declare function Tooltip({ children, content, delayDuration, side, }: TooltipProps): react_jsx_runtime.JSX.Element;
12597
12599
 
12598
- declare const StyledTrigger: _stitches_react_types_styled_component.StyledComponent<"div", {
12599
- color?: "default" | "error" | undefined;
12600
- disabled?: boolean | "true" | undefined;
12600
+ declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.FlexProps & React$1.RefAttributes<HTMLDivElement>>, {
12601
+ display?: "flex" | "inline-flex" | undefined;
12602
+ align?: "end" | "stretch" | "center" | "start" | "baseline" | undefined;
12603
+ justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | undefined;
12604
+ direction?: "column" | "column-reverse" | "row" | "row-reverse" | undefined;
12605
+ gap?: 0 | 2 | "0" | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12606
+ gapY?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12607
+ gapX?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12601
12608
  }, {}, _stitches_react_types_css_util.CSS<{}, {
12602
12609
  colors: {
12603
12610
  brand50: string;
@@ -12968,32 +12975,15 @@ declare const StyledTrigger: _stitches_react_types_styled_component.StyledCompon
12968
12975
  transition: "transitions";
12969
12976
  zIndex: "zIndices";
12970
12977
  }, {}>>;
12971
- type MultiSelectProps = ComponentProps<typeof StyledTrigger> & {
12972
- placeholder?: string;
12973
- value?: string[];
12974
- onValueChange?: (v: string[]) => void;
12975
- options: Array<{
12976
- label: string;
12977
- value: string;
12978
- }>;
12979
- width?: string;
12980
- zIndex?: string;
12981
- showSelectedValues?: boolean;
12982
- singleSelect?: boolean;
12983
- selectedOrientation?: "row" | "column";
12984
- disabled?: boolean;
12985
- maxHeight?: string;
12978
+ type FlexProps = ComponentProps<typeof FlexStyled> & {
12979
+ as?: ElementType;
12980
+ children: React.ReactNode;
12986
12981
  };
12987
- declare const MultiSelect: React__default.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
12982
+ declare function Flex({ children, ...props }: FlexProps): react_jsx_runtime.JSX.Element;
12988
12983
 
12989
- declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.FlexProps & React$1.RefAttributes<HTMLDivElement>>, {
12990
- display?: "flex" | "inline-flex" | undefined;
12991
- align?: "end" | "stretch" | "center" | "start" | "baseline" | undefined;
12992
- justify?: "end" | "center" | "start" | "between" | "around" | "evenly" | undefined;
12993
- direction?: "column" | "column-reverse" | "row" | "row-reverse" | undefined;
12994
- gap?: 0 | 2 | "0" | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12995
- gapY?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12996
- gapX?: 2 | "2" | "4" | "6" | "8" | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 20 | 22 | 24 | 32 | 36 | 40 | 48 | 56 | 64 | 72 | 80 | "full" | "10" | "12" | "14" | "16" | "20" | "22" | "24" | "32" | "36" | "40" | "48" | "56" | "64" | "72" | "80" | undefined;
12984
+ declare const StyledTrigger: _stitches_react_types_styled_component.StyledComponent<"div", {
12985
+ color?: "default" | "error" | undefined;
12986
+ disabled?: boolean | "true" | undefined;
12997
12987
  }, {}, _stitches_react_types_css_util.CSS<{}, {
12998
12988
  colors: {
12999
12989
  brand50: string;
@@ -13364,11 +13354,27 @@ declare const FlexStyled: _stitches_react_types_styled_component.StyledComponent
13364
13354
  transition: "transitions";
13365
13355
  zIndex: "zIndices";
13366
13356
  }, {}>>;
13367
- type FlexProps = ComponentProps<typeof FlexStyled> & {
13368
- as?: ElementType;
13369
- children: React.ReactNode;
13357
+
13358
+ type MultiSelectProps = ComponentProps<typeof StyledTrigger> & {
13359
+ placeholder?: string;
13360
+ value?: string[];
13361
+ onValueChange?: (v: string[]) => void;
13362
+ options: Array<{
13363
+ label: string;
13364
+ value: string;
13365
+ }>;
13366
+ width?: string;
13367
+ zIndex?: string;
13368
+ showSelectedValues?: boolean;
13369
+ singleSelect?: boolean;
13370
+ selectedOrientation?: "row" | "column";
13371
+ disabled?: boolean;
13372
+ maxHeight?: string;
13373
+ selectedAllOptions?: boolean;
13374
+ selectedAllText?: string;
13375
+ selectedScroll?: boolean;
13370
13376
  };
13371
- declare function Flex({ children, ...props }: FlexProps): react_jsx_runtime.JSX.Element;
13377
+ declare const MultiSelect: React__default.ForwardRefExoticComponent<Omit<MultiSelectProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
13372
13378
 
13373
13379
  declare const Box: React$1.ForwardRefExoticComponent<_radix_ui_themes.BoxProps & React$1.RefAttributes<HTMLDivElement>>;
13374
13380
 
package/dist/index.js CHANGED
@@ -149,7 +149,7 @@ var require_react_is_development = __commonJS({
149
149
  var ContextProvider = REACT_PROVIDER_TYPE;
150
150
  var Element = REACT_ELEMENT_TYPE;
151
151
  var ForwardRef = REACT_FORWARD_REF_TYPE;
152
- var Fragment6 = REACT_FRAGMENT_TYPE;
152
+ var Fragment5 = REACT_FRAGMENT_TYPE;
153
153
  var Lazy = REACT_LAZY_TYPE;
154
154
  var Memo = REACT_MEMO_TYPE;
155
155
  var Portal = REACT_PORTAL_TYPE;
@@ -208,7 +208,7 @@ var require_react_is_development = __commonJS({
208
208
  exports2.ContextProvider = ContextProvider;
209
209
  exports2.Element = Element;
210
210
  exports2.ForwardRef = ForwardRef;
211
- exports2.Fragment = Fragment6;
211
+ exports2.Fragment = Fragment5;
212
212
  exports2.Lazy = Lazy;
213
213
  exports2.Memo = Memo;
214
214
  exports2.Portal = Portal;
@@ -8112,6 +8112,12 @@ var DrawerHeaderCloseButton = styled("button", {
8112
8112
  border: "none",
8113
8113
  cursor: "pointer"
8114
8114
  });
8115
+ var GoBackButtonStyled = styled("button", {
8116
+ background: "none",
8117
+ padding: "0",
8118
+ border: "none",
8119
+ cursor: "pointer"
8120
+ });
8115
8121
 
8116
8122
  // src/components/Drawer/index.tsx
8117
8123
  var import_jsx_runtime16 = require("react/jsx-runtime");
@@ -8121,7 +8127,9 @@ function Drawer({
8121
8127
  width,
8122
8128
  backgroundColor,
8123
8129
  title,
8124
- children
8130
+ children,
8131
+ goBackIcon,
8132
+ goBackAction
8125
8133
  }) {
8126
8134
  if (!isOpen) return null;
8127
8135
  const drawerContainerRef = (0, import_react8.useRef)(null);
@@ -8175,7 +8183,10 @@ function Drawer({
8175
8183
  },
8176
8184
  children: [
8177
8185
  /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(DrawerHeaderDiv, { children: [
8178
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DrawerHeaderTitle, { children: title }),
8186
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Flex2, { gap: 8, children: [
8187
+ goBackIcon && goBackIcon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(GoBackButtonStyled, { type: "button", onClick: goBackAction, children: goBackIcon }),
8188
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DrawerHeaderTitle, { children: title })
8189
+ ] }),
8179
8190
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DrawerHeaderCloseButton, { onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon_default, { size: "xl", color: "$dark600", name: "xmark" }) })
8180
8191
  ] }),
8181
8192
  children
@@ -9392,13 +9403,15 @@ function Tooltip({
9392
9403
  ] }) });
9393
9404
  }
9394
9405
 
9395
- // src/components/MultiSelect.tsx
9406
+ // src/components/MultiSelect/index.tsx
9396
9407
  var import_react16 = __toESM(require("react"));
9397
- var import_themes18 = require("@radix-ui/themes");
9408
+ var import_themes19 = require("@radix-ui/themes");
9398
9409
  var import_react_fontawesome3 = require("@fortawesome/react-fontawesome");
9399
9410
  var import_free_solid_svg_icons3 = require("@fortawesome/free-solid-svg-icons");
9400
9411
  var import_react17 = require("react");
9401
- var import_jsx_runtime26 = require("react/jsx-runtime");
9412
+
9413
+ // src/components/MultiSelect/styledComponents.ts
9414
+ var import_themes18 = require("@radix-ui/themes");
9402
9415
  var StyledContent = styled(import_themes18.DropdownMenu.Content, {
9403
9416
  backgroundColor: "$dark50",
9404
9417
  borderRadius: "$sm",
@@ -9482,12 +9495,67 @@ var StyledFlexWithMaxHeight = styled(Flex2, {
9482
9495
  hasMaxHeight: false
9483
9496
  }
9484
9497
  });
9498
+ var StyledFlexSelectedItems = styled(Flex2, {
9499
+ overflowY: "auto",
9500
+ margin: "8px 0",
9501
+ "&::-webkit-scrollbar": {
9502
+ width: "4px"
9503
+ },
9504
+ "&::-webkit-scrollbar-track": {
9505
+ backgroundColor: "$dark100",
9506
+ borderRadius: "2px"
9507
+ },
9508
+ "&::-webkit-scrollbar-thumb": {
9509
+ backgroundColor: "$dark300",
9510
+ borderRadius: "2px",
9511
+ "&:hover": {
9512
+ backgroundColor: "$dark400"
9513
+ }
9514
+ }
9515
+ });
9485
9516
  var StyledText = styled(Text, {
9486
9517
  flex: 1,
9487
9518
  overflow: "hidden",
9488
9519
  whiteSpace: "nowrap",
9489
9520
  textOverflow: "ellipsis"
9490
9521
  });
9522
+ var ButtonSelectAllStyled = styled("button", {
9523
+ display: "flex !important",
9524
+ alignItems: "center",
9525
+ justifyContent: "flex-start",
9526
+ gap: "$8",
9527
+ border: "none",
9528
+ "div": {
9529
+ backgroundCcolor: "#fff",
9530
+ borderRadius: "2px",
9531
+ height: "$16",
9532
+ width: "$16",
9533
+ position: "relative",
9534
+ border: "2px solid $dark300",
9535
+ cursor: "pointer",
9536
+ boxSizing: "border-box",
9537
+ "&.checked::before": {
9538
+ backgroundImage: `url("data:image/svg+xml,%3Csvg%20width='16'%20height='16'%20viewBox='0%200%2014%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M2%200C0.896875%200%200%200.896875%200%202V12C0%2013.1031%200.896875%2014%202%2014H12C13.1031%2014%2014%2013.1031%2014%2012V2C14%200.896875%2013.1031%200%2012%200H2ZM10.5312%205.53125L6.53125%209.53125C6.2375%209.825%205.7625%209.825%205.47188%209.53125L3.47187%207.53125C3.17812%207.2375%203.17812%206.7625%203.47187%206.47188C3.76562%206.18125%204.24062%206.17813%204.53125%206.47188L6%207.94063L9.46875%204.46875C9.7625%204.175%2010.2375%204.175%2010.5281%204.46875C10.8187%204.7625%2010.8219%205.2375%2010.5281%205.52812L10.5312%205.53125Z'%20fill='%23004ED2'/%3E%3C/svg%3E")`,
9539
+ content: "",
9540
+ width: "1rem",
9541
+ height: "1rem",
9542
+ position: "absolute",
9543
+ top: "-1px",
9544
+ right: "-2px",
9545
+ zIndex: "2",
9546
+ backgroundRepeat: "no-repeat"
9547
+ }
9548
+ },
9549
+ "&:hover": {
9550
+ "div": {
9551
+ transition: "all 300ms ease-out",
9552
+ boxShadow: "rgba(56, 129, 255, 0.5) 0px 0px 0px 4px"
9553
+ }
9554
+ }
9555
+ });
9556
+
9557
+ // src/components/MultiSelect/index.tsx
9558
+ var import_jsx_runtime26 = require("react/jsx-runtime");
9491
9559
  var MultiSelect = import_react16.default.forwardRef(
9492
9560
  ({
9493
9561
  placeholder,
@@ -9501,10 +9569,14 @@ var MultiSelect = import_react16.default.forwardRef(
9501
9569
  singleSelect = false,
9502
9570
  selectedOrientation = "column",
9503
9571
  disabled = false,
9504
- maxHeight
9572
+ maxHeight,
9573
+ selectedAllOptions = false,
9574
+ selectedAllText,
9575
+ selectedScroll = false
9505
9576
  }, fowardedRef) => {
9506
9577
  const [isOpen, setIsOpen] = (0, import_react16.useState)(false);
9507
9578
  const triggerRef = (0, import_react16.useRef)(null);
9579
+ const [allOptionsSelected, setAllOptionsSelected] = (0, import_react16.useState)(false);
9508
9580
  const labelByValue = (0, import_react17.useMemo)(() => {
9509
9581
  return options.reduce((prev, curr) => {
9510
9582
  return __spreadProps(__spreadValues({}, prev), {
@@ -9519,6 +9591,21 @@ var MultiSelect = import_react16.default.forwardRef(
9519
9591
  },
9520
9592
  [selectedValues, onValueChange]
9521
9593
  );
9594
+ const handleSelectAll = (0, import_react16.useCallback)(
9595
+ (e) => {
9596
+ e.preventDefault();
9597
+ e.stopPropagation();
9598
+ const allSelected = selectedValues.length === options.length;
9599
+ if (allSelected) {
9600
+ onValueChange == null ? void 0 : onValueChange([]);
9601
+ setAllOptionsSelected(false);
9602
+ } else {
9603
+ onValueChange == null ? void 0 : onValueChange(options.map((o) => o.value));
9604
+ setAllOptionsSelected(true);
9605
+ }
9606
+ },
9607
+ [selectedValues, options, onValueChange]
9608
+ );
9522
9609
  const text = (0, import_react17.useMemo)(() => {
9523
9610
  if (selectedValues.length > 0 && singleSelect) {
9524
9611
  const value = selectedValues[0];
@@ -9539,9 +9626,9 @@ var MultiSelect = import_react16.default.forwardRef(
9539
9626
  },
9540
9627
  [disabled]
9541
9628
  );
9542
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes18.Theme, { children: [
9543
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes18.DropdownMenu.Root, { children: [
9544
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes18.DropdownMenu.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
9629
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes19.Theme, { style: width !== "100%" ? { width } : void 0, children: [
9630
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes19.DropdownMenu.Root, { open: isOpen, onOpenChange: setIsOpen, children: [
9631
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes19.DropdownMenu.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
9545
9632
  StyledTrigger,
9546
9633
  {
9547
9634
  ref: (r) => {
@@ -9549,9 +9636,7 @@ var MultiSelect = import_react16.default.forwardRef(
9549
9636
  triggerRef.current = r;
9550
9637
  if (fowardedRef) {
9551
9638
  if (typeof fowardedRef === "function") fowardedRef(r);
9552
- else {
9553
- fowardedRef.current = r;
9554
- }
9639
+ else fowardedRef.current = r;
9555
9640
  }
9556
9641
  },
9557
9642
  color,
@@ -9591,15 +9676,32 @@ var MultiSelect = import_react16.default.forwardRef(
9591
9676
  value: selectedValues,
9592
9677
  onValueChange: (v) => {
9593
9678
  onValueChange == null ? void 0 : onValueChange(v);
9679
+ if (allOptionsSelected) {
9680
+ setAllOptionsSelected(false);
9681
+ }
9594
9682
  },
9595
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
9683
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
9596
9684
  StyledFlexWithMaxHeight,
9597
9685
  {
9598
9686
  direction: "column",
9599
9687
  gap: 8,
9600
9688
  hasMaxHeight: !!maxHeight,
9601
9689
  style: maxHeight ? { maxHeight } : void 0,
9602
- children: options.map(({ value, label }, i) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxItem, { value, css: itemStyle, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { typography: "labelSmall", children: label }) }, i))
9690
+ children: [
9691
+ selectedAllOptions && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
9692
+ ButtonSelectAllStyled,
9693
+ {
9694
+ css: itemStyle,
9695
+ onClick: (e) => handleSelectAll(e),
9696
+ type: "button",
9697
+ children: [
9698
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: allOptionsSelected ? "checked" : "" }),
9699
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { typography: "labelSmall", children: selectedAllText ? selectedAllText : "Selecionar Todos" })
9700
+ ]
9701
+ }
9702
+ ),
9703
+ options.map(({ value, label }, i) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxItem, { value, css: itemStyle, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { typography: "labelSmall", children: label }) }, i))
9704
+ ]
9603
9705
  }
9604
9706
  )
9605
9707
  }
@@ -9616,14 +9718,14 @@ var MultiSelect = import_react16.default.forwardRef(
9616
9718
  }
9617
9719
  )
9618
9720
  ] }),
9619
- selectedValues.length > 0 && showSelectedValues && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
9620
- Flex2,
9721
+ selectedValues.length > 0 && showSelectedValues && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
9722
+ StyledFlexSelectedItems,
9621
9723
  {
9622
9724
  direction: selectedOrientation,
9623
9725
  gap: 8,
9624
9726
  align: selectedOrientation === "column" ? "start" : "center",
9625
9727
  justify: "start",
9626
- css: { margin: "8px 0" },
9728
+ css: __spreadValues({}, selectedScroll && { maxHeight: maxHeight || "400px" }),
9627
9729
  children: selectedValues.map((value) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
9628
9730
  Flex2,
9629
9731
  {
@@ -9656,15 +9758,15 @@ var MultiSelect = import_react16.default.forwardRef(
9656
9758
  value
9657
9759
  ))
9658
9760
  }
9659
- ) })
9761
+ )
9660
9762
  ] });
9661
9763
  }
9662
9764
  );
9663
9765
 
9664
9766
  // src/components/Grid.tsx
9665
- var import_themes19 = require("@radix-ui/themes");
9767
+ var import_themes20 = require("@radix-ui/themes");
9666
9768
  var import_jsx_runtime27 = require("react/jsx-runtime");
9667
- var GridStyled = styled(import_themes19.Grid, {
9769
+ var GridStyled = styled(import_themes20.Grid, {
9668
9770
  display: "grid",
9669
9771
  variants: {
9670
9772
  display: {
@@ -9789,9 +9891,9 @@ function Grid(_a) {
9789
9891
  }
9790
9892
 
9791
9893
  // src/components/Container.tsx
9792
- var import_themes20 = require("@radix-ui/themes");
9894
+ var import_themes21 = require("@radix-ui/themes");
9793
9895
  var import_jsx_runtime28 = require("react/jsx-runtime");
9794
- var ContainerStyled = styled(import_themes20.Container, {
9896
+ var ContainerStyled = styled(import_themes21.Container, {
9795
9897
  variants: {
9796
9898
  size: {
9797
9899
  xs: { maxWidth: "576px" },
@@ -9824,9 +9926,9 @@ function Container(_a) {
9824
9926
  }
9825
9927
 
9826
9928
  // src/components/Section.tsx
9827
- var import_themes21 = require("@radix-ui/themes");
9929
+ var import_themes22 = require("@radix-ui/themes");
9828
9930
  var import_jsx_runtime29 = require("react/jsx-runtime");
9829
- var SectionStyled = styled(import_themes21.Section, {
9931
+ var SectionStyled = styled(import_themes22.Section, {
9830
9932
  variants: {
9831
9933
  size: {
9832
9934
  xs: { maxWidth: "576px" },