{"version":3,"file":"index.mjs","sources":["../../../../../hooks/use-progress/index.ts"],"sourcesContent":["import type { CSSProperties, ComputedRef } from 'vue'\nimport { computed } from 'vue'\nimport { isNumber } from '@vueuse/core'\nimport type { ProgressProps } from '../../components/progress/src/progress'\nimport { addUnit } from '../../utils/dom/style'\n\n/** class 类名集合类型 */\nexport type ClassList = (string | Record<string, unknown>)[]\n\n/**\n * UseProgressReturn 返回值类型接口\n *\n * @param { Object } classList 类名列表\n * @param { Object } styleList 样式列表\n */\nexport interface UseProgressReturn {\n  styleList: ComputedRef<CSSProperties>\n  styleListCircle: ComputedRef<CSSProperties>\n}\n\n/**\n * 返回Progress组件的类名列表\n * @param prop\n * @returns\n */\nexport const UseProgress = (prop: ProgressProps): UseProgressReturn => {\n  /** 样式列表 */\n  const styleList = computed((): CSSProperties => {\n    const style: CSSProperties = {}\n    if (prop.percentage && isNumber(prop.percentage) && prop.percentage > 0) {\n      style['--progress-bar-width'] = `${prop.percentage}%`\n      style.height = '0.5rem'\n    }\n\n    style.height = addUnit(prop.height)\n\n    style['--progress-bar-inner-bg'] = prop.barColor\n\n    style['--progress-bar-out-bg'] = prop.background\n\n    style['--bar-duration'] = prop.duration ? `${prop.duration}s` : '2s'\n\n    style['--progress-bar-bg'] = prop.color\n\n    style['--current-progress'] = `${(Number(prop.percentage) / 100) * 360}deg`\n\n    return style\n  })\n\n  /** 样式列表 */\n  const styleListCircle = computed((): CSSProperties => {\n    const style: CSSProperties = {\n      height: 'auto',\n    }\n    style['--current-progress'] = `${(Number(prop.percentage) / 100) * 360}deg`\n    return style\n  })\n\n  return {\n    styleList,\n    styleListCircle,\n  }\n}\n"],"names":[],"mappings":";;;;;AAyBa,MAAA,WAAA,GAAc,CAAC,IAA2C,KAAA;AAErE,EAAM,MAAA,SAAA,GAAY,SAAS,MAAqB;AAC9C,IAAA,MAAM,QAAuB,EAAC,CAAA;AAC9B,IAAI,IAAA,IAAA,CAAK,cAAc,QAAS,CAAA,IAAA,CAAK,UAAU,CAAK,IAAA,IAAA,CAAK,aAAa,CAAG,EAAA;AACvE,MAAA,KAAA,CAAM,sBAAsB,CAAA,GAAI,CAAG,EAAA,IAAA,CAAK,UAAU,CAAA,CAAA,CAAA,CAAA;AAClD,MAAA,KAAA,CAAM,MAAS,GAAA,QAAA,CAAA;AAAA,KACjB;AAEA,IAAM,KAAA,CAAA,MAAA,GAAS,OAAQ,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAElC,IAAM,KAAA,CAAA,yBAAyB,IAAI,IAAK,CAAA,QAAA,CAAA;AAExC,IAAM,KAAA,CAAA,uBAAuB,IAAI,IAAK,CAAA,UAAA,CAAA;AAEtC,IAAA,KAAA,CAAM,gBAAgB,CAAI,GAAA,IAAA,CAAK,WAAW,CAAG,EAAA,IAAA,CAAK,QAAQ,CAAM,CAAA,CAAA,GAAA,IAAA,CAAA;AAEhE,IAAM,KAAA,CAAA,mBAAmB,IAAI,IAAK,CAAA,KAAA,CAAA;AAElC,IAAM,KAAA,CAAA,oBAAoB,IAAI,CAAI,EAAA,MAAA,CAAO,KAAK,UAAU,CAAA,GAAI,MAAO,GAAG,CAAA,GAAA,CAAA,CAAA;AAEtE,IAAO,OAAA,KAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAGD,EAAM,MAAA,eAAA,GAAkB,SAAS,MAAqB;AACpD,IAAA,MAAM,KAAuB,GAAA;AAAA,MAC3B,MAAQ,EAAA,MAAA;AAAA,KACV,CAAA;AACA,IAAM,KAAA,CAAA,oBAAoB,IAAI,CAAI,EAAA,MAAA,CAAO,KAAK,UAAU,CAAA,GAAI,MAAO,GAAG,CAAA,GAAA,CAAA,CAAA;AACtE,IAAO,OAAA,KAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,eAAA;AAAA,GACF,CAAA;AACF;;;;"}