nexaas-ui-components 1.0.63 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +117 -107
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +117 -107
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/assets/spinner.tsx","../src/components/Button.tsx","../src/components/ButtonLink.tsx","../src/components/Input.tsx","../src/components/Logo.tsx","../src/components/Rocket.tsx","../src/stores/field-errors.ts","../src/components/DatePickerInput.tsx","../src/components/Badge.tsx","../src/components/Calendar.tsx","../src/components/Checkbox.tsx","../src/components/FilterButton/FilterCalendar.tsx","../src/components/InputSmall/InputSmall.tsx","../src/components/FilterButton/FilterOptions.tsx","../src/utils/intl-currency-input.ts","../src/components/InputMoney.tsx","../src/utils/debounce.ts","../src/components/InputNumber.tsx","../src/components/InputPercentage.tsx","../src/components/MaskedInput.tsx","../src/components/ModalDialog.tsx","../src/components/Popover/Popover.tsx","../src/components/Select/Select.styles.ts","../src/components/Select/Select.tsx","../src/components/SelectFieldBip/SelectFieldBip.styles.tsx","../src/components/SelectFieldBip/SelectFieldBip.tsx","../src/components/RadioButton/Radio.tsx","../src/components/Toggle.tsx","../src/components/Table/PaginationSelects.tsx","../src/components/Table/TableComponents.tsx","../src/components/Table/DataTablePagination.tsx","../src/components/Table/index.tsx","../src/components/Accordion.tsx","../src/components/CopyPopover.tsx","../src/components/Dropdown/Menu.tsx","../src/components/Dropdown/Item.tsx","../src/components/EditableButton.tsx","../src/components/EditableText.tsx","../src/components/EditableTextSelect.tsx","../src/components/FileUpload/ImagePreview.tsx","../src/components/FileUpload/FileStatus.tsx","../src/components/FileUpload/FileUploadReducer.tsx","../src/assets/IconFile.tsx","../src/assets/IconCheck.tsx","../src/assets/FileUpload.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/InfoIcon.tsx","../src/components/MultiSelect/MultiSelect.styles.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/InputTag/InputTag.styles.tsx","../src/components/InputTag/InputTag.tsx","../src/components/MultiSelectBottom/MultiSelectBottom.styles.tsx","../src/components/MultiSelectBottom/MultiSelectBottom.tsx","../src/components/PageBox.tsx","../src/components/PageHeader.tsx","../src/components/ProgressBar.tsx","../src/components/SimpleTab.tsx","../src/components/SkeletonLoading/SkeletonDetails.tsx","../src/components/SkeletonLoading/SkeletonList.tsx","../src/components/SkeletonLoading/SkeletonRegister.tsx","../src/components/StatusBar.tsx","../src/components/Tabs.tsx","../src/components/TextArea.tsx","../src/components/Timeline.tsx","../src/components/ControlledInput/ControlledInput.tsx"],"names":["jsx","useEffect","jsxs","clsx","Fragment","sizes","variants","forwardRef","_a","React","create","set","useState","useRef","Controller","DateInput3","format","parse","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","DateRangePicker3","subYears","DatePicker3","Popover","Float","PopoverButton","PopoverPanel","ListboxOption","_b","Listbox","ListboxOptions","IntlCurrencyInputRaw","value","lodashNamespace","useMemo","InputMask","customStyles","cloneElement","Modal","Tooltip","debounce","components","inputValue","onChange","AsyncSelect","useImperativeHandle","ValueContainer","Switch","_c","_d","_e","_f","Combobox","React5","rankItem","pageIndex","pageSize","useReactTable","getCoreRowModel","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getExpandedRowModel","flexRender","Transition","HeadlessMenu","MenuButton","MenuItems","MenuItem","Fuse","Menu","Dialog","useReducer","usePapaParse","files","name","Select","CreatableSelect","Skeleton","TabGroup","TabList","Tab","TabPanels","TabPanel"],"mappings":"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","file":"index.cjs","sourcesContent":["import React from \"react\";\n\nexport const SpinnerIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n {...props}\n width={`${props.width || 33}`}\n height={`${props.height || 33}`}\n viewBox=\"0 0 33 33\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21.4671 32.1821C18.269 33.1951 14.8378 33.2061 11.6333 32.2137C8.42885 31.2213 5.6044 29.2729 3.53866 26.6297C1.47293 23.9866 0.264665 20.7751 0.0758752 17.4258C-0.112914 14.0765 0.726798 10.7495 2.48242 7.89096C4.23804 5.03242 6.82565 2.77896 9.89828 1.43272C12.9709 0.0864894 16.3817 -0.288163 19.6733 0.359002C22.9649 1.00617 25.98 2.64421 28.3142 5.0535C30.6485 7.46279 32.1903 10.5282 32.7331 13.8386L28.9102 14.4653C28.4953 11.9345 27.3165 9.59102 25.532 7.74911C23.7474 5.9072 21.4424 4.65491 18.926 4.16015C16.4095 3.66539 13.802 3.95181 11.4529 4.98101C9.10388 6.01021 7.12564 7.73299 5.78346 9.91835C4.44128 12.1037 3.79932 14.6472 3.94365 17.2077C4.08798 19.7683 5.01171 22.2235 6.59097 24.2442C8.17023 26.2649 10.3295 27.7544 12.7794 28.5132C15.2292 29.2719 17.8524 29.2634 20.2973 28.489L21.4671 32.1821Z\"\n fill={props.fill || \"#009EDB\"}\n />\n </svg>\n);\n","import React, { JSX, useEffect } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\nimport clsx from \"clsx\";\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n icon?: JSX.Element;\n variant?: keyof typeof variants;\n size?: keyof typeof sizes;\n loading?: boolean;\n loadingIcon?: JSX.Element;\n dropdown?: boolean;\n hotkey?: string;\n hotkeyPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | \"inside\";\n};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[12px] leading-3\",\n },\n xxsm: {\n text: \"h-6 min-w-6 max-w-6 !rounded-md\",\n icon: \"text-[12px] leading-3\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px] leading-4\",\n },\n sm: {\n text: \"h-[32px] text-[12px]\",\n icon: \"text-[12px] leading-3\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px] leading-5\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px] leading-5\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"bg-gradient-to-b from-[#FF4D8B] to-[#DA3063] text-white shadow-[0_2px_6px_0_rgba(218,48,99,0.25)] hover:from-[#ff4d84] hover:to-[#df4573] active:from-[#ae264f] active:to-[#ae264f] disabled:opacity-50 disabled:shadow-none active:shadow-none disabled:hover:from-[#FF4D8B] disabled:hover:to-[#DA3063]\",\n },\n secondary: {\n text: \"shadow-button bg-surface border-[0.5px] border-neutral-300 text-neutral-600 hover:bg-neutral-100 hover:text-neutral-600 active:text-neutral-600 active:bg-neutral-200 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button gap-1 bg-white border-[0.5px] border-neutral-300 text-neutral-500 hover:bg-[#f5f5f5] hover:text-neutral-600 active:bg-neutral-100 active:text-neutral-600 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outline: {\n text: \"shadow-button bg-surface border-[0.5px] border-rose-500 text-rose-500 hover:bg-rose-50 hover:text-rose-600 active:bg-rose-100 active:text-rose-600 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-400 disabled:no-underline outline-none focus:outline-none shadow-none font-normal\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-300 hover:bg-dangerous-100 hover:text-dangerous-600 active:bg-dangerous-500 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-dangerous-500 active:shadow-none\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#fe6464] hover:to-[#e24e4e] active:from-dangerous-600 active:to-dangerous-600 disabled:opacity-50 disabled:from-dangerous-500 disabled:to-dangerous-500 active:shadow-none\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#40f09b] hover:to-[#28c67a] active:from-success-600 active:to-success-600 disabled:opacity-50 disabled:from-success-start disabled:to-success-end active:shadow-none\",\n },\n successOutline: {\n text: \"active:shadow-none shadow-green-sm text-green-500 font-bold bg-white border-[0.5px] border-green-500 hover:bg-green-100 active:bg-green-100 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-green-500\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#febd5b] hover:to-[#f4a52e] active:from-warning-600 active:to-warning-600 disabled:opacity-50 disabled:from-warning-start disabled:to-warning-end active:shadow-none\",\n },\n blue: {\n text: \"shadow-button bg-blue-500 text-white hover:bg-blue-600 active:bg-blue-600 text-bold\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-white text-rose-500 hover:shadow-button hover:text-rose-600 active:bg-rose-500 active:text-white disabled:text-neutral-400 disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n dangerLight: {\n text: \"active:shadow-none shadow-red-sm text-danger-500 font-bold bg-white border-[0.5px] border-dangerous-300 hover:bg-dangerous-100 active:bg-danger-500 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-danger-500\",\n },\n ghost: {\n text: \"bg-transparent hover:bg-neutral-100 !rounded-full text-paragraph active:bg-neutral-200 disabled:opacity-50\",\n },\n};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\n },\n xxsm: {\n normal: \"p-[5px]\",\n icon: \"p-[5px]\",\n },\n xs: {\n normal: \"p-2\",\n icon: \"p-2\",\n },\n sm: {\n normal: \"px-3 py-[6px]\",\n icon: \"py-[6px] pl-2 pr-3\",\n },\n md: {\n normal: \"py-2 px-4\",\n icon: \"py-2 pl-3 pr-4\",\n },\n lg: {\n normal: \"py-3 px-4\",\n icon: \"p-3 pr-4\",\n },\n};\n\nexport const Button = ({\n variant = \"primary\",\n size = \"lg\",\n hotkey,\n hotkeyPosition = \"bottom\",\n ...props\n}: ButtonProps) => {\n const applyGap = props.icon && props.children;\n const appliedVariant = variants[variant].text;\n const appliedSize = sizes[size];\n const appliedPadding = props.icon\n ? paddingConfig[size].icon\n : paddingConfig[size].normal;\n const gapText = applyGap ? \"gap-[6px]\" : \"gap-0\";\n\n useEffect(() => {\n if (!hotkey || !props.onClick) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.disabled || props.loading) return;\n\n const keys = hotkey\n .toLowerCase()\n .split(\"+\")\n .map((k) => k.trim());\n const primaryKey = keys.pop();\n\n if (!primaryKey) return;\n\n const requiredCtrl = keys.includes(\"ctrl\");\n const requiredAlt = keys.includes(\"alt\");\n const requiredShift = keys.includes(\"shift\");\n const requiredMeta = keys.includes(\"meta\") || keys.includes(\"cmd\");\n\n const match =\n event.key.toLowerCase() === primaryKey &&\n event.ctrlKey === requiredCtrl &&\n event.altKey === requiredAlt &&\n event.shiftKey === requiredShift &&\n event.metaKey === requiredMeta;\n\n if (match) {\n event.preventDefault();\n props.onClick?.(event as any);\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [hotkey, props.onClick, props.disabled, props.loading]);\n\n const hotkeyLabel = hotkey && (\n <span className=\"text-p-sm font-normal\">{hotkey.toUpperCase()}</span>\n );\n\n return (\n <div\n className={clsx(\"inline-flex gap-[8px]\", {\n \"flex-col items-center\":\n hotkeyPosition === \"top\" || hotkeyPosition === \"bottom\",\n \"flex-row items-center\":\n hotkeyPosition === \"left\" || hotkeyPosition === \"right\",\n })}\n >\n {hotkey && (hotkeyPosition === \"top\" || hotkeyPosition === \"left\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n <button\n type={props.type}\n id=\"button-component\"\n {...props}\n disabled={props.disabled || props.loading}\n className={`\n ${props.className}\n ${appliedVariant} \n ${appliedSize.text} \n ${appliedPadding} \n ${gapText} \n whitespace-nowrap group rounded-lg font-bold disabled:shadow-none active:shadow-none flex items-center\n `}\n >\n <>\n {props.icon && (\n <div\n className={`flex items-center justify-center ${appliedSize.icon}`}\n >\n {props.icon && !props.loading ? (\n props.icon\n ) : props.loadingIcon && props.loading ? (\n props.loadingIcon\n ) : (\n <SpinnerIcon\n className=\"animate-spin w-4 h-4\"\n fill=\"currentColor\"\n />\n )}\n </div>\n )}\n {props.children}\n {hotkey && hotkeyPosition === \"inside\" && (\n <span className=\" font-normal\">- {hotkeyLabel}</span>\n )}\n {props.dropdown && (\n <i className={\"uil uil-angle-down text-[18px]\"}></i>\n )}\n </>\n </button>\n {hotkey &&\n (hotkeyPosition === \"bottom\" || hotkeyPosition === \"right\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n </div>\n );\n};\n","import React, {\n forwardRef,\n JSX,\n ComponentType,\n AnchorHTMLAttributes,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\n\nexport type LinkProp = AnchorHTMLAttributes<HTMLAnchorElement> & {\n icon?: JSX.Element;\n size?: keyof typeof sizes;\n padding?: string;\n label?: string | JSX.Element;\n disabled?: boolean;\n name?: string;\n target?: string;\n variant?: keyof typeof variants;\n className?: string;\n href: string;\n as?: ComponentType<any> | string;\n hotkey?: string;\n hotkeyPosition?: \"top\" | \"bottom\" | \"left\" | \"right\";\n iconPosition?: \"left\" | \"right\";\n};\n\nexport const sizes = {\n xxs: {\n text: \"min-h-[14px] max-h-[40px] text-[14px] gap-[4px]\",\n },\n xs: {\n text: \"h-[36px]\",\n },\n sm: {\n text: \"h-[40px]\",\n },\n md: {\n text: \"h-[46px]\",\n },\n table: {\n text: \"h-8 w-8\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"shadow-button text-button-label bg-gradient-to-b hover:text-white from-rose-start to-rose-end active:bg-gradient-to-b active:from-rose-800 active:to-rose-800 disabled:bg-gradient-to-b disabled:from-rose-800 disabled:to-rose-800 disabled:opacity-50 hover:from-[#FD467F] hover:to-[#DF4573]\",\n },\n secondary: {\n text: \"shadow-button bg-white border-[0.5px] border-paragraph text-blue-500 hover:text-blue-600 hover:bg-[#f5f5f5] active:text-blue-600 active:bg-light-gray-100 disabled:text-neutral-400 disabled:bg-white disabled:border-[0.5px] disabled:border-neutral-400\",\n },\n link: {\n text: \"text-blue-500 hover:text-blue-600 hover:underline border-none active:text-blue-600 active:underline disabled:text-blue-500 disabled:no-underline shadow-none font-normal\",\n },\n linkDanger: {\n text: \"text-dangerous-500 hover:text-dangerous-600 hover:underline border-none active:text-dangerous-600 active:underline disabled:text-dangerous-500 disabled:no-underline shadow-none font-normal\",\n },\n icon: {\n text: \"bg-white border-[0.5px] border-neutral-300 text-blue-500 hover:text-blue-600 hover:bg-[#f5f5f5] active:text-blue-600 active:bg-light-gray-100 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50\",\n },\n outline: {\n text: \"shadow-button bg-white border-[0.5px] border-rose-700 text-blue-500 hover:text-blue-600 hover:bg-[#f5f5f5] active:text-blue-600 active:bg-light-gray-100 disabled:text-rose-700 disabled:bg-white disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50\",\n },\n dark: {\n text: \"shadow-button text-white hover:bg-[#f5f5f526] active:bg-[#0a0a0a40] disabled:opacity-50 disabled:bg-transparent\",\n },\n dangerLight: {\n text: \"shadow-button text-dangerous-700 font-bold bg-white border-[0.5px] border-dangerous-700 hover:bg-dangerous-100 active:bg-dangerous-700 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-dangerous-700\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#FD6363] hover:to-[#E34E4E] active:from-dangerous-800 active:to-dangerous-800 disabled:opacity-50 disabled:from-dangerous-700 disabled:to-dangerous-700\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#3FF09B] hover:to-[#27C579] active:from-success-800 active:to-success-800 disabled:opacity-50 disabled:from-success-700 disabled:to-success-700\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#FEBD5D] hover:to-[#F4A42D] active:from-warning-800 active:to-warning-800 disabled:opacity-50 disabled:from-warning-700 disabled:to-warning-700\",\n },\n blue: {\n text: \"shadow-button bg-blue-700 text-white text-bold\",\n },\n filter: {\n text: \"shadow-button rounded-3xl border border-neutral-300 text-blue-500 hover:text-blue-600 hover:bg-light-gray-100 active:border active:border-blue-700 active:text-blue-600 active:bg-blue-100 focus:border focus:border-blue-700 focus:text-blue-500 focus:bg-blue-100\",\n },\n filterActive: {\n text: \"shadow-button rounded-3xl border border-blue-700 text-blue-500 bg-blue-100 shadow-button hover:bg-blue-700 hover:text-white active:text-white active:bg-blue-900 active:border-blue-900 focus:text-white focus:bg-blue-900 focus:border-blue-900\",\n },\n};\n\nexport const ButtonLink = forwardRef<HTMLAnchorElement, LinkProp>(\n (\n {\n size = \"md\",\n icon,\n padding = \"px-3\",\n label,\n disabled,\n name,\n target,\n variant = \"link\",\n className,\n as: LinkComponent = \"a\",\n hotkey,\n hotkeyPosition = \"bottom\",\n iconPosition = \"left\",\n ...props\n },\n ref,\n ) => {\n const applyGap = icon;\n useEffect(() => {\n if (!hotkey) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (disabled) return;\n\n const keys = hotkey\n .toLowerCase()\n .split(\"+\")\n .map((k) => k.trim());\n const primaryKey = keys.pop();\n\n if (!primaryKey) return;\n\n const requiredCtrl = keys.includes(\"ctrl\");\n const requiredAlt = keys.includes(\"alt\");\n const requiredShift = keys.includes(\"shift\");\n const requiredMeta = keys.includes(\"meta\") || keys.includes(\"cmd\");\n\n const match =\n event.key.toLowerCase() === primaryKey &&\n event.ctrlKey === requiredCtrl &&\n event.altKey === requiredAlt &&\n event.shiftKey === requiredShift &&\n event.metaKey === requiredMeta;\n\n if (match) {\n event.preventDefault();\n if (props.onClick) {\n props.onClick?.(event as any);\n } else {\n const linkElement = document.querySelector(\n `a[href=\"${props.href}\"]`,\n ) as HTMLAnchorElement;\n linkElement?.click();\n }\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [hotkey, props.onClick, props.href, disabled]);\n const hotkeyLabel = hotkey && (\n <span className=\"text-p-sm font-normal\">{hotkey.toUpperCase()}</span>\n );\n return (\n <div\n className={clsx(\"inline-flex gap-[4px]\", {\n \"flex-col items-center justify-center\":\n hotkeyPosition === \"top\" || hotkeyPosition === \"bottom\",\n \"flex-row items-center justify-center\":\n hotkeyPosition === \"left\" || hotkeyPosition === \"right\",\n })}\n >\n {hotkey && (hotkeyPosition === \"top\" || hotkeyPosition === \"left\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n <LinkComponent\n ref={ref}\n className={clsx(\n {\n [variants[variant]?.text]: true,\n [sizes[size].text]: true,\n [\"pointer-events-none shadow-none text-label\"]: disabled,\n [\"px-2\"]: variant !== \"link\" && variant !== \"linkDanger\",\n [\"flex-row-reverse\"]: iconPosition === \"right\",\n },\n `group rounded-lg font-bold active:shadow-none flex items-center justify-start cursor-pointer outline-none focus:outline-none\n ${applyGap ? \"gap-2\" : \"gap-0\"} ${className}\n `,\n )}\n target={target}\n {...props}\n download={name}\n >\n {icon && (\n <div\n className={clsx(\"flex items-center justify-center\", {\n \"text-[12px]\": size === \"sm\",\n \"text-[14px]\": size === \"md\",\n })}\n >\n {icon}\n </div>\n )}\n <span\n className={clsx(\"cursor-pointer line-clamp-2\", {\n \"text-[12px]\": size === \"sm\",\n \"text-[14px]\": size === \"md\",\n })}\n >\n {label}\n </span>\n </LinkComponent>\n {hotkey &&\n (hotkeyPosition === \"bottom\" || hotkeyPosition === \"right\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n </div>\n );\n },\n);\n\nButtonLink.displayName = \"ButtonLink\";\n","import React, { JSX } from \"react\";\nimport clsx from \"clsx\";\nimport {\n DetailedHTMLProps,\n forwardRef,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n} from \"react\";\nimport {\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: () => void;\n error?: Merge<FieldError, FieldErrorsImpl<any>> | any;\n onBlur?: (value: Event) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n};\n\nexport const Input = ({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n onChange,\n ref,\n}: InputFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n const [showPassword, setShowPassword] = React.useState(false);\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label peer-focus:text-blue-500\"\n } peer-focus:border-blue-500`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear: \"absolute top-[8.3px] cursor-pointer text-label text-[22px]\",\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const inlineStyles = {\n inputWithIcon: { paddingLeft: \"48px\" },\n labelWithIcon: { left: \"3rem\" },\n };\n\n const input = name ? document?.getElementById(name) : null;\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n <input\n id={name}\n type={\n type === \"password\" ? (showPassword ? \"text\" : \"password\") : type\n }\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={\n (!label && placeholder && icon) || icon\n ? inlineStyles.inputWithIcon\n : undefined\n }\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onChange={onChange}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={ref}\n {...inputProps}\n {...registration}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {icon && (\n <div\n className={clsx(styles.icon, \"flex justify-center items-center\")}\n >\n {icon}\n </div>\n )}\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\",\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n style={icon ? inlineStyles.labelWithIcon : undefined}\n className={clsx(\n {\n [styles.label]: true,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\",\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n {type === \"password\" && (\n <i\n onClick={() => setShowPassword(!showPassword)}\n className={clsx(\n \" text-label cursor-pointer text-[20px] absolute right-2 top-[11px]\",\n {\n \"uil-eye-slash\": showPassword,\n \"uil-eye\": !showPassword,\n },\n )}\n ></i>\n )}\n {clearField && value && value !== \"\" && !disabled && (\n <i\n className={clsx(styles.clear, \"uil uil-times clear-icon\", {\n \"right-9\": type === \"password\",\n \"right-2\": type !== \"password\",\n })}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import React from \"react\";\n// Exemplo: Se você tiver uma imagem PNG ou JPG\n// import logo from \"../assets/logo.png\";\n\n// Para SVG estático (não como componente)\nimport exampleLogo from \"../assets/example-logo.svg\";\n\nexport const Logo: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <img \n src={exampleLogo} \n alt=\"Logo\" \n className={className}\n width={100}\n height={100}\n />\n );\n};\n","import React from \"react\";\n\nexport const RocketIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"800px\"\n height=\"800px\"\n viewBox=\"0 0 1024 1024\"\n className=\"icon\"\n version=\"1.1\"\n style={props.style}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M512 301.2m-10 0a10 10 0 1 0 20 0 10 10 0 1 0-20 0Z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M400.3 744.5c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z m0 0c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M511.8 256.6c24.4 0 44.2 19.8 44.2 44.2S536.2 345 511.8 345s-44.2-19.8-44.2-44.2 19.9-44.2 44.2-44.2m0-20c-35.5 0-64.2 28.7-64.2 64.2s28.7 64.2 64.2 64.2 64.2-28.7 64.2-64.2-28.7-64.2-64.2-64.2z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M730.7 529.5c0.4-8.7 0.6-17.4 0.6-26.2 0-179.6-86.1-339.1-219.3-439.5-133.1 100.4-219.2 259.9-219.2 439.5 0 8.8 0.2 17.5 0.6 26.1-56 56-90.6 133.3-90.6 218.7 0 61.7 18 119.1 49.1 167.3 30.3-49.8 74.7-90.1 127.7-115.3 39-18.6 82.7-29 128.8-29 48.3 0 93.9 11.4 134.3 31.7 52.5 26.3 96.3 67.7 125.6 118.4 33.4-49.4 52.9-108.9 52.9-173.1 0-85.4-34.6-162.6-90.5-218.6zM351.1 383.4c9.2-37.9 22.9-74.7 40.6-109.5a502.1 502.1 0 0 1 63.6-95.9c17.4-20.6 36.4-39.9 56.8-57.5 20.4 17.6 39.4 36.9 56.8 57.5 24.8 29.5 46.2 61.8 63.6 95.9 17.7 34.8 31.4 71.6 40.6 109.5 8.7 35.8 13.5 72.7 14.2 109.9C637.4 459 577 438.9 512 438.9c-65 0-125.3 20.1-175.1 54.4 0.7-37.2 5.5-74.1 14.2-109.9z m-90.6 449.2c-9.1-27-13.7-55.5-13.7-84.4 0-35.8 7-70.6 20.8-103.2 8.4-19.8 19-38.4 31.9-55.5 9.7 61.5 29.5 119.7 57.8 172.6-36.4 17.8-69 41.6-96.8 70.5z m364.2-85.3c-0.7-0.3-1.5-0.5-2.2-0.8-0.4-0.2-0.9-0.3-1.3-0.5-0.6-0.2-1.3-0.5-1.9-0.7-0.8-0.3-1.5-0.5-2.3-0.8-0.8-0.3-1.5-0.5-2.3-0.7l-0.9-0.3c-1-0.3-2.1-0.7-3.1-1-1.2-0.4-2.4-0.7-3.5-1.1l-3-0.9c-0.2-0.1-0.4-0.1-0.7-0.2-1.1-0.3-2.3-0.7-3.4-1-1.2-0.3-2.4-0.6-3.5-0.9l-3.6-0.9-3.6-0.9c-1-0.3-2.1-0.5-3.1-0.7-1.2-0.3-2.4-0.5-3.6-0.8-1.3-0.3-2.5-0.6-3.8-0.8h-0.3c-0.9-0.2-1.9-0.4-2.8-0.6-0.4-0.1-0.7-0.1-1.1-0.2-1.1-0.2-2.2-0.4-3.4-0.6-1.2-0.2-2.4-0.4-3.6-0.7l-5.4-0.9c-0.9-0.1-1.9-0.3-2.8-0.4-0.8-0.1-1.6-0.3-2.5-0.4-2.6-0.4-5.1-0.7-7.7-1-1.2-0.1-2.3-0.3-3.5-0.4h-0.4c-0.9-0.1-1.8-0.2-2.8-0.3-1.1-0.1-2.1-0.2-3.2-0.3-1.7-0.2-3.4-0.3-5.1-0.4-0.8-0.1-1.5-0.1-2.3-0.2-0.9-0.1-1.9-0.1-2.8-0.2-0.4 0-0.8 0-1.2-0.1-1.1-0.1-2.1-0.1-3.2-0.2-0.5 0-1-0.1-1.5-0.1-1.3-0.1-2.6-0.1-3.9-0.1-0.8 0-1.5-0.1-2.3-0.1-1.2 0-2.4 0-3.5-0.1h-13.9c-2.3 0-4.6 0.1-6.9 0.2-0.9 0-1.9 0.1-2.8 0.1-0.8 0-1.5 0.1-2.3 0.1-1.4 0.1-2.8 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.4-0.6 0-1.2 0.1-1.8 0.2l-7.8 0.9c-1.1 0.1-2.1 0.3-3.2 0.4-1 0.1-2.1 0.3-3.1 0.4-3.2 0.5-6.4 0.9-9.5 1.5-0.7 0.1-1.4 0.2-2.1 0.4-0.9 0.1-1.7 0.3-2.6 0.5-1.1 0.2-2.3 0.4-3.4 0.6-0.9 0.2-1.7 0.3-2.6 0.5-0.4 0.1-0.8 0.1-1.1 0.2-0.7 0.1-1.4 0.3-2.1 0.4-1.2 0.3-2.4 0.5-3.6 0.8-1.2 0.3-2.4 0.5-3.6 0.8-0.2 0-0.4 0.1-0.6 0.1-0.5 0.1-1 0.2-1.5 0.4-1.1 0.3-2.3 0.6-3.5 0.9-1.3 0.3-2.5 0.6-3.8 1-0.4 0.1-0.9 0.2-1.4 0.4-1.3 0.4-2.7 0.7-4 1.1-1.5 0.4-3 0.9-4.6 1.3-1 0.3-2.1 0.6-3.1 1-2.1 0.6-4.1 1.3-6.2 2-0.7 0.2-1.4 0.5-2.1 0.7-15-27.5-27.4-56.4-37-86.2-11.7-36.1-19.2-73.6-22.5-111.6-0.6-6.7-1-13.3-1.3-20-0.1-1.2-0.1-2.4-0.1-3.6-0.1-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.7 18.8-14 39.2-25.8 61-35 36.1-15.3 74.5-23 114.1-23 39.6 0 78 7.8 114.1 23 21.8 9.2 42.2 20.9 61 35v0.1c0 1 0 1.9-0.1 2.9 0 1.4-0.1 2.8-0.1 4.3 0 0.7 0 1.3-0.1 2-0.1 1.8-0.1 3.5-0.2 5.3-0.3 6.7-0.8 13.3-1.3 20-3.3 38.5-11 76.5-23 113-9.7 30.3-22.3 59.4-37.6 87.1z m136.8 90.9a342.27 342.27 0 0 0-96.3-73.2c29.1-53.7 49.5-112.8 59.4-175.5 12.8 17.1 23.4 35.6 31.8 55.5 13.8 32.7 20.8 67.4 20.8 103.2 0 31-5.3 61.3-15.7 90z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M512 819.3c8.7 0 24.7 22.9 24.7 60.4s-16 60.4-24.7 60.4-24.7-22.9-24.7-60.4 16-60.4 24.7-60.4m0-20c-24.7 0-44.7 36-44.7 80.4 0 44.4 20 80.4 44.7 80.4s44.7-36 44.7-80.4c0-44.4-20-80.4-44.7-80.4z\"\n fill=\"#E73B37\"\n />\n </svg>\n);\n","import { nanoid } from 'nanoid';\nimport { create } from 'zustand';\n\nexport type Field = {\n [key: string]: FieldError;\n};\n\ntype FieldError = {\n code: string;\n message: string;\n};\n\ntype ValidationError = {\n id?: string;\n code: string;\n message: string;\n path?: string[];\n position?: number;\n};\n\ntype FieldErrorsStore = {\n field: Field;\n addValidationError: (\n validationErrors: ValidationError[]\n ) => void;\n dismissAllValidationErrors?: () => void;\n};\n\nexport const useFieldErrorsStore = create<FieldErrorsStore>(\n (set) => ({\n field: {},\n addValidationError: (validationErrors) =>\n set((state) => {\n let fieldErrorsByPath = {};\n validationErrors?.forEach(\n ({ position, path, code, message }) => {\n path?.shift();\n if (position !== null) {\n path?.splice(1, 0, position?.toString());\n }\n\n const fieldPathWithPosition = path\n .join('.')\n .replace('.', '');\n\n fieldErrorsByPath = {\n ...fieldErrorsByPath,\n [fieldPathWithPosition]: {\n code,\n message,\n },\n };\n }\n );\n\n return {\n ...state,\n field: {\n ...fieldErrorsByPath,\n },\n };\n }),\n dismissAllValidationErrors: () =>\n set((state) => ({\n field: {},\n })),\n })\n);\n","import { DateInput3 } from \"@blueprintjs/datetime2\";\nimport { forwardRef, JSX, useState, useRef, useEffect } from \"react\";\nimport {\n Control,\n Controller,\n DeepRequired,\n FieldError,\n FieldErrorsImpl,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport { useFieldErrorsStore } from \"../stores/field-errors\";\nimport clsx from \"clsx\";\nimport { format, parse } from \"date-fns\";\n\ninterface Props {\n icon?: JSX.Element;\n label: string;\n registration?: UseFormRegisterReturn;\n error?: FieldError | any;\n inputProps?: any;\n clearField?: boolean;\n control: Control<unknown> | any;\n name: string | never;\n required?: boolean;\n defaultValue?: any;\n onChangeFunction?: (e) => void;\n maxDate?: any;\n minDate?: any;\n disabled?: boolean;\n small?: boolean;\n onClear?: () => void;\n popoverOffset?: [number, number];\n}\n\nexport const DatePickerInput = forwardRef(\n (\n {\n icon,\n label,\n registration,\n error,\n inputProps,\n clearField,\n control,\n name,\n required,\n defaultValue,\n onChangeFunction,\n maxDate,\n minDate,\n disabled,\n small,\n onClear,\n popoverOffset,\n }: Props,\n ref: any,\n ) => {\n const [invalidDate, setInvalidDate] = useState(false);\n const [showCalendar, setShowCalendar] = useState(false);\n const [inputWidth, setInputWidth] = useState(0);\n const inputContainerRef = useRef<HTMLDivElement | null>(null);\n const dateFnsFormat = \"dd/MM/yyyy\";\n\n useEffect(() => {\n const updateWidth = () => {\n if (inputContainerRef.current) {\n setInputWidth(inputContainerRef.current.offsetWidth + 10);\n }\n };\n\n updateWidth();\n window.addEventListener(\"resize\", updateWidth);\n return () => window.removeEventListener(\"resize\", updateWidth);\n }, []);\n\n const finalOffset = popoverOffset || [inputWidth || 250, -46];\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name ? name : registration?.name]?.message,\n error?.message,\n ];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md border border-neutral-300 rounded block pb-[10px] h-[46px] w-full disabled:bg-light-gray-100 focus:border-blue-500 `,\n icon: `absolute bg-light-gray-100 h-[44px] w-[38px] top-[1px] left-[1px] rounded-l-lg rounded-r-none ${\n hasError ? \"text-dangerous-700\" : \"text-label\"\n }`,\n label: \"absolute text-label text-sm\",\n error: \"border-dangerous-700 text-dangerous-700\",\n clear:\n \"absolute top-[8px] right-[8px] cursor-pointer text-label text-[22px]\",\n };\n\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <div>\n <Controller\n control={control}\n name={name as never}\n render={({ field }) => {\n const normalizeDate = (value: any): string | null => {\n if (!value) return null;\n if (value instanceof Date) {\n return isNaN(value.getTime()) ? null : value.toISOString();\n }\n if (typeof value === \"string\") {\n const parsed = new Date(value);\n return isNaN(parsed.getTime()) ? null : parsed.toISOString();\n }\n return null;\n };\n\n const normalizedValue = normalizeDate(field.value);\n\n return (\n <div\n id=\"group-input-calendar\"\n className=\"relative\"\n ref={(node) => {\n inputContainerRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n }}\n style={{\n [\"--popover-offset-x\" as any]: `${finalOffset[0]}px`,\n [\"--popover-offset-y\" as any]: `${-100}px`,\n }}\n >\n {icon && (\n <div\n id=\"icon\"\n className={clsx(\n styles.icon,\n \"flex justify-center items-center text-[20px] bg-gray-100\",\n )}\n >\n {icon}\n </div>\n )}\n <DateInput3\n outOfRangeMessage=\"Data não permitida\"\n invalidDateMessage=\"Data inválida\"\n onError={() => setInvalidDate(true)}\n defaultValue={normalizedValue}\n inputProps={{\n className: styles.input,\n style: { height: \"46px\" },\n }}\n popoverProps={{\n placement: \"bottom\",\n usePortal: false,\n minimal: true,\n popoverClassName: \"date-picker-popover\",\n }}\n disabled={disabled}\n onChange={(e, isUserChange) => {\n if (isUserChange) {\n let value = e;\n if (e) {\n const date = new Date(e);\n date.setUTCHours(23, 59, 59, 0);\n value = date.toISOString();\n }\n field.onChange(value);\n setShowCalendar(false);\n if (onChangeFunction) {\n onChangeFunction(value);\n }\n setInvalidDate(false);\n }\n }}\n value={normalizedValue}\n locale=\"pt-BR\"\n highlightCurrentDay={true}\n formatDate={(value) => {\n const adjusted = new Date(\n value.getTime() + value.getTimezoneOffset() * 60000,\n );\n return format(adjusted, dateFnsFormat);\n }}\n parseDate={(value) => parse(value, dateFnsFormat, new Date())}\n maxDate={\n maxDate || new Date(new Date().getFullYear() + 5, 11, 31)\n }\n minDate={minDate || new Date(1900, 0, 1)}\n />\n <label\n className={clsx(\n \"pointer-events-none \",\n styles.label,\n `\n ${\n (field.value && field.value[0] !== null) || invalidDate\n ? \" scale-75 -translate-y-3 \"\n : \"\"\n }\n ${icon ? \"left-[3rem]\" : \"left-2.5\"}`,\n )}\n style={{ top: \"13px\" }}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700 ml-1\">*</strong>\n )}\n </label>\n {clearField &&\n field?.value &&\n field?.value !== \"\" &&\n !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\",\n )}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n );\n }}\n />\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-700 text-xs mt-[2px] ml-1\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n },\n);\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { ReactNode, JSX } from \"react\";\n\ntype BadgeProps = {\n variant?: keyof typeof variants | string;\n children?: ReactNode | JSX.Element;\n className?: string;\n style?: any;\n};\n\nconst variants = {\n success: \"bg-success-100 text-success-600\",\n warning: \"bg-warning-100 text-warning-600\",\n blue: \"bg-blue-100 text-blue-500\",\n gray: \"bg-neutral-100 text-neutral-400\",\n dangerous: \"bg-dangerous-100 text-dangerous-600\",\n light: \"bg-neutral-100 text-neutral-400\",\n white:\n \"bg-[#FFF] text-neutral-400 px-4 py-[6px] border border-light shadow-button text-paragraph\",\n primary: \"bg-rose-100 text-rose-800\",\n dark: \"bg-neutral-700 text-white\",\n outline: \"bg-white text-rose-700 border border-neutral-200\",\n \"dark-gray\": \"bg-neutral-100 text-neutral-600\",\n};\n\nexport const Badge = ({\n variant = \"blue\",\n children,\n className,\n style,\n}: BadgeProps) => {\n return (\n <span\n className={clsx(\n { [variants[variant]]: variant?.length > 0 },\n \"py-1 px-2 text-p-md font-normal inline-flex items-center justify-center gap-1 rounded-full text-center\",\n className,\n )}\n style={style}\n >\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { DatePicker3, DateRangePicker3 } from \"@blueprintjs/datetime2\";\nimport {\n Control,\n Controller,\n FieldError,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport {\n set,\n sub,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subYears,\n} from \"date-fns\";\n\ninterface Props {\n registration?: UseFormRegisterReturn;\n error?: FieldError;\n control: Control<any>;\n name: string | never;\n rangeCalendar?: boolean;\n shortcutsChange?: (e) => void;\n selectedShortcut?: number | null;\n setSelectedShortcut?: (e) => void;\n maxDate?: Date;\n singleMonth?: boolean;\n}\nexport const Calendar = ({\n registration,\n error,\n control,\n name,\n rangeCalendar = false,\n shortcutsChange,\n selectedShortcut,\n setSelectedShortcut,\n maxDate = new Date(),\n singleMonth = false,\n}: Props) => {\n const fieldValidationMessages = [error?.message];\n\n const shorcuts: any = [\n {\n label: \"Todo o período\",\n dateRange: [],\n },\n {\n label: \"Hoje\",\n dateRange: [\n set(new Date(), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Ontem\",\n dateRange: [\n set(sub(new Date(), { days: 1 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(sub(new Date(), { days: 1 }), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 7 dias\",\n dateRange: [\n set(sub(new Date(), { days: 7 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 14 dias\",\n dateRange: [\n set(sub(new Date(), { days: 14 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 30 dias\",\n dateRange: [\n set(sub(new Date(), { days: 30 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 60 dias\",\n dateRange: [\n set(sub(new Date(), { days: 60 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 90 dias\",\n dateRange: [\n set(sub(new Date(), { days: 90 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Esta semana\",\n dateRange: [\n startOfWeek(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Semana passada\",\n dateRange: [\n startOfWeek(sub(new Date(), { days: 7 })),\n endOfWeek(sub(new Date(), { days: 7 })),\n ],\n },\n {\n label: \"Este Mês\",\n dateRange: [\n startOfMonth(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Mês passado\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 1 })),\n endOfMonth(sub(new Date(), { months: 1 })),\n ],\n },\n {\n label: \"Últimos 6 meses\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 6 })),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ,\n ],\n },\n ];\n return (\n <div>\n <Controller\n control={control}\n name={name as never}\n render={({ field: { onChange, value } }) => (\n <div id=\"group-input-calendar\" className=\"relative\">\n {rangeCalendar ? (\n <DateRangePicker3\n allowSingleDayRange\n shortcuts={shorcuts}\n selectedShortcutIndex={selectedShortcut || shorcuts[0]}\n onChange={(e) => {\n let date = [];\n if (e[0] && e[0] !== null) {\n date.push(\n set(e[0] as never, {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }) as never,\n );\n }\n\n if (e[1] && e[1] !== null) {\n date.push(\n set(e[1] as never, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }) as never,\n );\n }\n\n if (e[0] !== null && e[1] == null) {\n if (shortcutsChange) shortcutsChange(null);\n if (setSelectedShortcut) setSelectedShortcut(null);\n }\n if (shortcutsChange) shortcutsChange(\"\");\n onChange(date);\n }}\n singleMonthOnly={singleMonth}\n value={value}\n highlightCurrentDay={true}\n minDate={subYears(new Date(), 50)}\n maxDate={maxDate}\n locale=\"pt-BR\"\n onShortcutChange={(e) => {\n const index = shorcuts.findIndex(\n (item) => item.label === e.label,\n );\n if (index !== -1 && setSelectedShortcut) {\n setSelectedShortcut(index);\n }\n if (shortcutsChange) shortcutsChange(e);\n }}\n />\n ) : (\n <DatePicker3\n onChange={(e) => {\n onChange(e);\n }}\n value={value}\n highlightCurrentDay={true}\n locale=\"pt-BR\"\n />\n )}\n </div>\n )}\n />\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { UseFormRegisterReturn } from \"react-hook-form\";\nexport type CheckboxProps = {\n key?: string;\n label?: string;\n registration?: UseFormRegisterReturn;\n disabled?: boolean;\n};\n\nexport const Checkbox = ({\n key = \"\",\n label,\n registration,\n disabled,\n}: CheckboxProps) => (\n <div>\n <div className=\"relative flex items-start\">\n <div className=\"flex h-5 items-center\">\n <input\n {...registration}\n id={registration ? registration.name : key}\n disabled={disabled}\n type=\"checkbox\"\n className={clsx(\n \"disabled:hover:bg-neutral-100 disabled:cursor-default cursor-pointer h-[16px] w-[16px] rounded-[2.5px] border border-neutral-200 text-blue-500 focus:rounded-[4px] focus:border-[1.5px] focus:ring-blue-500 focus-visible:ring-blue-500 checked:after:text-blue-500 disabled:bg-neutral-100\"\n )}\n />\n </div>\n <div className=\"ml-3 text-sm\">\n <label\n htmlFor={registration?.name}\n className=\"cursor-pointer font-medium text-gray-700\"\n >\n {label}\n </label>\n </div>\n </div>\n </div>\n);\n","/* eslint-disable no-useless-computed-key */\nimport React from \"react\";\nimport { useEffect, useState, JSX } from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\nimport { Popover, PopoverButton, PopoverPanel } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { Float } from \"@headlessui-float/react\";\nimport { Button } from \"../Button\";\nimport { format } from \"date-fns\";\nimport {\n set,\n sub,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subYears,\n} from \"date-fns\";\nimport { DatePicker3, DateRangePicker3 } from \"@blueprintjs/datetime2\";\n\ninterface Props {\n icon?: JSX.Element;\n label?: string;\n onApply?: () => void;\n onClear?: () => void;\n control: Control;\n name: string;\n rangeCalendar?: boolean;\n defaultShortcut?: number | null;\n shortcutsChange?: (e) => void;\n singleMonth?: boolean;\n maxDate?: Date | undefined;\n}\n\nexport const FilterCalendar = ({\n icon,\n label,\n onApply,\n onClear,\n control,\n name,\n rangeCalendar = true,\n defaultShortcut,\n shortcutsChange,\n singleMonth = false,\n maxDate = undefined,\n}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-white hover:bg-neutral-100 border border-[0.5px] border-neutral-300 active:text-blue-500 active:bg-blue-100 active:border-blue-500\",\n filterOpen:\n \"rounded-3xl shadow-input border border-blue-500 bg-blue-100 text-blue-500\",\n filterActive:\n \"rounded-3xl border border-blue-500 text-blue-500 bg-blue-100 shadow-input hover:bg-blue-500 hover:text-white active:text-white active:bg-blue-600 active:border-blue-600\",\n };\n\n const [currentValue, setCurrentValue] = useState<any>([]);\n const [calendarLabel, setCalendarLabel] = useState(\"\");\n\n const isMobileSize = window?.innerWidth < 768;\n\n const shorcuts: any = [\n {\n label: \"Todo o período\",\n dateRange: [],\n },\n {\n label: \"Hoje\",\n dateRange: [\n set(new Date(), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Ontem\",\n dateRange: [\n set(sub(new Date(), { days: 1 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(sub(new Date(), { days: 1 }), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 7 dias\",\n dateRange: [\n set(sub(new Date(), { days: 7 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 14 dias\",\n dateRange: [\n set(sub(new Date(), { days: 14 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 30 dias\",\n dateRange: [\n set(sub(new Date(), { days: 30 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 60 dias\",\n dateRange: [\n set(sub(new Date(), { days: 60 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 90 dias\",\n dateRange: [\n set(sub(new Date(), { days: 90 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Esta semana\",\n dateRange: [\n startOfWeek(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Semana passada\",\n dateRange: [\n startOfWeek(sub(new Date(), { days: 7 })),\n endOfWeek(sub(new Date(), { days: 7 })),\n ],\n },\n {\n label: \"Este Mês\",\n dateRange: [\n startOfMonth(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Mês passado\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 1 })),\n endOfMonth(sub(new Date(), { months: 1 })),\n ],\n },\n {\n label: \"Últimos 6 meses\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 6 })),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ,\n ],\n },\n ];\n const [selectedShortcut, setSelectedShortcut] = useState(\n defaultShortcut || shorcuts[0],\n );\n\n const calendar = (\n <div id=\"group-input-calendar\" className=\"relative\">\n {rangeCalendar ? (\n <DateRangePicker3\n allowSingleDayRange\n shortcuts={shorcuts}\n selectedShortcutIndex={selectedShortcut}\n onChange={(e) => {\n let date = [];\n if (e[0] && e[0] !== null) {\n date.push(\n set(e[0] as never, {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }) as never,\n );\n }\n\n if (e[1] && e[1] !== null) {\n date.push(\n set(e[1] as never, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }) as never,\n );\n }\n\n if (e[0] !== null && e[1] == null) {\n setCalendarLabel(\"\");\n\n if (setSelectedShortcut) setSelectedShortcut(null);\n }\n setCalendarLabel(\"\");\n setCurrentValue(date);\n }}\n singleMonthOnly={singleMonth}\n value={currentValue}\n highlightCurrentDay={true}\n minDate={subYears(new Date(), 50)}\n maxDate={maxDate}\n locale=\"pt-BR\"\n onShortcutChange={(e) => {\n const index = shorcuts.findIndex((item) => item.label === e.label);\n if (index !== -1 && setSelectedShortcut) {\n setSelectedShortcut(index);\n }\n setCalendarLabel(e?.label);\n }}\n />\n ) : (\n <DatePicker3\n onChange={(e) => {\n setCurrentValue(e);\n }}\n value={currentValue}\n highlightCurrentDay={true}\n locale=\"pt-BR\"\n />\n )}\n </div>\n );\n return (\n <Controller\n name={name}\n control={control}\n render={({ field }) => {\n let hasValue = field?.value?.length > 0;\n return (\n <Popover\n className={clsx(\n { [\"w-full\"]: isMobileSize },\n \"relative text-paragraph\",\n )}\n >\n {({ open }) => (\n <Float composable shift={8} zIndex={99} offset={2}>\n <Float.Reference>\n <PopoverButton as=\"button\">\n <div\n className={clsx(\n {\n [style.filter]: !hasValue && !open,\n [style.filterOpen]: open && !hasValue,\n [style.filterActive]:\n (open && hasValue) || (!open && hasValue),\n },\n `group px-3 h-[36px] text-p-ls font-bold disabled:shadow-none active:shadow-none flex items-center justify-between outline-none gap-2`,\n )}\n >\n {icon && (\n <div\n className={clsx({\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white group-active:text-white\"]:\n open && field.value,\n })}\n >\n {icon}\n </div>\n )}\n <label\n className={clsx(\n {\n [\"text-paragraph group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white group-active:text-white\"]:\n open && field.value,\n },\n \"truncate cursor-pointer\",\n )}\n >\n {calendarLabel\n ? calendarLabel\n : field?.value?.length > 0\n ? field?.value\n ?.map((item) =>\n item !== null\n ? format(item, \"dd/MM/yyyy\")\n : \"\",\n )\n .join(\" - \")\n : label}\n </label>\n\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white group-active:text-white\"]:\n open && field.value,\n },\n \"uil uil-angle-down text-[18px]\",\n )}\n ></i>\n </div>\n </PopoverButton>\n </Float.Reference>\n {(open as any) && (\n <Float.Content>\n <PopoverPanel className=\"p-3 whitespace-nowrap bg-white rounded-lg shadow-dropdown border-[0.5px] border-neutral-300\">\n {({ close }) => {\n const onClose = () => {\n setCurrentValue(field.value);\n close();\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setCurrentValue(field.value);\n }, [open]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n {calendar}\n <div className=\"flex gap-2 items-center justify-end border-t border-t-neutral-200 pt-3\">\n {onClear && (\n <div className=\"mr-1\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n if (onClear) {\n onClear();\n setCurrentValue([]);\n field.onChange([]);\n }\n close();\n }}\n >\n Limpar\n </Button>\n </div>\n )}\n <Button\n size=\"xs\"\n variant=\"secondary\"\n onClick={() => {\n onClose();\n }}\n >\n Cancelar\n </Button>\n <Button\n size=\"xs\"\n variant=\"primary\"\n disabled={\n JSON.stringify(currentValue) ===\n JSON.stringify(field?.value)\n }\n onClick={() => {\n field.onChange(currentValue);\n if (onApply) onApply();\n close();\n }}\n >\n Aplicar\n </Button>\n </div>\n </div>\n );\n }}\n </PopoverPanel>\n </Float.Content>\n )}\n </Float>\n )}\n </Popover>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n useRef,\n JSX,\n} from \"react\";\nimport { UseFormRegisterReturn } from \"react-hook-form\";\nimport clsx from \"clsx\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: any;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n searchOnClick?: () => void;\n onClear?: () => void;\n collapsed?: boolean;\n};\n\nexport default function InputSmall({\n type,\n registration,\n onClick,\n onBlur,\n onChange,\n inputProps,\n icon,\n clearField,\n disabled,\n placeholder,\n className,\n onKeyDown,\n value,\n searchOnClick,\n onClear,\n collapsed,\n}: InputFieldProps) {\n const inputRef = useRef(null);\n\n const styles = {\n input: `text-p-md text-paragraph w-full outline-none placeholder:text-label`,\n icon: \"text-label group-focus-within:text-neutral-600 m-[10px]\",\n wrapper: `shadow-input border border-neutral-300 focus-within:border-blue-500 group rounded-lg h-9 w-full text-paragraph flex items-center justify-between disabled:bg-neutral-100 ${\n disabled ? \"bg-neutral-100\" : \"bg-white\"\n } ${className}`,\n clear: \"pr-[5px] cursor-pointer text-label text-[16px]\",\n };\n\n const elem = inputRef?.current as any;\n return (\n <div className={clsx(styles.wrapper)}>\n {icon && !searchOnClick && (\n <div className={clsx(styles.icon)}>{icon}</div>\n )}\n <input\n {...registration}\n {...inputProps}\n type=\"search-text\"\n ref={inputRef}\n className={clsx(\n {\n [\"pl-1\"]: collapsed,\n },\n styles.input\n )}\n placeholder={placeholder}\n onBlur={onBlur}\n onChange={(e) => onChange(e.target.value)}\n onClick={onClick}\n disabled={disabled}\n onKeyDown={onKeyDown}\n />\n {clearField && value && !disabled && (\n <i\n className={clsx(styles.clear, \"uil uil-times\")}\n onClick={() => {\n elem.value = \"\";\n elem?.focus();\n onChange(\"\");\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n {searchOnClick && (\n <div className=\"py-1\">\n <button\n type=\"button\"\n className={clsx({\n [\"border-l border-input pl-1\"]: clearField && value && !disabled,\n [\"text-blue-500\"]: !disabled,\n [\"text-neutral-300\"]: disabled,\n [\"pl-[2px]\"]: collapsed,\n })}\n onClick={searchOnClick}\n >\n <i className=\"uil uil-search text-[16px] mr-2 pl-1\"></i>\n </button>\n </div>\n )}\n </div>\n );\n}\n","/* eslint-disable no-useless-computed-key */\nimport React from \"react\";\nimport { Fragment, Key, useEffect, useState, JSX } from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\nimport {\n Listbox,\n ListboxOption,\n ListboxOptions,\n Popover,\n PopoverButton,\n PopoverPanel,\n} from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { Float } from \"@headlessui-float/react\";\nimport { Button } from \"../Button\";\nimport InputSmall from \"../InputSmall/InputSmall\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\n\ninterface Options {\n id: any;\n label: any;\n description?: any;\n disabled?: boolean;\n icon?: JSX.Element;\n}\n\ninterface Props {\n icon?: JSX.Element;\n label?: string;\n isMulti?: boolean;\n options: Options[];\n onApply?: () => void;\n onClear?: () => void;\n onSelectAll?: () => void;\n control: Control;\n name: string;\n fetch?: (value: string | number, button: string) => Promise<Options[]>;\n subFilters?: {\n id: string | any;\n name: string;\n }[];\n emptyMessage?: string;\n initialMessage?: string;\n applyOnClick?: boolean;\n showFilter?: boolean;\n renderOption?: (option: Options, isSelected: boolean) => JSX.Element;\n}\n\nexport const FilterOptions = ({\n icon,\n label,\n isMulti,\n options = [],\n onApply,\n onClear,\n onSelectAll,\n control,\n name,\n fetch,\n subFilters = [],\n emptyMessage,\n initialMessage,\n applyOnClick = false,\n showFilter = false,\n renderOption,\n}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-white hover:bg-neutral-100 border border-[0.5px] border-neutral-300 active:text-blue-500 active:bg-blue-100 active:border-blue-500\",\n filterOpen:\n \"rounded-3xl shadow-input border border-blue-500 bg-blue-100 text-blue-500\",\n filterActive:\n \"rounded-3xl border border-blue-500 text-blue-500 bg-blue-100 shadow-input hover:bg-blue-500 hover:text-white active:text-white active:bg-blue-600 active:border-blue-600\",\n };\n\n const [currentValue, setCurrentValue] = useState<any>(isMulti ? [] : {});\n const [data, setData] = useState(() => options);\n const [filter, setFilter] = useState(\"\");\n const [subFilter, setSubFilter] = useState(\n subFilters?.length > 0 ? subFilters[0].id : null,\n );\n const [loading, setLoading] = useState(false);\n\n const search = async () => {\n if (filter?.length > 0 || options?.length > 0) {\n if (fetch) {\n setData(await fetch(filter, subFilter));\n } else {\n const result = options.filter((opt) =>\n opt?.label?.toLowerCase().includes(filter.toLowerCase()),\n );\n const order = result.sort((a, b) => a?.label?.toLowerCase());\n setData(order);\n }\n } else {\n setData([]);\n }\n setLoading(false);\n };\n\n useEffect(() => {\n setLoading(true);\n const timeout = setTimeout(() => {\n search();\n }, 400);\n\n return () => clearTimeout(timeout);\n }, [filter]);\n\n const optionStyle = (option, isSelected) => {\n return (\n <ListboxOption\n disabled={option.disabled}\n key={option.id as Key}\n value={option}\n as={Fragment}\n >\n {renderOption ? (\n <div\n className={clsx(\n \"relative cursor-pointer outline-none select-none p-3 rounded-lg pr-9 text-paragraph mt-1 first:mt-0 overflow-hidden w-full\",\n {\n [\"hover:bg-neutral-200\"]: !option.disabled && !isSelected,\n [\"text-gray-200\"]: option.disabled,\n [\"bg-blue-500 hover:bg-blue-500\"]: isSelected,\n },\n )}\n >\n {renderOption(option, isSelected)}\n </div>\n ) : (\n <div\n className={clsx(\n \"relative cursor-pointer outline-none select-none p-3 rounded-lg pr-9 text-paragraph mt-1 first:mt-0 overflow-hidden w-full\",\n {\n [\"hover:bg-neutral-200\"]: !option.disabled && !isSelected,\n [\"text-gray-200\"]: option.disabled,\n [\"bg-blue-500 hover:bg-blue-500\"]: isSelected,\n },\n )}\n >\n <span\n className={clsx(\n {\n [\"font-semibold text-white\"]: isSelected,\n },\n \"text-wrap break-words font-normal block\",\n )}\n >\n {option?.label}\n </span>\n <span\n className={clsx(\n {\n [\"font-semibold text-white\"]: isSelected,\n },\n \"w-[200px] whitespace-nowrap text-ellipsis overflow-hidden text-label text-p-sm block\",\n )}\n >\n {option?.description}\n </span>\n </div>\n )}\n </ListboxOption>\n );\n };\n const isMobileSize = window?.innerWidth < 768;\n\n return (\n <Controller\n name={name}\n control={control}\n render={({ field }) => {\n let hasValue = isMulti ? field?.value?.length > 0 : !!field?.value?.id;\n return (\n <Popover\n className={clsx(\n { [\"w-full\"]: isMobileSize },\n \"relative text-paragraph\",\n )}\n >\n {({ open }) => (\n <Float composable shift={8} zIndex={99} offset={2}>\n <Float.Reference>\n <PopoverButton as=\"button\">\n <div\n className={clsx(\n {\n [style.filter]: !hasValue && !open,\n [style.filterOpen]: open && !hasValue,\n [style.filterActive]:\n (open && hasValue) || (!open && hasValue),\n },\n `group px-3 h-[36px] text-p-ls font-bold disabled:shadow-none active:shadow-none flex items-center justify-between outline-none gap-2`,\n )}\n >\n {icon && (\n <div\n className={clsx({\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white\"]:\n open && field.value,\n })}\n >\n {icon}\n </div>\n )}\n\n <label\n className={clsx(\n {\n [\"text-paragraph group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white\"]:\n open && field.value,\n },\n \"truncate cursor-pointer\",\n )}\n >\n {isMulti\n ? label\n : field?.value?.id\n ? field?.value?.label\n : label}\n </label>\n {isMulti && field.value && field.value.length > 0 && (\n <div className=\"bg-blue-500 text-white text-p-xs px-1 py-[2px] rounded group-hover:bg-blue-500\">\n {field.value.length}\n </div>\n )}\n {open ? (\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white\"]:\n open && field.value,\n },\n \"uil uil-angle-up text-[18px]\",\n )}\n ></i>\n ) : (\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-white\"]:\n open && field.value,\n },\n \"uil uil-angle-down text-[18px]\",\n )}\n ></i>\n )}\n </div>\n </PopoverButton>\n </Float.Reference>\n {(open as any) && (\n <Float.Content>\n <PopoverPanel className=\"p-3 whitespace-nowrap bg-white rounded-lg shadow-dropdown border-[0.5px] border-neutral-300\">\n {({ close }) => {\n const onClose = () => {\n setCurrentValue(field.value);\n close();\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setCurrentValue(field.value);\n }, [open]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Listbox\n value={currentValue || []}\n onChange={setCurrentValue}\n multiple={isMulti}\n >\n <ListboxOptions\n static\n className={clsx(\n \"max-h-60 w-full overflow-x-hidden overflow-y-auto bg-white text-p-md focus:outline-none sm:text-sm relative\",\n {\n \"pr-2\": options.some(\n (option) => option.description,\n )\n ? options.length > 3\n : options.length > 4,\n },\n )}\n >\n <div className=\"mr-1 sticky top-0 z-30\">\n {showFilter && (\n <InputSmall\n icon={<i className=\"uil uil-search\"></i>}\n onChange={(e: any) => setFilter(e)}\n value={filter}\n placeholder=\"Pesquisar\"\n clearField\n onKeyDown={(e) => {\n if (\n e.key === \" \" ||\n e.code === \"Space\"\n ) {\n e.stopPropagation();\n }\n }}\n />\n )}\n {subFilters && fetch && (\n <div className=\"flex items-center gap-2 pt-2 bg-white\">\n {subFilters.map((item, index) => {\n const active = item?.id === subFilter;\n return (\n <button\n key={index}\n className={clsx(\n {\n [\"bg-blue-500 text-white\"]:\n active,\n [\"text-paragraph\"]: !active,\n },\n `rounded-[20px] border-[0.5px] border-neutral-200 px-4 py-[6px]`,\n )}\n onClick={() => {\n if (subFilter == item.id) {\n setSubFilter(null);\n } else {\n setSubFilter(item.id);\n }\n }}\n >\n {item.name}\n </button>\n );\n })}\n </div>\n )}\n </div>\n {loading && (\n <div className=\"flex items-center justify-center gap-2 w-full my-4\">\n <SpinnerIcon className=\"animate-spin w-[16px] h-[16px]\" />\n Carregando\n </div>\n )}\n {data?.length === 0 &&\n filter?.length > 0 &&\n !loading && (\n <div className=\"py-4\">\n <span className=\"text-label text-p-md\">\n {emptyMessage}\n </span>\n </div>\n )}\n {initialMessage &&\n data?.length === 0 &&\n filter?.length === 0 &&\n !loading &&\n options?.length === 0 &&\n !currentValue?.id && (\n <div className=\"py-4\">\n <span className=\"text-label text-p-md\">\n {initialMessage}\n </span>\n </div>\n )}\n {initialMessage &&\n currentValue &&\n currentValue?.id &&\n filter?.length === 0 && (\n <div className=\"py-2\">\n {isMulti ? (\n <>\n {currentValue?.map((option) => {\n let isSelected = isMulti\n ? currentValue &&\n currentValue?.length > 0 &&\n currentValue?.some(\n (e) => e.id === option.id,\n )\n : currentValue &&\n currentValue?.id === option.id;\n return optionStyle(\n options,\n isSelected,\n );\n })}\n </>\n ) : (\n optionStyle(field.value, true)\n )}\n </div>\n )}\n {!loading &&\n data?.map((option) => {\n let isSelected = isMulti\n ? currentValue &&\n currentValue.length > 0 &&\n currentValue.some(\n (e) => e.id === option.id,\n )\n : currentValue &&\n currentValue.id === option.id;\n return optionStyle(option, isSelected);\n })}\n </ListboxOptions>\n </Listbox>\n {!applyOnClick && (\n <div className=\"flex gap-2 items-center justify-end border-t border-t-neutral-200 pt-3\">\n {isMulti && onSelectAll && (\n <div className=\"border-r pr-2 border-neutral-300\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n onSelectAll();\n field.onChange(options);\n setCurrentValue(options);\n close();\n }}\n >\n Marcar todos\n </Button>\n </div>\n )}\n {onClear && (\n <div className=\"mr-1\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n if (onClear) {\n onClear();\n setCurrentValue([]);\n field.onChange([]);\n }\n close();\n }}\n >\n Limpar\n </Button>\n </div>\n )}\n <Button\n size=\"xs\"\n variant=\"secondary\"\n onClick={() => {\n onClose();\n }}\n >\n Cancelar\n </Button>\n <Button\n size=\"xs\"\n variant=\"primary\"\n disabled={\n JSON.stringify(currentValue) ===\n JSON.stringify(field?.value)\n }\n onClick={() => {\n field.onChange(currentValue);\n if (onApply) onApply();\n close();\n }}\n >\n Aplicar\n </Button>\n </div>\n )}\n </div>\n );\n }}\n </PopoverPanel>\n </Float.Content>\n )}\n </Float>\n )}\n </Popover>\n );\n }}\n />\n );\n};\n","// Wrapper to ensure proper import of react-intl-currency-input\n// This handles both ESM and CommonJS interoperability\nimport IntlCurrencyInputRaw from 'react-intl-currency-input';\n\n// @ts-ignore - Handle both default and named exports\nconst IntlCurrencyInput = (IntlCurrencyInputRaw.default || IntlCurrencyInputRaw) as typeof IntlCurrencyInputRaw;\n\nexport default IntlCurrencyInput;\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n} from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport IntlCurrencyInput from \"../utils/intl-currency-input\";\ntype InputMoneyProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n control: Control<any> | any;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>> | any;\n onBlur?: (value: any) => void;\n onChangeValue?: (e: any) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n isWeightField?: boolean;\n minFractionDigits?: number;\n};\n\nexport function InputMoney({\n label,\n type,\n onClick,\n error,\n onBlur,\n onChangeValue,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n control,\n defaultValue,\n isWeightField,\n minFractionDigits = 2,\n}: InputMoneyProps) {\n const numberConfig = isWeightField\n ? {\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n useGrouping: false,\n }\n : {\n style: \"currency\",\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n };\n const currencyConfig: any = {\n locale: \"pt-BR\",\n formats: {\n number: {\n BRL: numberConfig,\n },\n },\n };\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1px] w-[38px] rounded-l-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button: \"border-[0.5px] border-neutral-300 rounded shadow-input\",\n };\n\n return (\n <Controller\n control={control}\n name={name as string}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleChange = (event: any, value: any, maskedValue: any) => {\n event.preventDefault();\n field.onChange(value);\n if (onChangeValue) {\n onChangeValue(value);\n }\n };\n\n if (typeof field.value === \"string\") field.value = Number(field.value);\n\n return (\n <div>\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <IntlCurrencyInput\n {...inputProps}\n {...field}\n type=\"text\"\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[46px]\"]: (!label && placeholder && icon) || icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onClick={onClick}\n disabled={disabled}\n currency=\"BRL\"\n config={currencyConfig}\n onChange={handleChange}\n onBlur={() => {\n if (onBlur) {\n onBlur(field.value);\n }\n }}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[46px]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n // onClick={() => ref?.current.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputMoney.displayName = \"InputMoney\";\n","// Wrapper to ensure proper import of lodash debounce\n// This handles both ESM and CommonJS interoperability\n// Using full lodash import to avoid Windows path resolution issues with lodash/debounce\nimport * as lodashNamespace from 'lodash';\n\n// @ts-ignore - Handle both default and named exports\nconst lodash = (lodashNamespace.default || lodashNamespace) as any;\nconst debounce = lodash.debounce;\n\nexport default debounce;\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n useMemo,\n useState,\n JSX,\n} from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport _debounce from \"../utils/debounce\";\n\ntype InputNumberProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n control: Control<any>;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n onBlur?: any;\n onChangeValue?: (e) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n hideArrows?: boolean;\n onlyNumbers?: boolean;\n showZero?: boolean;\n maxValue?: number;\n};\n\nexport function InputNumber({\n label,\n type,\n onClick,\n error,\n onBlur,\n onChangeValue,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n control,\n defaultValue,\n hideArrows = false,\n maxLength,\n onlyNumbers,\n showZero,\n maxValue,\n}: InputNumberProps) {\n const input = name ? document?.getElementById(name) : null;\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[2px] left-[1.5px] w-[38px] rounded-l-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button:\n \"border-[0.5px] border-neutral-300 rounded shadow-input h-4 w-4 flex items-center justify-center\",\n };\n const [debouncedCount, setDebouncedCount] = useState(0);\n const save = () => {\n if (onBlur) {\n onBlur(value);\n }\n };\n\n const updateCount = useMemo(() => {\n return _debounce(() => {\n save();\n }, 1000);\n }, []);\n\n return (\n <Controller\n control={control}\n name={name as any}\n defaultValue={defaultValue}\n render={({ field: { onChange, value } }) => {\n const update = (value) => {\n updateCount();\n setDebouncedCount(value);\n };\n\n const changeValue = (value) => {\n onChange(value);\n if (onChangeValue) {\n const val = {\n ...value,\n target: {\n ...value.target,\n value: value.target.value.replace(/^0+/, \"\"),\n },\n };\n onChangeValue(val);\n }\n update(debouncedCount + 1);\n };\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <input\n type=\"number\"\n autoComplete=\"off\"\n id={name}\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[57px]\"]: !label && placeholder && icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onKeyDown={(e) => {\n if (\n e.code === \"ArrowUp\" ||\n e.code === \"ArrowDown\" ||\n e.code === \"Enter\" ||\n e.key === \"+\" ||\n e.key === \"-\" ||\n (e.key === \"e\" && !onlyNumbers)\n ) {\n e.preventDefault();\n }\n if (\n onlyNumbers &&\n ![\n \"Digit1\",\n \"Digit2\",\n \"Digit3\",\n \"Digit4\",\n \"Digit5\",\n \"Digit6\",\n \"Digit7\",\n \"Digit8\",\n \"Digit9\",\n \"Digit0\",\n \"Backspace\",\n ].includes(e.code)\n ) {\n e.preventDefault();\n }\n }}\n onClick={onClick}\n disabled={disabled}\n value={\n showZero ? String(value) : String(value).replace(/^0+/, \"\")\n }\n onChange={(e: any) => {\n let value = maxLength\n ? {\n ...e,\n target: {\n ...e.target,\n value: e.target.value.slice(0, maxLength),\n },\n }\n : e;\n\n if (\n !maxValue ||\n (maxValue && Number(e.target.value) <= maxValue)\n ) {\n changeValue(value);\n } else {\n }\n }}\n defaultValue={value}\n onBlur={(evt) => {\n if (onBlur) onBlur(evt.target.value);\n }}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3.5rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n onClick={() => input?.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n {!hideArrows && (\n <div className={clsx([styles.buttonsWrapper])}>\n <button\n type=\"button\"\n className={clsx([styles.button])}\n disabled={disabled}\n onClick={() => {\n if (\n !maxValue ||\n (maxValue && Number(value || 0) + 1 <= maxValue)\n ) {\n changeValue(String(Number(value || 0) + 1));\n }\n }}\n >\n <i className=\"uil uil-angle-up text-[12px] text-neutral-600\"></i>\n </button>\n <button\n type=\"button\"\n className={clsx([styles.button])}\n disabled={disabled}\n onClick={() => {\n if (\n !maxValue ||\n (maxValue &&\n Number(value === 0 ? 0 : Number(value) - 1) <=\n maxValue)\n ) {\n changeValue(\n value === 0 ? 0 : String(Number(value) - 1),\n );\n }\n }}\n >\n <i className=\"uil uil-angle-down text-[12px] text-neutral-600\"></i>\n </button>\n </div>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-500 text-p-xs left-[4px] -bottom-[18px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputNumber.displayName = \"InputNumber\";\n","import { DetailedHTMLProps, InputHTMLAttributes, JSX } from \"react\";\nimport { Controller, Control, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport IntlCurrencyInput from \"../utils/intl-currency-input\";\n\ntype InputPercentageProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n control: Control<any>;\n onClick?: any;\n error?: FieldError;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n maskChar?: string;\n minFractionDigits?: number;\n onChangeValue?: (e) => void;\n};\nexport function InputPercentage({\n label,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n placeholder,\n control,\n defaultValue,\n minFractionDigits = 2,\n onChangeValue,\n maxLength,\n}: InputPercentageProps) {\n const config = {\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n useGrouping: false,\n };\n const currencyConfig: any = {\n locale: \"pt-BR\",\n formats: {\n number: {\n BRL: config,\n },\n },\n };\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] text-[22px] rounded-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button: \"border-[0.5px] border-neutral-300 rounded shadow-input\",\n };\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <Controller\n control={control}\n name={name as any}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleChange = (event, value, maskedValue) => {\n event.preventDefault();\n field.onChange(value.toString());\n if (onChangeValue) {\n onChangeValue(value.toString());\n }\n };\n\n if (typeof field.value === \"string\") field.value = Number(field.value);\n\n return (\n <div>\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <IntlCurrencyInput\n {...inputProps}\n {...field}\n type=\"text\"\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[3rem]\"]: icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onClick={onClick}\n disabled={disabled}\n currency=\"BRL\"\n config={currencyConfig}\n onChange={handleChange}\n max={maxLength}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n onClick={() => input?.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputPercentage.displayName = \"InputPercentage\";\n","import React from \"react\";\nimport { HTMLInputTypeAttribute, KeyboardEventHandler, useRef } from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport InputMask from \"react-input-mask\";\nimport {Input} from \"./Input\";\n\ntype MaskedInputProps = {\n label: string;\n placeholder?: string;\n type?: HTMLInputTypeAttribute;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n mask?: string;\n control: Control<any>;\n name: string;\n required?: boolean;\n onKeyUp?: KeyboardEventHandler<HTMLInputElement>;\n maskChar?: string;\n alwaysShowMask?: boolean;\n defaultValue?: any;\n disabled?: boolean;\n};\n\nexport const MaskedInput = ({\n type = \"text\",\n name,\n label,\n placeholder,\n error,\n mask,\n control,\n required,\n onKeyUp,\n maskChar = \"\",\n alwaysShowMask,\n defaultValue,\n disabled,\n}: MaskedInputProps) => {\n const ref = useRef(null);\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const beforeMaskedValueChange = (states: any) => {\n const { nextState, previousState } = states;\n var { value } = nextState;\n var selection = nextState.selection;\n var cursorPosition = selection ? selection.start : null;\n var chars = [\".\", \"-\", \"/\", \"(\", \")\", \" \"];\n var words = [...value];\n\n if (chars.includes(words[words.length - 1])) {\n if (cursorPosition === value.length) {\n cursorPosition--;\n selection = {\n start: cursorPosition,\n end: cursorPosition,\n };\n }\n value = value.slice(0, -1);\n }\n\n return {\n value,\n selection,\n };\n };\n\n return (\n <InputMask\n {...field}\n onKeyUp={onKeyUp}\n disabled={disabled}\n mask={mask}\n value={field.value || \"\"}\n onChange={field.onChange}\n maskChar={maskChar}\n alwaysShowMask={alwaysShowMask}\n beforeMaskedStateChange={beforeMaskedValueChange}\n >\n {(inputProps: any) => (\n <Input\n onKeyUp={onKeyUp}\n type={type}\n label={label}\n placeholder={placeholder}\n required={required}\n inputProps={inputProps}\n error={error}\n name={name}\n disabled={disabled}\n ref={ref}\n />\n )}\n </InputMask>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { JSX, ReactNode, cloneElement } from \"react\";\nimport Modal from \"react-modal\";\nimport { Button } from \"./Button\";\n\nexport type ModalProps = {\n open?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n onCancel?: () => void;\n triggerButton?: React.ReactElement;\n confirmButton?: React.ReactElement;\n title?: string | React.ReactElement;\n cancelButton?: React.ReactElement;\n icon?: JSX.Element;\n alertType?: keyof typeof alertTypes;\n size?: keyof typeof sizes;\n info?: React.ReactElement;\n description?: string;\n children?: ReactNode;\n showHeader?: boolean;\n showFooter?: boolean;\n closeOnOverlayClick?: boolean;\n};\n\nconst alertTypes = {\n success: \"text-success-500\",\n error: \"text-dangerous-500\",\n warning: \"text-warning-500\",\n info: \"text-blue-500\",\n primary: \"text-rose-700\",\n};\n\nconst sizes = {\n xs: \"w-[350px]\",\n xsm: \"w-[470px]\",\n sm: \"w-[662px]\",\n md: \"w-[960px]\",\n lg: \"w-[80%] min-w-[800px]\",\n null: \"\",\n};\n\nexport const ModalDialog = ({\n open,\n onOpen = () => { },\n onClose,\n onCancel,\n triggerButton,\n confirmButton,\n title,\n cancelButton,\n icon,\n alertType,\n size = \"sm\",\n info,\n description,\n children,\n showFooter = true,\n showHeader = true,\n closeOnOverlayClick = true,\n}: ModalProps) => {\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n border: \"1px solid #E8E8E9\",\n padding: \"20px 24px 24px 24px\",\n borderRadius: \"8px\",\n overflow: \"initial\",\n },\n overlay: {\n backgroundColor: \"rgb(107,114,128,0.50)\",\n zIndex: 9999,\n },\n };\n const trigger = triggerButton\n ? cloneElement(triggerButton as any, {\n onClick: () => {\n onOpen();\n },\n })\n : null;\n return (\n <div>\n {trigger}\n <Modal\n ariaHideApp={false}\n isOpen={open}\n onRequestClose={closeOnOverlayClick ? onClose || onCancel : undefined}\n shouldCloseOnOverlayClick={closeOnOverlayClick}\n shouldCloseOnEsc={closeOnOverlayClick}\n style={customStyles}\n contentLabel=\"Example Modal\"\n >\n <div className={clsx(sizes[size])}>\n {showHeader && (\n <div className=\"pb-[6px] border-b border-b-neutral-200 flex items-center justify-between\">\n <h3 className=\"text-[24px] font-bold flex items-center gap-2\">\n {alertType && (\n <div className={clsx([alertTypes[alertType]], \"text-[30px]\")}>\n {icon}\n </div>\n )}\n {title}\n </h3>\n <Button\n onClick={onCancel}\n variant=\"ghost\"\n size=\"xs\"\n icon={<i className=\"uil uil-times\"></i>}\n />\n </div>\n )}\n <div>{children}</div>\n {showFooter && (\n <div className=\"pt-6 flex w-full items-center justify-between\">\n <div\n className={clsx({\n [\"flex-1\"]: info,\n })}\n >\n {info}\n </div>\n <div className=\"flex flex-col-reverse md:flex-row gap-3 items-center md:justify-end w-full md:w-auto\">\n {cancelButton || (\n <Button\n onClick={() => {\n if (onCancel) {\n onCancel();\n }\n }}\n variant=\"secondary\"\n size=\"md\"\n >\n Cancelar\n </Button>\n )}\n {confirmButton}\n </div>\n </div>\n )}\n </div>\n </Modal>\n </div>\n );\n};\n","import React from \"react\";\nimport { Tooltip } from \"react-tooltip\";\ninterface Props {\n id: string;\n displayArrow?: boolean;\n openOnClick?: boolean;\n}\n\nexport const Popover = ({\n id,\n displayArrow = true,\n openOnClick = false,\n}: Props) => {\n const style = {\n noArrow: \"hidden\",\n };\n\n return (\n <>\n <Tooltip\n id={id}\n className=\"absolute bg-neutral-700 text-sm text-neutral-100 py-2 px-4 max-w-[430px] break-words whitespace-normal\"\n classNameArrow={!displayArrow ? style.noArrow : \"\"}\n openOnClick={openOnClick}\n delayHide={0}\n delayShow={0}\n />\n </>\n );\n};\n","export const customStyles = {\n indicatorSeparator: (provided: any, props: any) => {\n return {\n ...provided,\n backgroundColor:\n props.hasValue && provided?.selectProps?.isSearchable\n ? \"var(--input)\"\n : \"transparent\",\n };\n },\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n transform: state?.selectProps?.menuIsOpen ? \"rotate(180deg)\" : \"rotate(0)\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n input: (provided: any, state: any) => ({\n ...provided,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0px\",\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"8px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n background: \"white\",\n zIndex: 20,\n }),\n menuList: (provided: any) => ({\n ...provided,\n padding: \"8px\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0\",\n color:\n state.data.value === \"active\"\n ? \"#0EAF86\"\n : state.selectProps.hasError\n ? \"var(--dangerous-500)\"\n : \"black\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: state.selectProps.smallField ? \"30px\" : \"46px\",\n backgroundColor: state.isDisabled ? \"var(--light-100)\" : \"white\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 8px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color = state.isSelected\n ? \"white\"\n : state?.isDisabled\n ? \"var(--label)\"\n : \"var(--paragraph)\";\n\n // /* if(state.isSelected) {\n // color = 'rgba(0,0,0,0.03)';\n // } */\n\n return {\n ...provided,\n cursor: state.isDisabled ? \"auto\" : \"pointer\",\n pointerEvents: state.isDisabled ? \"none\" : \"\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n padding: \"12px\",\n backgroundColor: state.isSelected ? \"var(--blue-500)\" : \"white\",\n color,\n fontWeight: state.isSelected ? 700 : 400,\n \"&:hover\": {\n backgroundColor: state.isSelected\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"white\",\n fontWeight: 700,\n },\n \"&:active i\": {\n color: \"white\",\n fontWeight: 700,\n },\n \" i\": {\n color: \"white\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import React, { useRef, JSX } from \"react\";\nimport {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport { customStyles } from \"./Select.styles\";\nimport { useEffect, useState } from \"react\";\nimport { useFieldErrorsStore } from \"./../../stores/field-errors\";\n\nimport clsx from \"clsx\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\nexport type OptionType = {\n value: number | string;\n label: string;\n disabled?: boolean;\n};\n\ntype SelectFieldProps = {\n name: string;\n label?: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n onChange?: any;\n required?: boolean;\n isClearable?: boolean;\n filterOptions?: (value) => any;\n debounce?: number;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n optionsList?: any;\n disabled?: boolean;\n onChangeValue?: (value) => void;\n resize?: boolean;\n optionStyle?: (option: any, isSelected?: boolean) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n emptyMessage?: string;\n small?: boolean;\n initialMessage?: string;\n clearOnBlur?: boolean;\n onMenuClose?: () => void;\n clearOnMenuClose?: boolean;\n menuIsEverOpen?: boolean;\n showArrow?: boolean;\n};\n\nexport const SelectField = ({\n name,\n error,\n label,\n defaultValue,\n control,\n placeholder,\n isSearchable = false,\n isClearable = false,\n onChange,\n required,\n debounce = 0,\n filterOptions,\n optionsList,\n disabled,\n onChangeValue,\n resize = true,\n optionStyle,\n valueStyle,\n icon,\n emptyMessage,\n small = false,\n initialMessage,\n menuIsEverOpen = false,\n clearOnBlur = true,\n onMenuClose,\n clearOnMenuClose,\n showArrow = true,\n}: SelectFieldProps) => {\n const { Option, DropdownIndicator, ClearIndicator, SingleValue } = components;\n const selectRef = useRef(null);\n const [inputValue, setInputValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [options, setOptions] = useState(() => optionsList || []);\n const [cachedOptions, setCachedOptions] = useState([]);\n const [availableHeight, setAvailableHeight] = useState(300);\n const [isFocused, setIsFocused] = useState(false);\n useEffect(() => {\n const updateAvailableHeight = () => {\n if (selectRef?.current?.getBoundingClientRect) {\n const rect = selectRef?.current?.getBoundingClientRect();\n const bottomSpace = window.innerHeight - rect.bottom;\n const margin = bottomSpace - 24;\n setAvailableHeight(margin < 250 ? 276 : margin);\n }\n };\n updateAvailableHeight();\n window.addEventListener(\"resize\", updateAvailableHeight);\n return () => {\n window.removeEventListener(\"resize\", updateAvailableHeight);\n };\n }, [selectRef]);\n\n const loadOptions = async (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if ((debounce && inputValue.length >= debounce) || !debounce) {\n const result = await filterOptions(inputValue);\n setCachedOptions(result || []);\n setLoading(false);\n return result;\n }\n } else {\n setOptions(optionsList);\n }\n setLoading(false);\n return cachedOptions;\n };\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name]?.message,\n error?.message,\n ];\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const smallField = {\n smallField: small,\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const menuHeight = resize\n ? {\n menuHeight: availableHeight,\n }\n : null;\n const hasIcon = {\n hasIcon: icon,\n };\n\n useEffect(() => {\n setOptions(() => optionsList);\n }, [optionsList]);\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const CustomSingleValue = (props) => {\n return (\n <SingleValue {...props}>\n {valueStyle ? valueStyle(props?.data) : <>{props.data.label} </>}\n </SingleValue>\n );\n };\n\n const IconOption = (props) => {\n return (\n <Option {...props}>\n {optionStyle ? (\n optionStyle(props?.data, props.isSelected)\n ) : (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n )}\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <SpinnerIcon className=\"animate-spin\" width={16} height={16} />\n Buscando...\n </div>\n );\n } else if (debounce && inputValue.length < debounce) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n }\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (props.selectProps.inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && props.selectProps.inputValue.length < debounce)\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n } else if (\n initialMessage &&\n !debounce &&\n isSearchable &&\n props.selectProps.inputValue.length === 0\n ) {\n return <div className=\"p-2 text-neutral-300\">{initialMessage}</div>;\n } else if (\n ((props.selectProps.inputValue.length > 0 && isSearchable) ||\n !isSearchable ||\n (isSearchable && props?.options?.length == 0)) &&\n props?.options?.length == 0\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n {emptyMessage || \"Sem opções disponíveis\"}\n </div>\n );\n }\n };\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i\n className={`uil uil-angle-down text-[20px] ${\n small ? \"h-[20px] -mt-[7px]\" : \"h-full\"\n }`}\n />\n </DropdownIndicator>\n );\n };\n\n const ClearIndicatorCustom = (props: any) => {\n return (\n <ClearIndicator {...props}>\n <i className=\"uil uil-times text-[16px]\"></i>\n </ClearIndicator>\n );\n };\n const onChange = (value) => {\n field.onChange(value);\n if (onChangeValue) {\n onChangeValue(value);\n }\n };\n const handleKeyDown = async (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n\n const fetchedOptions = await loadOptions(event?.target?.value);\n\n if (fetchedOptions?.length > 0) {\n onChange(fetchedOptions[0]);\n }\n }\n };\n return (\n <div className=\"relative w-full\" id=\"select\" ref={selectRef}>\n {icon && (\n <div\n className={clsx(\n \"z-[70] absolute bg-neutral-100 top-[1px] left-[1px] rounded-l-lg flex justify-center items-center h-[44px] w-[38px] text-[22px] text-label\",\n {\n \"text-blue-500\": isFocused && hasIcon.hasIcon,\n \"text-red-500\": hasError.hasError && hasIcon.hasIcon,\n },\n )}\n >\n {icon}\n </div>\n )}\n <AsyncSelect\n onKeyDown={handleKeyDown}\n {...field}\n {...hasError}\n {...hasLabel}\n {...menuHeight}\n {...hasIcon}\n {...smallField}\n isDisabled={disabled}\n onFocus={() => setIsFocused(true)}\n onBlur={() => {\n setIsFocused(false);\n }}\n onMenuClose={() => {\n const shouldClear =\n typeof clearOnMenuClose !== \"undefined\"\n ? clearOnMenuClose\n : clearOnBlur;\n if (shouldClear) setInputValue(\"\");\n if (onMenuClose) onMenuClose();\n }}\n inputValue={inputValue}\n onInputChange={(val, meta) => {\n if (meta.action === \"input-change\") {\n setInputValue(val);\n } else if (\n meta.action === \"menu-close\" ||\n meta.action === \"input-blur\"\n ) {\n const shouldClear =\n typeof clearOnMenuClose !== \"undefined\"\n ? clearOnMenuClose\n : clearOnBlur;\n if (shouldClear) setInputValue(\"\");\n }\n }}\n menuIsOpen={menuIsEverOpen ? true : undefined}\n loadingMessage={() => <div>Carregando</div>}\n isLoading={loading}\n defaultOptions={\n menuIsEverOpen && cachedOptions.length > 0\n ? cachedOptions\n : debounce > 0\n ? false\n : optionsList\n ? options\n : true\n }\n loadOptions={loadOptions}\n name={field.name}\n isClearable={isClearable}\n styles={customStyles as any}\n placeholder={placeholder || \" \"}\n isSearchable={isSearchable}\n options={options}\n tabSelectsValue={true}\n components={{\n SingleValue: CustomSingleValue,\n ValueContainer,\n Option: IconOption,\n LoadingIndicator: () => <></>,\n LoadingMessage,\n NoOptionsMessage,\n DropdownIndicator: showArrow ? DropdownIndicatorCustom : null,\n ClearIndicator: ClearIndicatorCustom,\n }}\n closeMenuOnSelect\n isOptionDisabled={(option: any) => !!option?.disabled}\n hideSelectedOptions={false}\n onChange={onChange}\n />\n <span\n className={clsx(\n \"text-label text-sm left-2.5 cursor-pointer pointer-events-none absolute transition-all duration-200\",\n {\n \"scale-75 -translate-y-3\": field.value || inputValue,\n \"ml-[35px]\": hasIcon.hasIcon,\n \"ml-[2px]\": !hasIcon.hasIcon,\n \"top-2.5\": !(field.value || inputValue),\n \"top-0\": field.value || inputValue,\n },\n )}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700\"> *</strong>\n )}\n </span>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n style={{ color: \"var(--dangerous-700)\" }}\n className=\"text-xs ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n","export const customStyles = {\n indicatorSeparator: (provided: any, props: any) => {\n return {\n ...provided,\n backgroundColor:\n props.hasValue && provided?.selectProps?.isSearchable\n ? \"var(--input)\"\n : \"transparent\",\n padding: \"0px\",\n };\n },\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n transform: state?.selectProps?.menuIsOpen ? \"rotate(180deg)\" : \"rotate(0)\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n input: (provided: any, state: any) => ({\n ...provided,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0px\",\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n background: \"white\",\n zIndex: 60,\n }),\n menuList: (provided: any) => ({\n ...provided,\n padding: \"0px 8px\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0\",\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"black\",\n display: \"flex\",\n }),\n placeholder: (provided: any, state: any) => ({\n ...provided,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: \"46px\",\n backgroundColor: state.isDisabled ? \"var(--light-100)\" : \"white\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--light-100)\",\n padding: \"0px 8px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-700)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color = state.isSelected\n ? \"white\"\n : state?.isDisabled\n ? \"var(--label)\"\n : \"var(--paragraph)\";\n\n /* if(state.isSelected) {\n color = 'rgba(0,0,0,0.03)';\n } */\n\n return {\n ...provided,\n cursor: state.isDisabled ? \"auto\" : \"pointer\",\n pointerEvents: state.isDisabled ? \"none\" : \"\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n padding: \"10px 12px\",\n backgroundColor: state.isSelected ? \"var(--blue-700)\" : \"white\",\n color,\n fontWeight: state.isSelected ? 700 : 400,\n \"&:hover\": {\n backgroundColor: state.isSelected\n ? \"var(--blue-700)\"\n : \"var(--light-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-700)\",\n color: \"white !important\",\n fontWeight: 700,\n },\n \"&:active i\": {\n color: \"white !important\",\n fontWeight: 700,\n },\n \" i\": {\n color: \"white !important\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport { FieldWrapperPassThroughProps } from \"./../FieldWrapper\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport { customStyles } from \"./SelectFieldBip.styles\";\nimport {\n useEffect,\n useMemo,\n useRef,\n useState,\n JSX,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useFieldErrorsStore } from \"./../../stores/field-errors\";\nimport clsx from \"clsx\";\nimport _debounce from \"../../utils/debounce\";\nimport { SpinnerIcon } from \"../..\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n disabled?: boolean;\n};\n\nexport interface SelectFieldBipRef {\n focus: () => void;\n clearValue: () => void;\n getValue: () => any;\n selectRef: any;\n}\n\ntype SelectFieldProps = FieldWrapperPassThroughProps & {\n name: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n onChange?: any;\n required?: boolean;\n filterOptions?: (value) => any;\n debounce?: number;\n error?: Merge<FieldError, FieldErrorsImpl<unknown>>;\n disabled?: boolean;\n onChangeValue?: (value) => void;\n optionStyle?: (option) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n onErrorBip?: (value) => void;\n clearAfterSelect?: boolean;\n menuIsOpen?: boolean;\n messages?: {\n searching?: string;\n debounce?: string;\n emptyMessage?: string;\n loading?: string;\n };\n};\n\nexport const SelectFieldBip = forwardRef<SelectFieldBipRef, SelectFieldProps>(\n (\n {\n name,\n label,\n error,\n defaultValue,\n control,\n placeholder,\n isSearchable = false,\n required,\n debounce,\n filterOptions,\n disabled,\n onChangeValue,\n optionStyle,\n valueStyle,\n icon,\n onErrorBip,\n clearAfterSelect = true,\n menuIsOpen,\n messages = {\n searching: \"Buscando...\",\n debounce: `Digite pelo menos {debounce} caracteres`,\n emptyMessage: \"Nenhuma opção encontrada\",\n loading: \"Carregando...\",\n },\n },\n ref,\n ) => {\n const { Option, SingleValue } = components;\n const selectRef = useRef(null);\n const [inputValue, setInputValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [cachedOptions, setCachedOptions] = useState([]);\n\n useImperativeHandle(ref, () => ({\n focus: () => selectRef.current?.focus(),\n clearValue: () => selectRef.current?.clearValue(),\n getValue: () => selectRef.current?.getValue(),\n selectRef: selectRef.current,\n }));\n const fetchOptions = async (value: string) => {\n if (isSearchable && filterOptions) {\n if (!debounce || (debounce && value.length >= debounce)) {\n setLoading(true);\n const result = await filterOptions(value);\n setCachedOptions(result);\n setLoading(false);\n return result;\n }\n }\n return [];\n };\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name]?.message,\n error?.message,\n ];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const hasIcon = {\n hasIcon: icon,\n };\n\n const iconStyle = `z-[70] absolute bg-neutral-100 h-[44px] top-[1px] left-[1px] rounded-l-lg flex justify-center items-center w-[38px] text-[22px] ${hasError.hasError ? \"text-dangerous-500\" : \"text-label\"\n }`;\n\n const debouncedFetchOptions = useMemo(() => {\n return _debounce((value: string, callback: (opts) => void) => {\n fetchOptions(value).then(callback);\n }, 300);\n }, [filterOptions]);\n\n useEffect(() => {\n return () => {\n debouncedFetchOptions.cancel();\n };\n }, [debouncedFetchOptions]);\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const CustomSingleValue = (props) => {\n return (\n <SingleValue {...props}>\n {valueStyle ? (\n valueStyle(props?.data)\n ) : (\n <>{props.data.label} </>\n )}\n </SingleValue>\n );\n };\n\n const IconOption = (props) => {\n return (\n <Option {...props}>\n {optionStyle ? (\n optionStyle(props?.data)\n ) : (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n )}\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <SpinnerIcon\n width={16}\n height={16}\n className=\"animate-spin\"\n />\n {messages.searching}\n </div>\n );\n } else if (debounce && inputValue.length < debounce) {\n return (\n <div\n style={{ color: \"var(--label)\" }}\n className=\"p-2 text-[14px]\"\n >\n {messages.debounce.replace(\"{debounce}\", String(debounce))}\n </div>\n );\n }\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && inputValue.length < debounce)\n ) {\n return (\n <div\n className=\"p-2 text-[14px]\"\n style={{ color: \"var(--label)\" }}\n >\n {messages.debounce.replace(\"{debounce}\", String(debounce))}\n </div>\n );\n } else if (inputValue.length > 0 && props?.options?.length == 0) {\n return (\n <div\n className=\"p-2 text-[14px]\"\n style={{ color: \"var(--label)\" }}\n >\n {messages.emptyMessage}\n </div>\n );\n }\n };\n\n const DropdownIndicatorCustom = (props: any) => {\n return null;\n };\n\n const handleKeyDown = async (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n debouncedFetchOptions.cancel();\n\n const fetchedOptions = await fetchOptions(event.target.value);\n\n if (fetchedOptions?.length > 0) {\n onChange(fetchedOptions[0]);\n\n setTimeout(() => {\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.clearValue();\n selectRef?.current?.focus();\n selectRef?.current?.onMenuClose();\n field.onChange(null);\n }\n }, 10);\n } else {\n onErrorBip(event?.target?.value);\n selectRef.current.inputRef.select();\n selectRef.current.onMenuClose();\n }\n }\n };\n\n const handleInputChange = (value, actionMeta) => {\n if (actionMeta.action === \"input-change\") {\n if (clearAfterSelect) setInputValue(value);\n }\n return value;\n };\n\n const onChange = async (value, action?) => {\n if (onChangeValue) onChangeValue(value);\n\n if (action?.action === \"select-option\") {\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.clearValue();\n selectRef?.current?.onMenuClose();\n selectRef?.current?.focus();\n field.onChange(null);\n } else {\n field.onChange(value);\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.onMenuClose();\n }\n }\n }\n\n if (action === \"clear-value\") {\n if (clearAfterSelect) {\n setInputValue(\"\");\n setCachedOptions([]);\n selectRef?.current?.clearValue();\n field.onChange(null);\n }\n }\n };\n\n const loadOptions = (value: string, callback: (opts) => void) => {\n debouncedFetchOptions(value, callback);\n };\n\n return (\n <div className=\"relative\" id=\"multiselect\">\n {icon && <div className={iconStyle}>{icon}</div>}\n <AsyncSelect\n onKeyDown={handleKeyDown}\n {...field}\n {...hasError}\n {...hasLabel}\n {...hasIcon}\n ref={selectRef}\n isDisabled={disabled}\n onBlur={() => {\n if (clearAfterSelect) {\n handleInputChange(\"\", {\n action: \"input-change\",\n })\n }\n }}\n loadingMessage={() => <div>{messages.loading}</div>}\n isLoading={loading}\n loadOptions={loadOptions}\n defaultOptions={false}\n name={field.name}\n isClearable={false}\n styles={customStyles}\n placeholder={placeholder || \" \"}\n isSearchable={isSearchable}\n tabSelectsValue={true}\n components={{\n SingleValue: CustomSingleValue,\n ValueContainer,\n Option: IconOption,\n LoadingIndicator: () => <></>,\n LoadingMessage,\n NoOptionsMessage,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n closeMenuOnSelect={false}\n blurInputOnSelect\n hideSelectedOptions={false}\n menuIsOpen={menuIsOpen}\n isOptionDisabled={(option: any) => !!option?.disabled}\n onChange={onChange}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n />\n {inputValue !== \"\" && (\n <i\n onClick={() => onChange(null, \"clear-value\")}\n className=\"uil uil-times text-[18px] absolute right-2 top-[11px] cursor-pointer text-label\"\n ></i>\n )}\n <span\n className={clsx(\n \"text-label text-sm left-2.5 cursor-pointer pointer-events-none\",\n {\n [\" scale-75 -translate-y-3 \"]: field.value,\n [\"text-dangerous-700\"]: hasError.hasError,\n },\n )}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700\"> *</strong>\n )}\n </span>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-700 text-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n },\n);\n\nSelectFieldBip.displayName = \"SelectFieldBip\";\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n","import React from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\ninterface Props {\n disabled?: boolean;\n control: Control<any>;\n name: string;\n label?: string;\n defaultChecked?: boolean;\n value?: string | number;\n onChange?: (value: string | number) => void;\n}\n\nexport const Radio = ({\n disabled,\n control,\n name,\n label,\n defaultChecked,\n value,\n onChange,\n}: Props) => {\n return (\n <Controller\n name={name as never}\n control={control}\n render={({ field }) => {\n return (\n <div className=\"flex items-center justify-center gap-2\">\n <label className=\"custom-radio flex items-center\">\n <input\n name={name}\n id={name}\n type=\"radio\"\n className=\"\"\n onClick={(e: any) => {\n field.onChange(e.target.value);\n }}\n value={value}\n onChange={(e) => field.onChange(e.target.value)}\n defaultChecked={defaultChecked}\n disabled={disabled}\n />\n <span></span>\n </label>\n {label && (\n <label htmlFor={name} className=\"text-p-md cursor-pointer -pt-1\">\n {label}\n </label>\n )}\n </div>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport { Switch } from \"@headlessui/react\";\nimport { Control, Controller } from \"react-hook-form\";\n\nconst { Group, Label } = Switch;\n\ntype ToggleProps = {\n name: string;\n label?: string;\n subLabel?: string;\n control: Control<any>;\n disabled?: boolean;\n};\n\nfunction classNames(...classes: any) {\n return classes.filter(Boolean).join(\" \");\n}\n\nexport const Toggle = ({\n name,\n label,\n subLabel,\n control,\n disabled,\n}: ToggleProps) => {\n return (\n <Group as=\"div\" className=\"flex items-center\">\n <Controller\n control={control}\n name={name as never}\n render={({ field }) => (\n <Switch\n disabled={disabled}\n {...field}\n className=\"h-[18px] w-[33px] focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded-full\"\n checked={Boolean(field.value)}\n onChange={(value: boolean) => {\n field.onChange(value);\n }}\n >\n {({ checked }) => (\n <div\n className={classNames(\n checked ? \"bg-blue-500\" : \"bg-neutral-200\",\n \"relative inline-flex h-[18px] p-[2px] w-[33px] flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out \"\n )}\n >\n <span\n className={classNames(\n \"pointer-events-none relative inline-block -top-[2px] right-[2px] h-[14px] w-[14px] transform rounded-full shadow ring-0 transition duration-200 ease-in-out\",\n checked ? \"translate-x-[15px]\" : \"translate-x-0\",\n disabled ? \"bg-neutral-300\" : \"bg-white\"\n )}\n >\n <span\n className={classNames(\n checked\n ? \"opacity-0 ease-out duration-100\"\n : \"opacity-100 ease-in duration-200\",\n \"absolute inset-0 flex h-full w-full items-center justify-center transition-opacity\"\n )}\n aria-hidden=\"true\"\n ></span>\n <span\n className={classNames(\n checked\n ? \"opacity-100 ease-in duration-200\"\n : \"opacity-0 ease-out duration-100\",\n \"absolute inset-0 flex h-full w-full items-center justify-center transition-opacity\"\n )}\n aria-hidden=\"true\"\n ></span>\n </span>\n </div>\n )}\n </Switch>\n )}\n />\n\n {label && (\n <Label as=\"span\" className=\"flex flex-col gap-1 ml-2 cursor-pointer\">\n <span className=\"text-sm text-paragraph\">{label}</span>\n {subLabel && <span className=\"text-sm\">{subLabel}</span>}\n </Label>\n )}\n </Group>\n );\n};\n","import React from \"react\";\nimport { Combobox } from \"@headlessui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Table } from \"@tanstack/react-table\";\nimport clsx from \"clsx\";\n\ninterface Props<TData> {\n pageSizeOptions?: number[];\n table: Table<TData>;\n}\n\nexport function PaginationSelect<TData>({\n pageSizeOptions,\n table,\n}: Props<TData>) {\n const pageCount = table?.getPageCount();\n const pagesArray = pageCount ? [...Array(pageCount)] : [];\n const options = pagesArray?.map((item, index) => ({\n id: index,\n name: index,\n }));\n const [pageSizeSelected, setPageSizeSelected] = useState({\n id: JSON.parse(sessionStorage.getItem(\"pageSize\") as string)?.id || 20,\n name: JSON.parse(sessionStorage.getItem(\"pageSize\") as string)?.name || 20,\n });\n\n const [pageSelected, setPageSelected] = useState({\n id: table?.getState()?.pagination?.pageIndex || 0,\n name: table?.getState()?.pagination?.pageIndex || 0,\n });\n const [pagesOptions, setPagesOptions] = useState(() => options);\n\n const [pageSizesOptions, setPagesSizesOptions] = useState(\n pageSizeOptions?.map((item) => ({\n id: item,\n name: item,\n }))\n );\n const [query, setQuery] = useState(\"\");\n\n const filter = () => {\n let copy = [...options];\n setPagesOptions(\n copy.filter((item) => {\n return (item.name + 1).toString().startsWith(query);\n })\n );\n };\n\n const saveSessionStorage = (key: any, values: any) => {\n sessionStorage.setItem(key, JSON.stringify(values));\n };\n\n useEffect(() => {\n filter();\n }, [query]);\n\n useEffect(() => {\n saveSessionStorage(\"pageSize\", pageSizeSelected);\n table.setPageSize(pageSizeSelected?.id);\n table.setPageIndex(0);\n setPageSelected({\n id: 0,\n name: 0,\n });\n }, [pageSizeSelected]);\n\n useEffect(() => {\n setPagesOptions(\n pageCount\n ? [...Array(pageCount)].map((item, index) => ({\n id: index,\n name: index,\n }))\n : []\n );\n }, [table?.getPageCount()]);\n\n useEffect(() => {\n if (table?.getState()?.pagination?.pageIndex >= 0) {\n setPageSelected({\n id: table?.getState()?.pagination?.pageIndex,\n name: table?.getState()?.pagination?.pageIndex,\n });\n }\n }, [table?.getState().pagination]);\n\n return (\n <div className=\"hidden md:flex items-center gap-2\">\n <div className=\"flex items-center gap-2 text-paragraph\">\n <span>Exibir </span>\n <Combobox\n value={pageSizeSelected}\n onChange={(value: any) => {\n setPageSizeSelected(value);\n }}\n >\n {({ open }) => (\n <div className=\"relative\">\n <Combobox.Button className=\"flex items-center justify-between w-[70px] h-[42px] text-paragraph outline-none text-p-sm cursor-pointer peer relative shadow-input rounded-lg border p-2 disabled:bg-neutral-100 border-neutral-300\">\n {pageSizeSelected?.name}\n {open ? (\n <i className=\"uil uil-angle-up text-base top-[13px] pl-3 cursor-pointer text-label\"></i>\n ) : (\n <i className=\"uil uil-angle-down text-base top-[13px] pl-3 cursor-pointer text-label\"></i>\n )}\n </Combobox.Button>\n <Combobox.Options className=\"w-full outline-none max-h-[200px] overflow-auto border-[0.5px] mt-1 color-neutral-300 flex flex-col gap-y-2 p-1 absolute right-0 bottom-12 z-[999] rounded-lg bg-white\">\n {pageSizesOptions?.map((opt) => {\n const selected = opt?.id === pageSizeSelected?.id;\n return (\n <Combobox.Option\n key={pageSizeSelected?.id + \"size\"}\n value={opt}\n className={clsx(\n \"p-2 rounded-lg items-center justify-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-[#FFFFFF] text-[#FFFFFF]\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n }\n )}\n >\n {opt.name}\n </Combobox.Option>\n );\n })}\n </Combobox.Options>\n </div>\n )}\n </Combobox>\n <span> resultados</span>\n </div>\n <div className=\"bg-neutral-300 h-[20px] w-[1px]\"></div>\n <div className=\"flex items-center gap-2 text-paragraph\">\n <span>Ir para a página </span>\n <Combobox\n value={pageSelected}\n onChange={(value) => {\n if (value && value?.id) {\n setPageSelected({\n id: value?.id,\n name: value?.id,\n });\n saveSessionStorage(\"pageIndex\", value?.id);\n table.setPageIndex(value?.id);\n setQuery(\"\");\n }\n }}\n >\n {({ open }) => (\n <div className=\"relative\">\n <Combobox.Button className=\"relative\">\n <Combobox.Input\n as=\"input\"\n onKeyDown={(e: any) => {\n const val = Number(e.target?.value);\n\n if (e.key == \"Enter\" && val && val <= pageCount) {\n setPageSelected({\n id: val - 1,\n name: val - 1,\n });\n saveSessionStorage(\"pageIndex\", val);\n table.setPageIndex(val - 1);\n setQuery(\"\");\n }\n }}\n displayValue={(item: any) => {\n return pageSelected ? pageSelected?.id + 1 : item?.id + 1;\n }}\n onChange={(e) => {\n if (e.target.value) {\n setQuery(e.target.value);\n }\n }}\n className=\"h-[42px] w-[70px] outline-none text-p-md text-paragraph cursor-pointer border-neutral-300 peer shadow-input rounded-lg border block disabled:bg-neutral-100 p-2\"\n />\n {open ? (\n <i className=\"uil uil-angle-up text-base absolute top-[10px] right-2 cursor-pointer text-label\"></i>\n ) : (\n <i className=\"uil uil-angle-down text-base absolute top-[10px] right-2 cursor-pointer text-label\"></i>\n )}\n </Combobox.Button>\n <Combobox.Options className=\"w-full outline-none max-h-[200px] overflow-auto border-[0.5px] mt-1 color-neutral-300 flex flex-col gap-y-2 p-1 absolute right-0 bottom-12 z-[999] rounded-lg bg-white\">\n {pagesOptions.map((opt) => {\n const selected = opt?.id === pageSelected?.id;\n\n return (\n <Combobox.Option\n key={pageSelected?.id + \"page\"}\n value={opt}\n // onClick={() => {\n // setPageSelected({\n // id: opt.id - 1,\n // name: opt.id - 1,\n // });\n // saveSessionStorage(\n // 'pageIndex',\n // opt?.id\n // );\n // table.setPageIndex(opt?.id);\n // }}\n className={clsx(\n \"p-2 rounded-lg items-center justify-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-[#FFFFFF] text-[#FFFFFF]\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n }\n )}\n >\n {opt?.name + 1}\n </Combobox.Option>\n );\n })}\n </Combobox.Options>\n </div>\n )}\n </Combobox>\n </div>\n </div>\n );\n}\n","import { clsx } from \"clsx\";\nimport * as React from \"react\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <table\n ref={ref}\n className={clsx(\n \"table-scroll block text-left border-separate border-spacing-0 w-full\",\n className\n )}\n onScroll={props.onScroll}\n {...props}\n />\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"w-full sticky top-0 z-[90]\", className)}\n {...props}\n />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={clsx(className)} {...props} />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={clsx(\n \" flex flex-col md:flex-row gap-2 md:gap-0 justify-between items-center py-4 px-6 bg-white w-full h-full border border-neutral-200 rounded-t-lg\",\n className\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr ref={ref} className={clsx(className)} {...props} />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }: any, ref) => (\n <th\n ref={ref}\n className={clsx(\n {\n \"hover:bg-neutral-100\": props.sortable,\n },\n \"text-p-md z-[50] bg-white font-normal text-neutral-700 p-4 text-left border-t border-b border-neutral-200 first:border-l last:border-r first:rounded-tl-lg first:rounded-bl-lg last:rounded-tr-lg last:rounded-br-lg\",\n className\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"align-middle h-[80px] border-b border-neutral-200 whitespace-nowrap py-4 px-5\",\n className\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={clsx(\"text-default mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","import React from \"react\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { TableFooter } from \"./TableComponents\";\nimport { Fragment, JSX, MutableRefObject } from \"react\";\nimport { PaginationSelect } from \"./PaginationSelects\";\nimport { Button } from \"../Button\";\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n footer?: JSX.Element;\n totalData?: number;\n selectAllOption?: boolean;\n onSelectAll?: (value: any) => void;\n onRemoveAll?: (value: any) => void;\n rowsSelected?: number;\n tableRef?: MutableRefObject<HTMLDivElement>;\n paginationScroll?: number;\n pageSizeOptions?: number[];\n}\n\nexport function DataTablePagination<TData>({\n table,\n footer = <div></div>,\n totalData,\n selectAllOption,\n onSelectAll,\n rowsSelected,\n onRemoveAll,\n tableRef,\n paginationScroll,\n pageSizeOptions = [],\n}: DataTablePaginationProps<TData>) {\n const selectedPage = table?.getState()?.pagination.pageIndex;\n const results = totalData;\n const pageCount = table?.getPageCount();\n const limitPagePositive = table?.getState()?.pagination.pageIndex + 2;\n const limitPageNegative = table?.getState()?.pagination.pageIndex - 2;\n const pagesArray = pageCount ? [...Array(pageCount)] : [];\n const pageRowsCount = table?.getRowModel()?.rows?.length || 0;\n\n return (\n <div className=\"w-full flex flex-col sticky z-[90] bottom-0\">\n <div\n className=\"bg-none overflow-x-hidden md:overflow-x-auto overflow-y-hidden table-scroll rounded-lg relative top-[8px] -space-y-1 z-[302] h-[12px]\"\n onScroll={(evt) => {\n tableRef?.current.scrollTo({\n left: evt.currentTarget.scrollLeft,\n });\n }}\n >\n <div\n style={{\n width: paginationScroll ? paginationScroll - 2 : 0,\n }}\n >\n \n </div>\n </div>\n\n <TableFooter>\n {pageSizeOptions?.length > 0 && (\n <PaginationSelect table={table} pageSizeOptions={pageSizeOptions} />\n )}\n <div className=\"flex flex-col md:flex-row items-center justify-center md:justify-normal gap-2 md:gap-4\">\n {footer}\n {selectAllOption && (\n <div>\n {rowsSelected !== totalData ? (\n <div className=\"md:border-l border-gray-300 pl-4\">\n <Button size=\"xxs\" onClick={onSelectAll} variant=\"secondary\">\n Selecionar todos os {totalData}\n </Button>\n </div>\n ) : (\n <div className=\"md:border-l border-gray-300 pl-4\">\n <Button size=\"xxs\" onClick={onRemoveAll} variant=\"secondary\">\n Desmarcar todos\n </Button>\n </div>\n )}\n </div>\n )}\n </div>\n <div className=\"flex flex-col md:flex-row items-center md:justify-end justify-center gap-2 flex-1\">\n <span className=\"text-p-md text-paragraph mr-1\">\n Mostrando {pageRowsCount} de {results} resultados\n </span>\n\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n variant=\"icon\"\n icon={<i className=\"uil uil-angle-left text-base\"></i>}\n size=\"xs\"\n className=\"justify-center\"\n />\n\n {limitPageNegative >= 1 && (\n <div className=\"flex gap-2\">\n <Button\n onClick={() => table.setPageIndex(0)}\n variant=\"icon\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: \"#393C4D\",\n }}\n >\n {1}\n </div>\n }\n size=\"xs\"\n className=\"justify-center\"\n />\n {limitPageNegative !== 1 && (\n <Button\n disabled\n variant=\"icon\"\n icon={<>...</>}\n size=\"xs\"\n className=\"justify-center\"\n />\n )}\n </div>\n )}\n\n {pagesArray.map((elem, index) => {\n const checkPageIndexLimit =\n index <= limitPagePositive && index >= limitPageNegative;\n const isSelectedPage = index === selectedPage;\n\n return (\n <Fragment key={index + \"pagination\"}>\n {checkPageIndexLimit && (\n <Button\n onClick={() => table.setPageIndex(index)}\n className=\"font-normal text-xs justify-center\"\n variant={isSelectedPage ? \"blue\" : \"icon\"}\n size=\"xs\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: isSelectedPage ? \"#FFF\" : \"#393C4D\",\n }}\n >\n {(index + 1).toLocaleString(\"pt-BR\")}\n </div>\n }\n ></Button>\n )}\n </Fragment>\n );\n })}\n\n {limitPagePositive + 1 < pageCount && (\n <div className=\"flex gap-2\">\n {limitPagePositive !== pagesArray.length - 2 && (\n <Button\n disabled\n variant=\"icon\"\n icon={<>...</>}\n size=\"xs\"\n className=\"justify-center\"\n />\n )}\n <Button\n onClick={() => table.setPageIndex(pageCount)}\n variant=\"icon\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: \"#393C4D\",\n }}\n >\n {pageCount.toLocaleString(\"pt-BR\")}\n </div>\n }\n size=\"xs\"\n className=\"font-normal justify-center\"\n />\n </div>\n )}\n <Button\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n variant=\"icon\"\n icon={<i className=\"uil uil-angle-right text-base\"></i>}\n size=\"xs\"\n className=\"justify-center\"\n />\n </div>\n </div>\n </TableFooter>\n </div>\n );\n}\n","import type {\n ColumnFiltersState,\n ExpandedState,\n FilterFn,\n PaginationState,\n Row,\n SortingState,\n Table as TableType,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport {\n flexRender,\n getCoreRowModel,\n getExpandedRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React, {\n JSX,\n MutableRefObject,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./TableComponents\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport clsx from \"clsx\";\n// import EmptyState from '../Table/Components/Empty/EmptyState';\nimport { rankItem } from \"@tanstack/match-sorter-utils\";\nimport {Input} from \"./../Input\";\n\ntype CustomTData = {\n _destroy?: string;\n};\n\nconst fuzzyFilter: FilterFn<any> = (row, columnId, value, addMeta) => {\n // Rank the item\n const itemRank = rankItem(row.getValue(columnId), value);\n // Store the itemRank info\n addMeta({\n itemRank,\n });\n\n // Return if the item should be filtered in/out\n return itemRank.passed;\n};\n\nexport interface DataTableProps<TData extends CustomTData, TValue> {\n tableContainerRef: MutableRefObject<any>;\n columns: any[];\n data?: any[];\n searchKey?: string;\n tableCTA?: React.ReactNode;\n isLoading?: boolean;\n onScroll?: any;\n CTA?: React.ReactNode;\n hidePagination?: boolean;\n emptyButtonAction?: JSX.Element;\n hideBlankState?: boolean;\n getRowCanExpand?: () => boolean;\n enableRowSelection?: () => boolean;\n renderSubComponent?: (row: any) => any;\n footer?: JSX.Element;\n borderFull?: boolean;\n withShadow?: boolean;\n actionsSelection?: JSX.Element;\n rowSelection?: any;\n setRowSelection?: any;\n hideHeader?: boolean;\n backgroundColor?: string;\n emptyState?: JSX.Element;\n totalData?: number;\n showFilter?: boolean;\n placeholder?: string;\n fetchData?: (options: {\n pageIndex: number;\n pageSize: number;\n order?: string;\n orderDir?: \"ASC\" | \"DESC\";\n }) => Promise<{\n rows: TData[];\n pageCount: number;\n }>;\n openedSubComponent?: boolean;\n setRows?: (e: any) => void;\n selectAllOption?: boolean;\n autoPagination?: boolean;\n tableClass?: string;\n rowClassName?: (row: any) => any;\n listUpdate?: JSX.Element;\n perPage?: number;\n pageSizeOptions?: number[];\n onFinishFetch?: () => void;\n /* filterableItems?: FilterableItems;\n selectionOptions?: ActionItem<TData>[]; */\n}\n\ntype CustomTable<TData> = TableType<TData> & {\n options?: {\n meta?: {\n getRowStyles?: (row: Row<TData>) => React.CSSProperties;\n };\n };\n};\n\nexport default function DataTable<TData extends CustomTData, TValue>({\n columns,\n tableClass = \"\",\n data = [],\n hidePagination,\n emptyButtonAction,\n hideBlankState,\n renderSubComponent = () => {},\n footer,\n borderFull = false,\n withShadow = true,\n actionsSelection,\n backgroundColor,\n emptyState,\n totalData = 0,\n showFilter,\n placeholder,\n fetchData,\n openedSubComponent = false,\n getRowCanExpand,\n enableRowSelection,\n onScroll,\n tableContainerRef,\n setRows,\n selectAllOption,\n autoPagination,\n rowClassName,\n listUpdate,\n setRowSelection,\n rowSelection,\n perPage,\n pageSizeOptions,\n onFinishFetch,\n}: /* filterableItems,\n selectionOptions, */\nDataTableProps<TData, TValue>) {\n const tableRef = useRef<HTMLTableElement>(null);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [sorting, setSorting] = useState<SortingState>([]);\n const [arrRowSelected, setArrRowSelected] = useState([]);\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [dataTable, setDataTable] = useState([]);\n const [loading, setLoading] = useState(true);\n const [expanded, setExpanded] = useState<ExpandedState>({});\n const [total, setTotal] = useState(() => totalData);\n const [{ pageIndex, pageSize }, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: hidePagination ? 999999 : perPage ? perPage : 20,\n });\n const [paginationScroll, setPaginationScroll] = useState<number>();\n\n const pagination = useMemo(\n () => ({\n pageIndex,\n pageSize,\n }),\n [pageIndex, pageSize]\n );\n\n // Sticky header functionality removed - vh-sticky-table-header has compatibility issues\n // You can implement custom sticky header with CSS: position: sticky; top: 0;\n\n const fetch = () => {\n if (fetchData && !autoPagination) {\n fetchData({\n pageSize,\n pageIndex,\n order: sorting[0]?.id,\n orderDir: sorting[0]?.desc ? \"DESC\" : \"ASC\",\n }).then((response: any) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n } else {\n manualPagination(pageIndex, pageSize).then((response) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n }\n setTimeout(() => {\n if (onFinishFetch) {\n onFinishFetch();\n }\n }, 1000);\n };\n\n const manualPagination = async (pageIndex: number, pageSize: number) => {\n const promise = new Promise((resolve, reject) => {\n let shortArrays: any = [],\n i,\n len;\n for (i = 0, len = totalData; i < len; i += pageSize) {\n shortArrays.push(data?.slice(i, i + pageSize));\n }\n resolve(shortArrays);\n });\n\n let dataPromise = (await promise) as any;\n return {\n rows: dataPromise[pageIndex],\n pageCount: Number(pageSize),\n };\n };\n\n useEffect(() => {\n if (!tableContainerRef?.current) return;\n\n const resizeObserver = new ResizeObserver(() => {\n setPaginationScroll(tableContainerRef?.current?.scrollWidth);\n });\n resizeObserver.observe(tableContainerRef?.current);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n if (fetchData || autoPagination) {\n fetch();\n }\n }, [pageIndex, pageSize, sorting]);\n\n useEffect(() => {\n if (totalData !== total) {\n setPagination({\n pageIndex: 0,\n pageSize: pagination.pageSize,\n });\n setTotal(totalData);\n }\n }, [totalData]);\n\n useEffect(() => {\n if (data) {\n setDataTable(\n () => (autoPagination ? data.slice(0, pageSize) : data) as any\n );\n setLoading(false);\n }\n }, [data]);\n\n const pages =\n totalData < pagination.pageSize\n ? 1\n : Math.ceil(totalData / pagination.pageSize);\n\n let table: TableType<any> = useReactTable({\n data: dataTable?.length > 0 ? dataTable : [],\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n globalFilter,\n columnFilters,\n pagination,\n expanded,\n },\n pageCount: pages,\n manualPagination: true,\n enableRowSelection: enableRowSelection,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onGlobalFilterChange: setGlobalFilter,\n globalFilterFn: fuzzyFilter,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n onPaginationChange: setPagination,\n getRowCanExpand,\n onExpandedChange: setExpanded,\n getExpandedRowModel: getExpandedRowModel(),\n enableExpanding: true,\n getRowId: (row) => {\n return row.id;\n },\n meta: {\n getRowStyles: rowClassName,\n },\n }) as CustomTable<any>;\n\n useEffect(() => {\n if (enableRowSelection && rowSelection) {\n setArrRowSelected(Object.keys(rowSelection) as any);\n }\n }, [rowSelection, enableRowSelection]);\n\n const onSelectAll = () => {\n table.toggleAllRowsSelected(true);\n const araysIds = data?.map((item) => item?.id);\n let selected = {};\n araysIds?.forEach((id) => {\n selected = {\n ...selected,\n [id]: true,\n };\n });\n setRowSelection(selected);\n return;\n };\n\n const onRemoveAll = () => {\n table.toggleAllRowsSelected();\n setRowSelection({});\n return;\n };\n\n const hideTableData =\n (dataTable && dataTable?.length == 0 && !loading && !hideBlankState) ||\n !dataTable ||\n table?.getRowModel()?.rows?.length == 0;\n const canShowTableData = !hidePagination && totalData > 0 && table;\n\n function renderBottomTable() {\n if (hideTableData && totalData !== null) {\n if (emptyState) {\n return emptyState;\n } else {\n return <div></div>;\n // <EmptyState emptyButtonAction={emptyButtonAction} />;\n }\n } else if (canShowTableData && totalData !== null) {\n return (\n <DataTablePagination\n table={table}\n footer={footer}\n totalData={totalData}\n tableRef={tableContainerRef}\n selectAllOption={selectAllOption}\n onSelectAll={onSelectAll}\n rowsSelected={Object.keys(rowSelection || {})?.length}\n onRemoveAll={onRemoveAll}\n paginationScroll={paginationScroll}\n pageSizeOptions={pageSizeOptions}\n />\n );\n } else if (totalData == null) {\n return <></>;\n }\n }\n\n useEffect(() => {\n if (rowSelection && Object.keys(rowSelection).length == 0) {\n const elements = document.getElementsByClassName(\"th-shadow\") as any;\n Object.keys(elements).forEach((index) => {\n elements[index]?.classList?.add(\"with-shadow\");\n });\n } else if (rowSelection && Object.keys(rowSelection).length == 1) {\n const elements = document.getElementsByClassName(\"th-shadow\");\n Object.keys(elements).forEach((index: any) => {\n elements[index]?.classList?.remove(\"with-shadow\");\n });\n }\n }, [rowSelection]);\n\n const stylesRow = (row: any) => {\n const tb = table as any;\n return rowClassName ? tb?.options?.meta?.getRowStyles(row) : {};\n };\n\n return (\n <div className=\"w-full h-full flex flex-col\">\n {showFilter && (\n <div className=\"w-full flex justify-between md:items-center flex-col md:flex-row gap-y-2 md:gap-y-0\">\n <div className=\"w-full md:max-w-[350px]\" id=\"filter-table\">\n <Input\n onChange={(e: any) => setGlobalFilter(e.target.value)}\n name=\"filter\"\n value={globalFilter}\n icon={<i className=\"uil uil-search\"></i>}\n placeholder=\"Buscar pedido por ID, Código ou Cliente\"\n clearField\n onClear={() => setGlobalFilter(\"\")}\n />\n </div>\n\n {listUpdate}\n </div>\n )}\n <div\n className={clsx(\"w-full flex mt-4 flex-col justify-between\", {\n \"flex-1\": !hideTableData,\n [tableClass]: tableClass,\n })}\n >\n <Table\n className={clsx(\n \"w-full table_container z-20 overflow-x-scroll md:overflow-x-hidden\"\n )}\n onScroll={onScroll}\n ref={tableContainerRef}\n >\n {rowSelection &&\n Object.keys(rowSelection)?.length > 0 &&\n actionsSelection &&\n dataTable?.length > 0 && (\n <div className=\"h-[76px] flex items-center justify-between px-4 bg-gradient-to-b from-blue-start to-blue-end rounded-lg -mb-[1px]\">\n <div className=\"flex gap-6\">\n <span className=\"text-white text-p-lg\">\n {Object.keys(rowSelection).length} selecionado(s)\n </span>\n {actionsSelection}\n </div>\n <button title=\"set-row\" onClick={() => setRowSelection({})}>\n <i className=\"uil uil-times text-white\"></i>\n </button>\n </div>\n )}\n <div className=\"table w-full mr-[2px]\" ref={tableRef}>\n <TableHeader>\n {table?.getHeaderGroups()?.map((headerGroup, headerIndex) => (\n <TableRow key={headerGroup.id + headerIndex + \"header\"}>\n {headerGroup.headers.map((header, index) => {\n const classes = header.column.columnDef.meta as any;\n return (\n <TableHead\n key={headerIndex + index + \"th\"}\n style={{\n width: header.getSize(),\n }}\n scope=\"col\"\n className={clsx(\n {\n \"hover:bg-neutral-100 th-shadow cursor-pointer\":\n header.column.getCanSort(),\n [\"with-shadow\"]:\n arrRowSelected?.length == 0 && withShadow,\n },\n classes?.header,\n classes?.className\n )}\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {sorting[0]?.id == header.column.id ? (\n <i\n className={clsx(\n {\n [\"rotate-0\"]: !sorting[0]?.desc,\n [\"rotate-180\"]: sorting[0]?.desc,\n },\n \"uil uil-arrow-down text-blue-500 transform ml-1 text-[18px] duration-75\"\n )}\n ></i>\n ) : (\n <></>\n )}\n </div>\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n\n <TableBody>\n {table?.getRowModel()?.rows?.map((row, rowIndex) => {\n return (\n <React.Fragment key={rowIndex + \"row\"}>\n {!row.original._destroy && (\n <React.Fragment>\n <TableRow\n key={row.id}\n id={row.id}\n className={`text-p-md font-normal h-[80px] text-paragraph w-fit`}\n style={stylesRow(row)}\n >\n {row.getVisibleCells().map((cell, index) => {\n const classes = cell.column.columnDef.meta as any;\n return (\n <TableCell\n key={cell.id}\n id={cell.id}\n style={{\n width: cell.column.getSize(),\n backgroundColor: backgroundColor\n ? backgroundColor\n : \"\",\n ...stylesRow(row),\n }}\n className={clsx(\n {\n [\"hidden\"]: cell.row.original._destroy,\n [\"first:border-l last:border-r\"]:\n borderFull,\n [\"first:rounded-bl-lg last:rounded-br-lg\"]:\n borderFull &&\n row.index === data?.length - 1,\n },\n classes?.cell,\n classes?.className\n )}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n );\n })}\n </TableRow>\n {(row.getIsExpanded() || openedSubComponent) && (\n <tr>\n <td colSpan={row.getVisibleCells().length}>\n {renderSubComponent({\n row,\n })}\n </td>\n </tr>\n )}\n </React.Fragment>\n )}\n </React.Fragment>\n );\n })}\n </TableBody>\n </div>\n </Table>\n {renderBottomTable()}\n </div>\n </div>\n );\n}\n","import { ReactNode, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Transition } from \"@headlessui/react\";\n\ninterface Props {\n title: string;\n children: ReactNode;\n open: boolean;\n}\n\nexport const Accordion = ({ title, children, open = false }: Props) => {\n const [isOpen, setOpen] = useState<boolean>(open);\n\n return (\n <div>\n <div\n className={clsx(\n {\n [\"border-neutral-200\"]: !isOpen,\n [\"border-rose-700\"]: isOpen,\n },\n \"flex flex-col w-full px-3 py-2 shadow-input border rounded-lg\"\n )}\n >\n <button\n onClick={() => {\n setOpen((state) => !state);\n }}\n type=\"button\"\n className=\"flex items-center justify-between w-full \"\n >\n <span>{title}</span>\n <i\n className={clsx(\n {\n [\"transform rotate-[180deg]\"]: isOpen,\n },\n \"duration-300 uil uil-angle-down text-[30px]\"\n )}\n ></i>\n </button>\n <Transition\n show={isOpen}\n enter=\"ease-in duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-out duration-300\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div\n className={`${\n isOpen ? \"flex opacity-100\" : \"hidden opacity-0\"\n } overflow-auto table-scroll`}\n >\n {children}\n </div>\n </Transition>\n </div>\n </div>\n );\n};\n","import { useState } from \"react\";\nimport { Popover } from \"./Popover/Popover\";\n\nexport function CopyPopover({ children, valueToCopy }) {\n const [copied, setCopied] = useState(false);\n return (\n <>\n <div\n className=\"flex items-center gap-1\"\n onClick={async () => {\n setCopied(true);\n navigator.clipboard.writeText(valueToCopy);\n }}\n onMouseLeave={() => setTimeout(() => setCopied(false), 500)}\n >\n <div\n className=\"flex items-center gap-1\"\n data-tooltip-id=\"copy-id\"\n data-tooltip-content={copied ? \"Copiado\" : \"Copiar\"}\n data-tooltip-place=\"top\"\n >\n <Popover id=\"copy-id\" />\n <div className=\"text-neutral-400 text-xs\">{children}</div>\n </div>\n <div\n data-tooltip-id=\"icon-id\"\n data-tooltip-content={copied ? \"Copiado\" : \"Copiar\"}\n data-tooltip-place=\"top\"\n >\n <Popover id=\"icon-id\" />\n\n <i className=\"uil uil-copy text-base text-blue-500 cursor-pointer -mt-[1px]\"></i>\n </div>\n </div>\n </>\n );\n}\n","import {\n Menu as HeadlessMenu,\n Transition,\n MenuButton,\n MenuItems,\n} from \"@headlessui/react\";\nimport { Fragment, ReactNode } from \"react\";\n\ntype MenuProps = {\n triggerElement?: ReactNode;\n children?: ReactNode;\n className?: string;\n};\n\nexport const Menu = ({ triggerElement, children, className }: MenuProps) => {\n return (\n <HeadlessMenu as=\"div\" className={\"relative h-full cursor-pointer\"}>\n <MenuButton\n as=\"div\"\n className=\"flex rounded-full text-sm h-full w-full items-center\"\n >\n {triggerElement}\n </MenuButton>\n <Transition\n as={Fragment}\n enter=\"transition ease-out duration-200\"\n enterFrom=\"transform opacity-0 scale-95\"\n enterTo=\"transform opacity-100 scale-100\"\n leave=\"transition ease-in duration-75\"\n leaveFrom=\"transform opacity-100 scale-100\"\n leaveTo=\"transform opacity-0 scale-95\"\n >\n <MenuItems\n className={`border-[0.5px] mt-1 color-neutral-300 flex min-w-[200px] flex-col gap-y-2 p-3 absolute right-0 z-[999] rounded-lg shadow-[2px_4px_8px_rgba(57,60,77,0.1)] bg-white cursor-default ${className}`}\n >\n {children}\n </MenuItems>\n </Transition>\n </HeadlessMenu>\n );\n};\n","import { MenuItem } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { ReactNode } from \"react\";\n\ntype ItemProps = {\n index?: number;\n isActive?: boolean;\n onClick?: (event: any) => void;\n children?: ReactNode;\n};\n\nexport const Item = ({ index, isActive, onClick, children }: ItemProps) => {\n return (\n <MenuItem key={index}>\n <div\n className={clsx(\n \"h-[36px] p-2 rounded-lg items-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-[#009EDB] hover:bg-[#009EDB] hover:text-[#FFFFFF] text-[#FFFFFF]\":\n isActive,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !isActive,\n }\n )}\n tabIndex={index}\n role=\"button\"\n onClick={onClick}\n >\n <div className=\"flex gap-2 w-full items-center whitespace-nowrap\">\n {children}\n </div>\n </div>\n </MenuItem>\n );\n};\n","import React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Button } from \"./Button\";\ntype EditableTextProps = {\n children?: ReactNode;\n button?: ReactNode;\n onClose?: Function;\n};\n\nexport const EditableButton = ({\n children,\n button,\n onClose,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n\n return (\n <div className=\"flex flex-col relative\">\n <div\n className=\"group flex gap-[5px] items-center cursor-pointer\"\n onClick={() => setShowModal(!showModal)}\n >\n {button}\n </div>\n {showModal && (\n <div className=\"max-w-[294px] p-2 bg-white border border-neutral-300 top-14 absolute z-50 rounded-lg\">\n <div className=\"pb-3\">{children}</div>\n <div className=\"pt-3 pb-1 border-t border-neutral-200 flex items-center justify-end gap-2\">\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => setShowModal(false)}\n >\n Cancelar\n </Button>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => {\n setShowModal(false);\n if (onClose) onClose();\n }}\n >\n Aplicar\n </Button>\n </div>\n </div>\n )}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { Controller } from \"react-hook-form\";\nimport { ReactNode, useState, JSX } from \"react\";\nimport { Button } from \"./Button\";\n\ntype EditableTextProps = {\n control?: any;\n name?: string;\n emptyLabel?: string | JSX.Element;\n children?: ReactNode;\n onApply?: () => void;\n value?: (value) => JSX.Element;\n hideEditIcon?: boolean;\n truncate?: boolean;\n};\n\nexport const EditableText = ({\n control,\n name = \"\",\n emptyLabel,\n children,\n onApply,\n value,\n hideEditIcon,\n truncate,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n\n const truncateText = (str, max, len) => {\n return str.length > max ? str.substring(0, len) + \"...\" : str;\n };\n return (\n <Controller\n control={control}\n name={name}\n render={({ field }) => {\n return (\n <div className=\"flex flex-col relative\">\n <div\n className=\"group flex gap-[5px] items-baseline cursor-pointer z-[500]\"\n onClick={() => setShowModal(!showModal)}\n >\n {value && field.value ? (\n <>\n {truncate\n ? value(truncateText(field.value, 14, 12))\n : value(field.value)}\n </>\n ) : field.value ? (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n Preenchido\n </label>\n ) : (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n {emptyLabel ? emptyLabel : \"Não informado\"}\n </label>\n )}\n {!hideEditIcon && (\n <i\n style={{ fontSize: \"14px\" }}\n className=\"uil uil-pen text-sm text-blue-500\"\n ></i>\n )}\n </div>\n {showModal && (\n <div>\n <div className=\"w-[160px] md:w-[294px] p-2 bg-white border border-neutral-300 absolute z-[500] rounded-lg\">\n <div className=\"pb-3 \">{children}</div>\n <div className=\"pt-3 pb-1 border-t border-neutral-200 flex flex-col md:flex-row md:items-center md:justify-end gap-2\">\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => setShowModal(false)}\n >\n Cancelar\n </Button>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => {\n setShowModal(false);\n onApply && onApply();\n }}\n >\n Salvar\n </Button>\n </div>\n </div>\n <div\n className=\"fixed top-0 bottom-0 left-0 right-0 z-40\"\n onClick={() => setShowModal(false)}\n ></div>\n </div>\n )}\n </div>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { Controller } from \"react-hook-form\";\nimport { ReactNode, useEffect, useState, JSX } from \"react\";\nimport { Menu } from \"@headlessui/react\";\nimport Fuse from \"fuse.js\";\nimport InputSmall from \"./InputSmall/InputSmall\";\n\ntype EditableTextProps = {\n control?: any;\n name: string;\n emptyLabel?: string | JSX.Element;\n children?: ReactNode;\n options?: any;\n optionStyle?: (value) => JSX.Element;\n valueStyle?: (value) => JSX.Element;\n showInputSeach?: boolean;\n onChangeValue?: (value) => void;\n};\n\nexport const EditableTextSelect = ({\n control,\n name,\n emptyLabel,\n options,\n optionStyle,\n valueStyle,\n showInputSeach,\n onChangeValue,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n const [optionsList, setOptionsList] = useState(() => options);\n const [inputSearch, setInputSearch] = useState(\"\");\n\n const optionsFuse = {\n includeScore: false,\n keys: [\"name\"],\n };\n const fuse = new Fuse(optionsList, optionsFuse);\n\n const filter = () => {\n let results = [...options];\n if (inputSearch) {\n results = fuse.search(inputSearch)?.map((result) => result.item);\n }\n setOptionsList(results);\n };\n\n useEffect(() => {\n setOptionsList(() => options);\n }, [options]);\n\n useEffect(() => {\n filter();\n }, [inputSearch]);\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field }) => {\n return (\n <Menu>\n <Menu.Button>\n <div\n className=\"group flex gap-[5px] cursor-pointer z-[500] items-center\"\n onClick={() => setShowModal(!showModal)}\n >\n {field.value ? (\n valueStyle ? (\n valueStyle(field.value)\n ) : (\n field?.value?.name\n )\n ) : (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n {emptyLabel ? emptyLabel : \"Não informado\"}\n </label>\n )}\n <i\n style={{ fontSize: \"16px\" }}\n className=\"uil uil-pen text-sm text-blue-500\"\n ></i>\n </div>\n </Menu.Button>\n <Menu.Items>\n <div className=\"w-[294px] p-2 bg-white border border-neutral-300 absolute z-[500] rounded-lg\">\n {showInputSeach && (\n <div className=\"mb-2\">\n <InputSmall\n icon={<i className=\"uil uil-search\"></i>}\n onChange={(e: any) => setInputSearch(e)}\n value={inputSearch}\n placeholder=\"Pesquisar\"\n clearField\n onKeyDown={(e) => {\n if (e.key == \" \" || e.code == \"Space\") {\n e.stopPropagation();\n }\n }}\n />\n </div>\n )}\n {optionsList?.map((opt) => {\n const selected = opt?.id === field?.value?.id;\n return (\n <Menu.Item\n onClick={() => {\n field.onChange(opt);\n if (onChangeValue) {\n onChangeValue(opt);\n }\n }}\n as=\"button\"\n className={clsx(\n \"p-3 mb-1 rounded-lg items-center flex whitespace-nowrap no-underline w-full\",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-[#FFFFFF] text-[#FFFFFF]\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n },\n {\n \"cursor-pointer\": !opt.disabled,\n }\n )}\n >\n <div className=\"flex gap-2 w-full items-center whitespace-nowrap\">\n <div className=\"flex w-full justify-between items-center\">\n {optionStyle ? (\n <div>{optionStyle(opt)}</div>\n ) : (\n <div className=\"flex flex-col\">\n <span className=\"font-bold\">{opt?.title}</span>\n <span\n className={clsx({\n \"text-label\": opt.disabled,\n })}\n >\n {opt.name}\n </span>\n {opt?.description}\n </div>\n )}\n <span\n className={clsx(\n \"group-hover:text-[#fff] \",\n {\n \"text-[#fff]\": selected,\n },\n {\n \"text-blue-500\": !selected,\n }\n )}\n >\n {selected && <i className=\"uil uil-check\"></i>}\n </span>\n </div>\n </div>\n </Menu.Item>\n );\n })}\n </div>\n </Menu.Items>\n </Menu>\n );\n }}\n />\n );\n};\n","import { Fragment } from \"react\";\nimport { Dialog, Transition } from \"@headlessui/react\";\n\nexport default function ImagePreview({ open, setOpen, previewImage }) {\n return (\n <Transition.Root show={open} as={Fragment}>\n <Dialog\n as=\"div\"\n className=\"relative z-[999]\"\n onClose={() => setOpen(false)}\n >\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div className=\"fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity\" />\n </Transition.Child>\n\n <div className=\"fixed inset-0 z-10 overflow-y-auto\">\n <div className=\"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0\">\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enterTo=\"opacity-100 translate-y-0 sm:scale-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100 translate-y-0 sm:scale-100\"\n leaveTo=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <Dialog.Panel className=\"flex flex-col min-w-[350px] min-h-[250px] relative transform overflow-hidden rounded-lg bg-white p-6 text-left shadow-xl transition-all\">\n <div className=\"flex flex-col h-full flex-1\">\n <div className=\"flex justify-between mb-2\">\n <h2 className=\"text-t-sm font-bold\">Prévia da imagem</h2>\n <i\n className=\"uil uil-times text-[28px] cursor-pointer\"\n onClick={() => setOpen(false)}\n ></i>\n </div>\n\n <div className=\"border-b border-neutral-200 mb-4\"></div>\n\n <div className=\"flex flex-1 h-full items-center justify-center rounded-lg w-full \">\n <img src={previewImage} alt=\"previewImage\" />\n </div>\n </div>\n </Dialog.Panel>\n </Transition.Child>\n </div>\n </div>\n </Dialog>\n </Transition.Root>\n );\n}\n","import { SpinnerIcon } from \"../../assets/spinner\";\nimport { Button } from \"../Button\";\nimport ImagePreview from \"./ImagePreview\";\nimport { useState } from \"react\";\n\ntype FileStatusProps = {\n name: string;\n isLoading: boolean;\n size: number;\n onRemove: any;\n isImage: boolean;\n image?: any;\n};\n\nexport const FileStatus = ({\n name,\n isLoading,\n size,\n onRemove,\n isImage,\n image,\n}: FileStatusProps) => {\n return (\n <>\n {isImage ? (\n <ImageFile\n isLoading={isLoading}\n name={name}\n size={size}\n onRemove={onRemove}\n image={image}\n />\n ) : (\n <File\n isLoading={isLoading}\n name={name}\n size={size}\n onRemove={onRemove}\n image={image}\n />\n )}\n </>\n );\n};\n\nconst ImageFile = ({ isLoading, name, size, onRemove, image }) => {\n const [imagePreviewModal, setImagePreviewModal] = useState(false);\n const [previewImage, setPreviewImage] = useState<HTMLImageElement>();\n\n return (\n <div className=\"group h-[130px] w-[130px] flex justify-between border border-neutral-300 rounded-[8px]\">\n {!isLoading && image ? (\n <div className=\"w-full h-full relative\">\n <div className=\"hidden group-hover:block absolute top-3 left-3\">\n <Button\n className=\"w-[32px] h-[32px]\"\n variant=\"iconSecondary\"\n onClick={(evt) => {\n setImagePreviewModal(true);\n let newPreviewImage = new window.Image();\n newPreviewImage.src = image;\n setPreviewImage(newPreviewImage);\n }}\n size=\"xs\"\n icon={<i className=\"uil uil-search-plus text-[22px]\"></i>}\n />\n <ImagePreview\n open={imagePreviewModal}\n setOpen={setImagePreviewModal}\n previewImage={previewImage}\n />\n </div>\n\n <div className=\"block absolute top-3 right-3\">\n <Button\n className=\"w-[32px] h-[32px]\"\n variant=\"iconSecondary\"\n onClick={onRemove}\n size=\"xs\"\n icon={<i className=\"uil uil-times text-xl\"></i>}\n />\n </div>\n\n <div className=\"w-full h-full group-hover:bg-[#16203499]/60 z-10\">\n <img className=\"relative -z-10\" src={image} alt=\"tumbnails\" />\n </div>\n </div>\n ) : (\n <div className=\"flex flex-1 flex-col justify-between p-[10px]\">\n <div className=\"flex flex-col \">\n <div className=\"flex self-end\">\n <i\n onClick={onRemove}\n className=\"uil uil-times text-[28px] cursor-pointer\"\n ></i>\n </div>\n <div className=\"flex self-center items-center justify-center w-12 h-12 bg-blue-500 rounded-full animate-spin\">\n <img\n src={`/spinner-white.svg`}\n alt=\"circle\"\n width={30}\n height={30}\n />\n </div>\n </div>\n <div className=\"text-center\">\n <span className=\"text-p-sm\">{name}</span>\n <div className=\"text-xxs text-label\">{size.to} KB</div>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nconst File = ({ isLoading, name, size, onRemove, image }) => {\n return (\n <div className=\"w-full md:w-[410px] flex items-center justify-between px-3 py-2 border border-neutral-300 rounded-[4px]\">\n <div className=\"flex gap-x-2 items-center\">\n {isLoading ? (\n <SpinnerIcon width={19} height={19} className=\"animate-spin\" />\n ) : (\n <span className=\"text-success-500 flex\">\n <i className=\"uil uil-check-circle text-[23px]\"></i>\n </span>\n )}\n <div className=\"flex flex-col\">\n <div className=\"flex items-start gap-x-1\">\n <span className=\"text-label self-end flex\">\n <i className=\"uil uil-file text-xs\"></i>\n </span>\n <div className=\"text-p-sm\">\n <a\n href={image}\n download={name}\n className=\"text-blue-500 hover:text-blue-500 hover:underline active:text-blue-600 active:underline active:underline-offset-4\"\n >\n {name}\n </a>\n </div>\n </div>\n <div className=\"text-xxs text-label\">\n {size\n ? size.toLocaleString(\"en-US\", {\n style: \"decimal\", // Other options: 'currency', 'percent', etc.\n })\n : null}{\" \"}\n KB\n </div>\n </div>\n </div>\n <i\n onClick={onRemove}\n className=\"uil uil-times text-[24px] text-neutral-600 cursor-pointer\"\n ></i>\n </div>\n );\n};\n","type actions = \"UPLOAD_START\" | \"UPLOAD_END\" | \"REMOVE_FILE\";\n\ntype ActionType = {\n type: actions;\n payload: any;\n};\n\ntype StateType = {\n files?: {\n name?: string;\n size?: number;\n image?: any;\n loading?: boolean;\n type?: string;\n }[];\n};\n\nexport const initialState = {\n files: [],\n};\n\nexport function reducer(state: StateType, action: ActionType): StateType {\n switch (action.type) {\n case \"UPLOAD_START\":\n return {\n files: [\n ...(state?.files as any),\n {\n name: action.payload.file.name,\n size: action.payload.file.size,\n image: action.payload.file,\n type: action.payload.file.type,\n loading: true,\n },\n ],\n };\n case \"UPLOAD_END\":\n return {\n files: state?.files?.map((file) => {\n if (file.name === action.payload.name) {\n return {\n ...file,\n image: action.payload.result,\n loading: false,\n };\n }\n\n return file;\n }),\n };\n case \"REMOVE_FILE\":\n return {\n files: state?.files?.filter(\n (file) => file.name !== action.payload.name\n ),\n };\n default:\n return state;\n }\n}\n","import React from \"react\";\n\n\nexport const IconFile: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"24\"\n height=\"30\"\n viewBox=\"0 0 24 30\"\n {...props}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M24 10.41C23.9844 10.2722 23.9542 10.1364 23.91 10.005V9.87C23.8379 9.71577 23.7417 9.574 23.625 9.45L14.625 0.45C14.501 0.333324 14.3592 0.237121 14.205 0.165H14.07L13.59 0H4.5C3.30653 0 2.16193 0.474106 1.31802 1.31802C0.474106 2.16193 0 3.30653 0 4.5V25.5C0 26.6935 0.474106 27.8381 1.31802 28.682C2.16193 29.5259 3.30653 30 4.5 30H19.5C20.6935 30 21.8381 29.5259 22.682 28.682C23.5259 27.8381 24 26.6935 24 25.5V10.5C24 10.5 24 10.5 24 10.41ZM15 5.115L18.885 9H15V5.115ZM21 25.5C21 25.8978 20.842 26.2794 20.5607 26.5607C20.2794 26.842 19.8978 27 19.5 27H4.5C4.10218 27 3.72064 26.842 3.43934 26.5607C3.15804 26.2794 3 25.8978 3 25.5V4.5C3 4.10217 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H12V10.5C12 10.8978 12.158 11.2794 12.4393 11.5607C12.7206 11.842 13.1022 12 13.5 12H21V25.5Z\"\n fill=\"#009EDB\"\n />\n </svg>\n);\n","import React from \"react\";\n\nexport const IconCheck: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"22\"\n height=\"16\"\n viewBox=\"0 0 22 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21.065 0.815035C20.9256 0.674443 20.7597 0.562851 20.5769 0.486698C20.3941 0.410545 20.198 0.371338 20 0.371338C19.802 0.371338 19.6059 0.410545 19.4231 0.486698C19.2403 0.562851 19.0744 0.674443 18.935 0.815035L7.76 12.005L3.065 7.29503C2.92022 7.15518 2.74931 7.04521 2.56202 6.9714C2.37474 6.89759 2.17476 6.8614 1.97348 6.86488C1.77221 6.86836 1.5736 6.91145 1.38898 6.99169C1.20436 7.07194 1.03736 7.18775 0.897501 7.33254C0.757643 7.47732 0.647672 7.64823 0.573866 7.83551C0.50006 8.02279 0.463864 8.22278 0.467347 8.42405C0.470829 8.62532 0.513921 8.82394 0.594161 9.00855C0.674401 9.19317 0.790219 9.36018 0.935001 9.50004L6.695 15.26C6.83445 15.4006 7.00035 15.5122 7.18314 15.5884C7.36593 15.6645 7.56198 15.7037 7.76 15.7037C7.95802 15.7037 8.15408 15.6645 8.33687 15.5884C8.51966 15.5122 8.68556 15.4006 8.825 15.26L21.065 3.02004C21.2173 2.87957 21.3388 2.70909 21.4219 2.51935C21.505 2.3296 21.5479 2.12469 21.5479 1.91754C21.5479 1.71038 21.505 1.50548 21.4219 1.31573C21.3388 1.12598 21.2173 0.955499 21.065 0.815035Z\"\n fill=\"#009EDB\"\n />\n </svg>\n);\n","import React from \"react\";\n\nexport const IconFileUpload: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"30\"\n height=\"30\"\n viewBox=\"0 0 30 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M10.0649 8.56503L13.4999 5.11503V19.5C13.4999 19.8979 13.6579 20.2794 13.9392 20.5607C14.2205 20.842 14.6021 21 14.9999 21C15.3977 21 15.7792 20.842 16.0605 20.5607C16.3418 20.2794 16.4999 19.8979 16.4999 19.5V5.11503L19.9349 8.56503C20.0743 8.70562 20.2402 8.81721 20.423 8.89337C20.6058 8.96952 20.8019 9.00873 20.9999 9.00873C21.1979 9.00873 21.394 8.96952 21.5767 8.89337C21.7595 8.81721 21.9254 8.70562 22.0649 8.56503C22.2055 8.42558 22.3171 8.25968 22.3932 8.07689C22.4694 7.8941 22.5086 7.69805 22.5086 7.50003C22.5086 7.30201 22.4694 7.10595 22.3932 6.92316C22.3171 6.74037 22.2055 6.57447 22.0649 6.43503L16.0649 0.435028C15.9222 0.298467 15.754 0.191419 15.5699 0.120028C15.2047 -0.0299994 14.7951 -0.0299994 14.4299 0.120028C14.2457 0.191419 14.0775 0.298467 13.9349 0.435028L7.93488 6.43503C7.79502 6.57489 7.68408 6.74092 7.60839 6.92365C7.5327 7.10639 7.49374 7.30224 7.49374 7.50003C7.49374 7.69782 7.5327 7.89367 7.60839 8.0764C7.68408 8.25914 7.79502 8.42517 7.93488 8.56503C8.07474 8.70489 8.24077 8.81583 8.4235 8.89152C8.60624 8.96721 8.80209 9.00617 8.99988 9.00617C9.19767 9.00617 9.39352 8.96721 9.57625 8.89152C9.75898 8.81583 9.92502 8.70489 10.0649 8.56503ZM28.4999 15C28.1021 15 27.7205 15.1581 27.4392 15.4394C27.1579 15.7207 26.9999 16.1022 26.9999 16.5V25.5C26.9999 25.8979 26.8418 26.2794 26.5605 26.5607C26.2792 26.842 25.8977 27 25.4999 27H4.49988C4.10205 27 3.72052 26.842 3.43922 26.5607C3.15791 26.2794 2.99988 25.8979 2.99988 25.5V16.5C2.99988 16.1022 2.84184 15.7207 2.56054 15.4394C2.27923 15.1581 1.8977 15 1.49988 15C1.10205 15 0.720522 15.1581 0.439218 15.4394C0.157913 15.7207 -0.00012207 16.1022 -0.00012207 16.5V25.5C-0.00012207 26.6935 0.473984 27.8381 1.3179 28.682C2.16181 29.5259 3.3064 30 4.49988 30H25.4999C26.6934 30 27.8379 29.5259 28.6819 28.682C29.5258 27.8381 29.9999 26.6935 29.9999 25.5V16.5C29.9999 16.1022 29.8418 15.7207 29.5605 15.4394C29.2792 15.1581 28.8977 15 28.4999 15Z\"\n fill=\"white\"\n />\n </svg>\n);\n","import React from \"react\";\nimport { useEffect, useReducer, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { FileStatus } from \"./FileStatus\";\nimport { initialState, reducer } from \"./FileUploadReducer\";\nimport { usePapaParse } from \"react-papaparse\";\nimport { FieldError, FieldErrorsImpl, Merge } from \"react-hook-form\";\nimport { IconFile } from \"../../assets/IconFile\";\nimport { IconCheck } from \"../../assets/IconCheck\";\nimport { IconFileUpload } from \"../../assets/FileUpload\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\n\ntype FileUploadProps = {\n icon?: \"file\" | \"image\";\n multiple?: boolean;\n direction?: \"vertical\" | \"horizontal\";\n isImage?: boolean;\n setFiles?: any;\n supportedFormats?: string[];\n validationFunction?: any;\n files?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n name?: string;\n limitMessage?: string;\n};\n\nexport const FileUpload = ({\n icon = \"file\",\n multiple = false,\n direction = \"vertical\",\n isImage = false,\n setFiles,\n supportedFormats,\n validationFunction,\n files,\n error,\n name,\n limitMessage,\n}: FileUploadProps) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n const [dragging, setDragging] = useState(false);\n const [loading, setLoading] = useState(false);\n const { readString } = usePapaParse();\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n useEffect(() => {\n if (state?.files?.some((file) => file.loading === true)) {\n setLoading(true);\n } else {\n setLoading(false);\n }\n }, [state?.files]);\n\n useEffect(() => {\n if (!files || files.length == 0) {\n state.files = [];\n }\n }, [files]);\n\n useEffect(() => {\n if ((!multiple && state?.files?.length === 0) || multiple) {\n window.addEventListener(\"dragover\", handleDragOver);\n window.addEventListener(\"drop\", handleDrop);\n window.addEventListener(\"dragleave\", handleDragLeave);\n }\n\n return () => {\n window.removeEventListener(\"dragover\", handleDragOver);\n window.removeEventListener(\"drop\", handleDrop);\n window.removeEventListener(\"dragleave\", handleDragLeave);\n };\n }, [multiple, state.files]);\n\n const handleDragOver = (event: globalThis.DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!multiple && state.files?.length === 1) {\n setDragging(false);\n } else {\n setDragging(true);\n }\n };\n\n const handleDrop = (event: globalThis.DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setDragging(false);\n\n let files = [...(event?.dataTransfer?.files as any)];\n\n if ((!multiple && files?.length === 1) || (multiple && files?.length > 0)) {\n const existingFiles = state?.files?.map((f) => f.name);\n files = files.filter((f) => !existingFiles?.includes(f.name));\n\n files.forEach((file) => {\n const reader = new FileReader();\n\n reader.addEventListener(\"loadstart\", () => {\n dispatch({\n type: \"UPLOAD_START\",\n payload: { file },\n });\n });\n\n reader.addEventListener(\"load\", () => {\n if (!validationFunction) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n }\n if (validationFunction(file)) {\n setTimeout(() => {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n }, 1000);\n\n setFiles && setFiles(file);\n } else {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name: file.name,\n },\n });\n }\n });\n\n reader.readAsDataURL(file);\n });\n event?.dataTransfer?.clearData();\n }\n };\n\n const handleDragLeave = (event: globalThis.DragEvent) => {\n if (event.screenX === 0 && event.screenY === 0) {\n setDragging(false);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n const onChangeFile = (e) => {\n const files = Object.values(e.target.files) as File[];\n e.target.value = null;\n\n files.forEach((file) => {\n const reader = new FileReader();\n\n reader.addEventListener(\"loadstart\", () => {\n dispatch({\n type: \"UPLOAD_START\",\n payload: { file },\n });\n });\n\n reader.addEventListener(\"load\", () => {\n setTimeout(() => {\n readString(String(file), {\n delimiter: \",\",\n worker: true,\n complete: (results) => {\n if (!validationFunction) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n } else if (validationFunction(file)) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n } else {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name: file.name,\n },\n });\n }\n },\n });\n }, 1000);\n });\n\n reader.readAsDataURL(file);\n });\n };\n\n const renderContent = () => {\n if (loading) {\n return <LoadingContent />;\n } else if (dragging) {\n return <DraggingContent />;\n } else if (!multiple && (state?.files?.length as any) > 0) {\n return <BlockedContent />;\n }\n\n return (\n <DefaultContent\n icon={icon}\n formats={supportedFormats?.join(\", \").replace(/\\./g, \"\").toUpperCase()}\n limitMessage={limitMessage}\n />\n );\n };\n\n const removeFile = (name: string) => {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name,\n },\n });\n setFiles && setFiles(null);\n };\n\n return (\n <div className=\"w-full\">\n <div\n className={clsx(\n \"flex gap-1 w-full rounded-lg items-center justify-center\",\n {\n \"flex-col gap-1\": direction === \"vertical\",\n }\n )}\n >\n <input\n id=\"file-upload\"\n name=\"file-upload\"\n type=\"file\"\n accept={supportedFormats?.join(\",\")}\n multiple={multiple}\n className=\"sr-only\"\n onChange={onChangeFile}\n />\n {renderContent()}\n <div\n className={clsx(\n {\n \"flex flex-col w-full gap-y-[6px]\":\n direction === \"vertical\" && !isImage,\n },\n {\n \"flex flex-col gap-y-[6px] w-full\":\n direction === \"horizontal\" && !isImage,\n },\n {\n \"flex gap-[6px]\": direction === \"vertical\" && isImage,\n },\n {\n \"flex gap-[6px]\": direction === \"horizontal\" && !isImage,\n }\n )}\n >\n {state?.files?.map((file) => (\n <FileStatus\n key={file.name}\n name={file?.name as any}\n onRemove={() => removeFile(file?.name as any)}\n isLoading={file.loading as any}\n size={file.size as any}\n isImage={file.image && isImage}\n image={file.image}\n />\n ))}\n </div>\n {hasError &&\n fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs -mt-[6px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message as any}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nconst DefaultContent = ({ formats, icon, limitMessage }) => (\n <div className=\"w-full md:w-[410px] h-full flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-2 bg-blue-100 rounded-full\"\n }\n >\n {icon === \"file\" ? (\n <IconFile />\n ) : (\n <i className=\"uil uil-image-plus text-[28px] text-blue-500\" />\n )}\n </div>\n\n <h1 className=\"font-bold text-base\">\n {icon === \"file\"\n ? \"Arraste o arquivo e solte aqui\"\n : \"Arraste as imagens e solte aqui\"}\n </h1>\n\n <label\n htmlFor=\"file-upload\"\n className=\"relative leading-none cursor-pointer text-sm bg-white focus-within:outline-none\"\n >\n <p>\n ou \n <span className=\"text-blue-500\">selecione do seu computador</span>\n </p>\n </label>\n\n <small className=\"text-label text-xxs leading-5\">\n Formatos: {formats} | {limitMessage ? limitMessage : \"Até 25 MB\"}\n </small>\n </div>\n </div>\n);\nconst BlockedContent = () => (\n <div className=\"w-full md:w-[410px] h-full flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center justify-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-1 bg-blue-100 rounded-full\"\n }\n >\n <IconCheck />\n </div>\n\n <h1 className=\"font-bold text-base mt-1\">Arquivo carregado!</h1>\n </div>\n </div>\n);\n\nconst DraggingContent = () => (\n <div className=\"w-full md:w-[410px] h-[152px] bg-blue-100 rounded-lg\">\n <div className=\"flex flex-col p-4 custom-border justify-center\">\n <div className=\"flex flex-1 flex-col h-full text-center items-center justify-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-2 bg-blue-500 rounded-full\"\n }\n >\n <IconFileUpload />\n </div>\n\n <h1 className=\"font-bold text-base text-blue-500\">\n Solte aqui para carregar o arquivo\n </h1>\n </div>\n </div>\n </div>\n);\n\nconst LoadingContent = () => (\n <div className=\"w-full h-full bg-blue-100 flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center justify-center\">\n <SpinnerIcon className=\"animate-spin\" />\n\n <h1 className=\"font-bold text-base text-blue-500\">\n Carregando arquivo...\n </h1>\n </div>\n </div>\n);\n","import { Popover } from \"./Popover/Popover\";\n\nexport function InfoIcon({\n content,\n id = \"info-id\",\n}: {\n content?: string;\n id?: string;\n}) {\n return (\n <div\n data-tooltip-id={id}\n data-tooltip-html={content}\n data-tooltip-place=\"top\"\n >\n <Popover id={id} />\n <i className=\"uil uil-info-circle text-p-lg text-neutral-400\"></i>\n </div>\n );\n}\n","export const customStyles = {\n indicatorSeparator: (provided: any, { hasValue }: any) => {\n return {\n ...provided,\n marginTop: \"-6px\",\n backgroundColor: hasValue ? \"var(--input)\" : \"transparent\",\n };\n },\n input: (provided: any, state: any) => ({\n ...provided,\n outline: \"none\",\n paddingLeft: state.selectProps.hasIcon ? \"2.5rem\" : \"0px\",\n }),\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n marginTop: \"-6px\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n display: state.selectProps.isTargeted ? \"none\" : \"flex\",\n paddingRight: \"12px\",\n marginTop: \"-6px\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 70,\n background: \"white\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"black\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n paddingLeft: \"0px\",\n placeholder: \" \",\n minHeight: \"46px\",\n alignItems: \"end\",\n paddingTop: \"8px\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingTop: \"2px\",\n lineHeight: \"16px\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n paddingRight: \"6px\",\n paddingLeft: \"0px\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color =\n state.isSelected && !state.selectProps.isTargeted\n ? \"white\"\n : \"var(--paragraph)\";\n\n if (state.isDisabled) {\n color = \"rgba(0,0,0,0.30)\";\n }\n\n return {\n ...provided,\n height: \"44px\",\n cursor: \"pointer\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : state.isFocused\n ? \"var(--neutral-200)\"\n : \"white\",\n color,\n fontWeight: state.isSelected && !state.selectProps.isTargeted ? 700 : 400,\n \"&:hover\": {\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"white\",\n fontWeight: 700,\n },\n \"&:active svg\": {\n color: \"white\",\n fontWeight: 700,\n },\n \" svg\": {\n color: \"white\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import {\n Control,\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport Select, { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./MultiSelect.styles\";\nimport clsx from \"clsx\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n options: OptionType[];\n defaultValue?: OptionType;\n control?: Control<any>;\n isSearchable?: boolean;\n required?: boolean;\n label?: string;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n disabled?: boolean;\n}\n\nexport const MultiSelect = ({\n name,\n options,\n label = \"\",\n error,\n defaultValue,\n control,\n isSearchable = false,\n required,\n disabled,\n}: SelectFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const { DropdownIndicator, Option } = components;\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i className=\"uil uil-angle-down text-[20px]\"></i>\n </DropdownIndicator>\n );\n };\n\n const IconOption = (props: any) => {\n return (\n <Option {...props}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n height: \"100%\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n </Option>\n );\n };\n\n const NoOptionsMessage = () => {\n return (\n <div className=\"p-2 text-neutral-300\">Nenhum dado encontrado</div>\n );\n };\n\n return (\n <div className=\"relative h-full\" id=\"multiselect\">\n <Select\n {...field}\n {...hasError}\n isDisabled={disabled}\n name={field.name}\n ref={field.ref}\n styles={customStyles}\n placeholder=\" \"\n isSearchable={isSearchable}\n options={options}\n isMulti\n tabSelectsValue={true}\n components={{\n ValueContainer,\n Option: IconOption,\n NoOptionsMessage,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n isOptionDisabled={(option: any) => option.blocked}\n hideSelectedOptions={false}\n closeMenuOnSelect={false}\n />\n\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\" scale-75 -translate-y-3 \"]:\n field.value && field.value.length > 0,\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs -mt-[5px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\n","export const customStyles = {\n input: (provided) => ({\n ...provided,\n outline: \"none\",\n height: \"100%\",\n }),\n indicatorSeparator: (provided) => ({\n ...provided,\n backgroundColor: \"transparent\",\n }),\n clearIndicator: (provided) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided) => ({\n ...provided,\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 30,\n background: \"white\",\n }),\n control: (provided, state) => {\n return {\n ...provided,\n cursor: \"pointer\",\n paddingTop: state.selectProps.hasLabel ? \"18px\" : \"0px\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.isFocused\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n // height: \"52px\",\n // paddingLeft: '8px',\n placeholder: state.selectProps.hasLabel\n ? \" \"\n : state.selectProps.placeholder,\n alignItems: state.selectProps.hasLabel ? \"end\" : \"center\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.isFocused\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n // height: \"52px\",\n },\n \":focus-within\": {\n // height: \"52px\",\n },\n };\n },\n multiValue: (provided) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 6px\",\n }),\n multiValueLabel: (provided) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n container: (provided) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import React from \"react\";\nimport { Controller, FieldError } from \"react-hook-form\";\nimport CreatableSelect, { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./InputTag.styles\";\nimport { KeyboardEventHandler, useState } from \"react\";\nimport clsx from \"clsx\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n required?: boolean;\n label?: string;\n error?: FieldError | undefined;\n onKeyDown?: (event: any) => void;\n blockSpaces?: boolean;\n}\n\nexport const InputTag = ({\n name,\n label = \"\",\n error,\n defaultValue,\n control,\n required,\n placeholder,\n blockSpaces = false,\n}: SelectFieldProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const removeSpaces = (value: string) => {\n return value\n ?.replace(/\\s+/g, \"-\") // Replace spaces with -\n .replace(/[^\\w\\-]+/g, \"\") // Remove all non-word chars\n .replace(/\\-\\-+/g, \"-\") // Replace multiple - with single -\n .replace(/^-+/, \"\") // Trim - from start of text\n .replace(/-+$/, \"\");\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (\n !inputValue ||\n (field?.value || []).find((item) => item?.value === inputValue)\n )\n return;\n switch (event.key) {\n case \"Enter\":\n case \"Tab\":\n field.onChange([\n ...(field?.value || []),\n {\n label: blockSpaces ? removeSpaces(inputValue) : inputValue,\n value: blockSpaces ? removeSpaces(inputValue) : inputValue,\n },\n ]);\n\n setInputValue(\"\");\n event.preventDefault();\n }\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n return (\n <div\n className={`relative ${label ? \"with-label\" : \"\"}`}\n id=\"inputtag\"\n >\n <CreatableSelect\n {...hasError}\n {...hasLabel}\n {...{ placeholder: placeholder }}\n {...field}\n styles={customStyles}\n menuIsOpen={false}\n placeholder={hasLabel.hasLabel ? \" \" : placeholder}\n isMulti\n tabSelectsValue={true}\n onKeyDown={handleKeyDown}\n isClearable={false}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n isOptionDisabled={(option) => option.blocked}\n />\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\" scale-75 -translate-y-3 \"]:\n field.value && field.value.length > 0,\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\nInputTag.displayName = \"InputTag\";","export const customStyles = {\n indicatorSeparator: (provided: any, { hasValue }: any) => {\n return {\n ...provided,\n display: \"none\",\n };\n },\n input: (provided: any, state: any) => ({\n ...provided,\n outline: \"none\",\n paddingLeft: state.selectProps.hasIcon ? \"2.5rem\" : \"0px\",\n }),\n clearIndicator: (provided: any) => ({\n ...provided,\n display: \"none\",\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n display: state.selectProps.isTargeted ? \"none\" : \"flex\",\n paddingRight: \"12px\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 70,\n background: \"white\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"black\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n paddingLeft: \"8px\",\n placeholder: \" \",\n height: \"46px\",\n alignItems: \"end\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 0px\",\n display: \"none\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingTop: \"6px\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n paddingRight: \"6px\",\n paddingLeft: \"0px\",\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color =\n state.isSelected && !state.selectProps.isTargeted\n ? \"white\"\n : \"var(--paragraph)\";\n\n if (state.isDisabled) {\n color = \"rgba(0,0,0,0.30)\";\n }\n\n return {\n ...provided,\n height: \"44px\",\n cursor: \"pointer\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : state.isFocused\n ? \"var(--neutral-200)\"\n : \"white\",\n color,\n fontWeight: state.isSelected && !state.selectProps.isTargeted ? 700 : 400,\n \"&:hover\": {\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"white\",\n fontWeight: 700,\n },\n \"&:active svg\": {\n color: \"white\",\n fontWeight: 700,\n },\n \" svg\": {\n color: \"white\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n valueContainer: (provided: any) => ({\n ...provided,\n padding: \"2px 0px\",\n }),\n};\n","import {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport AsyncSelect from \"react-select/async\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./MultiSelectBottom.styles\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n options: OptionType[];\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n required?: boolean;\n label?: string;\n error?: FieldError | Merge<FieldError, FieldErrorsImpl<any>>;\n disabled?: boolean;\n emptyMessage?: string;\n filterOptions?: (value: any) => any;\n debounce?: number;\n}\n\nexport const MultiSelectBottom = ({\n name,\n options,\n label = \"\",\n error,\n defaultValue,\n control,\n isSearchable = false,\n required,\n disabled,\n emptyMessage,\n filterOptions,\n debounce = 0,\n}: SelectFieldProps) => {\n const [loading, setLoading] = useState(false);\n const [optionsList, setOptionsList] = useState(() => options || []);\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const loadOptions = (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n const result = filterOptions(inputValue);\n setLoading(false);\n return result;\n }\n } else {\n setOptionsList(options);\n }\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const { DropdownIndicator, Option } = components;\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i className=\"uil uil-angle-down text-[20px]\"></i>\n </DropdownIndicator>\n );\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (props.selectProps.inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && props.selectProps.inputValue.length < debounce)\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n } else if (\n props.selectProps.inputValue.length > 0 &&\n props?.options?.length == 0\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">Nenhum dado encontrado</div>\n );\n }\n };\n\n const IconOption = (props: any) => {\n return (\n <Option {...props}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n height: \"100%\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (\n !debounce ||\n (debounce && props.selectProps.inputValue.length >= debounce)\n ) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <img\n className=\"animate-spin \"\n src=\"/spinner.svg\"\n alt=\"circle\"\n width={16}\n height={16}\n />\n Buscando...\n </div>\n );\n } else if (\n debounce &&\n props.selectProps.inputValue.length < debounce\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n }\n };\n\n return (\n <div className=\"relative h-full\" id=\"multiselectbottom\">\n <AsyncSelect\n {...field}\n {...hasError}\n isDisabled={disabled}\n name={field.name}\n ref={field.ref}\n styles={customStyles}\n placeholder=\" \"\n isSearchable={isSearchable}\n options={optionsList}\n isMulti\n defaultOptions={\n debounce > 0 ? false : options ? optionsList : true\n }\n loadOptions={loadOptions}\n tabSelectsValue={true}\n components={{\n ValueContainer,\n Option: IconOption,\n NoOptionsMessage: NoOptionsMessage as any,\n LoadingMessage: LoadingMessage as any,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n isOptionDisabled={(option: any) => option.blocked}\n hideSelectedOptions={false}\n closeMenuOnSelect={false}\n backspaceRemovesValue={false}\n />\n\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n {fieldValidationMessages?.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[3px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n <div className=\"flex items-center gap-x-2 gap-y-1 flex-wrap\">\n {field?.value?.length > 0 ? (\n field?.value?.map((item) => (\n <div className=\"text-p-sm bg-neutral-100 rounded-[20px] py-2 px-3 flex items-center justify-between mt-3\">\n <span className=\"whitespace-nowrap\">{item.label}</span>\n <button\n type=\"button\"\n onClick={() => {\n const copy = [...field.value];\n const index = copy.findIndex(\n (opt) => opt.value == item.value\n );\n copy.splice(index, 1);\n field.onChange(copy);\n }}\n >\n <i className=\"uil uil-times text-sm text-neutral-400\"></i>\n </button>\n </div>\n ))\n ) : (\n <span className=\"text-p-md text-label pt-2 pl-2\">\n {emptyMessage || \"Nenhuma opção selecionada\"}\n </span>\n )}\n </div>\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\nMultiSelectBottom.displayName = \"MultiSelectBottom\";","import React from \"react\";\n\nexport function PageBox(props: {\n title?: string;\n children?: React.ReactNode;\n}) {\n return (\n <div className=\"py-5 px-4 border border-neutral-200 rounded-lg\">\n {props?.title && (\n <h1 className=\"text-t-xs font-bold text-title mb-4\">{props.title}</h1>\n )}\n {props?.children}\n </div>\n );\n}\n","import { JSX } from \"react\";\n\ntype PageHeaderProps = {\n title: JSX.Element | string;\n breadcrumbs?: {\n name: string;\n link?: string;\n }[];\n children?: JSX.Element;\n description?: JSX.Element | string;\n};\n\nexport const PageHeader = ({\n title,\n breadcrumbs,\n children,\n description,\n}: PageHeaderProps) => {\n return (\n <div className=\"flex flex-col md:flex-row place-content-between font-sans pb-4 w-full\">\n <div className=\"flex flex-col gap-1\">\n <div className=\"flex flex-row items-center text-p-lg text-label\">\n {breadcrumbs &&\n breadcrumbs.map((breadcrumb, index) => (\n <div key={index}>\n {breadcrumb.link ? (\n <a\n href={breadcrumb.link}\n className=\"hover:no-underline hover:text-paragraph\"\n >\n <span className=\"cursor-pointer flex items-center\">\n {index > 0 && <i className=\"uil uil-angle-right\"></i>}\n {breadcrumb.name}\n </span>\n </a>\n ) : (\n <div className=\"flex items-center\">\n <i className=\"uil uil-angle-right\"></i>\n <span\n className={\n index === breadcrumbs.length - 1 ? \"text-paragraph\" : \"\"\n }\n >\n {breadcrumb.name}\n </span>\n </div>\n )}\n </div>\n ))}\n </div>\n <div>\n <h2 className=\"text-t-md text-title font-bold mb-1\">{title}</h2>\n {description && (\n <span className=\"text-p-lg text-label\">{description}</span>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-6 md:justify-end flex-1 mt-2 md:mt-0\">\n {children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { useEffect, useState } from \"react\";\n\ntype ProgressBarProps = {\n percentage: number;\n variant: \"primary\" | \"success\" | \"danger\" | \"info\";\n status: string;\n};\n\nconst variants = {\n primary: {\n bar: \"bg-gradient-to-b from-blue-start to-blue-end\",\n text: \"text-blue-500\",\n },\n success: {\n bar: \"bg-gradient-to-b from-success-start to-success-end\",\n text: \"text-success-500\",\n },\n danger: {\n bar: \"bg-gradient-to-b from-danger-start to-danger-end\",\n text: \"text-dangerous-600\",\n },\n info: {\n bar: \"bg-gradient-to-b from-blue-start to-blue-end\",\n text: \"text-blue-500\",\n },\n};\n\nexport const ProgressBar = ({\n percentage,\n variant = \"primary\",\n status,\n}: ProgressBarProps) => {\n const [barPercentage, setBarPercentage] = useState(() => fixPercentage());\n\n function fixPercentage() {\n if (percentage > 100) {\n return 100;\n } else {\n return percentage;\n }\n }\n useEffect(() => {\n setBarPercentage(fixPercentage());\n }, [percentage]);\n\n return (\n <div className=\"flex flex-col gap-y-[2px] min-w-[170px]\">\n <div className=\"w-full p-[1px] border border-neutral-300 rounded-[15px]\">\n <div\n className={clsx(variants[variant].bar, \"h-[14px] rounded-[15px]\")}\n style={{ width: `${barPercentage}%` }}\n ></div>\n </div>\n {status && (\n <span className={clsx(variants[variant].text, \"text-blue-500 text-xs\")}>\n {status}\n {percentage && (\n <span className=\"font-bold\"> - {percentage} %</span>\n )}\n </span>\n )}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { useState, JSX } from \"react\";\n\nexport type TabsProps = {\n tabs: {\n key: string;\n label: string | JSX.Element;\n icon?: any;\n children: JSX.Element;\n hidden?: boolean;\n }[];\n onClick?: (current) => void;\n};\n\nexport function SimpleTab({ tabs, onClick }: TabsProps) {\n const [currentTab, setCurrentTab] = useState(0);\n\n function isCurrentTab(index) {\n return index === currentTab;\n }\n return (\n <div className=\"flex-1 flex flex-col\">\n <div className=\"flex flex-col h-full flex-1\">\n <div className=\"border-b border-neutral-200\">\n <div className=\"-mb-px flex\" aria-label=\"Tabs\">\n {tabs\n .filter((item) => !item.hidden)\n .map((tab, index) => (\n <nav\n key={tab.key}\n className={clsx(\n isCurrentTab(index)\n ? \"border-rose-700 text-rose-700 font-bold hover:border-rose-800 hover:text-rose-800 hover:font-bold\"\n : \"border-transparent text-label hover:text-paragraph\",\n \"group cursor-pointer flex items-center border-b-2 py-1 px-4 text-base\"\n )}\n aria-current={isCurrentTab(index) ? \"page\" : undefined}\n onClick={() => {\n setCurrentTab(index);\n if (onClick) {\n onClick(tabs[index]);\n }\n }}\n >\n <div\n id=\"tab-icon\"\n className={clsx(\n isCurrentTab(index)\n ? \"text-rose-700 group-hover:text-rose-800\"\n : \"text-label group-hover:text-paragraph\",\n { \"-ml-0.5 mr-2\": tab.icon }\n )}\n aria-hidden=\"true\"\n >\n {tab.icon}\n </div>\n <span>{tab.label}</span>\n </nav>\n ))}\n </div>\n </div>\n <div className=\"h-full flex-1 flex flex-col\">\n {tabs[currentTab].children}\n </div>\n </div>\n </div>\n );\n}\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonDetails = ({ loading, ...props }) => {\n const label = (\n <div className=\"w-[120px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const description = (\n <div className=\"w-[105px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const details = (\n <div className=\"flex flex-col gap-2 w-[25%]\">\n {label}\n {description}\n </div>\n );\n\n const lineDetails = (\n <div className=\"flex items-start justify-between\">\n {Array(5)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"line\"}>{details}</div>\n ))}\n </div>\n );\n\n const timeline = (\n <div className=\"flex flex-col\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div className=\"flex\" key={index}>\n <div className=\"mr-3 relative\">\n {index !== 2 && (\n <div className=\"w-[2px] bg-neutral-200 ml-[5px] h-full absolute mt-10\"></div>\n )}\n <div className=\"relative mt-10\">\n <div className=\"h-3 w-3 rounded-full bg-neutral-100\"></div>\n <div className=\"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px] bg-neutral-300\"></div>\n </div>\n </div>\n <div className=\"flex flex-col h-[60px] mt-3 relative gap-[4px]\">\n <div className=\"w-[105px] h-4\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n <div className=\"w-[105px] h-4\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n </div>\n ))}\n </div>\n );\n\n return (\n <div className=\"flex-1 w-full h-full\">\n <div className={clsx({ [\"hidden\"]: !loading }, \"flex flex-col gap-4\")}>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex items-center gap-[4px]\">\n {label}\n <div className=\"w-3 h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n </div>\n <div className=\"flex items-center gap-3\">\n <div className=\"w-[200px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n <div className=\"w-[95px] h-5\">\n <Skeleton className=\"h-full rounded-l\" />\n </div>\n </div>\n <div className=\"w-[480px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"w-[150px] h-[46px]\">\n <Skeleton className=\"h-full\" />\n </div>\n <div className=\"w-[150px] h-[46px]\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-4\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"tabs\"} className=\"w-[220px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n ))}\n </div>\n <div className=\"h-[1px] w-full bg-neutral-200\"></div>\n </div>\n <div className=\"flex items-start gap-8\">\n <div className=\"w-[75%] border border-neutral-200 rounded-lg p-4 flex flex-col gap-6\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"lineDetails\"}>{lineDetails}</div>\n ))}\n </div>\n <div className=\"flex-1 flex-col\">\n <div className=\"p-3 border border-neutral-200 rounded-lg\">\n {label}\n </div>\n <div className=\"border-x border-neutral-200 -mt-1 p-4 pt-[20px] flex items-center gap-2\">\n <div className=\"w-6 h-6\">\n <Skeleton className=\"h-full rounded-f\" />\n </div>\n {label}\n </div>\n <div className=\"border border-neutral-200 rounded-b-lg p-4 pt-0\">\n {timeline}\n </div>\n </div>\n </div>\n </div>\n <div\n className={clsx(\n { [\"hidden\"]: loading },\n \"flex flex-1 w-full h-full flex-col\"\n )}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonList = ({ loading, ...props }) => {\n const tableLine = (\n <div className=\"border-b gap-x-2 border-neutral-200 py-6 px-2 flex items-center justify-between\">\n <div className=\"w-[200px] h-6\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n </div>\n );\n\n const headerItem = (\n <div className=\"border border-neutral-200 rounded-lg py-3 px-2 flex items-center justify-between gap-5\">\n <div className=\"w-[200px] h-6\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n </div>\n );\n\n const buttonPagination = (\n <div className=\"w-8 h-8 rounded-md\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n return (\n <div className=\"flex flex-1 flex-col gap-y-4\">\n <div\n className={clsx(\n { [\"hidden\"]: !loading },\n \"flex-1 flex flex-col h-full justify-between relative\"\n )}\n >\n <div className=\"flex-1\">\n <div className=\"mt-3\">\n {new Array(1).fill(null).map((_, index) => (\n <div key={index + \"second\"}>{headerItem}</div>\n ))}\n {new Array(4).fill(null).map((_, index) => (\n <div key={index + \"third\"}>{tableLine}</div>\n ))}\n </div>\n </div>\n <div className=\"py-4 px-6 sticky bottom-0 bg-white w-full border border-neutral-200 rounded-t-lg flex items-center gap-3 justify-end\">\n <div className=\"w-[190px] h-6 rounded-md\">\n <Skeleton className=\"h-full\" />\n </div>\n {Array(5)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"buttons\"}>{buttonPagination}</div>\n ))}\n </div>\n </div>\n <div className={clsx({ [\"hidden\"]: loading }, \"flex flex-1 h-full\")}>\n {props.children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonRegister = ({ loading, ...props }) => {\n const label = (\n <div className=\"w-[120px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const subtitle = (\n <div className=\"w-[204px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const input = (\n <div className=\"w-[316px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const inputSm = (\n <div className=\"w-[126px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n return (\n <>\n <div className={clsx({ [\"hidden\"]: !loading })}>\n <div className=\"flex flex-col gap-5\">\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-[4px]\">\n {label}\n <div className=\"w-3 h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n </div>\n <div className=\"w-[250px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"w-full border border-neutral-200 rounded-lg px-4 py-6\">\n <div>\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n {Array(4)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"first\"}>{input}</div>\n ))}\n </div>\n <div className=\"mt-6 flex items-center gap-4\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"second\"}>{input}</div>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n {Array(2)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"third\"}>{input}</div>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n <div className=\"w-[216px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"mt-4 flex items-center gap-4\">\n {input}\n {inputSm}\n {input}\n </div>\n <div className=\"mt-4 flex items-center gap-4\">\n {input}\n {input}\n {inputSm}\n </div>\n </div>\n </div>\n </div>\n <div className=\"flex items-center justify-end gap-4 mt-6\">\n {Array(2)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"buttons\"}>{inputSm}</div>\n ))}\n </div>\n </div>\n <div className={clsx({ [\"hidden\"]: loading })}>{props.children}</div>\n </>\n );\n};\n","import clsx from \"clsx\";\n\nexport type StatusBallProps = {\n label?: string;\n variant?: keyof typeof variants;\n};\n\nconst variants = {\n success: {\n small: \"bg-success-600\",\n big: \"bg-success-100\",\n },\n dangerous: {\n small: \"bg-dangerous-600\",\n big: \"bg-dangerous-100\",\n },\n warning: {\n small: \"bg-warning-600\",\n big: \"bg-warning-100\",\n },\n info: {\n small: \"bg-blue-500\",\n big: \"bg-blue-100\",\n },\n gray: {\n small: \"bg-neutral-300\",\n big: \"bg-neutral-100\",\n },\n};\n\nexport const StatusBall = ({ label, variant = \"info\" }: StatusBallProps) => {\n return (\n <div className=\"flex items-center gap-2\">\n <div className=\"relative\">\n <div\n className={clsx(\n {\n [variants[variant].big]: true,\n },\n \"h-3 w-3 rounded-full\"\n )}\n ></div>\n <div\n className={clsx(\n {\n [variants[variant].small]: true,\n },\n \"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px]\"\n )}\n ></div>\n </div>\n <span className=\"text-p-md text-paragraph font-normal\">{label}</span>\n </div>\n );\n};\n","import { Tab, TabGroup, TabList, TabPanel, TabPanels } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { ReactNode, useState, JSX } from \"react\";\nimport { Button } from \"./Button\";\n\ntype tab = {\n key: string;\n label: string;\n icon: JSX.Element | string;\n children: JSX.Element;\n secondChildren?: JSX.Element;\n required?: boolean;\n disabled?: boolean;\n subPanel?: JSX.Element;\n};\n\nexport type TabProps = {\n tabs: tab[];\n createButtonLabel: string;\n cancelButton: ReactNode;\n buttonDisabled?: boolean;\n buttonLoading?: boolean;\n saveButton?: JSX.Element;\n onClick?: (value: tab) => void;\n onSave?: () => void | number;\n showNextStep?: boolean;\n};\n\nexport const Tabs = ({\n tabs,\n cancelButton,\n buttonDisabled,\n createButtonLabel,\n buttonLoading,\n saveButton,\n onClick,\n onSave,\n showNextStep = true,\n}: TabProps) => {\n const [selectedTab, setSelectedTab] = useState(0);\n\n const ShowSaveButton = saveButton ? (\n <>{saveButton}</>\n ) : (\n <Button\n icon={<i className=\"uil uil-check\"></i>}\n variant=\"primary\"\n loading={buttonLoading}\n onClick={async () => {\n if (onSave) {\n const resp = await onSave();\n if (typeof resp == \"number\") {\n setSelectedTab(resp);\n }\n }\n }}\n >\n {createButtonLabel}\n </Button>\n );\n\n return (\n <div className=\"flex flex-col w-full\">\n <TabGroup\n selectedIndex={selectedTab}\n onChange={(index) => {\n setSelectedTab(index);\n if (onClick) onClick(tabs[index]);\n }}\n >\n <TabList className=\"flex gap-2\">\n {tabs.map((tab, index) => {\n return (\n <Tab\n key={tab.key}\n disabled={tab?.disabled}\n className={({ selected }) =>\n clsx(\n \"group inline-flex rounded-t-lg font-bold text-p-md border border-neutral-200 px-6 py-3 z-20\",\n {\n \"text-rose-700 border-b-0 bg-white shadow-tabs\": selected,\n \"bg-neutral-100 text-rose-700 opacity-80 shadow-tabDisabled\":\n !selected && !tab.disabled,\n \"text-disabled bg-neutral-100 shadow-tabDisabled\":\n tab.disabled && !selected,\n }\n )\n }\n >\n <div\n className={clsx(\n \"-ml-0.5 md:mr-2 flex items-center justify-center font-bold rounded-full h-8 w-8 group-aria-selected:bg-rose-700 group-aria-selected:text-white\",\n {\n \"bg-neutral-200 text-disabled\": tab.disabled,\n \"text-white bg-rose-700\": !tab.disabled,\n }\n )}\n aria-hidden=\"true\"\n >\n <span className=\"mt-[1px]\">{index + 1}</span>\n </div>\n\n <span className=\"self-center hidden md:block\">{tab.label}</span>\n </Tab>\n );\n })}\n </TabList>\n\n <TabPanels>\n {tabs.map((tab) => {\n return (\n <div key={tab.key} className=\"flex flex-col gap-y-6\">\n <TabPanel>\n <div\n className={clsx({\n [\"flex items-start justify-between gap-6 flex-col md:flex-row\"]:\n tab.secondChildren,\n })}\n >\n <div className=\"w-full flex-1\">\n <div className=\"outline-none border border-neutral-200 px-4 py-6 rounded-lg rounded-tl-none -mt-[1px]\">\n {tab.children}\n </div>\n\n {tab.subPanel && (\n <div className=\"mt-4\">{tab.subPanel}</div>\n )}\n </div>\n {tab.secondChildren}\n </div>\n </TabPanel>\n </div>\n );\n })}\n </TabPanels>\n </TabGroup>\n\n <div className=\"flex self-start gap-x-4 mt-6 mb-10\">\n {selectedTab === 0 ? (\n cancelButton\n ) : (\n <Button\n variant=\"secondary\"\n onClick={(e) => {\n e.preventDefault();\n setSelectedTab(selectedTab - 1);\n }}\n >\n Voltar\n </Button>\n )}\n\n {selectedTab !== tabs.length - 1 && showNextStep ? (\n <Button\n variant=\"primary\"\n disabled={buttonDisabled}\n onClick={(e) => {\n if (onClick) onClick(tabs[selectedTab + 1]);\n if (!tabs[selectedTab + 1].disabled) {\n e.preventDefault();\n setSelectedTab(selectedTab + 1);\n }\n }}\n >\n Próximo\n </Button>\n ) : (\n <>{ShowSaveButton}</>\n )}\n </div>\n </div>\n );\n};\n\nTabs.displayName = \"Tabs\";","import { FieldError, UseFormRegisterReturn } from \"react-hook-form\";\nimport { DetailedHTMLProps, TextareaHTMLAttributes, useRef } from \"react\";\nimport clsx from \"clsx\";\n\ntype TextAreaProps = DetailedHTMLProps<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n> & {\n label?: string;\n registration?: UseFormRegisterReturn;\n error?: FieldError;\n inputProps?: any;\n};\n\nexport const TextArea = ({\n label,\n registration,\n disabled,\n error,\n inputProps,\n name,\n}: TextAreaProps) => {\n const inputRef = useRef(null);\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `border border-neutral-800 rounded-lg block pb-[10px] pt-[18px] w-full disabled:bg-neutral-100 focus-visible:border-blue-500 focus-visible:border-1 text-p-md peer shadow-input pl-2 outline-none ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 text-paragraph\"\n }`,\n label: `cursor-text absolute text-label top-[0.70rem] z-10 transform origin-[0] -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-3 left-2.5`,\n };\n\n return (\n <div>\n <div className=\"relative outline-none\">\n <textarea\n id={name}\n name={name}\n ref={inputRef}\n className={clsx(styles.input)}\n placeholder=\" \"\n disabled={disabled}\n rows={4}\n {...registration}\n {...inputProps}\n />\n <label className={clsx(styles.label)} htmlFor={name}>\n {label}\n </label>\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { JSX } from \"react\";\nexport type TimelineProps = {\n data: {\n date?: string;\n label: string;\n description?: string;\n variant: string;\n info?: string;\n action?: JSX.Element;\n color?: string;\n }[];\n};\n\nexport const translateVariant = (variant) => {\n switch (variant) {\n case \"green\":\n return \"success\";\n case \"red\":\n return \"dangerous\";\n case \"orange\":\n return \"warning\";\n case \"blue\":\n return \"info\";\n default:\n return \"gray\";\n }\n};\n\nconst variants = {\n success: {\n small: \"bg-success-500\",\n big: \"bg-success-100\",\n },\n dangerous: {\n small: \"bg-dangerous-500\",\n big: \"bg-dangerous-100\",\n },\n warning: {\n small: \"bg-warning-500\",\n big: \"bg-warning-100\",\n },\n info: {\n small: \"bg-blue-500\",\n big: \"bg-blue-100\",\n },\n gray: {\n small: \"bg-neutral-300\",\n big: \"bg-neutral-100\",\n },\n};\n\nexport const Timeline = ({ data }: TimelineProps) => {\n return (\n <div className=\"flex flex-col\">\n {data?.length > 0 &&\n data?.map((item, index) => (\n <div className=\"flex\" key={index}>\n <div className=\"mr-3 relative\">\n {index !== data.length - 1 && (\n <div className=\"w-[2px] bg-neutral-200 ml-[5px] h-full absolute mt-8\"></div>\n )}\n <div className=\"relative mt-8\">\n <div\n className={clsx(\n {\n [variants[item?.variant]?.big]: !item?.color,\n },\n \"h-3 w-3 rounded-full\"\n )}\n style={{\n backgroundColor:\n item?.color ?? variants[item?.variant]?.big,\n }}\n ></div>\n <div\n className={clsx(\n {\n [variants[item?.variant]?.small]: !item?.color,\n },\n \"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px]\"\n )}\n style={{\n backgroundColor:\n item?.color ?? variants[item?.variant]?.small,\n }}\n ></div>\n </div>\n </div>\n <div className=\"flex flex-col mt-3 relative\">\n <span className=\"text-p-sm text-label\">{item?.date}</span>\n <div className=\"flex items-center gap-[3px]\">\n <span className=\"text-p-md text-paragraph font-bold\">\n {item?.label}\n </span>\n {item?.action}\n </div>\n <span className=\"text-p-sm text-paragraph\">\n {item?.description}\n </span>\n <span className=\"text-p-xs text-paragraph\">{item?.info}</span>\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nTimeline.displayName = \"Timeline\";","import {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n useRef,\n} from \"react\";\nimport {\n Control,\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<unknown>> | any;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n control: Control<unknown> | any;\n searchOnClick?: () => void;\n};\nexport function ControlledInput({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n onChange,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n control,\n searchOnClick,\n}: InputFieldProps) {\n let inputRef = useRef<HTMLInputElement>(null);\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear: `absolute top-[7px] cursor-pointer text-label text-[22px] ${\n searchOnClick ? \"right-[46px]\" : \"right-[8px]\"\n }`,\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <Controller\n name={name as never}\n control={control}\n render={({ field }) => {\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n {icon && !searchOnClick && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <input\n {...field}\n id={name}\n type={type}\n name={name}\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField && !searchOnClick,\n [\"pr-[68px]\"]: clearField && searchOnClick,\n [\"pr-2\"]: !clearField && !searchOnClick,\n [\"pl-[57px]\"]: (!label && placeholder && icon) || icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={inputRef}\n {...inputProps}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\",\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3.5rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\",\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n {clearField &&\n field?.value &&\n field?.value !== \"\" &&\n !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\",\n )}\n onClick={() => {\n field.onChange(\"\");\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n {searchOnClick && (\n <div className=\"py-1 absolute top-[7px] right-[8px]\">\n <button\n disabled={disabled}\n type=\"button\"\n className={clsx({\n [\"border-l border-input pl-1\"]:\n clearField && field?.value && !disabled,\n [\"text-blue-500\"]: !disabled,\n [\"text-neutral-300\"]: disabled,\n })}\n onClick={searchOnClick}\n >\n <i className=\"uil uil-search text-[16px] mr-2 pl-1\"></i>\n </button>\n </div>\n )}\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-500 text-xs left-[4px] -bottom-[18px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nControlledInput.displayName = \"ControlledInput\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/assets/spinner.tsx","../src/components/Button.tsx","../src/components/ButtonLink.tsx","../src/components/Input.tsx","../src/components/Logo.tsx","../src/components/Rocket.tsx","../src/stores/field-errors.ts","../src/components/DatePickerInput.tsx","../src/components/Badge.tsx","../src/components/Calendar.tsx","../src/components/Checkbox.tsx","../src/components/FilterButton/FilterCalendar.tsx","../src/components/InputSmall/InputSmall.tsx","../src/components/FilterButton/FilterOptions.tsx","../src/utils/intl-currency-input.ts","../src/components/InputMoney.tsx","../src/utils/debounce.ts","../src/components/InputNumber.tsx","../src/components/InputPercentage.tsx","../src/components/MaskedInput.tsx","../src/components/ModalDialog.tsx","../src/components/Popover/Popover.tsx","../src/components/Select/Select.styles.ts","../src/components/Select/Select.tsx","../src/components/SelectFieldBip/SelectFieldBip.styles.tsx","../src/components/SelectFieldBip/SelectFieldBip.tsx","../src/components/RadioButton/Radio.tsx","../src/components/Toggle.tsx","../src/components/Table/PaginationSelects.tsx","../src/components/Table/TableComponents.tsx","../src/components/Table/DataTablePagination.tsx","../src/components/Table/index.tsx","../src/components/Accordion.tsx","../src/components/CopyPopover.tsx","../src/components/Dropdown/Menu.tsx","../src/components/Dropdown/Item.tsx","../src/components/EditableButton.tsx","../src/components/EditableText.tsx","../src/components/EditableTextSelect.tsx","../src/components/FileUpload/ImagePreview.tsx","../src/components/FileUpload/FileStatus.tsx","../src/components/FileUpload/FileUploadReducer.tsx","../src/assets/IconFile.tsx","../src/assets/IconCheck.tsx","../src/assets/FileUpload.tsx","../src/components/FileUpload/FileUpload.tsx","../src/components/InfoIcon.tsx","../src/components/MultiSelect/MultiSelect.styles.tsx","../src/components/MultiSelect/MultiSelect.tsx","../src/components/InputTag/InputTag.styles.tsx","../src/components/InputTag/InputTag.tsx","../src/components/MultiSelectBottom/MultiSelectBottom.styles.tsx","../src/components/MultiSelectBottom/MultiSelectBottom.tsx","../src/components/PageBox.tsx","../src/components/PageHeader.tsx","../src/components/ProgressBar.tsx","../src/components/SimpleTab.tsx","../src/components/SkeletonLoading/SkeletonDetails.tsx","../src/components/SkeletonLoading/SkeletonList.tsx","../src/components/SkeletonLoading/SkeletonRegister.tsx","../src/components/StatusBar.tsx","../src/components/Tabs.tsx","../src/components/TextArea.tsx","../src/components/Timeline.tsx","../src/components/ControlledInput/ControlledInput.tsx"],"names":["jsx","useEffect","jsxs","clsx","Fragment","sizes","variants","forwardRef","_a","React","create","set","useState","useRef","Controller","DateInput3","format","parse","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","DateRangePicker3","subYears","DatePicker3","Popover","Float","PopoverButton","PopoverPanel","ListboxOption","_b","Listbox","ListboxOptions","IntlCurrencyInputRaw","value","lodashNamespace","useMemo","InputMask","customStyles","cloneElement","Modal","Tooltip","debounce","components","inputValue","onChange","AsyncSelect","useImperativeHandle","ValueContainer","Switch","_c","_d","_e","_f","Combobox","React5","rankItem","pageIndex","pageSize","useReactTable","getCoreRowModel","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getExpandedRowModel","flexRender","Transition","HeadlessMenu","MenuButton","MenuItems","MenuItem","Fuse","Menu","Dialog","useReducer","usePapaParse","files","name","Select","CreatableSelect","Skeleton","TabGroup","TabList","Tab","TabPanels","TabPanel"],"mappings":"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","file":"index.cjs","sourcesContent":["import React from \"react\";\n\nexport const SpinnerIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n {...props}\n width={`${props.width || 33}`}\n height={`${props.height || 33}`}\n viewBox=\"0 0 33 33\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M21.4671 32.1821C18.269 33.1951 14.8378 33.2061 11.6333 32.2137C8.42885 31.2213 5.6044 29.2729 3.53866 26.6297C1.47293 23.9866 0.264665 20.7751 0.0758752 17.4258C-0.112914 14.0765 0.726798 10.7495 2.48242 7.89096C4.23804 5.03242 6.82565 2.77896 9.89828 1.43272C12.9709 0.0864894 16.3817 -0.288163 19.6733 0.359002C22.9649 1.00617 25.98 2.64421 28.3142 5.0535C30.6485 7.46279 32.1903 10.5282 32.7331 13.8386L28.9102 14.4653C28.4953 11.9345 27.3165 9.59102 25.532 7.74911C23.7474 5.9072 21.4424 4.65491 18.926 4.16015C16.4095 3.66539 13.802 3.95181 11.4529 4.98101C9.10388 6.01021 7.12564 7.73299 5.78346 9.91835C4.44128 12.1037 3.79932 14.6472 3.94365 17.2077C4.08798 19.7683 5.01171 22.2235 6.59097 24.2442C8.17023 26.2649 10.3295 27.7544 12.7794 28.5132C15.2292 29.2719 17.8524 29.2634 20.2973 28.489L21.4671 32.1821Z\"\n fill={props.fill || \"#009EDB\"}\n />\n </svg>\n);\n","import React, { JSX, useEffect } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\nimport clsx from \"clsx\";\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n icon?: JSX.Element;\n variant?: keyof typeof variants;\n size?: keyof typeof sizes;\n loading?: boolean;\n loadingIcon?: JSX.Element;\n dropdown?: boolean;\n hotkey?: string;\n hotkeyPosition?: \"top\" | \"bottom\" | \"left\" | \"right\" | \"inside\";\n};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[12px] leading-3\",\n },\n xxsm: {\n text: \"h-6 min-w-6 max-w-6 !rounded-md\",\n icon: \"text-[12px] leading-3\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px] leading-4\",\n },\n sm: {\n text: \"h-[32px] text-[12px]\",\n icon: \"text-[12px] leading-3\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px] leading-5\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px] leading-5\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"bg-gradient-to-b from-[#FF4D8B] to-[#DA3063] text-white shadow-[0_2px_6px_0_rgba(218,48,99,0.25)] hover:from-[#ff4d84] hover:to-[#df4573] active:from-[#ae264f] active:to-[#ae264f] disabled:opacity-50 disabled:shadow-none active:shadow-none disabled:hover:from-[#FF4D8B] disabled:hover:to-[#DA3063]\",\n },\n secondary: {\n text: \"shadow-button bg-surface border-[0.5px] border-neutral-300 text-neutral-600 hover:bg-neutral-100 hover:text-neutral-600 active:text-neutral-600 active:bg-neutral-200 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button gap-1 bg-surface border-[0.5px] border-neutral-300 text-neutral-500 hover:bg-neutral-100 hover:text-neutral-600 active:bg-neutral-100 active:text-neutral-600 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-surface disabled:opacity-50 active:shadow-none\",\n },\n outline: {\n text: \"shadow-button bg-surface border-[0.5px] border-rose-500 text-rose-500 hover:bg-rose-50 hover:text-rose-600 active:bg-rose-100 active:text-rose-600 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-400 disabled:no-underline outline-none focus:outline-none shadow-none font-normal\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-300 hover:bg-dangerous-100 hover:text-dangerous-600 active:bg-dangerous-500 active:text-white disabled:opacity-50 disabled:bg-surface disabled:text-dangerous-500 active:shadow-none\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#fe6464] hover:to-[#e24e4e] active:from-dangerous-600 active:to-dangerous-600 disabled:opacity-50 disabled:from-dangerous-500 disabled:to-dangerous-500 active:shadow-none\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#40f09b] hover:to-[#28c67a] active:from-success-600 active:to-success-600 disabled:opacity-50 disabled:from-success-start disabled:to-success-end active:shadow-none\",\n },\n successOutline: {\n text: \"active:shadow-none shadow-green-sm text-green-500 font-bold bg-surface border-[0.5px] border-green-500 hover:bg-green-100 active:bg-green-100 active:text-white disabled:opacity-50 disabled:bg-surface disabled:text-green-500\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#febd5b] hover:to-[#f4a52e] active:from-warning-600 active:to-warning-600 disabled:opacity-50 disabled:from-warning-start disabled:to-warning-end active:shadow-none\",\n },\n blue: {\n text: \"shadow-button bg-blue-500 text-accent-label hover:bg-blue-600 active:bg-blue-600 text-bold\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-surface disabled:opacity-50 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-surface text-rose-500 hover:shadow-button hover:text-rose-600 active:bg-rose-500 active:text-white disabled:text-neutral-400 disabled:border-disabled disabled:bg-surface disabled:opacity-50 active:shadow-none\",\n },\n dangerLight: {\n text: \"active:shadow-none shadow-red-sm text-danger-500 font-bold bg-surface border-[0.5px] border-dangerous-300 hover:bg-dangerous-100 active:bg-danger-500 active:text-white disabled:opacity-50 disabled:bg-surface disabled:text-danger-500\",\n },\n ghost: {\n text: \"bg-transparent hover:bg-neutral-100 !rounded-full text-paragraph active:bg-neutral-200 disabled:opacity-50\",\n },\n};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\n },\n xxsm: {\n normal: \"p-[5px]\",\n icon: \"p-[5px]\",\n },\n xs: {\n normal: \"p-2\",\n icon: \"p-2\",\n },\n sm: {\n normal: \"px-3 py-[6px]\",\n icon: \"py-[6px] pl-2 pr-3\",\n },\n md: {\n normal: \"py-2 px-4\",\n icon: \"py-2 pl-3 pr-4\",\n },\n lg: {\n normal: \"py-3 px-4\",\n icon: \"p-3 pr-4\",\n },\n};\n\nexport const Button = ({\n variant = \"primary\",\n size = \"lg\",\n hotkey,\n hotkeyPosition = \"bottom\",\n ...props\n}: ButtonProps) => {\n const applyGap = props.icon && props.children;\n const appliedVariant = variants[variant].text;\n const appliedSize = sizes[size];\n const appliedPadding = props.icon\n ? paddingConfig[size].icon\n : paddingConfig[size].normal;\n const gapText = applyGap ? \"gap-[6px]\" : \"gap-0\";\n\n useEffect(() => {\n if (!hotkey || !props.onClick) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (props.disabled || props.loading) return;\n\n const keys = hotkey\n .toLowerCase()\n .split(\"+\")\n .map((k) => k.trim());\n const primaryKey = keys.pop();\n\n if (!primaryKey) return;\n\n const requiredCtrl = keys.includes(\"ctrl\");\n const requiredAlt = keys.includes(\"alt\");\n const requiredShift = keys.includes(\"shift\");\n const requiredMeta = keys.includes(\"meta\") || keys.includes(\"cmd\");\n\n const match =\n event.key.toLowerCase() === primaryKey &&\n event.ctrlKey === requiredCtrl &&\n event.altKey === requiredAlt &&\n event.shiftKey === requiredShift &&\n event.metaKey === requiredMeta;\n\n if (match) {\n event.preventDefault();\n props.onClick?.(event as any);\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [hotkey, props.onClick, props.disabled, props.loading]);\n\n const hotkeyLabel = hotkey && (\n <span className=\"text-p-sm font-normal\">{hotkey.toUpperCase()}</span>\n );\n\n return (\n <div\n className={clsx(\"inline-flex gap-[8px]\", {\n \"flex-col items-center\":\n hotkeyPosition === \"top\" || hotkeyPosition === \"bottom\",\n \"flex-row items-center\":\n hotkeyPosition === \"left\" || hotkeyPosition === \"right\",\n })}\n >\n {hotkey && (hotkeyPosition === \"top\" || hotkeyPosition === \"left\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n <button\n type={props.type}\n id=\"button-component\"\n {...props}\n disabled={props.disabled || props.loading}\n className={`\n ${props.className}\n ${appliedVariant} \n ${appliedSize.text} \n ${appliedPadding} \n ${gapText} \n whitespace-nowrap group rounded-lg font-bold disabled:shadow-none active:shadow-none flex items-center\n `}\n >\n <>\n {props.icon && (\n <div\n className={`flex items-center justify-center ${appliedSize.icon}`}\n >\n {props.icon && !props.loading ? (\n props.icon\n ) : props.loadingIcon && props.loading ? (\n props.loadingIcon\n ) : (\n <SpinnerIcon\n className=\"animate-spin w-4 h-4\"\n fill=\"currentColor\"\n />\n )}\n </div>\n )}\n {props.children}\n {hotkey && hotkeyPosition === \"inside\" && (\n <span className=\" font-normal\">- {hotkeyLabel}</span>\n )}\n {props.dropdown && (\n <i className={\"uil uil-angle-down text-[18px]\"}></i>\n )}\n </>\n </button>\n {hotkey &&\n (hotkeyPosition === \"bottom\" || hotkeyPosition === \"right\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n </div>\n );\n};\n","import React, {\n forwardRef,\n JSX,\n ComponentType,\n AnchorHTMLAttributes,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\n\nexport type LinkProp = AnchorHTMLAttributes<HTMLAnchorElement> & {\n icon?: JSX.Element;\n size?: keyof typeof sizes;\n padding?: string;\n label?: string | JSX.Element;\n disabled?: boolean;\n name?: string;\n target?: string;\n variant?: keyof typeof variants;\n className?: string;\n href: string;\n as?: ComponentType<any> | string;\n hotkey?: string;\n hotkeyPosition?: \"top\" | \"bottom\" | \"left\" | \"right\";\n iconPosition?: \"left\" | \"right\";\n};\n\nexport const sizes = {\n xxs: {\n text: \"min-h-[14px] max-h-[40px] text-[14px] gap-[4px]\",\n },\n xs: {\n text: \"h-[36px]\",\n },\n sm: {\n text: \"h-[40px]\",\n },\n md: {\n text: \"h-[46px]\",\n },\n table: {\n text: \"h-8 w-8\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"shadow-button text-button-label bg-gradient-to-b hover:text-white from-rose-start to-rose-end active:bg-gradient-to-b active:from-rose-800 active:to-rose-800 disabled:bg-gradient-to-b disabled:from-rose-800 disabled:to-rose-800 disabled:opacity-50 hover:from-[#FD467F] hover:to-[#DF4573]\",\n },\n secondary: {\n text: \"shadow-button bg-surface border-[0.5px] border-paragraph text-blue-500 hover:text-blue-600 hover:bg-neutral-100 active:text-blue-600 active:bg-light-gray-100 disabled:text-neutral-400 disabled:bg-surface disabled:border-[0.5px] disabled:border-neutral-400\",\n },\n link: {\n text: \"text-blue-500 hover:text-blue-600 hover:underline border-none active:text-blue-600 active:underline disabled:text-blue-500 disabled:no-underline shadow-none font-normal\",\n },\n linkDanger: {\n text: \"text-dangerous-500 hover:text-dangerous-600 hover:underline border-none active:text-dangerous-600 active:underline disabled:text-dangerous-500 disabled:no-underline shadow-none font-normal\",\n },\n icon: {\n text: \"bg-surface border-[0.5px] border-neutral-300 text-blue-500 hover:text-blue-600 hover:bg-neutral-100 active:text-blue-600 active:bg-light-gray-100 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-surface disabled:opacity-50\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-surface disabled:opacity-50\",\n },\n outline: {\n text: \"shadow-button bg-surface border-[0.5px] border-rose-700 text-blue-500 hover:text-blue-600 hover:bg-neutral-100 active:text-blue-600 active:bg-light-gray-100 disabled:text-rose-700 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50\",\n },\n dark: {\n text: \"shadow-button text-white hover:bg-[#f5f5f526] active:bg-[#0a0a0a40] disabled:opacity-50 disabled:bg-transparent\",\n },\n dangerLight: {\n text: \"shadow-button text-dangerous-700 font-bold bg-surface border-[0.5px] border-dangerous-700 hover:bg-dangerous-100 active:bg-dangerous-700 active:text-white disabled:opacity-50 disabled:bg-surface disabled:text-dangerous-700\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#FD6363] hover:to-[#E34E4E] active:from-dangerous-800 active:to-dangerous-800 disabled:opacity-50 disabled:from-dangerous-700 disabled:to-dangerous-700\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#3FF09B] hover:to-[#27C579] active:from-success-600 active:to-success-600 disabled:opacity-50 disabled:from-success-500 disabled:to-success-500\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#FEBD5D] hover:to-[#F4A42D] active:from-warning-600 active:to-warning-600 disabled:opacity-50 disabled:from-warning-500 disabled:to-warning-500\",\n },\n blue: {\n text: \"shadow-button bg-blue-700 text-accent-label text-bold\",\n },\n filter: {\n text: \"shadow-button rounded-3xl border border-neutral-300 text-blue-500 hover:text-blue-600 hover:bg-light-gray-100 active:border active:border-blue-700 active:text-blue-600 active:bg-blue-100 focus:border focus:border-blue-700 focus:text-blue-500 focus:bg-blue-100\",\n },\n filterActive: {\n text: \"shadow-button rounded-3xl border border-blue-700 text-blue-500 bg-blue-100 shadow-button hover:bg-blue-700 hover:text-accent-label active:text-accent-label active:bg-blue-900 active:border-blue-900 focus:text-accent-label focus:bg-blue-900 focus:border-blue-900\",\n },\n};\n\nexport const ButtonLink = forwardRef<HTMLAnchorElement, LinkProp>(\n (\n {\n size = \"md\",\n icon,\n padding = \"px-3\",\n label,\n disabled,\n name,\n target,\n variant = \"link\",\n className,\n as: LinkComponent = \"a\",\n hotkey,\n hotkeyPosition = \"bottom\",\n iconPosition = \"left\",\n ...props\n },\n ref,\n ) => {\n const applyGap = icon;\n useEffect(() => {\n if (!hotkey) return;\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (disabled) return;\n\n const keys = hotkey\n .toLowerCase()\n .split(\"+\")\n .map((k) => k.trim());\n const primaryKey = keys.pop();\n\n if (!primaryKey) return;\n\n const requiredCtrl = keys.includes(\"ctrl\");\n const requiredAlt = keys.includes(\"alt\");\n const requiredShift = keys.includes(\"shift\");\n const requiredMeta = keys.includes(\"meta\") || keys.includes(\"cmd\");\n\n const match =\n event.key.toLowerCase() === primaryKey &&\n event.ctrlKey === requiredCtrl &&\n event.altKey === requiredAlt &&\n event.shiftKey === requiredShift &&\n event.metaKey === requiredMeta;\n\n if (match) {\n event.preventDefault();\n if (props.onClick) {\n props.onClick?.(event as any);\n } else {\n const linkElement = document.querySelector(\n `a[href=\"${props.href}\"]`,\n ) as HTMLAnchorElement;\n linkElement?.click();\n }\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n window.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [hotkey, props.onClick, props.href, disabled]);\n const hotkeyLabel = hotkey && (\n <span className=\"text-p-sm font-normal\">{hotkey.toUpperCase()}</span>\n );\n return (\n <div\n className={clsx(\"inline-flex gap-[4px]\", {\n \"flex-col items-center justify-center\":\n hotkeyPosition === \"top\" || hotkeyPosition === \"bottom\",\n \"flex-row items-center justify-center\":\n hotkeyPosition === \"left\" || hotkeyPosition === \"right\",\n })}\n >\n {hotkey && (hotkeyPosition === \"top\" || hotkeyPosition === \"left\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n <LinkComponent\n ref={ref}\n className={clsx(\n {\n [variants[variant]?.text]: true,\n [sizes[size].text]: true,\n [\"pointer-events-none shadow-none text-label\"]: disabled,\n [\"px-2\"]: variant !== \"link\" && variant !== \"linkDanger\",\n [\"flex-row-reverse\"]: iconPosition === \"right\",\n },\n `group rounded-lg font-bold active:shadow-none flex items-center justify-start cursor-pointer outline-none focus:outline-none\n ${applyGap ? \"gap-2\" : \"gap-0\"} ${className}\n `,\n )}\n target={target}\n {...props}\n download={name}\n >\n {icon && (\n <div\n className={clsx(\"flex items-center justify-center\", {\n \"text-[12px]\": size === \"sm\",\n \"text-[14px]\": size === \"md\",\n })}\n >\n {icon}\n </div>\n )}\n <span\n className={clsx(\"cursor-pointer line-clamp-2\", {\n \"text-[12px]\": size === \"sm\",\n \"text-[14px]\": size === \"md\",\n })}\n >\n {label}\n </span>\n </LinkComponent>\n {hotkey &&\n (hotkeyPosition === \"bottom\" || hotkeyPosition === \"right\") && (\n <span\n style={{ color: \"var(--label)\" }}\n className=\"text-p-sm font-normal\"\n >\n {hotkeyLabel}\n </span>\n )}\n </div>\n );\n },\n);\n\nButtonLink.displayName = \"ButtonLink\";\n","import React, { JSX } from \"react\";\nimport clsx from \"clsx\";\nimport {\n DetailedHTMLProps,\n forwardRef,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n} from \"react\";\nimport {\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: () => void;\n error?: Merge<FieldError, FieldErrorsImpl<any>> | any;\n onBlur?: (value: Event) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n};\n\nexport const Input = ({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n onChange,\n ref,\n}: InputFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n const [showPassword, setShowPassword] = React.useState(false);\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph bg-surface shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label peer-focus:text-blue-500\"\n } peer-focus:border-blue-500`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear: \"absolute top-[8.3px] cursor-pointer text-label text-[22px]\",\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const inlineStyles = {\n inputWithIcon: { paddingLeft: \"48px\" },\n labelWithIcon: { left: \"3rem\" },\n };\n\n const input = name ? document?.getElementById(name) : null;\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n <input\n id={name}\n type={\n type === \"password\" ? (showPassword ? \"text\" : \"password\") : type\n }\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={\n (!label && placeholder && icon) || icon\n ? inlineStyles.inputWithIcon\n : undefined\n }\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onChange={onChange}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={ref}\n {...inputProps}\n {...registration}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {icon && (\n <div\n className={clsx(styles.icon, \"flex justify-center items-center\")}\n >\n {icon}\n </div>\n )}\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\",\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n style={icon ? inlineStyles.labelWithIcon : undefined}\n className={clsx(\n {\n [styles.label]: true,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\",\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n {type === \"password\" && (\n <i\n onClick={() => setShowPassword(!showPassword)}\n className={clsx(\n \" text-label cursor-pointer text-[20px] absolute right-2 top-[11px]\",\n {\n \"uil-eye-slash\": showPassword,\n \"uil-eye\": !showPassword,\n },\n )}\n ></i>\n )}\n {clearField && value && value !== \"\" && !disabled && (\n <i\n className={clsx(styles.clear, \"uil uil-times clear-icon\", {\n \"right-9\": type === \"password\",\n \"right-2\": type !== \"password\",\n })}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import React from \"react\";\n// Exemplo: Se você tiver uma imagem PNG ou JPG\n// import logo from \"../assets/logo.png\";\n\n// Para SVG estático (não como componente)\nimport exampleLogo from \"../assets/example-logo.svg\";\n\nexport const Logo: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <img \n src={exampleLogo} \n alt=\"Logo\" \n className={className}\n width={100}\n height={100}\n />\n );\n};\n","import React from \"react\";\n\nexport const RocketIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"800px\"\n height=\"800px\"\n viewBox=\"0 0 1024 1024\"\n className=\"icon\"\n version=\"1.1\"\n style={props.style}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M512 301.2m-10 0a10 10 0 1 0 20 0 10 10 0 1 0-20 0Z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M400.3 744.5c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z m0 0c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M511.8 256.6c24.4 0 44.2 19.8 44.2 44.2S536.2 345 511.8 345s-44.2-19.8-44.2-44.2 19.9-44.2 44.2-44.2m0-20c-35.5 0-64.2 28.7-64.2 64.2s28.7 64.2 64.2 64.2 64.2-28.7 64.2-64.2-28.7-64.2-64.2-64.2z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M730.7 529.5c0.4-8.7 0.6-17.4 0.6-26.2 0-179.6-86.1-339.1-219.3-439.5-133.1 100.4-219.2 259.9-219.2 439.5 0 8.8 0.2 17.5 0.6 26.1-56 56-90.6 133.3-90.6 218.7 0 61.7 18 119.1 49.1 167.3 30.3-49.8 74.7-90.1 127.7-115.3 39-18.6 82.7-29 128.8-29 48.3 0 93.9 11.4 134.3 31.7 52.5 26.3 96.3 67.7 125.6 118.4 33.4-49.4 52.9-108.9 52.9-173.1 0-85.4-34.6-162.6-90.5-218.6zM351.1 383.4c9.2-37.9 22.9-74.7 40.6-109.5a502.1 502.1 0 0 1 63.6-95.9c17.4-20.6 36.4-39.9 56.8-57.5 20.4 17.6 39.4 36.9 56.8 57.5 24.8 29.5 46.2 61.8 63.6 95.9 17.7 34.8 31.4 71.6 40.6 109.5 8.7 35.8 13.5 72.7 14.2 109.9C637.4 459 577 438.9 512 438.9c-65 0-125.3 20.1-175.1 54.4 0.7-37.2 5.5-74.1 14.2-109.9z m-90.6 449.2c-9.1-27-13.7-55.5-13.7-84.4 0-35.8 7-70.6 20.8-103.2 8.4-19.8 19-38.4 31.9-55.5 9.7 61.5 29.5 119.7 57.8 172.6-36.4 17.8-69 41.6-96.8 70.5z m364.2-85.3c-0.7-0.3-1.5-0.5-2.2-0.8-0.4-0.2-0.9-0.3-1.3-0.5-0.6-0.2-1.3-0.5-1.9-0.7-0.8-0.3-1.5-0.5-2.3-0.8-0.8-0.3-1.5-0.5-2.3-0.7l-0.9-0.3c-1-0.3-2.1-0.7-3.1-1-1.2-0.4-2.4-0.7-3.5-1.1l-3-0.9c-0.2-0.1-0.4-0.1-0.7-0.2-1.1-0.3-2.3-0.7-3.4-1-1.2-0.3-2.4-0.6-3.5-0.9l-3.6-0.9-3.6-0.9c-1-0.3-2.1-0.5-3.1-0.7-1.2-0.3-2.4-0.5-3.6-0.8-1.3-0.3-2.5-0.6-3.8-0.8h-0.3c-0.9-0.2-1.9-0.4-2.8-0.6-0.4-0.1-0.7-0.1-1.1-0.2-1.1-0.2-2.2-0.4-3.4-0.6-1.2-0.2-2.4-0.4-3.6-0.7l-5.4-0.9c-0.9-0.1-1.9-0.3-2.8-0.4-0.8-0.1-1.6-0.3-2.5-0.4-2.6-0.4-5.1-0.7-7.7-1-1.2-0.1-2.3-0.3-3.5-0.4h-0.4c-0.9-0.1-1.8-0.2-2.8-0.3-1.1-0.1-2.1-0.2-3.2-0.3-1.7-0.2-3.4-0.3-5.1-0.4-0.8-0.1-1.5-0.1-2.3-0.2-0.9-0.1-1.9-0.1-2.8-0.2-0.4 0-0.8 0-1.2-0.1-1.1-0.1-2.1-0.1-3.2-0.2-0.5 0-1-0.1-1.5-0.1-1.3-0.1-2.6-0.1-3.9-0.1-0.8 0-1.5-0.1-2.3-0.1-1.2 0-2.4 0-3.5-0.1h-13.9c-2.3 0-4.6 0.1-6.9 0.2-0.9 0-1.9 0.1-2.8 0.1-0.8 0-1.5 0.1-2.3 0.1-1.4 0.1-2.8 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.4-0.6 0-1.2 0.1-1.8 0.2l-7.8 0.9c-1.1 0.1-2.1 0.3-3.2 0.4-1 0.1-2.1 0.3-3.1 0.4-3.2 0.5-6.4 0.9-9.5 1.5-0.7 0.1-1.4 0.2-2.1 0.4-0.9 0.1-1.7 0.3-2.6 0.5-1.1 0.2-2.3 0.4-3.4 0.6-0.9 0.2-1.7 0.3-2.6 0.5-0.4 0.1-0.8 0.1-1.1 0.2-0.7 0.1-1.4 0.3-2.1 0.4-1.2 0.3-2.4 0.5-3.6 0.8-1.2 0.3-2.4 0.5-3.6 0.8-0.2 0-0.4 0.1-0.6 0.1-0.5 0.1-1 0.2-1.5 0.4-1.1 0.3-2.3 0.6-3.5 0.9-1.3 0.3-2.5 0.6-3.8 1-0.4 0.1-0.9 0.2-1.4 0.4-1.3 0.4-2.7 0.7-4 1.1-1.5 0.4-3 0.9-4.6 1.3-1 0.3-2.1 0.6-3.1 1-2.1 0.6-4.1 1.3-6.2 2-0.7 0.2-1.4 0.5-2.1 0.7-15-27.5-27.4-56.4-37-86.2-11.7-36.1-19.2-73.6-22.5-111.6-0.6-6.7-1-13.3-1.3-20-0.1-1.2-0.1-2.4-0.1-3.6-0.1-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.7 18.8-14 39.2-25.8 61-35 36.1-15.3 74.5-23 114.1-23 39.6 0 78 7.8 114.1 23 21.8 9.2 42.2 20.9 61 35v0.1c0 1 0 1.9-0.1 2.9 0 1.4-0.1 2.8-0.1 4.3 0 0.7 0 1.3-0.1 2-0.1 1.8-0.1 3.5-0.2 5.3-0.3 6.7-0.8 13.3-1.3 20-3.3 38.5-11 76.5-23 113-9.7 30.3-22.3 59.4-37.6 87.1z m136.8 90.9a342.27 342.27 0 0 0-96.3-73.2c29.1-53.7 49.5-112.8 59.4-175.5 12.8 17.1 23.4 35.6 31.8 55.5 13.8 32.7 20.8 67.4 20.8 103.2 0 31-5.3 61.3-15.7 90z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M512 819.3c8.7 0 24.7 22.9 24.7 60.4s-16 60.4-24.7 60.4-24.7-22.9-24.7-60.4 16-60.4 24.7-60.4m0-20c-24.7 0-44.7 36-44.7 80.4 0 44.4 20 80.4 44.7 80.4s44.7-36 44.7-80.4c0-44.4-20-80.4-44.7-80.4z\"\n fill=\"#E73B37\"\n />\n </svg>\n);\n","import { nanoid } from 'nanoid';\nimport { create } from 'zustand';\n\nexport type Field = {\n [key: string]: FieldError;\n};\n\ntype FieldError = {\n code: string;\n message: string;\n};\n\ntype ValidationError = {\n id?: string;\n code: string;\n message: string;\n path?: string[];\n position?: number;\n};\n\ntype FieldErrorsStore = {\n field: Field;\n addValidationError: (\n validationErrors: ValidationError[]\n ) => void;\n dismissAllValidationErrors?: () => void;\n};\n\nexport const useFieldErrorsStore = create<FieldErrorsStore>(\n (set) => ({\n field: {},\n addValidationError: (validationErrors) =>\n set((state) => {\n let fieldErrorsByPath = {};\n validationErrors?.forEach(\n ({ position, path, code, message }) => {\n path?.shift();\n if (position !== null) {\n path?.splice(1, 0, position?.toString());\n }\n\n const fieldPathWithPosition = path\n .join('.')\n .replace('.', '');\n\n fieldErrorsByPath = {\n ...fieldErrorsByPath,\n [fieldPathWithPosition]: {\n code,\n message,\n },\n };\n }\n );\n\n return {\n ...state,\n field: {\n ...fieldErrorsByPath,\n },\n };\n }),\n dismissAllValidationErrors: () =>\n set((state) => ({\n field: {},\n })),\n })\n);\n","import { DateInput3 } from \"@blueprintjs/datetime2\";\nimport { forwardRef, JSX, useState, useRef, useEffect } from \"react\";\nimport {\n Control,\n Controller,\n DeepRequired,\n FieldError,\n FieldErrorsImpl,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport { useFieldErrorsStore } from \"../stores/field-errors\";\nimport clsx from \"clsx\";\nimport { format, parse } from \"date-fns\";\n\ninterface Props {\n icon?: JSX.Element;\n label: string;\n registration?: UseFormRegisterReturn;\n error?: FieldError | any;\n inputProps?: any;\n clearField?: boolean;\n control: Control<unknown> | any;\n name: string | never;\n required?: boolean;\n defaultValue?: any;\n onChangeFunction?: (e) => void;\n maxDate?: any;\n minDate?: any;\n disabled?: boolean;\n small?: boolean;\n onClear?: () => void;\n popoverOffset?: [number, number];\n}\n\nexport const DatePickerInput = forwardRef(\n (\n {\n icon,\n label,\n registration,\n error,\n inputProps,\n clearField,\n control,\n name,\n required,\n defaultValue,\n onChangeFunction,\n maxDate,\n minDate,\n disabled,\n small,\n onClear,\n popoverOffset,\n }: Props,\n ref: any,\n ) => {\n const [invalidDate, setInvalidDate] = useState(false);\n const [showCalendar, setShowCalendar] = useState(false);\n const [inputWidth, setInputWidth] = useState(0);\n const inputContainerRef = useRef<HTMLDivElement | null>(null);\n const dateFnsFormat = \"dd/MM/yyyy\";\n\n useEffect(() => {\n const updateWidth = () => {\n if (inputContainerRef.current) {\n setInputWidth(inputContainerRef.current.offsetWidth + 10);\n }\n };\n\n updateWidth();\n window.addEventListener(\"resize\", updateWidth);\n return () => window.removeEventListener(\"resize\", updateWidth);\n }, []);\n\n const finalOffset = popoverOffset || [inputWidth || 250, -46];\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name ? name : registration?.name]?.message,\n error?.message,\n ];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md text-paragraph bg-surface border border-neutral-300 rounded block pb-[10px] h-[46px] w-full disabled:bg-light-gray-100 focus:border-blue-500 `,\n icon: `absolute bg-light-gray-100 h-[44px] w-[38px] top-[1px] left-[1px] rounded-l-lg rounded-r-none ${\n hasError ? \"text-dangerous-700\" : \"text-label\"\n }`,\n label: \"absolute text-label text-sm\",\n error: \"border-dangerous-700 text-dangerous-700\",\n clear:\n \"absolute top-[8px] right-[8px] cursor-pointer text-label text-[22px]\",\n };\n\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <div>\n <Controller\n control={control}\n name={name as never}\n render={({ field }) => {\n const normalizeDate = (value: any): string | null => {\n if (!value) return null;\n if (value instanceof Date) {\n return isNaN(value.getTime()) ? null : value.toISOString();\n }\n if (typeof value === \"string\") {\n const parsed = new Date(value);\n return isNaN(parsed.getTime()) ? null : parsed.toISOString();\n }\n return null;\n };\n\n const normalizedValue = normalizeDate(field.value);\n\n return (\n <div\n id=\"group-input-calendar\"\n className=\"relative\"\n ref={(node) => {\n inputContainerRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n ref.current = node;\n }\n }}\n style={{\n [\"--popover-offset-x\" as any]: `${finalOffset[0]}px`,\n [\"--popover-offset-y\" as any]: `${-100}px`,\n }}\n >\n {icon && (\n <div\n id=\"icon\"\n className={clsx(\n styles.icon,\n \"flex justify-center items-center text-[20px] bg-light-gray-100\",\n )}\n >\n {icon}\n </div>\n )}\n <DateInput3\n outOfRangeMessage=\"Data não permitida\"\n invalidDateMessage=\"Data inválida\"\n onError={() => setInvalidDate(true)}\n defaultValue={normalizedValue}\n inputProps={{\n className: styles.input,\n style: { height: \"46px\" },\n }}\n popoverProps={{\n placement: \"bottom\",\n usePortal: false,\n minimal: true,\n popoverClassName: \"date-picker-popover\",\n }}\n disabled={disabled}\n onChange={(e, isUserChange) => {\n if (isUserChange) {\n let value = e;\n if (e) {\n const date = new Date(e);\n date.setUTCHours(23, 59, 59, 0);\n value = date.toISOString();\n }\n field.onChange(value);\n setShowCalendar(false);\n if (onChangeFunction) {\n onChangeFunction(value);\n }\n setInvalidDate(false);\n }\n }}\n value={normalizedValue}\n locale=\"pt-BR\"\n highlightCurrentDay={true}\n formatDate={(value) => {\n const adjusted = new Date(\n value.getTime() + value.getTimezoneOffset() * 60000,\n );\n return format(adjusted, dateFnsFormat);\n }}\n parseDate={(value) => parse(value, dateFnsFormat, new Date())}\n maxDate={\n maxDate || new Date(new Date().getFullYear() + 5, 11, 31)\n }\n minDate={minDate || new Date(1900, 0, 1)}\n />\n <label\n className={clsx(\n \"pointer-events-none \",\n styles.label,\n `\n ${\n (field.value && field.value[0] !== null) || invalidDate\n ? \" scale-75 -translate-y-3 \"\n : \"\"\n }\n ${icon ? \"left-[3rem]\" : \"left-2.5\"}`,\n )}\n style={{ top: \"13px\" }}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700 ml-1\">*</strong>\n )}\n </label>\n {clearField &&\n field?.value &&\n field?.value !== \"\" &&\n !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\",\n )}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n );\n }}\n />\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-700 text-xs mt-[2px] ml-1\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n },\n);\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { ReactNode, JSX } from \"react\";\n\ntype BadgeProps = {\n variant?: keyof typeof variants | string;\n children?: ReactNode | JSX.Element;\n className?: string;\n style?: any;\n};\n\nconst variants = {\n success: \"bg-success-100 text-success-600\",\n warning: \"bg-warning-100 text-warning-600\",\n blue: \"bg-blue-100 text-blue-500\",\n gray: \"bg-neutral-100 text-neutral-400\",\n dangerous: \"bg-dangerous-100 text-dangerous-600\",\n light: \"bg-neutral-100 text-neutral-400\",\n white:\n \"bg-surface text-neutral-400 px-4 py-[6px] border border-neutral-200 shadow-button text-paragraph\",\n primary: \"bg-rose-100 text-rose-800\",\n dark: \"bg-neutral-700 text-white\",\n outline: \"bg-surface text-rose-700 border border-neutral-200\",\n \"dark-gray\": \"bg-neutral-100 text-neutral-600\",\n};\n\nexport const Badge = ({\n variant = \"blue\",\n children,\n className,\n style,\n}: BadgeProps) => {\n return (\n <span\n className={clsx(\n { [variants[variant]]: variant?.length > 0 },\n \"py-1 px-2 text-p-md font-normal inline-flex items-center justify-center gap-1 rounded-full text-center\",\n className,\n )}\n style={style}\n >\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { DatePicker3, DateRangePicker3 } from \"@blueprintjs/datetime2\";\nimport {\n Control,\n Controller,\n FieldError,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport {\n set,\n sub,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subYears,\n} from \"date-fns\";\n\ninterface Props {\n registration?: UseFormRegisterReturn;\n error?: FieldError;\n control: Control<any>;\n name: string | never;\n rangeCalendar?: boolean;\n shortcutsChange?: (e) => void;\n selectedShortcut?: number | null;\n setSelectedShortcut?: (e) => void;\n maxDate?: Date;\n singleMonth?: boolean;\n}\nexport const Calendar = ({\n registration,\n error,\n control,\n name,\n rangeCalendar = false,\n shortcutsChange,\n selectedShortcut,\n setSelectedShortcut,\n maxDate = new Date(),\n singleMonth = false,\n}: Props) => {\n const fieldValidationMessages = [error?.message];\n\n const shorcuts: any = [\n {\n label: \"Todo o período\",\n dateRange: [],\n },\n {\n label: \"Hoje\",\n dateRange: [\n set(new Date(), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Ontem\",\n dateRange: [\n set(sub(new Date(), { days: 1 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(sub(new Date(), { days: 1 }), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 7 dias\",\n dateRange: [\n set(sub(new Date(), { days: 7 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 14 dias\",\n dateRange: [\n set(sub(new Date(), { days: 14 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 30 dias\",\n dateRange: [\n set(sub(new Date(), { days: 30 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 60 dias\",\n dateRange: [\n set(sub(new Date(), { days: 60 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 90 dias\",\n dateRange: [\n set(sub(new Date(), { days: 90 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Esta semana\",\n dateRange: [\n startOfWeek(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Semana passada\",\n dateRange: [\n startOfWeek(sub(new Date(), { days: 7 })),\n endOfWeek(sub(new Date(), { days: 7 })),\n ],\n },\n {\n label: \"Este Mês\",\n dateRange: [\n startOfMonth(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Mês passado\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 1 })),\n endOfMonth(sub(new Date(), { months: 1 })),\n ],\n },\n {\n label: \"Últimos 6 meses\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 6 })),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ,\n ],\n },\n ];\n return (\n <div>\n <Controller\n control={control}\n name={name as never}\n render={({ field: { onChange, value } }) => (\n <div id=\"group-input-calendar\" className=\"relative\">\n {rangeCalendar ? (\n <DateRangePicker3\n allowSingleDayRange\n shortcuts={shorcuts}\n selectedShortcutIndex={selectedShortcut || shorcuts[0]}\n onChange={(e) => {\n let date = [];\n if (e[0] && e[0] !== null) {\n date.push(\n set(e[0] as never, {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }) as never,\n );\n }\n\n if (e[1] && e[1] !== null) {\n date.push(\n set(e[1] as never, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }) as never,\n );\n }\n\n if (e[0] !== null && e[1] == null) {\n if (shortcutsChange) shortcutsChange(null);\n if (setSelectedShortcut) setSelectedShortcut(null);\n }\n if (shortcutsChange) shortcutsChange(\"\");\n onChange(date);\n }}\n singleMonthOnly={singleMonth}\n value={value}\n highlightCurrentDay={true}\n minDate={subYears(new Date(), 50)}\n maxDate={maxDate}\n locale=\"pt-BR\"\n onShortcutChange={(e) => {\n const index = shorcuts.findIndex(\n (item) => item.label === e.label,\n );\n if (index !== -1 && setSelectedShortcut) {\n setSelectedShortcut(index);\n }\n if (shortcutsChange) shortcutsChange(e);\n }}\n />\n ) : (\n <DatePicker3\n onChange={(e) => {\n onChange(e);\n }}\n value={value}\n highlightCurrentDay={true}\n locale=\"pt-BR\"\n />\n )}\n </div>\n )}\n />\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { UseFormRegisterReturn } from \"react-hook-form\";\nexport type CheckboxProps = {\n key?: string;\n label?: string;\n registration?: UseFormRegisterReturn;\n disabled?: boolean;\n};\n\nexport const Checkbox = ({\n key = \"\",\n label,\n registration,\n disabled,\n}: CheckboxProps) => (\n <div>\n <div className=\"relative flex items-start\">\n <div className=\"flex h-5 items-center\">\n <input\n {...registration}\n id={registration ? registration.name : key}\n disabled={disabled}\n type=\"checkbox\"\n className={clsx(\n \"disabled:hover:bg-neutral-100 disabled:cursor-default cursor-pointer h-[16px] w-[16px] rounded-[2.5px] border border-neutral-200 text-blue-500 focus:rounded-[4px] focus:border-[1.5px] focus:ring-blue-500 focus-visible:ring-blue-500 checked:after:text-blue-500 disabled:bg-neutral-100\"\n )}\n />\n </div>\n <div className=\"ml-3 text-sm\">\n <label\n htmlFor={registration?.name}\n className=\"cursor-pointer font-medium text-paragraph\"\n >\n {label}\n </label>\n </div>\n </div>\n </div>\n);\n","/* eslint-disable no-useless-computed-key */\nimport React from \"react\";\nimport { useEffect, useState, JSX } from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\nimport { Popover, PopoverButton, PopoverPanel } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { Float } from \"@headlessui-float/react\";\nimport { Button } from \"../Button\";\nimport { format } from \"date-fns\";\nimport {\n set,\n sub,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subYears,\n} from \"date-fns\";\nimport { DatePicker3, DateRangePicker3 } from \"@blueprintjs/datetime2\";\n\ninterface Props {\n icon?: JSX.Element;\n label?: string;\n onApply?: () => void;\n onClear?: () => void;\n control: Control;\n name: string;\n rangeCalendar?: boolean;\n defaultShortcut?: number | null;\n shortcutsChange?: (e) => void;\n singleMonth?: boolean;\n maxDate?: Date | undefined;\n}\n\nexport const FilterCalendar = ({\n icon,\n label,\n onApply,\n onClear,\n control,\n name,\n rangeCalendar = true,\n defaultShortcut,\n shortcutsChange,\n singleMonth = false,\n maxDate = undefined,\n}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-surface hover:bg-neutral-100 border border-[0.5px] border-neutral-300 active:text-blue-500 active:bg-blue-100 active:border-blue-500\",\n filterOpen:\n \"rounded-3xl shadow-input border border-blue-500 bg-blue-100 text-blue-500\",\n filterActive:\n \"rounded-3xl border border-blue-500 text-blue-500 bg-blue-100 shadow-input hover:bg-blue-500 hover:text-accent-label active:text-accent-label active:bg-blue-600 active:border-blue-600\",\n };\n\n const [currentValue, setCurrentValue] = useState<any>([]);\n const [calendarLabel, setCalendarLabel] = useState(\"\");\n\n const isMobileSize = window?.innerWidth < 768;\n\n const shorcuts: any = [\n {\n label: \"Todo o período\",\n dateRange: [],\n },\n {\n label: \"Hoje\",\n dateRange: [\n set(new Date(), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Ontem\",\n dateRange: [\n set(sub(new Date(), { days: 1 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(sub(new Date(), { days: 1 }), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 7 dias\",\n dateRange: [\n set(sub(new Date(), { days: 7 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 14 dias\",\n dateRange: [\n set(sub(new Date(), { days: 14 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 30 dias\",\n dateRange: [\n set(sub(new Date(), { days: 30 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 60 dias\",\n dateRange: [\n set(sub(new Date(), { days: 60 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Últimos 90 dias\",\n dateRange: [\n set(sub(new Date(), { days: 90 }), {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Esta semana\",\n dateRange: [\n startOfWeek(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Semana passada\",\n dateRange: [\n startOfWeek(sub(new Date(), { days: 7 })),\n endOfWeek(sub(new Date(), { days: 7 })),\n ],\n },\n {\n label: \"Este Mês\",\n dateRange: [\n startOfMonth(new Date()),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ],\n },\n {\n label: \"Mês passado\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 1 })),\n endOfMonth(sub(new Date(), { months: 1 })),\n ],\n },\n {\n label: \"Últimos 6 meses\",\n dateRange: [\n startOfMonth(sub(new Date(), { months: 6 })),\n set(new Date(), {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }),\n ,\n ],\n },\n ];\n const [selectedShortcut, setSelectedShortcut] = useState(\n defaultShortcut || shorcuts[0],\n );\n\n const calendar = (\n <div id=\"group-input-calendar\" className=\"relative\">\n {rangeCalendar ? (\n <DateRangePicker3\n allowSingleDayRange\n shortcuts={shorcuts}\n selectedShortcutIndex={selectedShortcut}\n onChange={(e) => {\n let date = [];\n if (e[0] && e[0] !== null) {\n date.push(\n set(e[0] as never, {\n hours: 0,\n minutes: 0,\n seconds: 0,\n }) as never,\n );\n }\n\n if (e[1] && e[1] !== null) {\n date.push(\n set(e[1] as never, {\n hours: 23,\n minutes: 59,\n seconds: 59,\n }) as never,\n );\n }\n\n if (e[0] !== null && e[1] == null) {\n setCalendarLabel(\"\");\n\n if (setSelectedShortcut) setSelectedShortcut(null);\n }\n setCalendarLabel(\"\");\n setCurrentValue(date);\n }}\n singleMonthOnly={singleMonth}\n value={currentValue}\n highlightCurrentDay={true}\n minDate={subYears(new Date(), 50)}\n maxDate={maxDate}\n locale=\"pt-BR\"\n onShortcutChange={(e) => {\n const index = shorcuts.findIndex((item) => item.label === e.label);\n if (index !== -1 && setSelectedShortcut) {\n setSelectedShortcut(index);\n }\n setCalendarLabel(e?.label);\n }}\n />\n ) : (\n <DatePicker3\n onChange={(e) => {\n setCurrentValue(e);\n }}\n value={currentValue}\n highlightCurrentDay={true}\n locale=\"pt-BR\"\n />\n )}\n </div>\n );\n return (\n <Controller\n name={name}\n control={control}\n render={({ field }) => {\n let hasValue = field?.value?.length > 0;\n return (\n <Popover\n className={clsx(\n { [\"w-full\"]: isMobileSize },\n \"relative text-paragraph\",\n )}\n >\n {({ open }) => (\n <Float composable shift={8} zIndex={99} offset={2}>\n <Float.Reference>\n <PopoverButton as=\"button\">\n <div\n className={clsx(\n {\n [style.filter]: !hasValue && !open,\n [style.filterOpen]: open && !hasValue,\n [style.filterActive]:\n (open && hasValue) || (!open && hasValue),\n },\n `group px-3 h-[36px] text-p-ls font-bold disabled:shadow-none active:shadow-none flex items-center justify-between outline-none gap-2`,\n )}\n >\n {icon && (\n <div\n className={clsx({\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label group-active:text-accent-label\"]:\n open && field.value,\n })}\n >\n {icon}\n </div>\n )}\n <label\n className={clsx(\n {\n [\"text-paragraph group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label group-active:text-accent-label\"]:\n open && field.value,\n },\n \"truncate cursor-pointer\",\n )}\n >\n {calendarLabel\n ? calendarLabel\n : field?.value?.length > 0\n ? field?.value\n ?.map((item) =>\n item !== null\n ? format(item, \"dd/MM/yyyy\")\n : \"\",\n )\n .join(\" - \")\n : label}\n </label>\n\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label group-active:text-accent-label\"]:\n open && field.value,\n },\n \"uil uil-angle-down text-[18px]\",\n )}\n ></i>\n </div>\n </PopoverButton>\n </Float.Reference>\n {(open as any) && (\n <Float.Content>\n <PopoverPanel className=\"p-3 whitespace-nowrap bg-surface rounded-lg shadow-dropdown border-[0.5px] border-neutral-300\">\n {({ close }) => {\n const onClose = () => {\n setCurrentValue(field.value);\n close();\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setCurrentValue(field.value);\n }, [open]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n {calendar}\n <div className=\"flex gap-2 items-center justify-end border-t border-t-neutral-200 pt-3\">\n {onClear && (\n <div className=\"mr-1\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n if (onClear) {\n onClear();\n setCurrentValue([]);\n field.onChange([]);\n }\n close();\n }}\n >\n Limpar\n </Button>\n </div>\n )}\n <Button\n size=\"xs\"\n variant=\"secondary\"\n onClick={() => {\n onClose();\n }}\n >\n Cancelar\n </Button>\n <Button\n size=\"xs\"\n variant=\"primary\"\n disabled={\n JSON.stringify(currentValue) ===\n JSON.stringify(field?.value)\n }\n onClick={() => {\n field.onChange(currentValue);\n if (onApply) onApply();\n close();\n }}\n >\n Aplicar\n </Button>\n </div>\n </div>\n );\n }}\n </PopoverPanel>\n </Float.Content>\n )}\n </Float>\n )}\n </Popover>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n useRef,\n JSX,\n} from \"react\";\nimport { UseFormRegisterReturn } from \"react-hook-form\";\nimport clsx from \"clsx\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: any;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n searchOnClick?: () => void;\n onClear?: () => void;\n collapsed?: boolean;\n};\n\nexport default function InputSmall({\n type,\n registration,\n onClick,\n onBlur,\n onChange,\n inputProps,\n icon,\n clearField,\n disabled,\n placeholder,\n className,\n onKeyDown,\n value,\n searchOnClick,\n onClear,\n collapsed,\n}: InputFieldProps) {\n const inputRef = useRef(null);\n\n const styles = {\n input: `text-p-md text-paragraph w-full outline-none placeholder:text-label`,\n icon: \"text-label group-focus-within:text-neutral-600 m-[10px]\",\n wrapper: `shadow-input border border-neutral-300 focus-within:border-blue-500 group rounded-lg h-9 w-full text-paragraph flex items-center justify-between disabled:bg-neutral-100 ${\n disabled ? \"bg-neutral-100\" : \"bg-surface\"\n } ${className}`,\n clear: \"pr-[5px] cursor-pointer text-label text-[16px]\",\n };\n\n const elem = inputRef?.current as any;\n return (\n <div className={clsx(styles.wrapper)}>\n {icon && !searchOnClick && (\n <div className={clsx(styles.icon)}>{icon}</div>\n )}\n <input\n {...registration}\n {...inputProps}\n type=\"search-text\"\n ref={inputRef}\n className={clsx(\n {\n [\"pl-1\"]: collapsed,\n },\n styles.input\n )}\n placeholder={placeholder}\n onBlur={onBlur}\n onChange={(e) => onChange(e.target.value)}\n onClick={onClick}\n disabled={disabled}\n onKeyDown={onKeyDown}\n />\n {clearField && value && !disabled && (\n <i\n className={clsx(styles.clear, \"uil uil-times\")}\n onClick={() => {\n elem.value = \"\";\n elem?.focus();\n onChange(\"\");\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n {searchOnClick && (\n <div className=\"py-1\">\n <button\n type=\"button\"\n className={clsx({\n [\"border-l border-input pl-1\"]: clearField && value && !disabled,\n [\"text-blue-500\"]: !disabled,\n [\"text-neutral-300\"]: disabled,\n [\"pl-[2px]\"]: collapsed,\n })}\n onClick={searchOnClick}\n >\n <i className=\"uil uil-search text-[16px] mr-2 pl-1\"></i>\n </button>\n </div>\n )}\n </div>\n );\n}\n","/* eslint-disable no-useless-computed-key */\nimport React from \"react\";\nimport { Fragment, Key, useEffect, useState, JSX } from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\nimport {\n Listbox,\n ListboxOption,\n ListboxOptions,\n Popover,\n PopoverButton,\n PopoverPanel,\n} from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { Float } from \"@headlessui-float/react\";\nimport { Button } from \"../Button\";\nimport InputSmall from \"../InputSmall/InputSmall\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\n\ninterface Options {\n id: any;\n label: any;\n description?: any;\n disabled?: boolean;\n icon?: JSX.Element;\n}\n\ninterface Props {\n icon?: JSX.Element;\n label?: string;\n isMulti?: boolean;\n options: Options[];\n onApply?: () => void;\n onClear?: () => void;\n onSelectAll?: () => void;\n control: Control;\n name: string;\n fetch?: (value: string | number, button: string) => Promise<Options[]>;\n subFilters?: {\n id: string | any;\n name: string;\n }[];\n emptyMessage?: string;\n initialMessage?: string;\n applyOnClick?: boolean;\n showFilter?: boolean;\n renderOption?: (option: Options, isSelected: boolean) => JSX.Element;\n}\n\nexport const FilterOptions = ({\n icon,\n label,\n isMulti,\n options = [],\n onApply,\n onClear,\n onSelectAll,\n control,\n name,\n fetch,\n subFilters = [],\n emptyMessage,\n initialMessage,\n applyOnClick = false,\n showFilter = false,\n renderOption,\n}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-surface hover:bg-neutral-100 border border-[0.5px] border-neutral-300 active:text-blue-500 active:bg-blue-100 active:border-blue-500\",\n filterOpen:\n \"rounded-3xl shadow-input border border-blue-500 bg-blue-100 text-blue-500\",\n filterActive:\n \"rounded-3xl border border-blue-500 text-blue-500 bg-blue-100 shadow-input hover:bg-blue-500 hover:text-accent-label active:text-accent-label active:bg-blue-600 active:border-blue-600\",\n };\n\n const [currentValue, setCurrentValue] = useState<any>(isMulti ? [] : {});\n const [data, setData] = useState(() => options);\n const [filter, setFilter] = useState(\"\");\n const [subFilter, setSubFilter] = useState(\n subFilters?.length > 0 ? subFilters[0].id : null,\n );\n const [loading, setLoading] = useState(false);\n\n const search = async () => {\n if (filter?.length > 0 || options?.length > 0) {\n if (fetch) {\n setData(await fetch(filter, subFilter));\n } else {\n const result = options.filter((opt) =>\n opt?.label?.toLowerCase().includes(filter.toLowerCase()),\n );\n const order = result.sort((a, b) => a?.label?.toLowerCase());\n setData(order);\n }\n } else {\n setData([]);\n }\n setLoading(false);\n };\n\n useEffect(() => {\n setLoading(true);\n const timeout = setTimeout(() => {\n search();\n }, 400);\n\n return () => clearTimeout(timeout);\n }, [filter]);\n\n const optionStyle = (option, isSelected) => {\n return (\n <ListboxOption\n disabled={option.disabled}\n key={option.id as Key}\n value={option}\n as={Fragment}\n >\n {renderOption ? (\n <div\n className={clsx(\n \"relative cursor-pointer outline-none select-none p-3 rounded-lg pr-9 text-paragraph mt-1 first:mt-0 overflow-hidden w-full\",\n {\n [\"hover:bg-neutral-200\"]: !option.disabled && !isSelected,\n [\"text-disabled\"]: option.disabled,\n [\"bg-blue-500 hover:bg-blue-500\"]: isSelected,\n },\n )}\n >\n {renderOption(option, isSelected)}\n </div>\n ) : (\n <div\n className={clsx(\n \"relative cursor-pointer outline-none select-none p-3 rounded-lg pr-9 text-paragraph mt-1 first:mt-0 overflow-hidden w-full\",\n {\n [\"hover:bg-neutral-200\"]: !option.disabled && !isSelected,\n [\"text-disabled\"]: option.disabled,\n [\"bg-blue-500 hover:bg-blue-500\"]: isSelected,\n },\n )}\n >\n <span\n className={clsx(\n {\n [\"font-semibold text-accent-label\"]: isSelected,\n },\n \"text-wrap break-words font-normal block\",\n )}\n >\n {option?.label}\n </span>\n <span\n className={clsx(\n {\n [\"font-semibold text-accent-label\"]: isSelected,\n },\n \"w-[200px] whitespace-nowrap text-ellipsis overflow-hidden text-label text-p-sm block\",\n )}\n >\n {option?.description}\n </span>\n </div>\n )}\n </ListboxOption>\n );\n };\n const isMobileSize = window?.innerWidth < 768;\n\n return (\n <Controller\n name={name}\n control={control}\n render={({ field }) => {\n let hasValue = isMulti ? field?.value?.length > 0 : !!field?.value?.id;\n return (\n <Popover\n className={clsx(\n { [\"w-full\"]: isMobileSize },\n \"relative text-paragraph\",\n )}\n >\n {({ open }) => (\n <Float composable shift={8} zIndex={99} offset={2}>\n <Float.Reference>\n <PopoverButton as=\"button\">\n <div\n className={clsx(\n {\n [style.filter]: !hasValue && !open,\n [style.filterOpen]: open && !hasValue,\n [style.filterActive]:\n (open && hasValue) || (!open && hasValue),\n },\n `group px-3 h-[36px] text-p-ls font-bold disabled:shadow-none active:shadow-none flex items-center justify-between outline-none gap-2`,\n )}\n >\n {icon && (\n <div\n className={clsx({\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label\"]:\n open && field.value,\n })}\n >\n {icon}\n </div>\n )}\n\n <label\n className={clsx(\n {\n [\"text-paragraph group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label\"]:\n open && field.value,\n },\n \"truncate cursor-pointer\",\n )}\n >\n {isMulti\n ? label\n : field?.value?.id\n ? field?.value?.label\n : label}\n </label>\n {isMulti && field.value && field.value.length > 0 && (\n <div className=\"bg-blue-500 text-accent-label text-p-xs px-1 py-[2px] rounded group-hover:bg-blue-500\">\n {field.value.length}\n </div>\n )}\n {open ? (\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label\"]:\n open && field.value,\n },\n \"uil uil-angle-up text-[18px]\",\n )}\n ></i>\n ) : (\n <i\n className={clsx(\n {\n [\"text-label group-active:text-blue-500\"]:\n !field.value && !open,\n [\"text-blue-500\"]: open && !field.value,\n [\"text-blue-500 group-hover:text-accent-label\"]:\n open && field.value,\n },\n \"uil uil-angle-down text-[18px]\",\n )}\n ></i>\n )}\n </div>\n </PopoverButton>\n </Float.Reference>\n {(open as any) && (\n <Float.Content>\n <PopoverPanel className=\"p-3 whitespace-nowrap bg-surface rounded-lg shadow-dropdown border-[0.5px] border-neutral-300\">\n {({ close }) => {\n const onClose = () => {\n setCurrentValue(field.value);\n close();\n };\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setCurrentValue(field.value);\n }, [open]);\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Listbox\n value={currentValue || []}\n onChange={setCurrentValue}\n multiple={isMulti}\n >\n <ListboxOptions\n static\n className={clsx(\n \"max-h-60 w-full overflow-x-hidden overflow-y-auto bg-surface text-p-md focus:outline-none sm:text-sm relative\",\n {\n \"pr-2\": options.some(\n (option) => option.description,\n )\n ? options.length > 3\n : options.length > 4,\n },\n )}\n >\n <div className=\"mr-1 sticky top-0 z-30\">\n {showFilter && (\n <InputSmall\n icon={<i className=\"uil uil-search\"></i>}\n onChange={(e: any) => setFilter(e)}\n value={filter}\n placeholder=\"Pesquisar\"\n clearField\n onKeyDown={(e) => {\n if (\n e.key === \" \" ||\n e.code === \"Space\"\n ) {\n e.stopPropagation();\n }\n }}\n />\n )}\n {subFilters && fetch && (\n <div className=\"flex items-center gap-2 pt-2 bg-surface\">\n {subFilters.map((item, index) => {\n const active = item?.id === subFilter;\n return (\n <button\n key={index}\n className={clsx(\n {\n [\"bg-blue-500 text-accent-label\"]:\n active,\n [\"text-paragraph\"]: !active,\n },\n `rounded-[20px] border-[0.5px] border-neutral-200 px-4 py-[6px]`,\n )}\n onClick={() => {\n if (subFilter == item.id) {\n setSubFilter(null);\n } else {\n setSubFilter(item.id);\n }\n }}\n >\n {item.name}\n </button>\n );\n })}\n </div>\n )}\n </div>\n {loading && (\n <div className=\"flex items-center justify-center gap-2 w-full my-4\">\n <SpinnerIcon className=\"animate-spin w-[16px] h-[16px]\" />\n Carregando\n </div>\n )}\n {data?.length === 0 &&\n filter?.length > 0 &&\n !loading && (\n <div className=\"py-4\">\n <span className=\"text-label text-p-md\">\n {emptyMessage}\n </span>\n </div>\n )}\n {initialMessage &&\n data?.length === 0 &&\n filter?.length === 0 &&\n !loading &&\n options?.length === 0 &&\n !currentValue?.id && (\n <div className=\"py-4\">\n <span className=\"text-label text-p-md\">\n {initialMessage}\n </span>\n </div>\n )}\n {initialMessage &&\n currentValue &&\n currentValue?.id &&\n filter?.length === 0 && (\n <div className=\"py-2\">\n {isMulti ? (\n <>\n {currentValue?.map((option) => {\n let isSelected = isMulti\n ? currentValue &&\n currentValue?.length > 0 &&\n currentValue?.some(\n (e) => e.id === option.id,\n )\n : currentValue &&\n currentValue?.id === option.id;\n return optionStyle(\n options,\n isSelected,\n );\n })}\n </>\n ) : (\n optionStyle(field.value, true)\n )}\n </div>\n )}\n {!loading &&\n data?.map((option) => {\n let isSelected = isMulti\n ? currentValue &&\n currentValue.length > 0 &&\n currentValue.some(\n (e) => e.id === option.id,\n )\n : currentValue &&\n currentValue.id === option.id;\n return optionStyle(option, isSelected);\n })}\n </ListboxOptions>\n </Listbox>\n {!applyOnClick && (\n <div className=\"flex gap-2 items-center justify-end border-t border-t-neutral-200 pt-3\">\n {isMulti && onSelectAll && (\n <div className=\"border-r pr-2 border-neutral-300\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n onSelectAll();\n field.onChange(options);\n setCurrentValue(options);\n close();\n }}\n >\n Marcar todos\n </Button>\n </div>\n )}\n {onClear && (\n <div className=\"mr-1\">\n <Button\n variant=\"link\"\n size=\"xxs\"\n onClick={() => {\n if (onClear) {\n onClear();\n setCurrentValue([]);\n field.onChange([]);\n }\n close();\n }}\n >\n Limpar\n </Button>\n </div>\n )}\n <Button\n size=\"xs\"\n variant=\"secondary\"\n onClick={() => {\n onClose();\n }}\n >\n Cancelar\n </Button>\n <Button\n size=\"xs\"\n variant=\"primary\"\n disabled={\n JSON.stringify(currentValue) ===\n JSON.stringify(field?.value)\n }\n onClick={() => {\n field.onChange(currentValue);\n if (onApply) onApply();\n close();\n }}\n >\n Aplicar\n </Button>\n </div>\n )}\n </div>\n );\n }}\n </PopoverPanel>\n </Float.Content>\n )}\n </Float>\n )}\n </Popover>\n );\n }}\n />\n );\n};\n","// Wrapper to ensure proper import of react-intl-currency-input\n// This handles both ESM and CommonJS interoperability\nimport IntlCurrencyInputRaw from 'react-intl-currency-input';\n\n// @ts-ignore - Handle both default and named exports\nconst IntlCurrencyInput = (IntlCurrencyInputRaw.default || IntlCurrencyInputRaw) as typeof IntlCurrencyInputRaw;\n\nexport default IntlCurrencyInput;\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n} from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport IntlCurrencyInput from \"../utils/intl-currency-input\";\ntype InputMoneyProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n control: Control<any> | any;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>> | any;\n onBlur?: (value: any) => void;\n onChangeValue?: (e: any) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n isWeightField?: boolean;\n minFractionDigits?: number;\n};\n\nexport function InputMoney({\n label,\n type,\n onClick,\n error,\n onBlur,\n onChangeValue,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n control,\n defaultValue,\n isWeightField,\n minFractionDigits = 2,\n}: InputMoneyProps) {\n const numberConfig = isWeightField\n ? {\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n useGrouping: false,\n }\n : {\n style: \"currency\",\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n };\n const currencyConfig: any = {\n locale: \"pt-BR\",\n formats: {\n number: {\n BRL: numberConfig,\n },\n },\n };\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph bg-surface shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1px] w-[38px] rounded-l-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button: \"border-[0.5px] border-neutral-300 rounded shadow-input\",\n };\n\n return (\n <Controller\n control={control}\n name={name as string}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleChange = (event: any, value: any, maskedValue: any) => {\n event.preventDefault();\n field.onChange(value);\n if (onChangeValue) {\n onChangeValue(value);\n }\n };\n\n if (typeof field.value === \"string\") field.value = Number(field.value);\n\n return (\n <div>\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <IntlCurrencyInput\n {...inputProps}\n {...field}\n type=\"text\"\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[46px]\"]: (!label && placeholder && icon) || icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onClick={onClick}\n disabled={disabled}\n currency=\"BRL\"\n config={currencyConfig}\n onChange={handleChange}\n onBlur={() => {\n if (onBlur) {\n onBlur(field.value);\n }\n }}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[46px]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n // onClick={() => ref?.current.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputMoney.displayName = \"InputMoney\";\n","// Wrapper to ensure proper import of lodash debounce\n// This handles both ESM and CommonJS interoperability\n// Using full lodash import to avoid Windows path resolution issues with lodash/debounce\nimport * as lodashNamespace from 'lodash';\n\n// @ts-ignore - Handle both default and named exports\nconst lodash = (lodashNamespace.default || lodashNamespace) as any;\nconst debounce = lodash.debounce;\n\nexport default debounce;\n","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n useMemo,\n useState,\n JSX,\n} from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport _debounce from \"../utils/debounce\";\n\ntype InputNumberProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n control: Control<any>;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n onBlur?: any;\n onChangeValue?: (e) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n hideArrows?: boolean;\n onlyNumbers?: boolean;\n showZero?: boolean;\n maxValue?: number;\n};\n\nexport function InputNumber({\n label,\n type,\n onClick,\n error,\n onBlur,\n onChangeValue,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n control,\n defaultValue,\n hideArrows = false,\n maxLength,\n onlyNumbers,\n showZero,\n maxValue,\n}: InputNumberProps) {\n const input = name ? document?.getElementById(name) : null;\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph bg-surface shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[2px] left-[1.5px] w-[38px] rounded-l-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button:\n \"border-[0.5px] border-neutral-300 rounded shadow-input h-4 w-4 flex items-center justify-center\",\n };\n const [debouncedCount, setDebouncedCount] = useState(0);\n const save = () => {\n if (onBlur) {\n onBlur(value);\n }\n };\n\n const updateCount = useMemo(() => {\n return _debounce(() => {\n save();\n }, 1000);\n }, []);\n\n return (\n <Controller\n control={control}\n name={name as any}\n defaultValue={defaultValue}\n render={({ field: { onChange, value } }) => {\n const update = (value) => {\n updateCount();\n setDebouncedCount(value);\n };\n\n const changeValue = (value) => {\n onChange(value);\n if (onChangeValue) {\n const val = {\n ...value,\n target: {\n ...value.target,\n value: value.target.value.replace(/^0+/, \"\"),\n },\n };\n onChangeValue(val);\n }\n update(debouncedCount + 1);\n };\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <input\n type=\"number\"\n autoComplete=\"off\"\n id={name}\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[57px]\"]: !label && placeholder && icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onKeyDown={(e) => {\n if (\n e.code === \"ArrowUp\" ||\n e.code === \"ArrowDown\" ||\n e.code === \"Enter\" ||\n e.key === \"+\" ||\n e.key === \"-\" ||\n (e.key === \"e\" && !onlyNumbers)\n ) {\n e.preventDefault();\n }\n if (\n onlyNumbers &&\n ![\n \"Digit1\",\n \"Digit2\",\n \"Digit3\",\n \"Digit4\",\n \"Digit5\",\n \"Digit6\",\n \"Digit7\",\n \"Digit8\",\n \"Digit9\",\n \"Digit0\",\n \"Backspace\",\n ].includes(e.code)\n ) {\n e.preventDefault();\n }\n }}\n onClick={onClick}\n disabled={disabled}\n value={\n showZero ? String(value) : String(value).replace(/^0+/, \"\")\n }\n onChange={(e: any) => {\n let value = maxLength\n ? {\n ...e,\n target: {\n ...e.target,\n value: e.target.value.slice(0, maxLength),\n },\n }\n : e;\n\n if (\n !maxValue ||\n (maxValue && Number(e.target.value) <= maxValue)\n ) {\n changeValue(value);\n } else {\n }\n }}\n defaultValue={value}\n onBlur={(evt) => {\n if (onBlur) onBlur(evt.target.value);\n }}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3.5rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n onClick={() => input?.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n {!hideArrows && (\n <div className={clsx([styles.buttonsWrapper])}>\n <button\n type=\"button\"\n className={clsx([styles.button])}\n disabled={disabled}\n onClick={() => {\n if (\n !maxValue ||\n (maxValue && Number(value || 0) + 1 <= maxValue)\n ) {\n changeValue(String(Number(value || 0) + 1));\n }\n }}\n >\n <i className=\"uil uil-angle-up text-[12px] text-neutral-600\"></i>\n </button>\n <button\n type=\"button\"\n className={clsx([styles.button])}\n disabled={disabled}\n onClick={() => {\n if (\n !maxValue ||\n (maxValue &&\n Number(value === 0 ? 0 : Number(value) - 1) <=\n maxValue)\n ) {\n changeValue(\n value === 0 ? 0 : String(Number(value) - 1),\n );\n }\n }}\n >\n <i className=\"uil uil-angle-down text-[12px] text-neutral-600\"></i>\n </button>\n </div>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-500 text-p-xs left-[4px] -bottom-[18px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputNumber.displayName = \"InputNumber\";\n","import { DetailedHTMLProps, InputHTMLAttributes, JSX } from \"react\";\nimport { Controller, Control, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport IntlCurrencyInput from \"../utils/intl-currency-input\";\n\ntype InputPercentageProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n control: Control<any>;\n onClick?: any;\n error?: FieldError;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n maskChar?: string;\n minFractionDigits?: number;\n onChangeValue?: (e) => void;\n};\nexport function InputPercentage({\n label,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n placeholder,\n control,\n defaultValue,\n minFractionDigits = 2,\n onChangeValue,\n maxLength,\n}: InputPercentageProps) {\n const config = {\n currency: \"BRL\",\n minimumFractionDigits: minFractionDigits,\n maximumFractionDigits: minFractionDigits,\n useGrouping: false,\n };\n const currencyConfig: any = {\n locale: \"pt-BR\",\n formats: {\n number: {\n BRL: config,\n },\n },\n };\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph bg-surface shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n } ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 focus-visible:border-blue-500\"\n }`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] text-[22px] rounded-lg ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }\n `,\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n buttonsWrapper:\n \"absolute top-[7px] right-[10px] cursor-pointer text-label flex flex-col gap-[2px]\",\n button: \"border-[0.5px] border-neutral-300 rounded shadow-input\",\n };\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <Controller\n control={control}\n name={name as any}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleChange = (event, value, maskedValue) => {\n event.preventDefault();\n field.onChange(value.toString());\n if (onChangeValue) {\n onChangeValue(value.toString());\n }\n };\n\n if (typeof field.value === \"string\") field.value = Number(field.value);\n\n return (\n <div>\n <div className=\"relative outline-none\">\n {icon && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <IntlCurrencyInput\n {...inputProps}\n {...field}\n type=\"text\"\n className={clsx({\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n [\"pl-[3rem]\"]: icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onClick={onClick}\n disabled={disabled}\n currency=\"BRL\"\n config={currencyConfig}\n onChange={handleChange}\n max={maxLength}\n />\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text\",\n )}\n onClick={() => input?.focus()}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nInputPercentage.displayName = \"InputPercentage\";\n","import React from \"react\";\nimport { HTMLInputTypeAttribute, KeyboardEventHandler, useRef } from \"react\";\nimport {\n Controller,\n Control,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport InputMask from \"react-input-mask\";\nimport {Input} from \"./Input\";\n\ntype MaskedInputProps = {\n label: string;\n placeholder?: string;\n type?: HTMLInputTypeAttribute;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n mask?: string;\n control: Control<any>;\n name: string;\n required?: boolean;\n onKeyUp?: KeyboardEventHandler<HTMLInputElement>;\n maskChar?: string;\n alwaysShowMask?: boolean;\n defaultValue?: any;\n disabled?: boolean;\n};\n\nexport const MaskedInput = ({\n type = \"text\",\n name,\n label,\n placeholder,\n error,\n mask,\n control,\n required,\n onKeyUp,\n maskChar = \"\",\n alwaysShowMask,\n defaultValue,\n disabled,\n}: MaskedInputProps) => {\n const ref = useRef(null);\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const beforeMaskedValueChange = (states: any) => {\n const { nextState, previousState } = states;\n var { value } = nextState;\n var selection = nextState.selection;\n var cursorPosition = selection ? selection.start : null;\n var chars = [\".\", \"-\", \"/\", \"(\", \")\", \" \"];\n var words = [...value];\n\n if (chars.includes(words[words.length - 1])) {\n if (cursorPosition === value.length) {\n cursorPosition--;\n selection = {\n start: cursorPosition,\n end: cursorPosition,\n };\n }\n value = value.slice(0, -1);\n }\n\n return {\n value,\n selection,\n };\n };\n\n return (\n <InputMask\n {...field}\n onKeyUp={onKeyUp}\n disabled={disabled}\n mask={mask}\n value={field.value || \"\"}\n onChange={field.onChange}\n maskChar={maskChar}\n alwaysShowMask={alwaysShowMask}\n beforeMaskedStateChange={beforeMaskedValueChange}\n >\n {(inputProps: any) => (\n <Input\n onKeyUp={onKeyUp}\n type={type}\n label={label}\n placeholder={placeholder}\n required={required}\n inputProps={inputProps}\n error={error}\n name={name}\n disabled={disabled}\n ref={ref}\n />\n )}\n </InputMask>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { JSX, ReactNode, cloneElement } from \"react\";\nimport Modal from \"react-modal\";\nimport { Button } from \"./Button\";\n\nexport type ModalProps = {\n open?: boolean;\n onOpen?: () => void;\n onClose?: () => void;\n onCancel?: () => void;\n triggerButton?: React.ReactElement;\n confirmButton?: React.ReactElement;\n title?: string | React.ReactElement;\n cancelButton?: React.ReactElement;\n icon?: JSX.Element;\n alertType?: keyof typeof alertTypes;\n size?: keyof typeof sizes;\n info?: React.ReactElement;\n description?: string;\n children?: ReactNode;\n showHeader?: boolean;\n showFooter?: boolean;\n closeOnOverlayClick?: boolean;\n};\n\nconst alertTypes = {\n success: \"text-success-500\",\n error: \"text-dangerous-500\",\n warning: \"text-warning-500\",\n info: \"text-blue-500\",\n primary: \"text-rose-700\",\n};\n\nconst sizes = {\n xs: \"w-[350px]\",\n xsm: \"w-[470px]\",\n sm: \"w-[662px]\",\n md: \"w-[960px]\",\n lg: \"w-[80%] min-w-[800px]\",\n null: \"\",\n};\n\nexport const ModalDialog = ({\n open,\n onOpen = () => { },\n onClose,\n onCancel,\n triggerButton,\n confirmButton,\n title,\n cancelButton,\n icon,\n alertType,\n size = \"sm\",\n info,\n description,\n children,\n showFooter = true,\n showHeader = true,\n closeOnOverlayClick = true,\n}: ModalProps) => {\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n border: \"1px solid var(--neutral-200)\",\n background: \"var(--surface)\",\n color: \"var(--paragraph)\",\n padding: \"20px 24px 24px 24px\",\n borderRadius: \"8px\",\n overflow: \"initial\",\n },\n overlay: {\n backgroundColor: \"rgb(107,114,128,0.50)\",\n zIndex: 9999,\n },\n };\n const trigger = triggerButton\n ? cloneElement(triggerButton as any, {\n onClick: () => {\n onOpen();\n },\n })\n : null;\n return (\n <div>\n {trigger}\n <Modal\n ariaHideApp={false}\n isOpen={open}\n onRequestClose={closeOnOverlayClick ? onClose || onCancel : undefined}\n shouldCloseOnOverlayClick={closeOnOverlayClick}\n shouldCloseOnEsc={closeOnOverlayClick}\n style={customStyles}\n contentLabel=\"Example Modal\"\n >\n <div className={clsx(sizes[size])}>\n {showHeader && (\n <div className=\"pb-[6px] border-b border-b-neutral-200 flex items-center justify-between\">\n <h3 className=\"text-[24px] font-bold flex items-center gap-2\">\n {alertType && (\n <div className={clsx([alertTypes[alertType]], \"text-[30px]\")}>\n {icon}\n </div>\n )}\n {title}\n </h3>\n <Button\n onClick={onCancel}\n variant=\"ghost\"\n size=\"xs\"\n icon={<i className=\"uil uil-times\"></i>}\n />\n </div>\n )}\n <div>{children}</div>\n {showFooter && (\n <div className=\"pt-6 flex w-full items-center justify-between\">\n <div\n className={clsx({\n [\"flex-1\"]: info,\n })}\n >\n {info}\n </div>\n <div className=\"flex flex-col-reverse md:flex-row gap-3 items-center md:justify-end w-full md:w-auto\">\n {cancelButton || (\n <Button\n onClick={() => {\n if (onCancel) {\n onCancel();\n }\n }}\n variant=\"secondary\"\n size=\"md\"\n >\n Cancelar\n </Button>\n )}\n {confirmButton}\n </div>\n </div>\n )}\n </div>\n </Modal>\n </div>\n );\n};\n","import React from \"react\";\nimport { Tooltip } from \"react-tooltip\";\ninterface Props {\n id: string;\n displayArrow?: boolean;\n openOnClick?: boolean;\n}\n\nexport const Popover = ({\n id,\n displayArrow = true,\n openOnClick = false,\n}: Props) => {\n const style = {\n noArrow: \"hidden\",\n };\n\n return (\n <>\n <Tooltip\n id={id}\n className=\"absolute bg-neutral-700 text-sm text-neutral-100 py-2 px-4 max-w-[430px] break-words whitespace-normal\"\n classNameArrow={!displayArrow ? style.noArrow : \"\"}\n openOnClick={openOnClick}\n delayHide={0}\n delayShow={0}\n />\n </>\n );\n};\n","export const customStyles = {\n indicatorSeparator: (provided: any, props: any) => {\n return {\n ...provided,\n backgroundColor:\n props.hasValue && provided?.selectProps?.isSearchable\n ? \"var(--input)\"\n : \"transparent\",\n };\n },\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n transform: state?.selectProps?.menuIsOpen ? \"rotate(180deg)\" : \"rotate(0)\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n input: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0px\",\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"8px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n background: \"var(--surface)\",\n zIndex: 20,\n }),\n menuList: (provided: any) => ({\n ...provided,\n padding: \"8px\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0\",\n color:\n state.data.value === \"active\"\n ? \"#0EAF86\"\n : state.selectProps.hasError\n ? \"var(--dangerous-500)\"\n : \"var(--paragraph)\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: state.selectProps.smallField ? \"30px\" : \"46px\",\n backgroundColor: state.isDisabled ? \"var(--light-100)\" : \"var(--surface)\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 8px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color = state.isSelected\n ? \"var(--accent-label)\"\n : state?.isDisabled\n ? \"var(--label)\"\n : \"var(--paragraph)\";\n\n // /* if(state.isSelected) {\n // color = 'rgba(0,0,0,0.03)';\n // } */\n\n return {\n ...provided,\n cursor: state.isDisabled ? \"auto\" : \"pointer\",\n pointerEvents: state.isDisabled ? \"none\" : \"\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n padding: \"12px\",\n backgroundColor: state.isSelected ? \"var(--blue-500)\" : \"var(--surface)\",\n color,\n fontWeight: state.isSelected ? 700 : 400,\n \"&:hover\": {\n backgroundColor: state.isSelected\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \"&:active i\": {\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \" i\": {\n color: \"var(--accent-label)\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import React, { useRef, JSX } from \"react\";\nimport {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport { customStyles } from \"./Select.styles\";\nimport { useEffect, useState } from \"react\";\nimport { useFieldErrorsStore } from \"./../../stores/field-errors\";\n\nimport clsx from \"clsx\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\nexport type OptionType = {\n value: number | string;\n label: string;\n disabled?: boolean;\n};\n\ntype SelectFieldProps = {\n name: string;\n label?: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n onChange?: any;\n required?: boolean;\n isClearable?: boolean;\n filterOptions?: (value) => any;\n debounce?: number;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n optionsList?: any;\n disabled?: boolean;\n onChangeValue?: (value) => void;\n resize?: boolean;\n optionStyle?: (option: any, isSelected?: boolean) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n emptyMessage?: string;\n small?: boolean;\n initialMessage?: string;\n clearOnBlur?: boolean;\n onMenuClose?: () => void;\n clearOnMenuClose?: boolean;\n menuIsEverOpen?: boolean;\n showArrow?: boolean;\n};\n\nexport const SelectField = ({\n name,\n error,\n label,\n defaultValue,\n control,\n placeholder,\n isSearchable = false,\n isClearable = false,\n onChange,\n required,\n debounce = 0,\n filterOptions,\n optionsList,\n disabled,\n onChangeValue,\n resize = true,\n optionStyle,\n valueStyle,\n icon,\n emptyMessage,\n small = false,\n initialMessage,\n menuIsEverOpen = false,\n clearOnBlur = true,\n onMenuClose,\n clearOnMenuClose,\n showArrow = true,\n}: SelectFieldProps) => {\n const { Option, DropdownIndicator, ClearIndicator, SingleValue } = components;\n const selectRef = useRef(null);\n const [inputValue, setInputValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [options, setOptions] = useState(() => optionsList || []);\n const [cachedOptions, setCachedOptions] = useState([]);\n const [availableHeight, setAvailableHeight] = useState(300);\n const [isFocused, setIsFocused] = useState(false);\n useEffect(() => {\n const updateAvailableHeight = () => {\n if (selectRef?.current?.getBoundingClientRect) {\n const rect = selectRef?.current?.getBoundingClientRect();\n const bottomSpace = window.innerHeight - rect.bottom;\n const margin = bottomSpace - 24;\n setAvailableHeight(margin < 250 ? 276 : margin);\n }\n };\n updateAvailableHeight();\n window.addEventListener(\"resize\", updateAvailableHeight);\n return () => {\n window.removeEventListener(\"resize\", updateAvailableHeight);\n };\n }, [selectRef]);\n\n const loadOptions = async (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if ((debounce && inputValue.length >= debounce) || !debounce) {\n const result = await filterOptions(inputValue);\n setCachedOptions(result || []);\n setLoading(false);\n return result;\n }\n } else {\n setOptions(optionsList);\n }\n setLoading(false);\n return cachedOptions;\n };\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name]?.message,\n error?.message,\n ];\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const smallField = {\n smallField: small,\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const menuHeight = resize\n ? {\n menuHeight: availableHeight,\n }\n : null;\n const hasIcon = {\n hasIcon: icon,\n };\n\n useEffect(() => {\n setOptions(() => optionsList);\n }, [optionsList]);\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const CustomSingleValue = (props) => {\n return (\n <SingleValue {...props}>\n {valueStyle ? valueStyle(props?.data) : <>{props.data.label} </>}\n </SingleValue>\n );\n };\n\n const IconOption = (props) => {\n return (\n <Option {...props}>\n {optionStyle ? (\n optionStyle(props?.data, props.isSelected)\n ) : (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n )}\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <SpinnerIcon className=\"animate-spin\" width={16} height={16} />\n Buscando...\n </div>\n );\n } else if (debounce && inputValue.length < debounce) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n }\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (props.selectProps.inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && props.selectProps.inputValue.length < debounce)\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n } else if (\n initialMessage &&\n !debounce &&\n isSearchable &&\n props.selectProps.inputValue.length === 0\n ) {\n return <div className=\"p-2 text-neutral-300\">{initialMessage}</div>;\n } else if (\n ((props.selectProps.inputValue.length > 0 && isSearchable) ||\n !isSearchable ||\n (isSearchable && props?.options?.length == 0)) &&\n props?.options?.length == 0\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n {emptyMessage || \"Sem opções disponíveis\"}\n </div>\n );\n }\n };\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i\n className={`uil uil-angle-down text-[20px] ${\n small ? \"h-[20px] -mt-[7px]\" : \"h-full\"\n }`}\n />\n </DropdownIndicator>\n );\n };\n\n const ClearIndicatorCustom = (props: any) => {\n return (\n <ClearIndicator {...props}>\n <i className=\"uil uil-times text-[16px]\"></i>\n </ClearIndicator>\n );\n };\n const onChange = (value) => {\n field.onChange(value);\n if (onChangeValue) {\n onChangeValue(value);\n }\n };\n const handleKeyDown = async (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n\n const fetchedOptions = await loadOptions(event?.target?.value);\n\n if (fetchedOptions?.length > 0) {\n onChange(fetchedOptions[0]);\n }\n }\n };\n return (\n <div className=\"relative w-full\" id=\"select\" ref={selectRef}>\n {icon && (\n <div\n className={clsx(\n \"z-[70] absolute bg-neutral-100 top-[1px] left-[1px] rounded-l-lg flex justify-center items-center h-[44px] w-[38px] text-[22px] text-label\",\n {\n \"text-blue-500\": isFocused && hasIcon.hasIcon,\n \"text-red-500\": hasError.hasError && hasIcon.hasIcon,\n },\n )}\n >\n {icon}\n </div>\n )}\n <AsyncSelect\n onKeyDown={handleKeyDown}\n {...field}\n {...hasError}\n {...hasLabel}\n {...menuHeight}\n {...hasIcon}\n {...smallField}\n isDisabled={disabled}\n onFocus={() => setIsFocused(true)}\n onBlur={() => {\n setIsFocused(false);\n }}\n onMenuClose={() => {\n const shouldClear =\n typeof clearOnMenuClose !== \"undefined\"\n ? clearOnMenuClose\n : clearOnBlur;\n if (shouldClear) setInputValue(\"\");\n if (onMenuClose) onMenuClose();\n }}\n inputValue={inputValue}\n onInputChange={(val, meta) => {\n if (meta.action === \"input-change\") {\n setInputValue(val);\n } else if (\n meta.action === \"menu-close\" ||\n meta.action === \"input-blur\"\n ) {\n const shouldClear =\n typeof clearOnMenuClose !== \"undefined\"\n ? clearOnMenuClose\n : clearOnBlur;\n if (shouldClear) setInputValue(\"\");\n }\n }}\n menuIsOpen={menuIsEverOpen ? true : undefined}\n loadingMessage={() => <div>Carregando</div>}\n isLoading={loading}\n defaultOptions={\n menuIsEverOpen && cachedOptions.length > 0\n ? cachedOptions\n : debounce > 0\n ? false\n : optionsList\n ? options\n : true\n }\n loadOptions={loadOptions}\n name={field.name}\n isClearable={isClearable}\n styles={customStyles as any}\n placeholder={placeholder || \" \"}\n isSearchable={isSearchable}\n options={options}\n tabSelectsValue={true}\n components={{\n SingleValue: CustomSingleValue,\n ValueContainer,\n Option: IconOption,\n LoadingIndicator: () => <></>,\n LoadingMessage,\n NoOptionsMessage,\n DropdownIndicator: showArrow ? DropdownIndicatorCustom : null,\n ClearIndicator: ClearIndicatorCustom,\n }}\n closeMenuOnSelect\n isOptionDisabled={(option: any) => !!option?.disabled}\n hideSelectedOptions={false}\n onChange={onChange}\n />\n <span\n className={clsx(\n \"text-label text-sm left-2.5 cursor-pointer pointer-events-none absolute transition-all duration-200\",\n {\n \"scale-75 -translate-y-3\": field.value || inputValue,\n \"ml-[35px]\": hasIcon.hasIcon,\n \"ml-[2px]\": !hasIcon.hasIcon,\n \"top-2.5\": !(field.value || inputValue),\n \"top-0\": field.value || inputValue,\n },\n )}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700\"> *</strong>\n )}\n </span>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n style={{ color: \"var(--dangerous-700)\" }}\n className=\"text-xs ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n","export const customStyles = {\n indicatorSeparator: (provided: any, props: any) => {\n return {\n ...provided,\n backgroundColor:\n props.hasValue && provided?.selectProps?.isSearchable\n ? \"var(--input)\"\n : \"transparent\",\n padding: \"0px\",\n };\n },\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n transform: state?.selectProps?.menuIsOpen ? \"rotate(180deg)\" : \"rotate(0)\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n input: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0px\",\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n background: \"var(--surface)\",\n zIndex: 60,\n }),\n menuList: (provided: any) => ({\n ...provided,\n padding: \"0px 8px\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n paddingTop: state.selectProps.hasLabel ? \"10px\" : \"0\",\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"var(--paragraph)\",\n display: \"flex\",\n }),\n placeholder: (provided: any, state: any) => ({\n ...provided,\n paddingLeft: state.selectProps.hasIcon ? \"34px\" : \"0px\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: \"46px\",\n backgroundColor: state.isDisabled ? \"var(--light-100)\" : \"var(--surface)\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-700)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-700)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--light-100)\",\n padding: \"0px 8px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-700)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color = state.isSelected\n ? \"var(--accent-label)\"\n : state?.isDisabled\n ? \"var(--label)\"\n : \"var(--paragraph)\";\n\n /* if(state.isSelected) {\n color = 'rgba(0,0,0,0.03)';\n } */\n\n return {\n ...provided,\n cursor: state.isDisabled ? \"auto\" : \"pointer\",\n pointerEvents: state.isDisabled ? \"none\" : \"\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n padding: \"10px 12px\",\n backgroundColor: state.isSelected ? \"var(--blue-700)\" : \"var(--surface)\",\n color,\n fontWeight: state.isSelected ? 700 : 400,\n \"&:hover\": {\n backgroundColor: state.isSelected\n ? \"var(--blue-700)\"\n : \"var(--light-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-700)\",\n color: \"var(--accent-label) !important\",\n fontWeight: 700,\n },\n \"&:active i\": {\n color: \"var(--accent-label) !important\",\n fontWeight: 700,\n },\n \" i\": {\n color: \"var(--accent-label) !important\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport { FieldWrapperPassThroughProps } from \"./../FieldWrapper\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport { customStyles } from \"./SelectFieldBip.styles\";\nimport {\n useEffect,\n useMemo,\n useRef,\n useState,\n JSX,\n forwardRef,\n useImperativeHandle,\n} from \"react\";\nimport { useFieldErrorsStore } from \"./../../stores/field-errors\";\nimport clsx from \"clsx\";\nimport _debounce from \"../../utils/debounce\";\nimport { SpinnerIcon } from \"../..\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n disabled?: boolean;\n};\n\nexport interface SelectFieldBipRef {\n focus: () => void;\n clearValue: () => void;\n getValue: () => any;\n selectRef: any;\n}\n\ntype SelectFieldProps = FieldWrapperPassThroughProps & {\n name: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n onChange?: any;\n required?: boolean;\n filterOptions?: (value) => any;\n debounce?: number;\n error?: Merge<FieldError, FieldErrorsImpl<unknown>>;\n disabled?: boolean;\n onChangeValue?: (value) => void;\n optionStyle?: (option) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n onErrorBip?: (value) => void;\n clearAfterSelect?: boolean;\n menuIsOpen?: boolean;\n messages?: {\n searching?: string;\n debounce?: string;\n emptyMessage?: string;\n loading?: string;\n };\n};\n\nexport const SelectFieldBip = forwardRef<SelectFieldBipRef, SelectFieldProps>(\n (\n {\n name,\n label,\n error,\n defaultValue,\n control,\n placeholder,\n isSearchable = false,\n required,\n debounce,\n filterOptions,\n disabled,\n onChangeValue,\n optionStyle,\n valueStyle,\n icon,\n onErrorBip,\n clearAfterSelect = true,\n menuIsOpen,\n messages = {\n searching: \"Buscando...\",\n debounce: `Digite pelo menos {debounce} caracteres`,\n emptyMessage: \"Nenhuma opção encontrada\",\n loading: \"Carregando...\",\n },\n },\n ref,\n ) => {\n const { Option, SingleValue } = components;\n const selectRef = useRef(null);\n const [inputValue, setInputValue] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [cachedOptions, setCachedOptions] = useState([]);\n\n useImperativeHandle(ref, () => ({\n focus: () => selectRef.current?.focus(),\n clearValue: () => selectRef.current?.clearValue(),\n getValue: () => selectRef.current?.getValue(),\n selectRef: selectRef.current,\n }));\n const fetchOptions = async (value: string) => {\n if (isSearchable && filterOptions) {\n if (!debounce || (debounce && value.length >= debounce)) {\n setLoading(true);\n const result = await filterOptions(value);\n setCachedOptions(result);\n setLoading(false);\n return result;\n }\n }\n return [];\n };\n\n const fieldValidation = useFieldErrorsStore((state) => state.field);\n const fieldValidationMessages = [\n fieldValidation[name]?.message,\n error?.message,\n ];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const hasIcon = {\n hasIcon: icon,\n };\n\n const iconStyle = `z-[70] absolute bg-neutral-100 h-[44px] top-[1px] left-[1px] rounded-l-lg flex justify-center items-center w-[38px] text-[22px] ${\n hasError.hasError ? \"text-dangerous-500\" : \"text-label\"\n }`;\n\n const debouncedFetchOptions = useMemo(() => {\n return _debounce((value: string, callback: (opts) => void) => {\n fetchOptions(value).then(callback);\n }, 300);\n }, [filterOptions]);\n\n useEffect(() => {\n return () => {\n debouncedFetchOptions.cancel();\n };\n }, [debouncedFetchOptions]);\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const CustomSingleValue = (props) => {\n return (\n <SingleValue {...props}>\n {valueStyle ? (\n valueStyle(props?.data)\n ) : (\n <>{props.data.label} </>\n )}\n </SingleValue>\n );\n };\n\n const IconOption = (props) => {\n return (\n <Option {...props}>\n {optionStyle ? (\n optionStyle(props?.data)\n ) : (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n )}\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <SpinnerIcon\n width={16}\n height={16}\n className=\"animate-spin\"\n />\n {messages.searching}\n </div>\n );\n } else if (debounce && inputValue.length < debounce) {\n return (\n <div\n style={{ color: \"var(--label)\" }}\n className=\"p-2 text-[14px]\"\n >\n {messages.debounce.replace(\"{debounce}\", String(debounce))}\n </div>\n );\n }\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && inputValue.length < debounce)\n ) {\n return (\n <div\n className=\"p-2 text-[14px]\"\n style={{ color: \"var(--label)\" }}\n >\n {messages.debounce.replace(\"{debounce}\", String(debounce))}\n </div>\n );\n } else if (inputValue.length > 0 && props?.options?.length == 0) {\n return (\n <div\n className=\"p-2 text-[14px]\"\n style={{ color: \"var(--label)\" }}\n >\n {messages.emptyMessage}\n </div>\n );\n }\n };\n\n const DropdownIndicatorCustom = (props: any) => {\n return null;\n };\n\n const handleKeyDown = async (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n debouncedFetchOptions.cancel();\n\n const fetchedOptions = await fetchOptions(event.target.value);\n\n if (fetchedOptions?.length > 0) {\n onChange(fetchedOptions[0]);\n\n setTimeout(() => {\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.clearValue();\n selectRef?.current?.focus();\n selectRef?.current?.onMenuClose();\n field.onChange(null);\n }\n }, 10);\n } else {\n onErrorBip(event?.target?.value);\n selectRef.current.inputRef.select();\n selectRef.current.onMenuClose();\n }\n }\n };\n\n const handleInputChange = (value, actionMeta) => {\n if (actionMeta.action === \"input-change\") {\n if (clearAfterSelect) setInputValue(value);\n }\n return value;\n };\n\n const onChange = async (value, action?) => {\n if (onChangeValue) onChangeValue(value);\n\n if (action?.action === \"select-option\") {\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.clearValue();\n selectRef?.current?.onMenuClose();\n selectRef?.current?.focus();\n field.onChange(null);\n } else {\n field.onChange(value);\n if (clearAfterSelect) {\n setInputValue(\"\");\n selectRef?.current?.onMenuClose();\n }\n }\n }\n\n if (action === \"clear-value\") {\n if (clearAfterSelect) {\n setInputValue(\"\");\n setCachedOptions([]);\n selectRef?.current?.clearValue();\n field.onChange(null);\n }\n }\n };\n\n const loadOptions = (value: string, callback: (opts) => void) => {\n debouncedFetchOptions(value, callback);\n };\n\n return (\n <div className=\"relative\" id=\"multiselect\">\n {icon && <div className={iconStyle}>{icon}</div>}\n <AsyncSelect\n onKeyDown={handleKeyDown}\n {...field}\n {...hasError}\n {...hasLabel}\n {...hasIcon}\n ref={selectRef}\n isDisabled={disabled}\n onBlur={() => {\n if (clearAfterSelect) {\n handleInputChange(\"\", {\n action: \"input-change\",\n });\n }\n }}\n loadingMessage={() => <div>{messages.loading}</div>}\n isLoading={loading}\n loadOptions={loadOptions}\n defaultOptions={false}\n name={field.name}\n isClearable={false}\n styles={customStyles}\n placeholder={placeholder || \" \"}\n isSearchable={isSearchable}\n tabSelectsValue={true}\n components={{\n SingleValue: CustomSingleValue,\n ValueContainer,\n Option: IconOption,\n LoadingIndicator: () => <></>,\n LoadingMessage,\n NoOptionsMessage,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n closeMenuOnSelect={false}\n blurInputOnSelect\n hideSelectedOptions={false}\n menuIsOpen={menuIsOpen}\n isOptionDisabled={(option: any) => !!option?.disabled}\n onChange={onChange}\n inputValue={inputValue}\n onInputChange={handleInputChange}\n />\n {inputValue !== \"\" && (\n <i\n onClick={() => onChange(null, \"clear-value\")}\n className=\"uil uil-times text-[18px] absolute right-2 top-[11px] cursor-pointer text-label\"\n ></i>\n )}\n <span\n className={clsx(\n \"text-label text-sm left-2.5 cursor-pointer pointer-events-none\",\n {\n [\" scale-75 -translate-y-3 \"]: field.value,\n [\"text-dangerous-700\"]: hasError.hasError,\n },\n )}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-700\"> *</strong>\n )}\n </span>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-700 text-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n },\n);\n\nSelectFieldBip.displayName = \"SelectFieldBip\";\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n","import React from \"react\";\nimport { Control, Controller } from \"react-hook-form\";\ninterface Props {\n disabled?: boolean;\n control: Control<any>;\n name: string;\n label?: string;\n defaultChecked?: boolean;\n value?: string | number;\n onChange?: (value: string | number) => void;\n}\n\nexport const Radio = ({\n disabled,\n control,\n name,\n label,\n defaultChecked,\n value,\n onChange,\n}: Props) => {\n return (\n <Controller\n name={name as never}\n control={control}\n render={({ field }) => {\n return (\n <div className=\"flex items-center justify-center gap-2\">\n <label className=\"custom-radio flex items-center\">\n <input\n name={name}\n id={name}\n type=\"radio\"\n className=\"\"\n onClick={(e: any) => {\n field.onChange(e.target.value);\n }}\n value={value}\n onChange={(e) => field.onChange(e.target.value)}\n defaultChecked={defaultChecked}\n disabled={disabled}\n />\n <span></span>\n </label>\n {label && (\n <label htmlFor={name} className=\"text-p-md cursor-pointer -pt-1\">\n {label}\n </label>\n )}\n </div>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport { Switch } from \"@headlessui/react\";\nimport { Control, Controller } from \"react-hook-form\";\n\nconst { Group, Label } = Switch;\n\ntype ToggleProps = {\n name: string;\n label?: string;\n subLabel?: string;\n control: Control<any>;\n disabled?: boolean;\n};\n\nfunction classNames(...classes: any) {\n return classes.filter(Boolean).join(\" \");\n}\n\nexport const Toggle = ({\n name,\n label,\n subLabel,\n control,\n disabled,\n}: ToggleProps) => {\n return (\n <Group as=\"div\" className=\"flex items-center\">\n <Controller\n control={control}\n name={name as never}\n render={({ field }) => (\n <Switch\n disabled={disabled}\n {...field}\n className=\"h-[18px] w-[33px] focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 rounded-full\"\n checked={Boolean(field.value)}\n onChange={(value: boolean) => {\n field.onChange(value);\n }}\n >\n {({ checked }) => (\n <div\n className={classNames(\n checked ? \"bg-blue-500\" : \"bg-neutral-200\",\n \"relative inline-flex h-[18px] p-[2px] w-[33px] flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out \"\n )}\n >\n <span\n className={classNames(\n \"pointer-events-none relative inline-block -top-[2px] right-[2px] h-[14px] w-[14px] transform rounded-full shadow ring-0 transition duration-200 ease-in-out\",\n checked ? \"translate-x-[15px]\" : \"translate-x-0\",\n disabled ? \"bg-neutral-300\" : \"bg-button-label\"\n )}\n >\n <span\n className={classNames(\n checked\n ? \"opacity-0 ease-out duration-100\"\n : \"opacity-100 ease-in duration-200\",\n \"absolute inset-0 flex h-full w-full items-center justify-center transition-opacity\"\n )}\n aria-hidden=\"true\"\n ></span>\n <span\n className={classNames(\n checked\n ? \"opacity-100 ease-in duration-200\"\n : \"opacity-0 ease-out duration-100\",\n \"absolute inset-0 flex h-full w-full items-center justify-center transition-opacity\"\n )}\n aria-hidden=\"true\"\n ></span>\n </span>\n </div>\n )}\n </Switch>\n )}\n />\n\n {label && (\n <Label as=\"span\" className=\"flex flex-col gap-1 ml-2 cursor-pointer\">\n <span className=\"text-sm text-paragraph\">{label}</span>\n {subLabel && <span className=\"text-sm\">{subLabel}</span>}\n </Label>\n )}\n </Group>\n );\n};\n","import React from \"react\";\nimport { Combobox } from \"@headlessui/react\";\nimport { useEffect, useState } from \"react\";\nimport type { Table } from \"@tanstack/react-table\";\nimport clsx from \"clsx\";\n\ninterface Props<TData> {\n pageSizeOptions?: number[];\n table: Table<TData>;\n}\n\nexport function PaginationSelect<TData>({\n pageSizeOptions,\n table,\n}: Props<TData>) {\n const pageCount = table?.getPageCount();\n const pagesArray = pageCount ? [...Array(pageCount)] : [];\n const options = pagesArray?.map((item, index) => ({\n id: index,\n name: index,\n }));\n const [pageSizeSelected, setPageSizeSelected] = useState({\n id: JSON.parse(sessionStorage.getItem(\"pageSize\") as string)?.id || 20,\n name: JSON.parse(sessionStorage.getItem(\"pageSize\") as string)?.name || 20,\n });\n\n const [pageSelected, setPageSelected] = useState({\n id: table?.getState()?.pagination?.pageIndex || 0,\n name: table?.getState()?.pagination?.pageIndex || 0,\n });\n const [pagesOptions, setPagesOptions] = useState(() => options);\n\n const [pageSizesOptions, setPagesSizesOptions] = useState(\n pageSizeOptions?.map((item) => ({\n id: item,\n name: item,\n }))\n );\n const [query, setQuery] = useState(\"\");\n\n const filter = () => {\n let copy = [...options];\n setPagesOptions(\n copy.filter((item) => {\n return (item.name + 1).toString().startsWith(query);\n })\n );\n };\n\n const saveSessionStorage = (key: any, values: any) => {\n sessionStorage.setItem(key, JSON.stringify(values));\n };\n\n useEffect(() => {\n filter();\n }, [query]);\n\n useEffect(() => {\n saveSessionStorage(\"pageSize\", pageSizeSelected);\n table.setPageSize(pageSizeSelected?.id);\n table.setPageIndex(0);\n setPageSelected({\n id: 0,\n name: 0,\n });\n }, [pageSizeSelected]);\n\n useEffect(() => {\n setPagesOptions(\n pageCount\n ? [...Array(pageCount)].map((item, index) => ({\n id: index,\n name: index,\n }))\n : []\n );\n }, [table?.getPageCount()]);\n\n useEffect(() => {\n if (table?.getState()?.pagination?.pageIndex >= 0) {\n setPageSelected({\n id: table?.getState()?.pagination?.pageIndex,\n name: table?.getState()?.pagination?.pageIndex,\n });\n }\n }, [table?.getState().pagination]);\n\n return (\n <div className=\"hidden md:flex items-center gap-2\">\n <div className=\"flex items-center gap-2 text-paragraph\">\n <span>Exibir </span>\n <Combobox\n value={pageSizeSelected}\n onChange={(value: any) => {\n setPageSizeSelected(value);\n }}\n >\n {({ open }) => (\n <div className=\"relative\">\n <Combobox.Button className=\"flex items-center justify-between w-[70px] h-[42px] text-paragraph outline-none text-p-sm cursor-pointer peer relative shadow-input rounded-lg border p-2 disabled:bg-neutral-100 border-neutral-300\">\n {pageSizeSelected?.name}\n {open ? (\n <i className=\"uil uil-angle-up text-base top-[13px] pl-3 cursor-pointer text-label\"></i>\n ) : (\n <i className=\"uil uil-angle-down text-base top-[13px] pl-3 cursor-pointer text-label\"></i>\n )}\n </Combobox.Button>\n <Combobox.Options className=\"w-full outline-none max-h-[200px] overflow-auto border-[0.5px] mt-1 color-neutral-300 flex flex-col gap-y-2 p-1 absolute right-0 bottom-12 z-[999] rounded-lg bg-surface\">\n {pageSizesOptions?.map((opt) => {\n const selected = opt?.id === pageSizeSelected?.id;\n return (\n <Combobox.Option\n key={pageSizeSelected?.id + \"size\"}\n value={opt}\n className={clsx(\n \"p-2 rounded-lg items-center justify-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-accent-label text-accent-label\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n }\n )}\n >\n {opt.name}\n </Combobox.Option>\n );\n })}\n </Combobox.Options>\n </div>\n )}\n </Combobox>\n <span> resultados</span>\n </div>\n <div className=\"bg-neutral-300 h-[20px] w-[1px]\"></div>\n <div className=\"flex items-center gap-2 text-paragraph\">\n <span>Ir para a página </span>\n <Combobox\n value={pageSelected}\n onChange={(value) => {\n if (value && value?.id) {\n setPageSelected({\n id: value?.id,\n name: value?.id,\n });\n saveSessionStorage(\"pageIndex\", value?.id);\n table.setPageIndex(value?.id);\n setQuery(\"\");\n }\n }}\n >\n {({ open }) => (\n <div className=\"relative\">\n <Combobox.Button className=\"relative\">\n <Combobox.Input\n as=\"input\"\n onKeyDown={(e: any) => {\n const val = Number(e.target?.value);\n\n if (e.key == \"Enter\" && val && val <= pageCount) {\n setPageSelected({\n id: val - 1,\n name: val - 1,\n });\n saveSessionStorage(\"pageIndex\", val);\n table.setPageIndex(val - 1);\n setQuery(\"\");\n }\n }}\n displayValue={(item: any) => {\n return pageSelected ? pageSelected?.id + 1 : item?.id + 1;\n }}\n onChange={(e) => {\n if (e.target.value) {\n setQuery(e.target.value);\n }\n }}\n className=\"h-[42px] w-[70px] outline-none text-p-md text-paragraph cursor-pointer border-neutral-300 peer shadow-input rounded-lg border block disabled:bg-neutral-100 p-2\"\n />\n {open ? (\n <i className=\"uil uil-angle-up text-base absolute top-[10px] right-2 cursor-pointer text-label\"></i>\n ) : (\n <i className=\"uil uil-angle-down text-base absolute top-[10px] right-2 cursor-pointer text-label\"></i>\n )}\n </Combobox.Button>\n <Combobox.Options className=\"w-full outline-none max-h-[200px] overflow-auto border-[0.5px] mt-1 color-neutral-300 flex flex-col gap-y-2 p-1 absolute right-0 bottom-12 z-[999] rounded-lg bg-surface\">\n {pagesOptions.map((opt) => {\n const selected = opt?.id === pageSelected?.id;\n\n return (\n <Combobox.Option\n key={pageSelected?.id + \"page\"}\n value={opt}\n // onClick={() => {\n // setPageSelected({\n // id: opt.id - 1,\n // name: opt.id - 1,\n // });\n // saveSessionStorage(\n // 'pageIndex',\n // opt?.id\n // );\n // table.setPageIndex(opt?.id);\n // }}\n className={clsx(\n \"p-2 rounded-lg items-center justify-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-accent-label text-accent-label\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n }\n )}\n >\n {opt?.name + 1}\n </Combobox.Option>\n );\n })}\n </Combobox.Options>\n </div>\n )}\n </Combobox>\n </div>\n </div>\n );\n}\n","import { clsx } from \"clsx\";\nimport * as React from \"react\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <table\n ref={ref}\n className={clsx(\n \"table-scroll block text-left border-separate border-spacing-0 w-full\",\n className\n )}\n onScroll={props.onScroll}\n {...props}\n />\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={clsx(\"w-full sticky top-0 z-[90]\", className)}\n {...props}\n />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody ref={ref} className={clsx(className)} {...props} />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={clsx(\n \" flex flex-col md:flex-row gap-2 md:gap-0 justify-between items-center py-4 px-6 bg-surface w-full h-full border border-neutral-200 rounded-t-lg\",\n className\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr ref={ref} className={clsx(className)} {...props} />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }: any, ref) => (\n <th\n ref={ref}\n className={clsx(\n {\n \"hover:bg-neutral-100\": props.sortable,\n },\n \"text-p-md z-[50] bg-surface font-normal text-neutral-700 p-4 text-left border-t border-b border-neutral-200 first:border-l last:border-r first:rounded-tl-lg first:rounded-bl-lg last:rounded-tr-lg last:rounded-br-lg\",\n className\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={clsx(\n \"align-middle h-[80px] border-b border-neutral-200 whitespace-nowrap py-4 px-5\",\n className\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={clsx(\"text-default mt-4 text-sm\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","import React from \"react\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { TableFooter } from \"./TableComponents\";\nimport { Fragment, JSX, MutableRefObject } from \"react\";\nimport { PaginationSelect } from \"./PaginationSelects\";\nimport { Button } from \"../Button\";\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n footer?: JSX.Element;\n totalData?: number;\n selectAllOption?: boolean;\n onSelectAll?: (value: any) => void;\n onRemoveAll?: (value: any) => void;\n rowsSelected?: number;\n tableRef?: MutableRefObject<HTMLDivElement>;\n paginationScroll?: number;\n pageSizeOptions?: number[];\n}\n\nexport function DataTablePagination<TData>({\n table,\n footer = <div></div>,\n totalData,\n selectAllOption,\n onSelectAll,\n rowsSelected,\n onRemoveAll,\n tableRef,\n paginationScroll,\n pageSizeOptions = [],\n}: DataTablePaginationProps<TData>) {\n const selectedPage = table?.getState()?.pagination.pageIndex;\n const results = totalData;\n const pageCount = table?.getPageCount();\n const limitPagePositive = table?.getState()?.pagination.pageIndex + 2;\n const limitPageNegative = table?.getState()?.pagination.pageIndex - 2;\n const pagesArray = pageCount ? [...Array(pageCount)] : [];\n const pageRowsCount = table?.getRowModel()?.rows?.length || 0;\n\n return (\n <div className=\"w-full flex flex-col sticky z-[90] bottom-0\">\n <div\n className=\"bg-none overflow-x-hidden md:overflow-x-auto overflow-y-hidden table-scroll rounded-lg relative top-[8px] -space-y-1 z-[302] h-[12px]\"\n onScroll={(evt) => {\n tableRef?.current.scrollTo({\n left: evt.currentTarget.scrollLeft,\n });\n }}\n >\n <div\n style={{\n width: paginationScroll ? paginationScroll - 2 : 0,\n }}\n >\n \n </div>\n </div>\n\n <TableFooter>\n {pageSizeOptions?.length > 0 && (\n <PaginationSelect table={table} pageSizeOptions={pageSizeOptions} />\n )}\n <div className=\"flex flex-col md:flex-row items-center justify-center md:justify-normal gap-2 md:gap-4\">\n {footer}\n {selectAllOption && (\n <div>\n {rowsSelected !== totalData ? (\n <div className=\"md:border-l border-neutral-300 pl-4\">\n <Button size=\"xxs\" onClick={onSelectAll} variant=\"secondary\">\n Selecionar todos os {totalData}\n </Button>\n </div>\n ) : (\n <div className=\"md:border-l border-neutral-300 pl-4\">\n <Button size=\"xxs\" onClick={onRemoveAll} variant=\"secondary\">\n Desmarcar todos\n </Button>\n </div>\n )}\n </div>\n )}\n </div>\n <div className=\"flex flex-col md:flex-row items-center md:justify-end justify-center gap-2 flex-1\">\n <span className=\"text-p-md text-paragraph mr-1\">\n Mostrando {pageRowsCount} de {results} resultados\n </span>\n\n <div className=\"flex items-center gap-2\">\n <Button\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n variant=\"icon\"\n icon={<i className=\"uil uil-angle-left text-base\"></i>}\n size=\"xs\"\n className=\"justify-center\"\n />\n\n {limitPageNegative >= 1 && (\n <div className=\"flex gap-2\">\n <Button\n onClick={() => table.setPageIndex(0)}\n variant=\"icon\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: \"var(--paragraph)\",\n }}\n >\n {1}\n </div>\n }\n size=\"xs\"\n className=\"justify-center\"\n />\n {limitPageNegative !== 1 && (\n <Button\n disabled\n variant=\"icon\"\n icon={<>...</>}\n size=\"xs\"\n className=\"justify-center\"\n />\n )}\n </div>\n )}\n\n {pagesArray.map((elem, index) => {\n const checkPageIndexLimit =\n index <= limitPagePositive && index >= limitPageNegative;\n const isSelectedPage = index === selectedPage;\n\n return (\n <Fragment key={index + \"pagination\"}>\n {checkPageIndexLimit && (\n <Button\n onClick={() => table.setPageIndex(index)}\n className=\"font-normal text-xs justify-center\"\n variant={isSelectedPage ? \"blue\" : \"icon\"}\n size=\"xs\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: isSelectedPage\n ? \"var(--accent-label)\"\n : \"var(--paragraph)\",\n }}\n >\n {(index + 1).toLocaleString(\"pt-BR\")}\n </div>\n }\n ></Button>\n )}\n </Fragment>\n );\n })}\n\n {limitPagePositive + 1 < pageCount && (\n <div className=\"flex gap-2\">\n {limitPagePositive !== pagesArray.length - 2 && (\n <Button\n disabled\n variant=\"icon\"\n icon={<>...</>}\n size=\"xs\"\n className=\"justify-center\"\n />\n )}\n <Button\n onClick={() => table.setPageIndex(pageCount)}\n variant=\"icon\"\n icon={\n <div\n style={{\n fontSize: \"12px\",\n color: \"var(--paragraph)\",\n }}\n >\n {pageCount.toLocaleString(\"pt-BR\")}\n </div>\n }\n size=\"xs\"\n className=\"font-normal justify-center\"\n />\n </div>\n )}\n <Button\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n variant=\"icon\"\n icon={<i className=\"uil uil-angle-right text-base\"></i>}\n size=\"xs\"\n className=\"justify-center\"\n />\n </div>\n </div>\n </TableFooter>\n </div>\n );\n}\n","import type {\n ColumnFiltersState,\n ExpandedState,\n FilterFn,\n PaginationState,\n Row,\n SortingState,\n Table as TableType,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport {\n flexRender,\n getCoreRowModel,\n getExpandedRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React, {\n JSX,\n MutableRefObject,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./TableComponents\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport clsx from \"clsx\";\n// import EmptyState from '../Table/Components/Empty/EmptyState';\nimport { rankItem } from \"@tanstack/match-sorter-utils\";\nimport {Input} from \"./../Input\";\n\ntype CustomTData = {\n _destroy?: string;\n};\n\nconst fuzzyFilter: FilterFn<any> = (row, columnId, value, addMeta) => {\n // Rank the item\n const itemRank = rankItem(row.getValue(columnId), value);\n // Store the itemRank info\n addMeta({\n itemRank,\n });\n\n // Return if the item should be filtered in/out\n return itemRank.passed;\n};\n\nexport interface DataTableProps<TData extends CustomTData, TValue> {\n tableContainerRef: MutableRefObject<any>;\n columns: any[];\n data?: any[];\n searchKey?: string;\n tableCTA?: React.ReactNode;\n isLoading?: boolean;\n onScroll?: any;\n CTA?: React.ReactNode;\n hidePagination?: boolean;\n emptyButtonAction?: JSX.Element;\n hideBlankState?: boolean;\n getRowCanExpand?: () => boolean;\n enableRowSelection?: () => boolean;\n renderSubComponent?: (row: any) => any;\n footer?: JSX.Element;\n borderFull?: boolean;\n withShadow?: boolean;\n actionsSelection?: JSX.Element;\n rowSelection?: any;\n setRowSelection?: any;\n hideHeader?: boolean;\n backgroundColor?: string;\n emptyState?: JSX.Element;\n totalData?: number;\n showFilter?: boolean;\n placeholder?: string;\n fetchData?: (options: {\n pageIndex: number;\n pageSize: number;\n order?: string;\n orderDir?: \"ASC\" | \"DESC\";\n }) => Promise<{\n rows: TData[];\n pageCount: number;\n }>;\n openedSubComponent?: boolean;\n setRows?: (e: any) => void;\n selectAllOption?: boolean;\n autoPagination?: boolean;\n tableClass?: string;\n rowClassName?: (row: any) => any;\n listUpdate?: JSX.Element;\n perPage?: number;\n pageSizeOptions?: number[];\n onFinishFetch?: () => void;\n /* filterableItems?: FilterableItems;\n selectionOptions?: ActionItem<TData>[]; */\n}\n\ntype CustomTable<TData> = TableType<TData> & {\n options?: {\n meta?: {\n getRowStyles?: (row: Row<TData>) => React.CSSProperties;\n };\n };\n};\n\nexport default function DataTable<TData extends CustomTData, TValue>({\n columns,\n tableClass = \"\",\n data = [],\n hidePagination,\n emptyButtonAction,\n hideBlankState,\n renderSubComponent = () => {},\n footer,\n borderFull = false,\n withShadow = true,\n actionsSelection,\n backgroundColor,\n emptyState,\n totalData = 0,\n showFilter,\n placeholder,\n fetchData,\n openedSubComponent = false,\n getRowCanExpand,\n enableRowSelection,\n onScroll,\n tableContainerRef,\n setRows,\n selectAllOption,\n autoPagination,\n rowClassName,\n listUpdate,\n setRowSelection,\n rowSelection,\n perPage,\n pageSizeOptions,\n onFinishFetch,\n}: /* filterableItems,\n selectionOptions, */\nDataTableProps<TData, TValue>) {\n const tableRef = useRef<HTMLTableElement>(null);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [sorting, setSorting] = useState<SortingState>([]);\n const [arrRowSelected, setArrRowSelected] = useState([]);\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [dataTable, setDataTable] = useState([]);\n const [loading, setLoading] = useState(true);\n const [expanded, setExpanded] = useState<ExpandedState>({});\n const [total, setTotal] = useState(() => totalData);\n const [{ pageIndex, pageSize }, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: hidePagination ? 999999 : perPage ? perPage : 20,\n });\n const [paginationScroll, setPaginationScroll] = useState<number>();\n\n const pagination = useMemo(\n () => ({\n pageIndex,\n pageSize,\n }),\n [pageIndex, pageSize]\n );\n\n // Sticky header functionality removed - vh-sticky-table-header has compatibility issues\n // You can implement custom sticky header with CSS: position: sticky; top: 0;\n\n const fetch = () => {\n if (fetchData && !autoPagination) {\n fetchData({\n pageSize,\n pageIndex,\n order: sorting[0]?.id,\n orderDir: sorting[0]?.desc ? \"DESC\" : \"ASC\",\n }).then((response: any) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n } else {\n manualPagination(pageIndex, pageSize).then((response) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n }\n setTimeout(() => {\n if (onFinishFetch) {\n onFinishFetch();\n }\n }, 1000);\n };\n\n const manualPagination = async (pageIndex: number, pageSize: number) => {\n const promise = new Promise((resolve, reject) => {\n let shortArrays: any = [],\n i,\n len;\n for (i = 0, len = totalData; i < len; i += pageSize) {\n shortArrays.push(data?.slice(i, i + pageSize));\n }\n resolve(shortArrays);\n });\n\n let dataPromise = (await promise) as any;\n return {\n rows: dataPromise[pageIndex],\n pageCount: Number(pageSize),\n };\n };\n\n useEffect(() => {\n if (!tableContainerRef?.current) return;\n\n const resizeObserver = new ResizeObserver(() => {\n setPaginationScroll(tableContainerRef?.current?.scrollWidth);\n });\n resizeObserver.observe(tableContainerRef?.current);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n if (fetchData || autoPagination) {\n fetch();\n }\n }, [pageIndex, pageSize, sorting]);\n\n useEffect(() => {\n if (totalData !== total) {\n setPagination({\n pageIndex: 0,\n pageSize: pagination.pageSize,\n });\n setTotal(totalData);\n }\n }, [totalData]);\n\n useEffect(() => {\n if (data) {\n setDataTable(\n () => (autoPagination ? data.slice(0, pageSize) : data) as any\n );\n setLoading(false);\n }\n }, [data]);\n\n const pages =\n totalData < pagination.pageSize\n ? 1\n : Math.ceil(totalData / pagination.pageSize);\n\n let table: TableType<any> = useReactTable({\n data: dataTable?.length > 0 ? dataTable : [],\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n globalFilter,\n columnFilters,\n pagination,\n expanded,\n },\n pageCount: pages,\n manualPagination: true,\n enableRowSelection: enableRowSelection,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onGlobalFilterChange: setGlobalFilter,\n globalFilterFn: fuzzyFilter,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n onPaginationChange: setPagination,\n getRowCanExpand,\n onExpandedChange: setExpanded,\n getExpandedRowModel: getExpandedRowModel(),\n enableExpanding: true,\n getRowId: (row) => {\n return row.id;\n },\n meta: {\n getRowStyles: rowClassName,\n },\n }) as CustomTable<any>;\n\n useEffect(() => {\n if (enableRowSelection && rowSelection) {\n setArrRowSelected(Object.keys(rowSelection) as any);\n }\n }, [rowSelection, enableRowSelection]);\n\n const onSelectAll = () => {\n table.toggleAllRowsSelected(true);\n const araysIds = data?.map((item) => item?.id);\n let selected = {};\n araysIds?.forEach((id) => {\n selected = {\n ...selected,\n [id]: true,\n };\n });\n setRowSelection(selected);\n return;\n };\n\n const onRemoveAll = () => {\n table.toggleAllRowsSelected();\n setRowSelection({});\n return;\n };\n\n const hideTableData =\n (dataTable && dataTable?.length == 0 && !loading && !hideBlankState) ||\n !dataTable ||\n table?.getRowModel()?.rows?.length == 0;\n const canShowTableData = !hidePagination && totalData > 0 && table;\n\n function renderBottomTable() {\n if (hideTableData && totalData !== null) {\n if (emptyState) {\n return emptyState;\n } else {\n return <div></div>;\n // <EmptyState emptyButtonAction={emptyButtonAction} />;\n }\n } else if (canShowTableData && totalData !== null) {\n return (\n <DataTablePagination\n table={table}\n footer={footer}\n totalData={totalData}\n tableRef={tableContainerRef}\n selectAllOption={selectAllOption}\n onSelectAll={onSelectAll}\n rowsSelected={Object.keys(rowSelection || {})?.length}\n onRemoveAll={onRemoveAll}\n paginationScroll={paginationScroll}\n pageSizeOptions={pageSizeOptions}\n />\n );\n } else if (totalData == null) {\n return <></>;\n }\n }\n\n useEffect(() => {\n if (rowSelection && Object.keys(rowSelection).length == 0) {\n const elements = document.getElementsByClassName(\"th-shadow\") as any;\n Object.keys(elements).forEach((index) => {\n elements[index]?.classList?.add(\"with-shadow\");\n });\n } else if (rowSelection && Object.keys(rowSelection).length == 1) {\n const elements = document.getElementsByClassName(\"th-shadow\");\n Object.keys(elements).forEach((index: any) => {\n elements[index]?.classList?.remove(\"with-shadow\");\n });\n }\n }, [rowSelection]);\n\n const stylesRow = (row: any) => {\n const tb = table as any;\n return rowClassName ? tb?.options?.meta?.getRowStyles(row) : {};\n };\n\n return (\n <div className=\"w-full h-full flex flex-col\">\n {showFilter && (\n <div className=\"w-full flex justify-between md:items-center flex-col md:flex-row gap-y-2 md:gap-y-0\">\n <div className=\"w-full md:max-w-[350px]\" id=\"filter-table\">\n <Input\n onChange={(e: any) => setGlobalFilter(e.target.value)}\n name=\"filter\"\n value={globalFilter}\n icon={<i className=\"uil uil-search\"></i>}\n placeholder=\"Buscar pedido por ID, Código ou Cliente\"\n clearField\n onClear={() => setGlobalFilter(\"\")}\n />\n </div>\n\n {listUpdate}\n </div>\n )}\n <div\n className={clsx(\"w-full flex mt-4 flex-col justify-between\", {\n \"flex-1\": !hideTableData,\n [tableClass]: tableClass,\n })}\n >\n <Table\n className={clsx(\n \"w-full table_container z-20 overflow-x-scroll md:overflow-x-hidden\"\n )}\n onScroll={onScroll}\n ref={tableContainerRef}\n >\n {rowSelection &&\n Object.keys(rowSelection)?.length > 0 &&\n actionsSelection &&\n dataTable?.length > 0 && (\n <div className=\"h-[76px] flex items-center justify-between px-4 bg-gradient-to-b from-blue-start to-blue-end rounded-lg -mb-[1px]\">\n <div className=\"flex gap-6\">\n <span className=\"text-white text-p-lg\">\n {Object.keys(rowSelection).length} selecionado(s)\n </span>\n {actionsSelection}\n </div>\n <button title=\"set-row\" onClick={() => setRowSelection({})}>\n <i className=\"uil uil-times text-white\"></i>\n </button>\n </div>\n )}\n <div className=\"table w-full mr-[2px]\" ref={tableRef}>\n <TableHeader>\n {table?.getHeaderGroups()?.map((headerGroup, headerIndex) => (\n <TableRow key={headerGroup.id + headerIndex + \"header\"}>\n {headerGroup.headers.map((header, index) => {\n const classes = header.column.columnDef.meta as any;\n return (\n <TableHead\n key={headerIndex + index + \"th\"}\n style={{\n width: header.getSize(),\n }}\n scope=\"col\"\n className={clsx(\n {\n \"hover:bg-neutral-100 th-shadow cursor-pointer\":\n header.column.getCanSort(),\n [\"with-shadow\"]:\n arrRowSelected?.length == 0 && withShadow,\n },\n classes?.header,\n classes?.className\n )}\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {sorting[0]?.id == header.column.id ? (\n <i\n className={clsx(\n {\n [\"rotate-0\"]: !sorting[0]?.desc,\n [\"rotate-180\"]: sorting[0]?.desc,\n },\n \"uil uil-arrow-down text-blue-500 transform ml-1 text-[18px] duration-75\"\n )}\n ></i>\n ) : (\n <></>\n )}\n </div>\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n\n <TableBody>\n {table?.getRowModel()?.rows?.map((row, rowIndex) => {\n return (\n <React.Fragment key={rowIndex + \"row\"}>\n {!row.original._destroy && (\n <React.Fragment>\n <TableRow\n key={row.id}\n id={row.id}\n className={`text-p-md font-normal h-[80px] text-paragraph w-fit`}\n style={stylesRow(row)}\n >\n {row.getVisibleCells().map((cell, index) => {\n const classes = cell.column.columnDef.meta as any;\n return (\n <TableCell\n key={cell.id}\n id={cell.id}\n style={{\n width: cell.column.getSize(),\n backgroundColor: backgroundColor\n ? backgroundColor\n : \"\",\n ...stylesRow(row),\n }}\n className={clsx(\n {\n [\"hidden\"]: cell.row.original._destroy,\n [\"first:border-l last:border-r\"]:\n borderFull,\n [\"first:rounded-bl-lg last:rounded-br-lg\"]:\n borderFull &&\n row.index === data?.length - 1,\n },\n classes?.cell,\n classes?.className\n )}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n );\n })}\n </TableRow>\n {(row.getIsExpanded() || openedSubComponent) && (\n <tr>\n <td colSpan={row.getVisibleCells().length}>\n {renderSubComponent({\n row,\n })}\n </td>\n </tr>\n )}\n </React.Fragment>\n )}\n </React.Fragment>\n );\n })}\n </TableBody>\n </div>\n </Table>\n {renderBottomTable()}\n </div>\n </div>\n );\n}\n","import { ReactNode, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Transition } from \"@headlessui/react\";\n\ninterface Props {\n title: string;\n children: ReactNode;\n open: boolean;\n}\n\nexport const Accordion = ({ title, children, open = false }: Props) => {\n const [isOpen, setOpen] = useState<boolean>(open);\n\n return (\n <div>\n <div\n className={clsx(\n {\n [\"border-neutral-200\"]: !isOpen,\n [\"border-rose-700\"]: isOpen,\n },\n \"flex flex-col w-full px-3 py-2 shadow-input border rounded-lg\"\n )}\n >\n <button\n onClick={() => {\n setOpen((state) => !state);\n }}\n type=\"button\"\n className=\"flex items-center justify-between w-full \"\n >\n <span>{title}</span>\n <i\n className={clsx(\n {\n [\"transform rotate-[180deg]\"]: isOpen,\n },\n \"duration-300 uil uil-angle-down text-[30px]\"\n )}\n ></i>\n </button>\n <Transition\n show={isOpen}\n enter=\"ease-in duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-out duration-300\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div\n className={`${\n isOpen ? \"flex opacity-100\" : \"hidden opacity-0\"\n } overflow-auto table-scroll`}\n >\n {children}\n </div>\n </Transition>\n </div>\n </div>\n );\n};\n","import { useState } from \"react\";\nimport { Popover } from \"./Popover/Popover\";\n\nexport function CopyPopover({ children, valueToCopy }) {\n const [copied, setCopied] = useState(false);\n return (\n <>\n <div\n className=\"flex items-center gap-1\"\n onClick={async () => {\n setCopied(true);\n navigator.clipboard.writeText(valueToCopy);\n }}\n onMouseLeave={() => setTimeout(() => setCopied(false), 500)}\n >\n <div\n className=\"flex items-center gap-1\"\n data-tooltip-id=\"copy-id\"\n data-tooltip-content={copied ? \"Copiado\" : \"Copiar\"}\n data-tooltip-place=\"top\"\n >\n <Popover id=\"copy-id\" />\n <div className=\"text-neutral-400 text-xs\">{children}</div>\n </div>\n <div\n data-tooltip-id=\"icon-id\"\n data-tooltip-content={copied ? \"Copiado\" : \"Copiar\"}\n data-tooltip-place=\"top\"\n >\n <Popover id=\"icon-id\" />\n\n <i className=\"uil uil-copy text-base text-blue-500 cursor-pointer -mt-[1px]\"></i>\n </div>\n </div>\n </>\n );\n}\n","import {\n Menu as HeadlessMenu,\n Transition,\n MenuButton,\n MenuItems,\n} from \"@headlessui/react\";\nimport { Fragment, ReactNode } from \"react\";\n\ntype MenuProps = {\n triggerElement?: ReactNode;\n children?: ReactNode;\n className?: string;\n};\n\nexport const Menu = ({ triggerElement, children, className }: MenuProps) => {\n return (\n <HeadlessMenu as=\"div\" className={\"relative h-full cursor-pointer\"}>\n <MenuButton\n as=\"div\"\n className=\"flex rounded-full text-sm h-full w-full items-center\"\n >\n {triggerElement}\n </MenuButton>\n <Transition\n as={Fragment}\n enter=\"transition ease-out duration-200\"\n enterFrom=\"transform opacity-0 scale-95\"\n enterTo=\"transform opacity-100 scale-100\"\n leave=\"transition ease-in duration-75\"\n leaveFrom=\"transform opacity-100 scale-100\"\n leaveTo=\"transform opacity-0 scale-95\"\n >\n <MenuItems\n className={`border-[0.5px] mt-1 color-neutral-300 flex min-w-[200px] flex-col gap-y-2 p-3 absolute right-0 z-[999] rounded-lg shadow-[2px_4px_8px_rgba(57,60,77,0.1)] bg-surface cursor-default ${className}`}\n >\n {children}\n </MenuItems>\n </Transition>\n </HeadlessMenu>\n );\n};\n","import { MenuItem } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { ReactNode } from \"react\";\n\ntype ItemProps = {\n index?: number;\n isActive?: boolean;\n onClick?: (event: any) => void;\n children?: ReactNode;\n};\n\nexport const Item = ({ index, isActive, onClick, children }: ItemProps) => {\n return (\n <MenuItem key={index}>\n <div\n className={clsx(\n \"h-[36px] p-2 rounded-lg items-center cursor-pointer flex whitespace-nowrap no-underline \",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-accent-label text-accent-label\":\n isActive,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !isActive,\n }\n )}\n tabIndex={index}\n role=\"button\"\n onClick={onClick}\n >\n <div className=\"flex gap-2 w-full items-center whitespace-nowrap\">\n {children}\n </div>\n </div>\n </MenuItem>\n );\n};\n","import React from \"react\";\nimport { ReactNode, useState } from \"react\";\nimport { Button } from \"./Button\";\ntype EditableTextProps = {\n children?: ReactNode;\n button?: ReactNode;\n onClose?: Function;\n};\n\nexport const EditableButton = ({\n children,\n button,\n onClose,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n\n return (\n <div className=\"flex flex-col relative\">\n <div\n className=\"group flex gap-[5px] items-center cursor-pointer\"\n onClick={() => setShowModal(!showModal)}\n >\n {button}\n </div>\n {showModal && (\n <div className=\"max-w-[294px] p-2 bg-surface border border-neutral-300 top-14 absolute z-50 rounded-lg\">\n <div className=\"pb-3\">{children}</div>\n <div className=\"pt-3 pb-1 border-t border-neutral-200 flex items-center justify-end gap-2\">\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => setShowModal(false)}\n >\n Cancelar\n </Button>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => {\n setShowModal(false);\n if (onClose) onClose();\n }}\n >\n Aplicar\n </Button>\n </div>\n </div>\n )}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { Controller } from \"react-hook-form\";\nimport { ReactNode, useState, JSX } from \"react\";\nimport { Button } from \"./Button\";\n\ntype EditableTextProps = {\n control?: any;\n name?: string;\n emptyLabel?: string | JSX.Element;\n children?: ReactNode;\n onApply?: () => void;\n value?: (value) => JSX.Element;\n hideEditIcon?: boolean;\n truncate?: boolean;\n};\n\nexport const EditableText = ({\n control,\n name = \"\",\n emptyLabel,\n children,\n onApply,\n value,\n hideEditIcon,\n truncate,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n\n const truncateText = (str, max, len) => {\n return str.length > max ? str.substring(0, len) + \"...\" : str;\n };\n return (\n <Controller\n control={control}\n name={name}\n render={({ field }) => {\n return (\n <div className=\"flex flex-col relative\">\n <div\n className=\"group flex gap-[5px] items-baseline cursor-pointer z-[500]\"\n onClick={() => setShowModal(!showModal)}\n >\n {value && field.value ? (\n <>\n {truncate\n ? value(truncateText(field.value, 14, 12))\n : value(field.value)}\n </>\n ) : field.value ? (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n Preenchido\n </label>\n ) : (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n {emptyLabel ? emptyLabel : \"Não informado\"}\n </label>\n )}\n {!hideEditIcon && (\n <i\n style={{ fontSize: \"14px\" }}\n className=\"uil uil-pen text-sm text-blue-500\"\n ></i>\n )}\n </div>\n {showModal && (\n <div>\n <div className=\"w-[160px] md:w-[294px] p-2 bg-surface border border-neutral-300 absolute z-[500] rounded-lg\">\n <div className=\"pb-3 \">{children}</div>\n <div className=\"pt-3 pb-1 border-t border-neutral-200 flex flex-col md:flex-row md:items-center md:justify-end gap-2\">\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={() => setShowModal(false)}\n >\n Cancelar\n </Button>\n <Button\n variant=\"primary\"\n size=\"sm\"\n onClick={() => {\n setShowModal(false);\n onApply && onApply();\n }}\n >\n Salvar\n </Button>\n </div>\n </div>\n <div\n className=\"fixed top-0 bottom-0 left-0 right-0 z-40\"\n onClick={() => setShowModal(false)}\n ></div>\n </div>\n )}\n </div>\n );\n }}\n />\n );\n};\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { Controller } from \"react-hook-form\";\nimport { ReactNode, useEffect, useState, JSX } from \"react\";\nimport { Menu } from \"@headlessui/react\";\nimport Fuse from \"fuse.js\";\nimport InputSmall from \"./InputSmall/InputSmall\";\n\ntype EditableTextProps = {\n control?: any;\n name: string;\n emptyLabel?: string | JSX.Element;\n children?: ReactNode;\n options?: any;\n optionStyle?: (value) => JSX.Element;\n valueStyle?: (value) => JSX.Element;\n showInputSeach?: boolean;\n onChangeValue?: (value) => void;\n};\n\nexport const EditableTextSelect = ({\n control,\n name,\n emptyLabel,\n options,\n optionStyle,\n valueStyle,\n showInputSeach,\n onChangeValue,\n}: EditableTextProps) => {\n const [showModal, setShowModal] = useState(false);\n const [optionsList, setOptionsList] = useState(() => options);\n const [inputSearch, setInputSearch] = useState(\"\");\n\n const optionsFuse = {\n includeScore: false,\n keys: [\"name\"],\n };\n const fuse = new Fuse(optionsList, optionsFuse);\n\n const filter = () => {\n let results = [...options];\n if (inputSearch) {\n results = fuse.search(inputSearch)?.map((result) => result.item);\n }\n setOptionsList(results);\n };\n\n useEffect(() => {\n setOptionsList(() => options);\n }, [options]);\n\n useEffect(() => {\n filter();\n }, [inputSearch]);\n\n return (\n <Controller\n control={control}\n name={name}\n render={({ field }) => {\n return (\n <Menu>\n <Menu.Button>\n <div\n className=\"group flex gap-[5px] cursor-pointer z-[500] items-center\"\n onClick={() => setShowModal(!showModal)}\n >\n {field.value ? (\n valueStyle ? (\n valueStyle(field.value)\n ) : (\n field?.value?.name\n )\n ) : (\n <label\n className={clsx(\n {\n [\"text-label\"]: !field.value,\n [\"text-paragraph\"]: field.value,\n },\n \"text-p-md group-hover:underline group-hover:underline-offset-[3px] cursor-pointer decoration-blue-500\"\n )}\n >\n {emptyLabel ? emptyLabel : \"Não informado\"}\n </label>\n )}\n <i\n style={{ fontSize: \"16px\" }}\n className=\"uil uil-pen text-sm text-blue-500\"\n ></i>\n </div>\n </Menu.Button>\n <Menu.Items>\n <div className=\"w-[294px] p-2 bg-surface border border-neutral-300 absolute z-[500] rounded-lg\">\n {showInputSeach && (\n <div className=\"mb-2\">\n <InputSmall\n icon={<i className=\"uil uil-search\"></i>}\n onChange={(e: any) => setInputSearch(e)}\n value={inputSearch}\n placeholder=\"Pesquisar\"\n clearField\n onKeyDown={(e) => {\n if (e.key == \" \" || e.code == \"Space\") {\n e.stopPropagation();\n }\n }}\n />\n </div>\n )}\n {optionsList?.map((opt) => {\n const selected = opt?.id === field?.value?.id;\n return (\n <Menu.Item\n onClick={() => {\n field.onChange(opt);\n if (onChangeValue) {\n onChangeValue(opt);\n }\n }}\n as=\"button\"\n className={clsx(\n \"p-3 mb-1 rounded-lg items-center flex whitespace-nowrap no-underline w-full\",\n {\n \"bg-blue-500 hover:bg-blue-500 hover:text-accent-label text-accent-label\":\n selected,\n },\n {\n \"hover:bg-neutral-100 text-paragraph\": !selected,\n },\n {\n \"cursor-pointer\": !opt.disabled,\n }\n )}\n >\n <div className=\"flex gap-2 w-full items-center whitespace-nowrap\">\n <div className=\"flex w-full justify-between items-center\">\n {optionStyle ? (\n <div>{optionStyle(opt)}</div>\n ) : (\n <div className=\"flex flex-col\">\n <span className=\"font-bold\">{opt?.title}</span>\n <span\n className={clsx({\n \"text-label\": opt.disabled,\n })}\n >\n {opt.name}\n </span>\n {opt?.description}\n </div>\n )}\n <span\n className={clsx(\n \"group-hover:text-accent-label \",\n {\n \"text-accent-label\": selected,\n },\n {\n \"text-blue-500\": !selected,\n }\n )}\n >\n {selected && <i className=\"uil uil-check\"></i>}\n </span>\n </div>\n </div>\n </Menu.Item>\n );\n })}\n </div>\n </Menu.Items>\n </Menu>\n );\n }}\n />\n );\n};\n","import { Fragment } from \"react\";\nimport { Dialog, Transition } from \"@headlessui/react\";\n\nexport default function ImagePreview({ open, setOpen, previewImage }) {\n return (\n <Transition.Root show={open} as={Fragment}>\n <Dialog\n as=\"div\"\n className=\"relative z-[999]\"\n onClose={() => setOpen(false)}\n >\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <div className=\"fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity\" />\n </Transition.Child>\n\n <div className=\"fixed inset-0 z-10 overflow-y-auto\">\n <div className=\"flex min-h-full items-end justify-center p-4 text-center sm:items-center sm:p-0\">\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enterTo=\"opacity-100 translate-y-0 sm:scale-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100 translate-y-0 sm:scale-100\"\n leaveTo=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <Dialog.Panel className=\"flex flex-col min-w-[350px] min-h-[250px] relative transform overflow-hidden rounded-lg bg-surface p-6 text-left shadow-xl transition-all\">\n <div className=\"flex flex-col h-full flex-1\">\n <div className=\"flex justify-between mb-2\">\n <h2 className=\"text-t-sm font-bold\">Prévia da imagem</h2>\n <i\n className=\"uil uil-times text-[28px] cursor-pointer\"\n onClick={() => setOpen(false)}\n ></i>\n </div>\n\n <div className=\"border-b border-neutral-200 mb-4\"></div>\n\n <div className=\"flex flex-1 h-full items-center justify-center rounded-lg w-full \">\n <img src={previewImage} alt=\"previewImage\" />\n </div>\n </div>\n </Dialog.Panel>\n </Transition.Child>\n </div>\n </div>\n </Dialog>\n </Transition.Root>\n );\n}\n","import { SpinnerIcon } from \"../../assets/spinner\";\nimport { Button } from \"../Button\";\nimport ImagePreview from \"./ImagePreview\";\nimport { useState } from \"react\";\n\ntype FileStatusProps = {\n name: string;\n isLoading: boolean;\n size: number;\n onRemove: any;\n isImage: boolean;\n image?: any;\n};\n\nexport const FileStatus = ({\n name,\n isLoading,\n size,\n onRemove,\n isImage,\n image,\n}: FileStatusProps) => {\n return (\n <>\n {isImage ? (\n <ImageFile\n isLoading={isLoading}\n name={name}\n size={size}\n onRemove={onRemove}\n image={image}\n />\n ) : (\n <File\n isLoading={isLoading}\n name={name}\n size={size}\n onRemove={onRemove}\n image={image}\n />\n )}\n </>\n );\n};\n\nconst ImageFile = ({ isLoading, name, size, onRemove, image }) => {\n const [imagePreviewModal, setImagePreviewModal] = useState(false);\n const [previewImage, setPreviewImage] = useState<HTMLImageElement>();\n\n return (\n <div className=\"group h-[130px] w-[130px] flex justify-between border border-neutral-300 rounded-[8px]\">\n {!isLoading && image ? (\n <div className=\"w-full h-full relative\">\n <div className=\"hidden group-hover:block absolute top-3 left-3\">\n <Button\n className=\"w-[32px] h-[32px]\"\n variant=\"iconSecondary\"\n onClick={(evt) => {\n setImagePreviewModal(true);\n let newPreviewImage = new window.Image();\n newPreviewImage.src = image;\n setPreviewImage(newPreviewImage);\n }}\n size=\"xs\"\n icon={<i className=\"uil uil-search-plus text-[22px]\"></i>}\n />\n <ImagePreview\n open={imagePreviewModal}\n setOpen={setImagePreviewModal}\n previewImage={previewImage}\n />\n </div>\n\n <div className=\"block absolute top-3 right-3\">\n <Button\n className=\"w-[32px] h-[32px]\"\n variant=\"iconSecondary\"\n onClick={onRemove}\n size=\"xs\"\n icon={<i className=\"uil uil-times text-xl\"></i>}\n />\n </div>\n\n <div className=\"w-full h-full group-hover:bg-[#16203499]/60 z-10\">\n <img className=\"relative -z-10\" src={image} alt=\"tumbnails\" />\n </div>\n </div>\n ) : (\n <div className=\"flex flex-1 flex-col justify-between p-[10px]\">\n <div className=\"flex flex-col \">\n <div className=\"flex self-end\">\n <i\n onClick={onRemove}\n className=\"uil uil-times text-[28px] cursor-pointer\"\n ></i>\n </div>\n <div className=\"flex self-center items-center justify-center w-12 h-12 bg-blue-500 rounded-full animate-spin\">\n <img\n src={`/spinner-white.svg`}\n alt=\"circle\"\n width={30}\n height={30}\n />\n </div>\n </div>\n <div className=\"text-center\">\n <span className=\"text-p-sm\">{name}</span>\n <div className=\"text-xxs text-label\">{size.to} KB</div>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nconst File = ({ isLoading, name, size, onRemove, image }) => {\n return (\n <div className=\"w-full md:w-[410px] flex items-center justify-between px-3 py-2 border border-neutral-300 rounded-[4px]\">\n <div className=\"flex gap-x-2 items-center\">\n {isLoading ? (\n <SpinnerIcon width={19} height={19} className=\"animate-spin\" />\n ) : (\n <span className=\"text-success-500 flex\">\n <i className=\"uil uil-check-circle text-[23px]\"></i>\n </span>\n )}\n <div className=\"flex flex-col\">\n <div className=\"flex items-start gap-x-1\">\n <span className=\"text-label self-end flex\">\n <i className=\"uil uil-file text-xs\"></i>\n </span>\n <div className=\"text-p-sm\">\n <a\n href={image}\n download={name}\n className=\"text-blue-500 hover:text-blue-500 hover:underline active:text-blue-600 active:underline active:underline-offset-4\"\n >\n {name}\n </a>\n </div>\n </div>\n <div className=\"text-xxs text-label\">\n {size\n ? size.toLocaleString(\"en-US\", {\n style: \"decimal\", // Other options: 'currency', 'percent', etc.\n })\n : null}{\" \"}\n KB\n </div>\n </div>\n </div>\n <i\n onClick={onRemove}\n className=\"uil uil-times text-[24px] text-neutral-600 cursor-pointer\"\n ></i>\n </div>\n );\n};\n","type actions = \"UPLOAD_START\" | \"UPLOAD_END\" | \"REMOVE_FILE\";\n\ntype ActionType = {\n type: actions;\n payload: any;\n};\n\ntype StateType = {\n files?: {\n name?: string;\n size?: number;\n image?: any;\n loading?: boolean;\n type?: string;\n }[];\n};\n\nexport const initialState = {\n files: [],\n};\n\nexport function reducer(state: StateType, action: ActionType): StateType {\n switch (action.type) {\n case \"UPLOAD_START\":\n return {\n files: [\n ...(state?.files as any),\n {\n name: action.payload.file.name,\n size: action.payload.file.size,\n image: action.payload.file,\n type: action.payload.file.type,\n loading: true,\n },\n ],\n };\n case \"UPLOAD_END\":\n return {\n files: state?.files?.map((file) => {\n if (file.name === action.payload.name) {\n return {\n ...file,\n image: action.payload.result,\n loading: false,\n };\n }\n\n return file;\n }),\n };\n case \"REMOVE_FILE\":\n return {\n files: state?.files?.filter(\n (file) => file.name !== action.payload.name\n ),\n };\n default:\n return state;\n }\n}\n","import React from \"react\";\n\n\nexport const IconFile: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"24\"\n height=\"30\"\n viewBox=\"0 0 24 30\"\n {...props}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M24 10.41C23.9844 10.2722 23.9542 10.1364 23.91 10.005V9.87C23.8379 9.71577 23.7417 9.574 23.625 9.45L14.625 0.45C14.501 0.333324 14.3592 0.237121 14.205 0.165H14.07L13.59 0H4.5C3.30653 0 2.16193 0.474106 1.31802 1.31802C0.474106 2.16193 0 3.30653 0 4.5V25.5C0 26.6935 0.474106 27.8381 1.31802 28.682C2.16193 29.5259 3.30653 30 4.5 30H19.5C20.6935 30 21.8381 29.5259 22.682 28.682C23.5259 27.8381 24 26.6935 24 25.5V10.5C24 10.5 24 10.5 24 10.41ZM15 5.115L18.885 9H15V5.115ZM21 25.5C21 25.8978 20.842 26.2794 20.5607 26.5607C20.2794 26.842 19.8978 27 19.5 27H4.5C4.10218 27 3.72064 26.842 3.43934 26.5607C3.15804 26.2794 3 25.8978 3 25.5V4.5C3 4.10217 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H12V10.5C12 10.8978 12.158 11.2794 12.4393 11.5607C12.7206 11.842 13.1022 12 13.5 12H21V25.5Z\"\n fill=\"#009EDB\"\n />\n </svg>\n);\n","import React from \"react\";\n\nexport const IconCheck: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"22\"\n height=\"16\"\n viewBox=\"0 0 22 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M21.065 0.815035C20.9256 0.674443 20.7597 0.562851 20.5769 0.486698C20.3941 0.410545 20.198 0.371338 20 0.371338C19.802 0.371338 19.6059 0.410545 19.4231 0.486698C19.2403 0.562851 19.0744 0.674443 18.935 0.815035L7.76 12.005L3.065 7.29503C2.92022 7.15518 2.74931 7.04521 2.56202 6.9714C2.37474 6.89759 2.17476 6.8614 1.97348 6.86488C1.77221 6.86836 1.5736 6.91145 1.38898 6.99169C1.20436 7.07194 1.03736 7.18775 0.897501 7.33254C0.757643 7.47732 0.647672 7.64823 0.573866 7.83551C0.50006 8.02279 0.463864 8.22278 0.467347 8.42405C0.470829 8.62532 0.513921 8.82394 0.594161 9.00855C0.674401 9.19317 0.790219 9.36018 0.935001 9.50004L6.695 15.26C6.83445 15.4006 7.00035 15.5122 7.18314 15.5884C7.36593 15.6645 7.56198 15.7037 7.76 15.7037C7.95802 15.7037 8.15408 15.6645 8.33687 15.5884C8.51966 15.5122 8.68556 15.4006 8.825 15.26L21.065 3.02004C21.2173 2.87957 21.3388 2.70909 21.4219 2.51935C21.505 2.3296 21.5479 2.12469 21.5479 1.91754C21.5479 1.71038 21.505 1.50548 21.4219 1.31573C21.3388 1.12598 21.2173 0.955499 21.065 0.815035Z\"\n fill=\"#009EDB\"\n />\n </svg>\n);\n","import React from \"react\";\n\nexport const IconFileUpload: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"30\"\n height=\"30\"\n viewBox=\"0 0 30 30\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M10.0649 8.56503L13.4999 5.11503V19.5C13.4999 19.8979 13.6579 20.2794 13.9392 20.5607C14.2205 20.842 14.6021 21 14.9999 21C15.3977 21 15.7792 20.842 16.0605 20.5607C16.3418 20.2794 16.4999 19.8979 16.4999 19.5V5.11503L19.9349 8.56503C20.0743 8.70562 20.2402 8.81721 20.423 8.89337C20.6058 8.96952 20.8019 9.00873 20.9999 9.00873C21.1979 9.00873 21.394 8.96952 21.5767 8.89337C21.7595 8.81721 21.9254 8.70562 22.0649 8.56503C22.2055 8.42558 22.3171 8.25968 22.3932 8.07689C22.4694 7.8941 22.5086 7.69805 22.5086 7.50003C22.5086 7.30201 22.4694 7.10595 22.3932 6.92316C22.3171 6.74037 22.2055 6.57447 22.0649 6.43503L16.0649 0.435028C15.9222 0.298467 15.754 0.191419 15.5699 0.120028C15.2047 -0.0299994 14.7951 -0.0299994 14.4299 0.120028C14.2457 0.191419 14.0775 0.298467 13.9349 0.435028L7.93488 6.43503C7.79502 6.57489 7.68408 6.74092 7.60839 6.92365C7.5327 7.10639 7.49374 7.30224 7.49374 7.50003C7.49374 7.69782 7.5327 7.89367 7.60839 8.0764C7.68408 8.25914 7.79502 8.42517 7.93488 8.56503C8.07474 8.70489 8.24077 8.81583 8.4235 8.89152C8.60624 8.96721 8.80209 9.00617 8.99988 9.00617C9.19767 9.00617 9.39352 8.96721 9.57625 8.89152C9.75898 8.81583 9.92502 8.70489 10.0649 8.56503ZM28.4999 15C28.1021 15 27.7205 15.1581 27.4392 15.4394C27.1579 15.7207 26.9999 16.1022 26.9999 16.5V25.5C26.9999 25.8979 26.8418 26.2794 26.5605 26.5607C26.2792 26.842 25.8977 27 25.4999 27H4.49988C4.10205 27 3.72052 26.842 3.43922 26.5607C3.15791 26.2794 2.99988 25.8979 2.99988 25.5V16.5C2.99988 16.1022 2.84184 15.7207 2.56054 15.4394C2.27923 15.1581 1.8977 15 1.49988 15C1.10205 15 0.720522 15.1581 0.439218 15.4394C0.157913 15.7207 -0.00012207 16.1022 -0.00012207 16.5V25.5C-0.00012207 26.6935 0.473984 27.8381 1.3179 28.682C2.16181 29.5259 3.3064 30 4.49988 30H25.4999C26.6934 30 27.8379 29.5259 28.6819 28.682C29.5258 27.8381 29.9999 26.6935 29.9999 25.5V16.5C29.9999 16.1022 29.8418 15.7207 29.5605 15.4394C29.2792 15.1581 28.8977 15 28.4999 15Z\"\n fill=\"white\"\n />\n </svg>\n);\n","import React from \"react\";\nimport { useEffect, useReducer, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { FileStatus } from \"./FileStatus\";\nimport { initialState, reducer } from \"./FileUploadReducer\";\nimport { usePapaParse } from \"react-papaparse\";\nimport { FieldError, FieldErrorsImpl, Merge } from \"react-hook-form\";\nimport { IconFile } from \"../../assets/IconFile\";\nimport { IconCheck } from \"../../assets/IconCheck\";\nimport { IconFileUpload } from \"../../assets/FileUpload\";\nimport { SpinnerIcon } from \"../../assets/spinner\";\n\ntype FileUploadProps = {\n icon?: \"file\" | \"image\";\n multiple?: boolean;\n direction?: \"vertical\" | \"horizontal\";\n isImage?: boolean;\n setFiles?: any;\n supportedFormats?: string[];\n validationFunction?: any;\n files?: any;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n name?: string;\n limitMessage?: string;\n};\n\nexport const FileUpload = ({\n icon = \"file\",\n multiple = false,\n direction = \"vertical\",\n isImage = false,\n setFiles,\n supportedFormats,\n validationFunction,\n files,\n error,\n name,\n limitMessage,\n}: FileUploadProps) => {\n const [state, dispatch] = useReducer(reducer, initialState);\n const [dragging, setDragging] = useState(false);\n const [loading, setLoading] = useState(false);\n const { readString } = usePapaParse();\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n useEffect(() => {\n if (state?.files?.some((file) => file.loading === true)) {\n setLoading(true);\n } else {\n setLoading(false);\n }\n }, [state?.files]);\n\n useEffect(() => {\n if (!files || files.length == 0) {\n state.files = [];\n }\n }, [files]);\n\n useEffect(() => {\n if ((!multiple && state?.files?.length === 0) || multiple) {\n window.addEventListener(\"dragover\", handleDragOver);\n window.addEventListener(\"drop\", handleDrop);\n window.addEventListener(\"dragleave\", handleDragLeave);\n }\n\n return () => {\n window.removeEventListener(\"dragover\", handleDragOver);\n window.removeEventListener(\"drop\", handleDrop);\n window.removeEventListener(\"dragleave\", handleDragLeave);\n };\n }, [multiple, state.files]);\n\n const handleDragOver = (event: globalThis.DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!multiple && state.files?.length === 1) {\n setDragging(false);\n } else {\n setDragging(true);\n }\n };\n\n const handleDrop = (event: globalThis.DragEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setDragging(false);\n\n let files = [...(event?.dataTransfer?.files as any)];\n\n if ((!multiple && files?.length === 1) || (multiple && files?.length > 0)) {\n const existingFiles = state?.files?.map((f) => f.name);\n files = files.filter((f) => !existingFiles?.includes(f.name));\n\n files.forEach((file) => {\n const reader = new FileReader();\n\n reader.addEventListener(\"loadstart\", () => {\n dispatch({\n type: \"UPLOAD_START\",\n payload: { file },\n });\n });\n\n reader.addEventListener(\"load\", () => {\n if (!validationFunction) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n }\n if (validationFunction(file)) {\n setTimeout(() => {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n }, 1000);\n\n setFiles && setFiles(file);\n } else {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name: file.name,\n },\n });\n }\n });\n\n reader.readAsDataURL(file);\n });\n event?.dataTransfer?.clearData();\n }\n };\n\n const handleDragLeave = (event: globalThis.DragEvent) => {\n if (event.screenX === 0 && event.screenY === 0) {\n setDragging(false);\n }\n event.stopPropagation();\n event.preventDefault();\n };\n\n const onChangeFile = (e) => {\n const files = Object.values(e.target.files) as File[];\n e.target.value = null;\n\n files.forEach((file) => {\n const reader = new FileReader();\n\n reader.addEventListener(\"loadstart\", () => {\n dispatch({\n type: \"UPLOAD_START\",\n payload: { file },\n });\n });\n\n reader.addEventListener(\"load\", () => {\n setTimeout(() => {\n readString(String(file), {\n delimiter: \",\",\n worker: true,\n complete: (results) => {\n if (!validationFunction) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n } else if (validationFunction(file)) {\n dispatch({\n type: \"UPLOAD_END\",\n payload: {\n name: file.name,\n result: reader.result,\n },\n });\n\n setFiles && setFiles(file);\n } else {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name: file.name,\n },\n });\n }\n },\n });\n }, 1000);\n });\n\n reader.readAsDataURL(file);\n });\n };\n\n const renderContent = () => {\n if (loading) {\n return <LoadingContent />;\n } else if (dragging) {\n return <DraggingContent />;\n } else if (!multiple && (state?.files?.length as any) > 0) {\n return <BlockedContent />;\n }\n\n return (\n <DefaultContent\n icon={icon}\n formats={supportedFormats?.join(\", \").replace(/\\./g, \"\").toUpperCase()}\n limitMessage={limitMessage}\n />\n );\n };\n\n const removeFile = (name: string) => {\n dispatch({\n type: \"REMOVE_FILE\",\n payload: {\n name,\n },\n });\n setFiles && setFiles(null);\n };\n\n return (\n <div className=\"w-full\">\n <div\n className={clsx(\n \"flex gap-1 w-full rounded-lg items-center justify-center\",\n {\n \"flex-col gap-1\": direction === \"vertical\",\n }\n )}\n >\n <input\n id=\"file-upload\"\n name=\"file-upload\"\n type=\"file\"\n accept={supportedFormats?.join(\",\")}\n multiple={multiple}\n className=\"sr-only\"\n onChange={onChangeFile}\n />\n {renderContent()}\n <div\n className={clsx(\n {\n \"flex flex-col w-full gap-y-[6px]\":\n direction === \"vertical\" && !isImage,\n },\n {\n \"flex flex-col gap-y-[6px] w-full\":\n direction === \"horizontal\" && !isImage,\n },\n {\n \"flex gap-[6px]\": direction === \"vertical\" && isImage,\n },\n {\n \"flex gap-[6px]\": direction === \"horizontal\" && !isImage,\n }\n )}\n >\n {state?.files?.map((file) => (\n <FileStatus\n key={file.name}\n name={file?.name as any}\n onRemove={() => removeFile(file?.name as any)}\n isLoading={file.loading as any}\n size={file.size as any}\n isImage={file.image && isImage}\n image={file.image}\n />\n ))}\n </div>\n {hasError &&\n fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs -mt-[6px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message as any}\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nconst DefaultContent = ({ formats, icon, limitMessage }) => (\n <div className=\"w-full md:w-[410px] h-full flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-2 bg-blue-100 rounded-full\"\n }\n >\n {icon === \"file\" ? (\n <IconFile />\n ) : (\n <i className=\"uil uil-image-plus text-[28px] text-blue-500\" />\n )}\n </div>\n\n <h1 className=\"font-bold text-base\">\n {icon === \"file\"\n ? \"Arraste o arquivo e solte aqui\"\n : \"Arraste as imagens e solte aqui\"}\n </h1>\n\n <label\n htmlFor=\"file-upload\"\n className=\"relative leading-none cursor-pointer text-sm bg-surface focus-within:outline-none\"\n >\n <p>\n ou \n <span className=\"text-blue-500\">selecione do seu computador</span>\n </p>\n </label>\n\n <small className=\"text-label text-xxs leading-5\">\n Formatos: {formats} | {limitMessage ? limitMessage : \"Até 25 MB\"}\n </small>\n </div>\n </div>\n);\nconst BlockedContent = () => (\n <div className=\"w-full md:w-[410px] h-full flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center justify-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-1 bg-blue-100 rounded-full\"\n }\n >\n <IconCheck />\n </div>\n\n <h1 className=\"font-bold text-base mt-1\">Arquivo carregado!</h1>\n </div>\n </div>\n);\n\nconst DraggingContent = () => (\n <div className=\"w-full md:w-[410px] h-[152px] bg-blue-100 rounded-lg\">\n <div className=\"flex flex-col p-4 custom-border justify-center\">\n <div className=\"flex flex-1 flex-col h-full text-center items-center justify-center\">\n <div\n className={\n \"flex items-center justify-center w-14 h-14 mb-2 bg-blue-500 rounded-full\"\n }\n >\n <IconFileUpload />\n </div>\n\n <h1 className=\"font-bold text-base text-blue-500\">\n Solte aqui para carregar o arquivo\n </h1>\n </div>\n </div>\n </div>\n);\n\nconst LoadingContent = () => (\n <div className=\"w-full h-full bg-blue-100 flex flex-col p-4 custom-border\">\n <div className=\"flex flex-1 flex-col text-center items-center justify-center\">\n <SpinnerIcon className=\"animate-spin\" />\n\n <h1 className=\"font-bold text-base text-blue-500\">\n Carregando arquivo...\n </h1>\n </div>\n </div>\n);\n","import { Popover } from \"./Popover/Popover\";\n\nexport function InfoIcon({\n content,\n id = \"info-id\",\n}: {\n content?: string;\n id?: string;\n}) {\n return (\n <div\n data-tooltip-id={id}\n data-tooltip-html={content}\n data-tooltip-place=\"top\"\n >\n <Popover id={id} />\n <i className=\"uil uil-info-circle text-p-lg text-neutral-400\"></i>\n </div>\n );\n}\n","export const customStyles = {\n indicatorSeparator: (provided: any, { hasValue }: any) => {\n return {\n ...provided,\n marginTop: \"-6px\",\n backgroundColor: hasValue ? \"var(--input)\" : \"transparent\",\n };\n },\n input: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n outline: \"none\",\n paddingLeft: state.selectProps.hasIcon ? \"2.5rem\" : \"0px\",\n }),\n clearIndicator: (provided: any) => ({\n ...provided,\n color: \"var(--label)\",\n marginTop: \"-6px\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n display: state.selectProps.isTargeted ? \"none\" : \"flex\",\n paddingRight: \"12px\",\n marginTop: \"-6px\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 70,\n background: \"var(--surface)\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"var(--paragraph)\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n paddingLeft: \"0px\",\n placeholder: \" \",\n minHeight: \"46px\",\n alignItems: \"end\",\n paddingTop: \"8px\",\n backgroundColor: \"var(--surface)\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingTop: \"2px\",\n lineHeight: \"16px\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n paddingRight: \"6px\",\n paddingLeft: \"0px\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color =\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--accent-label)\"\n : \"var(--paragraph)\";\n\n if (state.isDisabled) {\n color = \"var(--disabled)\";\n }\n\n return {\n ...provided,\n height: \"44px\",\n cursor: \"pointer\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : state.isFocused\n ? \"var(--neutral-200)\"\n : \"var(--surface)\",\n color,\n fontWeight: state.isSelected && !state.selectProps.isTargeted ? 700 : 400,\n \"&:hover\": {\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \"&:active svg\": {\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \" svg\": {\n color: \"var(--accent-label)\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import {\n Control,\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport Select, { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./MultiSelect.styles\";\nimport clsx from \"clsx\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n options: OptionType[];\n defaultValue?: OptionType;\n control?: Control<any>;\n isSearchable?: boolean;\n required?: boolean;\n label?: string;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n disabled?: boolean;\n}\n\nexport const MultiSelect = ({\n name,\n options,\n label = \"\",\n error,\n defaultValue,\n control,\n isSearchable = false,\n required,\n disabled,\n}: SelectFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const { DropdownIndicator, Option } = components;\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i className=\"uil uil-angle-down text-[20px]\"></i>\n </DropdownIndicator>\n );\n };\n\n const IconOption = (props: any) => {\n return (\n <Option {...props}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n height: \"100%\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n </Option>\n );\n };\n\n const NoOptionsMessage = () => {\n return (\n <div className=\"p-2 text-neutral-300\">Nenhum dado encontrado</div>\n );\n };\n\n return (\n <div className=\"relative h-full\" id=\"multiselect\">\n <Select\n {...field}\n {...hasError}\n isDisabled={disabled}\n name={field.name}\n ref={field.ref}\n styles={customStyles}\n placeholder=\" \"\n isSearchable={isSearchable}\n options={options}\n isMulti\n tabSelectsValue={true}\n components={{\n ValueContainer,\n Option: IconOption,\n NoOptionsMessage,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n isOptionDisabled={(option: any) => option.blocked}\n hideSelectedOptions={false}\n closeMenuOnSelect={false}\n />\n\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\" scale-75 -translate-y-3 \"]:\n field.value && field.value.length > 0,\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs -mt-[5px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\n","export const customStyles = {\n input: (provided) => ({\n ...provided,\n color: \"var(--paragraph)\",\n outline: \"none\",\n height: \"100%\",\n }),\n indicatorSeparator: (provided) => ({\n ...provided,\n backgroundColor: \"transparent\",\n }),\n clearIndicator: (provided) => ({\n ...provided,\n color: \"var(--label)\",\n \":hover\": {\n color: \"var(--label)\",\n },\n }),\n dropdownIndicator: (provided) => ({\n ...provided,\n display: \"none\",\n }),\n menu: (provided) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 30,\n background: \"var(--surface)\",\n }),\n control: (provided, state) => {\n return {\n ...provided,\n cursor: \"pointer\",\n paddingTop: state.selectProps.hasLabel ? \"18px\" : \"0px\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.isFocused\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n backgroundColor: \"var(--surface)\",\n // height: \"52px\",\n // paddingLeft: '8px',\n placeholder: state.selectProps.hasLabel\n ? \" \"\n : state.selectProps.placeholder,\n alignItems: state.selectProps.hasLabel ? \"end\" : \"center\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.isFocused\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n // height: \"52px\",\n },\n \":focus-within\": {\n // height: \"52px\",\n },\n };\n },\n multiValue: (provided) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 6px\",\n }),\n multiValueLabel: (provided) => ({\n ...provided,\n color: \"var(--paragraph)\",\n }),\n multiValueRemove: (provided) => ({\n ...provided,\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n container: (provided) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n};\n","import React from \"react\";\nimport { Controller, FieldError } from \"react-hook-form\";\nimport CreatableSelect, { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./InputTag.styles\";\nimport { KeyboardEventHandler, useState } from \"react\";\nimport clsx from \"clsx\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n required?: boolean;\n label?: string;\n error?: FieldError | undefined;\n onKeyDown?: (event: any) => void;\n blockSpaces?: boolean;\n}\n\nexport const InputTag = ({\n name,\n label = \"\",\n error,\n defaultValue,\n control,\n required,\n placeholder,\n blockSpaces = false,\n}: SelectFieldProps) => {\n const [inputValue, setInputValue] = useState(\"\");\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const removeSpaces = (value: string) => {\n return value\n ?.replace(/\\s+/g, \"-\") // Replace spaces with -\n .replace(/[^\\w\\-]+/g, \"\") // Remove all non-word chars\n .replace(/\\-\\-+/g, \"-\") // Replace multiple - with single -\n .replace(/^-+/, \"\") // Trim - from start of text\n .replace(/-+$/, \"\");\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (\n !inputValue ||\n (field?.value || []).find((item) => item?.value === inputValue)\n )\n return;\n switch (event.key) {\n case \"Enter\":\n case \"Tab\":\n field.onChange([\n ...(field?.value || []),\n {\n label: blockSpaces ? removeSpaces(inputValue) : inputValue,\n value: blockSpaces ? removeSpaces(inputValue) : inputValue,\n },\n ]);\n\n setInputValue(\"\");\n event.preventDefault();\n }\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n return (\n <div\n className={`relative ${label ? \"with-label\" : \"\"}`}\n id=\"inputtag\"\n >\n <CreatableSelect\n {...hasError}\n {...hasLabel}\n {...{ placeholder: placeholder }}\n {...field}\n styles={customStyles}\n menuIsOpen={false}\n placeholder={hasLabel.hasLabel ? \" \" : placeholder}\n isMulti\n tabSelectsValue={true}\n onKeyDown={handleKeyDown}\n isClearable={false}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n isOptionDisabled={(option) => option.blocked}\n />\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\" scale-75 -translate-y-3 \"]:\n field.value && field.value.length > 0,\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\nInputTag.displayName = \"InputTag\";","export const customStyles = {\n indicatorSeparator: (provided: any, { hasValue }: any) => {\n return {\n ...provided,\n display: \"none\",\n };\n },\n input: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n outline: \"none\",\n paddingLeft: state.selectProps.hasIcon ? \"2.5rem\" : \"0px\",\n }),\n clearIndicator: (provided: any) => ({\n ...provided,\n display: \"none\",\n }),\n dropdownIndicator: (provided: any, state: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n display: state.selectProps.isTargeted ? \"none\" : \"flex\",\n paddingRight: \"12px\",\n \":hover\": {\n color: \"var(--paragraph)\",\n },\n }),\n menu: (provided: any) => ({\n ...provided,\n marginTop: \"4px\",\n border: \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n padding: \"0px 8px\",\n zIndex: 70,\n background: \"var(--surface)\",\n }),\n singleValue: (base: any, state: any) => ({\n ...base,\n color: state.data.value === \"active\" ? \"#0EAF86\" : \"var(--paragraph)\",\n display: \"flex\",\n }),\n control: (provided: any, state: any) => ({\n ...provided,\n cursor: \"pointer\",\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n paddingLeft: \"8px\",\n placeholder: \" \",\n height: \"46px\",\n alignItems: \"end\",\n backgroundColor: \"var(--surface)\",\n \":hover\": {\n border: state.selectProps.hasError\n ? \"1px solid var(--dangerous-500)\"\n : state.menuIsOpen\n ? \"1px solid var(--blue-500)\"\n : \"1px solid var(--neutral-300)\",\n },\n }),\n multiValue: (provided: any) => ({\n ...provided,\n borderRadius: \"20px\",\n backgroundColor: \"var(--neutral-100)\",\n padding: \"0px 0px\",\n display: \"none\",\n }),\n multiValueLabel: (provided: any) => ({\n ...provided,\n color: \"var(--paragraph)\",\n paddingTop: \"6px\",\n }),\n multiValueRemove: (provided: any) => ({\n ...provided,\n paddingRight: \"6px\",\n paddingLeft: \"0px\",\n color: \"var(--neutral-400)\",\n \":hover\": {\n color: \"var(--dangerous-500)\",\n },\n }),\n option: (provided: any, state: any) => {\n let color =\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--accent-label)\"\n : \"var(--paragraph)\";\n\n if (state.isDisabled) {\n color = \"var(--disabled)\";\n }\n\n return {\n ...provided,\n height: \"44px\",\n cursor: \"pointer\",\n borderRadius: \"8px\",\n margin: \"4px 0px\",\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : state.isFocused\n ? \"var(--neutral-200)\"\n : \"var(--surface)\",\n color,\n fontWeight: state.isSelected && !state.selectProps.isTargeted ? 700 : 400,\n \"&:hover\": {\n backgroundColor:\n state.isSelected && !state.selectProps.isTargeted\n ? \"var(--blue-500)\"\n : \"var(--neutral-200)\",\n },\n \"&:active\": {\n backgroundColor: \"var(--blue-500)\",\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \"&:active svg\": {\n color: \"var(--accent-label)\",\n fontWeight: 700,\n },\n \" svg\": {\n color: \"var(--accent-label)\",\n },\n };\n },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n }),\n valueContainer: (provided: any) => ({\n ...provided,\n padding: \"2px 0px\",\n }),\n};\n","import {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport AsyncSelect from \"react-select/async\";\nimport { components, ValueContainerProps } from \"react-select\";\nimport { customStyles } from \"./MultiSelectBottom.styles\";\nimport clsx from \"clsx\";\nimport { useState } from \"react\";\n\nexport type OptionType = {\n value: number | string;\n label: string;\n};\n\ninterface SelectFieldProps {\n name: string;\n options: OptionType[];\n defaultValue?: any;\n control?: any;\n placeholder?: string;\n isSearchable?: boolean;\n required?: boolean;\n label?: string;\n error?: FieldError | Merge<FieldError, FieldErrorsImpl<any>>;\n disabled?: boolean;\n emptyMessage?: string;\n filterOptions?: (value: any) => any;\n debounce?: number;\n}\n\nexport const MultiSelectBottom = ({\n name,\n options,\n label = \"\",\n error,\n defaultValue,\n control,\n isSearchable = false,\n required,\n disabled,\n emptyMessage,\n filterOptions,\n debounce = 0,\n}: SelectFieldProps) => {\n const [loading, setLoading] = useState(false);\n const [optionsList, setOptionsList] = useState(() => options || []);\n const fieldValidationMessages = [error?.message];\n\n const hasError = {\n hasError: fieldValidationMessages.some((item) => item !== undefined),\n };\n\n const hasLabel = {\n hasLabel: label?.length > 0,\n };\n\n const loadOptions = (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if (!debounce || (debounce && inputValue.length >= debounce)) {\n const result = filterOptions(inputValue);\n setLoading(false);\n return result;\n }\n } else {\n setOptionsList(options);\n }\n };\n\n return (\n <Controller\n name={name}\n control={control}\n defaultValue={defaultValue}\n render={({ field }) => {\n const { DropdownIndicator, Option } = components;\n\n const DropdownIndicatorCustom = (props: any) => {\n return (\n <DropdownIndicator {...props}>\n <i className=\"uil uil-angle-down text-[20px]\"></i>\n </DropdownIndicator>\n );\n };\n\n const NoOptionsMessage = (props: any) => {\n if (\n (props.selectProps.inputValue.length == 0 && debounce > 0) ||\n (debounce > 0 && props.selectProps.inputValue.length < debounce)\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n } else if (\n props.selectProps.inputValue.length > 0 &&\n props?.options?.length == 0\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">Nenhum dado encontrado</div>\n );\n }\n };\n\n const IconOption = (props: any) => {\n return (\n <Option {...props}>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n height: \"100%\",\n }}\n >\n <span className={clsx(\"text-p-md focus:text-white\")}>\n {props.data.label}\n </span>\n </div>\n </Option>\n );\n };\n\n const LoadingMessage = (props: any) => {\n if (\n !debounce ||\n (debounce && props.selectProps.inputValue.length >= debounce)\n ) {\n return (\n <div\n {...props.innerProps}\n className=\"flex items-center gap-[6px] p-2\"\n >\n <img\n className=\"animate-spin \"\n src=\"/spinner.svg\"\n alt=\"circle\"\n width={16}\n height={16}\n />\n Buscando...\n </div>\n );\n } else if (\n debounce &&\n props.selectProps.inputValue.length < debounce\n ) {\n return (\n <div className=\"p-2 text-neutral-300\">\n Digite {debounce} ou mais caracteres para pesquisar\n </div>\n );\n }\n };\n\n return (\n <div className=\"relative h-full\" id=\"multiselectbottom\">\n <AsyncSelect\n {...field}\n {...hasError}\n isDisabled={disabled}\n name={field.name}\n ref={field.ref}\n styles={customStyles}\n placeholder=\" \"\n isSearchable={isSearchable}\n options={optionsList}\n isMulti\n defaultOptions={\n debounce > 0 ? false : options ? optionsList : true\n }\n loadOptions={loadOptions}\n tabSelectsValue={true}\n components={{\n ValueContainer,\n Option: IconOption,\n NoOptionsMessage: NoOptionsMessage as any,\n LoadingMessage: LoadingMessage as any,\n DropdownIndicator: DropdownIndicatorCustom,\n }}\n isOptionDisabled={(option: any) => option.blocked}\n hideSelectedOptions={false}\n closeMenuOnSelect={false}\n backspaceRemovesValue={false}\n />\n\n <span\n className={clsx(\"text-label text-sm left-2.5\", {\n [\"text-dangerous-500\"]: hasError.hasError,\n })}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </span>\n {fieldValidationMessages?.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[3px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n <div className=\"flex items-center gap-x-2 gap-y-1 flex-wrap\">\n {field?.value?.length > 0 ? (\n field?.value?.map((item) => (\n <div className=\"text-p-sm bg-neutral-100 rounded-[20px] py-2 px-3 flex items-center justify-between mt-3\">\n <span className=\"whitespace-nowrap\">{item.label}</span>\n <button\n type=\"button\"\n onClick={() => {\n const copy = [...field.value];\n const index = copy.findIndex(\n (opt) => opt.value == item.value\n );\n copy.splice(index, 1);\n field.onChange(copy);\n }}\n >\n <i className=\"uil uil-times text-sm text-neutral-400\"></i>\n </button>\n </div>\n ))\n ) : (\n <span className=\"text-p-md text-label pt-2 pl-2\">\n {emptyMessage || \"Nenhuma opção selecionada\"}\n </span>\n )}\n </div>\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n\nMultiSelectBottom.displayName = \"MultiSelectBottom\";","import React from \"react\";\n\nexport function PageBox(props: {\n title?: string;\n children?: React.ReactNode;\n}) {\n return (\n <div className=\"py-5 px-4 border border-neutral-200 rounded-lg\">\n {props?.title && (\n <h1 className=\"text-t-xs font-bold text-title mb-4\">{props.title}</h1>\n )}\n {props?.children}\n </div>\n );\n}\n","import { JSX } from \"react\";\n\ntype PageHeaderProps = {\n title: JSX.Element | string;\n breadcrumbs?: {\n name: string;\n link?: string;\n }[];\n children?: JSX.Element;\n description?: JSX.Element | string;\n};\n\nexport const PageHeader = ({\n title,\n breadcrumbs,\n children,\n description,\n}: PageHeaderProps) => {\n return (\n <div className=\"flex flex-col md:flex-row place-content-between font-sans pb-4 w-full\">\n <div className=\"flex flex-col gap-1\">\n <div className=\"flex flex-row items-center text-p-lg text-label\">\n {breadcrumbs &&\n breadcrumbs.map((breadcrumb, index) => (\n <div key={index}>\n {breadcrumb.link ? (\n <a\n href={breadcrumb.link}\n className=\"hover:no-underline hover:text-paragraph\"\n >\n <span className=\"cursor-pointer flex items-center\">\n {index > 0 && <i className=\"uil uil-angle-right\"></i>}\n {breadcrumb.name}\n </span>\n </a>\n ) : (\n <div className=\"flex items-center\">\n <i className=\"uil uil-angle-right\"></i>\n <span\n className={\n index === breadcrumbs.length - 1 ? \"text-paragraph\" : \"\"\n }\n >\n {breadcrumb.name}\n </span>\n </div>\n )}\n </div>\n ))}\n </div>\n <div>\n <h2 className=\"text-t-md text-title font-bold mb-1\">{title}</h2>\n {description && (\n <span className=\"text-p-lg text-label\">{description}</span>\n )}\n </div>\n </div>\n\n <div className=\"flex items-center gap-6 md:justify-end flex-1 mt-2 md:mt-0\">\n {children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { useEffect, useState } from \"react\";\n\ntype ProgressBarProps = {\n percentage: number;\n variant: \"primary\" | \"success\" | \"danger\" | \"info\";\n status: string;\n};\n\nconst variants = {\n primary: {\n bar: \"bg-gradient-to-b from-blue-start to-blue-end\",\n text: \"text-blue-500\",\n },\n success: {\n bar: \"bg-gradient-to-b from-success-start to-success-end\",\n text: \"text-success-500\",\n },\n danger: {\n bar: \"bg-gradient-to-b from-danger-start to-danger-end\",\n text: \"text-dangerous-600\",\n },\n info: {\n bar: \"bg-gradient-to-b from-blue-start to-blue-end\",\n text: \"text-blue-500\",\n },\n};\n\nexport const ProgressBar = ({\n percentage,\n variant = \"primary\",\n status,\n}: ProgressBarProps) => {\n const [barPercentage, setBarPercentage] = useState(() => fixPercentage());\n\n function fixPercentage() {\n if (percentage > 100) {\n return 100;\n } else {\n return percentage;\n }\n }\n useEffect(() => {\n setBarPercentage(fixPercentage());\n }, [percentage]);\n\n return (\n <div className=\"flex flex-col gap-y-[2px] min-w-[170px]\">\n <div className=\"w-full p-[1px] border border-neutral-300 rounded-[15px]\">\n <div\n className={clsx(variants[variant].bar, \"h-[14px] rounded-[15px]\")}\n style={{ width: `${barPercentage}%` }}\n ></div>\n </div>\n {status && (\n <span className={clsx(variants[variant].text, \"text-blue-500 text-xs\")}>\n {status}\n {percentage && (\n <span className=\"font-bold\"> - {percentage} %</span>\n )}\n </span>\n )}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { useState, JSX } from \"react\";\n\nexport type TabsProps = {\n tabs: {\n key: string;\n label: string | JSX.Element;\n icon?: any;\n children: JSX.Element;\n hidden?: boolean;\n }[];\n onClick?: (current) => void;\n};\n\nexport function SimpleTab({ tabs, onClick }: TabsProps) {\n const [currentTab, setCurrentTab] = useState(0);\n\n function isCurrentTab(index) {\n return index === currentTab;\n }\n return (\n <div className=\"flex-1 flex flex-col\">\n <div className=\"flex flex-col h-full flex-1\">\n <div className=\"border-b border-neutral-200\">\n <div className=\"-mb-px flex\" aria-label=\"Tabs\">\n {tabs\n .filter((item) => !item.hidden)\n .map((tab, index) => (\n <nav\n key={tab.key}\n className={clsx(\n isCurrentTab(index)\n ? \"border-rose-700 text-rose-700 font-bold hover:border-rose-800 hover:text-rose-800 hover:font-bold\"\n : \"border-transparent text-label hover:text-paragraph\",\n \"group cursor-pointer flex items-center border-b-2 py-1 px-4 text-base\"\n )}\n aria-current={isCurrentTab(index) ? \"page\" : undefined}\n onClick={() => {\n setCurrentTab(index);\n if (onClick) {\n onClick(tabs[index]);\n }\n }}\n >\n <div\n id=\"tab-icon\"\n className={clsx(\n isCurrentTab(index)\n ? \"text-rose-700 group-hover:text-rose-800\"\n : \"text-label group-hover:text-paragraph\",\n { \"-ml-0.5 mr-2\": tab.icon }\n )}\n aria-hidden=\"true\"\n >\n {tab.icon}\n </div>\n <span>{tab.label}</span>\n </nav>\n ))}\n </div>\n </div>\n <div className=\"h-full flex-1 flex flex-col\">\n {tabs[currentTab].children}\n </div>\n </div>\n </div>\n );\n}\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonDetails = ({ loading, ...props }) => {\n const label = (\n <div className=\"w-[120px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const description = (\n <div className=\"w-[105px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const details = (\n <div className=\"flex flex-col gap-2 w-[25%]\">\n {label}\n {description}\n </div>\n );\n\n const lineDetails = (\n <div className=\"flex items-start justify-between\">\n {Array(5)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"line\"}>{details}</div>\n ))}\n </div>\n );\n\n const timeline = (\n <div className=\"flex flex-col\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div className=\"flex\" key={index}>\n <div className=\"mr-3 relative\">\n {index !== 2 && (\n <div className=\"w-[2px] bg-neutral-200 ml-[5px] h-full absolute mt-10\"></div>\n )}\n <div className=\"relative mt-10\">\n <div className=\"h-3 w-3 rounded-full bg-neutral-100\"></div>\n <div className=\"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px] bg-neutral-300\"></div>\n </div>\n </div>\n <div className=\"flex flex-col h-[60px] mt-3 relative gap-[4px]\">\n <div className=\"w-[105px] h-4\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n <div className=\"w-[105px] h-4\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n </div>\n ))}\n </div>\n );\n\n return (\n <div className=\"flex-1 w-full h-full\">\n <div className={clsx({ [\"hidden\"]: !loading }, \"flex flex-col gap-4\")}>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex items-center gap-[4px]\">\n {label}\n <div className=\"w-3 h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n </div>\n <div className=\"flex items-center gap-3\">\n <div className=\"w-[200px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n <div className=\"w-[95px] h-5\">\n <Skeleton className=\"h-full rounded-l\" />\n </div>\n </div>\n <div className=\"w-[480px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"w-[150px] h-[46px]\">\n <Skeleton className=\"h-full\" />\n </div>\n <div className=\"w-[150px] h-[46px]\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n </div>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-4\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"tabs\"} className=\"w-[220px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n ))}\n </div>\n <div className=\"h-[1px] w-full bg-neutral-200\"></div>\n </div>\n <div className=\"flex items-start gap-8\">\n <div className=\"w-[75%] border border-neutral-200 rounded-lg p-4 flex flex-col gap-6\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"lineDetails\"}>{lineDetails}</div>\n ))}\n </div>\n <div className=\"flex-1 flex-col\">\n <div className=\"p-3 border border-neutral-200 rounded-lg\">\n {label}\n </div>\n <div className=\"border-x border-neutral-200 -mt-1 p-4 pt-[20px] flex items-center gap-2\">\n <div className=\"w-6 h-6\">\n <Skeleton className=\"h-full rounded-f\" />\n </div>\n {label}\n </div>\n <div className=\"border border-neutral-200 rounded-b-lg p-4 pt-0\">\n {timeline}\n </div>\n </div>\n </div>\n </div>\n <div\n className={clsx(\n { [\"hidden\"]: loading },\n \"flex flex-1 w-full h-full flex-col\"\n )}\n >\n {props.children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonList = ({ loading, ...props }) => {\n const tableLine = (\n <div className=\"border-b gap-x-2 border-neutral-200 py-6 px-2 flex items-center justify-between\">\n <div className=\"w-[200px] h-6\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n </div>\n );\n\n const headerItem = (\n <div className=\"border border-neutral-200 rounded-lg py-3 px-2 flex items-center justify-between gap-5\">\n <div className=\"w-[200px] h-6\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n <div className=\"w-[200px]\">\n <Skeleton className=\"h-6\" />\n </div>\n </div>\n );\n\n const buttonPagination = (\n <div className=\"w-8 h-8 rounded-md\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n return (\n <div className=\"flex flex-1 flex-col gap-y-4\">\n <div\n className={clsx(\n { [\"hidden\"]: !loading },\n \"flex-1 flex flex-col h-full justify-between relative\"\n )}\n >\n <div className=\"flex-1\">\n <div className=\"mt-3\">\n {new Array(1).fill(null).map((_, index) => (\n <div key={index + \"second\"}>{headerItem}</div>\n ))}\n {new Array(4).fill(null).map((_, index) => (\n <div key={index + \"third\"}>{tableLine}</div>\n ))}\n </div>\n </div>\n <div className=\"py-4 px-6 sticky bottom-0 bg-surface w-full border border-neutral-200 rounded-t-lg flex items-center gap-3 justify-end\">\n <div className=\"w-[190px] h-6 rounded-md\">\n <Skeleton className=\"h-full\" />\n </div>\n {Array(5)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"buttons\"}>{buttonPagination}</div>\n ))}\n </div>\n </div>\n <div className={clsx({ [\"hidden\"]: loading }, \"flex flex-1 h-full\")}>\n {props.children}\n </div>\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport Skeleton from \"react-loading-skeleton\";\n\nexport const SkeletonRegister = ({ loading, ...props }) => {\n const label = (\n <div className=\"w-[120px] h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const subtitle = (\n <div className=\"w-[204px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const input = (\n <div className=\"w-[316px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n const inputSm = (\n <div className=\"w-[126px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n );\n\n return (\n <>\n <div className={clsx({ [\"hidden\"]: !loading })}>\n <div className=\"flex flex-col gap-5\">\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex items-center gap-[4px]\">\n {label}\n <div className=\"w-3 h-5\">\n <Skeleton className=\"h-full\" />\n </div>\n {label}\n </div>\n <div className=\"w-[250px] h-7\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"w-full border border-neutral-200 rounded-lg px-4 py-6\">\n <div>\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n {Array(4)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"first\"}>{input}</div>\n ))}\n </div>\n <div className=\"mt-6 flex items-center gap-4\">\n {Array(3)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"second\"}>{input}</div>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n {Array(2)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"third\"}>{input}</div>\n ))}\n </div>\n </div>\n <div className=\"mt-8\">\n {subtitle}\n <div className=\"mt-4 flex items-center gap-4\">\n <div className=\"w-[216px] h-12\">\n <Skeleton className=\"h-full\" />\n </div>\n </div>\n <div className=\"mt-4 flex items-center gap-4\">\n {input}\n {inputSm}\n {input}\n </div>\n <div className=\"mt-4 flex items-center gap-4\">\n {input}\n {input}\n {inputSm}\n </div>\n </div>\n </div>\n </div>\n <div className=\"flex items-center justify-end gap-4 mt-6\">\n {Array(2)\n .fill(null)\n .map((_, index) => (\n <div key={index + \"buttons\"}>{inputSm}</div>\n ))}\n </div>\n </div>\n <div className={clsx({ [\"hidden\"]: loading })}>{props.children}</div>\n </>\n );\n};\n","import clsx from \"clsx\";\n\nexport type StatusBallProps = {\n label?: string;\n variant?: keyof typeof variants;\n};\n\nconst variants = {\n success: {\n small: \"bg-success-600\",\n big: \"bg-success-100\",\n },\n dangerous: {\n small: \"bg-dangerous-600\",\n big: \"bg-dangerous-100\",\n },\n warning: {\n small: \"bg-warning-600\",\n big: \"bg-warning-100\",\n },\n info: {\n small: \"bg-blue-500\",\n big: \"bg-blue-100\",\n },\n gray: {\n small: \"bg-neutral-300\",\n big: \"bg-neutral-100\",\n },\n};\n\nexport const StatusBall = ({ label, variant = \"info\" }: StatusBallProps) => {\n return (\n <div className=\"flex items-center gap-2\">\n <div className=\"relative\">\n <div\n className={clsx(\n {\n [variants[variant].big]: true,\n },\n \"h-3 w-3 rounded-full\"\n )}\n ></div>\n <div\n className={clsx(\n {\n [variants[variant].small]: true,\n },\n \"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px]\"\n )}\n ></div>\n </div>\n <span className=\"text-p-md text-paragraph font-normal\">{label}</span>\n </div>\n );\n};\n","import { Tab, TabGroup, TabList, TabPanel, TabPanels } from \"@headlessui/react\";\nimport clsx from \"clsx\";\nimport { ReactNode, useState, JSX } from \"react\";\nimport { Button } from \"./Button\";\n\ntype tab = {\n key: string;\n label: string;\n icon: JSX.Element | string;\n children: JSX.Element;\n secondChildren?: JSX.Element;\n required?: boolean;\n disabled?: boolean;\n subPanel?: JSX.Element;\n};\n\nexport type TabProps = {\n tabs: tab[];\n createButtonLabel: string;\n cancelButton: ReactNode;\n buttonDisabled?: boolean;\n buttonLoading?: boolean;\n saveButton?: JSX.Element;\n onClick?: (value: tab) => void;\n onSave?: () => void | number;\n showNextStep?: boolean;\n};\n\nexport const Tabs = ({\n tabs,\n cancelButton,\n buttonDisabled,\n createButtonLabel,\n buttonLoading,\n saveButton,\n onClick,\n onSave,\n showNextStep = true,\n}: TabProps) => {\n const [selectedTab, setSelectedTab] = useState(0);\n\n const ShowSaveButton = saveButton ? (\n <>{saveButton}</>\n ) : (\n <Button\n icon={<i className=\"uil uil-check\"></i>}\n variant=\"primary\"\n loading={buttonLoading}\n onClick={async () => {\n if (onSave) {\n const resp = await onSave();\n if (typeof resp == \"number\") {\n setSelectedTab(resp);\n }\n }\n }}\n >\n {createButtonLabel}\n </Button>\n );\n\n return (\n <div className=\"flex flex-col w-full\">\n <TabGroup\n selectedIndex={selectedTab}\n onChange={(index) => {\n setSelectedTab(index);\n if (onClick) onClick(tabs[index]);\n }}\n >\n <TabList className=\"flex gap-2\">\n {tabs.map((tab, index) => {\n return (\n <Tab\n key={tab.key}\n disabled={tab?.disabled}\n className={({ selected }) =>\n clsx(\n \"group inline-flex rounded-t-lg font-bold text-p-md border border-neutral-200 px-6 py-3 z-20\",\n {\n \"text-rose-700 border-b-0 bg-surface shadow-tabs\": selected,\n \"bg-neutral-100 text-rose-700 opacity-80 shadow-tabDisabled\":\n !selected && !tab.disabled,\n \"text-disabled bg-neutral-100 shadow-tabDisabled\":\n tab.disabled && !selected,\n }\n )\n }\n >\n <div\n className={clsx(\n \"-ml-0.5 md:mr-2 flex items-center justify-center font-bold rounded-full h-8 w-8 group-aria-selected:bg-rose-700 group-aria-selected:text-white\",\n {\n \"bg-neutral-200 text-disabled\": tab.disabled,\n \"text-white bg-rose-700\": !tab.disabled,\n }\n )}\n aria-hidden=\"true\"\n >\n <span className=\"mt-[1px]\">{index + 1}</span>\n </div>\n\n <span className=\"self-center hidden md:block\">{tab.label}</span>\n </Tab>\n );\n })}\n </TabList>\n\n <TabPanels>\n {tabs.map((tab) => {\n return (\n <div key={tab.key} className=\"flex flex-col gap-y-6\">\n <TabPanel>\n <div\n className={clsx({\n [\"flex items-start justify-between gap-6 flex-col md:flex-row\"]:\n tab.secondChildren,\n })}\n >\n <div className=\"w-full flex-1\">\n <div className=\"outline-none border border-neutral-200 px-4 py-6 rounded-lg rounded-tl-none -mt-[1px]\">\n {tab.children}\n </div>\n\n {tab.subPanel && (\n <div className=\"mt-4\">{tab.subPanel}</div>\n )}\n </div>\n {tab.secondChildren}\n </div>\n </TabPanel>\n </div>\n );\n })}\n </TabPanels>\n </TabGroup>\n\n <div className=\"flex self-start gap-x-4 mt-6 mb-10\">\n {selectedTab === 0 ? (\n cancelButton\n ) : (\n <Button\n variant=\"secondary\"\n onClick={(e) => {\n e.preventDefault();\n setSelectedTab(selectedTab - 1);\n }}\n >\n Voltar\n </Button>\n )}\n\n {selectedTab !== tabs.length - 1 && showNextStep ? (\n <Button\n variant=\"primary\"\n disabled={buttonDisabled}\n onClick={(e) => {\n if (onClick) onClick(tabs[selectedTab + 1]);\n if (!tabs[selectedTab + 1].disabled) {\n e.preventDefault();\n setSelectedTab(selectedTab + 1);\n }\n }}\n >\n Próximo\n </Button>\n ) : (\n <>{ShowSaveButton}</>\n )}\n </div>\n </div>\n );\n};\n\nTabs.displayName = \"Tabs\";\n","import { FieldError, UseFormRegisterReturn } from \"react-hook-form\";\nimport { DetailedHTMLProps, TextareaHTMLAttributes, useRef } from \"react\";\nimport clsx from \"clsx\";\n\ntype TextAreaProps = DetailedHTMLProps<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n> & {\n label?: string;\n registration?: UseFormRegisterReturn;\n error?: FieldError;\n inputProps?: any;\n};\n\nexport const TextArea = ({\n label,\n registration,\n disabled,\n error,\n inputProps,\n name,\n}: TextAreaProps) => {\n const inputRef = useRef(null);\n\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `border border-neutral-800 rounded-lg block pb-[10px] pt-[18px] w-full bg-surface disabled:bg-neutral-100 focus-visible:border-blue-500 focus-visible:border-1 text-p-md peer shadow-input pl-2 outline-none ${\n hasError\n ? \"border-dangerous-500 text-dangerous-500\"\n : \"border-neutral-300 text-paragraph\"\n }`,\n label: `cursor-text absolute text-label top-[0.70rem] z-10 transform origin-[0] -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0 peer-focus:scale-75 peer-focus:-translate-y-3 left-2.5`,\n };\n\n return (\n <div>\n <div className=\"relative outline-none\">\n <textarea\n id={name}\n name={name}\n ref={inputRef}\n className={clsx(styles.input)}\n placeholder=\" \"\n disabled={disabled}\n rows={4}\n {...registration}\n {...inputProps}\n />\n <label className={clsx(styles.label)} htmlFor={name}>\n {label}\n </label>\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-xs mt-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n","import clsx from \"clsx\";\nimport { JSX } from \"react\";\nexport type TimelineProps = {\n data: {\n date?: string;\n label: string;\n description?: string;\n variant: string;\n info?: string;\n action?: JSX.Element;\n color?: string;\n }[];\n};\n\nexport const translateVariant = (variant) => {\n switch (variant) {\n case \"green\":\n return \"success\";\n case \"red\":\n return \"dangerous\";\n case \"orange\":\n return \"warning\";\n case \"blue\":\n return \"info\";\n default:\n return \"gray\";\n }\n};\n\nconst variants = {\n success: {\n small: \"bg-success-500\",\n big: \"bg-success-100\",\n },\n dangerous: {\n small: \"bg-dangerous-500\",\n big: \"bg-dangerous-100\",\n },\n warning: {\n small: \"bg-warning-500\",\n big: \"bg-warning-100\",\n },\n info: {\n small: \"bg-blue-500\",\n big: \"bg-blue-100\",\n },\n gray: {\n small: \"bg-neutral-300\",\n big: \"bg-neutral-100\",\n },\n};\n\nexport const Timeline = ({ data }: TimelineProps) => {\n return (\n <div className=\"flex flex-col\">\n {data?.length > 0 &&\n data?.map((item, index) => (\n <div className=\"flex\" key={index}>\n <div className=\"mr-3 relative\">\n {index !== data.length - 1 && (\n <div className=\"w-[2px] bg-neutral-200 ml-[5px] h-full absolute mt-8\"></div>\n )}\n <div className=\"relative mt-8\">\n <div\n className={clsx(\n {\n [variants[item?.variant]?.big]: !item?.color,\n },\n \"h-3 w-3 rounded-full\"\n )}\n style={{\n backgroundColor:\n item?.color ?? variants[item?.variant]?.big,\n }}\n ></div>\n <div\n className={clsx(\n {\n [variants[item?.variant]?.small]: !item?.color,\n },\n \"h-2 w-2 rounded-full absolute z-30 top-[2px] left-[2px]\"\n )}\n style={{\n backgroundColor:\n item?.color ?? variants[item?.variant]?.small,\n }}\n ></div>\n </div>\n </div>\n <div className=\"flex flex-col mt-3 relative\">\n <span className=\"text-p-sm text-label\">{item?.date}</span>\n <div className=\"flex items-center gap-[3px]\">\n <span className=\"text-p-md text-paragraph font-bold\">\n {item?.label}\n </span>\n {item?.action}\n </div>\n <span className=\"text-p-sm text-paragraph\">\n {item?.description}\n </span>\n <span className=\"text-p-xs text-paragraph\">{item?.info}</span>\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nTimeline.displayName = \"Timeline\";","import {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n useRef,\n} from \"react\";\nimport {\n Control,\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<unknown>> | any;\n onBlur?: any;\n onChange?: any;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n control: Control<unknown> | any;\n searchOnClick?: () => void;\n};\nexport function ControlledInput({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n onChange,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n control,\n searchOnClick,\n}: InputFieldProps) {\n let inputRef = useRef<HTMLInputElement>(null);\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer text-paragraph bg-surface shadow-input border border-[0.5px] rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label\"\n }`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear: `absolute top-[7px] cursor-pointer text-label text-[22px] ${\n searchOnClick ? \"right-[46px]\" : \"right-[8px]\"\n }`,\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const input = name ? document?.getElementById(name) : null;\n\n return (\n <Controller\n name={name as never}\n control={control}\n render={({ field }) => {\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n {icon && !searchOnClick && (\n <div\n className={clsx(\n styles.icon,\n \"flex justify-center items-center\",\n )}\n >\n {icon}\n </div>\n )}\n <div>\n <input\n {...field}\n id={name}\n type={type}\n name={name}\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField && !searchOnClick,\n [\"pr-[68px]\"]: clearField && searchOnClick,\n [\"pr-2\"]: !clearField && !searchOnClick,\n [\"pl-[57px]\"]: (!label && placeholder && icon) || icon,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={inputRef}\n {...inputProps}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\",\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n className={clsx(\n {\n [styles.label]: true,\n [\"left-[3.5rem]\"]: icon,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\",\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n </div>\n {clearField &&\n field?.value &&\n field?.value !== \"\" &&\n !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\",\n )}\n onClick={() => {\n field.onChange(\"\");\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n {searchOnClick && (\n <div className=\"py-1 absolute top-[7px] right-[8px]\">\n <button\n disabled={disabled}\n type=\"button\"\n className={clsx({\n [\"border-l border-input pl-1\"]:\n clearField && field?.value && !disabled,\n [\"text-blue-500\"]: !disabled,\n [\"text-neutral-300\"]: disabled,\n })}\n onClick={searchOnClick}\n >\n <i className=\"uil uil-search text-[16px] mr-2 pl-1\"></i>\n </button>\n </div>\n )}\n </div>\n {fieldValidationMessages.map((message, index) => (\n <div\n key={index}\n className=\"absolute text-dangerous-500 text-xs left-[4px] -bottom-[18px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n}\n\nControlledInput.displayName = \"ControlledInput\";\n"]}
|