nexaas-ui-components 1.0.11 → 1.0.13
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 +188 -135
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +17 -2
- package/dist/index.d.ts +17 -2
- package/dist/index.js +187 -135
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/assets/spinner.tsx","../src/components/Button.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/components/InputMoney.tsx","../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/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"],"names":["jsxs","jsx","Fragment","clsx","create","set","forwardRef","useState","useRef","useEffect","Controller","DateInput3","format","parse","variants","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","DateRangePicker3","subYears","DatePicker3","Popover","_a","Float","PopoverButton","PopoverPanel","ListboxOption","_b","Listbox","ListboxOptions","value","IntlCurrencyInput","useMemo","_debounce","InputMask","ReactModalNamespace","sizes","customStyles","cloneElement","Tooltip","components","inputValue","onChange","AsyncSelect","Switch","_c","_d","_e","_f","Combobox","React2","rankItem","pageIndex","pageSize","useReactTable","getCoreRowModel","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getExpandedRowModel","flexRender","React"],"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 width={16}\n height={16}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n);\n","import React, { JSX } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\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};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[16px]\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px]\",\n },\n sm: {\n text: \"h-[32px]\",\n icon: \"text-[14px]\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px]\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px]\",\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-400 text-neutral-600 hover:bg-neutral-100 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button bg-white border-[0.5px] border-neutral-300 hover:bg-[#f5f5f5] active:bg-neutral-100 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 active:bg-rose-100 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-500 hover:bg-dangerous-100 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 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 text-bold\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-500 disabled:no-underline shadow-none font-normal 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 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-white text-rose-500 hover:shadow-button 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};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\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 ...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 return (\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 className=\"animate-spin\" />\n )}\n </div>\n )}\n {props.children}\n {props.dropdown && <i className={\"uil uil-angle-down text-[18px]\"}></i>}\n </>\n </button>\n );\n};\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>>;\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\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border 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:\n \"absolute top-[8px] right-[8px] 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={type}\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={((!label && placeholder && icon) || icon) ? inlineStyles.inputWithIcon : undefined}\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 {clearField && value && value !== \"\" && !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 {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","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;\n inputProps?: any;\n clearField?: boolean;\n control: Control<unknown>;\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 rounded block pb-[10px] h-[46px] w-full disabled:bg-light-gray-100 `,\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 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={field.value}\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 field.onChange(e);\n setShowCalendar(false);\n if (onChangeFunction) {\n onChangeFunction(e);\n }\n setInvalidDate(false);\n }\n }}\n value={field.value}\n locale=\"pt\"\n highlightCurrentDay={true}\n formatDate={(value) => format(value, dateFnsFormat)}\n parseDate={(value) => parse(value, dateFnsFormat, new Date())}\n maxDate={maxDate}\n minDate={minDate}\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;\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\"\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\"\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-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\"\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\"\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 ? format(item, \"dd/MM/yyyy\") : \"\"\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\";\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}\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}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-white hover:bg-neutral-100 border 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 <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\n {isSelected ? (\n <span\n className={clsx(\n \"absolute inset-y-0 text-white right-0 flex items-center pr-4\"\n )}\n >\n <i className=\"uil uil-check text-lg\"></i>\n </span>\n ) : null}\n </div>\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 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 {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\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 <Listbox\n value={currentValue || []}\n onChange={setCurrentValue}\n multiple={isMulti}\n >\n <ListboxOptions\n static\n className=\"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 <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 <img\n className=\"animate-spin\"\n src=\"/spinner-gray.svg\"\n alt=\"circle\"\n width={13}\n height={13}\n />\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","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n forwardRef,\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 \"react-intl-currency-input\";\n\ntype InputMoneyProps = 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?: (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 const InputMoney = forwardRef(\n (\n {\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 ref: any\n ) => {\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 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\")\n 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 ref={ref}\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-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\nInputMoney.displayName = \"InputMoney\";\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 \"lodash/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 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-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, useRef, JSX } from \"react\";\nimport { Controller, Control, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport IntlCurrencyInput from \"react-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 let inputRef = useRef(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 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 ref={inputRef}\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\n\nInputPercentage.displayName = \"InputPercentage\";","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 * as ReactModalNamespace from \"react-modal\";\nimport { Button } from \"./Button\";\n\nconst Modal = (ReactModalNamespace as any).default || ReactModalNamespace;\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};\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 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}: 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: \"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 ? cloneElement(triggerButton as any, {\n onClick: () => {\n onOpen();\n },\n }) : null;\n return (\n <div>\n {trigger}\n <Modal\n ariaHideApp={false}\n isOpen={open}\n onRequestClose={onClose}\n style={customStyles}\n contentLabel=\"Example Modal\"\n >\n <div className={clsx(sizes[size])}>\n <div className=\"pb-2 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 onClick={onCancel} className=\"text-neutral-500 text-[24px]\">\n <i className=\"uil uil-times\"></i>\n </button>\n </div>\n <div>{children}</div>\n <div className=\"pt-6 border-t border-t-neutral-200 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=\"sm\"\n >\n Cancelar\n </Button>\n )}\n {confirmButton}\n </div>\n </div>\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 }),\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: 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 }),\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(--dark-blue-300)',\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: state.selectProps.smallField ? '30px' : '46px',\n backgroundColor: state.isDisabled\n ? 'var(--light-100)'\n : '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 }),\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 },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n \n \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\";\nexport type OptionType = {\n value: number | string;\n label: string;\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) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n emptyMessage?: string;\n small?: 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}: 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 [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 = (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if ((debounce && inputValue.length >= debounce) || !debounce) {\n const result = filterOptions(inputValue);\n setLoading(false);\n return result;\n }\n } else {\n setOptions(optionsList);\n }\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)\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 <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 (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=\"text-dangerous-500 text-sm\">\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=\"text-dangerous-500 text-sm\">\n Nenhum dado encontrado\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-dark-blue-600\",\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={() => setIsFocused(false)}\n loadingMessage={() => <div>Carregando</div>}\n isLoading={loading}\n defaultOptions={\n debounce > 0 ? false : optionsList ? options : 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: DropdownIndicatorCustom,\n ClearIndicator: ClearIndicatorCustom,\n }}\n closeMenuOnSelect\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","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}\n\nexport const Radio = ({\n disabled,\n control,\n name,\n label,\n defaultChecked,\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 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\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=\"link\">\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=\"link\">\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"]}
|
|
1
|
+
{"version":3,"sources":["../src/assets/spinner.tsx","../src/components/Button.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/components/InputNumber.tsx","../src/components/InputPercentage.tsx","../src/components/MaskedInput.tsx","../src/components/InputTest.tsx","../src/components/ModalDialog.tsx","../src/components/Popover/Popover.tsx","../src/components/Select/Select.styles.ts","../src/components/Select/Select.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"],"names":["jsxs","jsx","Fragment","clsx","create","set","forwardRef","useState","useRef","useEffect","Controller","DateInput3","format","parse","variants","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","DateRangePicker3","subYears","DatePicker3","Popover","_a","Float","PopoverButton","PopoverPanel","ListboxOption","_b","Listbox","ListboxOptions","IntlCurrencyInputRaw","value","useMemo","_debounce","InputMask","ReactModalNamespace","sizes","customStyles","cloneElement","Tooltip","components","inputValue","onChange","AsyncSelect","Switch","_c","_d","_e","_f","Combobox","React2","rankItem","pageIndex","pageSize","useReactTable","getCoreRowModel","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getExpandedRowModel","flexRender","React"],"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 width={16}\n height={16}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n);\n","import React, { JSX } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\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};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[16px]\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px]\",\n },\n sm: {\n text: \"h-[32px]\",\n icon: \"text-[14px]\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px]\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px]\",\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-400 text-neutral-600 hover:bg-neutral-100 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button bg-white border-[0.5px] border-neutral-300 hover:bg-[#f5f5f5] active:bg-neutral-100 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 active:bg-rose-100 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-500 hover:bg-dangerous-100 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 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 text-bold\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-500 disabled:no-underline shadow-none font-normal 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 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-white text-rose-500 hover:shadow-button 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};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\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 ...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 return (\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 className=\"animate-spin\" />\n )}\n </div>\n )}\n {props.children}\n {props.dropdown && <i className={\"uil uil-angle-down text-[18px]\"}></i>}\n </>\n </button>\n );\n};\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>>;\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\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border 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:\n \"absolute top-[8px] right-[8px] 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={type}\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={((!label && placeholder && icon) || icon) ? inlineStyles.inputWithIcon : undefined}\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 {clearField && value && value !== \"\" && !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 {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","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;\n inputProps?: any;\n clearField?: boolean;\n control: Control<unknown>;\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 rounded block pb-[10px] h-[46px] w-full disabled:bg-light-gray-100 `,\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 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={field.value}\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 field.onChange(e);\n setShowCalendar(false);\n if (onChangeFunction) {\n onChangeFunction(e);\n }\n setInvalidDate(false);\n }\n }}\n value={field.value}\n locale=\"pt\"\n highlightCurrentDay={true}\n formatDate={(value) => format(value, dateFnsFormat)}\n parseDate={(value) => parse(value, dateFnsFormat, new Date())}\n maxDate={maxDate}\n minDate={minDate}\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;\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\"\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\"\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-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\"\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\"\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 ? format(item, \"dd/MM/yyyy\") : \"\"\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\";\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}\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}: Props) => {\n const style = {\n filter:\n \"rounded-3xl shadow-input bg-white hover:bg-neutral-100 border 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 <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\n {isSelected ? (\n <span\n className={clsx(\n \"absolute inset-y-0 text-white right-0 flex items-center pr-4\"\n )}\n >\n <i className=\"uil uil-check text-lg\"></i>\n </span>\n ) : null}\n </div>\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 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 {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\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 <Listbox\n value={currentValue || []}\n onChange={setCurrentValue}\n multiple={isMulti}\n >\n <ListboxOptions\n static\n className=\"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 <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 <img\n className=\"animate-spin\"\n src=\"/spinner-gray.svg\"\n alt=\"circle\"\n width={13}\n height={13}\n />\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>;\n onClick?: any;\n error?: Merge<FieldError, FieldErrorsImpl<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 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\")\n 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-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","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 \"lodash/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 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-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 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\n\nInputPercentage.displayName = \"InputPercentage\";","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 { DetailedHTMLProps, InputHTMLAttributes } from \"react\";\nimport { Controller, Control, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\n\ntype InputTestProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n control: Control<any>;\n name: string;\n error?: FieldError;\n required?: boolean;\n};\n\nexport function InputTest({\n label,\n name,\n control,\n error,\n required,\n placeholder,\n disabled,\n defaultValue,\n}: InputTestProps) {\n const fieldValidationMessages = [error?.message];\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border 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 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 left-2.5 cursor-text\",\n };\n\n return (\n <Controller\n control={control}\n name={name}\n defaultValue={defaultValue}\n render={({ field }) => {\n return (\n <div className=\"relative\">\n <input\n {...field}\n type=\"text\"\n id={name}\n className={clsx(styles.input)}\n placeholder={!label && placeholder ? placeholder : \" \"}\n disabled={disabled}\n />\n <label className={clsx(styles.label)}>\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\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\nInputTest.displayName = \"InputTest\";\n","import React from \"react\";\nimport clsx from \"clsx\";\nimport { JSX, ReactNode, cloneElement } from \"react\";\nimport * as ReactModalNamespace from \"react-modal\";\nimport { Button } from \"./Button\";\n\nconst Modal = (ReactModalNamespace as any).default || ReactModalNamespace;\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};\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 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}: 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: \"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 ? cloneElement(triggerButton as any, {\n onClick: () => {\n onOpen();\n },\n }) : null;\n return (\n <div>\n {trigger}\n <Modal\n ariaHideApp={false}\n isOpen={open}\n onRequestClose={onClose}\n style={customStyles}\n contentLabel=\"Example Modal\"\n >\n <div className={clsx(sizes[size])}>\n <div className=\"pb-2 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 onClick={onCancel} className=\"text-neutral-500 text-[24px]\">\n <i className=\"uil uil-times\"></i>\n </button>\n </div>\n <div>{children}</div>\n <div className=\"pt-6 border-t border-t-neutral-200 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=\"sm\"\n >\n Cancelar\n </Button>\n )}\n {confirmButton}\n </div>\n </div>\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 }),\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: 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 }),\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(--dark-blue-300)',\n boxShadow: \"none\",\n outline: \"none\",\n borderRadius: \"0.5rem\",\n placeholder: \" \",\n height: state.selectProps.smallField ? '30px' : '46px',\n backgroundColor: state.isDisabled\n ? 'var(--light-100)'\n : '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 }),\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 },\n container: (provided: any) => ({\n ...provided,\n border: \"none\",\n outline: \"none\",\n boxShadow: \"none\",\n padding: \"none\",\n margin: \"none\",\n \n \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\";\nexport type OptionType = {\n value: number | string;\n label: string;\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) => void;\n valueStyle?: (option) => void;\n icon?: JSX.Element;\n emptyMessage?: string;\n small?: 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}: 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 [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 = (inputValue: string) => {\n setLoading(true);\n if (isSearchable && filterOptions) {\n if ((debounce && inputValue.length >= debounce) || !debounce) {\n const result = filterOptions(inputValue);\n setLoading(false);\n return result;\n }\n } else {\n setOptions(optionsList);\n }\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)\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 <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 (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=\"text-dangerous-500 text-sm\">\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=\"text-dangerous-500 text-sm\">\n Nenhum dado encontrado\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-dark-blue-600\",\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={() => setIsFocused(false)}\n loadingMessage={() => <div>Carregando</div>}\n isLoading={loading}\n defaultOptions={\n debounce > 0 ? false : optionsList ? options : 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: DropdownIndicatorCustom,\n ClearIndicator: ClearIndicatorCustom,\n }}\n closeMenuOnSelect\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","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}\n\nexport const Radio = ({\n disabled,\n control,\n name,\n label,\n defaultChecked,\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 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\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=\"link\">\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=\"link\">\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"]}
|