bootstrap-vue-next 0.24.21 → 0.24.23

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.
Files changed (48) hide show
  1. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-CCBMSTuN.mjs → BDropdown.vue_vue_type_script_setup_true_lang-DHJEJkfU.mjs} +2 -2
  2. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-CCBMSTuN.mjs.map → BDropdown.vue_vue_type_script_setup_true_lang-DHJEJkfU.mjs.map} +1 -1
  3. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-C5FmjcaQ.js → BDropdown.vue_vue_type_script_setup_true_lang-DJ8E2s9w.js} +2 -2
  4. package/dist/{BDropdown.vue_vue_type_script_setup_true_lang-C5FmjcaQ.js.map → BDropdown.vue_vue_type_script_setup_true_lang-DJ8E2s9w.js.map} +1 -1
  5. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DD9a9EtK.mjs → BNavText.vue_vue_type_script_setup_true_lang-BvxFgQap.mjs} +2 -2
  6. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DD9a9EtK.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-BvxFgQap.mjs.map} +1 -1
  7. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-B4QWFIHh.js → BNavText.vue_vue_type_script_setup_true_lang-KXgf724R.js} +2 -2
  8. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-B4QWFIHh.js.map → BNavText.vue_vue_type_script_setup_true_lang-KXgf724R.js.map} +1 -1
  9. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UfmK9QvC.js → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Ceqiq8yq.js} +2 -2
  10. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UfmK9QvC.js.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Ceqiq8yq.js.map} +1 -1
  11. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CSpk5s_J.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DLI1TgLc.mjs} +2 -2
  12. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CSpk5s_J.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DLI1TgLc.mjs.map} +1 -1
  13. package/dist/{BTable.vue_vue_type_script_setup_true_lang-DJaXQe4Y.js → BTable.vue_vue_type_script_setup_true_lang-D0H4HA45.js} +2 -2
  14. package/dist/{BTable.vue_vue_type_script_setup_true_lang-DJaXQe4Y.js.map → BTable.vue_vue_type_script_setup_true_lang-D0H4HA45.js.map} +1 -1
  15. package/dist/{BTable.vue_vue_type_script_setup_true_lang-Dt0wgrA9.mjs → BTable.vue_vue_type_script_setup_true_lang-DSox5TGm.mjs} +3 -3
  16. package/dist/{BTable.vue_vue_type_script_setup_true_lang-Dt0wgrA9.mjs.map → BTable.vue_vue_type_script_setup_true_lang-DSox5TGm.mjs.map} +1 -1
  17. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-ChH3484e.mjs → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-ByHTqqBN.mjs} +2 -2
  18. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-ChH3484e.mjs.map → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-ByHTqqBN.mjs.map} +1 -1
  19. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-D1k-lHaI.js → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-CyMc6yBT.js} +2 -2
  20. package/dist/{BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-D1k-lHaI.js.map → BTooltipOrchestrator.vue_vue_type_script_setup_true_lang-CyMc6yBT.js.map} +1 -1
  21. package/dist/bootstrap-vue-next.mjs +7 -7
  22. package/dist/bootstrap-vue-next.umd.js +1 -1
  23. package/dist/{floatingUi-CoKQ-nw7.js → floatingUi-DJR8_ocF.js} +2 -2
  24. package/dist/{floatingUi-CoKQ-nw7.js.map → floatingUi-DJR8_ocF.js.map} +1 -1
  25. package/dist/{floatingUi-5pxbgyLd.mjs → floatingUi-DkjyEWfi.mjs} +2 -1
  26. package/dist/{floatingUi-5pxbgyLd.mjs.map → floatingUi-DkjyEWfi.mjs.map} +1 -1
  27. package/dist/{index-CMONpMLQ.js → index-C7kcrOQ4.js} +2 -2
  28. package/dist/index-C7kcrOQ4.js.map +1 -0
  29. package/dist/{index-37_70l80.mjs → index-DqOGTCS_.mjs} +7 -7
  30. package/dist/{index-37_70l80.mjs.map → index-DqOGTCS_.mjs.map} +1 -1
  31. package/dist/src/components/BDropdown/index.mjs +1 -1
  32. package/dist/src/components/BDropdown/index.umd.js +1 -1
  33. package/dist/src/components/BNav/index.mjs +1 -1
  34. package/dist/src/components/BNav/index.umd.js +1 -1
  35. package/dist/src/components/BPopover/index.mjs +2 -2
  36. package/dist/src/components/BPopover/index.umd.js +1 -1
  37. package/dist/src/components/BTable/index.mjs +1 -1
  38. package/dist/src/components/BTable/index.umd.js +1 -1
  39. package/dist/src/components/BTooltip/index.mjs +1 -1
  40. package/dist/src/components/BTooltip/index.umd.js +1 -1
  41. package/dist/src/components/index.mjs +6 -6
  42. package/dist/src/components/index.umd.js +1 -1
  43. package/dist/src/directives/BPopover/index.mjs +1 -1
  44. package/dist/src/directives/BPopover/index.umd.js +1 -1
  45. package/dist/src/directives/BTooltip/index.mjs +1 -1
  46. package/dist/src/directives/BTooltip/index.umd.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/index-CMONpMLQ.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, mergeModels, useModel, inject, computed, ref, toRef, watch, provide, openBlock, createBlock, unref, normalizeClass, withCtx, createVNode, renderSlot, createTextVNode, toDisplayString, createElementVNode, createCommentVNode, withDirectives, createElementBlock, normalizeStyle, vShow, nextTick } from "vue";
2
- import { i as isBoundary, d as isRootBoundary, e as resolveFloatingPlacement, f as flip, s as shift, g as size, h as useFloating, z, o as offset } from "./floatingUi-5pxbgyLd.mjs";
2
+ import { i as isBoundary, d as isRootBoundary, e as resolveFloatingPlacement, f as flip, s as shift, g as size, h as useFloating, z, o as offset } from "./floatingUi-DkjyEWfi.mjs";
3
3
  import { o as onKeyStroke, d as onClickOutside } from "./index-DngH9Pjm.mjs";
4
4
  import { u as useDefaults } from "./useDefaults-BuoSLvNO.mjs";
5
5
  import { u as useId } from "./useId-SLUTyEVA.mjs";
@@ -336,4 +336,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
336
336
  export {
337
337
  _sfc_main as _
338
338
  };
339
- //# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-CCBMSTuN.mjs.map
339
+ //# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-DHJEJkfU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BDropdown.vue_vue_type_script_setup_true_lang-CCBMSTuN.mjs","sources":["../src/components/BDropdown/BDropdown.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n ref=\"wrapper\"\n :skip=\"inInputGroup || props.skipWrapper\"\n :class=\"computedClasses\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : modelValue\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\">\n {{ props.text }}\n </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n ref=\"button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: modelValue}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"modelValue\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <ul\n v-if=\"!props.lazy || modelValue\"\n v-show=\"props.lazy || modelValue\"\n ref=\"floating\"\n :style=\"[floatingStyles, sizeStyles]\"\n class=\"dropdown-menu overflow-auto\"\n :class=\"[props.menuClass, {show: modelValue}]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot :hide=\"hide\" :show=\"show\" />\n </ul>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {computed, type CSSProperties, inject, nextTick, provide, ref, toRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {BvTriggerableEvent} from '../../utils'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveFloatingPlacement} from '../../utils/floatingUi'\nimport {dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n skipWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'secondary',\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floating = ref<HTMLElement | null>(null)\nconst button = ref<HTMLElement | null>(null)\nconst splitButton = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referencePlacement = computed(() => (!props.split ? splitButton.value : button.value))\n\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: referencePlacement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: floating}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floating.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!modelValue.value) {\n open()\n nextTick(() => keynav(e, v))\n return\n }\n const list = floating.value?.querySelectorAll('.dropdown-item:not(.disabled):not(:disabled)')\n if (!list) return\n if (floating.value?.contains(document.activeElement)) {\n const active = floating.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referencePlacement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referencePlacement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floating})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floating})\n\nconst floatingPlacement = computed(() =>\n resolveFloatingPlacement({\n top: props.dropup,\n start: props.dropstart,\n end: props.dropend,\n alignCenter: props.center,\n alignEnd: props.end,\n })\n)\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n maxHeight: availableHeight && modelValue.value ? `${availableHeight}px` : undefined,\n maxWidth: availableWidth && modelValue.value ? `${availableWidth}px` : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referencePlacement, floating, {\n placement: floatingPlacement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy),\n whileElementsMounted: autoUpdate,\n})\n\nconst computedClasses = computed(() => [\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n 'dropdown': !props.wrapperClass && !props.split,\n 'dropup': props.dropup,\n 'dropend': props.dropend,\n 'dropstart': props.dropstart,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : modelValue.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n props.split ? emit('click', event) : onButtonClick()\n}\n\nonClickOutside(\n floating,\n () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'outside')) {\n toggle()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'inside')) {\n toggle()\n }\n}\n\nconst hide = () => {\n modelValue.value && toggle()\n}\nconst show = () => {\n modelValue.value || toggle()\n}\nconst toggle = () => {\n emit('toggle')\n const currentModelValue = modelValue.value\n const e = new BvTriggerableEvent(currentModelValue ? 'hide' : 'show')\n currentModelValue ? emit('hide', e) : emit('show', e)\n if (e.defaultPrevented) {\n currentModelValue ? emit('hide-prevented') : emit('show-prevented')\n return\n }\n modelValue.value = !currentModelValue\n currentModelValue ? emit('hidden') : emit('shown')\n wrapper.value?.dispatchEvent?.(new Event('forceHide'))\n}\n\nwatch(modelValue, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => modelValue.value),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"names":["_useModel","offsetMiddleware","sizeMiddleware","autoUpdate"],"mappings":"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"}
1
+ {"version":3,"file":"BDropdown.vue_vue_type_script_setup_true_lang-DHJEJkfU.mjs","sources":["../src/components/BDropdown/BDropdown.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n ref=\"wrapper\"\n :skip=\"inInputGroup || props.skipWrapper\"\n :class=\"computedClasses\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : modelValue\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\">\n {{ props.text }}\n </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n ref=\"button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: modelValue}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"modelValue\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <ul\n v-if=\"!props.lazy || modelValue\"\n v-show=\"props.lazy || modelValue\"\n ref=\"floating\"\n :style=\"[floatingStyles, sizeStyles]\"\n class=\"dropdown-menu overflow-auto\"\n :class=\"[props.menuClass, {show: modelValue}]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot :hide=\"hide\" :show=\"show\" />\n </ul>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {computed, type CSSProperties, inject, nextTick, provide, ref, toRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {BvTriggerableEvent} from '../../utils'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveFloatingPlacement} from '../../utils/floatingUi'\nimport {dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n skipWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'secondary',\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floating = ref<HTMLElement | null>(null)\nconst button = ref<HTMLElement | null>(null)\nconst splitButton = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referencePlacement = computed(() => (!props.split ? splitButton.value : button.value))\n\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: referencePlacement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: floating}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floating.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!modelValue.value) {\n open()\n nextTick(() => keynav(e, v))\n return\n }\n const list = floating.value?.querySelectorAll('.dropdown-item:not(.disabled):not(:disabled)')\n if (!list) return\n if (floating.value?.contains(document.activeElement)) {\n const active = floating.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referencePlacement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referencePlacement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floating})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floating})\n\nconst floatingPlacement = computed(() =>\n resolveFloatingPlacement({\n top: props.dropup,\n start: props.dropstart,\n end: props.dropend,\n alignCenter: props.center,\n alignEnd: props.end,\n })\n)\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n maxHeight: availableHeight && modelValue.value ? `${availableHeight}px` : undefined,\n maxWidth: availableWidth && modelValue.value ? `${availableWidth}px` : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referencePlacement, floating, {\n placement: floatingPlacement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy),\n whileElementsMounted: autoUpdate,\n})\n\nconst computedClasses = computed(() => [\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n 'dropdown': !props.wrapperClass && !props.split,\n 'dropup': props.dropup,\n 'dropend': props.dropend,\n 'dropstart': props.dropstart,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : modelValue.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n props.split ? emit('click', event) : onButtonClick()\n}\n\nonClickOutside(\n floating,\n () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'outside')) {\n toggle()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'inside')) {\n toggle()\n }\n}\n\nconst hide = () => {\n modelValue.value && toggle()\n}\nconst show = () => {\n modelValue.value || toggle()\n}\nconst toggle = () => {\n emit('toggle')\n const currentModelValue = modelValue.value\n const e = new BvTriggerableEvent(currentModelValue ? 'hide' : 'show')\n currentModelValue ? emit('hide', e) : emit('show', e)\n if (e.defaultPrevented) {\n currentModelValue ? emit('hide-prevented') : emit('show-prevented')\n return\n }\n modelValue.value = !currentModelValue\n currentModelValue ? emit('hidden') : emit('shown')\n wrapper.value?.dispatchEvent?.(new Event('forceHide'))\n}\n\nwatch(modelValue, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => modelValue.value),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"names":["_useModel","offsetMiddleware","sizeMiddleware","autoUpdate"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./floatingUi-CoKQ-nw7.js"),o=require("./index-CnY1um_J.js"),a=require("./useDefaults-C2groUjC.js"),l=require("./useId-D-t4Y3Sk.js"),r=require("./classes-CXBJXuVd.js"),n=require("./BButton.vue_vue_type_script_setup_true_lang-sjMGFjGE.js"),d=require("./ConditionalWrapper.vue_vue_type_script_lang-BClbTb87.js"),i=require("./ConditionalTeleport.vue_vue_type_script_lang-nP1ZUfLS.js"),u=require("./keys-Dkmt9nlW.js"),s=require("./index-BInTFWT4.js"),p={class:"visually-hidden"},f=["aria-labelledby","role"],v=e.defineComponent({__name:"BDropdown",props:e.mergeModels({ariaLabel:{default:void 0},autoClose:{type:[Boolean,String],default:!0},boundary:{default:"clippingAncestors"},boundaryPadding:{default:void 0},center:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},dropend:{type:Boolean,default:!1},dropstart:{type:Boolean,default:!1},dropup:{type:Boolean,default:!1},end:{type:Boolean,default:!1},floatingMiddleware:{default:void 0},id:{default:void 0},isNav:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},menuClass:{default:void 0},noCaret:{type:Boolean,default:!1},noFlip:{type:Boolean,default:!1},noShift:{type:Boolean,default:!1},noSize:{type:Boolean,default:!1},offset:{default:0},role:{default:"menu"},size:{default:"md"},skipWrapper:{type:Boolean,default:!1},split:{type:Boolean,default:!1},splitButtonType:{default:"button"},splitClass:{default:void 0},splitDisabled:{type:Boolean,default:void 0},splitHref:{default:void 0},splitTo:{default:void 0},splitVariant:{default:void 0},strategy:{default:"absolute"},text:{default:void 0},toggleClass:{default:void 0},toggleText:{default:"Toggle dropdown"},variant:{default:"secondary"},wrapperClass:{default:void 0},teleportDisabled:{type:Boolean,default:!1},teleportTo:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["click","hidden","hide","hide-prevented","show","show-prevented","shown","toggle"],["update:modelValue"]),setup(v,{expose:c,emit:y}){const g=v,m=a.useDefaults(g,"BDropdown"),w=y,h=l.useId((()=>m.id),"dropdown"),b=e.useModel(v,"modelValue"),B=e.inject(u.inputGroupKey,!1),C=e.computed((()=>"string"==typeof m.offset||"number"==typeof m.offset?m.offset:NaN)),_=s.useToNumber(C),k=e.ref(null),x=e.ref(null),S=e.ref(null),z=e.ref(null),T=e.computed((()=>t.isBoundary(m.boundary)?m.boundary:void 0)),N=e.computed((()=>t.isRootBoundary(m.boundary)?m.boundary:void 0)),D=e.computed((()=>m.split?x.value:S.value));o.onKeyStroke("Escape",(()=>{b.value=!b.value}),{target:D}),o.onKeyStroke("Escape",(()=>{b.value=!b.value}),{target:k});const q=(t,o)=>{var a,l,r,n,d,i,u;if(null==(l=k.value)?void 0:l.contains(null==(a=t.target)?void 0:a.closest("form")))return;if(/input|select|option|textarea|form/i.test(null==(r=t.target)?void 0:r.tagName))return;if(t.preventDefault(),!b.value)return open(),void e.nextTick((()=>q(t,o)));const s=null==(n=k.value)?void 0:n.querySelectorAll(".dropdown-item:not(.disabled):not(:disabled)");if(s)if(null==(d=k.value)?void 0:d.contains(document.activeElement)){const e=k.value.querySelector(".dropdown-item:focus"),t=Array.prototype.indexOf.call(s,e)+o;t>=0&&t<(null==s?void 0:s.length)&&(null==(i=s[t])||i.focus())}else null==(u=s[-1===o?s.length-1:0])||u.focus()};o.onKeyStroke("ArrowUp",(e=>q(e,-1)),{target:D}),o.onKeyStroke("ArrowDown",(e=>q(e,1)),{target:D}),o.onKeyStroke("ArrowUp",(e=>q(e,-1)),{target:k}),o.onKeyStroke("ArrowDown",(e=>q(e,1)),{target:k});const V=e.computed((()=>t.resolveFloatingPlacement({top:m.dropup,start:m.dropstart,end:m.dropend,alignCenter:m.center,alignEnd:m.end}))),j=e.ref({}),E=e.computed((()=>{if(void 0!==m.floatingMiddleware)return m.floatingMiddleware;const e="string"==typeof m.offset||"number"==typeof m.offset?_.value:m.offset,o=[t.offset(e)];return!1===m.noFlip&&o.push(t.flip({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding})),!1===m.noShift&&o.push(t.shift({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding})),!1===m.noSize&&o.push(t.size({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding,apply({availableWidth:e,availableHeight:t}){j.value={maxHeight:t&&b.value?`${t}px`:void 0,maxWidth:e&&b.value?`${e}px`:void 0}}})),o})),{update:A,floatingStyles:K}=t.useFloating(D,k,{placement:V,middleware:E,strategy:e.toRef((()=>m.strategy)),whileElementsMounted:t.z}),M=e.computed((()=>[m.wrapperClass,{"btn-group":!m.wrapperClass&&m.split,dropdown:!m.wrapperClass&&!m.split,dropup:m.dropup,dropend:m.dropend,dropstart:m.dropstart,"position-static":"clippingAncestors"!==m.boundary&&!m.isNav}])),P=e.computed((()=>[m.split?m.splitClass:m.toggleClass,{"nav-link":m.isNav,"dropdown-toggle":!m.split,"dropdown-toggle-no-caret":m.noCaret&&!m.split,show:m.split?void 0:b.value}])),W=()=>{I()},H=e=>{m.split?w("click",e):W()};o.onClickOutside(k,(()=>{!b.value||!0!==m.autoClose&&"outside"!==m.autoClose||I()}),{ignore:[x,S]});const $=()=>{!b.value||!0!==m.autoClose&&"inside"!==m.autoClose||I()},F=()=>{b.value&&I()},R=()=>{b.value||I()},I=()=>{var e,t;w("toggle");const o=b.value,a=new r.BvTriggerableEvent(o?"hide":"show");w(o?"hide":"show",a),a.defaultPrevented?w(o?"hide-prevented":"show-prevented"):(b.value=!o,w(o?"hidden":"shown"),null==(t=null==(e=z.value)?void 0:e.dispatchEvent)||t.call(e,new Event("forceHide")))};return e.watch(b,(()=>{A()})),c({hide:F,show:R,toggle:I}),e.provide(u.dropdownInjectionKey,{id:h,show:R,hide:F,toggle:I,visible:e.toRef((()=>b.value)),isNav:e.toRef((()=>m.isNav))}),(t,o)=>(e.openBlock(),e.createBlock(d._sfc_main,{ref_key:"wrapper",ref:z,skip:e.unref(B)||e.unref(m).skipWrapper,class:e.normalizeClass(M.value)},{default:e.withCtx((()=>[e.createVNode(n._sfc_main,{id:e.unref(h),ref_key:"splitButton",ref:S,variant:e.unref(m).splitVariant||e.unref(m).variant,size:e.unref(m).size,class:e.normalizeClass(P.value),disabled:e.unref(m).splitDisabled||e.unref(m).disabled,type:e.unref(m).splitButtonType,"aria-label":e.unref(m).ariaLabel,"aria-expanded":e.unref(m).split?void 0:b.value,"aria-haspopup":e.unref(m).split?void 0:"menu",href:e.unref(m).split?e.unref(m).splitHref:void 0,to:e.unref(m).split&&e.unref(m).splitTo?e.unref(m).splitTo:void 0,onClick:H},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"button-content",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).text),1)]))])),_:3},8,["id","variant","size","class","disabled","type","aria-label","aria-expanded","aria-haspopup","href","to"]),e.unref(m).split?(e.openBlock(),e.createBlock(n._sfc_main,{key:0,ref_key:"button",ref:x,variant:e.unref(m).variant,size:e.unref(m).size,disabled:e.unref(m).disabled,class:e.normalizeClass([[e.unref(m).toggleClass,{show:b.value}],"dropdown-toggle-split dropdown-toggle"]),"aria-expanded":b.value,"aria-haspopup":"menu",onClick:W},{default:e.withCtx((()=>[e.createElementVNode("span",p,[e.renderSlot(t.$slots,"toggle-text",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).toggleText),1)]))])])),_:3},8,["variant","size","disabled","class","aria-expanded"])):e.createCommentVNode("",!0),e.createVNode(i._sfc_main,{to:e.unref(m).teleportTo,disabled:!e.unref(m).teleportTo||e.unref(m).teleportDisabled},{default:e.withCtx((()=>[!e.unref(m).lazy||b.value?e.withDirectives((e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"floating",ref:k,style:e.normalizeStyle([e.unref(K),j.value]),class:e.normalizeClass(["dropdown-menu overflow-auto",[e.unref(m).menuClass,{show:b.value}]]),"aria-labelledby":e.unref(h),role:e.unref(m).role,onClick:$},[e.renderSlot(t.$slots,"default",{hide:F,show:R})],14,f)),[[e.vShow,e.unref(m).lazy||b.value]]):e.createCommentVNode("",!0)])),_:3},8,["to","disabled"])])),_:3},8,["skip","class"]))}});exports._sfc_main=v;
2
- //# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-C5FmjcaQ.js.map
1
+ "use strict";const e=require("vue"),t=require("./floatingUi-DJR8_ocF.js"),o=require("./index-CnY1um_J.js"),a=require("./useDefaults-C2groUjC.js"),l=require("./useId-D-t4Y3Sk.js"),r=require("./classes-CXBJXuVd.js"),n=require("./BButton.vue_vue_type_script_setup_true_lang-sjMGFjGE.js"),d=require("./ConditionalWrapper.vue_vue_type_script_lang-BClbTb87.js"),i=require("./ConditionalTeleport.vue_vue_type_script_lang-nP1ZUfLS.js"),u=require("./keys-Dkmt9nlW.js"),s=require("./index-BInTFWT4.js"),p={class:"visually-hidden"},f=["aria-labelledby","role"],v=e.defineComponent({__name:"BDropdown",props:e.mergeModels({ariaLabel:{default:void 0},autoClose:{type:[Boolean,String],default:!0},boundary:{default:"clippingAncestors"},boundaryPadding:{default:void 0},center:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},dropend:{type:Boolean,default:!1},dropstart:{type:Boolean,default:!1},dropup:{type:Boolean,default:!1},end:{type:Boolean,default:!1},floatingMiddleware:{default:void 0},id:{default:void 0},isNav:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},menuClass:{default:void 0},noCaret:{type:Boolean,default:!1},noFlip:{type:Boolean,default:!1},noShift:{type:Boolean,default:!1},noSize:{type:Boolean,default:!1},offset:{default:0},role:{default:"menu"},size:{default:"md"},skipWrapper:{type:Boolean,default:!1},split:{type:Boolean,default:!1},splitButtonType:{default:"button"},splitClass:{default:void 0},splitDisabled:{type:Boolean,default:void 0},splitHref:{default:void 0},splitTo:{default:void 0},splitVariant:{default:void 0},strategy:{default:"absolute"},text:{default:void 0},toggleClass:{default:void 0},toggleText:{default:"Toggle dropdown"},variant:{default:"secondary"},wrapperClass:{default:void 0},teleportDisabled:{type:Boolean,default:!1},teleportTo:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["click","hidden","hide","hide-prevented","show","show-prevented","shown","toggle"],["update:modelValue"]),setup(v,{expose:c,emit:y}){const g=v,m=a.useDefaults(g,"BDropdown"),w=y,h=l.useId((()=>m.id),"dropdown"),b=e.useModel(v,"modelValue"),B=e.inject(u.inputGroupKey,!1),C=e.computed((()=>"string"==typeof m.offset||"number"==typeof m.offset?m.offset:NaN)),_=s.useToNumber(C),k=e.ref(null),x=e.ref(null),S=e.ref(null),z=e.ref(null),T=e.computed((()=>t.isBoundary(m.boundary)?m.boundary:void 0)),N=e.computed((()=>t.isRootBoundary(m.boundary)?m.boundary:void 0)),D=e.computed((()=>m.split?x.value:S.value));o.onKeyStroke("Escape",(()=>{b.value=!b.value}),{target:D}),o.onKeyStroke("Escape",(()=>{b.value=!b.value}),{target:k});const q=(t,o)=>{var a,l,r,n,d,i,u;if(null==(l=k.value)?void 0:l.contains(null==(a=t.target)?void 0:a.closest("form")))return;if(/input|select|option|textarea|form/i.test(null==(r=t.target)?void 0:r.tagName))return;if(t.preventDefault(),!b.value)return open(),void e.nextTick((()=>q(t,o)));const s=null==(n=k.value)?void 0:n.querySelectorAll(".dropdown-item:not(.disabled):not(:disabled)");if(s)if(null==(d=k.value)?void 0:d.contains(document.activeElement)){const e=k.value.querySelector(".dropdown-item:focus"),t=Array.prototype.indexOf.call(s,e)+o;t>=0&&t<(null==s?void 0:s.length)&&(null==(i=s[t])||i.focus())}else null==(u=s[-1===o?s.length-1:0])||u.focus()};o.onKeyStroke("ArrowUp",(e=>q(e,-1)),{target:D}),o.onKeyStroke("ArrowDown",(e=>q(e,1)),{target:D}),o.onKeyStroke("ArrowUp",(e=>q(e,-1)),{target:k}),o.onKeyStroke("ArrowDown",(e=>q(e,1)),{target:k});const V=e.computed((()=>t.resolveFloatingPlacement({top:m.dropup,start:m.dropstart,end:m.dropend,alignCenter:m.center,alignEnd:m.end}))),j=e.ref({}),E=e.computed((()=>{if(void 0!==m.floatingMiddleware)return m.floatingMiddleware;const e="string"==typeof m.offset||"number"==typeof m.offset?_.value:m.offset,o=[t.offset(e)];return!1===m.noFlip&&o.push(t.flip({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding})),!1===m.noShift&&o.push(t.shift({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding})),!1===m.noSize&&o.push(t.size({boundary:T.value,rootBoundary:N.value,padding:m.boundaryPadding,apply({availableWidth:e,availableHeight:t}){j.value={maxHeight:t&&b.value?`${t}px`:void 0,maxWidth:e&&b.value?`${e}px`:void 0}}})),o})),{update:A,floatingStyles:K}=t.useFloating(D,k,{placement:V,middleware:E,strategy:e.toRef((()=>m.strategy)),whileElementsMounted:t.z}),M=e.computed((()=>[m.wrapperClass,{"btn-group":!m.wrapperClass&&m.split,dropdown:!m.wrapperClass&&!m.split,dropup:m.dropup,dropend:m.dropend,dropstart:m.dropstart,"position-static":"clippingAncestors"!==m.boundary&&!m.isNav}])),P=e.computed((()=>[m.split?m.splitClass:m.toggleClass,{"nav-link":m.isNav,"dropdown-toggle":!m.split,"dropdown-toggle-no-caret":m.noCaret&&!m.split,show:m.split?void 0:b.value}])),W=()=>{I()},H=e=>{m.split?w("click",e):W()};o.onClickOutside(k,(()=>{!b.value||!0!==m.autoClose&&"outside"!==m.autoClose||I()}),{ignore:[x,S]});const $=()=>{!b.value||!0!==m.autoClose&&"inside"!==m.autoClose||I()},F=()=>{b.value&&I()},R=()=>{b.value||I()},I=()=>{var e,t;w("toggle");const o=b.value,a=new r.BvTriggerableEvent(o?"hide":"show");w(o?"hide":"show",a),a.defaultPrevented?w(o?"hide-prevented":"show-prevented"):(b.value=!o,w(o?"hidden":"shown"),null==(t=null==(e=z.value)?void 0:e.dispatchEvent)||t.call(e,new Event("forceHide")))};return e.watch(b,(()=>{A()})),c({hide:F,show:R,toggle:I}),e.provide(u.dropdownInjectionKey,{id:h,show:R,hide:F,toggle:I,visible:e.toRef((()=>b.value)),isNav:e.toRef((()=>m.isNav))}),(t,o)=>(e.openBlock(),e.createBlock(d._sfc_main,{ref_key:"wrapper",ref:z,skip:e.unref(B)||e.unref(m).skipWrapper,class:e.normalizeClass(M.value)},{default:e.withCtx((()=>[e.createVNode(n._sfc_main,{id:e.unref(h),ref_key:"splitButton",ref:S,variant:e.unref(m).splitVariant||e.unref(m).variant,size:e.unref(m).size,class:e.normalizeClass(P.value),disabled:e.unref(m).splitDisabled||e.unref(m).disabled,type:e.unref(m).splitButtonType,"aria-label":e.unref(m).ariaLabel,"aria-expanded":e.unref(m).split?void 0:b.value,"aria-haspopup":e.unref(m).split?void 0:"menu",href:e.unref(m).split?e.unref(m).splitHref:void 0,to:e.unref(m).split&&e.unref(m).splitTo?e.unref(m).splitTo:void 0,onClick:H},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"button-content",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).text),1)]))])),_:3},8,["id","variant","size","class","disabled","type","aria-label","aria-expanded","aria-haspopup","href","to"]),e.unref(m).split?(e.openBlock(),e.createBlock(n._sfc_main,{key:0,ref_key:"button",ref:x,variant:e.unref(m).variant,size:e.unref(m).size,disabled:e.unref(m).disabled,class:e.normalizeClass([[e.unref(m).toggleClass,{show:b.value}],"dropdown-toggle-split dropdown-toggle"]),"aria-expanded":b.value,"aria-haspopup":"menu",onClick:W},{default:e.withCtx((()=>[e.createElementVNode("span",p,[e.renderSlot(t.$slots,"toggle-text",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).toggleText),1)]))])])),_:3},8,["variant","size","disabled","class","aria-expanded"])):e.createCommentVNode("",!0),e.createVNode(i._sfc_main,{to:e.unref(m).teleportTo,disabled:!e.unref(m).teleportTo||e.unref(m).teleportDisabled},{default:e.withCtx((()=>[!e.unref(m).lazy||b.value?e.withDirectives((e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"floating",ref:k,style:e.normalizeStyle([e.unref(K),j.value]),class:e.normalizeClass(["dropdown-menu overflow-auto",[e.unref(m).menuClass,{show:b.value}]]),"aria-labelledby":e.unref(h),role:e.unref(m).role,onClick:$},[e.renderSlot(t.$slots,"default",{hide:F,show:R})],14,f)),[[e.vShow,e.unref(m).lazy||b.value]]):e.createCommentVNode("",!0)])),_:3},8,["to","disabled"])])),_:3},8,["skip","class"]))}});exports._sfc_main=v;
2
+ //# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-DJ8E2s9w.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BDropdown.vue_vue_type_script_setup_true_lang-C5FmjcaQ.js","sources":["../src/components/BDropdown/BDropdown.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n ref=\"wrapper\"\n :skip=\"inInputGroup || props.skipWrapper\"\n :class=\"computedClasses\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : modelValue\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\">\n {{ props.text }}\n </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n ref=\"button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: modelValue}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"modelValue\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <ul\n v-if=\"!props.lazy || modelValue\"\n v-show=\"props.lazy || modelValue\"\n ref=\"floating\"\n :style=\"[floatingStyles, sizeStyles]\"\n class=\"dropdown-menu overflow-auto\"\n :class=\"[props.menuClass, {show: modelValue}]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot :hide=\"hide\" :show=\"show\" />\n </ul>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {computed, type CSSProperties, inject, nextTick, provide, ref, toRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {BvTriggerableEvent} from '../../utils'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveFloatingPlacement} from '../../utils/floatingUi'\nimport {dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n skipWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'secondary',\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floating = ref<HTMLElement | null>(null)\nconst button = ref<HTMLElement | null>(null)\nconst splitButton = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referencePlacement = computed(() => (!props.split ? splitButton.value : button.value))\n\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: referencePlacement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: floating}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floating.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!modelValue.value) {\n open()\n nextTick(() => keynav(e, v))\n return\n }\n const list = floating.value?.querySelectorAll('.dropdown-item:not(.disabled):not(:disabled)')\n if (!list) return\n if (floating.value?.contains(document.activeElement)) {\n const active = floating.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referencePlacement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referencePlacement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floating})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floating})\n\nconst floatingPlacement = computed(() =>\n resolveFloatingPlacement({\n top: props.dropup,\n start: props.dropstart,\n end: props.dropend,\n alignCenter: props.center,\n alignEnd: props.end,\n })\n)\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n maxHeight: availableHeight && modelValue.value ? `${availableHeight}px` : undefined,\n maxWidth: availableWidth && modelValue.value ? `${availableWidth}px` : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referencePlacement, floating, {\n placement: floatingPlacement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy),\n whileElementsMounted: autoUpdate,\n})\n\nconst computedClasses = computed(() => [\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n 'dropdown': !props.wrapperClass && !props.split,\n 'dropup': props.dropup,\n 'dropend': props.dropend,\n 'dropstart': props.dropstart,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : modelValue.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n props.split ? emit('click', event) : onButtonClick()\n}\n\nonClickOutside(\n floating,\n () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'outside')) {\n toggle()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'inside')) {\n toggle()\n }\n}\n\nconst hide = () => {\n modelValue.value && toggle()\n}\nconst show = () => {\n modelValue.value || toggle()\n}\nconst toggle = () => {\n emit('toggle')\n const currentModelValue = modelValue.value\n const e = new BvTriggerableEvent(currentModelValue ? 'hide' : 'show')\n currentModelValue ? emit('hide', e) : emit('show', e)\n if (e.defaultPrevented) {\n currentModelValue ? emit('hide-prevented') : emit('show-prevented')\n return\n }\n modelValue.value = !currentModelValue\n currentModelValue ? emit('hidden') : emit('shown')\n wrapper.value?.dispatchEvent?.(new Event('forceHide'))\n}\n\nwatch(modelValue, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => modelValue.value),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","computedId","useId","id","modelValue","_useModel","inInputGroup","inject","inputGroupKey","computedOffset","computed","offset","NaN","offsetToNumber","useToNumber","floating","ref","button","splitButton","wrapper","boundary","isBoundary","rootBoundary","isRootBoundary","referencePlacement","split","value","index$1","onKeyStroke","target","keynav","e","v","_b","contains","_a","closest","test","_c","tagName","preventDefault","nextTick","list","_d","querySelectorAll","_e","document","activeElement","active","querySelector","index","Array","prototype","indexOf","call","length","_f","focus","_g","floatingPlacement","resolveFloatingPlacement","top","dropup","start","dropstart","end","dropend","alignCenter","center","alignEnd","sizeStyles","floatingMiddleware","localOffset","arr","offsetMiddleware","noFlip","push","flip","padding","boundaryPadding","noShift","shift","noSize","sizeMiddleware","apply","availableWidth","availableHeight","maxHeight","maxWidth","update","floatingStyles","useFloating","placement","middleware","strategy","toRef","whileElementsMounted","autoUpdate","z","computedClasses","wrapperClass","dropdown","isNav","buttonClasses","splitClass","toggleClass","noCaret","show","onButtonClick","onSplitClick","event","onClickOutside","autoClose","ignore","onClickInside","hide","toggle","currentModelValue","BvTriggerableEvent","defaultPrevented","dispatchEvent","Event","vue","watch","__expose","provide","dropdownInjectionKey","visible"],"mappings":"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"}
1
+ {"version":3,"file":"BDropdown.vue_vue_type_script_setup_true_lang-DJ8E2s9w.js","sources":["../src/components/BDropdown/BDropdown.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n ref=\"wrapper\"\n :skip=\"inInputGroup || props.skipWrapper\"\n :class=\"computedClasses\"\n >\n <BButton\n :id=\"computedId\"\n ref=\"splitButton\"\n :variant=\"props.splitVariant || props.variant\"\n :size=\"props.size\"\n :class=\"buttonClasses\"\n :disabled=\"props.splitDisabled || props.disabled\"\n :type=\"props.splitButtonType\"\n :aria-label=\"props.ariaLabel\"\n :aria-expanded=\"props.split ? undefined : modelValue\"\n :aria-haspopup=\"props.split ? undefined : 'menu'\"\n :href=\"props.split ? props.splitHref : undefined\"\n :to=\"props.split && props.splitTo ? props.splitTo : undefined\"\n @click=\"onSplitClick\"\n >\n <slot name=\"button-content\">\n {{ props.text }}\n </slot>\n </BButton>\n <BButton\n v-if=\"props.split\"\n ref=\"button\"\n :variant=\"props.variant\"\n :size=\"props.size\"\n :disabled=\"props.disabled\"\n :class=\"[props.toggleClass, {show: modelValue}]\"\n class=\"dropdown-toggle-split dropdown-toggle\"\n :aria-expanded=\"modelValue\"\n aria-haspopup=\"menu\"\n @click=\"onButtonClick\"\n >\n <span class=\"visually-hidden\">\n <slot name=\"toggle-text\">\n {{ props.toggleText }}\n </slot>\n </span>\n </BButton>\n <ConditionalTeleport\n :to=\"props.teleportTo\"\n :disabled=\"!props.teleportTo || props.teleportDisabled\"\n >\n <ul\n v-if=\"!props.lazy || modelValue\"\n v-show=\"props.lazy || modelValue\"\n ref=\"floating\"\n :style=\"[floatingStyles, sizeStyles]\"\n class=\"dropdown-menu overflow-auto\"\n :class=\"[props.menuClass, {show: modelValue}]\"\n :aria-labelledby=\"computedId\"\n :role=\"props.role\"\n @click=\"onClickInside\"\n >\n <slot :hide=\"hide\" :show=\"show\" />\n </ul>\n </ConditionalTeleport>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n autoUpdate,\n type Boundary,\n flip,\n type Middleware,\n offset as offsetMiddleware,\n type RootBoundary,\n shift,\n size as sizeMiddleware,\n useFloating,\n} from '@floating-ui/vue'\nimport {onClickOutside, onKeyStroke, useToNumber} from '@vueuse/core'\nimport {computed, type CSSProperties, inject, nextTick, provide, ref, toRef, watch} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {BvTriggerableEvent} from '../../utils'\nimport BButton from '../BButton/BButton.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport ConditionalTeleport from '../ConditionalTeleport.vue'\nimport {isBoundary, isRootBoundary, resolveFloatingPlacement} from '../../utils/floatingUi'\nimport {dropdownInjectionKey, inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: false,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n skipWrapper: false,\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'secondary',\n wrapperClass: undefined,\n})\nconst props = useDefaults(_props, 'BDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\n\nconst computedId = useId(() => props.id, 'dropdown')\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst computedOffset = computed(() =>\n typeof props.offset === 'string' || typeof props.offset === 'number' ? props.offset : NaN\n)\nconst offsetToNumber = useToNumber(computedOffset)\n\nconst floating = ref<HTMLElement | null>(null)\nconst button = ref<HTMLElement | null>(null)\nconst splitButton = ref<HTMLElement | null>(null)\nconst wrapper = ref<HTMLElement | null>(null)\n\nconst boundary = computed<Boundary | undefined>(() =>\n isBoundary(props.boundary) ? props.boundary : undefined\n)\nconst rootBoundary = computed<RootBoundary | undefined>(() =>\n isRootBoundary(props.boundary) ? props.boundary : undefined\n)\n\nconst referencePlacement = computed(() => (!props.split ? splitButton.value : button.value))\n\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: referencePlacement}\n)\nonKeyStroke(\n 'Escape',\n () => {\n modelValue.value = !modelValue.value\n },\n {target: floating}\n)\n\nconst keynav = (e: Readonly<Event>, v: number) => {\n if (floating.value?.contains((e.target as HTMLElement)?.closest('form'))) return\n if (/input|select|option|textarea|form/i.test((e.target as HTMLElement)?.tagName)) return\n e.preventDefault()\n if (!modelValue.value) {\n open()\n nextTick(() => keynav(e, v))\n return\n }\n const list = floating.value?.querySelectorAll('.dropdown-item:not(.disabled):not(:disabled)')\n if (!list) return\n if (floating.value?.contains(document.activeElement)) {\n const active = floating.value.querySelector('.dropdown-item:focus')\n const index = Array.prototype.indexOf.call(list, active) + v\n if (index >= 0 && index < list?.length) (list[index] as HTMLElement)?.focus()\n } else {\n ;(list[v === -1 ? list.length - 1 : 0] as HTMLElement)?.focus()\n }\n}\n\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: referencePlacement})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: referencePlacement})\nonKeyStroke('ArrowUp', (e) => keynav(e, -1), {target: floating})\nonKeyStroke('ArrowDown', (e) => keynav(e, 1), {target: floating})\n\nconst floatingPlacement = computed(() =>\n resolveFloatingPlacement({\n top: props.dropup,\n start: props.dropstart,\n end: props.dropend,\n alignCenter: props.center,\n alignEnd: props.end,\n })\n)\nconst sizeStyles = ref<CSSProperties>({})\nconst floatingMiddleware = computed<Middleware[]>(() => {\n if (props.floatingMiddleware !== undefined) {\n return props.floatingMiddleware\n }\n const localOffset =\n typeof props.offset === 'string' || typeof props.offset === 'number'\n ? offsetToNumber.value\n : props.offset\n const arr: Middleware[] = [offsetMiddleware(localOffset)]\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n })\n )\n }\n if (props.noSize === false) {\n arr.push(\n sizeMiddleware({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({availableWidth, availableHeight}) {\n sizeStyles.value = {\n maxHeight: availableHeight && modelValue.value ? `${availableHeight}px` : undefined,\n maxWidth: availableWidth && modelValue.value ? `${availableWidth}px` : undefined,\n }\n },\n })\n )\n }\n return arr\n})\nconst {update, floatingStyles} = useFloating(referencePlacement, floating, {\n placement: floatingPlacement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy),\n whileElementsMounted: autoUpdate,\n})\n\nconst computedClasses = computed(() => [\n props.wrapperClass,\n {\n 'btn-group': !props.wrapperClass && props.split,\n 'dropdown': !props.wrapperClass && !props.split,\n 'dropup': props.dropup,\n 'dropend': props.dropend,\n 'dropstart': props.dropstart,\n 'position-static': props.boundary !== 'clippingAncestors' && !props.isNav,\n },\n])\n\nconst buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n 'nav-link': props.isNav,\n 'dropdown-toggle': !props.split,\n 'dropdown-toggle-no-caret': props.noCaret && !props.split,\n 'show': props.split ? undefined : modelValue.value,\n },\n])\n\nconst onButtonClick = () => {\n toggle()\n}\n\nconst onSplitClick = (event: Readonly<MouseEvent>) => {\n props.split ? emit('click', event) : onButtonClick()\n}\n\nonClickOutside(\n floating,\n () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'outside')) {\n toggle()\n }\n },\n {ignore: [button, splitButton]}\n)\nconst onClickInside = () => {\n if (modelValue.value && (props.autoClose === true || props.autoClose === 'inside')) {\n toggle()\n }\n}\n\nconst hide = () => {\n modelValue.value && toggle()\n}\nconst show = () => {\n modelValue.value || toggle()\n}\nconst toggle = () => {\n emit('toggle')\n const currentModelValue = modelValue.value\n const e = new BvTriggerableEvent(currentModelValue ? 'hide' : 'show')\n currentModelValue ? emit('hide', e) : emit('show', e)\n if (e.defaultPrevented) {\n currentModelValue ? emit('hide-prevented') : emit('show-prevented')\n return\n }\n modelValue.value = !currentModelValue\n currentModelValue ? emit('hidden') : emit('shown')\n wrapper.value?.dispatchEvent?.(new Event('forceHide'))\n}\n\nwatch(modelValue, () => {\n update()\n})\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n\nprovide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => modelValue.value),\n isNav: toRef(() => props.isNav),\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","computedId","useId","id","modelValue","_useModel","inInputGroup","inject","inputGroupKey","computedOffset","computed","offset","NaN","offsetToNumber","useToNumber","floating","ref","button","splitButton","wrapper","boundary","isBoundary","rootBoundary","isRootBoundary","referencePlacement","split","value","index$1","onKeyStroke","target","keynav","e","v","_b","contains","_a","closest","test","_c","tagName","preventDefault","nextTick","list","_d","querySelectorAll","_e","document","activeElement","active","querySelector","index","Array","prototype","indexOf","call","length","_f","focus","_g","floatingPlacement","resolveFloatingPlacement","top","dropup","start","dropstart","end","dropend","alignCenter","center","alignEnd","sizeStyles","floatingMiddleware","localOffset","arr","offsetMiddleware","noFlip","push","flip","padding","boundaryPadding","noShift","shift","noSize","sizeMiddleware","apply","availableWidth","availableHeight","maxHeight","maxWidth","update","floatingStyles","useFloating","placement","middleware","strategy","toRef","whileElementsMounted","autoUpdate","z","computedClasses","wrapperClass","dropdown","isNav","buttonClasses","splitClass","toggleClass","noCaret","show","onButtonClick","onSplitClick","event","onClickOutside","autoClose","ignore","onClickInside","hide","toggle","currentModelValue","BvTriggerableEvent","defaultPrevented","dispatchEvent","Event","vue","watch","__expose","provide","dropdownInjectionKey","visible"],"mappings":"o+DAwFA,MAAMA,EAASC,EAwCTC,EAAQC,EAAAA,YAAYH,EAAQ,aAE5BI,EAAOC,EAoBPC,EAAaC,EAAAA,OAAM,IAAML,EAAMM,IAAI,YAEnCC,EAAaC,EAAAA,yBAEbC,EAAeC,EAAAA,OAAOC,EAAAA,eAAe,GAErCC,EAAiBC,EAAAA,UAAS,IACN,iBAAjBb,EAAMc,QAA+C,iBAAjBd,EAAMc,OAAsBd,EAAMc,OAASC,MAElFC,EAAiBC,cAAYL,GAE7BM,EAAWC,MAAwB,MACnCC,EAASD,MAAwB,MACjCE,EAAcF,MAAwB,MACtCG,EAAUH,MAAwB,MAElCI,EAAWV,EAAAA,UAA+B,IAC9CW,EAAAA,WAAWxB,EAAMuB,UAAYvB,EAAMuB,cAAW,IAE1CE,EAAeZ,EAAAA,UAAmC,IACtDa,EAAAA,eAAe1B,EAAMuB,UAAYvB,EAAMuB,cAAW,IAG9CI,EAAqBd,YAAS,IAAQb,EAAM4B,MAA4BR,EAAOS,MAA3BR,EAAYQ,QAEtEC,EAAAC,YACE,UACA,KACaxB,EAAAsB,OAAStB,EAAWsB,KAAA,GAEjC,CAACG,OAAQL,IAEXG,EAAAC,YACE,UACA,KACaxB,EAAAsB,OAAStB,EAAWsB,KAAA,GAEjC,CAACG,OAAQd,IAGL,MAAAe,EAAS,CAACC,EAAoBC,uBAC9B,GAAA,OAAAC,EAAAlB,EAASW,YAAO,EAAAO,EAAAC,SAAU,OAAAC,IAAEN,aAAF,EAAAM,EAA0BC,QAAQ,SAAU,OAC1E,GAAI,qCAAqCC,KAAM,OAAAC,EAAAP,EAAEF,aAAF,EAAAS,EAA0BC,SAAU,OAE/E,GADJR,EAAES,kBACGpC,EAAWsB,MAGd,mBADAe,EAAAA,UAAS,IAAMX,EAAOC,EAAGC,KAG3B,MAAMU,EAAO,OAAAC,EAAA5B,EAASW,YAAT,EAAAiB,EAAgBC,iBAAiB,gDAC9C,GAAKF,EACL,GAAI,OAAAG,EAAS9B,EAAAW,YAAO,EAAAmB,EAAAX,SAASY,SAASC,eAAgB,CACpD,MAAMC,EAASjC,EAASW,MAAMuB,cAAc,wBACtCC,EAAQC,MAAMC,UAAUC,QAAQC,KAAKZ,EAAMM,GAAUhB,EACvDkB,GAAS,GAAKA,GAAQ,MAAAR,OAAA,EAAAA,EAAMa,UAAS,OAAKL,EAAAA,EAAAA,KAAwBM,EAAAC,QAAM,MAE1E,OAAAC,EAAAhB,GAAgB,IAAXV,EAAWU,EAAKa,OAAS,EAAI,KAAoBG,EAAAD,OAC1D,EAGU7B,EAAAA,YAAA,WAAYG,GAAMD,EAAOC,GAAG,IAAK,CAACF,OAAQL,IAC1CI,EAAAA,YAAA,aAAcG,GAAMD,EAAOC,EAAG,IAAI,CAACF,OAAQL,IAC3CI,EAAAA,YAAA,WAAYG,GAAMD,EAAOC,GAAG,IAAK,CAACF,OAAQd,IAC1Ca,EAAAA,YAAA,aAAcG,GAAMD,EAAOC,EAAG,IAAI,CAACF,OAAQd,IAEvD,MAAM4C,EAAoBjD,EAAAA,UAAS,IACjCkD,2BAAyB,CACvBC,IAAKhE,EAAMiE,OACXC,MAAOlE,EAAMmE,UACbC,IAAKpE,EAAMqE,QACXC,YAAatE,EAAMuE,OACnBC,SAAUxE,EAAMoE,QAGdK,EAAatD,MAAmB,CAAA,GAChCuD,EAAqB7D,EAAAA,UAAuB,KAC5C,QAA6B,IAA7Bb,EAAM0E,mBACR,OAAO1E,EAAM0E,mBAET,MAAAC,EACoB,iBAAjB3E,EAAMc,QAA+C,iBAAjBd,EAAMc,OAC7CE,EAAea,MACf7B,EAAMc,OACN8D,EAAoB,CAACC,SAAiBF,IAkCrC,OAjCc,IAAjB3E,EAAM8E,QACJF,EAAAG,KACFC,OAAK,CACHzD,SAAUA,EAASM,MACnBJ,aAAcA,EAAaI,MAC3BoD,QAASjF,EAAMkF,oBAIC,IAAlBlF,EAAMmF,SACJP,EAAAG,KACFK,QAAM,CACJ7D,SAAUA,EAASM,MACnBJ,aAAcA,EAAaI,MAC3BoD,QAASjF,EAAMkF,oBAIA,IAAjBlF,EAAMqF,QACJT,EAAAG,KACFO,OAAe,CACb/D,SAAUA,EAASM,MACnBJ,aAAcA,EAAaI,MAC3BoD,QAASjF,EAAMkF,gBACf,KAAAK,EAAMC,eAACA,EAAgBC,gBAAAA,IACrBhB,EAAW5C,MAAQ,CACjB6D,UAAWD,GAAmBlF,EAAWsB,MAAQ,GAAG4D,WAAsB,EAC1EE,SAAUH,GAAkBjF,EAAWsB,MAAQ,GAAG2D,WAAqB,EAE3E,KAICZ,CAAA,KAEHgB,OAACA,EAAQC,eAAAA,GAAkBC,EAAAA,YAAYnE,EAAoBT,EAAU,CACzE6E,UAAWjC,EACXkC,WAAYtB,EACZuB,SAAUC,EAAAA,OAAM,IAAMlG,EAAMiG,WAC5BE,qBAAsBC,EAAAC,IAGlBC,EAAkBzF,EAAAA,UAAS,IAAM,CACrCb,EAAMuG,aACN,CACE,aAAcvG,EAAMuG,cAAgBvG,EAAM4B,MAC1C4E,UAAaxG,EAAMuG,eAAiBvG,EAAM4B,MAC1CqC,OAAUjE,EAAMiE,OAChBI,QAAWrE,EAAMqE,QACjBF,UAAanE,EAAMmE,UACnB,kBAAsC,sBAAnBnE,EAAMuB,WAAqCvB,EAAMyG,UAIlEC,EAAgB7F,EAAAA,UAAS,IAAM,CACnCb,EAAM4B,MAAQ5B,EAAM2G,WAAa3G,EAAM4G,YACvC,CACE,WAAY5G,EAAMyG,MAClB,mBAAoBzG,EAAM4B,MAC1B,2BAA4B5B,EAAM6G,UAAY7G,EAAM4B,MACpDkF,KAAQ9G,EAAM4B,WAAQ,EAAYrB,EAAWsB,UAI3CkF,EAAgB,UAIhBC,EAAgBC,IACpBjH,EAAM4B,MAAQ1B,EAAK,QAAS+G,GAASF,KAGvCjF,EAAAoF,eACEhG,GACA,MACMX,EAAWsB,QAA8B,IAApB7B,EAAMmH,WAA0C,YAApBnH,EAAMmH,cAE3D,GAEF,CAACC,OAAQ,CAAChG,EAAQC,KAEpB,MAAMgG,EAAgB,MAChB9G,EAAWsB,QAA8B,IAApB7B,EAAMmH,WAA0C,WAApBnH,EAAMmH,cAE3D,EAGIG,EAAO,KACX/G,EAAWsB,OAAS0F,KAEhBT,EAAO,KACXvG,EAAWsB,OAAS0F,KAEhBA,EAAS,aACbrH,EAAK,UACL,MAAMsH,EAAoBjH,EAAWsB,MAC/BK,EAAI,IAAIuF,EAAmBA,mBAAAD,EAAoB,OAAS,QAC1CtH,EAApBsH,EAAyB,OAAkB,OAAVtF,GAC7BA,EAAEwF,iBACgBxH,EAApBsH,EAAyB,iBAAyB,mBAGpDjH,EAAWsB,OAAS2F,EACAtH,EAApBsH,EAAyB,SAAiB,SAC1C,OAAApF,EAAA,OAAAE,EAAAhB,EAAQO,YAAO,EAAAS,EAAAqF,gBAAgBvF,EAAAqB,KAAAnB,EAAA,IAAIsF,MAAM,cAAW,SAGtDC,EAAAC,MAAMvH,GAAY,YAILwH,EAAA,CACXT,OACAR,OACAS,WAGFS,EAAAA,QAAQC,EAAAA,qBAAsB,CAC5B3H,GAAIF,EACJ0G,OACAQ,OACAC,SACAW,QAAShC,EAAAA,OAAM,IAAM3F,EAAWsB,QAChC4E,MAAOP,EAAAA,OAAM,IAAMlG,EAAMyG"}
@@ -4,7 +4,7 @@ import { u as useDefaults } from "./useDefaults-BuoSLvNO.mjs";
4
4
  import { _ as _sfc_main$5 } from "./BForm.vue_vue_type_script_setup_true_lang-BniLBRHQ.mjs";
5
5
  import { _ as _sfc_main$6 } from "./BLink.vue_vue_type_script_setup_true_lang-DS4JR4ch.mjs";
6
6
  import { p as pick } from "./object-DIbMZaP9.mjs";
7
- import { _ as _sfc_main$7 } from "./BDropdown.vue_vue_type_script_setup_true_lang-CCBMSTuN.mjs";
7
+ import { _ as _sfc_main$7 } from "./BDropdown.vue_vue_type_script_setup_true_lang-DHJEJkfU.mjs";
8
8
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
9
9
  __name: "BNav",
10
10
  props: {
@@ -295,4 +295,4 @@ export {
295
295
  _sfc_main$1 as c,
296
296
  _sfc_main as d
297
297
  };
298
- //# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-DD9a9EtK.mjs.map
298
+ //# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-BvxFgQap.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BNavText.vue_vue_type_script_setup_true_lang-DD9a9EtK.mjs","sources":["../src/components/BNav/BNav.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavProps} from '../../types/ComponentProps'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <li class=\"d-flex flex-row align-items-center flex-wrap\">\n <BForm\n v-bind=\"$attrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavFormProps} from '../../types/ComponentProps'\nimport BForm from '../BForm/BForm.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\n\nconst emit = defineEmits<{\n submit: [value: Event]\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BNavItemProps} from '../../types/ComponentProps'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'exactActiveClass',\n 'append',\n 'disabled',\n 'href',\n 'icon',\n 'opacity',\n 'opacityHover',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\ncomputedLinkProps.value.activeClass\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n @click=\"emit('click', $event)\"\n @toggle=\"emit('toggle')\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {ref} from 'vue'\nimport {BvTriggerableEvent} from '../../utils'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\nconst dropdown = ref<InstanceType<typeof BDropdown> | null>(null)\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavTextProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,SAAS;AAYT,UAAA,QAAQ,YAAY,QAAQ,MAAM;AAOxC,UAAM,YAAY,aAAa,MAAM,MAAM,KAAK;AAE1C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,YAAY,MAAM;AAAA,MAClB,aAAa,MAAM,SAAS,CAAC,MAAM;AAAA,MACnC,oBAAoB,CAAC,MAAM,YAAY,MAAM,cAAc,MAAM;AAAA,MACjE,qBAAqB,CAAC,MAAM,YAAY,MAAM,cAAc,MAAM,SAAS,CAAC,MAAM;AAAA,MAClF,eAAe,MAAM;AAAA,MACrB,YAAY,CAAC,MAAM,YAAY,MAAM;AAAA,MACrC,iBAAiB,CAAC,MAAM,YAAY,MAAM;AAAA,MAC1C,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,YAAY,MAAM,UAAU;AAAA,MACtD,SAAS,MAAM;AAAA,MACf,iBAAiB,MAAM;AAAA,IACvB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBF,UAAM,SAAS;AAST,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAE5C,UAAM,OAAO;AASP,UAAA,YAAY,CAAC,MAAuB;AACxC,WAAK,UAAU,CAAC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBlB,UAAM,SAAS;AA0BT,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAE5C,UAAM,OAAO;AAIb,UAAM,oBAAoB;AAAA,MAAS,MACjC,KAAK,OAAO;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAEH,sBAAkB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CxB,UAAM,SAAS;AAuCT,UAAA,QAAQ,YAAY,QAAQ,kBAAkB;AAEpD,UAAM,OAAO;AAWP,UAAA,aAAaA,8BAA8E;AAU3F,UAAA,WAAW,IAA2C,IAAI;AAEhE,UAAM,OAAO,MAAM;;AACjB,qBAAS,UAAT,mBAAgB;AAAA,IAAK;AAEvB,UAAM,OAAO,MAAM;;AACjB,qBAAS,UAAT,mBAAgB;AAAA,IAAK;AAEvB,UAAM,SAAS,MAAM;;AACnB,qBAAS,UAAT,mBAAgB;AAAA,IAAO;AAGZ,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtGD,UAAM,SAAS;AACT,UAAA,QAAQ,YAAY,QAAQ,UAAU;;;;;;;;;;"}
1
+ {"version":3,"file":"BNavText.vue_vue_type_script_setup_true_lang-BvxFgQap.mjs","sources":["../src/components/BNav/BNav.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavProps} from '../../types/ComponentProps'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <li class=\"d-flex flex-row align-items-center flex-wrap\">\n <BForm\n v-bind=\"$attrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavFormProps} from '../../types/ComponentProps'\nimport BForm from '../BForm/BForm.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\n\nconst emit = defineEmits<{\n submit: [value: Event]\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BNavItemProps} from '../../types/ComponentProps'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'exactActiveClass',\n 'append',\n 'disabled',\n 'href',\n 'icon',\n 'opacity',\n 'opacityHover',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\ncomputedLinkProps.value.activeClass\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n @click=\"emit('click', $event)\"\n @toggle=\"emit('toggle')\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {ref} from 'vue'\nimport {BvTriggerableEvent} from '../../utils'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\nconst dropdown = ref<InstanceType<typeof BDropdown> | null>(null)\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavTextProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n"],"names":["_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA,UAAM,SAAS;AAYT,UAAA,QAAQ,YAAY,QAAQ,MAAM;AAOxC,UAAM,YAAY,aAAa,MAAM,MAAM,KAAK;AAE1C,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,YAAY,MAAM;AAAA,MAClB,aAAa,MAAM,SAAS,CAAC,MAAM;AAAA,MACnC,oBAAoB,CAAC,MAAM,YAAY,MAAM,cAAc,MAAM;AAAA,MACjE,qBAAqB,CAAC,MAAM,YAAY,MAAM,cAAc,MAAM,SAAS,CAAC,MAAM;AAAA,MAClF,eAAe,MAAM;AAAA,MACrB,YAAY,CAAC,MAAM,YAAY,MAAM;AAAA,MACrC,iBAAiB,CAAC,MAAM,YAAY,MAAM;AAAA,MAC1C,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,YAAY,MAAM,UAAU;AAAA,MACtD,SAAS,MAAM;AAAA,MACf,iBAAiB,MAAM;AAAA,IACvB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBF,UAAM,SAAS;AAST,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAE5C,UAAM,OAAO;AASP,UAAA,YAAY,CAAC,MAAuB;AACxC,WAAK,UAAU,CAAC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBlB,UAAM,SAAS;AA0BT,UAAA,QAAQ,YAAY,QAAQ,UAAU;AAE5C,UAAM,OAAO;AAIb,UAAM,oBAAoB;AAAA,MAAS,MACjC,KAAK,OAAO;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA,CACD;AAAA,IAAA;AAEH,sBAAkB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CxB,UAAM,SAAS;AAuCT,UAAA,QAAQ,YAAY,QAAQ,kBAAkB;AAEpD,UAAM,OAAO;AAWP,UAAA,aAAaA,8BAA8E;AAU3F,UAAA,WAAW,IAA2C,IAAI;AAEhE,UAAM,OAAO,MAAM;;AACjB,qBAAS,UAAT,mBAAgB;AAAA,IAAK;AAEvB,UAAM,OAAO,MAAM;;AACjB,qBAAS,UAAT,mBAAgB;AAAA,IAAK;AAEvB,UAAM,SAAS,MAAM;;AACnB,qBAAS,UAAT,mBAAgB;AAAA,IAAO;AAGZ,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtGD,UAAM,SAAS;AACT,UAAA,QAAQ,YAAY,QAAQ,UAAU;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./useAlignment-BTUJZ_9x.js"),l=require("./useDefaults-C2groUjC.js"),a=require("./BForm.vue_vue_type_script_setup_true_lang-lv8-CNRX.js"),o=require("./BLink.vue_vue_type_script_setup_true_lang-Df_SjEg2.js"),d=require("./object-B-6ddRYH.js"),n=require("./BDropdown.vue_vue_type_script_setup_true_lang-C5FmjcaQ.js"),i=e.defineComponent({__name:"BNav",props:{align:{default:void 0},cardHeader:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},small:{type:Boolean,default:!1},tabs:{type:Boolean,default:!1},tag:{default:"ul"},underline:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},setup(a){const o=a,d=l.useDefaults(o,"BNav"),n=t.useAlignment((()=>d.align)),i=e.computed((()=>({"nav-tabs":d.tabs,"nav-pills":d.pills&&!d.tabs,"card-header-tabs":!d.vertical&&d.cardHeader&&d.tabs,"card-header-pills":!d.vertical&&d.cardHeader&&d.pills&&!d.tabs,"flex-column":d.vertical,"nav-fill":!d.vertical&&d.fill,"nav-justified":!d.vertical&&d.justified,[n.value]:!d.vertical&&void 0!==d.align,small:d.small,"nav-underline":d.underline})));return(t,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).tag),{class:e.normalizeClass(["nav",i.value])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},8,["class"]))}}),r={class:"d-flex flex-row align-items-center flex-wrap"},u=e.defineComponent({inheritAttrs:!1,__name:"BNavForm",props:{role:{default:void 0},floating:{type:Boolean,default:void 0},id:{default:void 0},novalidate:{type:Boolean,default:void 0},validated:{type:Boolean,default:void 0}},emits:["submit"],setup(t,{emit:o}){const d=t,n=l.useDefaults(d,"BNavForm"),i=o,u=e=>{i("submit",e)};return(t,l)=>(e.openBlock(),e.createElementBlock("li",r,[e.createVNode(a._sfc_main,e.mergeProps(t.$attrs,{id:e.unref(n).id,floating:e.unref(n).floating,role:e.unref(n).role,novalidate:e.unref(n).novalidate,validated:e.unref(n).validated,class:"d-flex",onSubmit:e.withModifiers(u,["prevent"])}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["id","floating","role","novalidate","validated"])]))}}),s={class:"nav-item"},f=e.defineComponent({__name:"BNavItem",props:{linkAttrs:{default:void 0},linkClass:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:void 0}},emits:["click"],setup(t,{emit:a}){const n=t,i=l.useDefaults(n,"BNavItem"),r=a,u=e.computed((()=>d.pick(i,["active","activeClass","exactActiveClass","append","disabled","href","icon","opacity","opacityHover","rel","replace","routerComponentName","target","to","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","underlineVariant","variant"])));return u.value.activeClass,(t,l)=>(e.openBlock(),e.createElementBlock("li",s,[e.createVNode(o._sfc_main,e.mergeProps({class:["nav-link",t.linkClass],tabindex:e.unref(i).disabled?-1:void 0,"aria-disabled":!!e.unref(i).disabled||void 0},{...u.value,...t.linkAttrs},{onClick:l[0]||(l[0]=e=>r("click",e))}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["class","tabindex","aria-disabled"])]))}}),p={class:"nav-item dropdown"},v=e.defineComponent({__name:"BNavItemDropdown",props:e.mergeModels({ariaLabel:{default:void 0},autoClose:{type:[Boolean,String],default:!0},boundary:{default:"clippingAncestors"},boundaryPadding:{default:void 0},center:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},dropend:{type:Boolean,default:!1},dropstart:{type:Boolean,default:!1},dropup:{type:Boolean,default:!1},end:{type:Boolean,default:!1},floatingMiddleware:{default:void 0},id:{default:void 0},isNav:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},menuClass:{default:void 0},noCaret:{type:Boolean,default:!1},noFlip:{type:Boolean,default:!1},noShift:{type:Boolean,default:!1},noSize:{type:Boolean,default:!1},offset:{default:0},role:{default:"menu"},size:{default:"md"},skipWrapper:{type:Boolean},split:{type:Boolean,default:!1},splitButtonType:{default:"button"},splitClass:{default:void 0},splitDisabled:{type:Boolean,default:void 0},splitHref:{default:void 0},splitTo:{default:void 0},splitVariant:{default:void 0},strategy:{default:"absolute"},text:{default:void 0},toggleClass:{default:void 0},toggleText:{default:"Toggle dropdown"},variant:{default:"link"},wrapperClass:{},teleportDisabled:{type:Boolean,default:!1},teleportTo:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["click","hidden","hide","hide-prevented","show","show-prevented","shown","toggle"],["update:modelValue"]),setup(t,{expose:a,emit:o}){const d=t,i=l.useDefaults(d,"BNavItemDropdown"),r=o,u=e.useModel(t,"modelValue"),s=e.ref(null),f=()=>{var e;null==(e=s.value)||e.hide()},v=()=>{var e;null==(e=s.value)||e.show()};return a({hide:f,show:v,toggle:()=>{var e;null==(e=s.value)||e.toggle()}}),(t,l)=>(e.openBlock(),e.createElementBlock("li",p,[e.createVNode(n._sfc_main,e.mergeProps({ref_key:"dropdown",ref:s},e.unref(i),{modelValue:u.value,"onUpdate:modelValue":l[0]||(l[0]=e=>u.value=e),"is-nav":"",onShow:l[1]||(l[1]=e=>r("show",e)),onShown:l[2]||(l[2]=e=>r("shown")),onHide:l[3]||(l[3]=e=>r("hide",e)),onHidden:l[4]||(l[4]=e=>r("hidden")),onHidePrevented:l[5]||(l[5]=e=>r("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>r("show-prevented")),onClick:l[7]||(l[7]=e=>r("click",e)),onToggle:l[8]||(l[8]=e=>r("toggle"))}),{"button-content":e.withCtx((()=>[e.renderSlot(t.$slots,"button-content")])),"toggle-text":e.withCtx((()=>[e.renderSlot(t.$slots,"toggle-text")])),default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{hide:f,show:v})])),_:3},16,["modelValue"])]))}}),c={class:"navbar-text"},m=e.defineComponent({__name:"BNavText",props:{text:{default:void 0}},setup(t){const a=t,o=l.useDefaults(a,"BNavText");return(t,l)=>(e.openBlock(),e.createElementBlock("li",c,[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).text),1)]))]))}});exports._sfc_main=i,exports._sfc_main$1=u,exports._sfc_main$2=f,exports._sfc_main$3=v,exports._sfc_main$4=m;
2
- //# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-B4QWFIHh.js.map
1
+ "use strict";const e=require("vue"),t=require("./useAlignment-BTUJZ_9x.js"),l=require("./useDefaults-C2groUjC.js"),a=require("./BForm.vue_vue_type_script_setup_true_lang-lv8-CNRX.js"),o=require("./BLink.vue_vue_type_script_setup_true_lang-Df_SjEg2.js"),d=require("./object-B-6ddRYH.js"),n=require("./BDropdown.vue_vue_type_script_setup_true_lang-DJ8E2s9w.js"),i=e.defineComponent({__name:"BNav",props:{align:{default:void 0},cardHeader:{type:Boolean,default:!1},fill:{type:Boolean,default:!1},justified:{type:Boolean,default:!1},pills:{type:Boolean,default:!1},small:{type:Boolean,default:!1},tabs:{type:Boolean,default:!1},tag:{default:"ul"},underline:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1}},setup(a){const o=a,d=l.useDefaults(o,"BNav"),n=t.useAlignment((()=>d.align)),i=e.computed((()=>({"nav-tabs":d.tabs,"nav-pills":d.pills&&!d.tabs,"card-header-tabs":!d.vertical&&d.cardHeader&&d.tabs,"card-header-pills":!d.vertical&&d.cardHeader&&d.pills&&!d.tabs,"flex-column":d.vertical,"nav-fill":!d.vertical&&d.fill,"nav-justified":!d.vertical&&d.justified,[n.value]:!d.vertical&&void 0!==d.align,small:d.small,"nav-underline":d.underline})));return(t,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(d).tag),{class:e.normalizeClass(["nav",i.value])},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},8,["class"]))}}),r={class:"d-flex flex-row align-items-center flex-wrap"},u=e.defineComponent({inheritAttrs:!1,__name:"BNavForm",props:{role:{default:void 0},floating:{type:Boolean,default:void 0},id:{default:void 0},novalidate:{type:Boolean,default:void 0},validated:{type:Boolean,default:void 0}},emits:["submit"],setup(t,{emit:o}){const d=t,n=l.useDefaults(d,"BNavForm"),i=o,u=e=>{i("submit",e)};return(t,l)=>(e.openBlock(),e.createElementBlock("li",r,[e.createVNode(a._sfc_main,e.mergeProps(t.$attrs,{id:e.unref(n).id,floating:e.unref(n).floating,role:e.unref(n).role,novalidate:e.unref(n).novalidate,validated:e.unref(n).validated,class:"d-flex",onSubmit:e.withModifiers(u,["prevent"])}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["id","floating","role","novalidate","validated"])]))}}),s={class:"nav-item"},f=e.defineComponent({__name:"BNavItem",props:{linkAttrs:{default:void 0},linkClass:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:void 0}},emits:["click"],setup(t,{emit:a}){const n=t,i=l.useDefaults(n,"BNavItem"),r=a,u=e.computed((()=>d.pick(i,["active","activeClass","exactActiveClass","append","disabled","href","icon","opacity","opacityHover","rel","replace","routerComponentName","target","to","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","underlineVariant","variant"])));return u.value.activeClass,(t,l)=>(e.openBlock(),e.createElementBlock("li",s,[e.createVNode(o._sfc_main,e.mergeProps({class:["nav-link",t.linkClass],tabindex:e.unref(i).disabled?-1:void 0,"aria-disabled":!!e.unref(i).disabled||void 0},{...u.value,...t.linkAttrs},{onClick:l[0]||(l[0]=e=>r("click",e))}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["class","tabindex","aria-disabled"])]))}}),p={class:"nav-item dropdown"},v=e.defineComponent({__name:"BNavItemDropdown",props:e.mergeModels({ariaLabel:{default:void 0},autoClose:{type:[Boolean,String],default:!0},boundary:{default:"clippingAncestors"},boundaryPadding:{default:void 0},center:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},dropend:{type:Boolean,default:!1},dropstart:{type:Boolean,default:!1},dropup:{type:Boolean,default:!1},end:{type:Boolean,default:!1},floatingMiddleware:{default:void 0},id:{default:void 0},isNav:{type:Boolean,default:!0},lazy:{type:Boolean,default:!1},menuClass:{default:void 0},noCaret:{type:Boolean,default:!1},noFlip:{type:Boolean,default:!1},noShift:{type:Boolean,default:!1},noSize:{type:Boolean,default:!1},offset:{default:0},role:{default:"menu"},size:{default:"md"},skipWrapper:{type:Boolean},split:{type:Boolean,default:!1},splitButtonType:{default:"button"},splitClass:{default:void 0},splitDisabled:{type:Boolean,default:void 0},splitHref:{default:void 0},splitTo:{default:void 0},splitVariant:{default:void 0},strategy:{default:"absolute"},text:{default:void 0},toggleClass:{default:void 0},toggleText:{default:"Toggle dropdown"},variant:{default:"link"},wrapperClass:{},teleportDisabled:{type:Boolean,default:!1},teleportTo:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["click","hidden","hide","hide-prevented","show","show-prevented","shown","toggle"],["update:modelValue"]),setup(t,{expose:a,emit:o}){const d=t,i=l.useDefaults(d,"BNavItemDropdown"),r=o,u=e.useModel(t,"modelValue"),s=e.ref(null),f=()=>{var e;null==(e=s.value)||e.hide()},v=()=>{var e;null==(e=s.value)||e.show()};return a({hide:f,show:v,toggle:()=>{var e;null==(e=s.value)||e.toggle()}}),(t,l)=>(e.openBlock(),e.createElementBlock("li",p,[e.createVNode(n._sfc_main,e.mergeProps({ref_key:"dropdown",ref:s},e.unref(i),{modelValue:u.value,"onUpdate:modelValue":l[0]||(l[0]=e=>u.value=e),"is-nav":"",onShow:l[1]||(l[1]=e=>r("show",e)),onShown:l[2]||(l[2]=e=>r("shown")),onHide:l[3]||(l[3]=e=>r("hide",e)),onHidden:l[4]||(l[4]=e=>r("hidden")),onHidePrevented:l[5]||(l[5]=e=>r("hide-prevented")),onShowPrevented:l[6]||(l[6]=e=>r("show-prevented")),onClick:l[7]||(l[7]=e=>r("click",e)),onToggle:l[8]||(l[8]=e=>r("toggle"))}),{"button-content":e.withCtx((()=>[e.renderSlot(t.$slots,"button-content")])),"toggle-text":e.withCtx((()=>[e.renderSlot(t.$slots,"toggle-text")])),default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{hide:f,show:v})])),_:3},16,["modelValue"])]))}}),c={class:"navbar-text"},m=e.defineComponent({__name:"BNavText",props:{text:{default:void 0}},setup(t){const a=t,o=l.useDefaults(a,"BNavText");return(t,l)=>(e.openBlock(),e.createElementBlock("li",c,[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).text),1)]))]))}});exports._sfc_main=i,exports._sfc_main$1=u,exports._sfc_main$2=f,exports._sfc_main$3=v,exports._sfc_main$4=m;
2
+ //# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-KXgf724R.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BNavText.vue_vue_type_script_setup_true_lang-B4QWFIHh.js","sources":["../src/components/BNav/BNav.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavProps} from '../../types/ComponentProps'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <li class=\"d-flex flex-row align-items-center flex-wrap\">\n <BForm\n v-bind=\"$attrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavFormProps} from '../../types/ComponentProps'\nimport BForm from '../BForm/BForm.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\n\nconst emit = defineEmits<{\n submit: [value: Event]\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BNavItemProps} from '../../types/ComponentProps'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'exactActiveClass',\n 'append',\n 'disabled',\n 'href',\n 'icon',\n 'opacity',\n 'opacityHover',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\ncomputedLinkProps.value.activeClass\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n @click=\"emit('click', $event)\"\n @toggle=\"emit('toggle')\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {ref} from 'vue'\nimport {BvTriggerableEvent} from '../../utils'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\nconst dropdown = ref<InstanceType<typeof BDropdown> | null>(null)\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavTextProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n"],"names":["_props","__props","props","useDefaults","alignment","useAlignment","align","computedClasses","computed","tabs","pills","vertical","cardHeader","fill","justified","value","small","underline","emit","__emit","submitted","e","computedLinkProps","pick","activeClass","modelValue","_useModel","dropdown","ref","hide","_a","show","__expose","toggle"],"mappings":"otBAYA,MAAMA,EAASC,EAYTC,EAAQC,EAAAA,YAAYH,EAAQ,QAO5BI,EAAYC,EAAAA,cAAa,IAAMH,EAAMI,QAErCC,EAAkBC,EAAAA,UAAS,KAAO,CACtC,WAAYN,EAAMO,KAClB,YAAaP,EAAMQ,QAAUR,EAAMO,KACnC,oBAAqBP,EAAMS,UAAYT,EAAMU,YAAcV,EAAMO,KACjE,qBAAsBP,EAAMS,UAAYT,EAAMU,YAAcV,EAAMQ,QAAUR,EAAMO,KAClF,cAAeP,EAAMS,SACrB,YAAaT,EAAMS,UAAYT,EAAMW,KACrC,iBAAkBX,EAAMS,UAAYT,EAAMY,UAC1C,CAACV,EAAUW,QAASb,EAAMS,eAA4B,IAAhBT,EAAMI,MAC5CU,MAASd,EAAMc,MACf,gBAAiBd,EAAMe,4hBCjBzB,MAAMjB,EAASC,EASTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BkB,EAAOC,EASPC,EAAaC,IACjBH,EAAK,SAAUG,EAAC,6sCCpBlB,MAAMrB,EAASC,EA0BTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BkB,EAAOC,EAIPG,EAAoBd,EAAAA,UAAS,IACjCe,EAAAA,KAAKrB,EAAO,CACV,SACA,cACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,MACA,UACA,sBACA,SACA,KACA,kBACA,uBACA,mBACA,wBACA,mBACA,qBAGJoB,EAAkBP,MAAMS,s1DC/CxB,MAAMxB,EAASC,EAuCTC,EAAQC,EAAAA,YAAYH,EAAQ,oBAE5BkB,EAAOC,EAWPM,EAAaC,EAAAA,yBAUbC,EAAWC,MAA2C,MAEtDC,EAAO,WACX,OAAAC,EAAAH,EAASZ,QAAOe,EAAAD,MAAA,EAEZE,EAAO,WACX,OAAAD,EAAAH,EAASZ,QAAOe,EAAAC,MAAA,SAMLC,EAAA,CACXH,OACAE,OACAE,OAPa,WACb,OAAAH,EAAAH,EAASZ,QAAOe,EAAAG,QAAA,y3BC/FlB,MAAMjC,EAASC,EACTC,EAAQC,EAAAA,YAAYH,EAAQ"}
1
+ {"version":3,"file":"BNavText.vue_vue_type_script_setup_true_lang-KXgf724R.js","sources":["../src/components/BNav/BNav.vue","../src/components/BNav/BNavForm.vue","../src/components/BNav/BNavItem.vue","../src/components/BNav/BNavItemDropdown.vue","../src/components/BNav/BNavText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"nav\" :class=\"computedClasses\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BNavProps} from '../../types/ComponentProps'\nimport {useAlignment} from '../../composables/useAlignment'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\n\nconst _props = withDefaults(defineProps<BNavProps>(), {\n align: undefined,\n cardHeader: false,\n fill: false,\n justified: false,\n pills: false,\n small: false,\n tabs: false,\n tag: 'ul',\n underline: false,\n vertical: false,\n})\nconst props = useDefaults(_props, 'BNav')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst alignment = useAlignment(() => props.align)\n\nconst computedClasses = computed(() => ({\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== undefined,\n 'small': props.small,\n 'nav-underline': props.underline,\n}))\n</script>\n","<template>\n <li class=\"d-flex flex-row align-items-center flex-wrap\">\n <BForm\n v-bind=\"$attrs\"\n :id=\"props.id\"\n :floating=\"props.floating\"\n :role=\"props.role\"\n :novalidate=\"props.novalidate\"\n :validated=\"props.validated\"\n class=\"d-flex\"\n @submit.prevent=\"submitted\"\n >\n <slot />\n </BForm>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavFormProps} from '../../types/ComponentProps'\nimport BForm from '../BForm/BForm.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BNavFormProps>(), {\n role: undefined,\n // BForm props\n floating: undefined,\n id: undefined,\n novalidate: undefined,\n validated: undefined,\n // End BForm props\n})\nconst props = useDefaults(_props, 'BNavForm')\n\nconst emit = defineEmits<{\n submit: [value: Event]\n}>()\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst submitted = (e: Readonly<Event>) => {\n emit('submit', e)\n}\n</script>\n","<template>\n <li class=\"nav-item\">\n <BLink\n class=\"nav-link\"\n :class=\"linkClass\"\n :tabindex=\"props.disabled ? -1 : undefined\"\n :aria-disabled=\"props.disabled ? true : undefined\"\n v-bind=\"{...computedLinkProps, ...linkAttrs}\"\n @click=\"emit('click', $event)\"\n >\n <slot />\n </BLink>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BNavItemProps} from '../../types/ComponentProps'\nimport {pick} from '../../utils/object'\nimport {useDefaults} from '../../composables/useDefaults'\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst _props = withDefaults(defineProps<BNavItemProps>(), {\n // Link props\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n linkAttrs: undefined,\n linkClass: undefined,\n opacity: undefined,\n stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BNavItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedLinkProps = computed(() =>\n pick(props, [\n 'active',\n 'activeClass',\n 'exactActiveClass',\n 'append',\n 'disabled',\n 'href',\n 'icon',\n 'opacity',\n 'opacityHover',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n)\ncomputedLinkProps.value.activeClass\n</script>\n","<template>\n <li class=\"nav-item dropdown\">\n <BDropdown\n ref=\"dropdown\"\n v-bind=\"props\"\n v-model=\"modelValue\"\n is-nav\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown')\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden')\"\n @hide-prevented=\"emit('hide-prevented')\"\n @show-prevented=\"emit('show-prevented')\"\n @click=\"emit('click', $event)\"\n @toggle=\"emit('toggle')\"\n >\n <template #button-content>\n <slot name=\"button-content\" />\n </template>\n <template #toggle-text>\n <slot name=\"toggle-text\" />\n </template>\n <template #default>\n <slot :hide=\"hide\" :show=\"show\" />\n </template>\n </BDropdown>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {ref} from 'vue'\nimport {BvTriggerableEvent} from '../../utils'\nimport BDropdown from '../BDropdown/BDropdown.vue'\nimport type {BDropdownProps} from '../../types/ComponentProps'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BDropdownProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n autoClose: true,\n block: false,\n boundary: 'clippingAncestors',\n boundaryPadding: undefined,\n center: false,\n teleportTo: undefined,\n teleportDisabled: false,\n disabled: false,\n dropend: false,\n dropstart: false,\n dropup: false,\n end: false,\n floatingMiddleware: undefined,\n id: undefined,\n isNav: true,\n lazy: false,\n menuClass: undefined,\n noCaret: false,\n noFlip: false,\n noShift: false,\n noSize: false,\n offset: 0,\n role: 'menu',\n size: 'md',\n split: false,\n splitButtonType: 'button',\n splitClass: undefined,\n splitDisabled: undefined,\n splitHref: undefined,\n splitTo: undefined,\n splitVariant: undefined,\n strategy: 'absolute',\n text: undefined,\n toggleClass: undefined,\n toggleText: 'Toggle dropdown',\n variant: 'link',\n})\nconst props = useDefaults(_props, 'BNavItemDropdown')\n\nconst emit = defineEmits<{\n 'click': [event: MouseEvent]\n 'hidden': []\n 'hide': [value: BvTriggerableEvent]\n 'hide-prevented': []\n 'show': [value: BvTriggerableEvent]\n 'show-prevented': []\n 'shown': []\n 'toggle': []\n}>()\n\nconst modelValue = defineModel<Exclude<BDropdownProps['modelValue'], undefined>>({default: false})\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'button-content'?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'default'?: (props: {hide: () => void; show: () => void}) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n 'toggle-text'?: (props: Record<string, never>) => any\n}>()\nconst dropdown = ref<InstanceType<typeof BDropdown> | null>(null)\n\nconst hide = () => {\n dropdown.value?.hide()\n}\nconst show = () => {\n dropdown.value?.show()\n}\nconst toggle = () => {\n dropdown.value?.toggle()\n}\n\ndefineExpose({\n hide,\n show,\n toggle,\n})\n</script>\n","<template>\n <li class=\"navbar-text\">\n <slot>\n {{ props.text }}\n </slot>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BNavTextProps} from '../../types/ComponentProps'\n\nconst _props = withDefaults(defineProps<BNavTextProps>(), {text: undefined})\nconst props = useDefaults(_props, 'BNavText')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n</script>\n"],"names":["_props","__props","props","useDefaults","alignment","useAlignment","align","computedClasses","computed","tabs","pills","vertical","cardHeader","fill","justified","value","small","underline","emit","__emit","submitted","e","computedLinkProps","pick","activeClass","modelValue","_useModel","dropdown","ref","hide","_a","show","__expose","toggle"],"mappings":"otBAYA,MAAMA,EAASC,EAYTC,EAAQC,EAAAA,YAAYH,EAAQ,QAO5BI,EAAYC,EAAAA,cAAa,IAAMH,EAAMI,QAErCC,EAAkBC,EAAAA,UAAS,KAAO,CACtC,WAAYN,EAAMO,KAClB,YAAaP,EAAMQ,QAAUR,EAAMO,KACnC,oBAAqBP,EAAMS,UAAYT,EAAMU,YAAcV,EAAMO,KACjE,qBAAsBP,EAAMS,UAAYT,EAAMU,YAAcV,EAAMQ,QAAUR,EAAMO,KAClF,cAAeP,EAAMS,SACrB,YAAaT,EAAMS,UAAYT,EAAMW,KACrC,iBAAkBX,EAAMS,UAAYT,EAAMY,UAC1C,CAACV,EAAUW,QAASb,EAAMS,eAA4B,IAAhBT,EAAMI,MAC5CU,MAASd,EAAMc,MACf,gBAAiBd,EAAMe,4hBCjBzB,MAAMjB,EAASC,EASTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BkB,EAAOC,EASPC,EAAaC,IACjBH,EAAK,SAAUG,EAAC,6sCCpBlB,MAAMrB,EAASC,EA0BTC,EAAQC,EAAAA,YAAYH,EAAQ,YAE5BkB,EAAOC,EAIPG,EAAoBd,EAAAA,UAAS,IACjCe,EAAAA,KAAKrB,EAAO,CACV,SACA,cACA,mBACA,SACA,WACA,OACA,OACA,UACA,eACA,MACA,UACA,sBACA,SACA,KACA,kBACA,uBACA,mBACA,wBACA,mBACA,qBAGJoB,EAAkBP,MAAMS,s1DC/CxB,MAAMxB,EAASC,EAuCTC,EAAQC,EAAAA,YAAYH,EAAQ,oBAE5BkB,EAAOC,EAWPM,EAAaC,EAAAA,yBAUbC,EAAWC,MAA2C,MAEtDC,EAAO,WACX,OAAAC,EAAAH,EAASZ,QAAOe,EAAAD,MAAA,EAEZE,EAAO,WACX,OAAAD,EAAAH,EAASZ,QAAOe,EAAAC,MAAA,SAMLC,EAAA,CACXH,OACAE,OACAE,OAPa,WACb,OAAAH,EAAAH,EAASZ,QAAOe,EAAAG,QAAA,y3BC/FlB,MAAMjC,EAASC,EACTC,EAAQC,EAAAA,YAAYH,EAAQ"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),r=require("./src/composables/usePopover/index.umd.js"),o=require("./floatingUi-CoKQ-nw7.js"),n=e.defineComponent({__name:"BPopoverOrchestrator",setup(n,{expose:l}){const s=r.usePopover();return l({...s}),(r,n)=>{var l;return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(null==(l=e.unref(s).popovers)?void 0:l.value,(([r,n])=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component??o._sfc_main),e.mergeProps({key:r,ref_for:!0},n.props,{"model-value":n.props._modelValue,reference:n.props._reference,"onUpdate:modelValue":o=>{var l,p;return null==(p=(l=e.unref(s)).set)?void 0:p.call(l,r,{...n.props,_modelValue:o})}}),null,16,["model-value","reference","onUpdate:modelValue"])))),128)}}});exports._sfc_main=n;
2
- //# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UfmK9QvC.js.map
1
+ "use strict";const e=require("vue"),r=require("./src/composables/usePopover/index.umd.js"),o=require("./floatingUi-DJR8_ocF.js"),n=e.defineComponent({__name:"BPopoverOrchestrator",setup(n,{expose:l}){const s=r.usePopover();return l({...s}),(r,n)=>{var l;return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(null==(l=e.unref(s).popovers)?void 0:l.value,(([r,n])=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component??o._sfc_main),e.mergeProps({key:r,ref_for:!0},n.props,{"model-value":n.props._modelValue,reference:n.props._reference,"onUpdate:modelValue":o=>{var l,p;return null==(p=(l=e.unref(s)).set)?void 0:p.call(l,r,{...n.props,_modelValue:o})}}),null,16,["model-value","reference","onUpdate:modelValue"])))),128)}}});exports._sfc_main=n;
2
+ //# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Ceqiq8yq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-UfmK9QvC.js","sources":["../src/components/BPopover/BPopoverOrchestrator.vue"],"sourcesContent":["<template>\n <component\n :is=\"popover.component ?? BPopover\"\n v-for=\"[self, popover] in tools.popovers?.value\"\n :key=\"self\"\n v-bind=\"popover.props\"\n :model-value=\"popover.props._modelValue\"\n :reference=\"popover.props._reference\"\n @update:model-value=\"tools.set?.(self, {...popover.props, _modelValue: $event})\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {usePopover} from '../../composables/usePopover'\nimport BPopover from './BPopover.vue'\n\nconst tools = usePopover()\n\ndefineExpose({\n ...tools,\n})\n</script>\n"],"names":["tools","usePopover","__expose"],"mappings":"wMAgBM,MAAAA,EAAQC,EAAAA,oBAEDC,EAAA,IACRF"}
1
+ {"version":3,"file":"BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Ceqiq8yq.js","sources":["../src/components/BPopover/BPopoverOrchestrator.vue"],"sourcesContent":["<template>\n <component\n :is=\"popover.component ?? BPopover\"\n v-for=\"[self, popover] in tools.popovers?.value\"\n :key=\"self\"\n v-bind=\"popover.props\"\n :model-value=\"popover.props._modelValue\"\n :reference=\"popover.props._reference\"\n @update:model-value=\"tools.set?.(self, {...popover.props, _modelValue: $event})\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {usePopover} from '../../composables/usePopover'\nimport BPopover from './BPopover.vue'\n\nconst tools = usePopover()\n\ndefineExpose({\n ...tools,\n})\n</script>\n"],"names":["tools","usePopover","__expose"],"mappings":"wMAgBM,MAAAA,EAAQC,EAAAA,oBAEDC,EAAA,IACRF"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, openBlock, createElementBlock, Fragment, renderList, unref, createBlock, resolveDynamicComponent, mergeProps } from "vue";
2
2
  import { usePopover } from "./src/composables/usePopover/index.mjs";
3
- import { _ as _sfc_main$1 } from "./floatingUi-5pxbgyLd.mjs";
3
+ import { _ as _sfc_main$1 } from "./floatingUi-DkjyEWfi.mjs";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
5
  __name: "BPopoverOrchestrator",
6
6
  setup(__props, { expose: __expose }) {
@@ -29,4 +29,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
29
  export {
30
30
  _sfc_main as _
31
31
  };
32
- //# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CSpk5s_J.mjs.map
32
+ //# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DLI1TgLc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-CSpk5s_J.mjs","sources":["../src/components/BPopover/BPopoverOrchestrator.vue"],"sourcesContent":["<template>\n <component\n :is=\"popover.component ?? BPopover\"\n v-for=\"[self, popover] in tools.popovers?.value\"\n :key=\"self\"\n v-bind=\"popover.props\"\n :model-value=\"popover.props._modelValue\"\n :reference=\"popover.props._reference\"\n @update:model-value=\"tools.set?.(self, {...popover.props, _modelValue: $event})\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {usePopover} from '../../composables/usePopover'\nimport BPopover from './BPopover.vue'\n\nconst tools = usePopover()\n\ndefineExpose({\n ...tools,\n})\n</script>\n"],"names":[],"mappings":";;;;;;AAgBA,UAAM,QAAQ;AAED,aAAA;AAAA,MACX,GAAG;AAAA,IAAA,CACJ;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DLI1TgLc.mjs","sources":["../src/components/BPopover/BPopoverOrchestrator.vue"],"sourcesContent":["<template>\n <component\n :is=\"popover.component ?? BPopover\"\n v-for=\"[self, popover] in tools.popovers?.value\"\n :key=\"self\"\n v-bind=\"popover.props\"\n :model-value=\"popover.props._modelValue\"\n :reference=\"popover.props._reference\"\n @update:model-value=\"tools.set?.(self, {...popover.props, _modelValue: $event})\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {usePopover} from '../../composables/usePopover'\nimport BPopover from './BPopover.vue'\n\nconst tools = usePopover()\n\ndefineExpose({\n ...tools,\n})\n</script>\n"],"names":[],"mappings":";;;;;;AAgBA,UAAM,QAAQ;AAED,aAAA;AAAA,MACX,GAAG;AAAA,IAAA,CACJ;;;;;;;;;;;;;;;;;;;"}