UNPKG

ivt

Version:

Ivt Components Library

1 lines 53.5 kB
{"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/list-filter.js","../../node_modules/@hookform/resolvers/dist/resolvers.mjs","../../node_modules/@hookform/resolvers/zod/dist/zod.mjs","../../src/components/default/table-filter/TableFilter.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 [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M7 12h10\", key: \"b7w52i\" }],\n [\"path\", { d: \"M10 18h4\", key: \"1ulq68\" }]\n];\nconst ListFilter = createLucideIcon(\"ListFilter\", __iconNode);\n\nexport { __iconNode, ListFilter as default };\n//# sourceMappingURL=list-filter.js.map\n","import{get as e,set as t}from\"react-hook-form\";const r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=e(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=e(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},e(n,o));t(r,\"root\",c),t(n,o,r)}else t(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}export{s as toNestErrors,o as validateFieldsNatively};\n//# sourceMappingURL=resolvers.mjs.map\n","import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";function n(r,e){for(var n={};r.length;){var s=r[0],t=s.code,i=s.message,a=s.path.join(\".\");if(!n[a])if(\"unionErrors\"in s){var u=s.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:t};if(\"unionErrors\"in s&&s.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[s.code];n[a]=o(a,e,n,t,f?[].concat(f,s.message):s.message)}r.shift()}return n}function s(o,s,t){return void 0===t&&(t={}),function(i,a,u){try{return Promise.resolve(function(e,n){try{var a=Promise.resolve(o[\"sync\"===t.mode?\"parse\":\"parseAsync\"](i,s)).then(function(e){return u.shouldUseNativeValidation&&r({},u),{errors:{},values:t.raw?Object.assign({},i):e}})}catch(r){return n(r)}return a&&a.then?a.then(void 0,n):a}(0,function(r){if(function(r){return Array.isArray(null==r?void 0:r.errors)}(r))return{values:{},errors:e(n(r.errors,!u.shouldUseNativeValidation&&\"all\"===u.criteriaMode),u)};throw r}))}catch(r){return Promise.reject(r)}}}export{s as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n","\"use client\";\n\nimport { zodResolver } from \"@hookform/resolvers/zod\";\nimport { format } from \"date-fns\";\nimport { ptBR } from \"date-fns/locale\";\nimport { CalendarDaysIcon, ListFilterIcon } from \"lucide-react\";\nimport React from \"react\";\nimport type { DateRange } from \"react-day-picker\";\nimport { type DefaultValues, type Path, useForm } from \"react-hook-form\";\nimport { NumericFormat, PatternFormat } from \"react-number-format\";\nimport type { ZodObject, z } from \"zod\";\nimport { CalendarRange } from \"@/components/default/base\";\nimport { ComboboxField } from \"@/components/default/form-fields\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport {\n\tForm,\n\tFormControl,\n\tFormDescription,\n\tFormField,\n\tFormItem,\n\tFormLabel,\n\tFormMessage,\n} from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { MultiSelect } from \"@/components/ui/multi-select\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/ui/popover\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport {\n\tSelect,\n\tSelectContent,\n\tSelectItem,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@/components/ui/select\";\nimport { Separator } from \"@/components/ui/separator\";\nimport {\n\tSheet,\n\tSheetClose,\n\tSheetContent,\n\tSheetFooter,\n\tSheetHeader,\n\tSheetTitle,\n\tSheetTrigger,\n} from \"@/components/ui/sheet\";\nimport { cn } from \"@/lib/utils\";\nimport type { NumericFilterValue, Operator, TableFilterProps } from \"@/types/table-filter\";\nimport { formatDateToBrazilian, parseFieldDate } from \"@/utils/date\";\nimport { formatNumberWithComma } from \"@/utils/format-numbers\";\nimport { styleInput, styleSelect } from \"@/utils/styles\";\n\n// biome-ignore lint/suspicious/noExplicitAny: <any>\nexport function TableFilter<TData, TSchema extends ZodObject<any>>({\n\ttable,\n\tdefaultSide = \"right\",\n\tdisabled,\n\ttitle,\n\tschema,\n\tfieldConfigs,\n\tdefaultFilterValues,\n\tappliedFiltersCount = 0,\n\tsetAppliedFiltersCount,\n\tapplyFiltersOnMount,\n\tonClearFilters,\n\tonApplyFilters,\n\tbadgeMultiselectVariant = \"default\",\n\tbadgeMultiselectSubtle = false,\n}: TableFilterProps<TData, TSchema>) {\n\ttype FilterValues = z.infer<TSchema>;\n\n\tReact.useEffect(() => {\n\t\tfor (const { name, filterType } of fieldConfigs) {\n\t\t\tconst column = table.getColumn(name as string);\n\t\t\tif (column) {\n\t\t\t\tconst filterValue = column.getFilterValue();\n\n\t\t\t\tlet valueToFilter = filterValue;\n\n\t\t\t\tif (filterType === \"currency\" && typeof filterValue === \"number\") {\n\t\t\t\t\tvalueToFilter = formatNumberWithComma({\n\t\t\t\t\t\tvalue: filterValue,\n\t\t\t\t\t\tminimumFractionDigits: 2,\n\t\t\t\t\t\tmaximumFractionDigits: 2,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (valueToFilter !== undefined && valueToFilter !== null && valueToFilter !== \"\") {\n\t\t\t\t\tcolumn.setFilterValue(valueToFilter);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [table, fieldConfigs]);\n\n\tconst [clearTrigger, setClearTrigger] = React.useState(0);\n\n\tconst form = useForm<FilterValues>({\n\t\tresolver: schema ? zodResolver(schema) : undefined,\n\t\tdefaultValues: defaultFilterValues as DefaultValues<FilterValues>,\n\t});\n\n\tconst countAppliedFilters = (data: FilterValues) => {\n\t\treturn Object.values(data).filter((value) => {\n\t\t\tif (Array.isArray(value)) return value.length > 0;\n\t\t\tif (value === null || value === undefined) return false;\n\t\t\t// Para strings (texto e data), verificar se não está vazio\n\t\t\tif (typeof value === \"string\") return value.trim() !== \"\";\n\t\t\tif (typeof value === \"object\") {\n\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\t\t\t\tconst val = value as any;\n\t\t\t\t// Para DateRange, verificar se tem from ou to\n\t\t\t\tif (\"from\" in val || \"to\" in val) {\n\t\t\t\t\treturn Boolean(val.from || val.to);\n\t\t\t\t}\n\t\t\t\t// Para NumericFilterValue, verificar se tem valor (incluindo 0)\n\t\t\t\tif (\"value\" in val && \"operator\" in val) {\n\t\t\t\t\treturn val.value !== null && val.value !== undefined && String(val.value) !== \"\";\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t// Para números, aceitar 0 como válido\n\t\t\tif (typeof value === \"number\") return true;\n\t\t\treturn Boolean(value);\n\t\t}).length;\n\t};\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useCallback>\n\tconst handleCleanFilters = React.useCallback(() => {\n\t\tfor (const column of table.getAllColumns()) {\n\t\t\tif (column.getCanFilter()) {\n\t\t\t\tcolumn.setFilterValue(undefined);\n\t\t\t}\n\t\t}\n\n\t\tif (setAppliedFiltersCount) {\n\t\t\tsetAppliedFiltersCount(0);\n\t\t}\n\t\tform.reset(defaultFilterValues as DefaultValues<FilterValues>);\n\n\t\t// Trigger para forçar re-render do MultiSelect\n\t\tsetClearTrigger((prev) => prev + 1);\n\n\t\tif (onClearFilters) {\n\t\t\tonClearFilters();\n\t\t}\n\t}, []);\n\n\tconst handleApplyFilters = (data: FilterValues) => {\n\t\tconst allFieldsEmpty = Object.entries(data).every(([, value]) => {\n\t\t\t// Para arrays (multiselect), verificar se tem itens\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\treturn value.length === 0;\n\t\t\t}\n\n\t\t\t// Para strings (texto e data), verificar se não está vazio\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\treturn value.trim() === \"\";\n\t\t\t}\n\n\t\t\t// Para objetos (numeric_range ou dateRange), verificar se tem valor\n\t\t\tif (typeof value === \"object\" && value !== null) {\n\t\t\t\t// Verificar se é NumericFilterValue\n\t\t\t\tif (\"value\" in value && \"operator\" in value) {\n\t\t\t\t\tconst numericValue = value as NumericFilterValue;\n\t\t\t\t\treturn (\n\t\t\t\t\t\tnumericValue.value === null ||\n\t\t\t\t\t\tnumericValue.value === undefined ||\n\t\t\t\t\t\tString(numericValue.value) === \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Verificar se é DateRange\n\t\t\t\tif (\"from\" in value || \"to\" in value) {\n\t\t\t\t\tconst dateRange = value as DateRange;\n\t\t\t\t\treturn !dateRange.from && !dateRange.to;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn value === null || value === \"\";\n\t\t});\n\n\t\tif (allFieldsEmpty && appliedFiltersCount > 0) {\n\t\t\thandleCleanFilters();\n\t\t\treturn;\n\t\t}\n\n\t\tconst hasValues = Object.entries(data).some(([, value]) => {\n\t\t\t// Para arrays (multiselect), verificar se tem itens\n\t\t\tif (Array.isArray(value)) {\n\t\t\t\treturn value.length > 0;\n\t\t\t}\n\n\t\t\t// Para strings (texto e data), verificar se não está vazio\n\t\t\tif (typeof value === \"string\") {\n\t\t\t\treturn value.trim() !== \"\";\n\t\t\t}\n\n\t\t\t// Para objetos (numeric_range ou dateRange), verificar se tem valor\n\t\t\tif (typeof value === \"object\" && value !== null) {\n\t\t\t\t// Verificar se é NumericFilterValue\n\t\t\t\tif (\"value\" in value && \"operator\" in value) {\n\t\t\t\t\tconst numericValue = value as NumericFilterValue;\n\t\t\t\t\treturn (\n\t\t\t\t\t\tnumericValue.value !== null &&\n\t\t\t\t\t\tnumericValue.value !== undefined &&\n\t\t\t\t\t\tString(numericValue.value) !== \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Verificar se é DateRange\n\t\t\t\tif (\"from\" in value || \"to\" in value) {\n\t\t\t\t\tconst dateRange = value as DateRange;\n\t\t\t\t\treturn Boolean(dateRange.from || dateRange.to);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Para números simples, aceitar 0 como válido\n\t\t\tif (typeof value === \"number\") {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn value !== null && value !== \"\";\n\t\t});\n\n\t\tif (!hasValues) return;\n\n\t\tfor (const { name } of fieldConfigs) {\n\t\t\tconst column = table.getColumn(name as string);\n\t\t\tif (column) {\n\t\t\t\tlet filterValue: z.TypeOf<TSchema>[keyof z.TypeOf<TSchema>] | undefined =\n\t\t\t\t\tdata[name as keyof typeof data];\n\n\t\t\t\tif (Array.isArray(filterValue) && filterValue.length === 0) {\n\t\t\t\t\tfilterValue = undefined;\n\t\t\t\t}\n\n\t\t\t\tif (typeof filterValue === \"string\" && filterValue.trim() === \"\") {\n\t\t\t\t\tfilterValue = undefined;\n\t\t\t\t}\n\n\t\t\t\t// Para objetos DateRange vazios, definir como undefined\n\t\t\t\tif (\n\t\t\t\t\ttypeof filterValue === \"object\" &&\n\t\t\t\t\tfilterValue !== null &&\n\t\t\t\t\t\"from\" in filterValue &&\n\t\t\t\t\t\"to\" in filterValue\n\t\t\t\t) {\n\t\t\t\t\tconst dateRange = filterValue as DateRange;\n\t\t\t\t\tif (!dateRange.from && !dateRange.to) {\n\t\t\t\t\t\tfilterValue = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcolumn.setFilterValue(filterValue);\n\t\t\t}\n\t\t}\n\n\t\tconst count = countAppliedFilters(data);\n\t\tif (setAppliedFiltersCount) {\n\t\t\tsetAppliedFiltersCount(count);\n\t\t}\n\n\t\t// Chamar callback de aplicar filtros (para filtragem server-side)\n\t\t// Só chama se onApplyFilters existir e data for válido\n\t\tif (onApplyFilters && data) {\n\t\t\tonApplyFilters(data);\n\t\t}\n\t};\n\n\tconst handleOpenChange = (open: boolean) => {\n\t\tif (!open) {\n\t\t\tform.handleSubmit(handleApplyFilters)();\n\t\t}\n\t};\n\n\t// Event listener para scroll do mouse (CSS global já cuida do resto)\n\tReact.useEffect(() => {\n\t\tconst handleWheel = (e: WheelEvent) => {\n\t\t\tconst cmdkList = (e.target as HTMLElement).closest(\"[cmdk-list]\");\n\t\t\tif (cmdkList) {\n\t\t\t\te.preventDefault();\n\t\t\t\tcmdkList.scrollTop += e.deltaY;\n\t\t\t}\n\t\t};\n\n\t\tdocument.addEventListener(\"wheel\", handleWheel, { passive: false });\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"wheel\", handleWheel);\n\t\t};\n\t}, []);\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: <useEffect>\n\tReact.useEffect(() => {\n\t\tif (applyFiltersOnMount) {\n\t\t\thandleApplyFilters(form.getValues());\n\t\t}\n\t}, [form]);\n\n\treturn (\n\t\t<Sheet onOpenChange={handleOpenChange}>\n\t\t\t<div className=\"text-foreground flex items-center gap-2\">\n\t\t\t\t{appliedFiltersCount > 0 && (\n\t\t\t\t\t<Button variant=\"ghost\" onClick={handleCleanFilters} aria-label=\"Limpar filtros\">\n\t\t\t\t\t\tLimpar filtros\n\t\t\t\t\t</Button>\n\t\t\t\t)}\n\t\t\t\t<SheetTrigger asChild>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\taria-label=\"Mais filtros\"\n\t\t\t\t\t\tclassName=\"relative\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ListFilterIcon className=\"size-4\" />\n\t\t\t\t\t\t<span>Filtrar</span>\n\t\t\t\t\t\t{appliedFiltersCount > 0 && (\n\t\t\t\t\t\t\t<Badge className=\"bg-primary h-5 w-7\">{appliedFiltersCount}</Badge>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t</SheetTrigger>\n\t\t\t</div>\n\t\t\t<SheetContent side={defaultSide} className=\"text-foreground z-50 w-4/5 max-w-sm space-y-2\">\n\t\t\t\t<SheetHeader className=\"px-1 text-left\">\n\t\t\t\t\t<SheetTitle>{title}</SheetTitle>\n\t\t\t\t</SheetHeader>\n\t\t\t\t<Form {...form}>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={form.handleSubmit(handleApplyFilters)}\n\t\t\t\t\t\tclassName=\"flex h-full flex-col gap-6 py-2 pb-6 2xl:justify-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScrollArea className=\"max-h-[64vh] space-y-4 pr-2\">\n\t\t\t\t\t\t\t<div className=\"space-y-4 pb-2\">\n\t\t\t\t\t\t\t\t{fieldConfigs.map(\n\t\t\t\t\t\t\t\t\t({\n\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t\t\t\tplaceholder,\n\t\t\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\t\t\tallowNegative,\n\t\t\t\t\t\t\t\t\t\tisCurrency,\n\t\t\t\t\t\t\t\t\t\tisPercent,\n\t\t\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\t\t\tstyle,\n\t\t\t\t\t\t\t\t\t\titems,\n\t\t\t\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\t\t\t\tcurrency,\n\t\t\t\t\t\t\t\t\t}) => (\n\t\t\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\t\t\tkey={String(name)}\n\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\tname={name as Path<z.infer<TSchema>>}\n\t\t\t\t\t\t\t\t\t\t\trender={({ field }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<FormItem className=\"pr-4 pl-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FormLabel>{label}</FormLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{type === \"number\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as any) ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={isCurrency ? undefined : 15}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowNegative={allowNegative ?? true}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowLeadingZeros={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={isCurrency ? 2 : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst numericValue = values.floatValue ?? null;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(numericValue);\n\t\t\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\t\t\tclassName={styleInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfixedDecimalScale={!!isCurrency}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix={isPercent ? \"%\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefix={currency === \"BRL\" ? \"R$ \" : undefined}\n\t\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\t) : type === \"date\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Popover>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<PopoverTrigger asChild>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\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\t\t\t\t\t\t\"text-foreground hover:text-foreground w-full items-center justify-start px-3 text-left font-normal hover:bg-inherit\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!field.value &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-muted-foreground hover:text-muted-foreground\",\n\t\t\t\t\t\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\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CalendarDaysIcon className=\"h-4 w-4\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{field.value ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatDateToBrazilian(field.value as string)\n\t\t\t\t\t\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\t\t\t\t\t\t\t<span>Selecione uma data</span>\n\t\t\t\t\t\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\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</PopoverTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<PopoverContent className=\"border-switch z-99999999999 mr-12 w-auto p-0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Calendar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcaptionLayout=\"dropdown\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmode=\"single\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlocale={ptBR}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? parseFieldDate(field.value as string)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\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\t\t\t\t\tonSelect={(date: Date | undefined) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(date ? format(date, \"yyyy-MM-dd\") : \"\");\n\t\t\t\t\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\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</PopoverContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Popover>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : type === \"checkbox\" && options ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex flex-wrap items-center gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{options.map((option) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FormControl\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tclassName={cn(\"mt-2\", style === \"badge\" && \"flex-1/4\")}\n\t\t\t\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\t\t\t\t\t<Label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.isArray(field.value) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value.includes(option.value)\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tonCheckedChange={(checked) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isChecked = !!checked;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst currentValue = Array.isArray(field.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? field.value\n\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\tconst newValue = isChecked\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? [...currentValue, option.value]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: currentValue.filter((v) => v !== option.value);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(newValue);\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"border-destructive size-4 border\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle === \"badge\" && \"sr-only\",\n\t\t\t\t\t\t\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\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{style === \"badge\" ? (\n\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.isArray(field.value) &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.value.includes(option.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"default\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"secondary\"\n\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"flex cursor-pointer gap-2 rounded-md px-4 py-2 text-sm\",\n\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\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\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.label\n\t\t\t\t\t\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\t\t\t\t\t</Label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FormControl>\n\t\t\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\t\t\t<Separator className=\"mt-4\" />\n\t\t\t\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\t\t) : type === \"cnpj\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<PatternFormat\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformat=\"##.###.###/####-##\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmask=\"_\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={styleInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tArray.isArray(field.value)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? (field.value[0] ?? \"\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: String(field.value ?? \"\")\n\t\t\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\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst unformattedValue = values.value?.replace(/\\D/g, \"\");\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(unformattedValue);\n\t\t\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\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) : type === \"dateRange\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={field.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontrol={form.control}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname={field.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trender={({ field: controller }) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<CalendarRange\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={field.value as DateRange | undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={controller.onChange}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpopoverContentClassName=\"z-[99999999999]\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"h-10 w-full\"\n\t\t\t\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\t\t\t)}\n\t\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\t) : type === \"select\" && items ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ComboboxField\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: <any>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as unknown as any[]) ?? []}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(val) => field.onChange(val)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titems={items}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\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\t\t\tstyleInput,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"text-muted-foreground hover:text-muted-foreground\",\n\t\t\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\t\t\tclassNamePopover=\"z-[99999999999]\"\n\t\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\t) : type === \"numeric_range\" ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"space-y-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"flex gap-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as NumericFilterValue)?.operator || \"eq\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(operator) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...((field.value as NumericFilterValue) || {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator: \"eq\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\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\t\t\t\t\t\t\toperator: operator as Operator,\n\t\t\t\t\t\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\t\t\t\t\t}}\n\t\t\t\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\t\t\t\t\t<SelectTrigger className=\"w-24 cursor-pointer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectValue />\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectTrigger>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"eq\" className={styleSelect}>\n\t\t\t\t\t\t\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\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"gt\" className={styleSelect}>\n\t\t\t\t\t\t\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\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"lt\" className={styleSelect}>\n\t\t\t\t\t\t\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\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"gte\" className={styleSelect}>\n\t\t\t\t\t\t\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\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<SelectItem value=\"lte\" className={styleSelect}>\n\t\t\t\t\t\t\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\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</SelectContent>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Select>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<NumericFormat\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as NumericFilterValue)?.value ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmaxLength={isCurrency ? undefined : 25}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowNegative={allowNegative ?? true}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowLeadingZeros={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdecimalScale={isCurrency ? 20 : 20}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(values) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst numericValue = values.floatValue ?? null;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...((field.value as NumericFilterValue) || {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator: \"eq\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: null,\n\t\t\t\t\t\t\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\t\t\t\t\t\t\tvalue: numericValue,\n\t\t\t\t\t\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\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={styleInput}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfixedDecimalScale={false}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdecimalSeparator=\",\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthousandSeparator=\".\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix={isPercent ? \"%\" : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprefix={currency === \"BRL\" ? \"R$ \" : undefined}\n\t\t\t\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\t\t\t</div>\n\t\t\t\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\t\t) : type === \"multiselect\" && options ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<MultiSelect\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={`${String(name)}-clear-${clearTrigger}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toptions={options.map((opt) => ({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: String(opt.label),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: String(opt.value),\n\t\t\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\t\t\tdefaultValue={Array.isArray(field.value) ? field.value : []}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonValueChange={(val) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(val);\n\t\t\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\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant={badgeMultiselectVariant}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubtle={badgeMultiselectSubtle}\n\t\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\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{...field}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(field.value as string | null) ?? \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"bg-background\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst value = e.target.value || null;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield.onChange(value);\n\t\t\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\t\t/>\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</FormControl>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{description && <FormDescription>{description}</FormDescription>}\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FormMessage />\n\t\t\t\t\t\t\t\t\t\t\t\t</FormItem>\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),\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ScrollArea>\n\n\t\t\t\t\t\t<SheetFooter className=\"flex w-full flex-wrap gap-2\">\n\t\t\t\t\t\t\t<SheetClose asChild>\n\t\t\t\t\t\t\t\t<Button className=\"bg-primary w-full text-white\" type=\"submit\">\n\t\t\t\t\t\t\t\t\tAplicar Filtros\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</SheetClose>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tclassName=\"mt-2 w-full\"\n\t\t\t\t\t\t\t\tonClick={handleCleanFilters}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLimpar Filtros\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</SheetFooter>\n\t\t\t\t\t</form>\n\t\t\t\t</Form>\n\t\t\t</SheetContent>\n\t\t</Sheet>\n\t);\n}\n"],"names":["setCustomValidity","ref","fieldPath","errors","error","get","message","reportValidity","validateFieldsNatively","options","fields","field","refs","forEach","parseErrorSchema","zodErrors","validateAllFieldCriteria","length","code","_path","path","join","unionError","unionErrors","type","e","push","types","messages","appendErrors","concat","shift","zodResolver","schema","schemaOptions","resolverOptions","values","_","Promise","resolve","mode","then","data","shouldUseNativeValidation","raw","Object","assign","_catch","Array","isArray","isZodError","toNestErrors","criteriaMode","reject","TableFilter","table","defaultSide","disabled","title","fieldConfigs","defaultFilterValues","appliedFiltersCount","setAppliedFiltersCount","applyFiltersOnMount","onClearFilters","onApplyFilters","badgeMultiselectVariant","badgeMultiselectSubtle","React","useEffect","name","filterType","column","getColumn","filterValue","getFilterValue","valueToFilter","formatNumberWithComma","value","minimumFractionDigits","maximumFractionDigits","undefined","setFilterValue","clearTrigger","setClearTrigger","useState","form","useForm","resolver","defaultValues","countAppliedFilters","filter","trim","val","Boolean","from","to","String","handleCleanFilters","useCallback","getAllColumns","getCanFilter","reset","prev","handleApplyFilters","allFieldsEmpty","entries","every","numericValue","dateRange","hasValues","some","count","handleOpenChange","open","handleSubmit","handleWheel","cmdkList","target","closest","preventDefault","scrollTop","deltaY","document","addEventListener","passive","removeEventListener","getValues","Sheet","onOpenChange","div","className","Button","variant","onClick","aria-label","SheetTrigger","asChild","size","ListFilterIcon","span","Badge","SheetContent","side","SheetHeader","SheetTitle","Form","onSubmit","ScrollArea","map","label","placeholder","allowNegative","isCurrency","isPercent","style","items","description","currency","FormField","key","control","render","FormItem","FormLabel","FormControl","NumericFormat","maxLength","allowLeadingZeros","decimalScale","onValueChange","floatValue","onChange","styleInput","fixedDecimalScale","decimalSeparator","thousandSeparator","suffix","prefix","Popover","PopoverTrigger","cn","CalendarDaysIcon","formatDateToBrazilian","PopoverContent","Calendar","captionLayout","locale","ptBR","selected","parseFieldDate","onSelect","date","format","option","Label","Checkbox","checked","includes","onCheckedChange","isChecked","currentValue","newValue","v","icon","Separator","PatternFormat","mask","unformattedValue","replace","controller","CalendarRange","popoverContentClassName","ComboboxField","classNamePopover","Select","operator","SelectTrigger","SelectValue","SelectContent","SelectItem","styleSelect","MultiSelect","opt","defaultValue","subtle","Input","FormDescription","FormMessage","SheetFooter","SheetClose"],"mappings":"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