nexaas-ui-components 1.0.7 → 1.0.8

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.js.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/components/DatePickerInput.tsx","../src/stores/field-errors.ts","../src/components/Badge.tsx","../src/components/Calendar.tsx","../src/components/Checkbox.tsx","../src/components/FilterButton/FilterCalendar.tsx","../src/components/FilterButton/FilterOptions.tsx","../src/components/InputSmall/InputSmall.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.tsx","../src/components/Select/Select.styles.ts","../src/components/RadioButton/Radio.tsx","../src/components/Toggle.tsx","../src/components/Table/PaginationSelects.tsx","../src/components/Table/index.tsx","../src/components/Table/TableComponents.tsx","../src/components/Table/DataTablePagination.tsx"],"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\">&nbsp;*</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 { 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 { 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 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","/* 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 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","import React from \"react\";\nimport {\n DetailedHTMLProps,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n JSX,\n forwardRef,\n} from \"react\";\nimport {\n Controller,\n FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport * as IntlCurrencyInputModule from \"react-intl-currency-input\";\n// react-intl-currency-input can be published as CommonJS or ESM. Normalize\n// to a usable React component reference regardless of module shape.\nconst IntlCurrencyInput: any = (IntlCurrencyInputModule as any)?.default || IntlCurrencyInputModule;\n\ntype InputMoneyProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n 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\">&nbsp;*</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 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: 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\">&nbsp;*</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, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport * as IntlCurrencyInputModule from \"react-intl-currency-input\";\n// react-intl-currency-input can be published as CommonJS or ESM. Normalize\n// to a usable React component reference regardless of module shape.\nconst IntlCurrencyInput: any = (IntlCurrencyInputModule as any)?.default || IntlCurrencyInputModule;\n\ntype InputPercentageProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n 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\">&nbsp;*</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 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: 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","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\">&nbsp;*</strong>\n )}\n </span>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n style={{ color: \"var(--dangerous-700)\" }}\n className=\"text-xs ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n }}\n />\n );\n};\n\nexport const ValueContainer = ({ children, ...props }: ValueContainerProps) => {\n return (\n <components.ValueContainer {...props}>{children}</components.ValueContainer>\n );\n};\n","export const customStyles = {\n indicatorSeparator: (provided: any, props: any) => {\n return {\n ...provided,\n backgroundColor:\n props.hasValue && provided?.selectProps?.isSearchable\n ? \"var(--input)\"\n : \"transparent\",\n };\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 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 type {\n ColumnFiltersState,\n ExpandedState,\n FilterFn,\n PaginationState,\n Row,\n SortingState,\n Table as TableType,\n VisibilityState,\n} from \"@tanstack/react-table\";\nimport {\n flexRender,\n getCoreRowModel,\n getExpandedRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport React, {\n JSX,\n MutableRefObject,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./TableComponents\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport clsx from \"clsx\";\n// import EmptyState from '../Table/Components/Empty/EmptyState';\nimport { rankItem } from \"@tanstack/match-sorter-utils\";\nimport {Input} from \"./../Input\";\n\ntype CustomTData = {\n _destroy?: string;\n};\n\nconst fuzzyFilter: FilterFn<any> = (row, columnId, value, addMeta) => {\n // Rank the item\n const itemRank = rankItem(row.getValue(columnId), value);\n // Store the itemRank info\n addMeta({\n itemRank,\n });\n\n // Return if the item should be filtered in/out\n return itemRank.passed;\n};\n\nexport interface DataTableProps<TData extends CustomTData, TValue> {\n tableContainerRef: MutableRefObject<any>;\n columns: any[];\n data?: any[];\n searchKey?: string;\n tableCTA?: React.ReactNode;\n isLoading?: boolean;\n onScroll?: any;\n CTA?: React.ReactNode;\n hidePagination?: boolean;\n emptyButtonAction?: JSX.Element;\n hideBlankState?: boolean;\n getRowCanExpand?: () => boolean;\n enableRowSelection?: () => boolean;\n renderSubComponent?: (row: any) => any;\n footer?: JSX.Element;\n borderFull?: boolean;\n withShadow?: boolean;\n actionsSelection?: JSX.Element;\n rowSelection?: any;\n setRowSelection?: any;\n hideHeader?: boolean;\n backgroundColor?: string;\n emptyState?: JSX.Element;\n totalData?: number;\n showFilter?: boolean;\n placeholder?: string;\n fetchData?: (options: {\n pageIndex: number;\n pageSize: number;\n order?: string;\n orderDir?: \"ASC\" | \"DESC\";\n }) => Promise<{\n rows: TData[];\n pageCount: number;\n }>;\n openedSubComponent?: boolean;\n setRows?: (e: any) => void;\n selectAllOption?: boolean;\n autoPagination?: boolean;\n tableClass?: string;\n rowClassName?: (row: any) => any;\n listUpdate?: JSX.Element;\n perPage?: number;\n pageSizeOptions?: number[];\n onFinishFetch?: () => void;\n /* filterableItems?: FilterableItems;\n selectionOptions?: ActionItem<TData>[]; */\n}\n\ntype CustomTable<TData> = TableType<TData> & {\n options?: {\n meta?: {\n getRowStyles?: (row: Row<TData>) => React.CSSProperties;\n };\n };\n};\n\nexport default function DataTable<TData extends CustomTData, TValue>({\n columns,\n tableClass = \"\",\n data = [],\n hidePagination,\n emptyButtonAction,\n hideBlankState,\n renderSubComponent = () => {},\n footer,\n borderFull = false,\n withShadow = true,\n actionsSelection,\n backgroundColor,\n emptyState,\n totalData = 0,\n showFilter,\n placeholder,\n fetchData,\n openedSubComponent = false,\n getRowCanExpand,\n enableRowSelection,\n onScroll,\n tableContainerRef,\n setRows,\n selectAllOption,\n autoPagination,\n rowClassName,\n listUpdate,\n setRowSelection,\n rowSelection,\n perPage,\n pageSizeOptions,\n onFinishFetch,\n}: /* filterableItems,\n selectionOptions, */\nDataTableProps<TData, TValue>) {\n const tableRef = useRef<HTMLTableElement>(null);\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);\n const [sorting, setSorting] = useState<SortingState>([]);\n const [arrRowSelected, setArrRowSelected] = useState([]);\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [dataTable, setDataTable] = useState([]);\n const [loading, setLoading] = useState(true);\n const [expanded, setExpanded] = useState<ExpandedState>({});\n const [total, setTotal] = useState(() => totalData);\n const [{ pageIndex, pageSize }, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: hidePagination ? 999999 : perPage ? perPage : 20,\n });\n const [paginationScroll, setPaginationScroll] = useState<number>();\n\n const pagination = useMemo(\n () => ({\n pageIndex,\n pageSize,\n }),\n [pageIndex, pageSize]\n );\n\n // Sticky header functionality removed - vh-sticky-table-header has compatibility issues\n // You can implement custom sticky header with CSS: position: sticky; top: 0;\n\n const fetch = () => {\n if (fetchData && !autoPagination) {\n fetchData({\n pageSize,\n pageIndex,\n order: sorting[0]?.id,\n orderDir: sorting[0]?.desc ? \"DESC\" : \"ASC\",\n }).then((response: any) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n } else {\n manualPagination(pageIndex, pageSize).then((response) => {\n setDataTable(response.rows);\n if (!response?.rows && totalData > 0) {\n setPagination({\n pageIndex: pageIndex - 1,\n pageSize,\n });\n }\n });\n }\n setTimeout(() => {\n if (onFinishFetch) {\n onFinishFetch();\n }\n }, 1000);\n };\n\n const manualPagination = async (pageIndex: number, pageSize: number) => {\n const promise = new Promise((resolve, reject) => {\n let shortArrays: any = [],\n i,\n len;\n for (i = 0, len = totalData; i < len; i += pageSize) {\n shortArrays.push(data?.slice(i, i + pageSize));\n }\n resolve(shortArrays);\n });\n\n let dataPromise = (await promise) as any;\n return {\n rows: dataPromise[pageIndex],\n pageCount: Number(pageSize),\n };\n };\n\n useEffect(() => {\n if (!tableContainerRef?.current) return;\n\n const resizeObserver = new ResizeObserver(() => {\n setPaginationScroll(tableContainerRef?.current?.scrollWidth);\n });\n resizeObserver.observe(tableContainerRef?.current);\n\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n if (fetchData || autoPagination) {\n fetch();\n }\n }, [pageIndex, pageSize, sorting]);\n\n useEffect(() => {\n if (totalData !== total) {\n setPagination({\n pageIndex: 0,\n pageSize: pagination.pageSize,\n });\n setTotal(totalData);\n }\n }, [totalData]);\n\n useEffect(() => {\n if (data) {\n setDataTable(\n () => (autoPagination ? data.slice(0, pageSize) : data) as any\n );\n setLoading(false);\n }\n }, [data]);\n\n const pages =\n totalData < pagination.pageSize\n ? 1\n : Math.ceil(totalData / pagination.pageSize);\n\n let table: TableType<any> = useReactTable({\n data: dataTable?.length > 0 ? dataTable : [],\n columns,\n state: {\n sorting,\n columnVisibility,\n rowSelection,\n globalFilter,\n columnFilters,\n pagination,\n expanded,\n },\n pageCount: pages,\n manualPagination: true,\n enableRowSelection: enableRowSelection,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onGlobalFilterChange: setGlobalFilter,\n globalFilterFn: fuzzyFilter,\n getCoreRowModel: getCoreRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n // getSortedRowModel: getSortedRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n onPaginationChange: setPagination,\n getRowCanExpand,\n onExpandedChange: setExpanded,\n getExpandedRowModel: getExpandedRowModel(),\n enableExpanding: true,\n getRowId: (row) => {\n return row.id;\n },\n meta: {\n getRowStyles: rowClassName,\n },\n }) as CustomTable<any>;\n\n useEffect(() => {\n if (enableRowSelection && rowSelection) {\n setArrRowSelected(Object.keys(rowSelection) as any);\n }\n }, [rowSelection, enableRowSelection]);\n\n const onSelectAll = () => {\n table.toggleAllRowsSelected(true);\n const araysIds = data?.map((item) => item?.id);\n let selected = {};\n araysIds?.forEach((id) => {\n selected = {\n ...selected,\n [id]: true,\n };\n });\n setRowSelection(selected);\n return;\n };\n\n const onRemoveAll = () => {\n table.toggleAllRowsSelected();\n setRowSelection({});\n return;\n };\n\n const hideTableData =\n (dataTable && dataTable?.length == 0 && !loading && !hideBlankState) ||\n !dataTable ||\n table?.getRowModel()?.rows?.length == 0;\n const canShowTableData = !hidePagination && totalData > 0 && table;\n\n function renderBottomTable() {\n if (hideTableData && totalData !== null) {\n if (emptyState) {\n return emptyState;\n } else {\n return <div></div>;\n // <EmptyState emptyButtonAction={emptyButtonAction} />;\n }\n } else if (canShowTableData && totalData !== null) {\n return (\n <DataTablePagination\n table={table}\n footer={footer}\n totalData={totalData}\n tableRef={tableContainerRef}\n selectAllOption={selectAllOption}\n onSelectAll={onSelectAll}\n rowsSelected={Object.keys(rowSelection || {})?.length}\n onRemoveAll={onRemoveAll}\n paginationScroll={paginationScroll}\n pageSizeOptions={pageSizeOptions}\n />\n );\n } else if (totalData == null) {\n return <></>;\n }\n }\n\n useEffect(() => {\n if (rowSelection && Object.keys(rowSelection).length == 0) {\n const elements = document.getElementsByClassName(\"th-shadow\") as any;\n Object.keys(elements).forEach((index) => {\n elements[index]?.classList?.add(\"with-shadow\");\n });\n } else if (rowSelection && Object.keys(rowSelection).length == 1) {\n const elements = document.getElementsByClassName(\"th-shadow\");\n Object.keys(elements).forEach((index: any) => {\n elements[index]?.classList?.remove(\"with-shadow\");\n });\n }\n }, [rowSelection]);\n\n const stylesRow = (row: any) => {\n const tb = table as any;\n return rowClassName ? tb?.options?.meta?.getRowStyles(row) : {};\n };\n\n return (\n <div className=\"w-full h-full flex flex-col\">\n {showFilter && (\n <div className=\"w-full flex justify-between md:items-center flex-col md:flex-row gap-y-2 md:gap-y-0\">\n <div className=\"w-full md:max-w-[350px]\" id=\"filter-table\">\n <Input\n onChange={(e: any) => setGlobalFilter(e.target.value)}\n name=\"filter\"\n value={globalFilter}\n icon={<i className=\"uil uil-search\"></i>}\n placeholder=\"Buscar pedido por ID, Código ou Cliente\"\n clearField\n onClear={() => setGlobalFilter(\"\")}\n />\n </div>\n\n {listUpdate}\n </div>\n )}\n <div\n className={clsx(\"w-full flex mt-4 flex-col justify-between\", {\n \"flex-1\": !hideTableData,\n [tableClass]: tableClass,\n })}\n >\n <Table\n className={clsx(\n \"w-full table_container z-20 overflow-x-scroll md:overflow-x-hidden\"\n )}\n onScroll={onScroll}\n ref={tableContainerRef}\n >\n {rowSelection &&\n Object.keys(rowSelection)?.length > 0 &&\n actionsSelection &&\n dataTable?.length > 0 && (\n <div className=\"h-[76px] flex items-center justify-between px-4 bg-gradient-to-b from-blue-start to-blue-end rounded-lg -mb-[1px]\">\n <div className=\"flex gap-6\">\n <span className=\"text-white text-p-lg\">\n {Object.keys(rowSelection).length} selecionado(s)\n </span>\n {actionsSelection}\n </div>\n <button title=\"set-row\" onClick={() => setRowSelection({})}>\n <i className=\"uil uil-times text-white\"></i>\n </button>\n </div>\n )}\n <div className=\"table w-full mr-[2px]\" ref={tableRef}>\n <TableHeader>\n {table?.getHeaderGroups()?.map((headerGroup, headerIndex) => (\n <TableRow key={headerGroup.id + headerIndex + \"header\"}>\n {headerGroup.headers.map((header, index) => {\n const classes = header.column.columnDef.meta as any;\n return (\n <TableHead\n key={headerIndex + index + \"th\"}\n style={{\n width: header.getSize(),\n }}\n scope=\"col\"\n className={clsx(\n {\n \"hover:bg-neutral-100 th-shadow cursor-pointer\":\n header.column.getCanSort(),\n [\"with-shadow\"]:\n arrRowSelected?.length == 0 && withShadow,\n },\n classes?.header,\n classes?.className\n )}\n >\n <div onClick={header.column.getToggleSortingHandler()}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {sorting[0]?.id == header.column.id ? (\n <i\n className={clsx(\n {\n [\"rotate-0\"]: !sorting[0]?.desc,\n [\"rotate-180\"]: sorting[0]?.desc,\n },\n \"uil uil-arrow-down text-blue-500 transform ml-1 text-[18px] duration-75\"\n )}\n ></i>\n ) : (\n <></>\n )}\n </div>\n </TableHead>\n );\n })}\n </TableRow>\n ))}\n </TableHeader>\n\n <TableBody>\n {table?.getRowModel()?.rows?.map((row, rowIndex) => {\n return (\n <React.Fragment key={rowIndex + \"row\"}>\n {!row.original._destroy && (\n <React.Fragment>\n <TableRow\n key={row.id}\n id={row.id}\n className={`text-p-md font-normal h-[80px] text-paragraph w-fit`}\n style={stylesRow(row)}\n >\n {row.getVisibleCells().map((cell, index) => {\n const classes = cell.column.columnDef.meta as any;\n return (\n <TableCell\n key={cell.id}\n id={cell.id}\n style={{\n width: cell.column.getSize(),\n backgroundColor: backgroundColor\n ? backgroundColor\n : \"\",\n ...stylesRow(row),\n }}\n className={clsx(\n {\n [\"hidden\"]: cell.row.original._destroy,\n [\"first:border-l last:border-r\"]:\n borderFull,\n [\"first:rounded-bl-lg last:rounded-br-lg\"]:\n borderFull &&\n row.index === data?.length - 1,\n },\n classes?.cell,\n classes?.className\n )}\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n );\n })}\n </TableRow>\n {(row.getIsExpanded() || openedSubComponent) && (\n <tr>\n <td colSpan={row.getVisibleCells().length}>\n {renderSubComponent({\n row,\n })}\n </td>\n </tr>\n )}\n </React.Fragment>\n )}\n </React.Fragment>\n );\n })}\n </TableBody>\n </div>\n </Table>\n {renderBottomTable()}\n </div>\n </div>\n );\n}\n","import { 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 &nbsp;\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"],"mappings":"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","names":["jsx","jsxs","SpinnerIcon","props","Fragment","jsx","jsxs","sizes","variants","paddingConfig","Button","variant","size","props","applyGap","appliedVariant","appliedSize","appliedPadding","gapText","SpinnerIcon","clsx","jsx","jsxs","Input","label","type","registration","onClick","error","onBlur","inputProps","icon","clearField","name","required","disabled","value","placeholder","defaultValue","onKeyUp","onKeyDown","onClear","hideInput","onChange","ref","fieldValidationMessages","hasError","item","styles","inlineStyles","input","message","index","jsx","Logo","className","example_logo_default","jsx","jsxs","RocketIcon","props","DateInput3","forwardRef","useState","useRef","useEffect","Controller","create","useFieldErrorsStore","set","validationErrors","state","fieldErrorsByPath","position","path","code","message","fieldPathWithPosition","clsx","format","parse","jsx","jsxs","DatePickerInput","forwardRef","icon","label","registration","error","inputProps","clearField","control","name","required","defaultValue","onChangeFunction","maxDate","minDate","disabled","small","onClear","popoverOffset","ref","_a","invalidDate","setInvalidDate","useState","showCalendar","setShowCalendar","inputWidth","setInputWidth","inputContainerRef","useRef","dateFnsFormat","useEffect","updateWidth","finalOffset","fieldValidationMessages","useFieldErrorsStore","state","styles","item","input","Controller","field","node","DateInput3","e","isUserChange","value","message","index","clsx","jsx","variants","Badge","variant","children","className","style","DatePicker3","DateRangePicker3","Controller","set","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","subYears","jsx","jsxs","Calendar","registration","error","control","name","rangeCalendar","shortcutsChange","selectedShortcut","setSelectedShortcut","maxDate","singleMonth","fieldValidationMessages","shorcuts","onChange","value","e","date","index","item","message","clsx","jsx","jsxs","Checkbox","key","label","registration","disabled","useEffect","useState","Controller","Popover","PopoverButton","PopoverPanel","clsx","Float","format","set","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","subYears","DatePicker3","DateRangePicker3","jsx","jsxs","FilterCalendar","icon","label","onApply","onClear","control","name","rangeCalendar","defaultShortcut","shortcutsChange","singleMonth","maxDate","style","currentValue","setCurrentValue","useState","calendarLabel","setCalendarLabel","isMobileSize","shorcuts","selectedShortcut","setSelectedShortcut","calendar","e","date","index","item","Controller","field","_a","hasValue","Popover","clsx","open","_b","Float","PopoverButton","PopoverPanel","close","onClose","useEffect","Button","Fragment","useEffect","useState","Controller","Listbox","ListboxOption","ListboxOptions","Popover","PopoverButton","PopoverPanel","clsx","Float","useRef","clsx","jsx","jsxs","InputSmall","type","registration","onClick","onBlur","onChange","inputProps","icon","clearField","disabled","placeholder","className","onKeyDown","value","searchOnClick","onClear","collapsed","inputRef","styles","elem","e","Fragment","jsx","jsxs","FilterOptions","icon","label","isMulti","options","onApply","onClear","onSelectAll","control","name","fetch","subFilters","emptyMessage","initialMessage","applyOnClick","showFilter","style","currentValue","setCurrentValue","useState","data","setData","filter","setFilter","subFilter","setSubFilter","loading","setLoading","search","order","opt","_a","a","b","useEffect","timeout","optionStyle","option","isSelected","ListboxOption","clsx","isMobileSize","Controller","field","_b","hasValue","Popover","open","Float","PopoverButton","PopoverPanel","close","onClose","Listbox","ListboxOptions","InputSmall","e","item","index","active","Button","forwardRef","Controller","clsx","IntlCurrencyInputModule","jsx","jsxs","IntlCurrencyInput","InputMoney","label","type","onClick","error","onBlur","onChangeValue","inputProps","icon","clearField","name","required","disabled","value","placeholder","control","defaultValue","isWeightField","minFractionDigits","ref","currencyConfig","fieldValidationMessages","hasError","item","styles","field","handleChange","event","maskedValue","message","index","useMemo","useState","Controller","clsx","_debounce","jsx","jsxs","InputNumber","label","type","onClick","error","onBlur","onChangeValue","inputProps","icon","clearField","name","required","disabled","value","placeholder","control","defaultValue","hideArrows","maxLength","onlyNumbers","showZero","maxValue","input","fieldValidationMessages","hasError","item","styles","debouncedCount","setDebouncedCount","save","updateCount","onChange","update","changeValue","val","e","evt","message","index","useRef","Controller","clsx","IntlCurrencyInputModule","jsx","jsxs","IntlCurrencyInput","InputPercentage","label","onClick","error","onBlur","inputProps","icon","clearField","name","required","disabled","placeholder","control","defaultValue","minFractionDigits","onChangeValue","maxLength","currencyConfig","inputRef","fieldValidationMessages","hasError","item","styles","input","field","handleChange","event","value","maskedValue","message","index","useRef","Controller","InputMask","jsx","MaskedInput","type","name","label","placeholder","error","mask","control","required","onKeyUp","maskChar","alwaysShowMask","defaultValue","disabled","ref","useRef","Controller","field","beforeMaskedValueChange","states","nextState","previousState","value","selection","cursorPosition","chars","words","InputMask","inputProps","Input","clsx","cloneElement","ReactModalNamespace","jsx","jsxs","Modal","ReactModalNamespace","alertTypes","sizes","ModalDialog","open","onOpen","onClose","onCancel","triggerButton","confirmButton","title","cancelButton","icon","alertType","size","info","description","children","customStyles","trigger","cloneElement","clsx","Button","Tooltip","Fragment","jsx","Popover","id","displayArrow","openOnClick","useRef","Controller","components","AsyncSelect","customStyles","provided","props","_a","state","base","color","useEffect","useState","clsx","Fragment","jsx","jsxs","SelectField","name","error","label","defaultValue","control","placeholder","isSearchable","isClearable","onChange","required","debounce","filterOptions","optionsList","disabled","onChangeValue","resize","optionStyle","valueStyle","icon","emptyMessage","small","_a","Option","DropdownIndicator","ClearIndicator","SingleValue","components","selectRef","useRef","inputValue","setInputValue","useState","loading","setLoading","options","setOptions","availableHeight","setAvailableHeight","isFocused","setIsFocused","useEffect","updateAvailableHeight","_b","rect","margin","loadOptions","result","fieldValidationMessages","useFieldErrorsStore","state","hasError","item","smallField","hasLabel","menuHeight","hasIcon","Controller","field","CustomSingleValue","props","IconOption","LoadingMessage","NoOptionsMessage","DropdownIndicatorCustom","ClearIndicatorCustom","value","handleKeyDown","event","fetchedOptions","AsyncSelect","customStyles","ValueContainer","message","index","children","Controller","jsx","jsxs","Radio","disabled","control","name","label","defaultChecked","field","e","Switch","Controller","jsx","jsxs","Group","Label","classNames","classes","Toggle","name","label","subLabel","control","disabled","field","value","checked","Combobox","useEffect","useState","clsx","jsx","jsxs","PaginationSelect","pageSizeOptions","table","_a","_b","_c","_d","_e","_f","pageCount","pagesArray","options","item","index","pageSizeSelected","setPageSizeSelected","pageSelected","setPageSelected","pagesOptions","setPagesOptions","pageSizesOptions","setPagesSizesOptions","query","setQuery","filter","copy","saveSessionStorage","key","values","value","open","opt","selected","e","val","flexRender","getCoreRowModel","getExpandedRowModel","getFacetedRowModel","getFacetedUniqueValues","getFilteredRowModel","useReactTable","React","useEffect","useMemo","useRef","useState","clsx","React","jsx","Table","className","props","ref","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","Fragment","Fragment","jsx","jsxs","DataTablePagination","table","footer","totalData","selectAllOption","onSelectAll","rowsSelected","onRemoveAll","tableRef","paginationScroll","pageSizeOptions","_a","_b","_c","_d","_e","selectedPage","results","pageCount","limitPagePositive","limitPageNegative","pagesArray","pageRowsCount","evt","TableFooter","PaginationSelect","Button","elem","index","checkPageIndexLimit","isSelectedPage","clsx","rankItem","Fragment","jsx","jsxs","fuzzyFilter","row","columnId","value","addMeta","itemRank","rankItem","DataTable","columns","tableClass","data","hidePagination","emptyButtonAction","hideBlankState","renderSubComponent","footer","borderFull","withShadow","actionsSelection","backgroundColor","emptyState","totalData","showFilter","placeholder","fetchData","openedSubComponent","getRowCanExpand","enableRowSelection","onScroll","tableContainerRef","setRows","selectAllOption","autoPagination","rowClassName","listUpdate","setRowSelection","rowSelection","perPage","pageSizeOptions","onFinishFetch","_a","_b","_c","_d","_e","_f","tableRef","useRef","columnVisibility","setColumnVisibility","useState","columnFilters","setColumnFilters","sorting","setSorting","arrRowSelected","setArrRowSelected","globalFilter","setGlobalFilter","dataTable","setDataTable","loading","setLoading","expanded","setExpanded","total","setTotal","pageIndex","pageSize","setPagination","paginationScroll","setPaginationScroll","pagination","useMemo","fetch","response","manualPagination","resolve","reject","shortArrays","i","len","useEffect","resizeObserver","pages","table","useReactTable","getCoreRowModel","getFilteredRowModel","getFacetedRowModel","getFacetedUniqueValues","getExpandedRowModel","onSelectAll","araysIds","item","selected","id","onRemoveAll","hideTableData","canShowTableData","renderBottomTable","DataTablePagination","elements","index","stylesRow","tb","Input","e","clsx","Table","TableHeader","headerGroup","headerIndex","TableRow","header","classes","TableHead","flexRender","TableBody","rowIndex","React","cell","TableCell"]}
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":["jsx","jsxs","clsx","set","variants","Controller","useState","sub","startOfWeek","endOfWeek","startOfMonth","endOfMonth","DateRangePicker3","subYears","DatePicker3","_a","format","useEffect","useRef","Fragment","Popover","_b","Float","PopoverButton","PopoverPanel","forwardRef","value","IntlCurrencyInput","IntlCurrencyInputModule","sizes","customStyles","inputValue","onChange","_c","_d","_e","_f","useMemo","pageIndex","pageSize","React"],"mappings":"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","file":"index.js","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\">&nbsp;*</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 FieldError,\n FieldErrorsImpl,\n Merge,\n} from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport * as IntlCurrencyInputModule from \"react-intl-currency-input\";\n// react-intl-currency-input can be published as CommonJS or ESM. Normalize\n// to a usable React component reference regardless of module shape.\nconst IntlCurrencyInput: any = (IntlCurrencyInputModule as any)?.default || IntlCurrencyInputModule;\n\ntype InputMoneyProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n 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\">&nbsp;*</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 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: 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\">&nbsp;*</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, FieldError } from \"react-hook-form\";\nimport clsx from \"clsx\";\nimport * as IntlCurrencyInputModule from \"react-intl-currency-input\";\n// react-intl-currency-input can be published as CommonJS or ESM. Normalize\n// to a usable React component reference regardless of module shape.\nconst IntlCurrencyInput: any = (IntlCurrencyInputModule as any)?.default || IntlCurrencyInputModule;\n\ntype InputPercentageProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n 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\">&nbsp;*</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 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: 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\">&nbsp;*</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 &nbsp;\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"]}