bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
1 lines • 10.1 kB
Source Map (JSON)
{"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"}