{"version":3,"file":"BOverlay-DOfvBAZb.mjs","names":[],"sources":["../src/composables/useTransitions.ts","../src/components/BOverlay/BOverlay.vue","../src/components/BOverlay/BOverlay.vue"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue, type TransitionProps} from 'vue'\n\nconst NO_FADE_PROPS = {\n  name: '',\n  enterActiveClass: '',\n  enterToClass: '',\n  leaveActiveClass: '',\n  leaveToClass: 'showing',\n  enterFromClass: 'showing',\n  leaveFromClass: '',\n} as const satisfies TransitionProps\nconst FADE_PROPS = {\n  ...NO_FADE_PROPS,\n  enterActiveClass: 'fade showing',\n  leaveActiveClass: 'fade showing',\n} as const satisfies TransitionProps\n\nexport const useFadeTransition = (fade: MaybeRefOrGetter<boolean>) =>\n  computed(() => (toValue(fade) ? FADE_PROPS : NO_FADE_PROPS))\n","<template>\n  <ConditionalWrapper\n    :tag=\"props.wrapTag\"\n    class=\"b-overlay-wrap position-relative\"\n    :aria-busy=\"computedAriaBusy\"\n    :skip=\"props.noWrap\"\n  >\n    <slot />\n    <Transition\n      v-bind=\"fadeTransitions\"\n      enter-to-class=\"show\"\n      name=\"fade\"\n      @after-enter=\"emit('shown')\"\n      @after-leave=\"emit('hidden')\"\n    >\n      <component\n        :is=\"props.overlayTag\"\n        v-if=\"props.show\"\n        class=\"b-overlay\"\n        :class=\"overlayClasses\"\n        :style=\"overlayStyles\"\n        @click=\"emit('click', $event)\"\n      >\n        <div class=\"position-absolute\" :class=\"blurClasses\" :style=\"blurStyles\" />\n\n        <div class=\"position-absolute\" :style=\"spinWrapperStyles\">\n          <slot name=\"overlay\" v-bind=\"spinnerAttrs\">\n            <BSpinner v-if=\"!props.noSpinner\" v-bind=\"spinnerAttrs\" />\n          </slot>\n        </div>\n      </component>\n    </Transition>\n  </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BOverlayProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BgColorVariant} from '../../types/ColorTypes'\nimport {useFadeTransition} from '../../composables/useTransitions'\nimport type {BOverlayEmits, BOverlaySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BOverlayProps>(), {\n  bgColor: undefined,\n  blur: '2px',\n  fixed: false,\n  noCenter: false,\n  noFade: false,\n  noSpinner: false,\n  noWrap: false,\n  opacity: 0.85,\n  overlayTag: 'div',\n  show: false,\n  spinnerSmall: false,\n  spinnerType: 'border',\n  spinnerVariant: undefined,\n  variant: 'light',\n  wrapTag: 'div',\n  zIndex: 10,\n  // RadiusElementExtendables props\n  rounded: false,\n  roundedBottom: undefined,\n  roundedEnd: undefined,\n  roundedStart: undefined,\n  roundedTop: undefined,\n  // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BOverlay')\nconst emit = defineEmits<BOverlayEmits>()\ndefineSlots<BOverlaySlots>()\n\nconst positionStyles = {top: 0, left: 0, bottom: 0, right: 0} as const\n\nconst fadeTransitions = useFadeTransition(() => !props.noFade)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n  rounded: props.rounded,\n  roundedTop: props.roundedTop,\n  roundedBottom: props.roundedBottom,\n  roundedStart: props.roundedStart,\n  roundedEnd: props.roundedEnd,\n}))\n\nconst computedAriaBusy = computed(() => (props.show ? true : null))\n\nconst spinnerAttrs = computed(() => ({\n  type: props.spinnerType,\n  variant: props.spinnerVariant,\n  small: props.spinnerSmall,\n}))\n\nconst overlayStyles = computed(() => ({\n  ...positionStyles,\n  zIndex: props.zIndex || 10,\n}))\n\nconst overlayClasses = computed(() => ({\n  'position-absolute': !props.noWrap || !props.fixed,\n  'position-fixed': props.noWrap && props.fixed,\n}))\n\nconst colorClasses = useColorVariantClasses(\n  computed(() => ({\n    bgVariant: props.variant !== null && !props.bgColor ? (props.variant as BgColorVariant) : null,\n  }))\n)\nconst blurClasses = computed(() => [colorClasses.value, radiusElementClasses.value])\n\nconst blurStyles = computed(() => ({\n  ...positionStyles,\n  opacity: props.opacity,\n  backgroundColor: props.bgColor || undefined,\n  backdropFilter:\n    props.blur && !props.bgColor && (props.variant === 'white' || props.variant === 'transparent')\n      ? `blur(${props.blur})`\n      : undefined,\n}))\n\nconst spinWrapperStyles = computed(() =>\n  props.noCenter\n    ? positionStyles\n    : {\n        top: '50%',\n        left: '50%',\n        transform: 'translateX(-50%) translateY(-50%)',\n      }\n)\n</script>\n","<template>\n  <ConditionalWrapper\n    :tag=\"props.wrapTag\"\n    class=\"b-overlay-wrap position-relative\"\n    :aria-busy=\"computedAriaBusy\"\n    :skip=\"props.noWrap\"\n  >\n    <slot />\n    <Transition\n      v-bind=\"fadeTransitions\"\n      enter-to-class=\"show\"\n      name=\"fade\"\n      @after-enter=\"emit('shown')\"\n      @after-leave=\"emit('hidden')\"\n    >\n      <component\n        :is=\"props.overlayTag\"\n        v-if=\"props.show\"\n        class=\"b-overlay\"\n        :class=\"overlayClasses\"\n        :style=\"overlayStyles\"\n        @click=\"emit('click', $event)\"\n      >\n        <div class=\"position-absolute\" :class=\"blurClasses\" :style=\"blurStyles\" />\n\n        <div class=\"position-absolute\" :style=\"spinWrapperStyles\">\n          <slot name=\"overlay\" v-bind=\"spinnerAttrs\">\n            <BSpinner v-if=\"!props.noSpinner\" v-bind=\"spinnerAttrs\" />\n          </slot>\n        </div>\n      </component>\n    </Transition>\n  </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport type {BOverlayProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BgColorVariant} from '../../types/ColorTypes'\nimport {useFadeTransition} from '../../composables/useTransitions'\nimport type {BOverlayEmits, BOverlaySlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BOverlayProps>(), {\n  bgColor: undefined,\n  blur: '2px',\n  fixed: false,\n  noCenter: false,\n  noFade: false,\n  noSpinner: false,\n  noWrap: false,\n  opacity: 0.85,\n  overlayTag: 'div',\n  show: false,\n  spinnerSmall: false,\n  spinnerType: 'border',\n  spinnerVariant: undefined,\n  variant: 'light',\n  wrapTag: 'div',\n  zIndex: 10,\n  // RadiusElementExtendables props\n  rounded: false,\n  roundedBottom: undefined,\n  roundedEnd: undefined,\n  roundedStart: undefined,\n  roundedTop: undefined,\n  // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BOverlay')\nconst emit = defineEmits<BOverlayEmits>()\ndefineSlots<BOverlaySlots>()\n\nconst positionStyles = {top: 0, left: 0, bottom: 0, right: 0} as const\n\nconst fadeTransitions = useFadeTransition(() => !props.noFade)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n  rounded: props.rounded,\n  roundedTop: props.roundedTop,\n  roundedBottom: props.roundedBottom,\n  roundedStart: props.roundedStart,\n  roundedEnd: props.roundedEnd,\n}))\n\nconst computedAriaBusy = computed(() => (props.show ? true : null))\n\nconst spinnerAttrs = computed(() => ({\n  type: props.spinnerType,\n  variant: props.spinnerVariant,\n  small: props.spinnerSmall,\n}))\n\nconst overlayStyles = computed(() => ({\n  ...positionStyles,\n  zIndex: props.zIndex || 10,\n}))\n\nconst overlayClasses = computed(() => ({\n  'position-absolute': !props.noWrap || !props.fixed,\n  'position-fixed': props.noWrap && props.fixed,\n}))\n\nconst colorClasses = useColorVariantClasses(\n  computed(() => ({\n    bgVariant: props.variant !== null && !props.bgColor ? (props.variant as BgColorVariant) : null,\n  }))\n)\nconst blurClasses = computed(() => [colorClasses.value, radiusElementClasses.value])\n\nconst blurStyles = computed(() => ({\n  ...positionStyles,\n  opacity: props.opacity,\n  backgroundColor: props.bgColor || undefined,\n  backdropFilter:\n    props.blur && !props.bgColor && (props.variant === 'white' || props.variant === 'transparent')\n      ? `blur(${props.blur})`\n      : undefined,\n}))\n\nconst spinWrapperStyles = computed(() =>\n  props.noCenter\n    ? positionStyles\n    : {\n        top: '50%',\n        left: '50%',\n        transform: 'translateX(-50%) translateY(-50%)',\n      }\n)\n</script>\n"],"mappings":"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"}