ivt 0.5.2 → 0.5.3
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/chunks/{multi-select-BAp66njF.mjs → multi-select-Ek4Es0bm.mjs} +30 -4
- package/dist/chunks/multi-select-Ek4Es0bm.mjs.map +1 -0
- package/dist/multi-select/index.mjs +1 -1
- package/dist/table-filter/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunks/multi-select-BAp66njF.mjs.map +0 -1
|
@@ -99,6 +99,7 @@ const MultiSelect = /*#__PURE__*/ React.forwardRef(({ options, onValueChange, va
|
|
|
99
99
|
const [selectedValues, setSelectedValues] = React.useState(defaultValue);
|
|
100
100
|
const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
|
|
101
101
|
const [isAnimating, setIsAnimating] = React.useState(false);
|
|
102
|
+
const [isShiftOn, setIsShiftOn] = React.useState(false);
|
|
102
103
|
const handleInputKeyDown = (event)=>{
|
|
103
104
|
if (event.key === "Enter") {
|
|
104
105
|
setIsPopoverOpen(true);
|
|
@@ -119,6 +120,22 @@ const MultiSelect = /*#__PURE__*/ React.forwardRef(({ options, onValueChange, va
|
|
|
119
120
|
setSelectedValues(newSelectedValues);
|
|
120
121
|
onValueChange(newSelectedValues);
|
|
121
122
|
};
|
|
123
|
+
const toggleInterval = (index)=>{
|
|
124
|
+
if (selectedValues.length < 1) return;
|
|
125
|
+
const lastIndex = options.findIndex((o)=>o.value === selectedValues.at(-1));
|
|
126
|
+
const start = Math.min(lastIndex, index);
|
|
127
|
+
const end = Math.max(lastIndex, index) + 1;
|
|
128
|
+
const rangeValues = options.slice(start, end).map((o)=>o.value);
|
|
129
|
+
const areAllSelected = rangeValues.every((v)=>selectedValues.includes(v));
|
|
130
|
+
const newSelectedValues = areAllSelected ? selectedValues.filter((v)=>!rangeValues.includes(v)) : [
|
|
131
|
+
...new Set([
|
|
132
|
+
...selectedValues,
|
|
133
|
+
...rangeValues
|
|
134
|
+
])
|
|
135
|
+
];
|
|
136
|
+
setSelectedValues(newSelectedValues);
|
|
137
|
+
onValueChange(newSelectedValues);
|
|
138
|
+
};
|
|
122
139
|
const handleClear = ()=>{
|
|
123
140
|
setSelectedValues([]);
|
|
124
141
|
onValueChange([]);
|
|
@@ -237,7 +254,13 @@ const MultiSelect = /*#__PURE__*/ React.forwardRef(({ options, onValueChange, va
|
|
|
237
254
|
})))), /*#__PURE__*/ React.createElement(PopoverContent, {
|
|
238
255
|
className: "w-auto p-0",
|
|
239
256
|
align: "start",
|
|
240
|
-
onEscapeKeyDown: ()=>setIsPopoverOpen(false)
|
|
257
|
+
onEscapeKeyDown: ()=>setIsPopoverOpen(false),
|
|
258
|
+
onKeyDown: (event)=>{
|
|
259
|
+
event.key === "Shift" ? setIsShiftOn(true) : null;
|
|
260
|
+
},
|
|
261
|
+
onKeyUp: (event)=>{
|
|
262
|
+
event.key === "Shift" ? setIsShiftOn(false) : null;
|
|
263
|
+
}
|
|
241
264
|
}, /*#__PURE__*/ React.createElement(Command, null, /*#__PURE__*/ React.createElement(CommandInput, {
|
|
242
265
|
placeholder: "Buscar...",
|
|
243
266
|
onKeyDown: handleInputKeyDown
|
|
@@ -249,11 +272,14 @@ const MultiSelect = /*#__PURE__*/ React.forwardRef(({ options, onValueChange, va
|
|
|
249
272
|
className: cn(selectedValues.length === options.length ? "" : "opacity-50 [&_svg]:invisible")
|
|
250
273
|
}, /*#__PURE__*/ React.createElement(Check, {
|
|
251
274
|
className: "text-foreground h-4 w-4"
|
|
252
|
-
}))), options.map((option)=>{
|
|
275
|
+
}))), options.map((option, index)=>{
|
|
253
276
|
const isSelected = selectedValues.includes(option.value);
|
|
254
277
|
return /*#__PURE__*/ React.createElement(CommandItem, {
|
|
255
278
|
key: option.value,
|
|
256
|
-
onSelect: ()=>
|
|
279
|
+
onSelect: ()=>{
|
|
280
|
+
if (isShiftOn) toggleInterval(index);
|
|
281
|
+
else toggleOption(option.value);
|
|
282
|
+
},
|
|
257
283
|
className: "flex cursor-pointer items-center justify-between"
|
|
258
284
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
259
285
|
className: "flex items-center"
|
|
@@ -274,4 +300,4 @@ const MultiSelect = /*#__PURE__*/ React.forwardRef(({ options, onValueChange, va
|
|
|
274
300
|
MultiSelect.displayName = "MultiSelect";
|
|
275
301
|
|
|
276
302
|
export { MultiSelect as M };
|
|
277
|
-
//# sourceMappingURL=multi-select-
|
|
303
|
+
//# sourceMappingURL=multi-select-Ek4Es0bm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-Ek4Es0bm.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/wand-sparkles.js","../../src/components/ui/multi-select/multi-select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\",\n key: \"ul74o6\"\n }\n ],\n [\"path\", { d: \"m14 7 3 3\", key: \"1r5n42\" }],\n [\"path\", { d: \"M5 6v4\", key: \"ilb8ba\" }],\n [\"path\", { d: \"M19 14v4\", key: \"blhpug\" }],\n [\"path\", { d: \"M10 2v2\", key: \"7u0qdc\" }],\n [\"path\", { d: \"M7 8H3\", key: \"zfb6yr\" }],\n [\"path\", { d: \"M21 16h-4\", key: \"1cnmox\" }],\n [\"path\", { d: \"M11 3H9\", key: \"1obp7u\" }]\n];\nconst WandSparkles = createLucideIcon(\"WandSparkles\", __iconNode);\n\nexport { __iconNode, WandSparkles as default };\n//# sourceMappingURL=wand-sparkles.js.map\n","\"use client\";\n\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { CheckIcon, ChevronsUpDownIcon, WandSparkles, XIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Badge, type BadgeVariants } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { cn } from \"@/lib/utils\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\n\n/**\n * Variants for the multi-select component to handle different styles.\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\n */\nconst multiSelectVariants = cva(\"m-1 transition ease-in-out delay-150 duration-300\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n\t\t\tsecondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\tdestructive:\n\t\t\t\t\"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n\t\t\tpositive:\n\t\t\t\t\"border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80\",\n\t\t\twarning: \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n\t\t\tinfo: \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\n\t\t\toutline: \"text-foreground bg-transparent hover:bg-transparent border\",\n\t\t},\n\t\tsubtle: {\n\t\t\ttrue: \"\",\n\t\t\tfalse: \"\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t},\n});\n\n/**\n * Props for MultiSelect component\n */\ninterface MultiSelectProps\n\textends React.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tVariantProps<typeof multiSelectVariants> {\n\t/**\n\t * An array of option objects to be displayed in the multi-select component.\n\t * Each option object has a label, value, and an optional icon.\n\t */\n\toptions: {\n\t\t/** The text to display for the option. */\n\t\tlabel: string;\n\t\t/** The unique value associated with the option. */\n\t\tvalue: string;\n\t\t/** Optional icon component to display alongside the option. */\n\t\ticon?: React.ComponentType<{ className?: string }>;\n\t}[];\n\n\t/**\n\t * Callback function triggered when the selected values change.\n\t * Receives an array of the new selected values.\n\t */\n\tonValueChange: (value: string[]) => void;\n\n\t/** The default selected values when the component mounts. */\n\tdefaultValue?: string[];\n\n\t/**\n\t * Placeholder text to be displayed when no values are selected.\n\t * Optional, defaults to \"Select options\".\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Animation duration in seconds for the visual effects (e.g., bouncing badges).\n\t * Optional, defaults to 0 (no animation).\n\t */\n\tanimation?: number;\n\n\t/**\n\t * Maximum number of items to display. Extra selected items will be summarized.\n\t * Optional, defaults to 3.\n\t */\n\tmaxCount?: number;\n\n\t/**\n\t * The modality of the popover. When set to true, interaction with outside elements\n\t * will be disabled and only popover content will be visible to screen readers.\n\t * Optional, defaults to false.\n\t */\n\tmodalPopover?: boolean;\n\n\t/**\n\t * If true, renders the multi-select component as a child of another component.\n\t * Optional, defaults to false.\n\t */\n\tasChild?: boolean;\n\n\t/**\n\t * Additional class names to apply custom styles to the multi-select component.\n\t * Optional, can be used to add custom styles.\n\t */\n\tclassName?: string;\n\tlabel?: string;\n\tdescription?: string;\n\tsubtle?: boolean;\n}\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\toptions,\n\t\t\tonValueChange,\n\t\t\tvariant,\n\t\t\tdefaultValue = [],\n\t\t\tplaceholder = \"Select options\",\n\t\t\tanimation = 0,\n\t\t\tmaxCount = 3,\n\t\t\tmodalPopover = false,\n\t\t\tasChild = false,\n\t\t\tclassName,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tsubtle = false,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst [isAnimating, setIsAnimating] = React.useState(false);\n\t\tconst [isShiftOn, setIsShiftOn] = React.useState(false);\n\n\t\tconst handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tsetIsPopoverOpen(true);\n\t\t\t} else if (event.key === \"Backspace\" && !event.currentTarget.value) {\n\t\t\t\tconst newSelectedValues = [...selectedValues];\n\t\t\t\tnewSelectedValues.pop();\n\t\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\t\tonValueChange(newSelectedValues);\n\t\t\t}\n\t\t};\n\n\t\tconst toggleOption = (option: string) => {\n\t\t\tconst newSelectedValues = selectedValues.includes(option)\n\t\t\t\t? selectedValues.filter((value) => value !== option)\n\t\t\t\t: [...selectedValues, option];\n\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\tonValueChange(newSelectedValues);\n\t\t};\n\n\t\tconst toggleInterval = (index: number) => {\n\t\t\tif (selectedValues.length < 1) return;\n\n\t\t\tconst lastIndex = options.findIndex((o) => o.value === selectedValues.at(-1));\n\t\t\tconst start = Math.min(lastIndex, index);\n\t\t\tconst end = Math.max(lastIndex, index) + 1;\n\t\t\tconst rangeValues = options.slice(start, end).map((o) => o.value);\n\t\t\tconst areAllSelected = rangeValues.every((v) => selectedValues.includes(v));\n\t\t\tconst newSelectedValues = areAllSelected\n\t\t\t\t? selectedValues.filter((v) => !rangeValues.includes(v))\n\t\t\t\t: [...new Set([...selectedValues, ...rangeValues])];\n\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\tonValueChange(newSelectedValues);\n\t\t};\n\n\t\tconst handleClear = () => {\n\t\t\tsetSelectedValues([]);\n\t\t\tonValueChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst clearExtraOptions = () => {\n\t\t\tconst newSelectedValues = selectedValues.slice(0, maxCount);\n\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\tonValueChange(newSelectedValues);\n\t\t};\n\n\t\tconst toggleAll = () => {\n\t\t\tif (selectedValues.length === options.length) {\n\t\t\t\thandleClear();\n\t\t\t} else {\n\t\t\t\tconst allValues = options.map((option) => option.value);\n\t\t\t\tsetSelectedValues(allValues);\n\t\t\t\tonValueChange(allValues);\n\t\t\t}\n\t\t};\n\n\t\tconst subtleStyles = (variant: BadgeVariants) => {\n\t\t\tif (variant === \"default\") {\n\t\t\t\treturn \"border-transparent bg-accent text-primary hover:bg-accent/80\";\n\t\t\t}\n\t\t\tif (variant === \"destructive\") {\n\t\t\t\treturn \"border-transparent bg-destructive-foreground text-destructive hover:bg-destructive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"positive\") {\n\t\t\t\treturn \"border-transparent bg-positive-foreground text-positive hover:bg-positive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"warning\") {\n\t\t\t\treturn \"border-transparent bg-warning-foreground text-warning hover:bg-warning-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"info\") {\n\t\t\t\treturn \"border-transparent bg-info-foreground text-info hover:bg-info-foreground/80\";\n\t\t\t}\n\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst finalSubtleStyles = subtleStyles(variant);\n\n\t\treturn (\n\t\t\t<div className=\"font-lato space-y-2\">\n\t\t\t\t{label && <p className=\"text-foreground text-sm font-medium\">{label}</p>}\n\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\taria-expanded={isPopoverOpen}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex h-auto min-h-9 w-full items-center justify-between rounded-md border bg-inherit px-4 py-2 hover:bg-inherit [&_svg]:pointer-events-auto\",\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{selectedValues.length > 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-center\">\n\t\t\t\t\t\t\t\t\t\t{selectedValues.slice(0, maxCount).map((value) => {\n\t\t\t\t\t\t\t\t\t\t\tconst option = options.find((o) => o.value === value);\n\t\t\t\t\t\t\t\t\t\t\tconst IconComponent = option?.icon;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"px-1\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{IconComponent && <IconComponent className=\"mr-2 h-4 w-4\" />}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option?.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{selectedValues.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-foreground border-foreground/1 bg-transparent px-1 hover:bg-transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{`+ ${selectedValues.length - maxCount} itens`}\n\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearExtraOptions();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-1\">\n\t\t\t\t\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground h-4 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleClear();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs\">Limpar tudo</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t</TooltipProvider>\n\n\t\t\t\t\t\t\t\t\t\t<Separator orientation=\"vertical\" className=\"flex h-full min-h-6\" />\n\t\t\t\t\t\t\t\t\t\t<ChevronsUpDownIcon className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{placeholder}</span>\n\t\t\t\t\t\t\t\t\t<ChevronsUpDownIcon className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tevent.key === \"Shift\" ? setIsShiftOn(true) : null;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonKeyUp={(event) => {\n\t\t\t\t\t\t\tevent.key === \"Shift\" ? setIsShiftOn(false) : null;\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t<CommandInput placeholder=\"Buscar...\" onKeyDown={handleInputKeyDown} />\n\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t<CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\n\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\t\t\t\tonSelect={toggleAll}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>(Selecionar tudo)</span>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\tselectedValues.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"opacity-50 [&_svg]:invisible\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t{options.map((option, index) => {\n\t\t\t\t\t\t\t\t\t\tconst isSelected = selectedValues.includes(option.value);\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (isShiftOn) toggleInterval(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\telse toggleOption(option.value);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<option.icon className=\"text-muted-foreground mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn(isSelected ? \"\" : \"opacity-50 [&_svg]:invisible\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t<CommandSeparator />\n\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t</Command>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t{animation > 0 && selectedValues.length > 0 && (\n\t\t\t\t\t\t<WandSparkles\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"text-foreground bg-background my-2 h-3 w-3 cursor-pointer\",\n\t\t\t\t\t\t\t\tisAnimating ? \"\" : \"text-muted-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => setIsAnimating(!isAnimating)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Popover>\n\n\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"names":["multiSelectVariants","cva","variants","variant","default","secondary","destructive","positive","warning","info","outline","subtle","true","false","defaultVariants","MultiSelect","React","forwardRef","options","onValueChange","defaultValue","placeholder","animation","maxCount","modalPopover","asChild","className","label","description","props","ref","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","isAnimating","setIsAnimating","isShiftOn","setIsShiftOn","handleInputKeyDown","event","key","currentTarget","value","newSelectedValues","pop","toggleOption","option","includes","filter","toggleInterval","index","length","lastIndex","findIndex","o","at","start","Math","min","end","max","rangeValues","slice","map","areAllSelected","every","v","Set","handleClear","handleTogglePopover","prev","clearExtraOptions","toggleAll","allValues","subtleStyles","finalSubtleStyles","div","p","Popover","open","onOpenChange","modal","PopoverTrigger","Button","onClick","aria-expanded","cn","find","IconComponent","icon","Badge","style","animationDuration","XIcon","stopPropagation","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","span","Separator","orientation","ChevronsUpDownIcon","PopoverContent","align","onEscapeKeyDown","onKeyDown","onKeyUp","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","CheckIcon","isSelected","CommandSeparator","WandSparkles","displayName"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -9,7 +9,7 @@ import { C as CalendarDays } from '../chunks/calendar-days-C_RzSweF.mjs';
|
|
|
9
9
|
import { C as Checkbox } from '../chunks/checkbox-BvnI-3Q6.mjs';
|
|
10
10
|
import { C as CalendarRange } from '../chunks/CalendarRange-cGKHXdiT.mjs';
|
|
11
11
|
import { C as ComboboxField } from '../chunks/ComboboxField-BTKXl9y7.mjs';
|
|
12
|
-
import { M as MultiSelect } from '../chunks/multi-select-
|
|
12
|
+
import { M as MultiSelect } from '../chunks/multi-select-Ek4Es0bm.mjs';
|
|
13
13
|
import { B as Button } from '../chunks/button-BrmYbiY8.mjs';
|
|
14
14
|
import { B as Badge } from '../chunks/badge-CpWQDnGV.mjs';
|
|
15
15
|
import { S as ScrollArea } from '../chunks/scroll-area-Bu_eg6tq.mjs';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select-BAp66njF.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/wand-sparkles.js","../../src/components/ui/multi-select/multi-select.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\",\n key: \"ul74o6\"\n }\n ],\n [\"path\", { d: \"m14 7 3 3\", key: \"1r5n42\" }],\n [\"path\", { d: \"M5 6v4\", key: \"ilb8ba\" }],\n [\"path\", { d: \"M19 14v4\", key: \"blhpug\" }],\n [\"path\", { d: \"M10 2v2\", key: \"7u0qdc\" }],\n [\"path\", { d: \"M7 8H3\", key: \"zfb6yr\" }],\n [\"path\", { d: \"M21 16h-4\", key: \"1cnmox\" }],\n [\"path\", { d: \"M11 3H9\", key: \"1obp7u\" }]\n];\nconst WandSparkles = createLucideIcon(\"WandSparkles\", __iconNode);\n\nexport { __iconNode, WandSparkles as default };\n//# sourceMappingURL=wand-sparkles.js.map\n","\"use client\";\n\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { CheckIcon, ChevronsUpDownIcon, WandSparkles, XIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Badge, BadgeVariants } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n\tCommand,\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandSeparator,\n} from \"@/components/ui/command\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { cn } from \"@/lib/utils\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\n\n/**\n * Variants for the multi-select component to handle different styles.\n * Uses class-variance-authority (cva) to define different styles based on \"variant\" prop.\n */\nconst multiSelectVariants = cva(\"m-1 transition ease-in-out delay-150 duration-300\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80\",\n\t\t\tsecondary: \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\tdestructive:\n\t\t\t\t\"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80\",\n\t\t\tpositive:\n\t\t\t\t\"border-transparent bg-positive text-positive-foreground shadow hover:bg-positive/80\",\n\t\t\twarning: \"border-transparent bg-warning text-warning-foreground shadow hover:bg-warning/80\",\n\t\t\tinfo: \"border-transparent bg-info text-info-foreground shadow hover:bg-info/80\",\n\t\t\toutline: \"text-foreground bg-transparent hover:bg-transparent border\",\n\t\t},\n\t\tsubtle: {\n\t\t\ttrue: \"\",\n\t\t\tfalse: \"\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t},\n});\n\n/**\n * Props for MultiSelect component\n */\ninterface MultiSelectProps\n\textends React.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tVariantProps<typeof multiSelectVariants> {\n\t/**\n\t * An array of option objects to be displayed in the multi-select component.\n\t * Each option object has a label, value, and an optional icon.\n\t */\n\toptions: {\n\t\t/** The text to display for the option. */\n\t\tlabel: string;\n\t\t/** The unique value associated with the option. */\n\t\tvalue: string;\n\t\t/** Optional icon component to display alongside the option. */\n\t\ticon?: React.ComponentType<{ className?: string }>;\n\t}[];\n\n\t/**\n\t * Callback function triggered when the selected values change.\n\t * Receives an array of the new selected values.\n\t */\n\tonValueChange: (value: string[]) => void;\n\n\t/** The default selected values when the component mounts. */\n\tdefaultValue?: string[];\n\n\t/**\n\t * Placeholder text to be displayed when no values are selected.\n\t * Optional, defaults to \"Select options\".\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Animation duration in seconds for the visual effects (e.g., bouncing badges).\n\t * Optional, defaults to 0 (no animation).\n\t */\n\tanimation?: number;\n\n\t/**\n\t * Maximum number of items to display. Extra selected items will be summarized.\n\t * Optional, defaults to 3.\n\t */\n\tmaxCount?: number;\n\n\t/**\n\t * The modality of the popover. When set to true, interaction with outside elements\n\t * will be disabled and only popover content will be visible to screen readers.\n\t * Optional, defaults to false.\n\t */\n\tmodalPopover?: boolean;\n\n\t/**\n\t * If true, renders the multi-select component as a child of another component.\n\t * Optional, defaults to false.\n\t */\n\tasChild?: boolean;\n\n\t/**\n\t * Additional class names to apply custom styles to the multi-select component.\n\t * Optional, can be used to add custom styles.\n\t */\n\tclassName?: string;\n\tlabel?: string;\n\tdescription?: string;\n\tsubtle?: boolean;\n}\n\nexport const MultiSelect = React.forwardRef<HTMLButtonElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\toptions,\n\t\t\tonValueChange,\n\t\t\tvariant,\n\t\t\tdefaultValue = [],\n\t\t\tplaceholder = \"Select options\",\n\t\t\tanimation = 0,\n\t\t\tmaxCount = 3,\n\t\t\tmodalPopover = false,\n\t\t\tasChild = false,\n\t\t\tclassName,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tsubtle = false,\n\t\t\t...props\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst [selectedValues, setSelectedValues] = React.useState<string[]>(defaultValue);\n\t\tconst [isPopoverOpen, setIsPopoverOpen] = React.useState(false);\n\t\tconst [isAnimating, setIsAnimating] = React.useState(false);\n\n\t\tconst handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n\t\t\tif (event.key === \"Enter\") {\n\t\t\t\tsetIsPopoverOpen(true);\n\t\t\t} else if (event.key === \"Backspace\" && !event.currentTarget.value) {\n\t\t\t\tconst newSelectedValues = [...selectedValues];\n\t\t\t\tnewSelectedValues.pop();\n\t\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\t\tonValueChange(newSelectedValues);\n\t\t\t}\n\t\t};\n\n\t\tconst toggleOption = (option: string) => {\n\t\t\tconst newSelectedValues = selectedValues.includes(option)\n\t\t\t\t? selectedValues.filter((value) => value !== option)\n\t\t\t\t: [...selectedValues, option];\n\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\tonValueChange(newSelectedValues);\n\t\t};\n\n\t\tconst handleClear = () => {\n\t\t\tsetSelectedValues([]);\n\t\t\tonValueChange([]);\n\t\t};\n\n\t\tconst handleTogglePopover = () => {\n\t\t\tsetIsPopoverOpen((prev) => !prev);\n\t\t};\n\n\t\tconst clearExtraOptions = () => {\n\t\t\tconst newSelectedValues = selectedValues.slice(0, maxCount);\n\t\t\tsetSelectedValues(newSelectedValues);\n\t\t\tonValueChange(newSelectedValues);\n\t\t};\n\n\t\tconst toggleAll = () => {\n\t\t\tif (selectedValues.length === options.length) {\n\t\t\t\thandleClear();\n\t\t\t} else {\n\t\t\t\tconst allValues = options.map((option) => option.value);\n\t\t\t\tsetSelectedValues(allValues);\n\t\t\t\tonValueChange(allValues);\n\t\t\t}\n\t\t};\n\n\t\tconst subtleStyles = (variant: BadgeVariants) => {\n\t\t\tif (variant === \"default\") {\n\t\t\t\treturn \"border-transparent bg-accent text-primary hover:bg-accent/80\";\n\t\t\t}\n\t\t\tif (variant === \"destructive\") {\n\t\t\t\treturn \"border-transparent bg-destructive-foreground text-destructive hover:bg-destructive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"positive\") {\n\t\t\t\treturn \"border-transparent bg-positive-foreground text-positive hover:bg-positive-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"warning\") {\n\t\t\t\treturn \"border-transparent bg-warning-foreground text-warning hover:bg-warning-foreground/80\";\n\t\t\t}\n\t\t\tif (variant === \"info\") {\n\t\t\t\treturn \"border-transparent bg-info-foreground text-info hover:bg-info-foreground/80\";\n\t\t\t}\n\n\t\t\treturn \"\";\n\t\t};\n\n\t\tconst finalSubtleStyles = subtleStyles(variant);\n\n\t\treturn (\n\t\t\t<div className=\"font-lato space-y-2\">\n\t\t\t\t{label && <p className=\"text-foreground text-sm font-medium\">{label}</p>}\n\n\t\t\t\t<Popover open={isPopoverOpen} onOpenChange={setIsPopoverOpen} modal={modalPopover}>\n\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\tonClick={handleTogglePopover}\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\taria-expanded={isPopoverOpen}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"flex h-auto min-h-9 w-full items-center justify-between rounded-md border bg-inherit px-4 py-2 hover:bg-inherit [&_svg]:pointer-events-auto\",\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{selectedValues.length > 0 ? (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-center\">\n\t\t\t\t\t\t\t\t\t\t{selectedValues.slice(0, maxCount).map((value) => {\n\t\t\t\t\t\t\t\t\t\t\tconst option = options.find((o) => o.value === value);\n\t\t\t\t\t\t\t\t\t\t\tconst IconComponent = option?.icon;\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"px-1\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{IconComponent && <IconComponent className=\"mr-2 h-4 w-4\" />}\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option?.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleOption(value);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{selectedValues.length > maxCount && (\n\t\t\t\t\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-foreground border-foreground/1 bg-transparent px-1 hover:bg-transparent\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tisAnimating ? \"animate-bounce\" : \"\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tmultiSelectVariants({ variant }),\n\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle && finalSubtleStyles,\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ animationDuration: `${animation}s` }}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{`+ ${selectedValues.length - maxCount} itens`}\n\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"ml-2 size-3 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclearExtraOptions();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"flex items-center justify-between gap-1\">\n\t\t\t\t\t\t\t\t\t\t<TooltipProvider>\n\t\t\t\t\t\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<XIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"text-muted-foreground h-4 cursor-pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleClear();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t<TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-xs\">Limpar tudo</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</TooltipContent>\n\t\t\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t\t\t</TooltipProvider>\n\n\t\t\t\t\t\t\t\t\t\t<Separator orientation=\"vertical\" className=\"flex h-full min-h-6\" />\n\t\t\t\t\t\t\t\t\t\t<ChevronsUpDownIcon className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div className=\"flex w-full items-center justify-between\">\n\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">{placeholder}</span>\n\t\t\t\t\t\t\t\t\t<ChevronsUpDownIcon className=\"text-muted-foreground h-4 cursor-pointer\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t<PopoverContent\n\t\t\t\t\t\tclassName=\"w-auto p-0\"\n\t\t\t\t\t\talign=\"start\"\n\t\t\t\t\t\tonEscapeKeyDown={() => setIsPopoverOpen(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Command>\n\t\t\t\t\t\t\t<CommandInput placeholder=\"Buscar...\" onKeyDown={handleInputKeyDown} />\n\t\t\t\t\t\t\t<CommandList>\n\t\t\t\t\t\t\t\t<CommandEmpty>Nenhum resultado encontrado.</CommandEmpty>\n\t\t\t\t\t\t\t\t<CommandGroup>\n\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\tkey=\"all\"\n\t\t\t\t\t\t\t\t\t\tonSelect={toggleAll}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>(Selecionar tudo)</span>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\tselectedValues.length === options.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t: \"opacity-50 [&_svg]:invisible\",\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t{options.map((option) => {\n\t\t\t\t\t\t\t\t\t\tconst isSelected = selectedValues.includes(option.value);\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<CommandItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={option.value}\n\t\t\t\t\t\t\t\t\t\t\t\tonSelect={() => toggleOption(option.value)}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"flex cursor-pointer items-center justify-between\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex items-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.icon && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<option.icon className=\"text-muted-foreground mr-2 h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className={cn(isSelected ? \"\" : \"opacity-50 [&_svg]:invisible\")}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<CheckIcon className=\"text-foreground h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</CommandItem>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t</CommandGroup>\n\t\t\t\t\t\t\t\t<CommandSeparator />\n\t\t\t\t\t\t\t</CommandList>\n\t\t\t\t\t\t</Command>\n\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t{animation > 0 && selectedValues.length > 0 && (\n\t\t\t\t\t\t<WandSparkles\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"text-foreground bg-background my-2 h-3 w-3 cursor-pointer\",\n\t\t\t\t\t\t\t\tisAnimating ? \"\" : \"text-muted-foreground\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tonClick={() => setIsAnimating(!isAnimating)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</Popover>\n\n\t\t\t\t{description && <p className=\"text-muted-foreground text-sm\">{description}</p>}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"names":["multiSelectVariants","cva","variants","variant","default","secondary","destructive","positive","warning","info","outline","subtle","true","false","defaultVariants","MultiSelect","React","forwardRef","options","onValueChange","defaultValue","placeholder","animation","maxCount","modalPopover","asChild","className","label","description","props","ref","selectedValues","setSelectedValues","useState","isPopoverOpen","setIsPopoverOpen","isAnimating","setIsAnimating","handleInputKeyDown","event","key","currentTarget","value","newSelectedValues","pop","toggleOption","option","includes","filter","handleClear","handleTogglePopover","prev","clearExtraOptions","slice","toggleAll","length","allValues","map","subtleStyles","finalSubtleStyles","div","p","Popover","open","onOpenChange","modal","PopoverTrigger","Button","onClick","aria-expanded","cn","find","o","IconComponent","icon","Badge","style","animationDuration","XIcon","stopPropagation","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","span","Separator","orientation","ChevronsUpDownIcon","PopoverContent","align","onEscapeKeyDown","Command","CommandInput","onKeyDown","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","CheckIcon","isSelected","CommandSeparator","WandSparkles","displayName"],"mappings":";;;;;;;;;;;;;;AAGO,MAAM,UAAuB,GAAA;IAClC;AACE,QAAA,MAAA;QACA;AACE,YAAA,CAAG,EAAA,+IAAA;YACH,GAAK,EAAA;;KAET;AACA,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,WAAa;YAAA,GAAA,EAAK;;KAAU;AAC1C,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,QAAU;YAAA,GAAA,EAAK;;KAAU;AACvC,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,UAAY;YAAA,GAAA,EAAK;;KAAU;AACzC,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,SAAW;YAAA,GAAA,EAAK;;KAAU;AACxC,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,QAAU;YAAA,GAAA,EAAK;;KAAU;AACvC,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,WAAa;YAAA,GAAA,EAAK;;KAAU;AAC1C,IAAA;AAAC,QAAA,MAAQ;QAAA;YAAE,CAAA,EAAG,SAAW;YAAA,GAAA,EAAK;;AAAU;CAC1C;AAaM,MAAA,YAAA,GAAe,gBAAiB,CAAA,cAAA,EAAgB,UAAU,CAAA;;ACThE;;;IAIA,MAAMA,mBAAAA,GAAsBC,GAAAA,CAAI,mDAAA,EAAqD;IACpFC,QAAAA,EAAU;QACTC,OAAAA,EAAS;YACRC,OAAAA,EAAS,kFAAA;YACTC,SAAAA,EAAW,iFAAA;YACXC,WAAAA,EACC,8FAAA;YACDC,QAAAA,EACC,qFAAA;YACDC,OAAAA,EAAS,kFAAA;YACTC,IAAAA,EAAM,yEAAA;YACNC,OAAAA,EAAS;AACV,SAAA;QACAC,MAAAA,EAAQ;YACPC,IAAAA,EAAM,EAAA;YACNC,KAAAA,EAAO;AACR;AACD,KAAA;IACAC,eAAAA,EAAiB;QAChBX,OAAAA,EAAS;AACV;AACD,CAAA,CAAA;MAuEaY,WAAAA,iBAAcC,KAAAA,CAAMC,UAAU,CAC1C,CACC,EACCC,OAAO,EACPC,aAAa,EACbhB,OAAO,EACPiB,YAAAA,GAAe,EAAE,EACjBC,WAAAA,GAAc,gBAAgB,EAC9BC,SAAAA,GAAY,CAAC,EACbC,QAAAA,GAAW,CAAC,EACZC,YAAAA,GAAe,KAAK,EACpBC,OAAAA,GAAU,KAAK,EACfC,SAAS,EACTC,KAAK,EACLC,WAAW,EACXjB,MAAAA,GAAS,KAAK,EACd,GAAGkB,OACH,EACDC,GAAAA,GAAAA;AAEA,IAAA,MAAM,CAACC,cAAAA,EAAgBC,iBAAAA,CAAkB,GAAGhB,KAAAA,CAAMiB,QAAQ,CAAWb,YAAAA,CAAAA;AACrE,IAAA,MAAM,CAACc,aAAAA,EAAeC,gBAAAA,CAAiB,GAAGnB,KAAAA,CAAMiB,QAAQ,CAAC,KAAA,CAAA;AACzD,IAAA,MAAM,CAACG,WAAAA,EAAaC,cAAAA,CAAe,GAAGrB,KAAAA,CAAMiB,QAAQ,CAAC,KAAA,CAAA;AAErD,IAAA,MAAMK,qBAAqB,CAACC,KAAAA,GAAAA;QAC3B,IAAIA,KAAAA,CAAMC,GAAG,KAAK,OAAA,EAAS;YAC1BL,gBAAAA,CAAiB,IAAA,CAAA;QAClB,CAAA,MAAO,IAAII,KAAAA,CAAMC,GAAG,KAAK,WAAA,IAAe,CAACD,KAAAA,CAAME,aAAa,CAACC,KAAK,EAAE;AACnE,YAAA,MAAMC,iBAAAA,GAAoB;AAAIZ,gBAAAA,GAAAA;AAAe,aAAA;AAC7CY,YAAAA,iBAAAA,CAAkBC,GAAG,EAAA;YACrBZ,iBAAAA,CAAkBW,iBAAAA,CAAAA;YAClBxB,aAAAA,CAAcwB,iBAAAA,CAAAA;AACf,QAAA;AACD,IAAA,CAAA;AAEA,IAAA,MAAME,eAAe,CAACC,MAAAA,GAAAA;QACrB,MAAMH,iBAAAA,GAAoBZ,cAAAA,CAAegB,QAAQ,CAACD,MAAAA,CAAAA,GAC/Cf,cAAAA,CAAeiB,MAAM,CAAC,CAACN,KAAAA,GAAUA,KAAAA,KAAUI,MAAAA,CAAAA,GAC3C;AAAIf,YAAAA,GAAAA,cAAAA;AAAgBe,YAAAA;AAAO,SAAA;QAC9Bd,iBAAAA,CAAkBW,iBAAAA,CAAAA;QAClBxB,aAAAA,CAAcwB,iBAAAA,CAAAA;AACf,IAAA,CAAA;AAEA,IAAA,MAAMM,WAAAA,GAAc,IAAA;AACnBjB,QAAAA,iBAAAA,CAAkB,EAAE,CAAA;AACpBb,QAAAA,aAAAA,CAAc,EAAE,CAAA;AACjB,IAAA,CAAA;AAEA,IAAA,MAAM+B,mBAAAA,GAAsB,IAAA;QAC3Bf,gBAAAA,CAAiB,CAACgB,OAAS,CAACA,IAAAA,CAAAA;AAC7B,IAAA,CAAA;AAEA,IAAA,MAAMC,iBAAAA,GAAoB,IAAA;AACzB,QAAA,MAAMT,iBAAAA,GAAoBZ,cAAAA,CAAesB,KAAK,CAAC,CAAA,EAAG9B,QAAAA,CAAAA;QAClDS,iBAAAA,CAAkBW,iBAAAA,CAAAA;QAClBxB,aAAAA,CAAcwB,iBAAAA,CAAAA;AACf,IAAA,CAAA;AAEA,IAAA,MAAMW,SAAAA,GAAY,IAAA;AACjB,QAAA,IAAIvB,cAAAA,CAAewB,MAAM,KAAKrC,OAAAA,CAAQqC,MAAM,EAAE;AAC7CN,YAAAA,WAAAA,EAAAA;QACD,CAAA,MAAO;AACN,YAAA,MAAMO,YAAYtC,OAAAA,CAAQuC,GAAG,CAAC,CAACX,MAAAA,GAAWA,OAAOJ,KAAK,CAAA;YACtDV,iBAAAA,CAAkBwB,SAAAA,CAAAA;YAClBrC,aAAAA,CAAcqC,SAAAA,CAAAA;AACf,QAAA;AACD,IAAA,CAAA;AAEA,IAAA,MAAME,eAAe,CAACvD,OAAAA,GAAAA;AACrB,QAAA,IAAIA,YAAY,SAAA,EAAW;YAC1B,OAAO,8DAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,aAAA,EAAe;YAC9B,OAAO,kGAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,UAAA,EAAY;YAC3B,OAAO,yFAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,SAAA,EAAW;YAC1B,OAAO,sFAAA;AACR,QAAA;AACA,QAAA,IAAIA,YAAY,MAAA,EAAQ;YACvB,OAAO,6EAAA;AACR,QAAA;QAEA,OAAO,EAAA;AACR,IAAA,CAAA;AAEA,IAAA,MAAMwD,oBAAoBD,YAAAA,CAAavD,OAAAA,CAAAA;AAEvC,IAAA,qBACC,KAAA,CAAA,aAAA,CAACyD,KAAAA,EAAAA;QAAIlC,SAAAA,EAAU;AACbC,KAAAA,EAAAA,KAAAA,kBAAS,KAAA,CAAA,aAAA,CAACkC,GAAAA,EAAAA;QAAEnC,SAAAA,EAAU;AAAuCC,KAAAA,EAAAA,KAAAA,CAAAA,gBAE9D,KAAA,CAAA,aAAA,CAACmC,OAAAA,EAAAA;QAAQC,IAAAA,EAAM7B,aAAAA;QAAe8B,YAAAA,EAAc7B,gBAAAA;QAAkB8B,KAAAA,EAAOzC;qBACpE,KAAA,CAAA,aAAA,CAAC0C,cAAAA,EAAAA;QAAezC,OAAAA,EAAAA;qBACf,KAAA,CAAA,aAAA,CAAC0C,MAAAA,EAAAA;QACArC,GAAAA,EAAKA,GAAAA;AACJ,QAAA,GAAGD,KAAK;QACTuC,OAAAA,EAASlB,mBAAAA;QACT/C,OAAAA,EAAQ,SAAA;QACRkE,eAAAA,EAAenC,aAAAA;AACfR,QAAAA,SAAAA,EAAW4C,GACV,6IAAA,EACA5C,SAAAA;OAGAK,cAAAA,CAAewB,MAAM,GAAG,CAAA,iBACxB,KAAA,CAAA,aAAA,CAACK,KAAAA,EAAAA;QAAIlC,SAAAA,EAAU;qBACd,KAAA,CAAA,aAAA,CAACkC,KAAAA,EAAAA;QAAIlC,SAAAA,EAAU;AACbK,KAAAA,EAAAA,cAAAA,CAAesB,KAAK,CAAC,CAAA,EAAG9B,QAAAA,CAAAA,CAAUkC,GAAG,CAAC,CAACf,KAAAA,GAAAA;QACvC,MAAMI,MAAAA,GAAS5B,QAAQqD,IAAI,CAAC,CAACC,CAAAA,GAAMA,CAAAA,CAAE9B,KAAK,KAAKA,KAAAA,CAAAA;AAC/C,QAAA,MAAM+B,gBAAgB3B,MAAAA,EAAQ4B,IAAAA;AAC9B,QAAA,qBACC,KAAA,CAAA,aAAA,CAACC,KAAAA,EAAAA;YACAnC,GAAAA,EAAKE,KAAAA;AACLhB,YAAAA,SAAAA,EAAW4C,EAAAA,CACV,MAAA,EACAlC,WAAAA,GAAc,gBAAA,GAAmB,IACjCpC,mBAAAA,CAAoB;AAAEG,gBAAAA;AAAQ,aAAA,CAAA,EAC9BQ,MAAAA,IAAUgD,iBAAAA,CAAAA;YAEXiB,KAAAA,EAAO;gBAAEC,iBAAAA,EAAmB,CAAA,EAAGvD,SAAAA,CAAU,CAAC;AAAE;AAE3CmD,SAAAA,EAAAA,aAAAA,kBAAiB,KAAA,CAAA,aAAA,CAACA,aAAAA,EAAAA;YAAc/C,SAAAA,EAAU;AAC1CoB,SAAAA,CAAAA,EAAAA,MAAAA,EAAQnB,qBACT,KAAA,CAAA,aAAA,CAACmD,CAAAA,EAAAA;YACApD,SAAAA,EAAU,4BAAA;AACV0C,YAAAA,OAAAA,EAAS,CAAC7B,KAAAA,GAAAA;AACTA,gBAAAA,KAAAA,CAAMwC,eAAe,EAAA;gBACrBlC,YAAAA,CAAaH,KAAAA,CAAAA;AACd,YAAA;;AAIJ,IAAA,CAAA,CAAA,EACCX,cAAAA,CAAewB,MAAM,GAAGhC,QAAAA,kBACxB,KAAA,CAAA,aAAA,CAACoD,KAAAA,EAAAA;AACAjD,QAAAA,SAAAA,EAAW4C,EAAAA,CACV,8EAAA,EACAlC,WAAAA,GAAc,gBAAA,GAAmB,IACjCpC,mBAAAA,CAAoB;AAAEG,YAAAA;AAAQ,SAAA,CAAA,EAC9BQ,MAAAA,IAAUgD,iBAAAA,CAAAA;QAEXiB,KAAAA,EAAO;YAAEC,iBAAAA,EAAmB,CAAA,EAAGvD,SAAAA,CAAU,CAAC;AAAE;OAE3C,CAAC,EAAE,EAAES,cAAAA,CAAewB,MAAM,GAAGhC,QAAAA,CAAS,MAAM,CAAC,gBAC9C,KAAA,CAAA,aAAA,CAACuD,CAAAA,EAAAA;QACApD,SAAAA,EAAU,4BAAA;AACV0C,QAAAA,OAAAA,EAAS,CAAC7B,KAAAA,GAAAA;AACTA,YAAAA,KAAAA,CAAMwC,eAAe,EAAA;AACrB3B,YAAAA,iBAAAA,EAAAA;AACD,QAAA;wBAKJ,KAAA,CAAA,aAAA,CAACQ,KAAAA,EAAAA;QAAIlC,SAAAA,EAAU;AACd,KAAA,gBAAA,KAAA,CAAA,aAAA,CAACsD,eAAAA,EAAAA,IAAAA,gBACA,KAAA,CAAA,aAAA,CAACC,OAAAA,EAAAA,IAAAA,gBACA,KAAA,CAAA,aAAA,CAACC,oCACA,KAAA,CAAA,aAAA,CAACJ,CAAAA,EAAAA;QACApD,SAAAA,EAAU,0CAAA;AACV0C,QAAAA,OAAAA,EAAS,CAAC7B,KAAAA,GAAAA;AACTA,YAAAA,KAAAA,CAAMwC,eAAe,EAAA;AACrB9B,YAAAA,WAAAA,EAAAA;AACD,QAAA;AAGF,KAAA,CAAA,CAAA,gBAAA,KAAA,CAAA,aAAA,CAACkC,oCACA,KAAA,CAAA,aAAA,CAACC,MAAAA,EAAAA;QAAK1D,SAAAA,EAAU;AAAU,KAAA,EAAA,aAAA,CAAA,CAAA,CAAA,CAAA,gBAK7B,KAAA,CAAA,aAAA,CAAC2D,SAAAA,EAAAA;QAAUC,WAAAA,EAAY,UAAA;QAAW5D,SAAAA,EAAU;sBAC5C,KAAA,CAAA,aAAA,CAAC6D,cAAAA,EAAAA;QAAmB7D,SAAAA,EAAU;yBAIhC,KAAA,CAAA,aAAA,CAACkC,KAAAA,EAAAA;QAAIlC,SAAAA,EAAU;qBACd,KAAA,CAAA,aAAA,CAAC0D,MAAAA,EAAAA;QAAK1D,SAAAA,EAAU;AAAyBL,KAAAA,EAAAA,WAAAA,CAAAA,gBACzC,KAAA,CAAA,aAAA,CAACkE,cAAAA,EAAAA;QAAmB7D,SAAAA,EAAU;yBAKlC,KAAA,CAAA,aAAA,CAAC8D,cAAAA,EAAAA;QACA9D,SAAAA,EAAU,YAAA;QACV+D,KAAAA,EAAM,OAAA;AACNC,QAAAA,eAAAA,EAAiB,IAAMvD,gBAAAA,CAAiB,KAAA;AAExC,KAAA,gBAAA,KAAA,CAAA,aAAA,CAACwD,6BACA,KAAA,CAAA,aAAA,CAACC,YAAAA,EAAAA;QAAavE,WAAAA,EAAY,WAAA;QAAYwE,SAAAA,EAAWvD;AACjD,KAAA,CAAA,gBAAA,KAAA,CAAA,aAAA,CAACwD,iCACA,KAAA,CAAA,aAAA,CAACC,YAAAA,EAAAA,IAAAA,EAAa,8BAAA,CAAA,gBACd,KAAA,CAAA,aAAA,CAACC,kCACA,KAAA,CAAA,aAAA,CAACC,WAAAA,EAAAA;QACAzD,GAAAA,EAAI,KAAA;QACJ0D,QAAAA,EAAU5C,SAAAA;QACV5B,SAAAA,EAAU;qBAEV,KAAA,CAAA,aAAA,CAAC0D,MAAAA,EAAAA,IAAAA,EAAK,oCACN,KAAA,CAAA,aAAA,CAACxB,KAAAA,EAAAA;AACAlC,QAAAA,SAAAA,EAAW4C,GACVvC,cAAAA,CAAewB,MAAM,KAAKrC,OAAAA,CAAQqC,MAAM,GACrC,EAAA,GACA,8BAAA;qBAGJ,KAAA,CAAA,aAAA,CAAC4C,KAAAA,EAAAA;QAAUzE,SAAAA,EAAU;UAGtBR,OAAAA,CAAQuC,GAAG,CAAC,CAACX,MAAAA,GAAAA;AACb,QAAA,MAAMsD,UAAAA,GAAarE,cAAAA,CAAegB,QAAQ,CAACD,OAAOJ,KAAK,CAAA;AACvD,QAAA,qBACC,KAAA,CAAA,aAAA,CAACuD,WAAAA,EAAAA;AACAzD,YAAAA,GAAAA,EAAKM,OAAOJ,KAAK;YACjBwD,QAAAA,EAAU,IAAMrD,YAAAA,CAAaC,MAAAA,CAAOJ,KAAK,CAAA;YACzChB,SAAAA,EAAU;yBAEV,KAAA,CAAA,aAAA,CAACkC,KAAAA,EAAAA;YAAIlC,SAAAA,EAAU;AACboB,SAAAA,EAAAA,MAAAA,CAAO4B,IAAI,kBACX,KAAA,CAAA,aAAA,CAAC5B,MAAAA,CAAO4B,IAAI,EAAA;YAAChD,SAAAA,EAAU;AAExB,SAAA,CAAA,gBAAA,KAAA,CAAA,aAAA,CAAC0D,MAAAA,EAAAA,IAAAA,EAAMtC,MAAAA,CAAOnB,KAAK,CAAA,CAAA,gBAEpB,KAAA,CAAA,aAAA,CAACiC,KAAAA,EAAAA;YAAIlC,SAAAA,EAAW4C,EAAAA,CAAG8B,aAAa,EAAA,GAAK,8BAAA;yBACpC,KAAA,CAAA,aAAA,CAACD,KAAAA,EAAAA;YAAUzE,SAAAA,EAAU;;IAIzB,CAAA,CAAA,CAAA,gBAED,KAAA,CAAA,aAAA,CAAC2E,4BAIH/E,SAAAA,GAAY,CAAA,IAAKS,eAAewB,MAAM,GAAG,mBACzC,KAAA,CAAA,aAAA,CAAC+C,YAAAA,EAAAA;QACA5E,SAAAA,EAAW4C,EAAAA,CACV,2DAAA,EACAlC,WAAAA,GAAc,EAAA,GAAK,uBAAA,CAAA;QAEpBgC,OAAAA,EAAS,IAAM/B,eAAe,CAACD,WAAAA;AAKjCR,KAAAA,CAAAA,CAAAA,EAAAA,WAAAA,kBAAe,KAAA,CAAA,aAAA,CAACiC,GAAAA,EAAAA;QAAEnC,SAAAA,EAAU;AAAiCE,KAAAA,EAAAA,WAAAA,CAAAA,CAAAA;AAGjE,CAAA;AAGDb,WAAAA,CAAYwF,WAAW,GAAG,aAAA;;;;","x_google_ignoreList":[0]}
|