nexaas-ui-components 1.0.6 → 1.0.7

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 IntlCurrencyInput from \"react-intl-currency-input\";\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 IntlCurrencyInput from \"react-intl-currency-input\";\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","IntlCurrencyInput","jsx","jsxs","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","IntlCurrencyInput","jsx","jsxs","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/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"]}