bootstrap-vue-next 0.44.7 → 0.45.0

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 (185) hide show
  1. package/dist/{BAlert-BnT7fF6B.js → BAlert-CHbgLTZH.js} +2 -2
  2. package/dist/{BAlert-BnT7fF6B.js.map → BAlert-CHbgLTZH.js.map} +1 -1
  3. package/dist/{BAlert-Qiyqq4rE.mjs → BAlert-CRRUJXYi.mjs} +2 -2
  4. package/dist/{BAlert-Qiyqq4rE.mjs.map → BAlert-CRRUJXYi.mjs.map} +1 -1
  5. package/dist/{BAutocomplete-jAlZC6_t.js → BAutocomplete-4CFl6XQR.js} +3 -3
  6. package/dist/{BAutocomplete-jAlZC6_t.js.map → BAutocomplete-4CFl6XQR.js.map} +1 -1
  7. package/dist/{BAutocomplete-QBIaWPY1.mjs → BAutocomplete-B7yzKPIp.mjs} +3 -3
  8. package/dist/{BAutocomplete-QBIaWPY1.mjs.map → BAutocomplete-B7yzKPIp.mjs.map} +1 -1
  9. package/dist/{BAvatar-lefHkDuG.js → BAvatar-BHqTW5Ll.js} +1 -2
  10. package/dist/BAvatar-BHqTW5Ll.js.map +1 -0
  11. package/dist/{BAvatar-D7aFEXLH.mjs → BAvatar-BSLk69M0.mjs} +1 -2
  12. package/dist/BAvatar-BSLk69M0.mjs.map +1 -0
  13. package/dist/{BButton-kykTWnBy.js → BButton-BUYwco3v.js} +4 -4
  14. package/dist/BButton-BUYwco3v.js.map +1 -0
  15. package/dist/{BButton-DBRs8Pz_.js → BButton-Bw4HgpsF.js} +10 -13
  16. package/dist/BButton-Bw4HgpsF.js.map +1 -0
  17. package/dist/{BButton-BRvIFnRm.mjs → BButton-CDo9SRvU.mjs} +10 -13
  18. package/dist/BButton-CDo9SRvU.mjs.map +1 -0
  19. package/dist/{BButton-DNmtqoqR.mjs → BButton-DgequxLk.mjs} +4 -4
  20. package/dist/BButton-DgequxLk.mjs.map +1 -0
  21. package/dist/{BDropdown-C1AxRj81.js → BDropdown-BxciLgyt.js} +15 -16
  22. package/dist/BDropdown-BxciLgyt.js.map +1 -0
  23. package/dist/{BDropdown-BW_O8vPQ.mjs → BDropdown-CRIh9xqy.mjs} +2 -2
  24. package/dist/{BDropdown-BW_O8vPQ.mjs.map → BDropdown-CRIh9xqy.mjs.map} +1 -1
  25. package/dist/{BDropdown-DAHnN54Z.mjs → BDropdown-D2pBrZsG.mjs} +15 -16
  26. package/dist/BDropdown-D2pBrZsG.mjs.map +1 -0
  27. package/dist/{BDropdown-CuVOxCzu.js → BDropdown-DgbFCKfP.js} +2 -2
  28. package/dist/{BDropdown-CuVOxCzu.js.map → BDropdown-DgbFCKfP.js.map} +1 -1
  29. package/dist/{BFormCheckbox-Bdk2rgVe.js → BFormCheckbox-BPQxUDQG.js} +5 -5
  30. package/dist/BFormCheckbox-BPQxUDQG.js.map +1 -0
  31. package/dist/{BFormCheckbox-CcDK-lh1.mjs → BFormCheckbox-DPNPjRKN.mjs} +5 -5
  32. package/dist/BFormCheckbox-DPNPjRKN.mjs.map +1 -0
  33. package/dist/{BFormRadio-DuVYw-Vs.js → BFormRadio-BZ0etDxl.js} +5 -5
  34. package/dist/BFormRadio-BZ0etDxl.js.map +1 -0
  35. package/dist/{BFormRadio-CRDbgMiR.mjs → BFormRadio-CqYd0bLV.mjs} +5 -5
  36. package/dist/BFormRadio-CqYd0bLV.mjs.map +1 -0
  37. package/dist/{BFormSelect-DIKVsG--.js → BFormSelect-B_mbfTMC.js} +5 -5
  38. package/dist/BFormSelect-B_mbfTMC.js.map +1 -0
  39. package/dist/{BFormSelect-Bb8yE8vz.mjs → BFormSelect-CpkJ1haI.mjs} +5 -5
  40. package/dist/BFormSelect-CpkJ1haI.mjs.map +1 -0
  41. package/dist/{BFormTags-BFA6xbr3.js → BFormTags-DJzXJp7d.js} +3 -3
  42. package/dist/BFormTags-DJzXJp7d.js.map +1 -0
  43. package/dist/{BFormTags-CJb4H67g.mjs → BFormTags-DWAWX2av.mjs} +3 -3
  44. package/dist/BFormTags-DWAWX2av.mjs.map +1 -0
  45. package/dist/{BInputGroup-BScMw6Zr.js → BInputGroup-Bfcs5h_Q.js} +2 -2
  46. package/dist/{BInputGroup-BScMw6Zr.js.map → BInputGroup-Bfcs5h_Q.js.map} +1 -1
  47. package/dist/{BInputGroup-DpX10xwR.mjs → BInputGroup-C5sxenhE.mjs} +3 -3
  48. package/dist/BInputGroup-C5sxenhE.mjs.map +1 -0
  49. package/dist/{BInputGroup-Duk6Jk0v.js → BInputGroup-DTP5Vf1f.js} +3 -3
  50. package/dist/BInputGroup-DTP5Vf1f.js.map +1 -0
  51. package/dist/{BInputGroup-C7k0tS9j.mjs → BInputGroup-Dl9AgpAx.mjs} +2 -2
  52. package/dist/{BInputGroup-C7k0tS9j.mjs.map → BInputGroup-Dl9AgpAx.mjs.map} +1 -1
  53. package/dist/{BModal-D0LB339D.js → BModal-BnHYbFuj.js} +5 -5
  54. package/dist/BModal-BnHYbFuj.js.map +1 -0
  55. package/dist/{BModal-Br5xLT0-.mjs → BModal-CAjLrkBp.mjs} +5 -5
  56. package/dist/BModal-CAjLrkBp.mjs.map +1 -0
  57. package/dist/{BNav-BRjdHsjC.mjs → BNav-BdO2N7G0.mjs} +4 -3
  58. package/dist/{BNav-BRjdHsjC.mjs.map → BNav-BdO2N7G0.mjs.map} +1 -1
  59. package/dist/{BNav-tYBwz1wU.js → BNav-MjroX-Jl.js} +4 -3
  60. package/dist/{BNav-tYBwz1wU.js.map → BNav-MjroX-Jl.js.map} +1 -1
  61. package/dist/{BOffcanvas-D33pEfZe.js → BOffcanvas-ColOuYdV.js} +2 -2
  62. package/dist/{BOffcanvas-D33pEfZe.js.map → BOffcanvas-ColOuYdV.js.map} +1 -1
  63. package/dist/{BOffcanvas-jETHbtC3.mjs → BOffcanvas-DmkJSSFy.mjs} +2 -2
  64. package/dist/{BOffcanvas-jETHbtC3.mjs.map → BOffcanvas-DmkJSSFy.mjs.map} +1 -1
  65. package/dist/{BPlaceholder-C4AOg29f.mjs → BPlaceholder-DKDtjMjy.mjs} +9 -9
  66. package/dist/BPlaceholder-DKDtjMjy.mjs.map +1 -0
  67. package/dist/{BPlaceholder-DYYYuNgR.js → BPlaceholder-n447tOzJ.js} +9 -9
  68. package/dist/BPlaceholder-n447tOzJ.js.map +1 -0
  69. package/dist/{BToast-DCSZYXIi.js → BToast-BFcT76M1.js} +2 -2
  70. package/dist/{BToast-DCSZYXIi.js.map → BToast-BFcT76M1.js.map} +1 -1
  71. package/dist/{BToast-B2rFKhLD.mjs → BToast-D5XkJqF4.mjs} +2 -2
  72. package/dist/{BToast-B2rFKhLD.mjs.map → BToast-D5XkJqF4.mjs.map} +1 -1
  73. package/dist/{BTooltip-CryTO-SM.js → BTooltip-BwiqjqX-.js} +2 -2
  74. package/dist/{BTooltip-CryTO-SM.js.map → BTooltip-BwiqjqX-.js.map} +1 -1
  75. package/dist/{BTooltip-DtpjIEBu.mjs → BTooltip-DohT1Q3C.mjs} +2 -2
  76. package/dist/{BTooltip-DtpjIEBu.mjs.map → BTooltip-DohT1Q3C.mjs.map} +1 -1
  77. package/dist/bootstrap-vue-next.mjs +20 -20
  78. package/dist/bootstrap-vue-next.umd.js +20 -20
  79. package/dist/components/BContainer/BCol.vue.d.mts +1 -1
  80. package/dist/components/BContainer/BCol.vue.d.ts +1 -1
  81. package/dist/components/BDropdown/BDropdown.vue.d.mts +1 -0
  82. package/dist/components/BDropdown/BDropdown.vue.d.ts +1 -0
  83. package/dist/components/BNav/BNavItemDropdown.vue.d.mts +13 -2
  84. package/dist/components/BNav/BNavItemDropdown.vue.d.ts +13 -2
  85. package/dist/{floatingUi-DHMrP__c.mjs → floatingUi-BAUk171g.mjs} +10 -2
  86. package/dist/{floatingUi-DHMrP__c.mjs.map → floatingUi-BAUk171g.mjs.map} +1 -1
  87. package/dist/{floatingUi-Cs4rDXmO.js → floatingUi-DBLN9xLH.js} +15 -1
  88. package/dist/{floatingUi-Cs4rDXmO.js.map → floatingUi-DBLN9xLH.js.map} +1 -1
  89. package/dist/keys-CQKrwmvN.mjs.map +1 -1
  90. package/dist/keys-durSVUrO.js.map +1 -1
  91. package/dist/src/components/BAlert/index.mjs +1 -1
  92. package/dist/src/components/BAlert/index.umd.js +1 -1
  93. package/dist/src/components/BAutocomplete/index.mjs +1 -1
  94. package/dist/src/components/BAutocomplete/index.umd.js +1 -1
  95. package/dist/src/components/BAvatar/index.mjs +1 -1
  96. package/dist/src/components/BAvatar/index.umd.js +1 -1
  97. package/dist/src/components/BButton/index.mjs +2 -2
  98. package/dist/src/components/BButton/index.umd.js +2 -2
  99. package/dist/src/components/BDropdown/index.mjs +2 -2
  100. package/dist/src/components/BDropdown/index.umd.js +2 -2
  101. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  102. package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
  103. package/dist/src/components/BFormRadio/index.mjs +1 -1
  104. package/dist/src/components/BFormRadio/index.umd.js +1 -1
  105. package/dist/src/components/BFormSelect/index.mjs +1 -1
  106. package/dist/src/components/BFormSelect/index.umd.js +1 -1
  107. package/dist/src/components/BFormTags/index.mjs +1 -1
  108. package/dist/src/components/BFormTags/index.umd.js +1 -1
  109. package/dist/src/components/BInputGroup/index.mjs +2 -2
  110. package/dist/src/components/BInputGroup/index.umd.js +2 -2
  111. package/dist/src/components/BModal/index.mjs +1 -1
  112. package/dist/src/components/BModal/index.umd.js +1 -1
  113. package/dist/src/components/BNav/index.mjs +1 -1
  114. package/dist/src/components/BNav/index.umd.js +1 -1
  115. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  116. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  117. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  118. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  119. package/dist/src/components/BPopover/index.mjs +1 -1
  120. package/dist/src/components/BPopover/index.umd.js +1 -1
  121. package/dist/src/components/BToast/index.mjs +1 -1
  122. package/dist/src/components/BToast/index.umd.js +1 -1
  123. package/dist/src/components/BTooltip/index.mjs +1 -1
  124. package/dist/src/components/BTooltip/index.umd.js +1 -1
  125. package/dist/src/components/index.mjs +20 -20
  126. package/dist/src/components/index.umd.js +20 -20
  127. package/dist/src/composables/useModal/index.mjs +1 -1
  128. package/dist/src/composables/useModal/index.umd.js +1 -1
  129. package/dist/src/composables/usePopover/index.mjs +2 -2
  130. package/dist/src/composables/usePopover/index.umd.js +2 -2
  131. package/dist/src/composables/useToast/index.mjs +1 -1
  132. package/dist/src/composables/useToast/index.umd.js +1 -1
  133. package/dist/src/directives/BPopover/index.mjs +2 -2
  134. package/dist/src/directives/BPopover/index.umd.js +2 -2
  135. package/dist/src/directives/BScrollspy/index.mjs +1 -1
  136. package/dist/src/directives/BScrollspy/index.umd.js +1 -1
  137. package/dist/src/directives/BToggle/index.mjs +1 -1
  138. package/dist/src/directives/BToggle/index.umd.js +1 -1
  139. package/dist/src/directives/BTooltip/index.mjs +2 -2
  140. package/dist/src/directives/BTooltip/index.umd.js +2 -2
  141. package/dist/types/ComponentProps.d.mts +1 -0
  142. package/dist/types/ComponentProps.d.ts +1 -0
  143. package/dist/types/ComponentSlots.d.mts +2 -1
  144. package/dist/types/ComponentSlots.d.ts +2 -1
  145. package/dist/types/Size.d.mts +0 -1
  146. package/dist/types/Size.d.ts +0 -1
  147. package/dist/{useFormCheck-CJvIDxcO.mjs → useFormCheck-CbRHduFK.mjs} +3 -3
  148. package/dist/useFormCheck-CbRHduFK.mjs.map +1 -0
  149. package/dist/{useFormCheck-UHNy_iZ0.js → useFormCheck-Cj5K6pk-.js} +3 -3
  150. package/dist/useFormCheck-Cj5K6pk-.js.map +1 -0
  151. package/dist/utils/floatingUi.d.mts +1 -0
  152. package/dist/utils/floatingUi.d.ts +1 -0
  153. package/dist/utils/keys.d.mts +2 -2
  154. package/dist/utils/keys.d.ts +2 -2
  155. package/dist/{utils-CgwCsk6U.mjs → utils-D30CwVm-.mjs} +3 -4
  156. package/dist/utils-D30CwVm-.mjs.map +1 -0
  157. package/dist/{utils-CaC78Zdk.js → utils-DtPi91ue.js} +3 -4
  158. package/dist/utils-DtPi91ue.js.map +1 -0
  159. package/package.json +1 -1
  160. package/dist/BAvatar-D7aFEXLH.mjs.map +0 -1
  161. package/dist/BAvatar-lefHkDuG.js.map +0 -1
  162. package/dist/BButton-BRvIFnRm.mjs.map +0 -1
  163. package/dist/BButton-DBRs8Pz_.js.map +0 -1
  164. package/dist/BButton-DNmtqoqR.mjs.map +0 -1
  165. package/dist/BButton-kykTWnBy.js.map +0 -1
  166. package/dist/BDropdown-C1AxRj81.js.map +0 -1
  167. package/dist/BDropdown-DAHnN54Z.mjs.map +0 -1
  168. package/dist/BFormCheckbox-Bdk2rgVe.js.map +0 -1
  169. package/dist/BFormCheckbox-CcDK-lh1.mjs.map +0 -1
  170. package/dist/BFormRadio-CRDbgMiR.mjs.map +0 -1
  171. package/dist/BFormRadio-DuVYw-Vs.js.map +0 -1
  172. package/dist/BFormSelect-Bb8yE8vz.mjs.map +0 -1
  173. package/dist/BFormSelect-DIKVsG--.js.map +0 -1
  174. package/dist/BFormTags-BFA6xbr3.js.map +0 -1
  175. package/dist/BFormTags-CJb4H67g.mjs.map +0 -1
  176. package/dist/BInputGroup-DpX10xwR.mjs.map +0 -1
  177. package/dist/BInputGroup-Duk6Jk0v.js.map +0 -1
  178. package/dist/BModal-Br5xLT0-.mjs.map +0 -1
  179. package/dist/BModal-D0LB339D.js.map +0 -1
  180. package/dist/BPlaceholder-C4AOg29f.mjs.map +0 -1
  181. package/dist/BPlaceholder-DYYYuNgR.js.map +0 -1
  182. package/dist/useFormCheck-CJvIDxcO.mjs.map +0 -1
  183. package/dist/useFormCheck-UHNy_iZ0.js.map +0 -1
  184. package/dist/utils-CaC78Zdk.js.map +0 -1
  185. package/dist/utils-CgwCsk6U.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BDropdown-CuVOxCzu.js","names":["$attrs"],"sources":["../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownText.vue","../src/components/BDropdown/BDropdownText.vue"],"sourcesContent":["<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types/ComponentProps'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types/ComponentProps'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps} from '../../types/ComponentProps'\nimport type {BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps} from '../../types/ComponentProps'\nimport type {BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport type {BDropdownGroupSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport type {BDropdownGroupSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownHeaderProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownHeaderProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport type {BDropdownItemProps} from '../../types/ComponentProps'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\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 stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport type {BDropdownItemProps} from '../../types/ComponentProps'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\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 stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BDropdownItemButtonEmits, BDropdownItemButtonSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownItemButtonProps} from '../../types/ComponentProps'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BDropdownItemButtonEmits, BDropdownItemButtonSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownItemButtonProps} from '../../types/ComponentProps'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownTextProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownTextProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"BDropdown-DgbFCKfP.js","names":["$attrs"],"sources":["../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownDivider.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownForm.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownGroup.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownHeader.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItem.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownItemButton.vue","../src/components/BDropdown/BDropdownText.vue","../src/components/BDropdown/BDropdownText.vue"],"sourcesContent":["<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types/ComponentProps'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-divider\"\n :class=\"props.dividerClass\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n v-bind=\"processedAttrs.dividerAttrs\"\n />\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownDividerProps} from '../../types/ComponentProps'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownDividerProps>(), {\n dividerClass: undefined,\n tag: 'hr',\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownDivider')\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dividerAttrs} = attrs\n return {wrapperClass, dividerAttrs}\n})\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps} from '../../types/ComponentProps'\nimport type {BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <form\n class=\"dropdown-item-text\"\n :class=\"computedClasses\"\n :novalidate=\"props.novalidate\"\n v-bind=\"processedAttrs.formAttrs\"\n >\n <slot />\n </form>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownFormProps} from '../../types/ComponentProps'\nimport type {BDropdownFormSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownFormProps>(), {\n formClass: undefined,\n novalidate: undefined,\n validated: undefined,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownForm')\ndefineSlots<BDropdownFormSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...formAttrs} = attrs\n return {wrapperClass, formAttrs}\n})\n\nconst computedClasses = computed(() => [\n props.formClass,\n {\n 'was-validated': props.validated,\n },\n])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport type {BDropdownGroupSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\">\n <component\n :is=\"props.headerTag\"\n :id=\"headerId\"\n class=\"dropdown-header\"\n :class=\"computedClasses\"\n :role=\"headerRole\"\n >\n <slot name=\"header\">\n {{ props.header }}\n </slot>\n </component>\n <ul\n :id=\"props.id\"\n role=\"group\"\n class=\"list-unstyled\"\n v-bind=\"$attrs\"\n :aria-describedby=\"props.ariaDescribedby || headerId\"\n >\n <slot />\n </ul>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport type {BDropdownGroupSlots} from '../../types/ComponentSlots'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownGroupProps>(), {\n ariaDescribedby: undefined,\n header: undefined,\n headerClass: undefined,\n headerTag: 'header',\n headerVariant: null,\n id: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownGroup')\ndefineSlots<BDropdownGroupSlots>()\n\nconst headerId = computed(() => (props.id ? `${props.id}_group_dd_header` : undefined))\nconst headerRole = computed(() => (props.headerTag === 'header' ? undefined : 'heading'))\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant,\n }))\n)\nconst computedClasses = computed(() => [props.headerClass, colorClasses.value])\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownHeaderProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-header\"\n :class=\"[colorClasses, props.headerClass]\"\n v-bind=\"processedAttrs.headerAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownHeaderProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownHeaderSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownHeaderProps>(), {\n headerClass: undefined,\n tag: 'h6',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownHeader')\ndefineSlots<BDropdownHeaderSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...headerAttrs} = attrs\n return {wrapperClass, headerAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport type {BDropdownItemProps} from '../../types/ComponentProps'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\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 stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <component\n :is=\"computedTag\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n :aria-disabled=\"props.disabled ? true : null\"\n :aria-current=\"props.active ? true : null\"\n :href=\"computedTag === 'a' ? props.href : null\"\n :rel=\"props.rel\"\n role=\"menuitem\"\n :type=\"computedTag === 'button' ? 'button' : null\"\n :target=\"props.target\"\n v-bind=\"{...computedLinkProps, ...processedAttrs.dropdownItemAttrs}\"\n @click=\"clicked\"\n >\n <slot />\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport BLink from '../BLink/BLink.vue'\nimport {computed, inject, useAttrs} from 'vue'\nimport type {BDropdownItemProps} from '../../types/ComponentProps'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport {collapseInjectionKey, dropdownInjectionKey, navbarInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownItemEmits, BDropdownItemSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemProps>(), {\n wrapperAttrs: undefined,\n // Link props\n linkClass: undefined,\n variant: null,\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 stretched: false,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BDropdownItem')\nconst emit = defineEmits<BDropdownItemEmits>()\ndefineSlots<BDropdownItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...dropdownItemAttrs} = attrs\n return {wrapperClass, dropdownItemAttrs}\n})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled,\n },\n])\n\nconst computedTag = computed(() => (computedLink.value ? BLink : props.href ? 'a' : 'button'))\n\nconst collapseData = inject(collapseInjectionKey, null)\nconst dropdownData = inject(dropdownInjectionKey, null)\nconst navbarData = inject(navbarInjectionKey, null)\n\n// Pretty sure this emits if computedTag is not button and is disabled\nconst clicked = (e: Readonly<MouseEvent>): void => {\n emit('click', e)\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.()\n }\n dropdownData?.hide?.()\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BDropdownItemButtonEmits, BDropdownItemButtonSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownItemButtonProps} from '../../types/ComponentProps'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"props.wrapperAttrs\">\n <button\n role=\"menu\"\n type=\"button\"\n class=\"dropdown-item\"\n :class=\"computedClasses\"\n :disabled=\"props.disabled\"\n v-bind=\"processedAttrs.buttonAttrs\"\n @click=\"clicked\"\n >\n <slot />\n </button>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BDropdownItemButtonEmits, BDropdownItemButtonSlots} from '../../types'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownItemButtonProps} from '../../types/ComponentProps'\nimport {computed, useAttrs} from 'vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownItemButtonProps>(), {\n active: false,\n activeClass: 'active',\n buttonClass: undefined,\n disabled: false,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownItemButton')\nconst emit = defineEmits<BDropdownItemButtonEmits>()\ndefineSlots<BDropdownItemButtonSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...buttonAttrs} = attrs\n return {wrapperClass, buttonAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\nconst computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled,\n },\n])\n\nconst clicked = (e: Readonly<MouseEvent>) => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n}\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownTextProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n","<template>\n <li role=\"presentation\" :class=\"processedAttrs.wrapperClass\" v-bind=\"wrapperAttrs\">\n <component\n :is=\"props.tag\"\n class=\"dropdown-item-text\"\n :class=\"[colorClasses, props.textClass]\"\n v-bind=\"processedAttrs.textAttrs\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useAttrs} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BDropdownTextProps} from '../../types/ComponentProps'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BDropdownTextSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<BDropdownTextProps>(), {\n textClass: undefined,\n tag: 'span',\n text: undefined,\n variant: null,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BDropdownText')\ndefineSlots<BDropdownTextSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...textAttrs} = attrs\n return {wrapperClass, textAttrs}\n})\n\nconst colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant,\n }))\n)\n</script>\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ const require_dom = require("./dom-Bs6DzM72.js");
5
5
  const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
6
6
  const require_useId = require("./useId-DHrBgM7P.js");
7
7
  const require_ConditionalWrapper = require("./ConditionalWrapper-Cc7EIszd.js");
8
- const require_useFormCheck = require("./useFormCheck-UHNy_iZ0.js");
8
+ const require_useFormCheck = require("./useFormCheck-Cj5K6pk-.js");
9
9
  let vue = require("vue");
10
10
  //#region src/components/BFormCheckbox/BFormCheckbox.vue?vue&type=script&setup=true&lang.ts
11
11
  var _hoisted_1$1 = [
@@ -148,7 +148,7 @@ var BFormCheckbox_default = /* @__PURE__ */ (0, vue.defineComponent)({
148
148
  inline: false,
149
149
  reverse: false,
150
150
  switch: false,
151
- size: "md",
151
+ size: void 0,
152
152
  buttonVariant: "secondary",
153
153
  state: null
154
154
  };
@@ -234,7 +234,7 @@ var BFormCheckboxGroupBase_default = /* @__PURE__ */ (0, vue.defineComponent)({
234
234
  props: /* @__PURE__ */ (0, vue.mergeModels)({
235
235
  id: { default: void 0 },
236
236
  name: { default: void 0 },
237
- size: { default: "md" },
237
+ size: { default: void 0 },
238
238
  state: {
239
239
  type: [Boolean, null],
240
240
  default: null
@@ -373,7 +373,7 @@ var BFormCheckboxGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
373
373
  disabledField: { default: "disabled" },
374
374
  id: { default: void 0 },
375
375
  name: { default: void 0 },
376
- size: { default: "md" },
376
+ size: { default: void 0 },
377
377
  state: {
378
378
  type: [Boolean, null],
379
379
  default: null
@@ -483,4 +483,4 @@ Object.defineProperty(exports, "BFormCheckbox_default", {
483
483
  }
484
484
  });
485
485
 
486
- //# sourceMappingURL=BFormCheckbox-Bdk2rgVe.js.map
486
+ //# sourceMappingURL=BFormCheckbox-BPQxUDQG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BFormCheckbox-BPQxUDQG.js","names":[],"sources":["../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
4
4
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
5
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
6
  import { t as ConditionalWrapper_default } from "./ConditionalWrapper-D9ovtbHB.mjs";
7
- import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CJvIDxcO.mjs";
7
+ import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CbRHduFK.mjs";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, provide, renderList, renderSlot, toDisplayString, toRef, unref, useAttrs, useModel, useSlots, useTemplateRef, vModelCheckbox, withCtx, withDirectives } from "vue";
9
9
  //#region src/components/BFormCheckbox/BFormCheckbox.vue?vue&type=script&setup=true&lang.ts
10
10
  var _hoisted_1$1 = [
@@ -147,7 +147,7 @@ var BFormCheckbox_default = /* @__PURE__ */ defineComponent({
147
147
  inline: false,
148
148
  reverse: false,
149
149
  switch: false,
150
- size: "md",
150
+ size: void 0,
151
151
  buttonVariant: "secondary",
152
152
  state: null
153
153
  };
@@ -233,7 +233,7 @@ var BFormCheckboxGroupBase_default = /* @__PURE__ */ defineComponent({
233
233
  props: /* @__PURE__ */ mergeModels({
234
234
  id: { default: void 0 },
235
235
  name: { default: void 0 },
236
- size: { default: "md" },
236
+ size: { default: void 0 },
237
237
  state: {
238
238
  type: [Boolean, null],
239
239
  default: null
@@ -372,7 +372,7 @@ var BFormCheckboxGroup_default = /* @__PURE__ */ defineComponent({
372
372
  disabledField: { default: "disabled" },
373
373
  id: { default: void 0 },
374
374
  name: { default: void 0 },
375
- size: { default: "md" },
375
+ size: { default: void 0 },
376
376
  state: {
377
377
  type: [Boolean, null],
378
378
  default: null
@@ -471,4 +471,4 @@ var BFormCheckboxGroup_default = /* @__PURE__ */ defineComponent({
471
471
  //#endregion
472
472
  export { BFormCheckbox_default as n, BFormCheckboxGroup_default as t };
473
473
 
474
- //# sourceMappingURL=BFormCheckbox-CcDK-lh1.mjs.map
474
+ //# sourceMappingURL=BFormCheckbox-DPNPjRKN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BFormCheckbox-DPNPjRKN.mjs","names":[],"sources":["../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckbox.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroupBase.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue","../src/components/BFormCheckbox/BFormCheckboxGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper\n :skip=\"isButtonGroup\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"computedWrapperClasses\"\n >\n <input\n :id=\"computedId\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"computedInputClasses\"\n type=\"checkbox\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :aria-required=\"computedRequired || undefined\"\n :value=\"props.value\"\n :true-value=\"props.value\"\n :false-value=\"props.uncheckedValue\"\n :indeterminate=\"indeterminate || undefined\"\n v-bind=\"processedAttrs.inputAttrs\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useAttrs, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormCheckboxProps} from '../../types/ComponentProps'\nimport {checkboxGroupKey, formGroupKey} from '../../utils/keys'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {isEmptySlot} from '../../utils/dom'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport {useId} from '../../composables/useId'\nimport type {BFormCheckboxSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(\n defineProps<Omit<BFormCheckboxProps, 'modelValue' | 'indeterminate'>>(),\n {\n wrapperAttrs: undefined,\n inputClass: undefined,\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n switch: undefined,\n uncheckedValue: false,\n value: true,\n }\n)\nconst props = useDefaults(_props, 'BFormCheckbox')\nconst slots = defineSlots<BFormCheckboxSlots>()\nconst attrs = useAttrs()\n\nconst modelValue = defineModel<BFormCheckboxProps['modelValue']>({\n default: undefined,\n})\nconst indeterminate = defineModel<Exclude<BFormCheckboxProps['indeterminate'], undefined>>(\n 'indeterminate',\n {\n default: false,\n }\n)\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...inputAttrs} = attrs\n return {wrapperClass, inputAttrs}\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(checkboxGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n switch: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n switch: props.switch ?? parentData?.switch.value ?? propDefaults.switch,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newVal) => {\n if (newVal === undefined) return\n // Indeterminate is implicitly cleared when the checked state is changed to any value\n // by the user. We reflect that here by setting our indetermiate model to false\n // which will emit the indeterminate event to the parent\n indeterminate.value = false\n if (parentData !== null && Array.isArray(newVal)) {\n // The type cast isn't perfect. Array.isArray detects CheckboxValue.unknown[],\n // but since it's parentData, it should always be CheckboxValue[]\n // It doesn't quite work when props.value is an [], but this is more of a Vue issue\n parentData.modelValue.value = newVal as CheckboxValue[]\n return\n }\n modelValue.value = newVal as CheckboxValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst wrapperClasses = getClasses(classesObject)\nconst computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass,\n])\nconst inputClasses = getInputClasses(classesObject)\nconst computedInputClasses = computed(() => [inputClasses.value, props.inputClass])\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"attrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"group\"\n :class=\"classes\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormCheckbox v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormCheckbox>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport type {BFormCheckboxGroupBaseProps} from '../../types/ComponentProps'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport BFormCheckbox from './BFormCheckbox.vue'\nimport {checkboxGroupKey} from '../../utils/keys'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<Omit<BFormCheckboxGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormCheckboxGroup')\n\nconst modelValue = defineModel<CheckboxValue[]>({\n default: () => [],\n})\n\nconst computedId = useId(() => props.id, 'checkbox')\nconst computedName = useId(() => props.name, 'checkbox')\nconst _element = useTemplateRef('_element')\n\nconst {focused} = useFocus(_element, {\n initialValue: props.autofocus,\n})\n\n// Provide context to child checkboxes\nprovide(checkboxGroupKey, {\n modelValue: modelValue as import('vue').Ref<\n readonly import('../../types/CheckboxTypes').CheckboxValue[]\n >,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled),\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed<Array<{text: string; value: CheckboxValue; disabled: boolean}>>(\n () =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure text and disabled are defined, with group disabled taking precedence\n return {\n ...option,\n text: option.text ?? String(option.value ?? ''),\n value: option.value ?? null,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst attrs = getGroupAttr(classesObject)\nconst classes = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n","<template>\n <BFormCheckboxGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as unknown as CheckboxValue[]\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormCheckboxGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormCheckboxGroupProps, BFormCheckboxGroupSlots} from '../../types'\nimport {computed} from 'vue'\nimport BFormCheckboxGroupBase from './BFormCheckboxGroupBase.vue'\nimport type {CheckboxValue} from '../../types/CheckboxTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormCheckboxGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is array of those value types\n * - Object arrays with 'value' field: modelValue is array of value field types\n * - Use 'as const' on options for literal type inference\n */\n\n// Generic props - type safety happens here\nconst props = withDefaults(defineProps<Omit<BFormCheckboxGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n switches: false,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\ndefineSlots<BFormCheckboxGroupSlots>()\n\n// Type-safe model value - extracts union from options, wraps in array.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options>[] | undefined>({\n default: () => [],\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(() =>\n (props.options ?? []).map(\n (el) =>\n (typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n String((el as Record<string, unknown>)[props.valueField as string]),\n }) as {text: string; value: CheckboxValue; disabled: boolean}\n )\n)\n\n// Forward all non-option-related props\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n switches: props.switches,\n}))\n</script>\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ const require_dom = require("./dom-Bs6DzM72.js");
5
5
  const require_useDefaults = require("./useDefaults-DsLf4iRY.js");
6
6
  const require_useId = require("./useId-DHrBgM7P.js");
7
7
  const require_ConditionalWrapper = require("./ConditionalWrapper-Cc7EIszd.js");
8
- const require_useFormCheck = require("./useFormCheck-UHNy_iZ0.js");
8
+ const require_useFormCheck = require("./useFormCheck-Cj5K6pk-.js");
9
9
  let vue = require("vue");
10
10
  //#region src/components/BFormRadio/BFormRadio.vue?vue&type=script&setup=true&lang.ts
11
11
  var _hoisted_1$1 = [
@@ -110,7 +110,7 @@ var BFormRadio_default = /* @__PURE__ */ (0, vue.defineComponent)({
110
110
  button: false,
111
111
  inline: false,
112
112
  reverse: false,
113
- size: "md",
113
+ size: void 0,
114
114
  buttonVariant: "secondary",
115
115
  state: null
116
116
  };
@@ -222,7 +222,7 @@ var BFormRadioGroupBase_default = /* @__PURE__ */ (0, vue.defineComponent)({
222
222
  type: Boolean,
223
223
  default: false
224
224
  },
225
- size: { default: "md" },
225
+ size: { default: void 0 },
226
226
  stacked: {
227
227
  type: Boolean,
228
228
  default: false
@@ -349,7 +349,7 @@ var BFormRadioGroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
349
349
  type: Boolean,
350
350
  default: false
351
351
  },
352
- size: { default: "md" },
352
+ size: { default: void 0 },
353
353
  stacked: {
354
354
  type: Boolean,
355
355
  default: false
@@ -426,4 +426,4 @@ Object.defineProperty(exports, "BFormRadio_default", {
426
426
  }
427
427
  });
428
428
 
429
- //# sourceMappingURL=BFormRadio-DuVYw-Vs.js.map
429
+ //# sourceMappingURL=BFormRadio-BZ0etDxl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BFormRadio-BZ0etDxl.js","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasDefaultSlot || !resolvedPlain\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport type {BFormRadioProps} from '../../types/ComponentProps'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {RadioValue} from '../../types/RadioTypes'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioSlots} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\nconst formGroupData = inject(formGroupKey, null)?.(computedId)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRadioGroupBaseProps} from '../../types/ComponentProps'\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupSlots} from '../../types/ComponentSlots'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<unknown>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled ? true : false,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase v-bind=\"forwardedProps\" v-model=\"modelValue\" :options=\"normalizedOptions\">\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps} from '../../types/ComponentProps'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\nimport type {RadioOption} from '../../types/RadioTypes'\nimport type {OptionsValues} from '../../types/OptionsTypes'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
4
4
  import { t as useDefaults } from "./useDefaults-BKgBaqOV.mjs";
5
5
  import { t as useId$1 } from "./useId-BKZFSYm8.mjs";
6
6
  import { t as ConditionalWrapper_default } from "./ConditionalWrapper-D9ovtbHB.mjs";
7
- import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CJvIDxcO.mjs";
7
+ import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-CbRHduFK.mjs";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, provide, renderList, renderSlot, toDisplayString, toRef, unref, useModel, useSlots, useTemplateRef, vModelRadio, withCtx, withDirectives } from "vue";
9
9
  //#region src/components/BFormRadio/BFormRadio.vue?vue&type=script&setup=true&lang.ts
10
10
  var _hoisted_1$1 = [
@@ -109,7 +109,7 @@ var BFormRadio_default = /* @__PURE__ */ defineComponent({
109
109
  button: false,
110
110
  inline: false,
111
111
  reverse: false,
112
- size: "md",
112
+ size: void 0,
113
113
  buttonVariant: "secondary",
114
114
  state: null
115
115
  };
@@ -221,7 +221,7 @@ var BFormRadioGroupBase_default = /* @__PURE__ */ defineComponent({
221
221
  type: Boolean,
222
222
  default: false
223
223
  },
224
- size: { default: "md" },
224
+ size: { default: void 0 },
225
225
  stacked: {
226
226
  type: Boolean,
227
227
  default: false
@@ -348,7 +348,7 @@ var BFormRadioGroup_default = /* @__PURE__ */ defineComponent({
348
348
  type: Boolean,
349
349
  default: false
350
350
  },
351
- size: { default: "md" },
351
+ size: { default: void 0 },
352
352
  stacked: {
353
353
  type: Boolean,
354
354
  default: false
@@ -414,4 +414,4 @@ var BFormRadioGroup_default = /* @__PURE__ */ defineComponent({
414
414
  //#endregion
415
415
  export { BFormRadio_default as n, BFormRadioGroup_default as t };
416
416
 
417
- //# sourceMappingURL=BFormRadio-CRDbgMiR.mjs.map
417
+ //# sourceMappingURL=BFormRadio-CqYd0bLV.mjs.map