bootstrap-vue-next 0.26.13 → 0.26.15

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 (124) hide show
  1. package/dist/{BAlert-C0qY9Xv3.mjs → BAlert-CF7fuF6B.mjs} +2 -2
  2. package/dist/{BAlert-C0qY9Xv3.mjs.map → BAlert-CF7fuF6B.mjs.map} +1 -1
  3. package/dist/{BAlert-BpF4oAeX.js → BAlert-Cz9tDp0p.js} +2 -2
  4. package/dist/{BAlert-BpF4oAeX.js.map → BAlert-Cz9tDp0p.js.map} +1 -1
  5. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-IePWQYF3.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js} +2 -2
  6. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-IePWQYF3.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js.map} +1 -1
  7. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-ClKTMXgM.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs} +3 -3
  8. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-ClKTMXgM.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs.map} +1 -1
  9. package/dist/{BBadge.vue_vue_type_script_setup_true_lang-Eni6L24M.js → BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js} +2 -2
  10. package/dist/{BBadge.vue_vue_type_script_setup_true_lang-Eni6L24M.js.map → BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js.map} +1 -1
  11. package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DsHdM83c.mjs → BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs} +2 -2
  12. package/dist/{BBadge.vue_vue_type_script_setup_true_lang-DsHdM83c.mjs.map → BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs.map} +1 -1
  13. package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-CTFauwCs.js → BBreadcrumb.vue_vue_type_script_setup_true_lang-DUFKgPLL.js} +2 -2
  14. package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-CTFauwCs.js.map → BBreadcrumb.vue_vue_type_script_setup_true_lang-DUFKgPLL.js.map} +1 -1
  15. package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-DdJ1jw_K.mjs → BBreadcrumb.vue_vue_type_script_setup_true_lang-nd2E3QjW.mjs} +2 -2
  16. package/dist/{BBreadcrumb.vue_vue_type_script_setup_true_lang-DdJ1jw_K.mjs.map → BBreadcrumb.vue_vue_type_script_setup_true_lang-nd2E3QjW.mjs.map} +1 -1
  17. package/dist/{BButton.vue_vue_type_script_setup_true_lang-B2X0j56J.mjs → BButton.vue_vue_type_script_setup_true_lang-gQ4jEQKx.mjs} +2 -2
  18. package/dist/{BButton.vue_vue_type_script_setup_true_lang-B2X0j56J.mjs.map → BButton.vue_vue_type_script_setup_true_lang-gQ4jEQKx.mjs.map} +1 -1
  19. package/dist/{BButton.vue_vue_type_script_setup_true_lang-C2YRD1Kf.js → BButton.vue_vue_type_script_setup_true_lang-m6nXqwxn.js} +2 -2
  20. package/dist/{BButton.vue_vue_type_script_setup_true_lang-C2YRD1Kf.js.map → BButton.vue_vue_type_script_setup_true_lang-m6nXqwxn.js.map} +1 -1
  21. package/dist/{BDropdown-DtDUtLe2.js → BDropdown-CSsBBggX.js} +2 -2
  22. package/dist/{BDropdown-DtDUtLe2.js.map → BDropdown-CSsBBggX.js.map} +1 -1
  23. package/dist/{BDropdown-CkaKVXBz.mjs → BDropdown-DtDan7Sl.mjs} +2 -2
  24. package/dist/{BDropdown-CkaKVXBz.mjs.map → BDropdown-DtDan7Sl.mjs.map} +1 -1
  25. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-lHDCetys.js → BDropdownText.vue_vue_type_script_setup_true_lang-BZMrQKtT.js} +2 -2
  26. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-lHDCetys.js.map → BDropdownText.vue_vue_type_script_setup_true_lang-BZMrQKtT.js.map} +1 -1
  27. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-D-KI9csz.mjs → BDropdownText.vue_vue_type_script_setup_true_lang-zF-Eo35m.mjs} +2 -2
  28. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-D-KI9csz.mjs.map → BDropdownText.vue_vue_type_script_setup_true_lang-zF-Eo35m.mjs.map} +1 -1
  29. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-6xBzxLR0.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-C_0OfyA_.mjs} +5 -4
  30. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-C_0OfyA_.mjs.map +1 -0
  31. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-BKmqZjJP.js → BFormGroup.vue_vue_type_script_setup_true_lang-Dauyn6FI.js} +2 -2
  32. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-Dauyn6FI.js.map +1 -0
  33. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DNWqASoC.js → BFormTags.vue_vue_type_script_setup_true_lang-DX41xYli.js} +2 -2
  34. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-DNWqASoC.js.map → BFormTags.vue_vue_type_script_setup_true_lang-DX41xYli.js.map} +1 -1
  35. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-CMEaZNTS.mjs → BFormTags.vue_vue_type_script_setup_true_lang-r0uYLknE.mjs} +2 -2
  36. package/dist/{BFormTags.vue_vue_type_script_setup_true_lang-CMEaZNTS.mjs.map → BFormTags.vue_vue_type_script_setup_true_lang-r0uYLknE.mjs.map} +1 -1
  37. package/dist/BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js +2 -0
  38. package/dist/BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js.map +1 -0
  39. package/dist/{BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs → BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs} +21 -12
  40. package/dist/BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs.map +1 -0
  41. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-BsxGz42G.mjs → BListGroupItem.vue_vue_type_script_setup_true_lang-BvZYkKtO.mjs} +2 -2
  42. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-BsxGz42G.mjs.map → BListGroupItem.vue_vue_type_script_setup_true_lang-BvZYkKtO.mjs.map} +1 -1
  43. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-D81gocMN.js → BListGroupItem.vue_vue_type_script_setup_true_lang-Dd2gJbwB.js} +2 -2
  44. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-D81gocMN.js.map → BListGroupItem.vue_vue_type_script_setup_true_lang-Dd2gJbwB.js.map} +1 -1
  45. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BhWSz_QG.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CxEnrwIS.mjs} +2 -2
  46. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BhWSz_QG.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-CxEnrwIS.mjs.map} +1 -1
  47. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BJjwNHg3.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DaKOH_lu.js} +2 -2
  48. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-BJjwNHg3.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DaKOH_lu.js.map} +1 -1
  49. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DvFJ9YMy.mjs → BNavText.vue_vue_type_script_setup_true_lang-CVyHB2Ge.mjs} +3 -3
  50. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DvFJ9YMy.mjs.map → BNavText.vue_vue_type_script_setup_true_lang-CVyHB2Ge.mjs.map} +1 -1
  51. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DLVCX1ru.js → BNavText.vue_vue_type_script_setup_true_lang-CWqtFxRo.js} +2 -2
  52. package/dist/{BNavText.vue_vue_type_script_setup_true_lang-DLVCX1ru.js.map → BNavText.vue_vue_type_script_setup_true_lang-CWqtFxRo.js.map} +1 -1
  53. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-BBU8Fac1.js → BNavbarToggle.vue_vue_type_script_setup_true_lang--xVvREuS.js} +2 -2
  54. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-BBU8Fac1.js.map → BNavbarToggle.vue_vue_type_script_setup_true_lang--xVvREuS.js.map} +1 -1
  55. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-DPZZ2vyk.mjs → BNavbarToggle.vue_vue_type_script_setup_true_lang-CCIDsf4z.mjs} +2 -2
  56. package/dist/{BNavbarToggle.vue_vue_type_script_setup_true_lang-DPZZ2vyk.mjs.map → BNavbarToggle.vue_vue_type_script_setup_true_lang-CCIDsf4z.mjs.map} +1 -1
  57. package/dist/{BOffcanvas-CWanFXf1.mjs → BOffcanvas-B2Nfzg_c.mjs} +2 -2
  58. package/dist/{BOffcanvas-CWanFXf1.mjs.map → BOffcanvas-B2Nfzg_c.mjs.map} +1 -1
  59. package/dist/{BOffcanvas-C__V25la.js → BOffcanvas-DoXYVUsI.js} +2 -2
  60. package/dist/{BOffcanvas-C__V25la.js.map → BOffcanvas-DoXYVUsI.js.map} +1 -1
  61. package/dist/{BTable.vue_vue_type_script_setup_true_lang-kkdZtSDk.mjs → BTable.vue_vue_type_script_setup_true_lang-CuJWP16B.mjs} +8 -4
  62. package/dist/{BTable.vue_vue_type_script_setup_true_lang-kkdZtSDk.mjs.map → BTable.vue_vue_type_script_setup_true_lang-CuJWP16B.mjs.map} +1 -1
  63. package/dist/{BTable.vue_vue_type_script_setup_true_lang-Dq91J6r_.js → BTable.vue_vue_type_script_setup_true_lang-Zk-UMOCf.js} +2 -2
  64. package/dist/{BTable.vue_vue_type_script_setup_true_lang-Dq91J6r_.js.map → BTable.vue_vue_type_script_setup_true_lang-Zk-UMOCf.js.map} +1 -1
  65. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DXCXSWd3.js → BToastOrchestrator.vue_vue_type_style_index_0_lang-BopJ6Rfz.js} +2 -2
  66. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DXCXSWd3.js.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-BopJ6Rfz.js.map} +1 -1
  67. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DYGT7fnb.mjs → BToastOrchestrator.vue_vue_type_style_index_0_lang-C8LsIlx8.mjs} +2 -2
  68. package/dist/{BToastOrchestrator.vue_vue_type_style_index_0_lang-DYGT7fnb.mjs.map → BToastOrchestrator.vue_vue_type_style_index_0_lang-C8LsIlx8.mjs.map} +1 -1
  69. package/dist/bootstrap-vue-next.mjs +18 -18
  70. package/dist/bootstrap-vue-next.umd.js +1 -1
  71. package/dist/{index-wsDdXQXu.mjs → index-C2T3dp9c.mjs} +18 -18
  72. package/dist/{index-wsDdXQXu.mjs.map → index-C2T3dp9c.mjs.map} +1 -1
  73. package/dist/{index-CKT9WJF_.js → index-ukkkyIq6.js} +2 -2
  74. package/dist/index-ukkkyIq6.js.map +1 -0
  75. package/dist/src/components/BAlert/index.mjs +1 -1
  76. package/dist/src/components/BAlert/index.umd.js +1 -1
  77. package/dist/src/components/BAvatar/index.mjs +1 -1
  78. package/dist/src/components/BAvatar/index.umd.js +1 -1
  79. package/dist/src/components/BBadge/index.mjs +1 -1
  80. package/dist/src/components/BBadge/index.umd.js +1 -1
  81. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  82. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  83. package/dist/src/components/BButton/index.mjs +1 -1
  84. package/dist/src/components/BButton/index.umd.js +1 -1
  85. package/dist/src/components/BDropdown/index.mjs +2 -2
  86. package/dist/src/components/BDropdown/index.umd.js +1 -1
  87. package/dist/src/components/BFormGroup/index.mjs +1 -1
  88. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  89. package/dist/src/components/BFormTags/index.mjs +1 -1
  90. package/dist/src/components/BFormTags/index.umd.js +1 -1
  91. package/dist/src/components/BLink/index.mjs +1 -1
  92. package/dist/src/components/BLink/index.umd.js +1 -1
  93. package/dist/src/components/BListGroup/index.mjs +1 -1
  94. package/dist/src/components/BListGroup/index.umd.js +1 -1
  95. package/dist/src/components/BModal/index.mjs +1 -1
  96. package/dist/src/components/BModal/index.umd.js +1 -1
  97. package/dist/src/components/BNav/index.mjs +1 -1
  98. package/dist/src/components/BNav/index.umd.js +1 -1
  99. package/dist/src/components/BNavbar/index.mjs +1 -1
  100. package/dist/src/components/BNavbar/index.umd.js +1 -1
  101. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  102. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  103. package/dist/src/components/BTable/index.mjs +1 -1
  104. package/dist/src/components/BTable/index.umd.js +1 -1
  105. package/dist/src/components/BToast/index.mjs +1 -1
  106. package/dist/src/components/BToast/index.umd.js +1 -1
  107. package/dist/src/components/index.mjs +17 -17
  108. package/dist/src/components/index.umd.js +1 -1
  109. package/dist/src/composables/useBLinkHelper.d.mts +1 -0
  110. package/dist/src/composables/useBLinkHelper.d.ts +1 -0
  111. package/dist/src/utils/stringUtils.d.mts +1 -0
  112. package/dist/src/utils/stringUtils.d.ts +1 -0
  113. package/dist/stringUtils-BBcOJJJC.js +2 -0
  114. package/dist/{stringUtils-DWyEJm3G.js.map → stringUtils-BBcOJJJC.js.map} +1 -1
  115. package/dist/{stringUtils-BCx12BQM.mjs → stringUtils-DNoLRB2A.mjs} +4 -2
  116. package/dist/{stringUtils-BCx12BQM.mjs.map → stringUtils-DNoLRB2A.mjs.map} +1 -1
  117. package/package.json +1 -1
  118. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-6xBzxLR0.mjs.map +0 -1
  119. package/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BKmqZjJP.js.map +0 -1
  120. package/dist/BLink.vue_vue_type_script_setup_true_lang-B-ETGZt_.js +0 -2
  121. package/dist/BLink.vue_vue_type_script_setup_true_lang-B-ETGZt_.js.map +0 -1
  122. package/dist/BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs.map +0 -1
  123. package/dist/index-CKT9WJF_.js.map +0 -1
  124. package/dist/stringUtils-DWyEJm3G.js +0 -2
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, openBlock, createBlock, Transition, mergeProps, unref, withCtx, createElementBlock, normalizeClass, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { _ as _sfc_main$2 } from "./BCloseButton.vue_vue_type_script_setup_true_lang-B0EXlL9P.mjs";
3
- import { _ as _sfc_main$1 } from "./BButton.vue_vue_type_script_setup_true_lang-B2X0j56J.mjs";
3
+ import { _ as _sfc_main$1 } from "./BButton.vue_vue_type_script_setup_true_lang-gQ4jEQKx.mjs";
4
4
  import { u as useCountdown, a as useCountdownHover } from "./useCountdownHover-GEvDq366.mjs";
5
5
  import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
6
6
  import { i as isEmptySlot } from "./dom-DSGRrOAo.mjs";
@@ -125,4 +125,4 @@ const BAlert = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-141
125
125
  export {
126
126
  BAlert as B
127
127
  };
128
- //# sourceMappingURL=BAlert-C0qY9Xv3.mjs.map
128
+ //# sourceMappingURL=BAlert-CF7fuF6B.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert-C0qY9Xv3.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,OAAO;AAMb,UAAM,QAAQA,SAAA;AAOd,UAAM,kBAAkB,kBAAkB,MAAM,MAAM,IAAI;AAEpD,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,aAAaC,SAA2E,SAAA,YAAA;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IACzD;AAEM,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAAA,EAC3B;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAK,CAAC,CAAC;AAE1F,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACL,IAAA,aAAa,iBAAiB,MAAM,UAAU;AAAA,MAChD,WAAW,OAAO,WAAW,UAAU,YAAY,MAAM;AAAA,IAAA,CAC1D;AACD;AAAA,MACE;AAAA,MACA,SAAS,OAAO;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,sBAAsB,MAAM;AAAA,QAC5B,wBAAwB,OAAO,WAAW,UAAU;AAAA,MAAA,EACpD;AAAA,MACF,EAAC,OAAO,OAAM;AAAA,IAChB;AAEA,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IACvD;AAEM,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IAAA,EACpB;AAEF,gBAAY,MAAM;AACX,WAAA,mBAAmB,YAAY,KAAK;AAAA,IAAA,CAC1C;AAED,UAAM,OAAO,MAAM;AACjB,WAAK,OAAO;AAER,UAAA,OAAO,WAAW,UAAU,WAAW;AACzC,mBAAW,QAAQ;AAAA,MAAA,OACd;AACL,mBAAW,QAAQ;AACd,aAAA;AAAA,MAAA;AAGP,WAAK,QAAQ;AAAA,IACf;AAEa,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BAlert-CF7fuF6B.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_useSlots","_useModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,SAAS;AAeT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,OAAO;AAMb,UAAM,QAAQA,SAAA;AAOd,UAAM,kBAAkB,kBAAkB,MAAM,MAAM,IAAI;AAEpD,UAAA,UAAU,eAA4B,UAAU;AAEhD,UAAA,aAAaC,SAA2E,SAAA,YAAA;AAE9F,UAAM,eAAe,SAAS,MAAM,CAAC,YAAY,MAAM,KAAK,CAAC;AAC7D,UAAM,kBAAkB;AAAA,MAAS,MAC/B,OAAO,WAAW,UAAU,YAAY,IAAI,WAAW;AAAA,IACzD;AAEM,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,MAAM,YAAY;AAAA,MAC9C,qBAAqB,MAAM;AAAA,IAAA,EAC3B;AAEI,UAAA,eAAe,SAAS,MAAM,CAAC,MAAM,YAAY,EAAC,oBAAoB,aAAa,MAAK,CAAC,CAAC;AAE1F,UAAA;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACL,IAAA,aAAa,iBAAiB,MAAM,UAAU;AAAA,MAChD,WAAW,OAAO,WAAW,UAAU,YAAY,MAAM;AAAA,IAAA,CAC1D;AACD;AAAA,MACE;AAAA,MACA,SAAS,OAAO;AAAA,QACd,cAAc,MAAM;AAAA,QACpB,sBAAsB,MAAM;AAAA,QAC5B,wBAAwB,OAAO,WAAW,UAAU;AAAA,MAAA,EACpD;AAAA,MACF,EAAC,OAAO,OAAM;AAAA,IAChB;AAEA,UAAM,iBAAiB;AAAA,MAAS,MAC9B,OAAO,WAAW,UAAU,YACxB,WAAW,QACX,SAAS,SAAU,MAAM,eAAe,SAAS;AAAA,IACvD;AAEM,UAAA,aAAa,SAAS,OAAO;AAAA,MACjC,SAAS,aAAa,QAAQ,MAAM,eAAe;AAAA,MACnD,OAAO,aAAa;AAAA,IAAA,EACpB;AAEF,gBAAY,MAAM;AACX,WAAA,mBAAmB,YAAY,KAAK;AAAA,IAAA,CAC1C;AAED,UAAM,OAAO,MAAM;AACjB,WAAK,OAAO;AAER,UAAA,OAAO,WAAW,UAAU,WAAW;AACzC,mBAAW,QAAQ;AAAA,MAAA,OACd;AACL,mBAAW,QAAQ;AACd,aAAA;AAAA,MAAA;AAGP,WAAK,QAAQ;AAAA,IACf;AAEa,aAAA;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-BNiA4JXj.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-C2YRD1Kf.js"),l=require("./useCountdownHover-DTpNib77.js"),a=require("./useDefaults-Bq2idhQU.js"),s=require("./dom-D5l3V401.js"),u=require("./useTransitions-DhhDSg14.js"),r=require("./_plugin-vue_export-helper-CC_fc8JW.js"),n=e.defineComponent({__name:"BAlert",props:e.mergeModels({closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},interval:{default:"requestAnimationFrame"},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},showOnPause:{type:Boolean,default:!0},variant:{default:"info"}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:e.mergeModels(["close","close-countdown","closed"],["update:modelValue"]),setup(r,{expose:n,emit:i}){const c=r,d=a.useDefaults(c,"BAlert"),m=i,p=e.useSlots(),v=u.useFadeTransition((()=>d.fade)),f=e.useTemplateRef("_element"),_=e.useModel(r,"modelValue"),B=e.computed((()=>!s.isEmptySlot(p.close))),y=e.computed((()=>"boolean"==typeof _.value?0:_.value)),C=e.computed((()=>({[`alert-${d.variant}`]:null!==d.variant,"alert-dismissible":d.dismissible}))),k=e.computed((()=>[d.closeClass,{"btn-close-custom":B.value}])),{isActive:b,pause:g,resume:w,stop:q,isPaused:H,restart:P,value:V}=l.useCountdown(y,d.interval,{immediate:"number"==typeof _.value&&d.immediate});l.useCountdownHover(f,e.computed((()=>({noHoverPause:d.noHoverPause,noResumeOnHoverLeave:d.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof _.value}))),{pause:g,resume:w});const h=e.computed((()=>"boolean"==typeof _.value?_.value:b.value||d.showOnPause&&H.value)),j=e.computed((()=>({variant:B.value?d.closeVariant:void 0,class:k.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const x=()=>{m("close"),"boolean"==typeof _.value?_.value=!1:(_.value=0,q()),m("closed")};return n({pause:g,resume:w,stop:q,restart:P}),(l,a)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps(e.unref(v),{"enter-to-class":"show"}),{default:e.withCtx((()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"_element",class:e.normalizeClass(["alert",C.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(l.$slots,"default",{},void 0,!0),e.unref(d).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[B.value||e.unref(d).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},j.value,{onClick:x}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(o._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(d).closeLabel},j.value,{onClick:x}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},16))}}),i=r._export_sfc(n,[["__scopeId","data-v-141c4f93"]]);exports.BAlert=i;
2
- //# sourceMappingURL=BAlert-BpF4oAeX.js.map
1
+ "use strict";const e=require("vue"),o=require("./BCloseButton.vue_vue_type_script_setup_true_lang-BNiA4JXj.js"),t=require("./BButton.vue_vue_type_script_setup_true_lang-m6nXqwxn.js"),l=require("./useCountdownHover-DTpNib77.js"),a=require("./useDefaults-Bq2idhQU.js"),s=require("./dom-D5l3V401.js"),u=require("./useTransitions-DhhDSg14.js"),r=require("./_plugin-vue_export-helper-CC_fc8JW.js"),n=e.defineComponent({__name:"BAlert",props:e.mergeModels({closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},immediate:{type:Boolean,default:!0},interval:{default:"requestAnimationFrame"},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},showOnPause:{type:Boolean,default:!0},variant:{default:"info"}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:e.mergeModels(["close","close-countdown","closed"],["update:modelValue"]),setup(r,{expose:n,emit:i}){const c=r,d=a.useDefaults(c,"BAlert"),m=i,p=e.useSlots(),v=u.useFadeTransition((()=>d.fade)),f=e.useTemplateRef("_element"),_=e.useModel(r,"modelValue"),B=e.computed((()=>!s.isEmptySlot(p.close))),y=e.computed((()=>"boolean"==typeof _.value?0:_.value)),C=e.computed((()=>({[`alert-${d.variant}`]:null!==d.variant,"alert-dismissible":d.dismissible}))),k=e.computed((()=>[d.closeClass,{"btn-close-custom":B.value}])),{isActive:b,pause:g,resume:w,stop:q,isPaused:H,restart:P,value:V}=l.useCountdown(y,d.interval,{immediate:"number"==typeof _.value&&d.immediate});l.useCountdownHover(f,e.computed((()=>({noHoverPause:d.noHoverPause,noResumeOnHoverLeave:d.noResumeOnHoverLeave,modelValueIgnoresHover:"boolean"==typeof _.value}))),{pause:g,resume:w});const h=e.computed((()=>"boolean"==typeof _.value?_.value:b.value||d.showOnPause&&H.value)),j=e.computed((()=>({variant:B.value?d.closeVariant:void 0,class:k.value})));e.watchEffect((()=>{m("close-countdown",V.value)}));const x=()=>{m("close"),"boolean"==typeof _.value?_.value=!1:(_.value=0,q()),m("closed")};return n({pause:g,resume:w,stop:q,restart:P}),(l,a)=>(e.openBlock(),e.createBlock(e.Transition,e.mergeProps(e.unref(v),{"enter-to-class":"show"}),{default:e.withCtx((()=>[h.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"_element",class:e.normalizeClass(["alert",C.value]),role:"alert","aria-live":"polite","aria-atomic":"true"},[e.renderSlot(l.$slots,"default",{},void 0,!0),e.unref(d).dismissible?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[B.value||e.unref(d).closeContent?(e.openBlock(),e.createBlock(t._sfc_main,e.mergeProps({key:0},j.value,{onClick:x}),{default:e.withCtx((()=>[e.renderSlot(l.$slots,"close",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).closeContent),1)]),!0)])),_:3},16)):(e.openBlock(),e.createBlock(o._sfc_main,e.mergeProps({key:1,"aria-label":e.unref(d).closeLabel},j.value,{onClick:x}),null,16,["aria-label"]))],64)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])),_:3},16))}}),i=r._export_sfc(n,[["__scopeId","data-v-141c4f93"]]);exports.BAlert=i;
2
+ //# sourceMappingURL=BAlert-Cz9tDp0p.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert-BpF4oAeX.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","fadeTransitions","useFadeTransition","fade","element","useTemplateRef","modelValue","_useModel","hasCloseSlot","computed","isEmptySlot","close","countdownLength","value","computedClasses","variant","dismissible","closeClasses","closeClass","isActive","pause","resume","stop","isPaused","restart","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","isAlertVisible","showOnPause","closeAttrs","closeVariant","class","watchEffect","hide","__expose"],"mappings":"qhCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAkBC,EAAAA,mBAAkB,IAAMP,EAAMQ,OAEhDC,EAAUC,iBAA4B,YAEtCC,EAAaC,EAAAA,SAA2Eb,EAAA,cAExFc,EAAeC,EAAAA,UAAS,KAAOC,EAAAA,YAAYX,EAAMY,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASd,EAAMoB,WAA8B,OAAlBpB,EAAMoB,QAClC,oBAAqBpB,EAAMqB,gBAGvBC,EAAeR,YAAS,IAAM,CAACd,EAAMuB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBjB,EAAMgC,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBlB,EAAMiC,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAcnC,EAAMmC,aACpBC,qBAAsBpC,EAAMoC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUlB,EAAMuC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQlB,EAAMyC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLzC,EAAA,kBAAmB4B,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACX1C,EAAK,SAE2B,kBAArBS,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,EACdS,KAGPzB,EAAK,SAAQ,SAGF2C,EAAA,CACXpB,QACAC,SACAC,OACAE"}
1
+ {"version":3,"file":"BAlert-Cz9tDp0p.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition v-bind=\"fadeTransitions\" enter-to-class=\"show\">\n <div\n v-if=\"isAlertVisible\"\n ref=\"_element\"\n class=\"alert\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n :class=\"computedClasses\"\n >\n <slot />\n <template v-if=\"props.dismissible\">\n <BButton v-if=\"hasCloseSlot || props.closeContent\" v-bind=\"closeAttrs\" @click=\"hide\">\n <slot name=\"close\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton v-else :aria-label=\"props.closeLabel\" v-bind=\"closeAttrs\" @click=\"hide\" />\n </template>\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BButton from '../BButton/BButton.vue'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport {computed, useTemplateRef, watchEffect} from 'vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useFadeTransition} from '../../composables/useTransitions'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n fade: false,\n immediate: true,\n interval: 'requestAnimationFrame',\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n showOnPause: true,\n variant: 'info',\n})\n\nconst props = useDefaults(_props, 'BAlert')\n\nconst emit = defineEmits<{\n 'close': []\n 'close-countdown': [value: number]\n 'closed': []\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n close?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst fadeTransitions = useFadeTransition(() => props.fade)\n\nconst element = useTemplateRef<HTMLElement>('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\n\nconst hasCloseSlot = computed(() => !isEmptySlot(slots.close))\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst computedClasses = computed(() => ({\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible,\n}))\n\nconst closeClasses = computed(() => [props.closeClass, {'btn-close-custom': hasCloseSlot.value}])\n\nconst {\n isActive,\n pause,\n resume,\n stop,\n isPaused,\n restart,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && props.immediate,\n})\nuseCountdownHover(\n element,\n computed(() => ({\n noHoverPause: props.noHoverPause,\n noResumeOnHoverLeave: props.noResumeOnHoverLeave,\n modelValueIgnoresHover: typeof modelValue.value === 'boolean',\n })),\n {pause, resume}\n)\n\nconst isAlertVisible = computed(() =>\n typeof modelValue.value === 'boolean'\n ? modelValue.value\n : isActive.value || (props.showOnPause && isPaused.value)\n)\n\nconst closeAttrs = computed(() => ({\n variant: hasCloseSlot.value ? props.closeVariant : undefined,\n class: closeClasses.value,\n}))\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst hide = () => {\n emit('close')\n\n if (typeof modelValue.value === 'boolean') {\n modelValue.value = false\n } else {\n modelValue.value = 0\n stop()\n }\n\n emit('closed')\n}\n\ndefineExpose({\n pause,\n resume,\n stop,\n restart,\n})\n</script>\n\n<style lang=\"scss\" scoped>\n.btn-close-custom {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n margin: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n}\n</style>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","fadeTransitions","useFadeTransition","fade","element","useTemplateRef","modelValue","_useModel","hasCloseSlot","computed","isEmptySlot","close","countdownLength","value","computedClasses","variant","dismissible","closeClasses","closeClass","isActive","pause","resume","stop","isPaused","restart","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","isAlertVisible","showOnPause","closeAttrs","closeVariant","class","watchEffect","hide","__expose"],"mappings":"qhCAmCA,MAAMA,EAASC,EAeTC,EAAQC,EAAAA,YAAYH,EAAQ,UAE5BI,EAAOC,EAMPC,EAAQC,EAAAA,WAORC,EAAkBC,EAAAA,mBAAkB,IAAMP,EAAMQ,OAEhDC,EAAUC,iBAA4B,YAEtCC,EAAaC,EAAAA,SAA2Eb,EAAA,cAExFc,EAAeC,EAAAA,UAAS,KAAOC,EAAAA,YAAYX,EAAMY,SACjDC,EAAkBH,EAAAA,UAAS,IACH,kBAArBH,EAAWO,MAAsB,EAAIP,EAAWO,QAGnDC,EAAkBL,EAAAA,UAAS,KAAO,CACtC,CAAC,SAASd,EAAMoB,WAA8B,OAAlBpB,EAAMoB,QAClC,oBAAqBpB,EAAMqB,gBAGvBC,EAAeR,YAAS,IAAM,CAACd,EAAMuB,WAAY,CAAC,mBAAoBV,EAAaK,WAEnFM,SACJA,EAAAC,MACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,SACAA,EAAAC,QACAA,EACAX,MAAOY,GACLC,eAAad,EAAiBjB,EAAMgC,SAAU,CAChDC,UAAuC,iBAArBtB,EAAWO,OAAsBlB,EAAMiC,YAE3DC,EAAAA,kBACEzB,EACAK,EAAAA,UAAS,KAAO,CACdqB,aAAcnC,EAAMmC,aACpBC,qBAAsBpC,EAAMoC,qBAC5BC,uBAAoD,kBAArB1B,EAAWO,UAE5C,CAACO,QAAOC,WAGV,MAAMY,EAAiBxB,EAAAA,UAAS,IACF,kBAArBH,EAAWO,MACdP,EAAWO,MACXM,EAASN,OAAUlB,EAAMuC,aAAeX,EAASV,QAGjDsB,EAAa1B,EAAAA,UAAS,KAAO,CACjCM,QAASP,EAAaK,MAAQlB,EAAMyC,kBAAe,EACnDC,MAAOpB,EAAaJ,UAGtByB,EAAAA,aAAY,KACLzC,EAAA,kBAAmB4B,EAAYZ,MAAK,IAG3C,MAAM0B,EAAO,KACX1C,EAAK,SAE2B,kBAArBS,EAAWO,MACpBP,EAAWO,OAAQ,GAEnBP,EAAWO,MAAQ,EACdS,KAGPzB,EAAK,SAAQ,SAGF2C,EAAA,CACXpB,QACAC,SACAC,OACAE"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./keys-C2BcfuxJ.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-B-ETGZt_.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-Eni6L24M.js"),o=require("./dom-D5l3V401.js"),u=require("./useNumberishToStyle-CKSSKRiz.js"),d=require("./useRadiusElementClasses-D-ydxJLn.js"),n=require("./useColorVariantClasses-CE658Sm0.js"),r=require("./useDefaults-Bq2idhQU.js"),i=require("./index-BqHkgtNq.js"),v={key:0,class:"b-avatar-custom"},s={key:1,class:"b-avatar-img"},c=["src","alt"],p={key:3,class:"b-avatar-img"},m=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{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},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(r,{emit:i}){const m=r,f=e.ref(m.src);e.watch((()=>m.src),(e=>{f.value=e}));const b=i,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=a.useBLinkHelper(m),S=e.inject(t.avatarGroupInjectionKey,null),x=["sm",null,"lg"],V=e.computed((()=>!o.isEmptySlot(g.default))),_=e.computed((()=>!o.isEmptySlot(g.badge))),k=e.computed((()=>!!m.badge||""===m.badge||_.value)),h=e.computed((()=>(null==S?void 0:S.square.value)||m.square)),N=u.useNumberishToStyle((()=>m.size)),C=u.useNumberishToStyle((()=>null==S?void 0:S.size.value)),E=e.computed((()=>C.value??N.value)),T=e.computed((()=>(null==S?void 0:S.variant.value)??m.variant)),q=e.computed((()=>(null==S?void 0:S.rounded.value)??m.rounded)),z=e.computed((()=>(null==S?void 0:S.roundedTop.value)??m.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??m.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??m.roundedStart)),$=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??m.roundedEnd)),w=d.useRadiusElementClasses((()=>({rounded:q.value,roundedTop:z.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:$.value}))),D=e.computed((()=>!0===m.badge?"":m.badge)),O=e.computed((()=>!D.value&&!_.value)),P=n.useColorVariantClasses((()=>({bgVariant:(null==S?void 0:S.bgVariant.value)??m.bgVariant,textVariant:(null==S?void 0:S.textVariant.value)??m.textVariant,variant:T.value}))),L=e.computed((()=>[P.value,!0===h.value?void 0:w.value,{[`b-avatar-${m.size}`]:!!m.size&&-1!==x.indexOf(N.value),[`btn-${T.value}`]:!!m.button&&null!==T.value,badge:!m.button&&null!==T.value&&V.value,btn:m.button,"rounded-0":!0===h.value}])),A=e.computed((()=>({fontSize:(-1===x.indexOf(E.value||null)?`calc(${E.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===x.indexOf(E.value||null)?`calc(${E.value} * 0.4)`:null;return e?{fontSize:e}:{}})),H=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=E.value&&t?`calc(${E.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),I=e.computed((()=>y.value?a._sfc_main:m.button?"button":"span")),M=e.computed((()=>({...H.value,width:E.value??void 0,height:E.value??void 0}))),K=e=>{m.disabled||!y.value&&!m.button||b("click",e)},W=e=>{f.value=void 0,b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.value),e.mergeProps({class:["b-avatar",L.value],style:M.value},e.unref(B),{type:m.button&&!e.unref(y)?m.buttonType:void 0,disabled:m.disabled||null,variant:null,onClick:K}),{default:e.withCtx((()=>[V.value?(e.openBlock(),e.createElementBlock("span",v,[e.renderSlot(t.$slots,"default")])):f.value?(e.openBlock(),e.createElementBlock("span",s,[e.createElementVNode("img",{src:f.value,alt:m.alt,onError:W},null,40,c)])):m.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(m.text),5)):(e.openBlock(),e.createElementBlock("span",p,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),k.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:m.badgePill,"dot-indicator":m.badgeDotIndicator||O.value,variant:m.badgeVariant,"bg-variant":m.badgeBgVariant,"text-variant":m.badgeTextVariant,style:e.normalizeStyle(A.value),placement:m.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(D.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),f=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=r.useDefaults(l,"BAvatarGroup"),d=i.useToNumber((()=>o.overlap)),n=u.useNumberishToStyle((()=>o.size)),v=e.computed((()=>Math.min(Math.max(d.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${v.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:v,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=m,exports._sfc_main$1=f;
2
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-IePWQYF3.js.map
1
+ "use strict";const e=require("vue"),t=require("./keys-C2BcfuxJ.js"),a=require("./BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js"),l=require("./BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js"),o=require("./dom-D5l3V401.js"),u=require("./useNumberishToStyle-CKSSKRiz.js"),d=require("./useRadiusElementClasses-D-ydxJLn.js"),n=require("./useColorVariantClasses-CE658Sm0.js"),r=require("./useDefaults-Bq2idhQU.js"),i=require("./index-BqHkgtNq.js"),v={key:0,class:"b-avatar-custom"},s={key:1,class:"b-avatar-img"},c=["src","alt"],p={key:3,class:"b-avatar-img"},m=e.defineComponent({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{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},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(r,{emit:i}){const m=r,f=e.ref(m.src);e.watch((()=>m.src),(e=>{f.value=e}));const b=i,g=e.useSlots(),{computedLink:y,computedLinkProps:B}=a.useBLinkHelper(m),S=e.inject(t.avatarGroupInjectionKey,null),x=["sm",null,"lg"],V=e.computed((()=>!o.isEmptySlot(g.default))),_=e.computed((()=>!o.isEmptySlot(g.badge))),k=e.computed((()=>!!m.badge||""===m.badge||_.value)),h=e.computed((()=>(null==S?void 0:S.square.value)||m.square)),N=u.useNumberishToStyle((()=>m.size)),C=u.useNumberishToStyle((()=>null==S?void 0:S.size.value)),E=e.computed((()=>C.value??N.value)),T=e.computed((()=>(null==S?void 0:S.variant.value)??m.variant)),q=e.computed((()=>(null==S?void 0:S.rounded.value)??m.rounded)),z=e.computed((()=>(null==S?void 0:S.roundedTop.value)??m.roundedTop)),R=e.computed((()=>(null==S?void 0:S.roundedBottom.value)??m.roundedBottom)),j=e.computed((()=>(null==S?void 0:S.roundedStart.value)??m.roundedStart)),$=e.computed((()=>(null==S?void 0:S.roundedEnd.value)??m.roundedEnd)),w=d.useRadiusElementClasses((()=>({rounded:q.value,roundedTop:z.value,roundedBottom:R.value,roundedStart:j.value,roundedEnd:$.value}))),D=e.computed((()=>!0===m.badge?"":m.badge)),O=e.computed((()=>!D.value&&!_.value)),P=n.useColorVariantClasses((()=>({bgVariant:(null==S?void 0:S.bgVariant.value)??m.bgVariant,textVariant:(null==S?void 0:S.textVariant.value)??m.textVariant,variant:T.value}))),L=e.computed((()=>[P.value,!0===h.value?void 0:w.value,{[`b-avatar-${m.size}`]:!!m.size&&-1!==x.indexOf(N.value),[`btn-${T.value}`]:!!m.button&&null!==T.value,badge:!m.button&&null!==T.value&&V.value,btn:m.button,"rounded-0":!0===h.value}])),A=e.computed((()=>({fontSize:(-1===x.indexOf(E.value||null)?`calc(${E.value} * 0.27999999999999997)`:"")||""}))),G=e.computed((()=>{const e=-1===x.indexOf(E.value||null)?`calc(${E.value} * 0.4)`:null;return e?{fontSize:e}:{}})),H=e.computed((()=>{var e;const t=(null==(e=null==S?void 0:S.overlapScale)?void 0:e.value)||0,a=E.value&&t?`calc(${E.value} * -${t})`:null;return a?{marginLeft:a,marginRight:a}:{}})),I=e.computed((()=>y.value?a._sfc_main:m.button?"button":"span")),M=e.computed((()=>({...H.value,width:E.value??void 0,height:E.value??void 0}))),K=e=>{m.disabled||!y.value&&!m.button||b("click",e)},W=e=>{f.value=void 0,b("img-error",e)};return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(I.value),e.mergeProps({class:["b-avatar",L.value],style:M.value},e.unref(B),{type:m.button&&!e.unref(y)?m.buttonType:void 0,disabled:m.disabled||null,variant:null,onClick:K}),{default:e.withCtx((()=>[V.value?(e.openBlock(),e.createElementBlock("span",v,[e.renderSlot(t.$slots,"default")])):f.value?(e.openBlock(),e.createElementBlock("span",s,[e.createElementVNode("img",{src:f.value,alt:m.alt,onError:W},null,40,c)])):m.text?(e.openBlock(),e.createElementBlock("span",{key:2,class:"b-avatar-text",style:e.normalizeStyle(G.value)},e.toDisplayString(m.text),5)):(e.openBlock(),e.createElementBlock("span",p,a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[e.createElementVNode("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)]))),k.value?(e.openBlock(),e.createBlock(l._sfc_main,{key:4,pill:m.badgePill,"dot-indicator":m.badgeDotIndicator||O.value,variant:m.badgeVariant,"bg-variant":m.badgeBgVariant,"text-variant":m.badgeTextVariant,style:e.normalizeStyle(A.value),placement:m.badgePlacement},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"badge",{},(()=>[e.createTextVNode(e.toDisplayString(D.value),1)]))])),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):e.createCommentVNode("",!0)])),_:3},16,["class","style","type","disabled"]))}}),f=e.defineComponent({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(a){const l=a,o=r.useDefaults(l,"BAvatarGroup"),d=i.useToNumber((()=>o.overlap)),n=u.useNumberishToStyle((()=>o.size)),v=e.computed((()=>Math.min(Math.max(d.value,0),1)/2)),s=e.computed((()=>{const e=n.value?`calc(${n.value} * ${v.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}}));return e.provide(t.avatarGroupInjectionKey,{overlapScale:v,size:e.toRef((()=>o.size)),square:e.toRef((()=>o.square)),rounded:e.toRef((()=>o.rounded)),roundedTop:e.toRef((()=>o.roundedTop)),roundedBottom:e.toRef((()=>o.roundedBottom)),roundedStart:e.toRef((()=>o.roundedStart)),roundedEnd:e.toRef((()=>o.roundedEnd)),variant:e.toRef((()=>o.variant)),bgVariant:e.toRef((()=>o.bgVariant)),textVariant:e.toRef((()=>o.textVariant))}),(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).tag),{class:"b-avatar-group",role:"group"},{default:e.withCtx((()=>[e.createElementVNode("div",{class:"b-avatar-group-inner",style:e.normalizeStyle(s.value)},[e.renderSlot(t.$slots,"default")],4)])),_:3}))}});exports._sfc_main=m,exports._sfc_main$1=f;
2
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-IePWQYF3.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","localSrc","ref","src","vue","watch","value","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","_sfc_main","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-Bc2lmoM_.js","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["props","__props","localSrc","ref","src","vue","watch","value","emit","__emit","slots","_useSlots","computedLink","computedLinkProps","useBLinkHelper","parentData","inject","avatarGroupInjectionKey","SIZES","hasDefaultSlot","computed","isEmptySlot","default","hasBadgeSlot","badge","showBadge","computedSquare","square","computedPropSize","useNumberishToStyle","size","computedParentSize","computedSize","computedVariant","variant","computedRounded","rounded","computedRoundedTop","roundedTop","computedRoundedBottom","roundedBottom","computedRoundedStart","roundedStart","computedRoundedEnd","roundedEnd","radiusElementClasses","useRadiusElementClasses","badgeText","badgeImplicitlyDot","colorClasses","useColorVariantClasses","bgVariant","textVariant","computedClasses","indexOf","button","btn","badgeStyle","fontSize","textFontStyle","marginStyle","overlapScale","_a","marginLeft","marginRight","computedTag","BLink","_sfc_main","computedStyle","width","height","clicked","e","disabled","onImgError","_props","useDefaults","overlapNumber","useToNumber","overlap","Math","min","max","paddingStyle","paddingLeft","paddingRight","provide","toRef"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, watch, useSlots, inject, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, createCommentVNode, provide, toRef } from "vue";
2
2
  import { f as avatarGroupInjectionKey } from "./keys-41Cw9q6f.mjs";
3
- import { u as useBLinkHelper, _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs";
4
- import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-DsHdM83c.mjs";
3
+ import { u as useBLinkHelper, _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
4
+ import { _ as _sfc_main$3 } from "./BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs";
5
5
  import { i as isEmptySlot } from "./dom-DSGRrOAo.mjs";
6
6
  import { u as useNumberishToStyle } from "./useNumberishToStyle-BaHH1FuW.mjs";
7
7
  import { u as useRadiusElementClasses } from "./useRadiusElementClasses-DtKYQuWz.mjs";
@@ -272,4 +272,4 @@ export {
272
272
  _sfc_main$1 as _,
273
273
  _sfc_main as a
274
274
  };
275
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-ClKTMXgM.mjs.map
275
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-ClKTMXgM.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
1
+ {"version":3,"file":"BAvatarGroup.vue_vue_type_script_setup_true_lang-z9UUjaao.mjs","sources":["../src/components/BAvatar/BAvatar.vue","../src/components/BAvatar/BAvatarGroup.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n class=\"b-avatar\"\n :class=\"computedClasses\"\n :style=\"computedStyle\"\n v-bind=\"computedLinkProps\"\n :type=\"props.button && !computedLink ? props.buttonType : undefined\"\n :disabled=\"props.disabled || null\"\n :variant=\"null\"\n @click=\"clicked\"\n >\n <span v-if=\"hasDefaultSlot\" class=\"b-avatar-custom\">\n <slot />\n </span>\n <span v-else-if=\"!!localSrc\" class=\"b-avatar-img\">\n <img :src=\"localSrc\" :alt=\"props.alt\" @error=\"onImgError\" />\n </span>\n <span v-else-if=\"!!props.text\" class=\"b-avatar-text\" :style=\"textFontStyle\">\n {{ props.text }}\n </span>\n <span v-else class=\"b-avatar-img\"\n ><svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"80%\"\n height=\"80%\"\n fill=\"currentColor\"\n class=\"bi bi-person-fill\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" />\n </svg>\n </span>\n <BBadge\n v-if=\"showBadge\"\n :pill=\"props.badgePill\"\n :dot-indicator=\"props.badgeDotIndicator || badgeImplicitlyDot\"\n :variant=\"props.badgeVariant\"\n :bg-variant=\"props.badgeBgVariant\"\n :text-variant=\"props.badgeTextVariant\"\n :style=\"badgeStyle\"\n :placement=\"props.badgePlacement\"\n >\n <slot name=\"badge\">\n {{ badgeText }}\n </slot>\n </BBadge>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {computed, type CSSProperties, inject, ref, type StyleValue, watch} from 'vue'\nimport type {BAvatarProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport BBadge from '../BBadge/BBadge.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\n\nconst props = withDefaults(defineProps<BAvatarProps>(), {\n alt: 'avatar',\n badge: false,\n badgeBgVariant: null,\n badgeTextVariant: null,\n badgeVariant: 'primary',\n badgePlacement: 'bottom-end',\n badgeDotIndicator: false,\n badgePill: false,\n button: false,\n buttonType: 'button',\n size: undefined,\n square: false,\n src: undefined,\n text: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n stretched: false,\n routerComponentName: undefined,\n target: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n bgVariant: null,\n textVariant: null,\n // End ColorExtendables props\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\n\nconst localSrc = ref(props.src)\nwatch(\n () => props.src,\n (value) => {\n localSrc.value = value\n }\n)\n\nconst emit = defineEmits<{\n 'click': [value: MouseEvent]\n 'img-error': [value: Event]\n}>()\n\nconst slots = defineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n badge?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst parentData = inject(avatarGroupInjectionKey, null)\n\nconst SIZES = ['sm', null, 'lg']\nconst FONT_SIZE_SCALE = 0.4\nconst BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\nconst hasBadgeSlot = computed(() => !isEmptySlot(slots.badge))\n\nconst showBadge = computed(() => !!props.badge || props.badge === '' || hasBadgeSlot.value)\nconst computedSquare = computed(() => parentData?.square.value || props.square)\n\nconst computedPropSize = useNumberishToStyle(() => props.size)\nconst computedParentSize = useNumberishToStyle(() => parentData?.size.value)\nconst computedSize = computed(() => computedParentSize.value ?? computedPropSize.value)\n\nconst computedVariant = computed(() => parentData?.variant.value ?? props.variant)\nconst computedRounded = computed(() => parentData?.rounded.value ?? props.rounded)\nconst computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop)\nconst computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom)\nconst computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart)\nconst computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value,\n}))\n\nconst badgeText = computed(() => (props.badge === true ? '' : props.badge))\nconst badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value)\n\nconst colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value,\n}))\nconst computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? undefined : radiusElementClasses.value,\n {\n [`b-avatar-${props.size}`]:\n !!props.size && SIZES.indexOf(computedPropSize.value as string) !== -1,\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n 'badge': !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n 'btn': props.button,\n // Square is the same as rounded-0 class\n 'rounded-0': computedSquare.value === true,\n },\n])\n\nconst badgeStyle = computed<StyleValue>(() => ({\n fontSize:\n (SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})`\n : '') || '',\n}))\n\nconst textFontStyle = computed<StyleValue>(() => {\n const fontSize =\n SIZES.indexOf((computedSize.value as string | undefined) || null) === -1\n ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})`\n : null\n return fontSize ? {fontSize} : {}\n})\n\nconst marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0\n\n const value =\n computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null\n return value ? {marginLeft: value, marginRight: value} : {}\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.button ? 'button' : 'span'))\n\nconst computedStyle = computed<CSSProperties>(() => ({\n ...marginStyle.value,\n width: computedSize.value ?? undefined,\n height: computedSize.value ?? undefined,\n}))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (!props.disabled && (computedLink.value || props.button)) emit('click', e)\n}\n\nconst onImgError = (e: Readonly<Event>) => {\n localSrc.value = undefined\n emit('img-error', e)\n}\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"b-avatar-group\" role=\"group\">\n <div class=\"b-avatar-group-inner\" :style=\"paddingStyle\">\n <slot />\n </div>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, type StyleValue, toRef} from 'vue'\nimport type {BAvatarGroupProps} from '../../types/ComponentProps'\nimport {avatarGroupInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useToNumber} from '@vueuse/core'\nimport {useNumberishToStyle} from '../../composables/useNumberishToStyle'\n\nconst _props = withDefaults(defineProps<BAvatarGroupProps>(), {\n overlap: 0.3,\n size: undefined,\n square: false,\n tag: 'div',\n // RadiusElementExtendables props\n rounded: 'circle',\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n // ColorExtendables props\n bgVariant: null,\n textVariant: null,\n variant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BAvatarGroup')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n}>()\n\nconst overlapNumber = useToNumber(() => props.overlap)\n\nconst computedSize = useNumberishToStyle(() => props.size)\nconst overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2)\n\nconst paddingStyle = computed<StyleValue>(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null\n return value ? {paddingLeft: value, paddingRight: value} : {}\n})\n\nprovide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant),\n})\n</script>\n"],"names":["_useSlots","BLink"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./BLink.vue_vue_type_script_setup_true_lang-B-ETGZt_.js"),a=require("./useColorVariantClasses-CE658Sm0.js"),o=require("./useDefaults-Bq2idhQU.js"),d=require("./ConditionalWrapper.vue_vue_type_script_lang-Du33jXia.js"),l=e.defineComponent({__name:"BBadge",props:{dotIndicator:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},placement:{default:void 0},tag:{default:"span"},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},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},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:"secondary"},bgVariant:{default:null},textVariant:{default:null}},setup(l){const r=l,n=o.useDefaults(r,"BBadge"),{computedLink:i,computedLinkProps:u}=t.useBLinkHelper(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]),s=e.computed((()=>i.value?t._sfc_main:n.tag)),p=e.computed((()=>{const e=n.placement??(n.dotIndicator?"top-end":void 0);return["position-absolute","translate-middle",{"start-0 top-0":"top-start"===e,"start-0 top-50":"start"===e,"start-0 top-100":"bottom-start"===e,"start-50 top-0":"top"===e,"start-50 top-100":"bottom"===e,"start-100 top-0":"top-end"===e,"start-100 top-50":"end"===e,"start-100 top-100":"bottom-end"===e}]})),c=a.useColorVariantClasses(n),f=e.computed((()=>[c.value,void 0!==n.placement||!0===n.dotIndicator?p.value:void 0,{active:n.active,disabled:n.disabled,"rounded-pill":n.pill,"p-2 border border-light rounded-circle":n.dotIndicator,"text-decoration-none":i.value}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({class:["badge",f.value]},e.unref(u)),{default:e.withCtx((()=>[e.createVNode(d._sfc_main,e.mergeProps({skip:!0!==e.unref(n).dotIndicator,tag:"span"},e.unref(n).dotIndicator?{class:"visually-hidden"}:{}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["skip"])])),_:3},16,["class"]))}});exports._sfc_main=l;
2
- //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-Eni6L24M.js.map
1
+ "use strict";const e=require("vue"),t=require("./BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js"),a=require("./useColorVariantClasses-CE658Sm0.js"),o=require("./useDefaults-Bq2idhQU.js"),d=require("./ConditionalWrapper.vue_vue_type_script_lang-Du33jXia.js"),l=e.defineComponent({__name:"BBadge",props:{dotIndicator:{type:Boolean,default:!1},pill:{type:Boolean,default:!1},placement:{default:void 0},tag:{default:"span"},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},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},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:"secondary"},bgVariant:{default:null},textVariant:{default:null}},setup(l){const r=l,n=o.useDefaults(r,"BBadge"),{computedLink:i,computedLinkProps:u}=t.useBLinkHelper(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]),s=e.computed((()=>i.value?t._sfc_main:n.tag)),p=e.computed((()=>{const e=n.placement??(n.dotIndicator?"top-end":void 0);return["position-absolute","translate-middle",{"start-0 top-0":"top-start"===e,"start-0 top-50":"start"===e,"start-0 top-100":"bottom-start"===e,"start-50 top-0":"top"===e,"start-50 top-100":"bottom"===e,"start-100 top-0":"top-end"===e,"start-100 top-50":"end"===e,"start-100 top-100":"bottom-end"===e}]})),c=a.useColorVariantClasses(n),f=e.computed((()=>[c.value,void 0!==n.placement||!0===n.dotIndicator?p.value:void 0,{active:n.active,disabled:n.disabled,"rounded-pill":n.pill,"p-2 border border-light rounded-circle":n.dotIndicator,"text-decoration-none":i.value}]));return(t,a)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),e.mergeProps({class:["badge",f.value]},e.unref(u)),{default:e.withCtx((()=>[e.createVNode(d._sfc_main,e.mergeProps({skip:!0!==e.unref(n).dotIndicator,tag:"span"},e.unref(n).dotIndicator?{class:"visually-hidden"}:{}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default")])),_:3},16,["skip"])])),_:3},16,["class"]))}});exports._sfc_main=l;
2
+ //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-Eni6L24M.js","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\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<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["_props","__props","props","useDefaults","computedLink","computedLinkProps","useBLinkHelper","computedTag","computed","value","BLink","_sfc_main","tag","placementClasses","pos","placement","dotIndicator","colorClasses","useColorVariantClasses","computedClasses","active","disabled","pill"],"mappings":"4sCA0BA,MAAMA,EAASC,EAkCTC,EAAQC,EAAAA,YAAYH,EAAQ,WAE5BI,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeJ,EAAO,CAC9D,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAGIK,EAAcC,EAAAA,UAAS,IAAOJ,EAAaK,MAAQC,EAAAC,UAAQT,EAAMU,MAEjEC,EAAmBL,EAAAA,UAAS,KAEhC,MAAMM,EAAMZ,EAAMa,YAAcb,EAAMc,aAAe,eAAY,GAC1D,MAAA,CACL,oBACA,mBACA,CACE,gBAAyB,cAARF,EACjB,iBAA0B,UAARA,EAClB,kBAA2B,iBAARA,EACnB,iBAA0B,QAARA,EAClB,mBAA4B,WAARA,EACpB,kBAA2B,YAARA,EACnB,mBAA4B,QAARA,EACpB,oBAA6B,eAARA,GAEzB,IAGIG,EAAeC,yBAAuBhB,GACtCiB,EAAkBX,EAAAA,UAAS,IAAM,CACrCS,EAAaR,WACO,IAApBP,EAAMa,YAAkD,IAAvBb,EAAMc,aAAwBH,EAAiBJ,WAAQ,EACxF,CACEW,OAAUlB,EAAMkB,OAChBC,SAAYnB,EAAMmB,SAClB,eAAgBnB,EAAMoB,KACtB,yCAA0CpB,EAAMc,aAChD,uBAAwBZ,EAAaK"}
1
+ {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-C-8cZ53h.js","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\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<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["_props","__props","props","useDefaults","computedLink","computedLinkProps","useBLinkHelper","computedTag","computed","value","BLink","_sfc_main","tag","placementClasses","pos","placement","dotIndicator","colorClasses","useColorVariantClasses","computedClasses","active","disabled","pill"],"mappings":"4sCA0BA,MAAMA,EAASC,EAkCTC,EAAQC,EAAAA,YAAYH,EAAQ,WAE5BI,aAACA,EAAcC,kBAAAA,GAAqBC,EAAAA,eAAeJ,EAAO,CAC9D,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAGIK,EAAcC,EAAAA,UAAS,IAAOJ,EAAaK,MAAQC,EAAAC,UAAQT,EAAMU,MAEjEC,EAAmBL,EAAAA,UAAS,KAEhC,MAAMM,EAAMZ,EAAMa,YAAcb,EAAMc,aAAe,eAAY,GAC1D,MAAA,CACL,oBACA,mBACA,CACE,gBAAyB,cAARF,EACjB,iBAA0B,UAARA,EAClB,kBAA2B,iBAARA,EACnB,iBAA0B,QAARA,EAClB,mBAA4B,WAARA,EACpB,kBAA2B,YAARA,EACnB,mBAA4B,QAARA,EACpB,oBAA6B,eAARA,GAEzB,IAGIG,EAAeC,yBAAuBhB,GACtCiB,EAAkBX,EAAAA,UAAS,IAAM,CACrCS,EAAaR,WACO,IAApBP,EAAMa,YAAkD,IAAvBb,EAAMc,aAAwBH,EAAiBJ,WAAQ,EACxF,CACEW,OAAUlB,EAAMkB,OAChBC,SAAYnB,EAAMmB,SAClB,eAAgBnB,EAAMoB,KACtB,yCAA0CpB,EAAMc,aAChD,uBAAwBZ,EAAaK"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from "vue";
2
- import { u as useBLinkHelper, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs";
2
+ import { u as useBLinkHelper, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
3
3
  import { u as useColorVariantClasses } from "./useColorVariantClasses-ZDE19TZw.mjs";
4
4
  import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
5
5
  import { _ as _sfc_main$2 } from "./ConditionalWrapper.vue_vue_type_script_lang-CUX3HBqw.mjs";
@@ -114,4 +114,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
114
114
  export {
115
115
  _sfc_main as _
116
116
  };
117
- //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-DsHdM83c.mjs.map
117
+ //# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-DsHdM83c.mjs","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\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<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,SAAS;AAkCT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,cAAc,SAAS,MAAO,aAAa,QAAQA,cAAQ,MAAM,GAAI;AAErE,UAAA,mBAAmB,SAAS,MAAM;AAEtC,YAAM,MAAM,MAAM,cAAc,MAAM,eAAe,YAAY;AAC1D,aAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,QAAQ;AAAA,UACzB,kBAAkB,QAAQ;AAAA,UAC1B,mBAAmB,QAAQ;AAAA,UAC3B,kBAAkB,QAAQ;AAAA,UAC1B,oBAAoB,QAAQ;AAAA,UAC5B,mBAAmB,QAAQ;AAAA,UAC3B,oBAAoB,QAAQ;AAAA,UAC5B,qBAAqB,QAAQ;AAAA,QAAA;AAAA,MAEjC;AAAA,IAAA,CACD;AAEK,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,MAAM,cAAc,UAAa,MAAM,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,MACxF;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,YAAY,MAAM;AAAA,QAClB,gBAAgB,MAAM;AAAA,QACtB,0CAA0C,MAAM;AAAA,QAChD,wBAAwB,aAAa;AAAA,MAAA;AAAA,IACvC,CACD;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BBadge.vue_vue_type_script_setup_true_lang-IIZ8QpjG.mjs","sources":["../src/components/BBadge/BBadge.vue"],"sourcesContent":["<template>\n <component :is=\"computedTag\" class=\"badge\" :class=\"computedClasses\" v-bind=\"computedLinkProps\">\n <ConditionalWrapper\n :skip=\"props.dotIndicator !== true\"\n tag=\"span\"\n v-bind=\"props.dotIndicator ? {class: 'visually-hidden'} : {}\"\n >\n <slot />\n </ConditionalWrapper>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport type {BBadgeProps} from '../../types/ComponentProps'\nimport BLink from '../BLink/BLink.vue'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\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<BBadgeProps>(), {\n dotIndicator: false,\n pill: false,\n tag: 'span',\n placement: undefined,\n // Link props\n variant: 'secondary',\n // All others use defaults\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n stretched: false,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n // ColorExtendables props\n // Variant is here as well\n textVariant: null,\n bgVariant: null,\n // End ColorExtendables props\n})\nconst props = useDefaults(_props, 'BBadge')\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.tag))\n\nconst placementClasses = computed(() => {\n // dotindicator is implicitly top-end if no placement is set\n const pos = props.placement ?? (props.dotIndicator ? 'top-end' : undefined)\n return [\n 'position-absolute',\n 'translate-middle',\n {\n 'start-0 top-0': pos === 'top-start',\n 'start-0 top-50': pos === 'start',\n 'start-0 top-100': pos === 'bottom-start',\n 'start-50 top-0': pos === 'top',\n 'start-50 top-100': pos === 'bottom',\n 'start-100 top-0': pos === 'top-end',\n 'start-100 top-50': pos === 'end',\n 'start-100 top-100': pos === 'bottom-end',\n },\n ]\n})\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== undefined || props.dotIndicator === true ? placementClasses.value : undefined,\n {\n 'active': props.active,\n 'disabled': props.disabled,\n 'rounded-pill': props.pill,\n 'p-2 border border-light rounded-circle': props.dotIndicator,\n 'text-decoration-none': computedLink.value,\n },\n])\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,SAAS;AAkCT,UAAA,QAAQ,YAAY,QAAQ,QAAQ;AAE1C,UAAM,EAAC,cAAc,sBAAqB,eAAe,OAAO;AAAA,MAC9D;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD;AAED,UAAM,cAAc,SAAS,MAAO,aAAa,QAAQA,cAAQ,MAAM,GAAI;AAErE,UAAA,mBAAmB,SAAS,MAAM;AAEtC,YAAM,MAAM,MAAM,cAAc,MAAM,eAAe,YAAY;AAC1D,aAAA;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,QAAQ;AAAA,UACzB,kBAAkB,QAAQ;AAAA,UAC1B,mBAAmB,QAAQ;AAAA,UAC3B,kBAAkB,QAAQ;AAAA,UAC1B,oBAAoB,QAAQ;AAAA,UAC5B,mBAAmB,QAAQ;AAAA,UAC3B,oBAAoB,QAAQ;AAAA,UAC5B,qBAAqB,QAAQ;AAAA,QAAA;AAAA,MAEjC;AAAA,IAAA,CACD;AAEK,UAAA,eAAe,uBAAuB,KAAK;AAC3C,UAAA,kBAAkB,SAAS,MAAM;AAAA,MACrC,aAAa;AAAA,MACb,MAAM,cAAc,UAAa,MAAM,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,MACxF;AAAA,QACE,UAAU,MAAM;AAAA,QAChB,YAAY,MAAM;AAAA,QAClB,gBAAgB,MAAM;AAAA,QACtB,0CAA0C,MAAM;AAAA,QAChD,wBAAwB,aAAa;AAAA,MAAA;AAAA,IACvC,CACD;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),t=require("./src/composables/useBreadcrumb/index.umd.js"),a=require("./useDefaults-Bq2idhQU.js"),r=require("./object-B-6ddRYH.js"),o=require("./BLink.vue_vue_type_script_setup_true_lang-B-ETGZt_.js"),l=e.defineComponent({__name:"BBreadcrumbItem",props:{ariaCurrent:{default:"location"},text:{default:void 0},active:{type:Boolean,default:!1},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},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},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:l}){const i=t,n=a.useDefaults(i,"BBreadcrumbItem"),d=l,u=e.computed((()=>({active:n.active}))),c=e.computed((()=>n.active?"span":o._sfc_main)),s=e.computed((()=>n.active?n.ariaCurrent:void 0)),p=e.computed((()=>"span"!==c.value?r.pick(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","variant","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]):{})),v=e=>{if(n.disabled||n.active)return e.preventDefault(),void e.stopImmediatePropagation();n.disabled||d("click",e)};return(t,a)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["breadcrumb-item",u.value])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({"aria-current":s.value},p.value,{onClick:v}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).text),1)]))])),_:3},16,["aria-current"]))],2))}}),i={"aria-label":"breadcrumb"},n={class:"breadcrumb"},d=e.defineComponent({__name:"BBreadcrumb",props:{items:{default:void 0}},setup(r){const o=r,d=a.useDefaults(o,"BBreadcrumb"),u=t.useBreadcrumb(),c=e.computed((()=>{var e;const t=d.items||(null==(e=u.items)?void 0:e.value)||[];let a=!1;return t.map(((e,r)=>("string"==typeof e&&(e={text:e},r<t.length-1&&(e.href="#")),e.active&&(a=!0),e.active||a||(e.active=r+1===t.length),e)))}));return(t,a)=>(e.openBlock(),e.createElementBlock("nav",i,[e.createElementVNode("ol",n,[e.renderSlot(t.$slots,"prepend"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,((t,a)=>(e.openBlock(),e.createBlock(l,e.mergeProps({key:a,ref_for:!0},t),{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(t.text),1)])),_:2},1040)))),128)),e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"append")])]))}});exports._sfc_main=d,exports._sfc_main$1=l;
2
- //# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-CTFauwCs.js.map
1
+ "use strict";const e=require("vue"),t=require("./src/composables/useBreadcrumb/index.umd.js"),a=require("./useDefaults-Bq2idhQU.js"),r=require("./object-B-6ddRYH.js"),o=require("./BLink.vue_vue_type_script_setup_true_lang-CEJJ9rRI.js"),l=e.defineComponent({__name:"BBreadcrumbItem",props:{ariaCurrent:{default:"location"},text:{default:void 0},active:{type:Boolean,default:!1},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},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},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:l}){const i=t,n=a.useDefaults(i,"BBreadcrumbItem"),d=l,u=e.computed((()=>({active:n.active}))),c=e.computed((()=>n.active?"span":o._sfc_main)),s=e.computed((()=>n.active?n.ariaCurrent:void 0)),p=e.computed((()=>"span"!==c.value?r.pick(n,["active","activeClass","append","disabled","href","rel","replace","routerComponentName","target","to","variant","opacity","opacityHover","underlineVariant","underlineOffset","underlineOffsetHover","underlineOpacity","underlineOpacityHover","icon"]):{})),v=e=>{if(n.disabled||n.active)return e.preventDefault(),void e.stopImmediatePropagation();n.disabled||d("click",e)};return(t,a)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(["breadcrumb-item",u.value])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({"aria-current":s.value},p.value,{onClick:v}),{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).text),1)]))])),_:3},16,["aria-current"]))],2))}}),i={"aria-label":"breadcrumb"},n={class:"breadcrumb"},d=e.defineComponent({__name:"BBreadcrumb",props:{items:{default:void 0}},setup(r){const o=r,d=a.useDefaults(o,"BBreadcrumb"),u=t.useBreadcrumb(),c=e.computed((()=>{var e;const t=d.items||(null==(e=u.items)?void 0:e.value)||[];let a=!1;return t.map(((e,r)=>("string"==typeof e&&(e={text:e},r<t.length-1&&(e.href="#")),e.active&&(a=!0),e.active||a||(e.active=r+1===t.length),e)))}));return(t,a)=>(e.openBlock(),e.createElementBlock("nav",i,[e.createElementVNode("ol",n,[e.renderSlot(t.$slots,"prepend"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,((t,a)=>(e.openBlock(),e.createBlock(l,e.mergeProps({key:a,ref_for:!0},t),{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(t.text),1)])),_:2},1040)))),128)),e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"append")])]))}});exports._sfc_main=d,exports._sfc_main$1=l;
2
+ //# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-DUFKgPLL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBreadcrumb.vue_vue_type_script_setup_true_lang-CTFauwCs.js","sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\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<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: 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, 'BBreadcrumbItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'variant',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {items: undefined})\nconst props = useDefaults(_props, 'BBreadcrumb')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n append?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prepend?: (props: Record<string, never>) => any\n}>()\n\nconst breadcrumb = useBreadcrumb()\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n const items = localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n return items\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","computedClasses","computed","active","computedTag","BLink","computedAriaCurrent","ariaCurrent","computedLinkProps","value","pick","clicked","e","disabled","preventDefault","stopImmediatePropagation","breadcrumb","useBreadcrumb","breadcrumbItemObjects","localItems","items","_a","activeDefined","map","item","idx","text","length","href"],"mappings":"qlCA2BA,MAAMA,EAASC,EA4BTC,EAAQC,EAAAA,YAAYH,EAAQ,mBAE5BI,EAAOC,EAIPC,EAAkBC,EAAAA,UAAS,KAAO,CACtCC,OAAQN,EAAMM,WAGVC,EAAcF,EAAAA,UAAS,IAAOL,EAAMM,OAAS,OAASE,cAEtDC,EAAsBJ,EAASA,UAAA,IAAOL,EAAMM,OAASN,EAAMU,iBAAc,IAEzEC,EAAoBN,EAAAA,UAAS,IACX,SAAtBE,EAAYK,MACRC,EAAAA,KAAKb,EAAO,CACV,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAEF,CAAA,IAGAc,EAAWC,IACX,GAAAf,EAAMgB,UAAYhB,EAAMM,OAG1B,OAFAS,EAAEE,sBACFF,EAAEG,2BAGClB,EAAMgB,UAAUd,EAAK,QAASa,EAAC,ohBChFtC,MAAMjB,EAASC,EACTC,EAAQC,EAAAA,YAAYH,EAAQ,eAW5BqB,EAAaC,EAAAA,gBAEbC,EAAwBhB,EAAAA,UAA2B,WACvD,MAAMiB,EAAatB,EAAMuB,QAAS,OAAAC,IAAWD,YAAX,EAAAC,EAAkBZ,QAAS,GAC7D,IAAIa,GAAgB,EAcb,OAbOH,EAAWI,KAAI,CAACC,EAAMC,KACd,iBAATD,IACFA,EAAA,CAACE,KAAMF,GACVC,EAAMN,EAAWQ,OAAS,MAAQC,KAAO,MAE3CJ,EAAKrB,SAAwBmB,GAAA,GAG5BE,EAAKrB,QAAWmB,IACdE,EAAArB,OAASsB,EAAM,IAAMN,EAAWQ,QAEhCH,IAEF"}
1
+ {"version":3,"file":"BBreadcrumb.vue_vue_type_script_setup_true_lang-DUFKgPLL.js","sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\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<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: 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, 'BBreadcrumbItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'variant',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {items: undefined})\nconst props = useDefaults(_props, 'BBreadcrumb')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n append?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prepend?: (props: Record<string, never>) => any\n}>()\n\nconst breadcrumb = useBreadcrumb()\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n const items = localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n return items\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","computedClasses","computed","active","computedTag","BLink","computedAriaCurrent","ariaCurrent","computedLinkProps","value","pick","clicked","e","disabled","preventDefault","stopImmediatePropagation","breadcrumb","useBreadcrumb","breadcrumbItemObjects","localItems","items","_a","activeDefined","map","item","idx","text","length","href"],"mappings":"qlCA2BA,MAAMA,EAASC,EA4BTC,EAAQC,EAAAA,YAAYH,EAAQ,mBAE5BI,EAAOC,EAIPC,EAAkBC,EAAAA,UAAS,KAAO,CACtCC,OAAQN,EAAMM,WAGVC,EAAcF,EAAAA,UAAS,IAAOL,EAAMM,OAAS,OAASE,cAEtDC,EAAsBJ,EAASA,UAAA,IAAOL,EAAMM,OAASN,EAAMU,iBAAc,IAEzEC,EAAoBN,EAAAA,UAAS,IACX,SAAtBE,EAAYK,MACRC,EAAAA,KAAKb,EAAO,CACV,SACA,cACA,SACA,WACA,OACA,MACA,UACA,sBACA,SACA,KACA,UACA,UACA,eACA,mBACA,kBACA,uBACA,mBACA,wBACA,SAEF,CAAA,IAGAc,EAAWC,IACX,GAAAf,EAAMgB,UAAYhB,EAAMM,OAG1B,OAFAS,EAAEE,sBACFF,EAAEG,2BAGClB,EAAMgB,UAAUd,EAAK,QAASa,EAAC,ohBChFtC,MAAMjB,EAASC,EACTC,EAAQC,EAAAA,YAAYH,EAAQ,eAW5BqB,EAAaC,EAAAA,gBAEbC,EAAwBhB,EAAAA,UAA2B,WACvD,MAAMiB,EAAatB,EAAMuB,QAAS,OAAAC,IAAWD,YAAX,EAAAC,EAAkBZ,QAAS,GAC7D,IAAIa,GAAgB,EAcb,OAbOH,EAAWI,KAAI,CAACC,EAAMC,KACd,iBAATD,IACFA,EAAA,CAACE,KAAMF,GACVC,EAAMN,EAAWQ,OAAS,MAAQC,KAAO,MAE3CJ,EAAKrB,SAAwBmB,GAAA,GAG5BE,EAAKrB,QAAWmB,IACdE,EAAArB,OAASsB,EAAM,IAAMN,EAAWQ,QAEhCH,IAEF"}
@@ -2,7 +2,7 @@ import { defineComponent, computed, openBlock, createElementBlock, normalizeClas
2
2
  import { useBreadcrumb } from "./src/composables/useBreadcrumb/index.mjs";
3
3
  import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
4
4
  import { p as pick } from "./object-DIbMZaP9.mjs";
5
- import { _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs";
5
+ import { _ as _sfc_main$2 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
6
6
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7
7
  __name: "BBreadcrumbItem",
8
8
  props: {
@@ -145,4 +145,4 @@ export {
145
145
  _sfc_main as _,
146
146
  _sfc_main$1 as a
147
147
  };
148
- //# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-DdJ1jw_K.mjs.map
148
+ //# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-nd2E3QjW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BBreadcrumb.vue_vue_type_script_setup_true_lang-DdJ1jw_K.mjs","sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\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<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: 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, 'BBreadcrumbItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'variant',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {items: undefined})\nconst props = useDefaults(_props, 'BBreadcrumb')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n append?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prepend?: (props: Record<string, never>) => any\n}>()\n\nconst breadcrumb = useBreadcrumb()\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n const items = localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n return items\n})\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,SAAS;AA4BT,UAAA,QAAQ,YAAY,QAAQ,iBAAiB;AAEnD,UAAM,OAAO;AAIP,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,QAAQ,MAAM;AAAA,IAAA,EACd;AAEF,UAAM,cAAc,SAAS,MAAO,MAAM,SAAS,SAASA,WAAM;AAElE,UAAM,sBAAsB,SAAS,MAAO,MAAM,SAAS,MAAM,cAAc,MAAU;AAEzF,UAAM,oBAAoB;AAAA,MAAS,MACjC,YAAY,UAAU,SAClB,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,MAAA,CACD,IACD,CAAA;AAAA,IACN;AAEM,UAAA,UAAU,CAAC,MAAkC;AAC7C,UAAA,MAAM,YAAY,MAAM,QAAQ;AAClC,UAAE,eAAe;AACjB,UAAE,yBAAyB;AAC3B;AAAA,MAAA;AAEF,UAAI,CAAC,MAAM,SAAU,MAAK,SAAS,CAAC;AAAA,IACtC;;;;;;;;;;;;;;;;;;;;;;;;;ACjFA,UAAM,SAAS;AACT,UAAA,QAAQ,YAAY,QAAQ,aAAa;AAW/C,UAAM,aAAa,cAAc;AAE3B,UAAA,wBAAwB,SAA2B,MAAM;;AAC7D,YAAM,aAAa,MAAM,WAAS,gBAAW,UAAX,mBAAkB,UAAS,CAAC;AAC9D,UAAI,gBAAgB;AACpB,YAAM,QAAQ,WAAW,IAAI,CAAC,MAAM,QAAQ;AACtC,YAAA,OAAO,SAAS,UAAU;AACrB,iBAAA,EAAC,MAAM,KAAI;AAClB,cAAI,MAAM,WAAW,SAAS,QAAQ,OAAO;AAAA,QAAA;AAE3C,YAAA,KAAK,OAAwB,iBAAA;AAGjC,YAAI,CAAC,KAAK,UAAU,CAAC,eAAe;AAC7B,eAAA,SAAS,MAAM,MAAM,WAAW;AAAA,QAAA;AAEhC,eAAA;AAAA,MAAA,CACR;AACM,aAAA;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"BBreadcrumb.vue_vue_type_script_setup_true_lang-nd2E3QjW.mjs","sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport type {BBreadcrumbItemProps} from '../../types/ComponentProps'\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<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: 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, 'BBreadcrumbItem')\n\nconst emit = defineEmits<{\n click: [value: MouseEvent]\n}>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'append',\n 'disabled',\n 'href',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'target',\n 'to',\n 'variant',\n 'opacity',\n 'opacityHover',\n 'underlineVariant',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'icon',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbProps} from '../../types/ComponentProps'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BreadcrumbItem} from '../../types/BreadcrumbTypes'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {items: undefined})\nconst props = useDefaults(_props, 'BBreadcrumb')\n\ndefineSlots<{\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n append?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default?: (props: Record<string, never>) => any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n prepend?: (props: Record<string, never>) => any\n}>()\n\nconst breadcrumb = useBreadcrumb()\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n const items = localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n return items\n})\n</script>\n"],"names":["BLink"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,SAAS;AA4BT,UAAA,QAAQ,YAAY,QAAQ,iBAAiB;AAEnD,UAAM,OAAO;AAIP,UAAA,kBAAkB,SAAS,OAAO;AAAA,MACtC,QAAQ,MAAM;AAAA,IAAA,EACd;AAEF,UAAM,cAAc,SAAS,MAAO,MAAM,SAAS,SAASA,WAAM;AAElE,UAAM,sBAAsB,SAAS,MAAO,MAAM,SAAS,MAAM,cAAc,MAAU;AAEzF,UAAM,oBAAoB;AAAA,MAAS,MACjC,YAAY,UAAU,SAClB,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,MAAA,CACD,IACD,CAAA;AAAA,IACN;AAEM,UAAA,UAAU,CAAC,MAAkC;AAC7C,UAAA,MAAM,YAAY,MAAM,QAAQ;AAClC,UAAE,eAAe;AACjB,UAAE,yBAAyB;AAC3B;AAAA,MAAA;AAEF,UAAI,CAAC,MAAM,SAAU,MAAK,SAAS,CAAC;AAAA,IACtC;;;;;;;;;;;;;;;;;;;;;;;;;ACjFA,UAAM,SAAS;AACT,UAAA,QAAQ,YAAY,QAAQ,aAAa;AAW/C,UAAM,aAAa,cAAc;AAE3B,UAAA,wBAAwB,SAA2B,MAAM;;AAC7D,YAAM,aAAa,MAAM,WAAS,gBAAW,UAAX,mBAAkB,UAAS,CAAC;AAC9D,UAAI,gBAAgB;AACpB,YAAM,QAAQ,WAAW,IAAI,CAAC,MAAM,QAAQ;AACtC,YAAA,OAAO,SAAS,UAAU;AACrB,iBAAA,EAAC,MAAM,KAAI;AAClB,cAAI,MAAM,WAAW,SAAS,QAAQ,OAAO;AAAA,QAAA;AAE3C,YAAA,KAAK,OAAwB,iBAAA;AAGjC,YAAI,CAAC,KAAK,UAAU,CAAC,eAAe;AAC7B,eAAA,SAAS,MAAM,MAAM,WAAW;AAAA,QAAA;AAEhC,eAAA;AAAA,MAAA,CACR;AACM,aAAA;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, mergeModels, useTemplateRef, useModel, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode } from "vue";
2
2
  import { _ as _sfc_main$2 } from "./BSpinner.vue_vue_type_script_setup_true_lang-CK7Fa3DL.mjs";
3
- import { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-v5PNb-UA.mjs";
3
+ import { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from "./BLink.vue_vue_type_script_setup_true_lang-X9oGQtcq.mjs";
4
4
  import { o as onKeyStroke } from "./index-Cr5Qd2ql.mjs";
5
5
  import { u as useDefaults } from "./useDefaults-BTLXvYhO.mjs";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -166,4 +166,4 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
166
166
  export {
167
167
  _sfc_main as _
168
168
  };
169
- //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-B2X0j56J.mjs.map
169
+ //# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-gQ4jEQKx.mjs.map