{"version":3,"file":"BProgress-Bdf5AncM.mjs","names":[],"sources":["../src/components/BProgress/BProgressBar.vue","../src/components/BProgress/BProgressBar.vue","../src/components/BProgress/BProgress.vue","../src/components/BProgress/BProgress.vue"],"sourcesContent":["<template>\n  <div class=\"progress-bar\" :class=\"computedClasses\" :style=\"{width: computedWidth}\">\n    <slot>\n      {{ computedLabel }}\n    </slot>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BProgressBarProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, inject} from 'vue'\nimport {progressInjectionKey} from '../../utils/keys'\nimport {useToNumber} from '@vueuse/core'\nimport type {BProgressBarSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BProgressBarProps>(), {\n  animated: false,\n  bgVariant: null,\n  label: undefined,\n  max: undefined,\n  precision: 0,\n  showProgress: false,\n  showValue: false,\n  striped: false,\n  textVariant: null,\n  value: 0,\n  variant: null,\n})\nconst props = useDefaults(_props, 'BProgressBar')\ndefineSlots<BProgressBarSlots>()\n\nconst parentData = inject(progressInjectionKey, null)\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n  colorClasses.value,\n  {\n    'progress-bar-animated': props.animated || parentData?.animated.value,\n    'progress-bar-striped':\n      props.striped || parentData?.striped.value || props.animated || parentData?.animated.value,\n  },\n])\n\nconst numberPrecision = useToNumber(() => props.precision)\nconst numberValue = useToNumber(() => props.value)\nconst numberMax = useToNumber(() => props.max ?? Number.NaN)\nconst parentMaxNumber = useToNumber(() => parentData?.max.value ?? Number.NaN)\n\nconst computedLabel = computed(() =>\n  props.showValue || parentData?.showValue.value\n    ? numberValue.value.toFixed(numberPrecision.value)\n    : props.showProgress || parentData?.showProgress.value\n      ? ((numberValue.value * 100) / (numberMax.value || 100)).toFixed(numberPrecision.value)\n      : props.label !== undefined\n        ? props.label\n        : ''\n)\n\nconst computedWidth = computed(() =>\n  parentMaxNumber.value\n    ? `${(numberValue.value * 100) / parentMaxNumber.value}%`\n    : numberMax.value\n      ? `${(numberValue.value * 100) / numberMax.value}%`\n      : typeof props.value === 'string'\n        ? props.value\n        : `${props.value}%`\n)\n</script>\n","<template>\n  <div class=\"progress-bar\" :class=\"computedClasses\" :style=\"{width: computedWidth}\">\n    <slot>\n      {{ computedLabel }}\n    </slot>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BProgressBarProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, inject} from 'vue'\nimport {progressInjectionKey} from '../../utils/keys'\nimport {useToNumber} from '@vueuse/core'\nimport type {BProgressBarSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BProgressBarProps>(), {\n  animated: false,\n  bgVariant: null,\n  label: undefined,\n  max: undefined,\n  precision: 0,\n  showProgress: false,\n  showValue: false,\n  striped: false,\n  textVariant: null,\n  value: 0,\n  variant: null,\n})\nconst props = useDefaults(_props, 'BProgressBar')\ndefineSlots<BProgressBarSlots>()\n\nconst parentData = inject(progressInjectionKey, null)\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n  colorClasses.value,\n  {\n    'progress-bar-animated': props.animated || parentData?.animated.value,\n    'progress-bar-striped':\n      props.striped || parentData?.striped.value || props.animated || parentData?.animated.value,\n  },\n])\n\nconst numberPrecision = useToNumber(() => props.precision)\nconst numberValue = useToNumber(() => props.value)\nconst numberMax = useToNumber(() => props.max ?? Number.NaN)\nconst parentMaxNumber = useToNumber(() => parentData?.max.value ?? Number.NaN)\n\nconst computedLabel = computed(() =>\n  props.showValue || parentData?.showValue.value\n    ? numberValue.value.toFixed(numberPrecision.value)\n    : props.showProgress || parentData?.showProgress.value\n      ? ((numberValue.value * 100) / (numberMax.value || 100)).toFixed(numberPrecision.value)\n      : props.label !== undefined\n        ? props.label\n        : ''\n)\n\nconst computedWidth = computed(() =>\n  parentMaxNumber.value\n    ? `${(numberValue.value * 100) / parentMaxNumber.value}%`\n    : numberMax.value\n      ? `${(numberValue.value * 100) / numberMax.value}%`\n      : typeof props.value === 'string'\n        ? props.value\n        : `${props.value}%`\n)\n</script>\n","<template>\n  <div\n    class=\"progress\"\n    role=\"progressbar\"\n    :style=\"{height: props.height}\"\n    :aria-valuenow=\"props.value\"\n    aria-valuemin=\"0\"\n    :aria-valuemax=\"props.max\"\n  >\n    <slot>\n      <BProgressBar\n        :animated=\"props.animated\"\n        :max=\"props.max\"\n        :precision=\"props.precision\"\n        :show-progress=\"props.showProgress\"\n        :show-value=\"props.showValue\"\n        :striped=\"props.striped\"\n        :value=\"props.value\"\n        :variant=\"props.variant\"\n        :text-variant=\"props.textVariant\"\n        :bg-variant=\"props.bgVariant\"\n      />\n    </slot>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport BProgressBar from './BProgressBar.vue'\nimport type {BProgressProps} from '../../types/ComponentProps'\nimport {provide, toRef} from 'vue'\nimport {progressInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BProgressSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BProgressProps>(), {\n  height: undefined,\n  // BProgressBar props\n  animated: undefined,\n  bgVariant: undefined,\n  max: 100,\n  precision: undefined,\n  showProgress: undefined,\n  showValue: undefined,\n  striped: undefined,\n  textVariant: undefined,\n  value: undefined,\n  variant: undefined,\n  // End BProgressBar props\n})\nconst props = useDefaults(_props, 'BProgress')\ndefineSlots<BProgressSlots>()\n\nprovide(progressInjectionKey, {\n  animated: toRef(() => props.animated),\n  max: toRef(() => props.max),\n  showProgress: toRef(() => props.showProgress),\n  showValue: toRef(() => props.showValue),\n  striped: toRef(() => props.striped),\n})\n</script>\n","<template>\n  <div\n    class=\"progress\"\n    role=\"progressbar\"\n    :style=\"{height: props.height}\"\n    :aria-valuenow=\"props.value\"\n    aria-valuemin=\"0\"\n    :aria-valuemax=\"props.max\"\n  >\n    <slot>\n      <BProgressBar\n        :animated=\"props.animated\"\n        :max=\"props.max\"\n        :precision=\"props.precision\"\n        :show-progress=\"props.showProgress\"\n        :show-value=\"props.showValue\"\n        :striped=\"props.striped\"\n        :value=\"props.value\"\n        :variant=\"props.variant\"\n        :text-variant=\"props.textVariant\"\n        :bg-variant=\"props.bgVariant\"\n      />\n    </slot>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport BProgressBar from './BProgressBar.vue'\nimport type {BProgressProps} from '../../types/ComponentProps'\nimport {provide, toRef} from 'vue'\nimport {progressInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BProgressSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BProgressProps>(), {\n  height: undefined,\n  // BProgressBar props\n  animated: undefined,\n  bgVariant: undefined,\n  max: 100,\n  precision: undefined,\n  showProgress: undefined,\n  showValue: undefined,\n  striped: undefined,\n  textVariant: undefined,\n  value: undefined,\n  variant: undefined,\n  // End BProgressBar props\n})\nconst props = useDefaults(_props, 'BProgress')\ndefineSlots<BProgressSlots>()\n\nprovide(progressInjectionKey, {\n  animated: toRef(() => props.animated),\n  max: toRef(() => props.max),\n  showProgress: toRef(() => props.showProgress),\n  showValue: toRef(() => props.showValue),\n  striped: toRef(() => props.striped),\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BA,MAAM,QAAQ,YAbC,SAamB,eAAc;EAGhD,MAAM,aAAa,OAAO,sBAAsB,KAAI;EAEpD,MAAM,eAAe,uBAAuB,MAAK;EACjD,MAAM,kBAAkB,eAAe,CACrC,aAAa,OACb;GACE,yBAAyB,MAAM,YAAY,YAAY,SAAS;GAChE,wBACE,MAAM,WAAW,YAAY,QAAQ,SAAS,MAAM,YAAY,YAAY,SAAS;GACxF,CACF,CAAA;EAED,MAAM,kBAAkB,kBAAkB,MAAM,UAAS;EACzD,MAAM,cAAc,kBAAkB,MAAM,MAAK;EACjD,MAAM,YAAY,kBAAkB,MAAM,OAAO,IAAU;EAC3D,MAAM,kBAAkB,kBAAkB,YAAY,IAAI,SAAS,IAAU;EAE7E,MAAM,gBAAgB,eACpB,MAAM,aAAa,YAAY,UAAU,QACrC,YAAY,MAAM,QAAQ,gBAAgB,MAAK,GAC/C,MAAM,gBAAgB,YAAY,aAAa,SAC3C,YAAY,QAAQ,OAAQ,UAAU,SAAS,MAAM,QAAQ,gBAAgB,MAAK,GACpF,MAAM,UAAU,KAAA,IACd,MAAM,QACN,GACV;EAEA,MAAM,gBAAgB,eACpB,gBAAgB,QACZ,GAAI,YAAY,QAAQ,MAAO,gBAAgB,MAAM,KACrD,UAAU,QACR,GAAI,YAAY,QAAQ,MAAO,UAAU,MAAM,KAC/C,OAAO,MAAM,UAAU,WACrB,MAAM,QACN,GAAG,MAAM,MAAM,GACzB;;uBAnEE,mBAIM,OAAA;IAJD,OAAK,eAAA,CAAC,gBAAuB,gBAAA,MAAe,CAAA;IAAG,OAAK,eAAA,EAAA,OAAU,cAAA,OAAa,CAAA;OAC9E,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,cAAA,MAAa,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EE8CtB,MAAM,QAAQ,YAfC,SAemB,YAAW;AAG7C,UAAQ,sBAAsB;GAC5B,UAAU,YAAY,MAAM,SAAS;GACrC,KAAK,YAAY,MAAM,IAAI;GAC3B,cAAc,YAAY,MAAM,aAAa;GAC7C,WAAW,YAAY,MAAM,UAAU;GACvC,SAAS,YAAY,MAAM,QAAA;GAC5B,CAAA;;uBAzDC,mBAsBM,OAAA;IArBJ,OAAM;IACN,MAAK;IACJ,OAAK,eAAA,EAAA,QAAW,MAAA,MAAK,CAAC,QAAM,CAAA;IAC5B,iBAAe,MAAA,MAAK,CAAC;IACtB,iBAAc;IACb,iBAAe,MAAA,MAAK,CAAC;OAEtB,WAaO,KAAA,QAAA,WAAA,EAAA,QAAA,CAZL,YAWE,sBAAA;IAVC,UAAU,MAAA,MAAK,CAAC;IAChB,KAAK,MAAA,MAAK,CAAC;IACX,WAAW,MAAA,MAAK,CAAC;IACjB,iBAAe,MAAA,MAAK,CAAC;IACrB,cAAY,MAAA,MAAK,CAAC;IAClB,SAAS,MAAA,MAAK,CAAC;IACf,OAAO,MAAA,MAAK,CAAC;IACb,SAAS,MAAA,MAAK,CAAC;IACf,gBAAc,MAAA,MAAK,CAAC;IACpB,cAAY,MAAA,MAAK,CAAC"}