{"version":3,"sources":["../src/components/ProgressBar/useProgressBar.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useProgressBarBase_unstable } from '@fluentui/react-progress';\n\nimport type { ProgressBarProps, ProgressBarState } from './ProgressBar.types';\nimport { stringifyDataAttribute } from '../../utils';\n\n/**\n * Create the state required to render ProgressBar.\n *\n * The returned state can be modified with hooks,\n * before being passed to renderProgressBar_unstable.\n *\n * @param props - props from this instance of ProgressBar\n * @param ref - reference to root HTMLDivElement of ProgressBar\n */\nexport const useProgressBar = (props: ProgressBarProps, ref: React.Ref<HTMLDivElement>): ProgressBarState => {\n  const state: ProgressBarState = useProgressBarBase_unstable(props, ref);\n\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-indeterminate'] = stringifyDataAttribute(state.value === undefined);\n\n  if (state.bar && state.value !== undefined) {\n    // eslint-disable-next-line react-hooks/immutability\n    state.bar.style = {\n      width: Math.min(100, Math.max(0, (state.value / state.max) * 100)) + '%',\n      ...state.bar.style,\n    };\n  }\n\n  return state;\n};\n"],"names":["useProgressBar","props","ref","state","useProgressBarBase_unstable","root","stringifyDataAttribute","value","undefined","bar","style","width","Math","min","max"],"mappings":"AAAA;;;;;+BAiBaA;;;eAAAA;;;+BAd+B;uBAGL;AAWhC,MAAMA,iBAAiB,CAACC,OAAyBC;IACtD,MAAMC,QAA0BC,IAAAA,0CAA2B,EAACH,OAAOC;IAEnE,oDAAoD;IACpDC,MAAME,IAAI,CAAC,qBAAqB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,KAAK,KAAKC;IAE1E,IAAIL,MAAMM,GAAG,IAAIN,MAAMI,KAAK,KAAKC,WAAW;QAC1C,oDAAoD;QACpDL,MAAMM,GAAG,CAACC,KAAK,GAAG;YAChBC,OAAOC,KAAKC,GAAG,CAAC,KAAKD,KAAKE,GAAG,CAAC,GAAG,AAACX,MAAMI,KAAK,GAAGJ,MAAMW,GAAG,GAAI,QAAQ;YACrE,GAAGX,MAAMM,GAAG,CAACC,KAAK;QACpB;IACF;IAEA,OAAOP;AACT"}