bootstrap-vue-next 0.45.3 → 0.45.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BAutocomplete-BCOfyy8g.js → BAutocomplete-D8Qkcqcy.js} +2 -2
- package/dist/{BAutocomplete-BCOfyy8g.js.map → BAutocomplete-D8Qkcqcy.js.map} +1 -1
- package/dist/{BAutocomplete-j3KJbBFs.mjs → BAutocomplete-DRzLhACU.mjs} +2 -2
- package/dist/{BAutocomplete-j3KJbBFs.mjs.map → BAutocomplete-DRzLhACU.mjs.map} +1 -1
- package/dist/{BForm-CriVh5cC.js → BForm-B0bPQ4kx.js} +2 -2
- package/dist/{BForm-CriVh5cC.js.map → BForm-B0bPQ4kx.js.map} +1 -1
- package/dist/{BForm-__5Chigr.mjs → BForm-CoQKIJzv.mjs} +2 -2
- package/dist/{BForm-__5Chigr.mjs.map → BForm-CoQKIJzv.mjs.map} +1 -1
- package/dist/{BFormSelect-CUkyKBNN.js → BFormSelect-CtcsnTlz.js} +2 -2
- package/dist/{BFormSelect-CUkyKBNN.js.map → BFormSelect-CtcsnTlz.js.map} +1 -1
- package/dist/{BFormSelect-Co-ZU8yY.mjs → BFormSelect-eS-C3M0J.mjs} +2 -2
- package/dist/{BFormSelect-Co-ZU8yY.mjs.map → BFormSelect-eS-C3M0J.mjs.map} +1 -1
- package/dist/{BOffcanvas-Dw-tsRFl.mjs → BOffcanvas-CwH0DqSG.mjs} +2 -1
- package/dist/BOffcanvas-CwH0DqSG.mjs.map +1 -0
- package/dist/{BOffcanvas-Dg2rwKlf.js → BOffcanvas-DdiP19Xz.js} +2 -1
- package/dist/BOffcanvas-DdiP19Xz.js.map +1 -0
- package/dist/bootstrap-vue-next.mjs +4 -4
- package/dist/bootstrap-vue-next.umd.js +4 -4
- package/dist/directives/utils.d.mts +2 -2
- package/dist/directives/utils.d.ts +2 -2
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.umd.js +1 -1
- package/dist/src/components/BForm/index.mjs +1 -1
- package/dist/src/components/BForm/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +1 -1
- package/dist/src/components/BFormSelect/index.umd.js +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.umd.js +1 -1
- package/dist/src/components/index.mjs +4 -4
- package/dist/src/components/index.umd.js +4 -4
- package/dist/src/directives/BPopover/index.mjs +1 -1
- package/dist/src/directives/BPopover/index.umd.js +1 -1
- package/dist/src/directives/BScrollspy/index.mjs +1 -1
- package/dist/src/directives/BScrollspy/index.umd.js +1 -1
- package/dist/src/directives/BToggle/index.mjs +2 -2
- package/dist/src/directives/BToggle/index.mjs.map +1 -1
- package/dist/src/directives/BToggle/index.umd.js +2 -2
- package/dist/src/directives/BToggle/index.umd.js.map +1 -1
- package/dist/src/directives/BTooltip/index.mjs +1 -1
- package/dist/src/directives/BTooltip/index.umd.js +1 -1
- package/dist/{useFormSelect-C0nvno12.mjs → useFormSelect-BM0rsjni.mjs} +9 -2
- package/dist/useFormSelect-BM0rsjni.mjs.map +1 -0
- package/dist/{useFormSelect-CjAziZpu.js → useFormSelect-ClmzGzOy.js} +9 -2
- package/dist/useFormSelect-ClmzGzOy.js.map +1 -0
- package/dist/{utils-Dgz9Trtl.mjs → utils-BbYwYPyP.mjs} +5 -5
- package/dist/utils-BbYwYPyP.mjs.map +1 -0
- package/dist/{utils-BTPjS0XS.js → utils-ePxMJ7rd.js} +5 -5
- package/dist/utils-ePxMJ7rd.js.map +1 -0
- package/package.json +1 -1
- package/dist/BOffcanvas-Dg2rwKlf.js.map +0 -1
- package/dist/BOffcanvas-Dw-tsRFl.mjs.map +0 -1
- package/dist/useFormSelect-C0nvno12.mjs.map +0 -1
- package/dist/useFormSelect-CjAziZpu.js.map +0 -1
- package/dist/utils-BTPjS0XS.js.map +0 -1
- package/dist/utils-Dgz9Trtl.mjs.map +0 -1
|
@@ -198,6 +198,7 @@ var BOffcanvas_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
|
198
198
|
`offcanvas-${props.placement}`,
|
|
199
199
|
{
|
|
200
200
|
"show": isVisible.value,
|
|
201
|
+
"hiding": isLeaving.value && !isVisible.value,
|
|
201
202
|
[`shadow-${props.shadow}`]: !!props.shadow,
|
|
202
203
|
"no-transition": computedNoAnimation.value
|
|
203
204
|
}
|
|
@@ -327,4 +328,4 @@ Object.defineProperty(exports, "BOffcanvas_default", {
|
|
|
327
328
|
}
|
|
328
329
|
});
|
|
329
330
|
|
|
330
|
-
//# sourceMappingURL=BOffcanvas-
|
|
331
|
+
//# sourceMappingURL=BOffcanvas-DdiP19Xz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BOffcanvas-DdiP19Xz.js","names":["$attrs"],"sources":["../src/components/BOffcanvas/BOffcanvas.vue","../src/components/BOffcanvas/BOffcanvas.vue"],"sourcesContent":["<template>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"props.teleportDisabled || isOpenByBreakpoint\"\n >\n <Transition\n v-if=\"renderRef || contentShowing || isOpenByBreakpoint\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"\n (showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)) ||\n isOpenByBreakpoint\n \"\n :id=\"computedId\"\n ref=\"_element\"\n aria-modal=\"true\"\n role=\"dialog\"\n :class=\"computedClasses\"\n :style=\"computedStyles\"\n tabindex=\"-1\"\n :aria-labelledby=\"`${computedId}-offcanvas-label`\"\n data-bs-backdrop=\"false\"\n v-bind=\"$attrs\"\n >\n <template v-if=\"contentShowing || isOpenByBreakpoint\">\n <div\n v-if=\"!props.noHeader\"\n class=\"offcanvas-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <h5 :id=\"`${computedId}-offcanvas-label`\" class=\"offcanvas-title\">\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </h5>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_close\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_close\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div class=\"offcanvas-body\" :class=\"props.bodyClass\" v-bind=\"props.bodyAttrs\">\n <slot v-bind=\"sharedSlots\" />\n </div>\n <div v-if=\"hasFooterSlot\" :class=\"props.footerClass\">\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n </div>\n </template>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showBackdrop\"\n class=\"offcanvas-backdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {breakpointsBootstrapV5, onKeyStroke, unrefElement, useBreakpoints} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {computed, type EmitFn, nextTick, onMounted, ref, useTemplateRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {\n BOffcanvasEmits,\n BOffcanvasProps,\n BOffcanvasSlots,\n BOffcanvasSlotsData,\n} from '../../types'\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useShowHide} from '../../composables/useShowHide'\nimport {getElement} from '../../utils/getElement'\n\n// TODO once the responsive stuff may be implemented correctly,\n// What needs to occur is a fixing of the \"body scrolling\".\n// If the offcanvas is on the screen on a large screen, body scrolling is not disabled\n// Even though the modelValue is true\n// When it's a small screen and close, it works, as normal,\n// But then when it opens up on a small screen, it must disable again\n// This is implemented on Layout.vue, but is not officially supported.\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BOffcanvasProps, 'modelValue'>>(), {\n backdropFirst: false,\n bodyAttrs: undefined,\n bodyClass: undefined,\n bodyScrolling: false,\n focus: undefined,\n footerClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n id: undefined,\n initialAnimation: false,\n lazy: false,\n noAnimation: false,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noTrap: false,\n noHeader: false,\n noHeaderClose: false,\n unmountLazy: false,\n placement: 'start',\n shadow: false,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n show: false,\n width: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BOffcanvas')\nconst emit = defineEmits<BOffcanvasEmits>()\nconst slots = defineSlots<BOffcanvasSlots>()\n\nconst modelValue = defineModel<Exclude<BOffcanvasProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'offcanvas')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst closeButton = useTemplateRef<HTMLElement | null>('_close')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'close') {\n return closeButton\n }\n return getElement(props.focus, element.value ?? undefined)\n }\n return element\n}\n\nconst onAfterEnter = () => {\n nextTick(() => {\n if (props.focus !== false && !isOpenByBreakpoint.value && props.noTrap) {\n const focusElement = unrefElement(pickFocusItem())\n focusElement?.focus()\n }\n })\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n backdropReady,\n backdropTransitionProps,\n backdropVisible,\n isVisible,\n buildTriggerableEvent,\n isLeaving,\n trapActive,\n setLocalNoAnimation,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n transitionProps: {\n onAfterEnter,\n enterToClass: 'showing',\n leaveToClass: 'hiding',\n enterActiveClass: '',\n leaveActiveClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n },\n})\n\nconst breakpoints = useBreakpoints(breakpointsBootstrapV5)\nconst smallerOrEqualToBreakpoint = breakpoints.smallerOrEqual(() => props.responsive ?? 'xs')\n// Initialize with SSR-safe default value to prevent hydration mismatches\n// The actual breakpoint evaluation is deferred to onMounted (client-side only)\nconst isOpenByBreakpoint = ref(false)\n\nonMounted(() => {\n if (props.responsive !== undefined) {\n // Update the breakpoint state after mounting (client-side only)\n isOpenByBreakpoint.value = !smallerOrEqualToBreakpoint.value\n emit('breakpoint', buildTriggerableEvent('breakpoint'), isOpenByBreakpoint.value)\n }\n})\n\nuseSafeScrollLock(showRef, () => props.bodyScrolling || isOpenByBreakpoint.value)\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\n\nconst fallbackClassSelector = 'offcanvas-fallback-focus'\n\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap || isOpenByBreakpoint.value,\n fallbackFocus: {\n classSelector: fallbackClassSelector,\n ref: fallbackFocusElement,\n },\n focus: () =>\n props.focus === false || isOpenByBreakpoint.value\n ? false\n : (unrefElement(pickFocusItem()) ?? undefined),\n})\n\nconst showBackdrop = computed(\n () =>\n (props.responsive === undefined || !isOpenByBreakpoint.value) &&\n !props.noBackdrop &&\n (showRef.value === true ||\n (isLeaving.value && props.backdropFirst && !computedNoAnimation.value))\n)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\nconst headerCloseClasses = computed(() => [\n {'text-reset': !hasHeaderCloseSlot.value},\n props.headerCloseClass,\n])\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: headerCloseClasses.value,\n}))\n\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\nconst computedClasses = computed(() => [\n props.responsive === undefined ? 'offcanvas' : `offcanvas-${props.responsive}`,\n `offcanvas-${props.placement}`,\n {\n 'show': isVisible.value,\n 'hiding': isLeaving.value && !isVisible.value,\n [`shadow-${props.shadow}`]: !!props.shadow,\n 'no-transition': computedNoAnimation.value,\n },\n])\n\nconst computedStyles = computed(() => ({\n width: props.width,\n}))\n\nconst sharedSlots = computed<BOffcanvasSlotsData>(() => ({\n visible: isVisible.value,\n placement: props.placement,\n hide,\n show,\n toggle,\n id: computedId.value,\n active: trapActive.value,\n}))\n\nwatch(smallerOrEqualToBreakpoint, (newValue) => {\n if (props.responsive === undefined) return\n if (newValue === true) {\n const opened = false\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n emit('hide', buildTriggerableEvent('hide'))\n } else {\n const opened = true\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n emit('show', buildTriggerableEvent('show'))\n }\n})\n\nwatch(\n () => props.responsive,\n (newValue) => {\n if (newValue === undefined) {\n isOpenByBreakpoint.value = false\n return\n }\n const opened = !smallerOrEqualToBreakpoint.value\n if (opened === isOpenByBreakpoint.value) return\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n if (opened) {\n emit('show', buildTriggerableEvent('show'))\n } else {\n emit('hide', buildTriggerableEvent('hide'))\n }\n }\n)\n\ndefineExpose({\n hide,\n show,\n toggle,\n isOpenByBreakpoint,\n})\n</script>\n","<template>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"props.teleportDisabled || isOpenByBreakpoint\"\n >\n <Transition\n v-if=\"renderRef || contentShowing || isOpenByBreakpoint\"\n v-bind=\"transitionProps\"\n :appear=\"modelValue || props.visible\"\n >\n <div\n v-show=\"\n (showRef && ((backdropReady && props.backdropFirst) || !props.backdropFirst)) ||\n isOpenByBreakpoint\n \"\n :id=\"computedId\"\n ref=\"_element\"\n aria-modal=\"true\"\n role=\"dialog\"\n :class=\"computedClasses\"\n :style=\"computedStyles\"\n tabindex=\"-1\"\n :aria-labelledby=\"`${computedId}-offcanvas-label`\"\n data-bs-backdrop=\"false\"\n v-bind=\"$attrs\"\n >\n <template v-if=\"contentShowing || isOpenByBreakpoint\">\n <div\n v-if=\"!props.noHeader\"\n class=\"offcanvas-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <slot name=\"header\" v-bind=\"sharedSlots\">\n <h5 :id=\"`${computedId}-offcanvas-label`\" class=\"offcanvas-title\">\n <slot name=\"title\" v-bind=\"sharedSlots\">\n {{ props.title }}\n </slot>\n </h5>\n <template v-if=\"!props.noHeaderClose\">\n <BButton\n v-if=\"hasHeaderCloseSlot\"\n ref=\"_close\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n >\n <slot name=\"header-close\" v-bind=\"sharedSlots\" />\n </BButton>\n <BCloseButton\n v-else\n ref=\"_close\"\n :aria-label=\"props.headerCloseLabel\"\n v-bind=\"headerCloseAttrs\"\n @click=\"hide('close')\"\n />\n </template>\n </slot>\n </div>\n <div class=\"offcanvas-body\" :class=\"props.bodyClass\" v-bind=\"props.bodyAttrs\">\n <slot v-bind=\"sharedSlots\" />\n </div>\n <div v-if=\"hasFooterSlot\" :class=\"props.footerClass\">\n <slot name=\"footer\" v-bind=\"sharedSlots\" />\n </div>\n </template>\n <div\n v-if=\"needsFallback\"\n ref=\"_fallbackFocusElement\"\n :class=\"fallbackClassSelector\"\n tabindex=\"0\"\n style=\"width: 0; height: 0; overflow: hidden\"\n />\n </div>\n </Transition>\n <slot v-if=\"!props.noBackdrop\" name=\"backdrop\" v-bind=\"sharedSlots\">\n <Transition v-if=\"renderBackdropRef\" v-bind=\"backdropTransitionProps\">\n <div\n v-show=\"showBackdrop\"\n class=\"offcanvas-backdrop\"\n :class=\"{\n fade: !computedNoAnimation,\n show: backdropVisible || computedNoAnimation,\n }\"\n @click=\"hide('backdrop')\"\n />\n </Transition>\n </slot>\n </ConditionalTeleport>\n</template>\n\n<script setup lang=\"ts\">\nimport {breakpointsBootstrapV5, onKeyStroke, unrefElement, useBreakpoints} from '@vueuse/core'\nimport {useActivatedFocusTrap} from '../../composables/useActivatedFocusTrap'\nimport {computed, type EmitFn, nextTick, onMounted, ref, useTemplateRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {\n BOffcanvasEmits,\n BOffcanvasProps,\n BOffcanvasSlots,\n BOffcanvasSlotsData,\n} from '../../types'\nimport BButton from '../BButton/BButton.vue'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {useSafeScrollLock} from '../../composables/useSafeScrollLock'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useShowHide} from '../../composables/useShowHide'\nimport {getElement} from '../../utils/getElement'\n\n// TODO once the responsive stuff may be implemented correctly,\n// What needs to occur is a fixing of the \"body scrolling\".\n// If the offcanvas is on the screen on a large screen, body scrolling is not disabled\n// Even though the modelValue is true\n// When it's a small screen and close, it works, as normal,\n// But then when it opens up on a small screen, it must disable again\n// This is implemented on Layout.vue, but is not officially supported.\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BOffcanvasProps, 'modelValue'>>(), {\n backdropFirst: false,\n bodyAttrs: undefined,\n bodyClass: undefined,\n bodyScrolling: false,\n focus: undefined,\n footerClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerCloseClass: undefined,\n headerCloseLabel: 'Close',\n headerCloseVariant: 'secondary',\n id: undefined,\n initialAnimation: false,\n lazy: false,\n noAnimation: false,\n noBackdrop: false,\n noCloseOnBackdrop: false,\n noCloseOnEsc: false,\n noTrap: false,\n noHeader: false,\n noHeaderClose: false,\n unmountLazy: false,\n placement: 'start',\n shadow: false,\n teleportDisabled: false,\n teleportTo: 'body',\n title: undefined,\n show: false,\n width: undefined,\n visible: false,\n})\nconst props = useDefaults(_props, 'BOffcanvas')\nconst emit = defineEmits<BOffcanvasEmits>()\nconst slots = defineSlots<BOffcanvasSlots>()\n\nconst modelValue = defineModel<Exclude<BOffcanvasProps['modelValue'], undefined>>({\n default: false,\n})\n\nconst computedId = useId(() => props.id, 'offcanvas')\n\nconst element = useTemplateRef<HTMLElement | null>('_element')\nconst fallbackFocusElement = useTemplateRef<HTMLElement | null>('_fallbackFocusElement')\nconst closeButton = useTemplateRef<HTMLElement | null>('_close')\n\nconst pickFocusItem = () => {\n if (props.focus && typeof props.focus !== 'boolean') {\n if (props.focus === 'close') {\n return closeButton\n }\n return getElement(props.focus, element.value ?? undefined)\n }\n return element\n}\n\nconst onAfterEnter = () => {\n nextTick(() => {\n if (props.focus !== false && !isOpenByBreakpoint.value && props.noTrap) {\n const focusElement = unrefElement(pickFocusItem())\n focusElement?.focus()\n }\n })\n}\n\nconst {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n backdropReady,\n backdropTransitionProps,\n backdropVisible,\n isVisible,\n buildTriggerableEvent,\n isLeaving,\n trapActive,\n setLocalNoAnimation,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId, {\n transitionProps: {\n onAfterEnter,\n enterToClass: 'showing',\n leaveToClass: 'hiding',\n enterActiveClass: '',\n leaveActiveClass: '',\n enterFromClass: '',\n leaveFromClass: '',\n },\n})\n\nconst breakpoints = useBreakpoints(breakpointsBootstrapV5)\nconst smallerOrEqualToBreakpoint = breakpoints.smallerOrEqual(() => props.responsive ?? 'xs')\n// Initialize with SSR-safe default value to prevent hydration mismatches\n// The actual breakpoint evaluation is deferred to onMounted (client-side only)\nconst isOpenByBreakpoint = ref(false)\n\nonMounted(() => {\n if (props.responsive !== undefined) {\n // Update the breakpoint state after mounting (client-side only)\n isOpenByBreakpoint.value = !smallerOrEqualToBreakpoint.value\n emit('breakpoint', buildTriggerableEvent('breakpoint'), isOpenByBreakpoint.value)\n }\n})\n\nuseSafeScrollLock(showRef, () => props.bodyScrolling || isOpenByBreakpoint.value)\n\nonKeyStroke(\n 'Escape',\n () => {\n hide('esc')\n },\n {target: element, passive: true}\n)\n\nconst fallbackClassSelector = 'offcanvas-fallback-focus'\n\nconst {needsFallback} = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap || isOpenByBreakpoint.value,\n fallbackFocus: {\n classSelector: fallbackClassSelector,\n ref: fallbackFocusElement,\n },\n focus: () =>\n props.focus === false || isOpenByBreakpoint.value\n ? false\n : (unrefElement(pickFocusItem()) ?? undefined),\n})\n\nconst showBackdrop = computed(\n () =>\n (props.responsive === undefined || !isOpenByBreakpoint.value) &&\n !props.noBackdrop &&\n (showRef.value === true ||\n (isLeaving.value && props.backdropFirst && !computedNoAnimation.value))\n)\n\nconst hasHeaderCloseSlot = computed(() => !isEmptySlot(slots['header-close']))\nconst headerCloseClasses = computed(() => [\n {'text-reset': !hasHeaderCloseSlot.value},\n props.headerCloseClass,\n])\nconst headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : undefined,\n class: headerCloseClasses.value,\n}))\n\nconst hasFooterSlot = computed(() => !isEmptySlot(slots.footer))\nconst computedClasses = computed(() => [\n props.responsive === undefined ? 'offcanvas' : `offcanvas-${props.responsive}`,\n `offcanvas-${props.placement}`,\n {\n 'show': isVisible.value,\n 'hiding': isLeaving.value && !isVisible.value,\n [`shadow-${props.shadow}`]: !!props.shadow,\n 'no-transition': computedNoAnimation.value,\n },\n])\n\nconst computedStyles = computed(() => ({\n width: props.width,\n}))\n\nconst sharedSlots = computed<BOffcanvasSlotsData>(() => ({\n visible: isVisible.value,\n placement: props.placement,\n hide,\n show,\n toggle,\n id: computedId.value,\n active: trapActive.value,\n}))\n\nwatch(smallerOrEqualToBreakpoint, (newValue) => {\n if (props.responsive === undefined) return\n if (newValue === true) {\n const opened = false\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n emit('hide', buildTriggerableEvent('hide'))\n } else {\n const opened = true\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n emit('show', buildTriggerableEvent('show'))\n }\n})\n\nwatch(\n () => props.responsive,\n (newValue) => {\n if (newValue === undefined) {\n isOpenByBreakpoint.value = false\n return\n }\n const opened = !smallerOrEqualToBreakpoint.value\n if (opened === isOpenByBreakpoint.value) return\n setLocalNoAnimation(true)\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened\n })\n emit('breakpoint', buildTriggerableEvent('breakpoint'), opened)\n if (opened) {\n emit('show', buildTriggerableEvent('show'))\n } else {\n emit('hide', buildTriggerableEvent('hide'))\n }\n }\n)\n\ndefineExpose({\n hide,\n show,\n toggle,\n isOpenByBreakpoint,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { t as BAlert_default } from "./BAlert-BFPBalmr.mjs";
|
|
|
16
16
|
import { n as BOrchestrator_default, t as BApp_default } from "./BApp-CIu-zI8K.mjs";
|
|
17
17
|
import { useProvideDefaults } from "./src/composables/useProvideDefaults/index.mjs";
|
|
18
18
|
import { useRegistry } from "./src/composables/useRegistry/index.mjs";
|
|
19
|
-
import { t as BAutocomplete_default } from "./BAutocomplete-
|
|
19
|
+
import { t as BAutocomplete_default } from "./BAutocomplete-DRzLhACU.mjs";
|
|
20
20
|
import { t as BFormOtp_default } from "./BFormOtp-B4al7MJf.mjs";
|
|
21
21
|
import { n as BDatePicker_default, t as BDateRangePicker_default } from "./BDatePicker-ZuMpgD91.mjs";
|
|
22
22
|
import { t as BTimeField_default } from "./BTimeField-DSf4cMpN.mjs";
|
|
@@ -40,14 +40,14 @@ import { t as BDropdown_default } from "./BDropdown-B2vWJ-u0.mjs";
|
|
|
40
40
|
import { a as BDropdownGroup_default, i as BDropdownHeader_default, n as BDropdownItemButton_default, o as BDropdownForm_default, r as BDropdownItem_default, s as BDropdownDivider_default, t as BDropdownText_default } from "./BDropdown-D2ep4wKG.mjs";
|
|
41
41
|
import { t as BForm_default } from "./BForm-CpNuvbIt.mjs";
|
|
42
42
|
import { t as BFormSelectOption_default } from "./BFormSelectOption-B3BO50XB.mjs";
|
|
43
|
-
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "./BForm-
|
|
43
|
+
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "./BForm-CoQKIJzv.mjs";
|
|
44
44
|
import { i as BFormInvalidFeedback_default, n as BFormText_default, r as BFormRow_default, t as BFormValidFeedback_default } from "./BFormValidFeedback-DWkakzVO.mjs";
|
|
45
45
|
import { n as BFormCheckbox_default, t as BFormCheckboxGroup_default } from "./BFormCheckbox-xN7AQw4O.mjs";
|
|
46
46
|
import { t as BFormFile_default } from "./BFormFile-DXdAyYmv.mjs";
|
|
47
47
|
import { t as BFormGroup_default } from "./BFormGroup-ayltvQts.mjs";
|
|
48
48
|
import { n as BFormRadio_default, t as BFormRadioGroup_default } from "./BFormRadio-DHx68AdL.mjs";
|
|
49
49
|
import { t as BFormRating_default } from "./BFormRating-BR7RMvZG.mjs";
|
|
50
|
-
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "./BFormSelect-
|
|
50
|
+
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "./BFormSelect-eS-C3M0J.mjs";
|
|
51
51
|
import { t as BFormSpinbutton_default } from "./BFormSpinbutton-CPsVUIh9.mjs";
|
|
52
52
|
import { t as BFormTags_default } from "./BFormTags-D2Dk598Q.mjs";
|
|
53
53
|
import { t as BFormTextarea_default } from "./BFormTextarea-M21mholw.mjs";
|
|
@@ -56,7 +56,7 @@ import { n as BListGroup_default, t as BListGroupItem_default } from "./BListGro
|
|
|
56
56
|
import { useScrollLock } from "./src/composables/useScrollLock/index.mjs";
|
|
57
57
|
import { a as BNav_default, i as BNavForm_default, n as BNavItemDropdown_default, r as BNavItem_default, t as BNavText_default } from "./BNav-EHHlEg1E.mjs";
|
|
58
58
|
import { i as BNavbar_default, n as BNavbarNav_default, r as BNavbarBrand_default, t as BNavbarToggle_default } from "./BNavbar-kgHIo_Gr.mjs";
|
|
59
|
-
import { t as BOffcanvas_default } from "./BOffcanvas-
|
|
59
|
+
import { t as BOffcanvas_default } from "./BOffcanvas-CwH0DqSG.mjs";
|
|
60
60
|
import { t as BOverlay_default } from "./BOverlay-DSUoseNJ.mjs";
|
|
61
61
|
import { a as directiveNames, i as composablesWithExternalPath, n as componentsWithExternalPath, o as directivesWithExternalPath, r as composableNames, t as componentNames } from "./BootstrapVueOptions-Dt1TQdih.mjs";
|
|
62
62
|
import { t as types_exports } from "./src/types/index.mjs";
|
|
@@ -17,7 +17,7 @@ const require_BAlert = require("./BAlert-Dk3rgEOI.js");
|
|
|
17
17
|
const require_BApp = require("./BApp-cBKQc5Dd.js");
|
|
18
18
|
const require_src_composables_useProvideDefaults_index = require("./src/composables/useProvideDefaults/index.umd.js");
|
|
19
19
|
const require_src_composables_useRegistry_index = require("./src/composables/useRegistry/index.umd.js");
|
|
20
|
-
const require_BAutocomplete = require("./BAutocomplete-
|
|
20
|
+
const require_BAutocomplete = require("./BAutocomplete-D8Qkcqcy.js");
|
|
21
21
|
const require_BFormOtp = require("./BFormOtp-UcLR9oFd.js");
|
|
22
22
|
const require_BDatePicker = require("./BDatePicker-m2drV1fl.js");
|
|
23
23
|
const require_BTimeField = require("./BTimeField-W2LqGCjB.js");
|
|
@@ -41,14 +41,14 @@ const require_BDropdown = require("./BDropdown-BSCasYDc.js");
|
|
|
41
41
|
const require_BDropdown$1 = require("./BDropdown-CL-erjq8.js");
|
|
42
42
|
const require_BForm = require("./BForm-K67Ciyza.js");
|
|
43
43
|
const require_BFormSelectOption = require("./BFormSelectOption-CQ3j1Q5j.js");
|
|
44
|
-
const require_BForm$1 = require("./BForm-
|
|
44
|
+
const require_BForm$1 = require("./BForm-B0bPQ4kx.js");
|
|
45
45
|
const require_BFormValidFeedback = require("./BFormValidFeedback-BhkEhSa0.js");
|
|
46
46
|
const require_BFormCheckbox = require("./BFormCheckbox-g7gtIrhy.js");
|
|
47
47
|
const require_BFormFile = require("./BFormFile-DC-x9wQo.js");
|
|
48
48
|
const require_BFormGroup = require("./BFormGroup-DZTiChgT.js");
|
|
49
49
|
const require_BFormRadio = require("./BFormRadio-DX-gM5Rc.js");
|
|
50
50
|
const require_BFormRating = require("./BFormRating-CF-x5qkB.js");
|
|
51
|
-
const require_BFormSelect = require("./BFormSelect-
|
|
51
|
+
const require_BFormSelect = require("./BFormSelect-CtcsnTlz.js");
|
|
52
52
|
const require_BFormSpinbutton = require("./BFormSpinbutton-DPCXum9q.js");
|
|
53
53
|
const require_BFormTags = require("./BFormTags-BIZyBseI.js");
|
|
54
54
|
const require_BFormTextarea = require("./BFormTextarea-CYh47SxL.js");
|
|
@@ -57,7 +57,7 @@ const require_BListGroup = require("./BListGroup-CeXKZio1.js");
|
|
|
57
57
|
const require_src_composables_useScrollLock_index = require("./src/composables/useScrollLock/index.umd.js");
|
|
58
58
|
const require_BNav = require("./BNav-u9QwSGj3.js");
|
|
59
59
|
const require_BNavbar = require("./BNavbar-s8yvmhyz.js");
|
|
60
|
-
const require_BOffcanvas = require("./BOffcanvas-
|
|
60
|
+
const require_BOffcanvas = require("./BOffcanvas-DdiP19Xz.js");
|
|
61
61
|
const require_BOverlay = require("./BOverlay--gZBEMlX.js");
|
|
62
62
|
const require_BootstrapVueOptions = require("./BootstrapVueOptions-DeViqxoD.js");
|
|
63
63
|
const require_src_types_index = require("./src/types/index.umd.js");
|
|
@@ -58,8 +58,8 @@ export declare function updateBindingCache(instance: DirectiveInstanceState, bin
|
|
|
58
58
|
* @param uid - The component instance UID
|
|
59
59
|
*/
|
|
60
60
|
export declare function cleanupDirectiveInstance(el: HTMLElement & Record<string, unknown>, propertyName: string, uid: number): void;
|
|
61
|
-
export declare function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown>;
|
|
62
|
-
export declare function findComponentParent(vnode: VNode, root: ComponentInternalInstance): _ComponentInternalInstance | null;
|
|
61
|
+
export declare function findProvides(binding: DirectiveBinding, vnode: _VNode, suppressParentNotFoundError?: boolean): Record<string, unknown>;
|
|
62
|
+
export declare function findComponentParent(vnode: VNode, root: ComponentInternalInstance, suppressNotFoundError?: boolean): _ComponentInternalInstance | null;
|
|
63
63
|
/**
|
|
64
64
|
* Creates a floating UI directive (tooltip or popover) with UID-namespaced state management
|
|
65
65
|
* @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')
|
|
@@ -58,8 +58,8 @@ export declare function updateBindingCache(instance: DirectiveInstanceState, bin
|
|
|
58
58
|
* @param uid - The component instance UID
|
|
59
59
|
*/
|
|
60
60
|
export declare function cleanupDirectiveInstance(el: HTMLElement & Record<string, unknown>, propertyName: string, uid: number): void;
|
|
61
|
-
export declare function findProvides(binding: DirectiveBinding, vnode: _VNode): Record<string, unknown>;
|
|
62
|
-
export declare function findComponentParent(vnode: VNode, root: ComponentInternalInstance): _ComponentInternalInstance | null;
|
|
61
|
+
export declare function findProvides(binding: DirectiveBinding, vnode: _VNode, suppressParentNotFoundError?: boolean): Record<string, unknown>;
|
|
62
|
+
export declare function findComponentParent(vnode: VNode, root: ComponentInternalInstance, suppressNotFoundError?: boolean): _ComponentInternalInstance | null;
|
|
63
63
|
/**
|
|
64
64
|
* Creates a floating UI directive (tooltip or popover) with UID-namespaced state management
|
|
65
65
|
* @param propertyName - The property name for storing state (e.g., '$__tooltip', '$__popover')
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BAutocomplete_default } from "../../../BAutocomplete-
|
|
1
|
+
import { t as BAutocomplete_default } from "../../../BAutocomplete-DRzLhACU.mjs";
|
|
2
2
|
export { BAutocomplete_default as BAutocomplete };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_BAutocomplete = require("../../../BAutocomplete-
|
|
2
|
+
const require_BAutocomplete = require("../../../BAutocomplete-D8Qkcqcy.js");
|
|
3
3
|
exports.BAutocomplete = require_BAutocomplete.BAutocomplete_default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { t as BForm_default } from "../../../BForm-CpNuvbIt.mjs";
|
|
2
|
-
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../../BForm-
|
|
2
|
+
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../../BForm-CoQKIJzv.mjs";
|
|
3
3
|
import { i as BFormInvalidFeedback_default, n as BFormText_default, r as BFormRow_default, t as BFormValidFeedback_default } from "../../../BFormValidFeedback-DWkakzVO.mjs";
|
|
4
4
|
export { BForm_default as BForm, BFormDatalist_default as BFormDatalist, BFormFloatingLabel_default as BFormFloatingLabel, BFormInvalidFeedback_default as BFormInvalidFeedback, BFormRow_default as BFormRow, BFormText_default as BFormText, BFormValidFeedback_default as BFormValidFeedback };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_BForm = require("../../../BForm-K67Ciyza.js");
|
|
3
|
-
const require_BForm$1 = require("../../../BForm-
|
|
3
|
+
const require_BForm$1 = require("../../../BForm-B0bPQ4kx.js");
|
|
4
4
|
const require_BFormValidFeedback = require("../../../BFormValidFeedback-BhkEhSa0.js");
|
|
5
5
|
exports.BForm = require_BForm.BForm_default;
|
|
6
6
|
exports.BFormDatalist = require_BForm$1.BFormDatalist_default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as BFormSelectOption_default } from "../../../BFormSelectOption-B3BO50XB.mjs";
|
|
2
|
-
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../../BFormSelect-
|
|
2
|
+
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../../BFormSelect-eS-C3M0J.mjs";
|
|
3
3
|
export { BFormSelect_default as BFormSelect, BFormSelectOption_default as BFormSelectOption, BFormSelectOptionGroup_default as BFormSelectOptionGroup };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_BFormSelectOption = require("../../../BFormSelectOption-CQ3j1Q5j.js");
|
|
3
|
-
const require_BFormSelect = require("../../../BFormSelect-
|
|
3
|
+
const require_BFormSelect = require("../../../BFormSelect-CtcsnTlz.js");
|
|
4
4
|
exports.BFormSelect = require_BFormSelect.BFormSelect_default;
|
|
5
5
|
exports.BFormSelectOption = require_BFormSelectOption.BFormSelectOption_default;
|
|
6
6
|
exports.BFormSelectOptionGroup = require_BFormSelect.BFormSelectOptionGroup_default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as BOffcanvas_default } from "../../../BOffcanvas-
|
|
1
|
+
import { t as BOffcanvas_default } from "../../../BOffcanvas-CwH0DqSG.mjs";
|
|
2
2
|
export { BOffcanvas_default as BOffcanvas };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_BOffcanvas = require("../../../BOffcanvas-
|
|
2
|
+
const require_BOffcanvas = require("../../../BOffcanvas-DdiP19Xz.js");
|
|
3
3
|
exports.BOffcanvas = require_BOffcanvas.BOffcanvas_default;
|
|
@@ -10,7 +10,7 @@ import { t as BSpinner_default } from "../../BSpinner-CAo-XD04.mjs";
|
|
|
10
10
|
import { t as BButton_default } from "../../BButton-D_sCrjpg.mjs";
|
|
11
11
|
import { t as BAlert_default } from "../../BAlert-BFPBalmr.mjs";
|
|
12
12
|
import { n as BOrchestrator_default, t as BApp_default } from "../../BApp-CIu-zI8K.mjs";
|
|
13
|
-
import { t as BAutocomplete_default } from "../../BAutocomplete-
|
|
13
|
+
import { t as BAutocomplete_default } from "../../BAutocomplete-DRzLhACU.mjs";
|
|
14
14
|
import { t as BFormOtp_default } from "../../BFormOtp-B4al7MJf.mjs";
|
|
15
15
|
import { n as BDatePicker_default, t as BDateRangePicker_default } from "../../BDatePicker-ZuMpgD91.mjs";
|
|
16
16
|
import { t as BTimeField_default } from "../../BTimeField-DSf4cMpN.mjs";
|
|
@@ -36,7 +36,7 @@ import { t as BDropdown_default } from "../../BDropdown-B2vWJ-u0.mjs";
|
|
|
36
36
|
import { a as BDropdownGroup_default, i as BDropdownHeader_default, n as BDropdownItemButton_default, o as BDropdownForm_default, r as BDropdownItem_default, s as BDropdownDivider_default, t as BDropdownText_default } from "../../BDropdown-D2ep4wKG.mjs";
|
|
37
37
|
import { t as BForm_default } from "../../BForm-CpNuvbIt.mjs";
|
|
38
38
|
import { t as BFormSelectOption_default } from "../../BFormSelectOption-B3BO50XB.mjs";
|
|
39
|
-
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../BForm-
|
|
39
|
+
import { n as BFormDatalist_default, t as BFormFloatingLabel_default } from "../../BForm-CoQKIJzv.mjs";
|
|
40
40
|
import { i as BFormInvalidFeedback_default, n as BFormText_default, r as BFormRow_default, t as BFormValidFeedback_default } from "../../BFormValidFeedback-DWkakzVO.mjs";
|
|
41
41
|
import { n as BFormCheckbox_default, t as BFormCheckboxGroup_default } from "../../BFormCheckbox-xN7AQw4O.mjs";
|
|
42
42
|
import { t as BFormFile_default } from "../../BFormFile-DXdAyYmv.mjs";
|
|
@@ -44,7 +44,7 @@ import { t as BFormGroup_default } from "../../BFormGroup-ayltvQts.mjs";
|
|
|
44
44
|
import "./BFormInput/index.mjs";
|
|
45
45
|
import { n as BFormRadio_default, t as BFormRadioGroup_default } from "../../BFormRadio-DHx68AdL.mjs";
|
|
46
46
|
import { t as BFormRating_default } from "../../BFormRating-BR7RMvZG.mjs";
|
|
47
|
-
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../BFormSelect-
|
|
47
|
+
import { n as BFormSelectOptionGroup_default, t as BFormSelect_default } from "../../BFormSelect-eS-C3M0J.mjs";
|
|
48
48
|
import { t as BFormSpinbutton_default } from "../../BFormSpinbutton-CPsVUIh9.mjs";
|
|
49
49
|
import { t as BFormTags_default } from "../../BFormTags-D2Dk598Q.mjs";
|
|
50
50
|
import { t as BFormTextarea_default } from "../../BFormTextarea-M21mholw.mjs";
|
|
@@ -54,7 +54,7 @@ import "./BLink/index.mjs";
|
|
|
54
54
|
import { n as BListGroup_default, t as BListGroupItem_default } from "../../BListGroup-CGxa7ZEu.mjs";
|
|
55
55
|
import { a as BNav_default, i as BNavForm_default, n as BNavItemDropdown_default, r as BNavItem_default, t as BNavText_default } from "../../BNav-EHHlEg1E.mjs";
|
|
56
56
|
import { i as BNavbar_default, n as BNavbarNav_default, r as BNavbarBrand_default, t as BNavbarToggle_default } from "../../BNavbar-kgHIo_Gr.mjs";
|
|
57
|
-
import { t as BOffcanvas_default } from "../../BOffcanvas-
|
|
57
|
+
import { t as BOffcanvas_default } from "../../BOffcanvas-CwH0DqSG.mjs";
|
|
58
58
|
import { t as BOverlay_default } from "../../BOverlay-DSUoseNJ.mjs";
|
|
59
59
|
import { t as BPagination_default } from "../../BPagination-C7MKOk8h.mjs";
|
|
60
60
|
import { a as BPlaceholder_default, i as BPlaceholderButton_default, n as BPlaceholderTable_default, r as BPlaceholderCard_default, t as BPlaceholderWrapper_default } from "../../BPlaceholder-D__hNPyQ.mjs";
|
|
@@ -11,7 +11,7 @@ const require_BSpinner = require("../../BSpinner-C1bm8U4-.js");
|
|
|
11
11
|
const require_BButton = require("../../BButton-Dr-RadYQ.js");
|
|
12
12
|
const require_BAlert = require("../../BAlert-Dk3rgEOI.js");
|
|
13
13
|
const require_BApp = require("../../BApp-cBKQc5Dd.js");
|
|
14
|
-
const require_BAutocomplete = require("../../BAutocomplete-
|
|
14
|
+
const require_BAutocomplete = require("../../BAutocomplete-D8Qkcqcy.js");
|
|
15
15
|
const require_BFormOtp = require("../../BFormOtp-UcLR9oFd.js");
|
|
16
16
|
const require_BDatePicker = require("../../BDatePicker-m2drV1fl.js");
|
|
17
17
|
const require_BTimeField = require("../../BTimeField-W2LqGCjB.js");
|
|
@@ -37,7 +37,7 @@ const require_BDropdown = require("../../BDropdown-BSCasYDc.js");
|
|
|
37
37
|
const require_BDropdown$1 = require("../../BDropdown-CL-erjq8.js");
|
|
38
38
|
const require_BForm = require("../../BForm-K67Ciyza.js");
|
|
39
39
|
const require_BFormSelectOption = require("../../BFormSelectOption-CQ3j1Q5j.js");
|
|
40
|
-
const require_BForm$1 = require("../../BForm-
|
|
40
|
+
const require_BForm$1 = require("../../BForm-B0bPQ4kx.js");
|
|
41
41
|
const require_BFormValidFeedback = require("../../BFormValidFeedback-BhkEhSa0.js");
|
|
42
42
|
const require_BFormCheckbox = require("../../BFormCheckbox-g7gtIrhy.js");
|
|
43
43
|
const require_BFormFile = require("../../BFormFile-DC-x9wQo.js");
|
|
@@ -45,7 +45,7 @@ const require_BFormGroup = require("../../BFormGroup-DZTiChgT.js");
|
|
|
45
45
|
require("./BFormInput/index.umd.js");
|
|
46
46
|
const require_BFormRadio = require("../../BFormRadio-DX-gM5Rc.js");
|
|
47
47
|
const require_BFormRating = require("../../BFormRating-CF-x5qkB.js");
|
|
48
|
-
const require_BFormSelect = require("../../BFormSelect-
|
|
48
|
+
const require_BFormSelect = require("../../BFormSelect-CtcsnTlz.js");
|
|
49
49
|
const require_BFormSpinbutton = require("../../BFormSpinbutton-DPCXum9q.js");
|
|
50
50
|
const require_BFormTags = require("../../BFormTags-BIZyBseI.js");
|
|
51
51
|
const require_BFormTextarea = require("../../BFormTextarea-CYh47SxL.js");
|
|
@@ -55,7 +55,7 @@ require("./BLink/index.umd.js");
|
|
|
55
55
|
const require_BListGroup = require("../../BListGroup-CeXKZio1.js");
|
|
56
56
|
const require_BNav = require("../../BNav-u9QwSGj3.js");
|
|
57
57
|
const require_BNavbar = require("../../BNavbar-s8yvmhyz.js");
|
|
58
|
-
const require_BOffcanvas = require("../../BOffcanvas-
|
|
58
|
+
const require_BOffcanvas = require("../../BOffcanvas-DdiP19Xz.js");
|
|
59
59
|
const require_BOverlay = require("../../BOverlay--gZBEMlX.js");
|
|
60
60
|
const require_BPagination = require("../../BPagination-D6W1LdgK.js");
|
|
61
61
|
const require_BPlaceholder = require("../../BPlaceholder-Ckvq3tMu.js");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as resolveDirectiveProps } from "../../../floatingUi-8xXp54zf.mjs";
|
|
2
|
-
import { t as createFloatingDirective } from "../../../utils-
|
|
2
|
+
import { t as createFloatingDirective } from "../../../utils-BbYwYPyP.mjs";
|
|
3
3
|
import "vue";
|
|
4
4
|
//#region src/directives/BPopover/index.ts
|
|
5
5
|
var vBPopover = createFloatingDirective("$__popover", "BPopover", (text, defaults, binding, el) => ({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_floatingUi = require("../../../floatingUi-9SWu8BgZ.js");
|
|
3
|
-
const require_utils = require("../../../utils-
|
|
3
|
+
const require_utils = require("../../../utils-ePxMJ7rd.js");
|
|
4
4
|
require("vue");
|
|
5
5
|
//#region src/directives/BPopover/index.ts
|
|
6
6
|
var vBPopover = require_utils.createFloatingDirective("$__popover", "BPopover", (text, defaults, binding, el) => ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as getSafeDocument } from "../../../dom-AhkaSoh8.mjs";
|
|
2
2
|
import { i as omit } from "../../../object-CHQkkner.mjs";
|
|
3
3
|
import { useScrollspy } from "../../composables/useScrollspy/index.mjs";
|
|
4
|
-
import { r as getDirectiveUid } from "../../../utils-
|
|
4
|
+
import { r as getDirectiveUid } from "../../../utils-BbYwYPyP.mjs";
|
|
5
5
|
import "vue";
|
|
6
6
|
//#region src/directives/BScrollspy/index.ts
|
|
7
7
|
var bind = (el, binding) => {
|
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_dom = require("../../../dom-Bs6DzM72.js");
|
|
3
3
|
const require_object = require("../../../object-BN7QwMcz.js");
|
|
4
4
|
const require_src_composables_useScrollspy_index = require("../../composables/useScrollspy/index.umd.js");
|
|
5
|
-
const require_utils = require("../../../utils-
|
|
5
|
+
const require_utils = require("../../../utils-ePxMJ7rd.js");
|
|
6
6
|
require("vue");
|
|
7
7
|
//#region src/directives/BScrollspy/index.ts
|
|
8
8
|
var bind = (el, binding) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { x as showHideRegistryKey } from "../../../keys-CQKrwmvN.mjs";
|
|
2
2
|
import { h as RX_SPACE_SPLIT, l as RX_HASH, u as RX_HASH_ID } from "../../../constants-Ba9iJn2H.mjs";
|
|
3
3
|
import { t as getActiveShowHide } from "../../../registryAccess-BkJDdh-3.mjs";
|
|
4
|
-
import { n as findProvides } from "../../../utils-
|
|
4
|
+
import { n as findProvides } from "../../../utils-BbYwYPyP.mjs";
|
|
5
5
|
import "vue";
|
|
6
6
|
//#region src/directives/BToggle/index.ts
|
|
7
7
|
var getTargets = (binding, el) => {
|
|
@@ -56,7 +56,7 @@ var handleUpdate = (el, binding, vnode) => {
|
|
|
56
56
|
var handleUnmount = (el, binding, vnode) => {
|
|
57
57
|
const targets = getTargets(binding, el);
|
|
58
58
|
if (targets.length === 0) return;
|
|
59
|
-
const showHideMap = findProvides(binding, vnode)[showHideRegistryKey]?.values ?? null;
|
|
59
|
+
const showHideMap = findProvides(binding, vnode, true)[showHideRegistryKey]?.values ?? null;
|
|
60
60
|
targets.forEach((targetId) => {
|
|
61
61
|
const showHide = getActiveShowHide(showHideMap, targetId);
|
|
62
62
|
if (!showHide) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/directives/BToggle/index.ts"],"sourcesContent":["import {RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT} from '../../utils/constants'\nimport {type Directive, type DirectiveBinding, type VNode} from 'vue'\nimport {findProvides} from '../utils'\nimport {type RegisterShowHideValue, showHideRegistryKey} from '../../utils/keys'\nimport {getActiveShowHide} from '../../utils/registryAccess'\n\nconst getTargets = (\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n el: Readonly<Element>\n) => {\n const {modifiers, arg, value} = binding\n // Any modifiers are considered target Ids\n const targets = Object.keys(modifiers || {})\n\n // If value is a string, split out individual targets (if space delimited)\n const localValue = typeof value === 'string' ? value.split(RX_SPACE_SPLIT) : value\n\n // Support target Id as link href (`href=\"#id\"`)\n if (el.tagName.toLowerCase() === 'a') {\n const href = el.getAttribute('href') || ''\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''))\n }\n }\n\n // Add Id from `arg` (if provided), and support value\n // as a single string Id or an array of string Ids\n // If `value` is not an array or string, then it gets filtered out\n Array.prototype.concat\n .apply([], [arg, localValue])\n .forEach((t) => typeof t === 'string' && targets.push(t))\n\n // Return only unique and truthy target Ids\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index)\n}\n\nconst handleUpdate = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n if ((el as HTMLElement).dataset.bvtoggle) {\n const oldTargets = ((el as HTMLElement).dataset.bvtoggle || '').split(' ')\n if (oldTargets.length === 0) return\n for (const targetId of oldTargets) {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n continue\n }\n if (!targets.includes(targetId)) {\n showHide.unregisterTrigger('click', el, false)\n }\n }\n }\n ;(el as HTMLElement).dataset.bvtoggle = targets.join(' ')\n\n targets.forEach(async (targetId) => {\n let count = 0\n const maxAttempts = 5\n const delayMs = 100\n\n // Keep looking until showHide is found, giving up after 500ms or directive is unmounted\n while (count < maxAttempts) {\n // Check if element is still mounted before each iteration\n if (!(el as HTMLElement).dataset.bvtoggle) {\n // Element was unmounted, stop trying\n return\n }\n\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n count++\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs))\n continue\n }\n // Only warn if element is still mounted after all attempts\n if ((el as HTMLElement).dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n )\n }\n break\n }\n\n // Final check before registration\n if (!(el as HTMLElement).dataset.bvtoggle) return\n\n // Register the trigger element\n showHide.unregisterTrigger('click', el, false)\n showHide.registerTrigger('click', el)\n break\n }\n })\n\n el.setAttribute('aria-controls', targets.join(' '))\n}\nconst handleUnmount = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n\n targets.forEach((targetId) => {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n return\n }\n // Pass clean=true to let the composable handle cleanup of aria-expanded and classes\n showHide.unregisterTrigger('click', el, true)\n })\n\n // Only remove what the directive manages (aria-controls)\n // aria-expanded and classes are managed by useShowHide composable\n el.removeAttribute('aria-controls')\n delete (el as HTMLElement).dataset.bvtoggle\n}\n\nexport const vBToggle: Directive<Element> = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount,\n}\n"],"mappings":";;;;;;AAMA,IAAM,cACJ,SACA,OACG;CACH,MAAM,EAAC,WAAW,KAAK,UAAS;CAEhC,MAAM,UAAU,OAAO,KAAK,aAAa,EAAE,CAAC;CAG5C,MAAM,aAAa,OAAO,UAAU,WAAW,MAAM,MAAM,eAAe,GAAG;AAG7E,KAAI,GAAG,QAAQ,aAAa,KAAK,KAAK;EACpC,MAAM,OAAO,GAAG,aAAa,OAAO,IAAI;AACxC,MAAI,WAAW,KAAK,KAAK,CACvB,SAAQ,KAAK,KAAK,QAAQ,SAAS,GAAG,CAAC;;AAO3C,OAAM,UAAU,OACb,MAAM,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAC5B,SAAS,MAAM,OAAO,MAAM,YAAY,QAAQ,KAAK,EAAE,CAAC;AAG3D,QAAO,QAAQ,QAAQ,GAAG,OAAO,QAAQ,KAAK,IAAI,QAAQ,EAAE,KAAK,MAAM;;AAGzE,IAAM,gBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAG1B,MAAM,cADW,aAAa,SAAS,MAAM,CAES,sBAAsB,UAAU;AACtF,KAAK,GAAmB,QAAQ,UAAU;EACxC,MAAM,cAAe,GAAmB,QAAQ,YAAY,IAAI,MAAM,IAAI;AAC1E,MAAI,WAAW,WAAW,EAAG;AAC7B,OAAK,MAAM,YAAY,YAAY;GACjC,MAAM,WAAW,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,SACH;AAEF,OAAI,CAAC,QAAQ,SAAS,SAAS,CAC7B,UAAS,kBAAkB,SAAS,IAAI,MAAM;;;AAIlD,IAAmB,QAAQ,WAAW,QAAQ,KAAK,IAAI;AAEzD,SAAQ,QAAQ,OAAO,aAAa;EAClC,IAAI,QAAQ;EACZ,MAAM,cAAc;EACpB,MAAM,UAAU;AAGhB,SAAO,QAAQ,aAAa;AAE1B,OAAI,CAAE,GAAmB,QAAQ,SAE/B;GAGF,MAAM,WAAW,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,UAAU;AACb;AACA,QAAI,QAAQ,aAAa;AACvB,WAAM,IAAI,SAAS,YAAY,WAAW,SAAS,QAAQ,CAAC;AAC5D;;AAGF,QAAK,GAAmB,QAAQ,SAC9B,SAAQ,KACN,+BAA+B,SAAS,mBAAmB,cAAc,QAAQ,IAClF;AAEH;;AAIF,OAAI,CAAE,GAAmB,QAAQ,SAAU;AAG3C,YAAS,kBAAkB,SAAS,IAAI,MAAM;AAC9C,YAAS,gBAAgB,SAAS,GAAG;AACrC;;GAEF;AAEF,IAAG,aAAa,iBAAiB,QAAQ,KAAK,IAAI,CAAC;;AAErD,IAAM,iBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAE1B,MAAM,cADW,aAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/directives/BToggle/index.ts"],"sourcesContent":["import {RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT} from '../../utils/constants'\nimport {type Directive, type DirectiveBinding, type VNode} from 'vue'\nimport {findProvides} from '../utils'\nimport {type RegisterShowHideValue, showHideRegistryKey} from '../../utils/keys'\nimport {getActiveShowHide} from '../../utils/registryAccess'\n\nconst getTargets = (\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n el: Readonly<Element>\n) => {\n const {modifiers, arg, value} = binding\n // Any modifiers are considered target Ids\n const targets = Object.keys(modifiers || {})\n\n // If value is a string, split out individual targets (if space delimited)\n const localValue = typeof value === 'string' ? value.split(RX_SPACE_SPLIT) : value\n\n // Support target Id as link href (`href=\"#id\"`)\n if (el.tagName.toLowerCase() === 'a') {\n const href = el.getAttribute('href') || ''\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''))\n }\n }\n\n // Add Id from `arg` (if provided), and support value\n // as a single string Id or an array of string Ids\n // If `value` is not an array or string, then it gets filtered out\n Array.prototype.concat\n .apply([], [arg, localValue])\n .forEach((t) => typeof t === 'string' && targets.push(t))\n\n // Return only unique and truthy target Ids\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index)\n}\n\nconst handleUpdate = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n if ((el as HTMLElement).dataset.bvtoggle) {\n const oldTargets = ((el as HTMLElement).dataset.bvtoggle || '').split(' ')\n if (oldTargets.length === 0) return\n for (const targetId of oldTargets) {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n continue\n }\n if (!targets.includes(targetId)) {\n showHide.unregisterTrigger('click', el, false)\n }\n }\n }\n ;(el as HTMLElement).dataset.bvtoggle = targets.join(' ')\n\n targets.forEach(async (targetId) => {\n let count = 0\n const maxAttempts = 5\n const delayMs = 100\n\n // Keep looking until showHide is found, giving up after 500ms or directive is unmounted\n while (count < maxAttempts) {\n // Check if element is still mounted before each iteration\n if (!(el as HTMLElement).dataset.bvtoggle) {\n // Element was unmounted, stop trying\n return\n }\n\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n count++\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs))\n continue\n }\n // Only warn if element is still mounted after all attempts\n if ((el as HTMLElement).dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n )\n }\n break\n }\n\n // Final check before registration\n if (!(el as HTMLElement).dataset.bvtoggle) return\n\n // Register the trigger element\n showHide.unregisterTrigger('click', el, false)\n showHide.registerTrigger('click', el)\n break\n }\n })\n\n el.setAttribute('aria-controls', targets.join(' '))\n}\nconst handleUnmount = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n const provides = findProvides(binding, vnode, true)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n\n targets.forEach((targetId) => {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n return\n }\n // Pass clean=true to let the composable handle cleanup of aria-expanded and classes\n showHide.unregisterTrigger('click', el, true)\n })\n\n // Only remove what the directive manages (aria-controls)\n // aria-expanded and classes are managed by useShowHide composable\n el.removeAttribute('aria-controls')\n delete (el as HTMLElement).dataset.bvtoggle\n}\n\nexport const vBToggle: Directive<Element> = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount,\n}\n"],"mappings":";;;;;;AAMA,IAAM,cACJ,SACA,OACG;CACH,MAAM,EAAC,WAAW,KAAK,UAAS;CAEhC,MAAM,UAAU,OAAO,KAAK,aAAa,EAAE,CAAC;CAG5C,MAAM,aAAa,OAAO,UAAU,WAAW,MAAM,MAAM,eAAe,GAAG;AAG7E,KAAI,GAAG,QAAQ,aAAa,KAAK,KAAK;EACpC,MAAM,OAAO,GAAG,aAAa,OAAO,IAAI;AACxC,MAAI,WAAW,KAAK,KAAK,CACvB,SAAQ,KAAK,KAAK,QAAQ,SAAS,GAAG,CAAC;;AAO3C,OAAM,UAAU,OACb,MAAM,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAC5B,SAAS,MAAM,OAAO,MAAM,YAAY,QAAQ,KAAK,EAAE,CAAC;AAG3D,QAAO,QAAQ,QAAQ,GAAG,OAAO,QAAQ,KAAK,IAAI,QAAQ,EAAE,KAAK,MAAM;;AAGzE,IAAM,gBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAG1B,MAAM,cADW,aAAa,SAAS,MAAM,CAES,sBAAsB,UAAU;AACtF,KAAK,GAAmB,QAAQ,UAAU;EACxC,MAAM,cAAe,GAAmB,QAAQ,YAAY,IAAI,MAAM,IAAI;AAC1E,MAAI,WAAW,WAAW,EAAG;AAC7B,OAAK,MAAM,YAAY,YAAY;GACjC,MAAM,WAAW,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,SACH;AAEF,OAAI,CAAC,QAAQ,SAAS,SAAS,CAC7B,UAAS,kBAAkB,SAAS,IAAI,MAAM;;;AAIlD,IAAmB,QAAQ,WAAW,QAAQ,KAAK,IAAI;AAEzD,SAAQ,QAAQ,OAAO,aAAa;EAClC,IAAI,QAAQ;EACZ,MAAM,cAAc;EACpB,MAAM,UAAU;AAGhB,SAAO,QAAQ,aAAa;AAE1B,OAAI,CAAE,GAAmB,QAAQ,SAE/B;GAGF,MAAM,WAAW,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,UAAU;AACb;AACA,QAAI,QAAQ,aAAa;AACvB,WAAM,IAAI,SAAS,YAAY,WAAW,SAAS,QAAQ,CAAC;AAC5D;;AAGF,QAAK,GAAmB,QAAQ,SAC9B,SAAQ,KACN,+BAA+B,SAAS,mBAAmB,cAAc,QAAQ,IAClF;AAEH;;AAIF,OAAI,CAAE,GAAmB,QAAQ,SAAU;AAG3C,YAAS,kBAAkB,SAAS,IAAI,MAAM;AAC9C,YAAS,gBAAgB,SAAS,GAAG;AACrC;;GAEF;AAEF,IAAG,aAAa,iBAAiB,QAAQ,KAAK,IAAI,CAAC;;AAErD,IAAM,iBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAE1B,MAAM,cADW,aAAa,SAAS,OAAO,KAAK,CAEG,sBAAsB,UAAU;AAEtF,SAAQ,SAAS,aAAa;EAC5B,MAAM,WAAW,kBAAkB,aAAa,SAAS;AACzD,MAAI,CAAC,SACH;AAGF,WAAS,kBAAkB,SAAS,IAAI,KAAK;GAC7C;AAIF,IAAG,gBAAgB,gBAAgB;AACnC,QAAQ,GAAmB,QAAQ;;AAGrC,IAAa,WAA+B;CAC1C,SAAS;CACT,SAAS;CACT,WAAW;CACZ"}
|
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
const require_keys = require("../../../keys-durSVUrO.js");
|
|
3
3
|
const require_constants = require("../../../constants-BLIvvaat.js");
|
|
4
4
|
const require_registryAccess = require("../../../registryAccess-B9QDQwV8.js");
|
|
5
|
-
const require_utils = require("../../../utils-
|
|
5
|
+
const require_utils = require("../../../utils-ePxMJ7rd.js");
|
|
6
6
|
require("vue");
|
|
7
7
|
//#region src/directives/BToggle/index.ts
|
|
8
8
|
var getTargets = (binding, el) => {
|
|
@@ -57,7 +57,7 @@ var handleUpdate = (el, binding, vnode) => {
|
|
|
57
57
|
var handleUnmount = (el, binding, vnode) => {
|
|
58
58
|
const targets = getTargets(binding, el);
|
|
59
59
|
if (targets.length === 0) return;
|
|
60
|
-
const showHideMap = require_utils.findProvides(binding, vnode)[require_keys.showHideRegistryKey]?.values ?? null;
|
|
60
|
+
const showHideMap = require_utils.findProvides(binding, vnode, true)[require_keys.showHideRegistryKey]?.values ?? null;
|
|
61
61
|
targets.forEach((targetId) => {
|
|
62
62
|
const showHide = require_registryAccess.getActiveShowHide(showHideMap, targetId);
|
|
63
63
|
if (!showHide) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","names":[],"sources":["../../../../src/directives/BToggle/index.ts"],"sourcesContent":["import {RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT} from '../../utils/constants'\nimport {type Directive, type DirectiveBinding, type VNode} from 'vue'\nimport {findProvides} from '../utils'\nimport {type RegisterShowHideValue, showHideRegistryKey} from '../../utils/keys'\nimport {getActiveShowHide} from '../../utils/registryAccess'\n\nconst getTargets = (\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n el: Readonly<Element>\n) => {\n const {modifiers, arg, value} = binding\n // Any modifiers are considered target Ids\n const targets = Object.keys(modifiers || {})\n\n // If value is a string, split out individual targets (if space delimited)\n const localValue = typeof value === 'string' ? value.split(RX_SPACE_SPLIT) : value\n\n // Support target Id as link href (`href=\"#id\"`)\n if (el.tagName.toLowerCase() === 'a') {\n const href = el.getAttribute('href') || ''\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''))\n }\n }\n\n // Add Id from `arg` (if provided), and support value\n // as a single string Id or an array of string Ids\n // If `value` is not an array or string, then it gets filtered out\n Array.prototype.concat\n .apply([], [arg, localValue])\n .forEach((t) => typeof t === 'string' && targets.push(t))\n\n // Return only unique and truthy target Ids\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index)\n}\n\nconst handleUpdate = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n if ((el as HTMLElement).dataset.bvtoggle) {\n const oldTargets = ((el as HTMLElement).dataset.bvtoggle || '').split(' ')\n if (oldTargets.length === 0) return\n for (const targetId of oldTargets) {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n continue\n }\n if (!targets.includes(targetId)) {\n showHide.unregisterTrigger('click', el, false)\n }\n }\n }\n ;(el as HTMLElement).dataset.bvtoggle = targets.join(' ')\n\n targets.forEach(async (targetId) => {\n let count = 0\n const maxAttempts = 5\n const delayMs = 100\n\n // Keep looking until showHide is found, giving up after 500ms or directive is unmounted\n while (count < maxAttempts) {\n // Check if element is still mounted before each iteration\n if (!(el as HTMLElement).dataset.bvtoggle) {\n // Element was unmounted, stop trying\n return\n }\n\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n count++\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs))\n continue\n }\n // Only warn if element is still mounted after all attempts\n if ((el as HTMLElement).dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n )\n }\n break\n }\n\n // Final check before registration\n if (!(el as HTMLElement).dataset.bvtoggle) return\n\n // Register the trigger element\n showHide.unregisterTrigger('click', el, false)\n showHide.registerTrigger('click', el)\n break\n }\n })\n\n el.setAttribute('aria-controls', targets.join(' '))\n}\nconst handleUnmount = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n\n targets.forEach((targetId) => {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n return\n }\n // Pass clean=true to let the composable handle cleanup of aria-expanded and classes\n showHide.unregisterTrigger('click', el, true)\n })\n\n // Only remove what the directive manages (aria-controls)\n // aria-expanded and classes are managed by useShowHide composable\n el.removeAttribute('aria-controls')\n delete (el as HTMLElement).dataset.bvtoggle\n}\n\nexport const vBToggle: Directive<Element> = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount,\n}\n"],"mappings":";;;;;;;AAMA,IAAM,cACJ,SACA,OACG;CACH,MAAM,EAAC,WAAW,KAAK,UAAS;CAEhC,MAAM,UAAU,OAAO,KAAK,aAAa,EAAE,CAAC;CAG5C,MAAM,aAAa,OAAO,UAAU,WAAW,MAAM,MAAM,kBAAA,eAAe,GAAG;AAG7E,KAAI,GAAG,QAAQ,aAAa,KAAK,KAAK;EACpC,MAAM,OAAO,GAAG,aAAa,OAAO,IAAI;AACxC,MAAI,kBAAA,WAAW,KAAK,KAAK,CACvB,SAAQ,KAAK,KAAK,QAAQ,kBAAA,SAAS,GAAG,CAAC;;AAO3C,OAAM,UAAU,OACb,MAAM,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAC5B,SAAS,MAAM,OAAO,MAAM,YAAY,QAAQ,KAAK,EAAE,CAAC;AAG3D,QAAO,QAAQ,QAAQ,GAAG,OAAO,QAAQ,KAAK,IAAI,QAAQ,EAAE,KAAK,MAAM;;AAGzE,IAAM,gBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAG1B,MAAM,cADW,cAAA,aAAa,SAAS,MAAM,CAES,aAAA,sBAAsB,UAAU;AACtF,KAAK,GAAmB,QAAQ,UAAU;EACxC,MAAM,cAAe,GAAmB,QAAQ,YAAY,IAAI,MAAM,IAAI;AAC1E,MAAI,WAAW,WAAW,EAAG;AAC7B,OAAK,MAAM,YAAY,YAAY;GACjC,MAAM,WAAW,uBAAA,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,SACH;AAEF,OAAI,CAAC,QAAQ,SAAS,SAAS,CAC7B,UAAS,kBAAkB,SAAS,IAAI,MAAM;;;AAIlD,IAAmB,QAAQ,WAAW,QAAQ,KAAK,IAAI;AAEzD,SAAQ,QAAQ,OAAO,aAAa;EAClC,IAAI,QAAQ;EACZ,MAAM,cAAc;EACpB,MAAM,UAAU;AAGhB,SAAO,QAAQ,aAAa;AAE1B,OAAI,CAAE,GAAmB,QAAQ,SAE/B;GAGF,MAAM,WAAW,uBAAA,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,UAAU;AACb;AACA,QAAI,QAAQ,aAAa;AACvB,WAAM,IAAI,SAAS,YAAY,WAAW,SAAS,QAAQ,CAAC;AAC5D;;AAGF,QAAK,GAAmB,QAAQ,SAC9B,SAAQ,KACN,+BAA+B,SAAS,mBAAmB,cAAc,QAAQ,IAClF;AAEH;;AAIF,OAAI,CAAE,GAAmB,QAAQ,SAAU;AAG3C,YAAS,kBAAkB,SAAS,IAAI,MAAM;AAC9C,YAAS,gBAAgB,SAAS,GAAG;AACrC;;GAEF;AAEF,IAAG,aAAa,iBAAiB,QAAQ,KAAK,IAAI,CAAC;;AAErD,IAAM,iBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAE1B,MAAM,cADW,cAAA,aAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"index.umd.js","names":[],"sources":["../../../../src/directives/BToggle/index.ts"],"sourcesContent":["import {RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT} from '../../utils/constants'\nimport {type Directive, type DirectiveBinding, type VNode} from 'vue'\nimport {findProvides} from '../utils'\nimport {type RegisterShowHideValue, showHideRegistryKey} from '../../utils/keys'\nimport {getActiveShowHide} from '../../utils/registryAccess'\n\nconst getTargets = (\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n el: Readonly<Element>\n) => {\n const {modifiers, arg, value} = binding\n // Any modifiers are considered target Ids\n const targets = Object.keys(modifiers || {})\n\n // If value is a string, split out individual targets (if space delimited)\n const localValue = typeof value === 'string' ? value.split(RX_SPACE_SPLIT) : value\n\n // Support target Id as link href (`href=\"#id\"`)\n if (el.tagName.toLowerCase() === 'a') {\n const href = el.getAttribute('href') || ''\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''))\n }\n }\n\n // Add Id from `arg` (if provided), and support value\n // as a single string Id or an array of string Ids\n // If `value` is not an array or string, then it gets filtered out\n Array.prototype.concat\n .apply([], [arg, localValue])\n .forEach((t) => typeof t === 'string' && targets.push(t))\n\n // Return only unique and truthy target Ids\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index)\n}\n\nconst handleUpdate = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n\n const provides = findProvides(binding, vnode)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n if ((el as HTMLElement).dataset.bvtoggle) {\n const oldTargets = ((el as HTMLElement).dataset.bvtoggle || '').split(' ')\n if (oldTargets.length === 0) return\n for (const targetId of oldTargets) {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n continue\n }\n if (!targets.includes(targetId)) {\n showHide.unregisterTrigger('click', el, false)\n }\n }\n }\n ;(el as HTMLElement).dataset.bvtoggle = targets.join(' ')\n\n targets.forEach(async (targetId) => {\n let count = 0\n const maxAttempts = 5\n const delayMs = 100\n\n // Keep looking until showHide is found, giving up after 500ms or directive is unmounted\n while (count < maxAttempts) {\n // Check if element is still mounted before each iteration\n if (!(el as HTMLElement).dataset.bvtoggle) {\n // Element was unmounted, stop trying\n return\n }\n\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n count++\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs))\n continue\n }\n // Only warn if element is still mounted after all attempts\n if ((el as HTMLElement).dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n )\n }\n break\n }\n\n // Final check before registration\n if (!(el as HTMLElement).dataset.bvtoggle) return\n\n // Register the trigger element\n showHide.unregisterTrigger('click', el, false)\n showHide.registerTrigger('click', el)\n break\n }\n })\n\n el.setAttribute('aria-controls', targets.join(' '))\n}\nconst handleUnmount = (\n el: Element,\n binding: DirectiveBinding<string | readonly string[] | undefined>,\n vnode: VNode\n) => {\n // Determine targets\n const targets = getTargets(binding, el)\n if (targets.length === 0) return\n const provides = findProvides(binding, vnode, true)\n const showHideMap =\n (provides as Record<symbol, RegisterShowHideValue>)[showHideRegistryKey]?.values ?? null\n\n targets.forEach((targetId) => {\n const showHide = getActiveShowHide(showHideMap, targetId)\n if (!showHide) {\n return\n }\n // Pass clean=true to let the composable handle cleanup of aria-expanded and classes\n showHide.unregisterTrigger('click', el, true)\n })\n\n // Only remove what the directive manages (aria-controls)\n // aria-expanded and classes are managed by useShowHide composable\n el.removeAttribute('aria-controls')\n delete (el as HTMLElement).dataset.bvtoggle\n}\n\nexport const vBToggle: Directive<Element> = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount,\n}\n"],"mappings":";;;;;;;AAMA,IAAM,cACJ,SACA,OACG;CACH,MAAM,EAAC,WAAW,KAAK,UAAS;CAEhC,MAAM,UAAU,OAAO,KAAK,aAAa,EAAE,CAAC;CAG5C,MAAM,aAAa,OAAO,UAAU,WAAW,MAAM,MAAM,kBAAA,eAAe,GAAG;AAG7E,KAAI,GAAG,QAAQ,aAAa,KAAK,KAAK;EACpC,MAAM,OAAO,GAAG,aAAa,OAAO,IAAI;AACxC,MAAI,kBAAA,WAAW,KAAK,KAAK,CACvB,SAAQ,KAAK,KAAK,QAAQ,kBAAA,SAAS,GAAG,CAAC;;AAO3C,OAAM,UAAU,OACb,MAAM,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAC5B,SAAS,MAAM,OAAO,MAAM,YAAY,QAAQ,KAAK,EAAE,CAAC;AAG3D,QAAO,QAAQ,QAAQ,GAAG,OAAO,QAAQ,KAAK,IAAI,QAAQ,EAAE,KAAK,MAAM;;AAGzE,IAAM,gBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAG1B,MAAM,cADW,cAAA,aAAa,SAAS,MAAM,CAES,aAAA,sBAAsB,UAAU;AACtF,KAAK,GAAmB,QAAQ,UAAU;EACxC,MAAM,cAAe,GAAmB,QAAQ,YAAY,IAAI,MAAM,IAAI;AAC1E,MAAI,WAAW,WAAW,EAAG;AAC7B,OAAK,MAAM,YAAY,YAAY;GACjC,MAAM,WAAW,uBAAA,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,SACH;AAEF,OAAI,CAAC,QAAQ,SAAS,SAAS,CAC7B,UAAS,kBAAkB,SAAS,IAAI,MAAM;;;AAIlD,IAAmB,QAAQ,WAAW,QAAQ,KAAK,IAAI;AAEzD,SAAQ,QAAQ,OAAO,aAAa;EAClC,IAAI,QAAQ;EACZ,MAAM,cAAc;EACpB,MAAM,UAAU;AAGhB,SAAO,QAAQ,aAAa;AAE1B,OAAI,CAAE,GAAmB,QAAQ,SAE/B;GAGF,MAAM,WAAW,uBAAA,kBAAkB,aAAa,SAAS;AACzD,OAAI,CAAC,UAAU;AACb;AACA,QAAI,QAAQ,aAAa;AACvB,WAAM,IAAI,SAAS,YAAY,WAAW,SAAS,QAAQ,CAAC;AAC5D;;AAGF,QAAK,GAAmB,QAAQ,SAC9B,SAAQ,KACN,+BAA+B,SAAS,mBAAmB,cAAc,QAAQ,IAClF;AAEH;;AAIF,OAAI,CAAE,GAAmB,QAAQ,SAAU;AAG3C,YAAS,kBAAkB,SAAS,IAAI,MAAM;AAC9C,YAAS,gBAAgB,SAAS,GAAG;AACrC;;GAEF;AAEF,IAAG,aAAa,iBAAiB,QAAQ,KAAK,IAAI,CAAC;;AAErD,IAAM,iBACJ,IACA,SACA,UACG;CAEH,MAAM,UAAU,WAAW,SAAS,GAAG;AACvC,KAAI,QAAQ,WAAW,EAAG;CAE1B,MAAM,cADW,cAAA,aAAa,SAAS,OAAO,KAAK,CAEG,aAAA,sBAAsB,UAAU;AAEtF,SAAQ,SAAS,aAAa;EAC5B,MAAM,WAAW,uBAAA,kBAAkB,aAAa,SAAS;AACzD,MAAI,CAAC,SACH;AAGF,WAAS,kBAAkB,SAAS,IAAI,KAAK;GAC7C;AAIF,IAAG,gBAAgB,gBAAgB;AACnC,QAAQ,GAAmB,QAAQ;;AAGrC,IAAa,WAA+B;CAC1C,SAAS;CACT,SAAS;CACT,WAAW;CACZ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as resolveDirectiveProps } from "../../../floatingUi-8xXp54zf.mjs";
|
|
2
|
-
import { t as createFloatingDirective } from "../../../utils-
|
|
2
|
+
import { t as createFloatingDirective } from "../../../utils-BbYwYPyP.mjs";
|
|
3
3
|
import "vue";
|
|
4
4
|
//#region src/directives/BTooltip/index.ts
|
|
5
5
|
var vBTooltip = createFloatingDirective("$__tooltip", "BTooltip", (text, defaults, binding, el) => ({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_floatingUi = require("../../../floatingUi-9SWu8BgZ.js");
|
|
3
|
-
const require_utils = require("../../../utils-
|
|
3
|
+
const require_utils = require("../../../utils-ePxMJ7rd.js");
|
|
4
4
|
require("vue");
|
|
5
5
|
//#region src/directives/BTooltip/index.ts
|
|
6
6
|
var vBTooltip = require_utils.createFloatingDirective("$__tooltip", "BTooltip", (text, defaults, binding, el) => ({
|
|
@@ -26,8 +26,15 @@ var useFormSelect = (options, props) => {
|
|
|
26
26
|
label,
|
|
27
27
|
options: opts
|
|
28
28
|
};
|
|
29
|
+
const simpleOption = typeof option === "object" ? { ...option } : {};
|
|
30
|
+
const fieldsToOmit = new Set(["label", "options"]);
|
|
31
|
+
if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
|
|
32
|
+
if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
|
|
33
|
+
fieldsToOmit.forEach((field) => {
|
|
34
|
+
delete simpleOption[field];
|
|
35
|
+
});
|
|
29
36
|
return {
|
|
30
|
-
...
|
|
37
|
+
...simpleOption,
|
|
31
38
|
value,
|
|
32
39
|
text,
|
|
33
40
|
disabled
|
|
@@ -42,4 +49,4 @@ var useFormSelect = (options, props) => {
|
|
|
42
49
|
//#endregion
|
|
43
50
|
export { useFormSelect as t };
|
|
44
51
|
|
|
45
|
-
//# sourceMappingURL=useFormSelect-
|
|
52
|
+
//# sourceMappingURL=useFormSelect-BM0rsjni.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormSelect-BM0rsjni.mjs","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,aAAa,QAAQ,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,mBAFkB,eAAe,iBAAiB,QAAQ,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|
|
@@ -27,8 +27,15 @@ var useFormSelect = (options, props) => {
|
|
|
27
27
|
label,
|
|
28
28
|
options: opts
|
|
29
29
|
};
|
|
30
|
+
const simpleOption = typeof option === "object" ? { ...option } : {};
|
|
31
|
+
const fieldsToOmit = new Set(["label", "options"]);
|
|
32
|
+
if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField);
|
|
33
|
+
if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField);
|
|
34
|
+
fieldsToOmit.forEach((field) => {
|
|
35
|
+
delete simpleOption[field];
|
|
36
|
+
});
|
|
30
37
|
return {
|
|
31
|
-
...
|
|
38
|
+
...simpleOption,
|
|
32
39
|
value,
|
|
33
40
|
text,
|
|
34
41
|
disabled
|
|
@@ -48,4 +55,4 @@ Object.defineProperty(exports, "useFormSelect", {
|
|
|
48
55
|
}
|
|
49
56
|
});
|
|
50
57
|
|
|
51
|
-
//# sourceMappingURL=useFormSelect-
|
|
58
|
+
//# sourceMappingURL=useFormSelect-ClmzGzOy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormSelect-ClmzGzOy.js","names":[],"sources":["../src/composables/useFormSelect.ts"],"sourcesContent":["import {computed, type MaybeRefOrGetter, toValue} from 'vue'\nimport {get} from '../utils/object'\nimport type {ComplexSelectOptionRaw, SelectOption} from '../types'\n\nexport const useFormSelect = (\n options: MaybeRefOrGetter<ReadonlyArray<unknown>>,\n props: MaybeRefOrGetter<{\n valueField: string\n textField: string\n disabledField: string\n optionsField?: string\n labelField?: string\n }>\n) => {\n const isComplex = (option: unknown): option is ComplexSelectOptionRaw =>\n typeof option === 'object' &&\n option !== null &&\n 'options' in option &&\n Array.isArray((option as Record<string, unknown>).options)\n\n const normalizeOption = (option: unknown): ComplexSelectOptionRaw | SelectOption => {\n const propsValue = toValue(props)\n\n if (typeof option === 'string') {\n return {value: option, text: option} satisfies SelectOption\n }\n if (typeof option === 'number' || typeof option === 'boolean') {\n return {value: option, text: `${option}`} satisfies SelectOption\n }\n if (option instanceof Date) {\n return {value: option, text: option.toLocaleString()} satisfies SelectOption\n }\n\n const value: unknown = get(option, propsValue.valueField)\n const text: string = get(option, propsValue.textField)\n const disabled: boolean = get(option, propsValue.disabledField)\n\n const opts: undefined | unknown[] = propsValue.optionsField\n ? get(option, propsValue.optionsField)\n : undefined\n const label: string | undefined =\n (propsValue.labelField ? get(option, propsValue.labelField) : undefined) || text\n\n if (opts !== undefined && Array.isArray(opts)) {\n return {\n label,\n options: opts,\n } as ComplexSelectOptionRaw\n }\n\n const simpleOption =\n typeof option === 'object'\n ? {...(option as Record<string, unknown>)}\n : ({} as Record<string, unknown>)\n\n const fieldsToOmit = new Set(['label', 'options'])\n if (propsValue.labelField) fieldsToOmit.add(propsValue.labelField)\n if (propsValue.optionsField) fieldsToOmit.add(propsValue.optionsField)\n fieldsToOmit.forEach((field) => {\n delete simpleOption[field]\n })\n\n return {\n ...simpleOption,\n value,\n text,\n disabled,\n } satisfies SelectOption\n }\n\n const normalizeOptions = (\n opts: ReadonlyArray<unknown>\n ): (ComplexSelectOptionRaw | SelectOption)[] => opts.map((option) => normalizeOption(option))\n\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)))\n\n return {normalizedOptions, isComplex}\n}\n"],"mappings":";;;;AAIA,IAAa,iBACX,SACA,UAOG;CACH,MAAM,aAAa,WACjB,OAAO,WAAW,YAClB,WAAW,QACX,aAAa,UACb,MAAM,QAAS,OAAmC,QAAQ;CAE5D,MAAM,mBAAmB,WAA2D;EAClF,MAAM,cAAA,GAAA,IAAA,SAAqB,MAAM;AAEjC,MAAI,OAAO,WAAW,SACpB,QAAO;GAAC,OAAO;GAAQ,MAAM;GAAO;AAEtC,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAClD,QAAO;GAAC,OAAO;GAAQ,MAAM,GAAG;GAAS;AAE3C,MAAI,kBAAkB,KACpB,QAAO;GAAC,OAAO;GAAQ,MAAM,OAAO,gBAAgB;GAAC;EAGvD,MAAM,QAAiB,eAAA,IAAI,QAAQ,WAAW,WAAW;EACzD,MAAM,OAAe,eAAA,IAAI,QAAQ,WAAW,UAAU;EACtD,MAAM,WAAoB,eAAA,IAAI,QAAQ,WAAW,cAAc;EAE/D,MAAM,OAA8B,WAAW,eAC3C,eAAA,IAAI,QAAQ,WAAW,aAAa,GACpC,KAAA;EACJ,MAAM,SACH,WAAW,aAAa,eAAA,IAAI,QAAQ,WAAW,WAAW,GAAG,KAAA,MAAc;AAE9E,MAAI,SAAS,KAAA,KAAa,MAAM,QAAQ,KAAK,CAC3C,QAAO;GACL;GACA,SAAS;GACV;EAGH,MAAM,eACJ,OAAO,WAAW,WACd,EAAC,GAAI,QAAmC,GACvC,EAAE;EAET,MAAM,eAAe,IAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAClD,MAAI,WAAW,WAAY,cAAa,IAAI,WAAW,WAAW;AAClE,MAAI,WAAW,aAAc,cAAa,IAAI,WAAW,aAAa;AACtE,eAAa,SAAS,UAAU;AAC9B,UAAO,aAAa;IACpB;AAEF,SAAO;GACL,GAAG;GACH;GACA;GACA;GACD;;CAGH,MAAM,oBACJ,SAC8C,KAAK,KAAK,WAAW,gBAAgB,OAAO,CAAC;AAI7F,QAAO;EAAC,oBAAA,GAAA,IAAA,gBAFiC,kBAAA,GAAA,IAAA,SAAyB,QAAQ,CAAC,CAAC;EAEjD;EAAU"}
|
|
@@ -69,10 +69,10 @@ function cleanupDirectiveInstance(el, propertyName, uid) {
|
|
|
69
69
|
delete elWithProps[propertyName][uid];
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
function findProvides(binding, vnode) {
|
|
73
|
-
return (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance
|
|
72
|
+
function findProvides(binding, vnode, suppressParentNotFoundError = false) {
|
|
73
|
+
return (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$, suppressParentNotFoundError)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides;
|
|
74
74
|
}
|
|
75
|
-
function findComponentParent(vnode, root) {
|
|
75
|
+
function findComponentParent(vnode, root, suppressNotFoundError = false) {
|
|
76
76
|
const stack = /* @__PURE__ */ new Set();
|
|
77
77
|
const walk = (children) => {
|
|
78
78
|
for (const child of children) {
|
|
@@ -89,7 +89,7 @@ function findComponentParent(vnode, root) {
|
|
|
89
89
|
return false;
|
|
90
90
|
};
|
|
91
91
|
if (!walk([root.subTree])) {
|
|
92
|
-
console.error("Could not find original vnode,
|
|
92
|
+
if (!suppressNotFoundError) console.error("Could not find original vnode, will not inherit provides");
|
|
93
93
|
return root;
|
|
94
94
|
}
|
|
95
95
|
const result = Array.from(stack).reverse();
|
|
@@ -166,4 +166,4 @@ function createFloatingDirective(propertyName, componentDefaultsKey, buildProps)
|
|
|
166
166
|
//#endregion
|
|
167
167
|
export { findProvides as n, getDirectiveUid as r, createFloatingDirective as t };
|
|
168
168
|
|
|
169
|
-
//# sourceMappingURL=utils-
|
|
169
|
+
//# sourceMappingURL=utils-BbYwYPyP.mjs.map
|