{"version":3,"sources":["../../src/metergroup/useMeterGroup.ts","../../src/metergroup/useMeterGroup.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport * as React from 'react';\nimport { defaultProps } from './useMeterGroup.props';\n\nexport const useMeterGroup = withHeadless({\n    name: 'useMeterGroup',\n    defaultProps,\n    setup({ props }) {\n        const [totalPercentState, setTotalPercentState] = React.useState(0);\n\n        const state = {\n            totalPercent: totalPercentState\n        };\n\n        // methods\n        const percent = React.useCallback((meterValue: number = 0) => {\n            const min = props.min ?? 0;\n            const max = props.max ?? 100;\n\n            return Math.round(Math.max(0, Math.min(100, ((meterValue - min) / (max - min)) * 100)));\n        }, []);\n\n        const percentAsString = React.useCallback((meterValue: number = 0) => {\n            return percent(meterValue) + '%';\n        }, []);\n\n        const updateTotalPercent = React.useCallback((percent: number = 0) => {\n            setTotalPercentState((prev) => prev + percent);\n        }, []);\n\n        const resetTotalPercent = React.useCallback(() => {\n            setTotalPercentState(0);\n        }, []);\n\n        return {\n            state,\n            // methods\n            percent,\n            percentAsString,\n            updateTotalPercent,\n            resetTotalPercent\n        };\n    }\n});\n","import type { useMeterGroupProps } from '@primereact/types/shared/metergroup';\n\nexport const defaultProps: useMeterGroupProps = {\n    min: 0,\n    max: 100\n};\n"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,4BAC7B,UAAYC,MAAW,QCChB,IAAMC,EAAmC,CAC5C,IAAK,EACL,IAAK,GACT,EDDO,IAAMC,EAAgBC,EAAa,CACtC,KAAM,gBACN,aAAAC,EACA,MAAM,CAAE,MAAAC,CAAM,EAAG,CACb,GAAM,CAACC,EAAmBC,CAAoB,EAAU,WAAS,CAAC,EAE5DC,EAAQ,CACV,aAAcF,CAClB,EAGMG,EAAgB,cAAY,CAACC,EAAqB,IAAM,CAftE,IAAAC,EAAAC,EAgBY,IAAMC,GAAMF,EAAAN,EAAM,MAAN,KAAAM,EAAa,EACnBG,GAAMF,EAAAP,EAAM,MAAN,KAAAO,EAAa,IAEzB,OAAO,KAAK,MAAM,KAAK,IAAI,EAAG,KAAK,IAAI,KAAOF,EAAaG,IAAQC,EAAMD,GAAQ,GAAG,CAAC,CAAC,CAC1F,EAAG,CAAC,CAAC,EAECE,EAAwB,cAAY,CAACL,EAAqB,IACrDD,EAAQC,CAAU,EAAI,IAC9B,CAAC,CAAC,EAECM,EAA2B,cAAY,CAACP,EAAkB,IAAM,CAClEF,EAAsBU,GAASA,EAAOR,CAAO,CACjD,EAAG,CAAC,CAAC,EAECS,EAA0B,cAAY,IAAM,CAC9CX,EAAqB,CAAC,CAC1B,EAAG,CAAC,CAAC,EAEL,MAAO,CACH,MAAAC,EAEA,QAAAC,EACA,gBAAAM,EACA,mBAAAC,EACA,kBAAAE,CACJ,CACJ,CACJ,CAAC","names":["withHeadless","React","defaultProps","useMeterGroup","withHeadless","defaultProps","props","totalPercentState","setTotalPercentState","state","percent","meterValue","_a","_b","min","max","percentAsString","updateTotalPercent","prev","resetTotalPercent"]}