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.cjs +7 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../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":["export * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Logo\";\nexport * from \"./assets/spinner\";\nexport * from \"./components/Rocket\";\nexport * from \"./components/DatePickerInput\";\nexport * from \"./components/Badge\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/FilterButton/FilterCalendar\";\nexport * from \"./components/FilterButton/FilterOptions\";\nexport * from \"./components/InputMoney\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/InputPercentage\";\nexport * from \"./components/MaskedInput\";\nexport * from \"./components/ModalDialog\";\nexport * from \"./components/Popover/Popover\";\nexport * from \"./components/Select/Select\";\nexport * from \"./components/RadioButton/Radio\";\nexport * from \"./components/Toggle\";\nexport * from \"./components/Table/PaginationSelects\";\nexport { default as DataTable } from \"./components/Table/index\";\nexport * from \"./components/Table/TableComponents\";\nexport * from \"./components/Table/DataTablePagination\";","import React from \"react\";\n\nexport const SpinnerIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n);\n","import React, { JSX } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n icon?: JSX.Element;\n variant?: keyof typeof variants;\n size?: keyof typeof sizes;\n loading?: boolean;\n loadingIcon?: JSX.Element;\n dropdown?: boolean;\n};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[16px]\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px]\",\n },\n sm: {\n text: \"h-[32px]\",\n icon: \"text-[14px]\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px]\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px]\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"bg-gradient-to-b from-[#FF4D8B] to-[#DA3063] text-white shadow-[0_2px_6px_0_rgba(218,48,99,0.25)] hover:from-[#ff4d84] hover:to-[#df4573] active:from-[#ae264f] active:to-[#ae264f] disabled:opacity-50 disabled:shadow-none active:shadow-none disabled:hover:from-[#FF4D8B] disabled:hover:to-[#DA3063]\",\n },\n secondary: {\n text: \"shadow-button bg-surface border-[0.5px] border-neutral-400 text-neutral-600 hover:bg-neutral-100 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button bg-white border-[0.5px] border-neutral-300 hover:bg-[#f5f5f5] active:bg-neutral-100 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outline: {\n text: \"shadow-button bg-surface border-[0.5px] border-rose-500 text-rose-500 hover:bg-rose-50 active:bg-rose-100 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-500 hover:bg-dangerous-100 active:bg-dangerous-500 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-dangerous-500 active:shadow-none\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#fe6464] hover:to-[#e24e4e] active:from-dangerous-600 active:to-dangerous-600 disabled:opacity-50 disabled:from-dangerous-500 disabled:to-dangerous-500 active:shadow-none\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#40f09b] hover:to-[#28c67a] active:from-success-600 active:to-success-600 disabled:opacity-50 disabled:from-success-start disabled:to-success-end active:shadow-none\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#febd5b] hover:to-[#f4a52e] active:from-warning-600 active:to-warning-600 disabled:opacity-50 disabled:from-warning-start disabled:to-warning-end active:shadow-none\",\n },\n blue: {\n text: \"shadow-button bg-blue-500 text-white text-bold\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-500 disabled:no-underline shadow-none font-normal disabled:opacity-50\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-white text-rose-500 hover:shadow-button active:bg-rose-500 active:text-white disabled:text-neutral-400 disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\n },\n xs: {\n normal: \"p-2\",\n icon: \"p-2\",\n },\n sm: {\n normal: \"px-3 py-[6px]\",\n icon: \"py-[6px] pl-2 pr-3\",\n },\n md: {\n normal: \"py-2 px-4\",\n icon: \"py-2 pl-3 pr-4\",\n },\n lg: {\n normal: \"py-3 px-4\",\n icon: \"p-3 pr-4\",\n },\n};\n\nexport const Button = ({\n variant = \"primary\",\n size = \"lg\",\n ...props\n}: ButtonProps) => {\n const applyGap = props.icon && props.children;\n const appliedVariant = variants[variant].text;\n const appliedSize = sizes[size];\n const appliedPadding = props.icon\n ? paddingConfig[size].icon\n : paddingConfig[size].normal;\n const gapText = applyGap ? \"gap-[6px]\" : \"gap-0\";\n return (\n <button\n type={props.type}\n id=\"button-component\"\n {...props}\n disabled={props.disabled || props.loading}\n className={`\n ${props.className}\n ${appliedVariant} \n ${appliedSize.text} \n ${appliedPadding} \n ${gapText} \n whitespace-nowrap group rounded-lg font-bold disabled:shadow-none active:shadow-none flex items-center\n `}\n >\n <>\n {props.icon && (\n <div\n className={`flex items-center justify-center ${appliedSize.icon}`}\n >\n {props.icon && !props.loading ? (\n props.icon\n ) : props.loadingIcon && props.loading ? (\n props.loadingIcon\n ) : (\n <SpinnerIcon className=\"animate-spin\" />\n )}\n </div>\n )}\n {props.children}\n {props.dropdown && <i className={\"uil uil-angle-down text-[18px]\"}></i>}\n </>\n </button>\n );\n};\n","import React, { JSX } from \"react\";\nimport clsx from \"clsx\";\nimport {\n DetailedHTMLProps,\n forwardRef,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n} from \"react\";\nimport {\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: () => void;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n onBlur?: (value: Event) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n};\n\nexport const Input = ({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n onChange,\n ref,\n}: InputFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label peer-focus:text-blue-500\"\n } peer-focus:border-blue-500`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear:\n \"absolute top-[8px] right-[8px] cursor-pointer text-label text-[22px]\",\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const inlineStyles = {\n inputWithIcon: { paddingLeft: '48px' },\n labelWithIcon: { left: '3rem' },\n };\n\n const input = name ? document?.getElementById(name) : null;\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n <input\n id={name}\n type={type}\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={((!label && placeholder && icon) || icon) ? inlineStyles.inputWithIcon : undefined}\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onChange={onChange}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={ref}\n {...inputProps}\n {...registration}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {icon && (\n <div\n className={clsx(styles.icon, \"flex justify-center items-center\")}\n >\n {icon}\n </div>\n )}\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\"\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n style={icon ? inlineStyles.labelWithIcon : undefined}\n className={clsx(\n {\n [styles.label]: true,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\"\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n {clearField && value && value !== \"\" && !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\"\n )}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n\n","import React from \"react\";\n// Exemplo: Se você tiver uma imagem PNG ou JPG\n// import logo from \"../assets/logo.png\";\n\n// Para SVG estático (não como componente)\nimport exampleLogo from \"../assets/example-logo.svg\";\n\nexport const Logo: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <img \n src={exampleLogo} \n alt=\"Logo\" \n className={className}\n width={100}\n height={100}\n />\n );\n};\n","import React from \"react\";\n\nexport const RocketIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"800px\"\n height=\"800px\"\n viewBox=\"0 0 1024 1024\"\n className=\"icon\"\n version=\"1.1\"\n style={props.style}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M512 301.2m-10 0a10 10 0 1 0 20 0 10 10 0 1 0-20 0Z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M400.3 744.5c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z m0 0c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M511.8 256.6c24.4 0 44.2 19.8 44.2 44.2S536.2 345 511.8 345s-44.2-19.8-44.2-44.2 19.9-44.2 44.2-44.2m0-20c-35.5 0-64.2 28.7-64.2 64.2s28.7 64.2 64.2 64.2 64.2-28.7 64.2-64.2-28.7-64.2-64.2-64.2z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M730.7 529.5c0.4-8.7 0.6-17.4 0.6-26.2 0-179.6-86.1-339.1-219.3-439.5-133.1 100.4-219.2 259.9-219.2 439.5 0 8.8 0.2 17.5 0.6 26.1-56 56-90.6 133.3-90.6 218.7 0 61.7 18 119.1 49.1 167.3 30.3-49.8 74.7-90.1 127.7-115.3 39-18.6 82.7-29 128.8-29 48.3 0 93.9 11.4 134.3 31.7 52.5 26.3 96.3 67.7 125.6 118.4 33.4-49.4 52.9-108.9 52.9-173.1 0-85.4-34.6-162.6-90.5-218.6zM351.1 383.4c9.2-37.9 22.9-74.7 40.6-109.5a502.1 502.1 0 0 1 63.6-95.9c17.4-20.6 36.4-39.9 56.8-57.5 20.4 17.6 39.4 36.9 56.8 57.5 24.8 29.5 46.2 61.8 63.6 95.9 17.7 34.8 31.4 71.6 40.6 109.5 8.7 35.8 13.5 72.7 14.2 109.9C637.4 459 577 438.9 512 438.9c-65 0-125.3 20.1-175.1 54.4 0.7-37.2 5.5-74.1 14.2-109.9z m-90.6 449.2c-9.1-27-13.7-55.5-13.7-84.4 0-35.8 7-70.6 20.8-103.2 8.4-19.8 19-38.4 31.9-55.5 9.7 61.5 29.5 119.7 57.8 172.6-36.4 17.8-69 41.6-96.8 70.5z m364.2-85.3c-0.7-0.3-1.5-0.5-2.2-0.8-0.4-0.2-0.9-0.3-1.3-0.5-0.6-0.2-1.3-0.5-1.9-0.7-0.8-0.3-1.5-0.5-2.3-0.8-0.8-0.3-1.5-0.5-2.3-0.7l-0.9-0.3c-1-0.3-2.1-0.7-3.1-1-1.2-0.4-2.4-0.7-3.5-1.1l-3-0.9c-0.2-0.1-0.4-0.1-0.7-0.2-1.1-0.3-2.3-0.7-3.4-1-1.2-0.3-2.4-0.6-3.5-0.9l-3.6-0.9-3.6-0.9c-1-0.3-2.1-0.5-3.1-0.7-1.2-0.3-2.4-0.5-3.6-0.8-1.3-0.3-2.5-0.6-3.8-0.8h-0.3c-0.9-0.2-1.9-0.4-2.8-0.6-0.4-0.1-0.7-0.1-1.1-0.2-1.1-0.2-2.2-0.4-3.4-0.6-1.2-0.2-2.4-0.4-3.6-0.7l-5.4-0.9c-0.9-0.1-1.9-0.3-2.8-0.4-0.8-0.1-1.6-0.3-2.5-0.4-2.6-0.4-5.1-0.7-7.7-1-1.2-0.1-2.3-0.3-3.5-0.4h-0.4c-0.9-0.1-1.8-0.2-2.8-0.3-1.1-0.1-2.1-0.2-3.2-0.3-1.7-0.2-3.4-0.3-5.1-0.4-0.8-0.1-1.5-0.1-2.3-0.2-0.9-0.1-1.9-0.1-2.8-0.2-0.4 0-0.8 0-1.2-0.1-1.1-0.1-2.1-0.1-3.2-0.2-0.5 0-1-0.1-1.5-0.1-1.3-0.1-2.6-0.1-3.9-0.1-0.8 0-1.5-0.1-2.3-0.1-1.2 0-2.4 0-3.5-0.1h-13.9c-2.3 0-4.6 0.1-6.9 0.2-0.9 0-1.9 0.1-2.8 0.1-0.8 0-1.5 0.1-2.3 0.1-1.4 0.1-2.8 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.4-0.6 0-1.2 0.1-1.8 0.2l-7.8 0.9c-1.1 0.1-2.1 0.3-3.2 0.4-1 0.1-2.1 0.3-3.1 0.4-3.2 0.5-6.4 0.9-9.5 1.5-0.7 0.1-1.4 0.2-2.1 0.4-0.9 0.1-1.7 0.3-2.6 0.5-1.1 0.2-2.3 0.4-3.4 0.6-0.9 0.2-1.7 0.3-2.6 0.5-0.4 0.1-0.8 0.1-1.1 0.2-0.7 0.1-1.4 0.3-2.1 0.4-1.2 0.3-2.4 0.5-3.6 0.8-1.2 0.3-2.4 0.5-3.6 0.8-0.2 0-0.4 0.1-0.6 0.1-0.5 0.1-1 0.2-1.5 0.4-1.1 0.3-2.3 0.6-3.5 0.9-1.3 0.3-2.5 0.6-3.8 1-0.4 0.1-0.9 0.2-1.4 0.4-1.3 0.4-2.7 0.7-4 1.1-1.5 0.4-3 0.9-4.6 1.3-1 0.3-2.1 0.6-3.1 1-2.1 0.6-4.1 1.3-6.2 2-0.7 0.2-1.4 0.5-2.1 0.7-15-27.5-27.4-56.4-37-86.2-11.7-36.1-19.2-73.6-22.5-111.6-0.6-6.7-1-13.3-1.3-20-0.1-1.2-0.1-2.4-0.1-3.6-0.1-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.7 18.8-14 39.2-25.8 61-35 36.1-15.3 74.5-23 114.1-23 39.6 0 78 7.8 114.1 23 21.8 9.2 42.2 20.9 61 35v0.1c0 1 0 1.9-0.1 2.9 0 1.4-0.1 2.8-0.1 4.3 0 0.7 0 1.3-0.1 2-0.1 1.8-0.1 3.5-0.2 5.3-0.3 6.7-0.8 13.3-1.3 20-3.3 38.5-11 76.5-23 113-9.7 30.3-22.3 59.4-37.6 87.1z m136.8 90.9a342.27 342.27 0 0 0-96.3-73.2c29.1-53.7 49.5-112.8 59.4-175.5 12.8 17.1 23.4 35.6 31.8 55.5 13.8 32.7 20.8 67.4 20.8 103.2 0 31-5.3 61.3-15.7 90z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M512 819.3c8.7 0 24.7 22.9 24.7 60.4s-16 60.4-24.7 60.4-24.7-22.9-24.7-60.4 16-60.4 24.7-60.4m0-20c-24.7 0-44.7 36-44.7 80.4 0 44.4 20 80.4 44.7 80.4s44.7-36 44.7-80.4c0-44.4-20-80.4-44.7-80.4z\"\n fill=\"#E73B37\"\n />\n </svg>\n);\n","import { 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\"> *</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\"> *</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\"> *</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\"> *</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 \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":["index_exports","__export","Badge","Button","Calendar","Checkbox","DataTable","DataTablePagination","DatePickerInput","FilterCalendar","FilterOptions","Input","InputMoney","InputNumber","InputPercentage","Logo","MaskedInput","ModalDialog","PaginationSelect","Popover","Radio","RocketIcon","SelectField","SpinnerIcon","Table","TableBody","TableCaption","TableCell","TableFooter","TableHead","TableHeader","TableRow","Toggle","ValueContainer","__toCommonJS","import_jsx_runtime","SpinnerIcon","props","import_jsx_runtime","sizes","variants","paddingConfig","Button","variant","size","props","applyGap","appliedVariant","appliedSize","appliedPadding","gapText","SpinnerIcon","import_clsx","import_jsx_runtime","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","clsx","message","index","import_jsx_runtime","Logo","className","example_logo_default","import_jsx_runtime","RocketIcon","props","import_datetime2","import_react","import_react_hook_form","import_zustand","useFieldErrorsStore","set","validationErrors","state","fieldErrorsByPath","position","path","code","message","fieldPathWithPosition","import_clsx","import_date_fns","import_jsx_runtime","DatePickerInput","icon","label","registration","error","inputProps","clearField","control","name","required","defaultValue","onChangeFunction","maxDate","minDate","disabled","small","onClear","popoverOffset","ref","_a","invalidDate","setInvalidDate","showCalendar","setShowCalendar","inputWidth","setInputWidth","inputContainerRef","dateFnsFormat","updateWidth","finalOffset","fieldValidationMessages","useFieldErrorsStore","state","styles","item","input","field","node","clsx","e","isUserChange","value","message","index","import_clsx","import_jsx_runtime","variants","Badge","variant","children","className","style","clsx","import_datetime2","import_react_hook_form","import_date_fns","import_jsx_runtime","Calendar","registration","error","control","name","rangeCalendar","shortcutsChange","selectedShortcut","setSelectedShortcut","maxDate","singleMonth","fieldValidationMessages","shorcuts","onChange","value","e","date","index","item","message","import_clsx","import_jsx_runtime","Checkbox","key","label","registration","disabled","clsx","import_react","import_react_hook_form","import_clsx","import_date_fns","import_datetime2","import_jsx_runtime","FilterCalendar","icon","label","onApply","onClear","control","name","rangeCalendar","defaultShortcut","shortcutsChange","singleMonth","maxDate","style","currentValue","setCurrentValue","calendarLabel","setCalendarLabel","isMobileSize","shorcuts","selectedShortcut","setSelectedShortcut","calendar","e","date","index","item","field","_a","hasValue","clsx","open","_b","close","onClose","Button","import_react","import_react_hook_form","import_clsx","import_react","import_clsx","import_jsx_runtime","InputSmall","type","registration","onClick","onBlur","onChange","inputProps","icon","clearField","disabled","placeholder","className","onKeyDown","value","searchOnClick","onClear","collapsed","inputRef","styles","elem","clsx","e","import_jsx_runtime","FilterOptions","icon","label","isMulti","options","onApply","onClear","onSelectAll","control","name","fetch","subFilters","emptyMessage","initialMessage","applyOnClick","showFilter","style","currentValue","setCurrentValue","data","setData","filter","setFilter","subFilter","setSubFilter","loading","setLoading","search","order","opt","_a","a","b","timeout","optionStyle","option","isSelected","clsx","isMobileSize","field","_b","hasValue","open","close","onClose","InputSmall","e","item","index","active","Button","import_react","import_react_hook_form","import_clsx","import_react_intl_currency_input","import_jsx_runtime","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","clsx","IntlCurrencyInput","message","index","import_react","import_react_hook_form","import_clsx","import_debounce","import_jsx_runtime","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","_debounce","onChange","update","changeValue","val","clsx","e","evt","message","index","import_react","import_react_hook_form","import_clsx","import_react_intl_currency_input","import_jsx_runtime","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","clsx","IntlCurrencyInput","message","index","import_react","import_react_hook_form","import_react_input_mask","import_jsx_runtime","MaskedInput","type","name","label","placeholder","error","mask","control","required","onKeyUp","maskChar","alwaysShowMask","defaultValue","disabled","ref","field","beforeMaskedValueChange","states","nextState","previousState","value","selection","cursorPosition","chars","words","InputMask","inputProps","Input","import_clsx","import_react","ReactModalNamespace","import_jsx_runtime","Modal","ReactModalNamespace","alertTypes","sizes","ModalDialog","open","onOpen","onClose","onCancel","triggerButton","confirmButton","title","cancelButton","icon","alertType","size","info","description","children","customStyles","trigger","clsx","Button","import_react_tooltip","import_jsx_runtime","Popover","id","displayArrow","openOnClick","import_react","import_react_hook_form","import_react_select","import_async","customStyles","provided","props","_a","state","base","color","import_react","import_clsx","import_jsx_runtime","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","selectRef","inputValue","setInputValue","loading","setLoading","options","setOptions","availableHeight","setAvailableHeight","isFocused","setIsFocused","updateAvailableHeight","_b","rect","margin","loadOptions","result","fieldValidationMessages","useFieldErrorsStore","state","hasError","item","smallField","hasLabel","menuHeight","hasIcon","field","CustomSingleValue","props","IconOption","clsx","LoadingMessage","NoOptionsMessage","DropdownIndicatorCustom","ClearIndicatorCustom","value","handleKeyDown","event","fetchedOptions","AsyncSelect","customStyles","ValueContainer","message","index","children","import_react_hook_form","import_jsx_runtime","Radio","disabled","control","name","label","defaultChecked","field","e","import_react","import_react_hook_form","import_jsx_runtime","Group","Label","classNames","classes","Toggle","name","label","subLabel","control","disabled","field","value","checked","import_react","import_clsx","import_jsx_runtime","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","clsx","e","val","import_react_table","import_react","import_clsx","React","import_jsx_runtime","Table","className","props","ref","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","import_react","import_jsx_runtime","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","import_clsx","import_match_sorter_utils","import_jsx_runtime","fuzzyFilter","row","columnId","value","addMeta","itemRank","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","columnVisibility","setColumnVisibility","columnFilters","setColumnFilters","sorting","setSorting","arrRowSelected","setArrRowSelected","globalFilter","setGlobalFilter","dataTable","setDataTable","loading","setLoading","expanded","setExpanded","total","setTotal","pageIndex","pageSize","setPagination","paginationScroll","setPaginationScroll","pagination","fetch","response","manualPagination","resolve","reject","shortArrays","i","len","resizeObserver","pages","table","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","TableBody","rowIndex","React","cell","TableCell"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../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":["export * from \"./components/Button\";\nexport * from \"./components/Input\";\nexport * from \"./components/Logo\";\nexport * from \"./assets/spinner\";\nexport * from \"./components/Rocket\";\nexport * from \"./components/DatePickerInput\";\nexport * from \"./components/Badge\";\nexport * from \"./components/Calendar\";\nexport * from \"./components/Checkbox\";\nexport * from \"./components/FilterButton/FilterCalendar\";\nexport * from \"./components/FilterButton/FilterOptions\";\nexport * from \"./components/InputMoney\";\nexport * from \"./components/InputNumber\";\nexport * from \"./components/InputPercentage\";\nexport * from \"./components/MaskedInput\";\nexport * from \"./components/ModalDialog\";\nexport * from \"./components/Popover/Popover\";\nexport * from \"./components/Select/Select\";\nexport * from \"./components/RadioButton/Radio\";\nexport * from \"./components/Toggle\";\nexport * from \"./components/Table/PaginationSelects\";\nexport { default as DataTable } from \"./components/Table/index\";\nexport * from \"./components/Table/TableComponents\";\nexport * from \"./components/Table/DataTablePagination\";","import React from \"react\";\n\nexport const SpinnerIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n);\n","import React, { JSX } from \"react\";\nimport { SpinnerIcon } from \"../assets/spinner\";\ntype ButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n icon?: JSX.Element;\n variant?: keyof typeof variants;\n size?: keyof typeof sizes;\n loading?: boolean;\n loadingIcon?: JSX.Element;\n dropdown?: boolean;\n};\n\nconst sizes = {\n xxs: {\n text: \"h-[18px]\",\n icon: \"text-[16px]\",\n },\n xs: {\n text: \"h-8 min-w-8 max-w-20\",\n icon: \"text-[16px]\",\n },\n sm: {\n text: \"h-[32px]\",\n icon: \"text-[14px]\",\n },\n md: {\n text: \"h-[38px]\",\n icon: \"text-[20px]\",\n },\n lg: {\n text: \"h-[46px]\",\n icon: \"text-[20px]\",\n },\n};\n\nconst variants = {\n primary: {\n text: \"bg-gradient-to-b from-[#FF4D8B] to-[#DA3063] text-white shadow-[0_2px_6px_0_rgba(218,48,99,0.25)] hover:from-[#ff4d84] hover:to-[#df4573] active:from-[#ae264f] active:to-[#ae264f] disabled:opacity-50 disabled:shadow-none active:shadow-none disabled:hover:from-[#FF4D8B] disabled:hover:to-[#DA3063]\",\n },\n secondary: {\n text: \"shadow-button bg-surface border-[0.5px] border-neutral-400 text-neutral-600 hover:bg-neutral-100 active:shadow-none disabled:text-neutral-400 disabled:opacity-50\",\n },\n icon: {\n text: \"shadow-button bg-white border-[0.5px] border-neutral-300 hover:bg-[#f5f5f5] active:bg-neutral-100 disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outline: {\n text: \"shadow-button bg-surface border-[0.5px] border-rose-500 text-rose-500 hover:bg-rose-50 active:bg-rose-100 disabled:bg-surface disabled:border-[0.5px] disabled:border-rose-700 disabled:opacity-50 active:shadow-none\",\n },\n dangerOutline: {\n text: \"shadow-button text-dangerous-500 bg-surface border-[0.5px] border-dangerous-500 hover:bg-dangerous-100 active:bg-dangerous-500 active:text-white disabled:opacity-50 disabled:bg-white disabled:text-dangerous-500 active:shadow-none\",\n },\n danger: {\n text: \"shadow-button text-white bg-gradient-to-b from-danger-start to-danger-end hover:from-[#fe6464] hover:to-[#e24e4e] active:from-dangerous-600 active:to-dangerous-600 disabled:opacity-50 disabled:from-dangerous-500 disabled:to-dangerous-500 active:shadow-none\",\n },\n success: {\n text: \"shadow-button text-white bg-gradient-to-b from-success-start to-success-end hover:from-[#40f09b] hover:to-[#28c67a] active:from-success-600 active:to-success-600 disabled:opacity-50 disabled:from-success-start disabled:to-success-end active:shadow-none\",\n },\n warn: {\n text: \"shadow-button text-white bg-gradient-to-b from-warning-start to-warning-end hover:from-[#febd5b] hover:to-[#f4a52e] active:from-warning-600 active:to-warning-600 disabled:opacity-50 disabled:from-warning-start disabled:to-warning-end active:shadow-none\",\n },\n blue: {\n text: \"shadow-button bg-blue-500 text-white text-bold\",\n },\n link: {\n text: \"text-left text-blue-500 hover:text-blue-600 hover:underline active:text-blue-600 disabled:text-blue-500 disabled:no-underline shadow-none font-normal disabled:opacity-50\",\n },\n iconSecondary: {\n text: \"border-[1px] border-none text-white active:bg-[#0A0A0A40]/20 hover:bg-[#F5F5F526]/10 hover:text-white disabled:text-neutral-400 disabled:border-[0.5px] disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n outlineIcon: {\n text: \"bg-white text-rose-500 hover:shadow-button active:bg-rose-500 active:text-white disabled:text-neutral-400 disabled:border-disabled disabled:bg-white disabled:opacity-50 active:shadow-none\",\n },\n};\n\nconst paddingConfig = {\n xxs: {\n normal: \"\",\n icon: \"\",\n },\n xs: {\n normal: \"p-2\",\n icon: \"p-2\",\n },\n sm: {\n normal: \"px-3 py-[6px]\",\n icon: \"py-[6px] pl-2 pr-3\",\n },\n md: {\n normal: \"py-2 px-4\",\n icon: \"py-2 pl-3 pr-4\",\n },\n lg: {\n normal: \"py-3 px-4\",\n icon: \"p-3 pr-4\",\n },\n};\n\nexport const Button = ({\n variant = \"primary\",\n size = \"lg\",\n ...props\n}: ButtonProps) => {\n const applyGap = props.icon && props.children;\n const appliedVariant = variants[variant].text;\n const appliedSize = sizes[size];\n const appliedPadding = props.icon\n ? paddingConfig[size].icon\n : paddingConfig[size].normal;\n const gapText = applyGap ? \"gap-[6px]\" : \"gap-0\";\n return (\n <button\n type={props.type}\n id=\"button-component\"\n {...props}\n disabled={props.disabled || props.loading}\n className={`\n ${props.className}\n ${appliedVariant} \n ${appliedSize.text} \n ${appliedPadding} \n ${gapText} \n whitespace-nowrap group rounded-lg font-bold disabled:shadow-none active:shadow-none flex items-center\n `}\n >\n <>\n {props.icon && (\n <div\n className={`flex items-center justify-center ${appliedSize.icon}`}\n >\n {props.icon && !props.loading ? (\n props.icon\n ) : props.loadingIcon && props.loading ? (\n props.loadingIcon\n ) : (\n <SpinnerIcon className=\"animate-spin\" />\n )}\n </div>\n )}\n {props.children}\n {props.dropdown && <i className={\"uil uil-angle-down text-[18px]\"}></i>}\n </>\n </button>\n );\n};\n","import React, { JSX } from \"react\";\nimport clsx from \"clsx\";\nimport {\n DetailedHTMLProps,\n forwardRef,\n HTMLInputTypeAttribute,\n InputHTMLAttributes,\n} from \"react\";\nimport {\n FieldError,\n FieldErrorsImpl,\n Merge,\n UseFormRegisterReturn,\n} from \"react-hook-form\";\n\ntype InputFieldProps = DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n> & {\n label?: string;\n type?: HTMLInputTypeAttribute;\n registration?: UseFormRegisterReturn;\n onClick?: () => void;\n error?: Merge<FieldError, FieldErrorsImpl<any>>;\n onBlur?: (value: Event) => void;\n inputProps?: any;\n icon?: JSX.Element;\n clearField?: boolean;\n name?: string;\n onClear?: () => void;\n hideInput?: boolean;\n};\n\nexport const Input = ({\n label,\n type,\n registration,\n onClick,\n error,\n onBlur,\n inputProps,\n icon,\n clearField,\n name,\n required,\n disabled,\n value,\n placeholder,\n defaultValue,\n onKeyUp,\n onKeyDown,\n onClear,\n hideInput,\n onChange,\n ref,\n}: InputFieldProps) => {\n const fieldValidationMessages = [error?.message];\n\n const hasError = fieldValidationMessages.some((item) => item !== undefined);\n\n const styles = {\n input: `text-p-md pl-2 peer shadow-input border rounded-lg outline-none block pb-[10px] h-[46px] w-full disabled:bg-neutral-100 focus-visible:border-1 focus-visible:border-blue-500 ${\n label ? \"pt-[22px]\" : \"pt-[10px]\"\n }\n ${!hasError ? \"border-neutral-300\" : \"\"}`,\n icon: `absolute bg-neutral-100 h-[44px] top-[1px] left-[1.5px] w-[38px] rounded-l-lg text-[20px] ${\n hasError ? \"text-dangerous-500\" : \"text-label peer-focus:text-blue-500\"\n } peer-focus:border-blue-500`,\n rightIcon: \"absolute h-[44px] top-[1px] right-[1.5px] w-[38px] text-[22px]\",\n label:\n \"absolute text-label top-[0.80rem] z-10 origin-[0] transform -translate-y-3 scale-75 duration-300 text-sm peer-focus:text-blue-500 peer-focus:scale-75 peer-focus:-translate-y-3 peer-placeholder-shown:scale-100 peer-placeholder-shown:translate-y-0\",\n clear:\n \"absolute top-[8px] right-[8px] cursor-pointer text-label text-[22px]\",\n error: \"border-dangerous-500 text-dangerous-500\",\n };\n\n const inlineStyles = {\n inputWithIcon: { paddingLeft: '48px' },\n labelWithIcon: { left: '3rem' },\n };\n\n const input = name ? document?.getElementById(name) : null;\n return (\n <div className=\"relative\">\n <div className=\"relative outline-none\">\n <input\n id={name}\n type={type}\n name={name}\n value={value}\n defaultValue={defaultValue}\n style={((!label && placeholder && icon) || icon) ? inlineStyles.inputWithIcon : undefined}\n className={clsx({\n [styles.error]: hasError,\n [styles.input]: true,\n [\"pr-10\"]: clearField,\n [\"pr-2\"]: !clearField,\n })}\n placeholder={!label && placeholder ? placeholder : \" \"}\n onChange={onChange}\n onBlur={onBlur}\n onClick={onClick}\n disabled={disabled}\n ref={ref}\n {...inputProps}\n {...registration}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n />\n {icon && (\n <div\n className={clsx(styles.icon, \"flex justify-center items-center\")}\n >\n {icon}\n </div>\n )}\n {hideInput && (\n <div\n className={clsx(\n styles.rightIcon,\n \"flex justify-center items-center\"\n )}\n >\n <i className=\"uil uil-eye text-label cursor-pointer text-[20px]\"></i>\n </div>\n )}\n <label\n style={icon ? inlineStyles.labelWithIcon : undefined}\n className={clsx(\n {\n [styles.label]: true,\n [\"left-2.5\"]: !icon,\n },\n \"cursor-text whitespace-nowrap text-ellipsis overflow-hidden pointer-events-none\"\n )}\n htmlFor={name}\n >\n {label}\n {required && label && (\n <strong className=\"text-dangerous-500\"> *</strong>\n )}\n </label>\n {clearField && value && value !== \"\" && !disabled && (\n <i\n className={clsx(\n {\n [styles.clear]: true,\n },\n \"uil uil-times clear-icon\"\n )}\n onClick={() => {\n if (input) {\n input?.focus();\n }\n if (onClear) {\n onClear();\n }\n }}\n ></i>\n )}\n </div>\n {fieldValidationMessages.map((message: any, index) => (\n <div\n key={index}\n className=\"text-dangerous-500 text-p-xs mt-1 ml-[2px]\"\n role=\"alert\"\n aria-label={message}\n >\n {message}\n </div>\n ))}\n </div>\n );\n};\n\n","import React from \"react\";\n// Exemplo: Se você tiver uma imagem PNG ou JPG\n// import logo from \"../assets/logo.png\";\n\n// Para SVG estático (não como componente)\nimport exampleLogo from \"../assets/example-logo.svg\";\n\nexport const Logo: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <img \n src={exampleLogo} \n alt=\"Logo\" \n className={className}\n width={100}\n height={100}\n />\n );\n};\n","import React from \"react\";\n\nexport const RocketIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n width=\"800px\"\n height=\"800px\"\n viewBox=\"0 0 1024 1024\"\n className=\"icon\"\n version=\"1.1\"\n style={props.style}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M512 301.2m-10 0a10 10 0 1 0 20 0 10 10 0 1 0-20 0Z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M400.3 744.5c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z m0 0c2.1-0.7 4.1-1.4 6.2-2-2 0.6-4.1 1.3-6.2 2z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M511.8 256.6c24.4 0 44.2 19.8 44.2 44.2S536.2 345 511.8 345s-44.2-19.8-44.2-44.2 19.9-44.2 44.2-44.2m0-20c-35.5 0-64.2 28.7-64.2 64.2s28.7 64.2 64.2 64.2 64.2-28.7 64.2-64.2-28.7-64.2-64.2-64.2z\"\n fill=\"#E73B37\"\n />\n <path\n d=\"M730.7 529.5c0.4-8.7 0.6-17.4 0.6-26.2 0-179.6-86.1-339.1-219.3-439.5-133.1 100.4-219.2 259.9-219.2 439.5 0 8.8 0.2 17.5 0.6 26.1-56 56-90.6 133.3-90.6 218.7 0 61.7 18 119.1 49.1 167.3 30.3-49.8 74.7-90.1 127.7-115.3 39-18.6 82.7-29 128.8-29 48.3 0 93.9 11.4 134.3 31.7 52.5 26.3 96.3 67.7 125.6 118.4 33.4-49.4 52.9-108.9 52.9-173.1 0-85.4-34.6-162.6-90.5-218.6zM351.1 383.4c9.2-37.9 22.9-74.7 40.6-109.5a502.1 502.1 0 0 1 63.6-95.9c17.4-20.6 36.4-39.9 56.8-57.5 20.4 17.6 39.4 36.9 56.8 57.5 24.8 29.5 46.2 61.8 63.6 95.9 17.7 34.8 31.4 71.6 40.6 109.5 8.7 35.8 13.5 72.7 14.2 109.9C637.4 459 577 438.9 512 438.9c-65 0-125.3 20.1-175.1 54.4 0.7-37.2 5.5-74.1 14.2-109.9z m-90.6 449.2c-9.1-27-13.7-55.5-13.7-84.4 0-35.8 7-70.6 20.8-103.2 8.4-19.8 19-38.4 31.9-55.5 9.7 61.5 29.5 119.7 57.8 172.6-36.4 17.8-69 41.6-96.8 70.5z m364.2-85.3c-0.7-0.3-1.5-0.5-2.2-0.8-0.4-0.2-0.9-0.3-1.3-0.5-0.6-0.2-1.3-0.5-1.9-0.7-0.8-0.3-1.5-0.5-2.3-0.8-0.8-0.3-1.5-0.5-2.3-0.7l-0.9-0.3c-1-0.3-2.1-0.7-3.1-1-1.2-0.4-2.4-0.7-3.5-1.1l-3-0.9c-0.2-0.1-0.4-0.1-0.7-0.2-1.1-0.3-2.3-0.7-3.4-1-1.2-0.3-2.4-0.6-3.5-0.9l-3.6-0.9-3.6-0.9c-1-0.3-2.1-0.5-3.1-0.7-1.2-0.3-2.4-0.5-3.6-0.8-1.3-0.3-2.5-0.6-3.8-0.8h-0.3c-0.9-0.2-1.9-0.4-2.8-0.6-0.4-0.1-0.7-0.1-1.1-0.2-1.1-0.2-2.2-0.4-3.4-0.6-1.2-0.2-2.4-0.4-3.6-0.7l-5.4-0.9c-0.9-0.1-1.9-0.3-2.8-0.4-0.8-0.1-1.6-0.3-2.5-0.4-2.6-0.4-5.1-0.7-7.7-1-1.2-0.1-2.3-0.3-3.5-0.4h-0.4c-0.9-0.1-1.8-0.2-2.8-0.3-1.1-0.1-2.1-0.2-3.2-0.3-1.7-0.2-3.4-0.3-5.1-0.4-0.8-0.1-1.5-0.1-2.3-0.2-0.9-0.1-1.9-0.1-2.8-0.2-0.4 0-0.8 0-1.2-0.1-1.1-0.1-2.1-0.1-3.2-0.2-0.5 0-1-0.1-1.5-0.1-1.3-0.1-2.6-0.1-3.9-0.1-0.8 0-1.5-0.1-2.3-0.1-1.2 0-2.4 0-3.5-0.1h-13.9c-2.3 0-4.6 0.1-6.9 0.2-0.9 0-1.9 0.1-2.8 0.1-0.8 0-1.5 0.1-2.3 0.1-1.4 0.1-2.8 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.3-1.4 0.1-2.7 0.2-4.1 0.4-0.6 0-1.2 0.1-1.8 0.2l-7.8 0.9c-1.1 0.1-2.1 0.3-3.2 0.4-1 0.1-2.1 0.3-3.1 0.4-3.2 0.5-6.4 0.9-9.5 1.5-0.7 0.1-1.4 0.2-2.1 0.4-0.9 0.1-1.7 0.3-2.6 0.5-1.1 0.2-2.3 0.4-3.4 0.6-0.9 0.2-1.7 0.3-2.6 0.5-0.4 0.1-0.8 0.1-1.1 0.2-0.7 0.1-1.4 0.3-2.1 0.4-1.2 0.3-2.4 0.5-3.6 0.8-1.2 0.3-2.4 0.5-3.6 0.8-0.2 0-0.4 0.1-0.6 0.1-0.5 0.1-1 0.2-1.5 0.4-1.1 0.3-2.3 0.6-3.5 0.9-1.3 0.3-2.5 0.6-3.8 1-0.4 0.1-0.9 0.2-1.4 0.4-1.3 0.4-2.7 0.7-4 1.1-1.5 0.4-3 0.9-4.6 1.3-1 0.3-2.1 0.6-3.1 1-2.1 0.6-4.1 1.3-6.2 2-0.7 0.2-1.4 0.5-2.1 0.7-15-27.5-27.4-56.4-37-86.2-11.7-36.1-19.2-73.6-22.5-111.6-0.6-6.7-1-13.3-1.3-20-0.1-1.2-0.1-2.4-0.1-3.6-0.1-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.6 0-1.2-0.1-2.4-0.1-3.7 18.8-14 39.2-25.8 61-35 36.1-15.3 74.5-23 114.1-23 39.6 0 78 7.8 114.1 23 21.8 9.2 42.2 20.9 61 35v0.1c0 1 0 1.9-0.1 2.9 0 1.4-0.1 2.8-0.1 4.3 0 0.7 0 1.3-0.1 2-0.1 1.8-0.1 3.5-0.2 5.3-0.3 6.7-0.8 13.3-1.3 20-3.3 38.5-11 76.5-23 113-9.7 30.3-22.3 59.4-37.6 87.1z m136.8 90.9a342.27 342.27 0 0 0-96.3-73.2c29.1-53.7 49.5-112.8 59.4-175.5 12.8 17.1 23.4 35.6 31.8 55.5 13.8 32.7 20.8 67.4 20.8 103.2 0 31-5.3 61.3-15.7 90z\"\n fill=\"#39393A\"\n />\n <path\n d=\"M512 819.3c8.7 0 24.7 22.9 24.7 60.4s-16 60.4-24.7 60.4-24.7-22.9-24.7-60.4 16-60.4 24.7-60.4m0-20c-24.7 0-44.7 36-44.7 80.4 0 44.4 20 80.4 44.7 80.4s44.7-36 44.7-80.4c0-44.4-20-80.4-44.7-80.4z\"\n fill=\"#E73B37\"\n />\n </svg>\n);\n","import { 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\"> *</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\"> *</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\"> *</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\"> *</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 \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":["index_exports","__export","Badge","Button","Calendar","Checkbox","DataTable","DataTablePagination","DatePickerInput","FilterCalendar","FilterOptions","Input","InputMoney","InputNumber","InputPercentage","Logo","MaskedInput","ModalDialog","PaginationSelect","Popover","Radio","RocketIcon","SelectField","SpinnerIcon","Table","TableBody","TableCaption","TableCell","TableFooter","TableHead","TableHeader","TableRow","Toggle","ValueContainer","__toCommonJS","import_jsx_runtime","SpinnerIcon","props","import_jsx_runtime","sizes","variants","paddingConfig","Button","variant","size","props","applyGap","appliedVariant","appliedSize","appliedPadding","gapText","SpinnerIcon","import_clsx","import_jsx_runtime","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","clsx","message","index","import_jsx_runtime","Logo","className","example_logo_default","import_jsx_runtime","RocketIcon","props","import_datetime2","import_react","import_react_hook_form","import_zustand","useFieldErrorsStore","set","validationErrors","state","fieldErrorsByPath","position","path","code","message","fieldPathWithPosition","import_clsx","import_date_fns","import_jsx_runtime","DatePickerInput","icon","label","registration","error","inputProps","clearField","control","name","required","defaultValue","onChangeFunction","maxDate","minDate","disabled","small","onClear","popoverOffset","ref","_a","invalidDate","setInvalidDate","showCalendar","setShowCalendar","inputWidth","setInputWidth","inputContainerRef","dateFnsFormat","updateWidth","finalOffset","fieldValidationMessages","useFieldErrorsStore","state","styles","item","input","field","node","clsx","e","isUserChange","value","message","index","import_clsx","import_jsx_runtime","variants","Badge","variant","children","className","style","clsx","import_datetime2","import_react_hook_form","import_date_fns","import_jsx_runtime","Calendar","registration","error","control","name","rangeCalendar","shortcutsChange","selectedShortcut","setSelectedShortcut","maxDate","singleMonth","fieldValidationMessages","shorcuts","onChange","value","e","date","index","item","message","import_clsx","import_jsx_runtime","Checkbox","key","label","registration","disabled","clsx","import_react","import_react_hook_form","import_clsx","import_date_fns","import_datetime2","import_jsx_runtime","FilterCalendar","icon","label","onApply","onClear","control","name","rangeCalendar","defaultShortcut","shortcutsChange","singleMonth","maxDate","style","currentValue","setCurrentValue","calendarLabel","setCalendarLabel","isMobileSize","shorcuts","selectedShortcut","setSelectedShortcut","calendar","e","date","index","item","field","_a","hasValue","clsx","open","_b","close","onClose","Button","import_react","import_react_hook_form","import_clsx","import_react","import_clsx","import_jsx_runtime","InputSmall","type","registration","onClick","onBlur","onChange","inputProps","icon","clearField","disabled","placeholder","className","onKeyDown","value","searchOnClick","onClear","collapsed","inputRef","styles","elem","clsx","e","import_jsx_runtime","FilterOptions","icon","label","isMulti","options","onApply","onClear","onSelectAll","control","name","fetch","subFilters","emptyMessage","initialMessage","applyOnClick","showFilter","style","currentValue","setCurrentValue","data","setData","filter","setFilter","subFilter","setSubFilter","loading","setLoading","search","order","opt","_a","a","b","timeout","optionStyle","option","isSelected","clsx","isMobileSize","field","_b","hasValue","open","close","onClose","InputSmall","e","item","index","active","Button","import_react","import_react_hook_form","import_clsx","IntlCurrencyInputModule","import_jsx_runtime","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","clsx","message","index","import_react","import_react_hook_form","import_clsx","import_debounce","import_jsx_runtime","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","_debounce","onChange","update","changeValue","val","clsx","e","evt","message","index","import_react","import_react_hook_form","import_clsx","IntlCurrencyInputModule","import_jsx_runtime","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","clsx","message","index","import_react","import_react_hook_form","import_react_input_mask","import_jsx_runtime","MaskedInput","type","name","label","placeholder","error","mask","control","required","onKeyUp","maskChar","alwaysShowMask","defaultValue","disabled","ref","field","beforeMaskedValueChange","states","nextState","previousState","value","selection","cursorPosition","chars","words","InputMask","inputProps","Input","import_clsx","import_react","ReactModalNamespace","import_jsx_runtime","Modal","ReactModalNamespace","alertTypes","sizes","ModalDialog","open","onOpen","onClose","onCancel","triggerButton","confirmButton","title","cancelButton","icon","alertType","size","info","description","children","customStyles","trigger","clsx","Button","import_react_tooltip","import_jsx_runtime","Popover","id","displayArrow","openOnClick","import_react","import_react_hook_form","import_react_select","import_async","customStyles","provided","props","_a","state","base","color","import_react","import_clsx","import_jsx_runtime","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","selectRef","inputValue","setInputValue","loading","setLoading","options","setOptions","availableHeight","setAvailableHeight","isFocused","setIsFocused","updateAvailableHeight","_b","rect","margin","loadOptions","result","fieldValidationMessages","useFieldErrorsStore","state","hasError","item","smallField","hasLabel","menuHeight","hasIcon","field","CustomSingleValue","props","IconOption","clsx","LoadingMessage","NoOptionsMessage","DropdownIndicatorCustom","ClearIndicatorCustom","value","handleKeyDown","event","fetchedOptions","AsyncSelect","customStyles","ValueContainer","message","index","children","import_react_hook_form","import_jsx_runtime","Radio","disabled","control","name","label","defaultChecked","field","e","import_react","import_react_hook_form","import_jsx_runtime","Group","Label","classNames","classes","Toggle","name","label","subLabel","control","disabled","field","value","checked","import_react","import_clsx","import_jsx_runtime","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","clsx","e","val","import_react_table","import_react","import_clsx","React","import_jsx_runtime","Table","className","props","ref","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption","import_react","import_jsx_runtime","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","import_clsx","import_match_sorter_utils","import_jsx_runtime","fuzzyFilter","row","columnId","value","addMeta","itemRank","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","columnVisibility","setColumnVisibility","columnFilters","setColumnFilters","sorting","setSorting","arrRowSelected","setArrRowSelected","globalFilter","setGlobalFilter","dataTable","setDataTable","loading","setLoading","expanded","setExpanded","total","setTotal","pageIndex","pageSize","setPagination","paginationScroll","setPaginationScroll","pagination","fetch","response","manualPagination","resolve","reject","shortArrays","i","len","resizeObserver","pages","table","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","TableBody","rowIndex","React","cell","TableCell"]}
|