{"version":3,"file":"number-input.cjs","sources":["../../../src/components/number-input.tsx"],"sourcesContent":["import React, { forwardRef, useId } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { NumericFormat, type NumericFormatProps } from \"react-number-format\";\nimport {\n    type BaseInputProps,\n    inputStyles,\n    BaseInputWrapper,\n} from \"./commons/input\";\n\nexport { type NumberFormatValues } from \"react-number-format\";\n\nexport type NumberInputProps = Omit<\n    NumericFormatProps & BaseInputProps<string>,\n    \"size\" | \"id\" | \"className\"\n> & { id?: string; className: BaseInputProps<string>[\"className\"] };\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n    function NumberInput(\n        {\n            id,\n            variant,\n            value,\n            label,\n            placeholder,\n            border,\n            info,\n            errorText,\n            icon,\n            iconPlacement,\n            action,\n            actionPlacement,\n            error = false,\n            className,\n            loading,\n            disabled,\n            ...rest\n        },\n        ref,\n    ): ReactElement {\n        const generatedId = useId();\n\n        const resolvedId = id || generatedId;\n\n        return (\n            <BaseInputWrapper\n                id={resolvedId}\n                label={label}\n                error={error}\n                errorText={errorText}\n                info={info}\n                icon={icon}\n                iconPlacement={iconPlacement}\n                action={action}\n                actionPlacement={actionPlacement}\n                className={className}\n            >\n                <NumericFormat\n                    type=\"text\"\n                    defaultValue=\"\"\n                    thousandSeparator=\",\"\n                    decimalSeparator=\".\"\n                    value={value}\n                    disabled={disabled || loading}\n                    placeholder={placeholder}\n                    getInputRef={ref}\n                    id={resolvedId}\n                    {...rest}\n                    className={inputStyles({\n                        error,\n                        variant,\n                        border,\n                        loading,\n                        hasLeftIcon: !!icon && iconPlacement === \"left\",\n                        className: className?.input,\n                    })}\n                />\n            </BaseInputWrapper>\n        );\n    },\n);\n"],"names":["forwardRef","NumberInput","useId","BaseInputWrapper","NumericFormat","inputStyles"],"mappings":";;;;;;AAgBO,MAAM,WAAc,GAAAA,gBAAA;AAAA,EACvB,SAASC,YACL,CAAA;AAAA,IACI,EAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA;AAAA,IACA,KAAQ,GAAA,KAAA;AAAA,IACR,SAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,IAAA;AAAA,KAEP,GACY,EAAA;AACZ,IAAA,MAAM,cAAcC,WAAM,EAAA,CAAA;AAE1B,IAAA,MAAM,aAAa,EAAM,IAAA,WAAA,CAAA;AAEzB,IACI,uBAAA,KAAA,CAAA,aAAA;AAAA,MAACC,sBAAA;AAAA,MAAA;AAAA,QACG,EAAI,EAAA,UAAA;AAAA,QACJ,KAAA;AAAA,QACA,KAAA;AAAA,QACA,SAAA;AAAA,QACA,IAAA;AAAA,QACA,IAAA;AAAA,QACA,aAAA;AAAA,QACA,MAAA;AAAA,QACA,eAAA;AAAA,QACA,SAAA;AAAA,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACC,kCAAA;AAAA,QAAA;AAAA,UACG,IAAK,EAAA,MAAA;AAAA,UACL,YAAa,EAAA,EAAA;AAAA,UACb,iBAAkB,EAAA,GAAA;AAAA,UAClB,gBAAiB,EAAA,GAAA;AAAA,UACjB,KAAA;AAAA,UACA,UAAU,QAAY,IAAA,OAAA;AAAA,UACtB,WAAA;AAAA,UACA,WAAa,EAAA,GAAA;AAAA,UACb,EAAI,EAAA,UAAA;AAAA,UACH,GAAG,IAAA;AAAA,UACJ,WAAWC,iBAAY,CAAA;AAAA,YACnB,KAAA;AAAA,YACA,OAAA;AAAA,YACA,MAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAa,EAAA,CAAC,CAAC,IAAA,IAAQ,aAAkB,KAAA,MAAA;AAAA,YACzC,WAAW,SAAW,EAAA,KAAA;AAAA,WACzB,CAAA;AAAA,SAAA;AAAA,OACL;AAAA,KACJ,CAAA;AAAA,GAER;AACJ;;;;"}