{"version":3,"sources":["../../src/progressbar/useProgressBar.ts","../../src/progressbar/useProgressBar.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useProgressBar.props';\n\nexport const useProgressBar = withHeadless({\n    name: 'useProgressBar',\n    defaultProps,\n    setup({ props }) {\n        // methods\n        const handleProgressValue = (value: number | undefined): number => {\n            const minValue = props.min ?? 0;\n            const maxValue = props.max ?? 100;\n\n            if (minValue >= maxValue) {\n                // eslint-disable-next-line no-console\n                console.error('[ProgressBar] min must be less than max.');\n\n                return 0;\n            }\n\n            const clampedValue = Math.min(Math.max(value ?? minValue, minValue), maxValue);\n            const newValue = ((clampedValue - minValue) / (maxValue - minValue)) * 100;\n            const boundedValue = Math.min(Math.max(newValue, 0), 100);\n\n            return boundedValue;\n        };\n\n        const computedValue = React.useMemo(() => {\n            return handleProgressValue(props.value);\n        }, [props.value, props.min, props.max]);\n\n        const formattedValue = React.useMemo(() => {\n            return props.formatter?.(computedValue);\n        }, [computedValue, props.formatter]);\n\n        const state = {\n            computedValue,\n            formattedValue\n        };\n\n        return {\n            state\n        };\n    }\n});\n","import type { useProgressBarProps } from '@primereact/types/shared/progressbar';\n\nexport const defaultProps: useProgressBarProps = {\n    value: undefined,\n    max: 100,\n    min: 0,\n    formatter: (value: number) =>\n        new Intl.NumberFormat(undefined, {\n            minimumFractionDigits: 0,\n            maximumFractionDigits: 2\n        }).format(value) + '%'\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAoC,CAC7C,MAAO,OACP,IAAK,IACL,IAAK,EACL,UAAYC,GACR,IAAI,KAAK,aAAa,OAAW,CAC7B,sBAAuB,EACvB,sBAAuB,CAC3B,CAAC,EAAE,OAAOA,CAAK,EAAI,GAC3B,EDPO,IAAMC,EAAiBC,EAAa,CACvC,KAAM,iBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CAEb,IAAMC,EAAuBC,GAAsC,CAT3E,IAAAC,EAAAC,EAUY,IAAMC,GAAWF,EAAAH,EAAM,MAAN,KAAAG,EAAa,EACxBG,GAAWF,EAAAJ,EAAM,MAAN,KAAAI,EAAa,IAE9B,GAAIC,GAAYC,EAEZ,eAAQ,MAAM,0CAA0C,EAEjD,EAIX,IAAMC,GADe,KAAK,IAAI,KAAK,IAAIL,GAAA,KAAAA,EAASG,EAAUA,CAAQ,EAAGC,CAAQ,EAC3CD,IAAaC,EAAWD,GAAa,IAGvE,OAFqB,KAAK,IAAI,KAAK,IAAIE,EAAU,CAAC,EAAG,GAAG,CAG5D,EAEMC,EAAsB,UAAQ,IACzBP,EAAoBD,EAAM,KAAK,EACvC,CAACA,EAAM,MAAOA,EAAM,IAAKA,EAAM,GAAG,CAAC,EAEhCS,EAAuB,UAAQ,IAAM,CA/BnD,IAAAN,EAgCY,OAAOA,EAAAH,EAAM,YAAN,YAAAG,EAAA,KAAAH,EAAkBQ,EAC7B,EAAG,CAACA,EAAeR,EAAM,SAAS,CAAC,EAOnC,MAAO,CACH,MANU,CACV,cAAAQ,EACA,eAAAC,CACJ,CAIA,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","value","useProgressBar","withHeadless","defaultProps","props","handleProgressValue","value","_a","_b","minValue","maxValue","newValue","computedValue","formattedValue"]}