bootstrap-vue-next 0.43.4 → 0.43.6

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 (393) hide show
  1. package/dist/BAccordion.vue_vue_type_script_setup_true_lang-B_JIbD9l.mjs +2 -0
  2. package/dist/{BAccordion.vue_vue_type_script_setup_true_lang-SUuwXn1c.mjs.map → BAccordion.vue_vue_type_script_setup_true_lang-B_JIbD9l.mjs.map} +1 -1
  3. package/dist/BAccordion.vue_vue_type_script_setup_true_lang-CEARjuXn.js +2 -0
  4. package/dist/{BAccordion.vue_vue_type_script_setup_true_lang-D9zOcCj7.js.map → BAccordion.vue_vue_type_script_setup_true_lang-CEARjuXn.js.map} +1 -1
  5. package/dist/BAlert.vue_vue_type_script_setup_true_lang-CFAcjV0o.mjs +2 -0
  6. package/dist/{BAlert.vue_vue_type_script_setup_true_lang-CxEmR6p6.mjs.map → BAlert.vue_vue_type_script_setup_true_lang-CFAcjV0o.mjs.map} +1 -1
  7. package/dist/BAlert.vue_vue_type_script_setup_true_lang-TKUFXhWB.js +2 -0
  8. package/dist/{BAlert.vue_vue_type_script_setup_true_lang-DFWBBn_o.js.map → BAlert.vue_vue_type_script_setup_true_lang-TKUFXhWB.js.map} +1 -1
  9. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang--XkbXQwl.mjs → BAvatarGroup.vue_vue_type_script_setup_true_lang-C0m8N-yT.mjs} +2 -2
  10. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang--XkbXQwl.mjs.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-C0m8N-yT.mjs.map} +1 -1
  11. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BcDmXA8k.js → BAvatarGroup.vue_vue_type_script_setup_true_lang-uHi27Hx7.js} +2 -2
  12. package/dist/{BAvatarGroup.vue_vue_type_script_setup_true_lang-BcDmXA8k.js.map → BAvatarGroup.vue_vue_type_script_setup_true_lang-uHi27Hx7.js.map} +1 -1
  13. package/dist/BBadge.vue_vue_type_script_setup_true_lang-CohvtuOI.js +2 -0
  14. package/dist/BBadge.vue_vue_type_script_setup_true_lang-CohvtuOI.js.map +1 -0
  15. package/dist/BBadge.vue_vue_type_script_setup_true_lang-oEX8Uz7_.mjs +2 -0
  16. package/dist/BBadge.vue_vue_type_script_setup_true_lang-oEX8Uz7_.mjs.map +1 -0
  17. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-DeLMBjaX.js +2 -0
  18. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-DeLMBjaX.js.map +1 -0
  19. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-DmNKtw80.mjs +2 -0
  20. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-DmNKtw80.mjs.map +1 -0
  21. package/dist/BButton.vue_vue_type_script_setup_true_lang-D5N_nQgF.js +2 -0
  22. package/dist/BButton.vue_vue_type_script_setup_true_lang-D5N_nQgF.js.map +1 -0
  23. package/dist/BButton.vue_vue_type_script_setup_true_lang-DLYBMk2D.mjs +2 -0
  24. package/dist/BButton.vue_vue_type_script_setup_true_lang-DLYBMk2D.mjs.map +1 -0
  25. package/dist/{BButtonToolbar.vue_vue_type_script_setup_true_lang-D63ham9Z.mjs → BButtonToolbar.vue_vue_type_script_setup_true_lang-DxxEfRcg.mjs} +2 -2
  26. package/dist/{BButtonToolbar.vue_vue_type_script_setup_true_lang-D63ham9Z.mjs.map → BButtonToolbar.vue_vue_type_script_setup_true_lang-DxxEfRcg.mjs.map} +1 -1
  27. package/dist/BCard.vue_vue_type_script_setup_true_lang-Db-x0h5p.mjs +2 -0
  28. package/dist/BCard.vue_vue_type_script_setup_true_lang-Db-x0h5p.mjs.map +1 -0
  29. package/dist/{BCard.vue_vue_type_script_setup_true_lang-DbIOmFO5.js → BCard.vue_vue_type_script_setup_true_lang-bbfP9UEG.js} +2 -2
  30. package/dist/BCard.vue_vue_type_script_setup_true_lang-bbfP9UEG.js.map +1 -0
  31. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-Bc89WQal.mjs → BCarouselSlide.vue_vue_type_script_setup_true_lang-CJBfTJGK.mjs} +2 -2
  32. package/dist/{BCarouselSlide.vue_vue_type_script_setup_true_lang-Bc89WQal.mjs.map → BCarouselSlide.vue_vue_type_script_setup_true_lang-CJBfTJGK.mjs.map} +1 -1
  33. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-CB8zbnX2.js +2 -0
  34. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-Yy-5Bg3x.js.map → BCollapse.vue_vue_type_script_setup_true_lang-CB8zbnX2.js.map} +1 -1
  35. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-L-E6YtrU.mjs +2 -0
  36. package/dist/{BCollapse.vue_vue_type_script_setup_true_lang-D-vJX0n5.mjs.map → BCollapse.vue_vue_type_script_setup_true_lang-L-E6YtrU.mjs.map} +1 -1
  37. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-CjXEsDz9.js +2 -0
  38. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-CjXEsDz9.js.map +1 -0
  39. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-Fv9ghZ6i.mjs +2 -0
  40. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-Fv9ghZ6i.mjs.map +1 -0
  41. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-CifOh0KC.js → BDropdownText.vue_vue_type_script_setup_true_lang-DL0i8h64.js} +2 -2
  42. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-CifOh0KC.js.map → BDropdownText.vue_vue_type_script_setup_true_lang-DL0i8h64.js.map} +1 -1
  43. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-CGIlNKkY.mjs → BDropdownText.vue_vue_type_script_setup_true_lang-oxqpF65D.mjs} +2 -2
  44. package/dist/{BDropdownText.vue_vue_type_script_setup_true_lang-CGIlNKkY.mjs.map → BDropdownText.vue_vue_type_script_setup_true_lang-oxqpF65D.mjs.map} +1 -1
  45. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BOO7gdni.mjs → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C1cDfHZd.mjs} +2 -2
  46. package/dist/{BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-BOO7gdni.mjs.map → BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-C1cDfHZd.mjs.map} +1 -1
  47. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-nHLntSo0.js → BFormFile.vue_vue_type_script_setup_true_lang-CA61Ck_m.js} +2 -2
  48. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-CA61Ck_m.js.map +1 -0
  49. package/dist/{BFormFile.vue_vue_type_script_setup_true_lang-BOIiVYvE.mjs → BFormFile.vue_vue_type_script_setup_true_lang-CEgWILT7.mjs} +2 -2
  50. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-CEgWILT7.mjs.map +1 -0
  51. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-nhKnPoJl.mjs → BFormGroup.vue_vue_type_script_setup_true_lang-B4JGYW8_.mjs} +2 -2
  52. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-nhKnPoJl.mjs.map → BFormGroup.vue_vue_type_script_setup_true_lang-B4JGYW8_.mjs.map} +1 -1
  53. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-ylAx2-3b.js → BFormGroup.vue_vue_type_script_setup_true_lang-CZYdHdMq.js} +2 -2
  54. package/dist/{BFormGroup.vue_vue_type_script_setup_true_lang-ylAx2-3b.js.map → BFormGroup.vue_vue_type_script_setup_true_lang-CZYdHdMq.js.map} +1 -1
  55. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CEAZwkOa.js +2 -0
  56. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CEAZwkOa.js.map +1 -0
  57. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CqalrY1X.mjs +2 -0
  58. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CqalrY1X.mjs.map +1 -0
  59. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-BvcIL0L4.mjs → BFormRadioGroup.vue_vue_type_script_setup_true_lang-BR1cmZ6M.mjs} +2 -2
  60. package/dist/{BFormRadioGroup.vue_vue_type_script_setup_true_lang-BvcIL0L4.mjs.map → BFormRadioGroup.vue_vue_type_script_setup_true_lang-BR1cmZ6M.mjs.map} +1 -1
  61. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-CoELEsja.js +2 -0
  62. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-CoELEsja.js.map +1 -0
  63. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-yGbv67D9.mjs +2 -0
  64. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-yGbv67D9.mjs.map +1 -0
  65. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Cxh3uCrc.mjs → BFormSelect.vue_vue_type_script_setup_true_lang-DhmS5Esl.mjs} +2 -2
  66. package/dist/{BFormSelect.vue_vue_type_script_setup_true_lang-Cxh3uCrc.mjs.map → BFormSelect.vue_vue_type_script_setup_true_lang-DhmS5Esl.mjs.map} +1 -1
  67. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-CH0FsQfs.mjs +2 -0
  68. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-CH0FsQfs.mjs.map +1 -0
  69. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DCGF7TVf.js +2 -0
  70. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-DCGF7TVf.js.map +1 -0
  71. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-Div_9jHW.mjs +2 -0
  72. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-Div_9jHW.mjs.map +1 -0
  73. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-GRx5wsTv.js +2 -0
  74. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-GRx5wsTv.js.map +1 -0
  75. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-B1mvjhGR.mjs → BFormTextarea.vue_vue_type_script_setup_true_lang-Co3KXQwK.mjs} +2 -2
  76. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-Co3KXQwK.mjs.map +1 -0
  77. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-Dzxj8iLY.js → BFormTextarea.vue_vue_type_script_setup_true_lang-D7lPqyVU.js} +2 -2
  78. package/dist/{BFormTextarea.vue_vue_type_script_setup_true_lang-Dzxj8iLY.js.map → BFormTextarea.vue_vue_type_script_setup_true_lang-D7lPqyVU.js.map} +1 -1
  79. package/dist/{BLink.vue_vue_type_script_setup_true_lang-Dd4KflWn.js → BLink.vue_vue_type_script_setup_true_lang-DpHWGihr.js} +2 -2
  80. package/dist/BLink.vue_vue_type_script_setup_true_lang-DpHWGihr.js.map +1 -0
  81. package/dist/BLink.vue_vue_type_script_setup_true_lang-EAdZn3EI.mjs +2 -0
  82. package/dist/BLink.vue_vue_type_script_setup_true_lang-EAdZn3EI.mjs.map +1 -0
  83. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-B565zgTp.js → BListGroupItem.vue_vue_type_script_setup_true_lang-BnVGJbFM.js} +2 -2
  84. package/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-BnVGJbFM.js.map +1 -0
  85. package/dist/{BListGroupItem.vue_vue_type_script_setup_true_lang-CrUKK0Fn.mjs → BListGroupItem.vue_vue_type_script_setup_true_lang-DhorC87c.mjs} +2 -2
  86. package/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-DhorC87c.mjs.map +1 -0
  87. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-DvOHGiv0.mjs → BModalOrchestrator.vue_vue_type_script_setup_true_lang-C3b0OOW7.mjs} +2 -2
  88. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-DvOHGiv0.mjs.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-C3b0OOW7.mjs.map} +1 -1
  89. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-CqJiYpAz.js → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DGjVK6Xo.js} +2 -2
  90. package/dist/{BModalOrchestrator.vue_vue_type_script_setup_true_lang-CqJiYpAz.js.map → BModalOrchestrator.vue_vue_type_script_setup_true_lang-DGjVK6Xo.js.map} +1 -1
  91. package/dist/BNavText.vue_vue_type_script_setup_true_lang-CuoqvdZ_.js +2 -0
  92. package/dist/BNavText.vue_vue_type_script_setup_true_lang-CuoqvdZ_.js.map +1 -0
  93. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DibX_9gY.mjs +2 -0
  94. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DibX_9gY.mjs.map +1 -0
  95. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DYV-VsUj.mjs +2 -0
  96. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DYV-VsUj.mjs.map +1 -0
  97. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DpUCdcQ1.js +2 -0
  98. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DpUCdcQ1.js.map +1 -0
  99. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-D0F1jjdX.js +2 -0
  100. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-CpJG0wpe.js.map → BOffcanvas.vue_vue_type_script_setup_true_lang-D0F1jjdX.js.map} +1 -1
  101. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-DYv0hM92.mjs +2 -0
  102. package/dist/{BOffcanvas.vue_vue_type_script_setup_true_lang-N0QC3Jkj.mjs.map → BOffcanvas.vue_vue_type_script_setup_true_lang-DYv0hM92.mjs.map} +1 -1
  103. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-CV2RWbjy.mjs → BOverlay.vue_vue_type_script_setup_true_lang-CD8HeUQo.mjs} +2 -2
  104. package/dist/{BOverlay.vue_vue_type_script_setup_true_lang-CV2RWbjy.mjs.map → BOverlay.vue_vue_type_script_setup_true_lang-CD8HeUQo.mjs.map} +1 -1
  105. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-BuJETH2-.js → BPagination.vue_vue_type_script_setup_true_lang-Bf2MDCKr.js} +2 -2
  106. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-BuJETH2-.js.map → BPagination.vue_vue_type_script_setup_true_lang-Bf2MDCKr.js.map} +1 -1
  107. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-TB3D7Utl.mjs → BPagination.vue_vue_type_script_setup_true_lang-BvojVoiX.mjs} +2 -2
  108. package/dist/{BPagination.vue_vue_type_script_setup_true_lang-TB3D7Utl.mjs.map → BPagination.vue_vue_type_script_setup_true_lang-BvojVoiX.mjs.map} +1 -1
  109. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-n7cF_l07.js → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DE5bZHdN.js} +2 -2
  110. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-n7cF_l07.js.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DE5bZHdN.js.map} +1 -1
  111. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CoQXHxZ8.mjs → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DR1FkKuf.mjs} +2 -2
  112. package/dist/{BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-CoQXHxZ8.mjs.map → BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-DR1FkKuf.mjs.map} +1 -1
  113. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DL89-Twp.mjs → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Q2Rl8fk_.mjs} +2 -2
  114. package/dist/{BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-DL89-Twp.mjs.map → BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-Q2Rl8fk_.mjs.map} +1 -1
  115. package/dist/{BTable.vue_vue_type_script_setup_true_lang-DYZeXsLE.mjs → BTable.vue_vue_type_script_setup_true_lang-D8Qnisiv.mjs} +2 -2
  116. package/dist/BTable.vue_vue_type_script_setup_true_lang-D8Qnisiv.mjs.map +1 -0
  117. package/dist/{BTable.vue_vue_type_script_setup_true_lang-BasI6gHe.js → BTable.vue_vue_type_script_setup_true_lang-DtWEb-oI.js} +2 -2
  118. package/dist/BTable.vue_vue_type_script_setup_true_lang-DtWEb-oI.js.map +1 -0
  119. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-b9RgLQ-C.mjs → BTableSimple.vue_vue_type_script_setup_true_lang-Cb_WNuQa.mjs} +2 -2
  120. package/dist/{BTableSimple.vue_vue_type_script_setup_true_lang-b9RgLQ-C.mjs.map → BTableSimple.vue_vue_type_script_setup_true_lang-Cb_WNuQa.mjs.map} +1 -1
  121. package/dist/{BTabs.vue_vue_type_script_setup_true_lang-DIha92eh.mjs → BTabs.vue_vue_type_script_setup_true_lang-7wBLpg97.mjs} +2 -2
  122. package/dist/{BTabs.vue_vue_type_script_setup_true_lang-DIha92eh.mjs.map → BTabs.vue_vue_type_script_setup_true_lang-7wBLpg97.mjs.map} +1 -1
  123. package/dist/{BToastOrchestrator.vue_vue_type_script_setup_true_lang-B6SstRpa.mjs → BToastOrchestrator.vue_vue_type_script_setup_true_lang-BXHbOTy2.mjs} +2 -2
  124. package/dist/{BToastOrchestrator.vue_vue_type_script_setup_true_lang-B6SstRpa.mjs.map → BToastOrchestrator.vue_vue_type_script_setup_true_lang-BXHbOTy2.mjs.map} +1 -1
  125. package/dist/{BToastOrchestrator.vue_vue_type_script_setup_true_lang-CP_d0jiJ.js → BToastOrchestrator.vue_vue_type_script_setup_true_lang-VvNwr8Ap.js} +2 -2
  126. package/dist/{BToastOrchestrator.vue_vue_type_script_setup_true_lang-CP_d0jiJ.js.map → BToastOrchestrator.vue_vue_type_script_setup_true_lang-VvNwr8Ap.js.map} +1 -1
  127. package/dist/BTooltip.vue_vue_type_script_setup_true_lang-DPztV1Ih.js +2 -0
  128. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-ChGvfBmJ.js.map → BTooltip.vue_vue_type_script_setup_true_lang-DPztV1Ih.js.map} +1 -1
  129. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Dq05FC3T.mjs → BTooltip.vue_vue_type_script_setup_true_lang-k8BYolB9.mjs} +2 -2
  130. package/dist/{BTooltip.vue_vue_type_script_setup_true_lang-Dq05FC3T.mjs.map → BTooltip.vue_vue_type_script_setup_true_lang-k8BYolB9.mjs.map} +1 -1
  131. package/dist/bootstrap-vue-next.css +1 -1
  132. package/dist/bootstrap-vue-next.mjs +1 -1
  133. package/dist/bootstrap-vue-next.umd.js +1 -1
  134. package/dist/{constants-CHucc1ON.mjs → constants-DiKZvd1J.mjs} +2 -2
  135. package/dist/{constants-CHucc1ON.mjs.map → constants-DiKZvd1J.mjs.map} +1 -1
  136. package/dist/debounce-CUBZZjtV.js +2 -0
  137. package/dist/{debounce-DkVlefD7.js.map → debounce-CUBZZjtV.js.map} +1 -1
  138. package/dist/debounce-IJr49oVI.mjs +2 -0
  139. package/dist/{debounce-k8ahcUzV.mjs.map → debounce-IJr49oVI.mjs.map} +1 -1
  140. package/dist/{floatingUi-7gf2Xf9M.mjs → floatingUi-Cj8upQML.mjs} +2 -2
  141. package/dist/{floatingUi-7gf2Xf9M.mjs.map → floatingUi-Cj8upQML.mjs.map} +1 -1
  142. package/dist/{floatingUi-CKlUKFP8.js → floatingUi-Dq6z7gat.js} +2 -2
  143. package/dist/{floatingUi-CKlUKFP8.js.map → floatingUi-Dq6z7gat.js.map} +1 -1
  144. package/dist/{index-CBhqPGmW.mjs → index-8wbhsVoG.mjs} +2 -2
  145. package/dist/index-8wbhsVoG.mjs.map +1 -0
  146. package/dist/{index-BqwpBrIB.js → index-B1D_zxOT.js} +2 -2
  147. package/dist/{index-BqwpBrIB.js.map → index-B1D_zxOT.js.map} +1 -1
  148. package/dist/index-BTwWQqhj.js +2 -0
  149. package/dist/{index-mC3qUrGh.js.map → index-BTwWQqhj.js.map} +1 -1
  150. package/dist/{index-CfUD12xu.mjs → index-CP9n4pB4.mjs} +2 -2
  151. package/dist/{index-CfUD12xu.mjs.map → index-CP9n4pB4.mjs.map} +1 -1
  152. package/dist/{index-B-U7ORru.js → index-DXUDXM9J.js} +2 -2
  153. package/dist/index-DXUDXM9J.js.map +1 -0
  154. package/dist/{index-CQODwZsl.mjs → index-gKAQKQDH.mjs} +2 -2
  155. package/dist/index-gKAQKQDH.mjs.map +1 -0
  156. package/dist/index-p0WzeaIm.mjs +2 -0
  157. package/dist/{index-BaxuTxan.mjs.map → index-p0WzeaIm.mjs.map} +1 -1
  158. package/dist/{index-Ddq_OcxM.mjs → index-rJTd4axU.mjs} +2 -2
  159. package/dist/{index-Ddq_OcxM.mjs.map → index-rJTd4axU.mjs.map} +1 -1
  160. package/dist/{index-CBu6RwGS.js → index-yBJts6Xe.js} +2 -2
  161. package/dist/index-yBJts6Xe.js.map +1 -0
  162. package/dist/src/components/BAccordion/BAccordionItem.vue.d.mts +0 -4
  163. package/dist/src/components/BAccordion/BAccordionItem.vue.d.ts +0 -4
  164. package/dist/src/components/BAccordion/index.mjs +1 -1
  165. package/dist/src/components/BAccordion/index.umd.js +1 -1
  166. package/dist/src/components/BAlert/BAlert.vue.d.mts +0 -4
  167. package/dist/src/components/BAlert/BAlert.vue.d.ts +0 -4
  168. package/dist/src/components/BAlert/index.mjs +1 -1
  169. package/dist/src/components/BAlert/index.umd.js +1 -1
  170. package/dist/src/components/BAvatar/index.mjs +1 -1
  171. package/dist/src/components/BAvatar/index.umd.js +1 -1
  172. package/dist/src/components/BBadge/index.mjs +1 -1
  173. package/dist/src/components/BBadge/index.umd.js +1 -1
  174. package/dist/src/components/BBreadcrumb/BBreadcrumb.vue.d.mts +2 -0
  175. package/dist/src/components/BBreadcrumb/BBreadcrumb.vue.d.ts +2 -0
  176. package/dist/src/components/BBreadcrumb/index.mjs +1 -1
  177. package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
  178. package/dist/src/components/BButton/index.mjs +1 -1
  179. package/dist/src/components/BButton/index.umd.js +1 -1
  180. package/dist/src/components/BCard/BCard.vue.d.mts +1 -0
  181. package/dist/src/components/BCard/BCard.vue.d.ts +1 -0
  182. package/dist/src/components/BCard/BCardBody.vue.d.mts +1 -0
  183. package/dist/src/components/BCard/BCardBody.vue.d.ts +1 -0
  184. package/dist/src/components/BCard/index.mjs +1 -1
  185. package/dist/src/components/BCard/index.umd.js +1 -1
  186. package/dist/src/components/BCarousel/index.mjs +1 -1
  187. package/dist/src/components/BCollapse/BCollapse.vue.d.mts +0 -4
  188. package/dist/src/components/BCollapse/BCollapse.vue.d.ts +0 -4
  189. package/dist/src/components/BCollapse/index.mjs +1 -1
  190. package/dist/src/components/BCollapse/index.umd.js +1 -1
  191. package/dist/src/components/BDropdown/BDropdown.vue.d.mts +0 -4
  192. package/dist/src/components/BDropdown/BDropdown.vue.d.ts +0 -4
  193. package/dist/src/components/BDropdown/index.mjs +1 -1
  194. package/dist/src/components/BDropdown/index.umd.js +1 -1
  195. package/dist/src/components/BFormCheckbox/index.mjs +1 -1
  196. package/dist/src/components/BFormFile/index.mjs +1 -1
  197. package/dist/src/components/BFormFile/index.umd.js +1 -1
  198. package/dist/src/components/BFormGroup/index.mjs +1 -1
  199. package/dist/src/components/BFormGroup/index.umd.js +1 -1
  200. package/dist/src/components/BFormInput/index.mjs +1 -1
  201. package/dist/src/components/BFormInput/index.umd.js +1 -1
  202. package/dist/src/components/BFormRadio/index.mjs +1 -1
  203. package/dist/src/components/BFormRating/BFormRating.vue.d.mts +3 -2
  204. package/dist/src/components/BFormRating/BFormRating.vue.d.ts +3 -2
  205. package/dist/src/components/BFormRating/index.mjs +1 -1
  206. package/dist/src/components/BFormRating/index.umd.js +1 -1
  207. package/dist/src/components/BFormSelect/index.mjs +1 -1
  208. package/dist/src/components/BFormSpinbutton/BFormSpinbutton.vue.d.mts +1 -1
  209. package/dist/src/components/BFormSpinbutton/BFormSpinbutton.vue.d.ts +1 -1
  210. package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
  211. package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
  212. package/dist/src/components/BFormTags/BFormTags.vue.d.mts +1 -0
  213. package/dist/src/components/BFormTags/BFormTags.vue.d.ts +1 -0
  214. package/dist/src/components/BFormTags/index.mjs +1 -1
  215. package/dist/src/components/BFormTags/index.umd.js +1 -1
  216. package/dist/src/components/BFormTextarea/index.mjs +1 -1
  217. package/dist/src/components/BFormTextarea/index.umd.js +1 -1
  218. package/dist/src/components/BLink/index.mjs +1 -1
  219. package/dist/src/components/BLink/index.umd.js +1 -1
  220. package/dist/src/components/BListGroup/index.mjs +1 -1
  221. package/dist/src/components/BListGroup/index.umd.js +1 -1
  222. package/dist/src/components/BModal/BModal.vue.d.mts +4 -4
  223. package/dist/src/components/BModal/BModal.vue.d.ts +4 -4
  224. package/dist/src/components/BModal/index.mjs +1 -1
  225. package/dist/src/components/BModal/index.umd.js +1 -1
  226. package/dist/src/components/BNav/BNavItem.vue.d.mts +8 -0
  227. package/dist/src/components/BNav/BNavItem.vue.d.ts +8 -0
  228. package/dist/src/components/BNav/BNavItemDropdown.vue.d.mts +2 -22
  229. package/dist/src/components/BNav/BNavItemDropdown.vue.d.ts +2 -22
  230. package/dist/src/components/BNav/index.mjs +1 -1
  231. package/dist/src/components/BNav/index.umd.js +1 -1
  232. package/dist/src/components/BNavbar/index.mjs +1 -1
  233. package/dist/src/components/BNavbar/index.umd.js +1 -1
  234. package/dist/src/components/BOffcanvas/BOffcanvas.vue.d.mts +0 -4
  235. package/dist/src/components/BOffcanvas/BOffcanvas.vue.d.ts +0 -4
  236. package/dist/src/components/BOffcanvas/index.mjs +1 -1
  237. package/dist/src/components/BOffcanvas/index.umd.js +1 -1
  238. package/dist/src/components/BOverlay/index.mjs +1 -1
  239. package/dist/src/components/BPagination/index.mjs +1 -1
  240. package/dist/src/components/BPagination/index.umd.js +1 -1
  241. package/dist/src/components/BPlaceholder/index.mjs +1 -1
  242. package/dist/src/components/BPlaceholder/index.umd.js +1 -1
  243. package/dist/src/components/BPopover/BPopover.vue.d.mts +2 -4
  244. package/dist/src/components/BPopover/BPopover.vue.d.ts +2 -4
  245. package/dist/src/components/BPopover/BPopoverOrchestrator.vue.d.mts +30 -58
  246. package/dist/src/components/BPopover/BPopoverOrchestrator.vue.d.ts +30 -58
  247. package/dist/src/components/BPopover/index.mjs +1 -1
  248. package/dist/src/components/BPopover/index.umd.js +1 -1
  249. package/dist/src/components/BTable/index.mjs +1 -1
  250. package/dist/src/components/BTable/index.umd.js +1 -1
  251. package/dist/src/components/BTabs/index.mjs +1 -1
  252. package/dist/src/components/BToast/BToast.vue.d.mts +0 -4
  253. package/dist/src/components/BToast/BToast.vue.d.ts +0 -4
  254. package/dist/src/components/BToast/index.mjs +1 -1
  255. package/dist/src/components/BToast/index.umd.js +1 -1
  256. package/dist/src/components/BTooltip/BTooltip.vue.d.mts +12 -22
  257. package/dist/src/components/BTooltip/BTooltip.vue.d.ts +12 -22
  258. package/dist/src/components/BTooltip/index.mjs +1 -1
  259. package/dist/src/components/BTooltip/index.umd.js +1 -1
  260. package/dist/src/components/index.mjs +1 -1
  261. package/dist/src/components/index.umd.js +1 -1
  262. package/dist/src/composables/index.mjs +1 -1
  263. package/dist/src/composables/index.umd.js +1 -1
  264. package/dist/src/composables/useColorMode/index.mjs +1 -1
  265. package/dist/src/composables/useModal/index.mjs +1 -1
  266. package/dist/src/composables/useModal/index.umd.js +1 -1
  267. package/dist/src/composables/usePopover/index.d.mts +60 -116
  268. package/dist/src/composables/usePopover/index.d.ts +60 -116
  269. package/dist/src/composables/usePopover/index.mjs +1 -1
  270. package/dist/src/composables/usePopover/index.umd.js +1 -1
  271. package/dist/src/composables/useScrollLock/index.mjs +1 -1
  272. package/dist/src/composables/useScrollspy/index.mjs +1 -1
  273. package/dist/src/composables/useToast/index.mjs +1 -1
  274. package/dist/src/composables/useToast/index.umd.js +1 -1
  275. package/dist/src/composables/useToggle/index.mjs +1 -1
  276. package/dist/src/directives/BPopover/index.mjs +1 -1
  277. package/dist/src/directives/BPopover/index.umd.js +1 -1
  278. package/dist/src/directives/BScrollspy/index.mjs +1 -1
  279. package/dist/src/directives/BScrollspy/index.umd.js +1 -1
  280. package/dist/src/directives/BToggle/index.mjs +1 -1
  281. package/dist/src/directives/BToggle/index.umd.js +1 -1
  282. package/dist/src/directives/BTooltip/index.mjs +1 -1
  283. package/dist/src/directives/BTooltip/index.umd.js +1 -1
  284. package/dist/src/types/ComponentEmits.d.mts +3 -2
  285. package/dist/src/types/ComponentEmits.d.ts +3 -2
  286. package/dist/src/types/ComponentProps.d.mts +6 -0
  287. package/dist/src/types/ComponentProps.d.ts +6 -0
  288. package/dist/src/types/TableTypes.d.mts +3 -2
  289. package/dist/src/types/TableTypes.d.ts +3 -2
  290. package/dist/src/types/index.d.mts +1 -1
  291. package/dist/src/types/index.d.ts +1 -1
  292. package/dist/stringUtils-Dot6GNY-.mjs +2 -0
  293. package/dist/{stringUtils-D_P728Or.mjs.map → stringUtils-Dot6GNY-.mjs.map} +1 -1
  294. package/dist/{tableUtils-BwnduRf2.mjs → tableUtils-BkqtUuAu.mjs} +2 -2
  295. package/dist/{tableUtils-BwnduRf2.mjs.map → tableUtils-BkqtUuAu.mjs.map} +1 -1
  296. package/dist/{useCountdownHover-Bpxk57gY.mjs → useCountdownHover-CaOGjEcK.mjs} +2 -2
  297. package/dist/{useCountdownHover-Bpxk57gY.mjs.map → useCountdownHover-CaOGjEcK.mjs.map} +1 -1
  298. package/dist/{useFormCheck-B-Uhf0Kr.mjs → useFormCheck-Cwpa_CvP.mjs} +2 -2
  299. package/dist/{useFormCheck-B-Uhf0Kr.mjs.map → useFormCheck-Cwpa_CvP.mjs.map} +1 -1
  300. package/dist/{useFormInput-DUGAGnSR.mjs → useFormInput-BxtpqC4F.mjs} +2 -2
  301. package/dist/{useFormInput-DUGAGnSR.mjs.map → useFormInput-BxtpqC4F.mjs.map} +1 -1
  302. package/dist/{useFormInput-BnB8tr-t.js → useFormInput-DSeDfLEU.js} +2 -2
  303. package/dist/{useFormInput-BnB8tr-t.js.map → useFormInput-DSeDfLEU.js.map} +1 -1
  304. package/dist/useNumberishToStyle-DLb9cN9Q.mjs +2 -0
  305. package/dist/{useNumberishToStyle-BVWI7suq.mjs.map → useNumberishToStyle-DLb9cN9Q.mjs.map} +1 -1
  306. package/dist/useRtl-DLqv328W.mjs +2 -0
  307. package/dist/useRtl-DLqv328W.mjs.map +1 -0
  308. package/dist/useRtl-hyvAzRYi.js +2 -0
  309. package/dist/useRtl-hyvAzRYi.js.map +1 -0
  310. package/dist/{useSafeScrollLock-Um9qyqb-.mjs → useSafeScrollLock-DGPdX_up.mjs} +2 -2
  311. package/dist/{useSafeScrollLock-Um9qyqb-.mjs.map → useSafeScrollLock-DGPdX_up.mjs.map} +1 -1
  312. package/dist/{useShowHide-rO7x91Im.mjs → useShowHide-B5WhoqUx.mjs} +2 -2
  313. package/dist/{useShowHide-rO7x91Im.mjs.map → useShowHide-B5WhoqUx.mjs.map} +1 -1
  314. package/dist/{utils-CMyJoXOo.js → utils-B_Rlb02B.js} +2 -2
  315. package/dist/{utils-CMyJoXOo.js.map → utils-B_Rlb02B.js.map} +1 -1
  316. package/dist/{utils-CcDOWZPQ.mjs → utils-CxrN9o8K.mjs} +2 -2
  317. package/dist/{utils-CcDOWZPQ.mjs.map → utils-CxrN9o8K.mjs.map} +1 -1
  318. package/package.json +1 -1
  319. package/src/components/BFormInput/_form-input.scss +45 -49
  320. package/src/components/BInputGroup/_input-group.scss +3 -0
  321. package/src/styles/styles.scss +5 -0
  322. package/dist/BAccordion.vue_vue_type_script_setup_true_lang-D9zOcCj7.js +0 -2
  323. package/dist/BAccordion.vue_vue_type_script_setup_true_lang-SUuwXn1c.mjs +0 -2
  324. package/dist/BAlert.vue_vue_type_script_setup_true_lang-CxEmR6p6.mjs +0 -2
  325. package/dist/BAlert.vue_vue_type_script_setup_true_lang-DFWBBn_o.js +0 -2
  326. package/dist/BBadge.vue_vue_type_script_setup_true_lang-BV8vPKli.js +0 -2
  327. package/dist/BBadge.vue_vue_type_script_setup_true_lang-BV8vPKli.js.map +0 -1
  328. package/dist/BBadge.vue_vue_type_script_setup_true_lang-D5__lL9d.mjs +0 -2
  329. package/dist/BBadge.vue_vue_type_script_setup_true_lang-D5__lL9d.mjs.map +0 -1
  330. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-BP5FecoI.js +0 -2
  331. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-BP5FecoI.js.map +0 -1
  332. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-U0G8_eW_.mjs +0 -2
  333. package/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-U0G8_eW_.mjs.map +0 -1
  334. package/dist/BButton.vue_vue_type_script_setup_true_lang-Dnz-A1_v.mjs +0 -2
  335. package/dist/BButton.vue_vue_type_script_setup_true_lang-Dnz-A1_v.mjs.map +0 -1
  336. package/dist/BButton.vue_vue_type_script_setup_true_lang-ch6lNAVX.js +0 -2
  337. package/dist/BButton.vue_vue_type_script_setup_true_lang-ch6lNAVX.js.map +0 -1
  338. package/dist/BCard.vue_vue_type_script_setup_true_lang-Bmdl0qdt.mjs +0 -2
  339. package/dist/BCard.vue_vue_type_script_setup_true_lang-Bmdl0qdt.mjs.map +0 -1
  340. package/dist/BCard.vue_vue_type_script_setup_true_lang-DbIOmFO5.js.map +0 -1
  341. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-D-vJX0n5.mjs +0 -2
  342. package/dist/BCollapse.vue_vue_type_script_setup_true_lang-Yy-5Bg3x.js +0 -2
  343. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-BaE67YrE.js +0 -2
  344. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-BaE67YrE.js.map +0 -1
  345. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-DLUeuZ9X.mjs +0 -2
  346. package/dist/BDropdown.vue_vue_type_script_setup_true_lang-DLUeuZ9X.mjs.map +0 -1
  347. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-BOIiVYvE.mjs.map +0 -1
  348. package/dist/BFormFile.vue_vue_type_script_setup_true_lang-nHLntSo0.js.map +0 -1
  349. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CRXPh1qJ.js +0 -2
  350. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-CRXPh1qJ.js.map +0 -1
  351. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-zHjcH6xn.mjs +0 -2
  352. package/dist/BFormInput.vue_vue_type_script_setup_true_lang-zHjcH6xn.mjs.map +0 -1
  353. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-KfqCpYkt.mjs +0 -2
  354. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-KfqCpYkt.mjs.map +0 -1
  355. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-ROohI281.js +0 -2
  356. package/dist/BFormRating.vue_vue_type_script_setup_true_lang-ROohI281.js.map +0 -1
  357. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BamBXNwM.mjs +0 -2
  358. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BamBXNwM.mjs.map +0 -1
  359. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BjT-RBZU.js +0 -2
  360. package/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BjT-RBZU.js.map +0 -1
  361. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-B-Kvt4jk.js +0 -2
  362. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-B-Kvt4jk.js.map +0 -1
  363. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-CD_hLjJ2.mjs +0 -2
  364. package/dist/BFormTags.vue_vue_type_script_setup_true_lang-CD_hLjJ2.mjs.map +0 -1
  365. package/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-B1mvjhGR.mjs.map +0 -1
  366. package/dist/BLink.vue_vue_type_script_setup_true_lang-Dd4KflWn.js.map +0 -1
  367. package/dist/BLink.vue_vue_type_script_setup_true_lang-Oz42cvll.mjs +0 -2
  368. package/dist/BLink.vue_vue_type_script_setup_true_lang-Oz42cvll.mjs.map +0 -1
  369. package/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-B565zgTp.js.map +0 -1
  370. package/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-CrUKK0Fn.mjs.map +0 -1
  371. package/dist/BNavText.vue_vue_type_script_setup_true_lang-D6qES9jG.js +0 -2
  372. package/dist/BNavText.vue_vue_type_script_setup_true_lang-D6qES9jG.js.map +0 -1
  373. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DSMN_O7L.mjs +0 -2
  374. package/dist/BNavText.vue_vue_type_script_setup_true_lang-DSMN_O7L.mjs.map +0 -1
  375. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DdTtEG_q.mjs +0 -2
  376. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-DdTtEG_q.mjs.map +0 -1
  377. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-dqwVBLNB.js +0 -2
  378. package/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-dqwVBLNB.js.map +0 -1
  379. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-CpJG0wpe.js +0 -2
  380. package/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-N0QC3Jkj.mjs +0 -2
  381. package/dist/BTable.vue_vue_type_script_setup_true_lang-BasI6gHe.js.map +0 -1
  382. package/dist/BTable.vue_vue_type_script_setup_true_lang-DYZeXsLE.mjs.map +0 -1
  383. package/dist/BTooltip.vue_vue_type_script_setup_true_lang-ChGvfBmJ.js +0 -2
  384. package/dist/debounce-DkVlefD7.js +0 -2
  385. package/dist/debounce-k8ahcUzV.mjs +0 -2
  386. package/dist/index-B-U7ORru.js.map +0 -1
  387. package/dist/index-BaxuTxan.mjs +0 -2
  388. package/dist/index-CBhqPGmW.mjs.map +0 -1
  389. package/dist/index-CBu6RwGS.js.map +0 -1
  390. package/dist/index-CQODwZsl.mjs.map +0 -1
  391. package/dist/index-mC3qUrGh.js +0 -2
  392. package/dist/stringUtils-D_P728Or.mjs +0 -2
  393. package/dist/useNumberishToStyle-BVWI7suq.mjs +0 -2
@@ -0,0 +1,2 @@
1
+ import{defineComponent as e,mergeModels as l,useAttrs as a,computed as o,inject as t,useModel as u,useTemplateRef as i,onUnmounted as d,onMounted as v,nextTick as n,watch as s,createElementBlock as r,openBlock as f,mergeProps as c,unref as m,createVNode as p,withCtx as h,createElementVNode as y,renderSlot as g,createBlock as A,resolveDynamicComponent as I,createTextVNode as b,toDisplayString as z,useSlots as w,ref as B,shallowRef as _,provide as C,toRef as x,readonly as V,normalizeClass as j}from"vue";import{g as L}from"./keys-DiEDpjjR.mjs";import{u as $}from"./useId-Dth2TyyG.mjs";import{u as k}from"./useDefaults-C9d4iJX7.mjs";import{f as N}from"./flattenFragments-HImAstEK.mjs";import{_ as O}from"./BCollapse.vue_vue_type_script_setup_true_lang-L-E6YtrU.mjs";import{i as T}from"./object-D3hfWZGp.mjs";import{s as H}from"./dom-BbjUGBm6.mjs";const M=["aria-expanded","aria-controls","onClick"],P=/* @__PURE__ */e({inheritAttrs:!1,__name:"BAccordionItem",props:/* @__PURE__ */l({bodyAttrs:{default:void 0},bodyClass:{default:void 0},buttonAttrs:{default:void 0},buttonClass:{default:void 0},collapseClass:{default:void 0},headerAttrs:{default:void 0},headerClass:{default:void 0},headerTag:{default:"h2"},horizontal:{type:Boolean,default:void 0},id:{default:void 0},isNav:{type:Boolean,default:void 0},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},tag:{default:void 0},title:{default:void 0},show:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:/* @__PURE__ */l(["hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented"],["update:modelValue"]),setup(e,{emit:l}){const w=k(e,"BAccordionItem"),B=l,_=a(),C=o(()=>{const{class:e,...l}=_;return{wrapperClass:e,collapseAttrs:l}}),x=t(L,null),V=$(()=>w.id,"accordion_item"),j=u(e,"modelValue");j.value?x?.setOpenItem(V.value):j.value=(T(x?.openItem.value)?x?.openItem.value.includes(V.value):x?.openItem.value===V.value)&&!x?.initialAnimation.value;const N=i("_el");x?.registerAccordionItem(V.value,N),d(()=>{x?.unregisterAccordionItem(V.value)}),v(()=>{j.value||x?.openItem.value!==V.value||n(()=>{j.value=!0})});const H=o(()=>T(x?.openItem.value)?x?.openItem.value.includes(V.value):x?.openItem.value===V.value);return s(()=>x?.openItem.value,()=>j.value=H.value),s(j,()=>{j.value&&!H.value?x?.setOpenItem(V.value):!j.value&&H.value&&x?.setCloseItem(V.value)}),(e,l)=>(f(),r("div",c({ref:"_el",class:"accordion-item"},m(w).wrapperAttrs,{class:C.value.wrapperClass}),[p(O,c({id:m(V),modelValue:j.value,"onUpdate:modelValue":l[0]||(l[0]=e=>j.value=e),class:["accordion-collapse",m(w).collapseClass],"aria-labelledby":`${m(V)}-heading`},C.value.collapseAttrs,{tag:m(w).tag,show:m(w).show,horizontal:m(w).horizontal,visible:m(w).visible,"is-nav":m(w).isNav,lazy:m(w).lazy||m(x)?.lazy.value,"unmount-lazy":m(w).unmountLazy||m(x)?.unmountLazy.value,onShow:l[1]||(l[1]=e=>B("show",e)),onShown:l[2]||(l[2]=e=>B("shown",e)),onHide:l[3]||(l[3]=e=>B("hide",e)),onHidden:l[4]||(l[4]=e=>B("hidden",e)),onHidePrevented:l[5]||(l[5]=e=>B("hide-prevented",e)),onShowPrevented:l[6]||(l[6]=e=>B("show-prevented",e)),onTogglePrevented:l[7]||(l[7]=e=>B("toggle-prevented",e)),onToggle:l[8]||(l[8]=e=>B("toggle",e))}),{header:h(({visible:l,toggle:a})=>[(f(),A(I(m(w).headerTag),c({id:`${m(V)}-heading`,class:["accordion-header",m(w).headerClass]},m(w).headerAttrs),{default:h(()=>[y("button",c({class:"accordion-button"},m(w).buttonAttrs,{class:[{collapsed:!l},m(w).buttonClass],type:"button","aria-expanded":l?"true":"false","aria-controls":m(V),onClick:a}),[g(e.$slots,"title",{},()=>[b(z(m(w).title),1)])],16,M)]),_:2},1040,["id","class"]))]),default:h(()=>[y("div",c({class:"accordion-body"},m(w).bodyAttrs,{class:m(w).bodyClass}),[g(e.$slots,"default")],16)]),_:3},16,["id","modelValue","class","aria-labelledby","tag","show","horizontal","visible","is-nav","lazy","unmount-lazy"])],16))}}),S=["id"],D=/* @__PURE__ */e({__name:"BAccordion",props:/* @__PURE__ */l({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0},initialAnimation:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1}},{modelValue:{default:void 0},modelModifiers:{},index:{default:void 0},indexModifiers:{}}),emits:["update:modelValue","update:index"],setup(e){const l=k(e,"BAccordion"),a=w(),t=u(e,"modelValue"),i=u(e,"index"),d=B([]),v=()=>{const e=N(a.default?.({})??[]);d.value=(Array.isArray(e)?e:[e]).filter(e=>e.type===P)};v(),s(()=>a.default?.({}),()=>{v(),n(()=>{p()})});const c=_([]),p=()=>{if(c.value=c.value.sort((e,l)=>H(m(e.el),m(l.el))),t.value)if(T(t.value)){const e=t.value.map(e=>c.value.findIndex(l=>l.id===e)).filter(e=>-1!==e);e.length!==t.value.length&&"development"===process.env.NODE_ENV&&console.warn("[BAccordion] Unknown item id in v-model:",t.value),i.value=e}else{const e=c.value.findIndex(e=>e.id===t.value);-1!==e&&(i.value=e)}else void 0!==i.value&&(t.value=T(i.value)?i.value.map(e=>c.value[e]?.id):c.value[i.value]?.id)},h=$(()=>l.id,"accordion"),y=o(()=>({"accordion-flush":l.flush})),A=(e,l)=>Array.isArray(e)&&Array.isArray(l)?e.length===l.length&&e.every((e,a)=>e===l[a]):e===l;return s(i,(e,a)=>{if(!A(e,a))if(void 0!==i.value)if(l.free)if(T(i.value)){const e=i.value.map(e=>c.value[e]?.id);A(e,t.value)||(t.value=e)}else{const e=c.value[i.value]?.id;if(void 0===e)return void n(()=>{i.value=void 0});A(e,t.value)||(t.value=e)}else{const e=T(i.value)?i.value?.[0]:i.value;c.value[e]?.id?t.value!==c.value[e]?.id&&(t.value=c.value[e]?.id):n(()=>{i.value=void 0})}else t.value=void 0}),s(t,(e,a)=>{if(!A(e,a))if(void 0!==t.value)if(l.free){if(l.free)if(T(t.value)){const e=t.value.map(e=>c.value.findIndex(l=>l.id===e)).filter(e=>-1!==e);e.length>0?A(e,i.value)||(i.value=e):n(()=>{t.value=void 0})}else{const e=c.value.findIndex(e=>e.id===t.value);A(e,i.value)||(i.value=e)}}else{const e=c.value.findIndex(e=>e.id===(T(t.value)?t.value?.[0]:t.value));-1!==e?i.value!==e&&(i.value=e):n(()=>{t.value=void 0})}else i.value=void 0},{deep:!0}),s(()=>l.free,e=>{t.value&&(!e&&T(t.value)?t.value=t.value[0]:e&&!T(t.value)&&(t.value=[t.value]))}),C(L,{openItem:V(t),free:x(()=>l.free),initialAnimation:x(()=>l.initialAnimation),lazy:x(()=>l.lazy),unmountLazy:x(()=>l.unmountLazy),setOpenItem:e=>{!l.free||T(t.value)?(l.free||!T(t.value))&&T(t.value)?t.value.includes(e)||(t.value=[...t.value,e]):t.value=e:void 0!==t.value?t.value=[t.value,e]:t.value=[e]},setCloseItem:e=>{if(l.free||!T(t.value))if(T(t.value)){const l=t.value.filter(l=>l!==e);t.value=l.length?l:void 0}else t.value===e&&(t.value=void 0);else t.value=void 0},registerAccordionItem:(e,l)=>{c.value=[...c.value,{id:e,el:l}],c.value.length===d.value.length&&p()},unregisterAccordionItem:e=>{c.value=c.value.filter(l=>l.id!==e)}}),(e,l)=>(f(),r("div",{id:m(h),class:j(["accordion",y.value])},[g(e.$slots,"default")],10,S))}});export{D as _,P as a};
2
+ //# sourceMappingURL=BAccordion.vue_vue_type_script_setup_true_lang-B_JIbD9l.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordion.vue_vue_type_script_setup_true_lang-SUuwXn1c.mjs","sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value.map((item) => accordionItems.value[item]?.id)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n // eslint-disable-next-line prefer-destructuring\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"names":["props","useDefaults","__props","emit","__emit","attrs","useAttrs","processedAttrs","computed","class","wrapperClass","collapseAttrs","parentData","inject","accordionInjectionKey","computedId","useId","id","modelValue","_useModel","value","setOpenItem","isReadOnlyArray","openItem","includes","initialAnimation","el","useTemplateRef","registerAccordionItem","onUnmounted","unregisterAccordionItem","onMounted","nextTick","openInParent","watch","setCloseItem","_openBlock","_createElementBlock","_mergeProps","ref","_unref","wrapperAttrs","_createVNode","BCollapse","$event","collapseClass","tag","show","horizontal","visible","isNav","lazy","unmountLazy","onShow","_cache","onShown","onHide","onHidden","onHidePrevented","onShowPrevented","onTogglePrevented","onToggle","header","_withCtx","toggleVisible","slotToggle","_createBlock","_resolveDynamicComponent","headerTag","headerClass","headerAttrs","_createElementVNode","buttonAttrs","collapsed","buttonClass","type","onClick","_renderSlot","_ctx","_createTextVNode","_toDisplayString","title","bodyAttrs","bodyClass","$slots","slots","_useSlots","index","itemElementsArray","updateItemElementsArray","itemElements","flattenFragments","default","Array","isArray","filter","item","BAccordionItem","sortAccordionItems","accordionItems","shallowRef","sort","a","b","sortSlotElementsByPosition","unref","next","map","findIndex","i","length","process","env","NODE_ENV","console","warn","idx","computedClasses","flush","areEqual","every","newValue","oldValue","free","idxes","deep","provide","readonly","toRef","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"BAccordion.vue_vue_type_script_setup_true_lang-B_JIbD9l.mjs","sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value.map((item) => accordionItems.value[item]?.id)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n // eslint-disable-next-line prefer-destructuring\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"names":["props","useDefaults","__props","emit","__emit","attrs","useAttrs","processedAttrs","computed","class","wrapperClass","collapseAttrs","parentData","inject","accordionInjectionKey","computedId","useId","id","modelValue","_useModel","value","setOpenItem","isReadOnlyArray","openItem","includes","initialAnimation","el","useTemplateRef","registerAccordionItem","onUnmounted","unregisterAccordionItem","onMounted","nextTick","openInParent","watch","setCloseItem","_openBlock","_createElementBlock","_mergeProps","ref","_unref","wrapperAttrs","_createVNode","BCollapse","$event","collapseClass","tag","show","horizontal","visible","isNav","lazy","unmountLazy","onShow","_cache","onShown","onHide","onHidden","onHidePrevented","onShowPrevented","onTogglePrevented","onToggle","header","_withCtx","toggleVisible","slotToggle","_createBlock","_resolveDynamicComponent","headerTag","headerClass","headerAttrs","_createElementVNode","buttonAttrs","collapsed","buttonClass","type","onClick","_renderSlot","_ctx","_createTextVNode","_toDisplayString","title","bodyAttrs","bodyClass","$slots","slots","_useSlots","index","itemElementsArray","updateItemElementsArray","itemElements","flattenFragments","default","Array","isArray","filter","item","BAccordionItem","sortAccordionItems","accordionItems","shallowRef","sort","a","b","sortSlotElementsByPosition","unref","next","map","findIndex","i","length","process","env","NODE_ENV","console","warn","idx","computedClasses","flush","areEqual","every","newValue","oldValue","free","idxes","deep","provide","readonly","toRef","_normalizeClass"],"mappings":"0sDAkFA,MAoBMA,EAAQC,EApBCC,EAoBmB,kBAC5BC,EAAOC,EAEPC,EAAQC,IAERC,EAAiBC,EAAS,KAC9B,MAAOC,MAAOC,KAAiBC,GAAiBN,EAChD,MAAO,CAACK,eAAcC,mBAGlBC,EAAaC,EAAOC,EAAuB,MAE3CC,EAAaC,EAAM,IAAMhB,EAAMiB,GAAI,kBAEnCC,EAAaC,EAAkEjB,EAAA,cAIjFgB,EAAWE,MACbR,GAAYS,YAAYN,EAAWK,OAEnCF,EAAWE,OACRE,EAAgBV,GAAYW,SAASH,OAClCR,GAAYW,SAASH,MAAMI,SAAST,EAAWK,OAC/CR,GAAYW,SAASH,QAAUL,EAAWK,SAAWR,GAAYa,iBAAiBL,MAG1F,MAAMM,EAAKC,EAAe,OAC1Bf,GAAYgB,sBAAsBb,EAAWK,MAAOM,GAEpDG,EAAY,KACVjB,GAAYkB,wBAAwBf,EAAWK,SAGjDW,EAAU,KACHb,EAAWE,OAASR,GAAYW,SAASH,QAAUL,EAAWK,OACjEY,EAAS,KACPd,EAAWE,OAAQ,MAKzB,MAAMa,EAAezB,EAAS,IAC5Bc,EAAgBV,GAAYW,SAASH,OACjCR,GAAYW,SAASH,MAAMI,SAAST,EAAWK,OAC/CR,GAAYW,SAASH,QAAUL,EAAWK,cAGhDc,EACE,IAAMtB,GAAYW,SAASH,MAC3B,IAAOF,EAAWE,MAAQa,EAAab,OAEzCc,EAAMhB,EAAY,KACZA,EAAWE,QAAUa,EAAab,MACpCR,GAAYS,YAAYN,EAAWK,QACzBF,EAAWE,OAASa,EAAab,OAC3CR,GAAYuB,aAAapB,EAAWK,iBA7JtCgB,IAAAC,EAsDM,MAtDNC,EAsDM,CArDJC,IAAI,MACJ9B,MAAM,kBACE+B,EAAAxC,GAAMyC,aAAY,CACzBhC,MAAOF,EAAAa,MAAeV,gBAEvBgC,EA+CYC,EA/CZL,EA+CY,CA9CTrB,GAAIuB,EAAAzB,cACIG,EAAAE,2CAAAF,EAAUE,MAAAwB,GACnBnC,MAAK,CAAC,qBACE+B,EAAAxC,GAAM6C,eACb,qBAAoBL,EAAAzB,cACbR,EAAAa,MAAeT,cAAa,CACnCmC,IAAKN,EAAAxC,GAAM8C,IACXC,KAAMP,EAAAxC,GAAM+C,KACZC,WAAYR,EAAAxC,GAAMgD,WAClBC,QAAST,EAAAxC,GAAMiD,QACf,SAAQT,EAAAxC,GAAMkD,MACdC,KAAMX,KAAMW,MAAQX,EAAA5B,IAAYuC,KAAK/B,MACrC,eAAcoB,KAAMY,aAAeZ,EAAA5B,IAAYwC,YAAYhC,MAC3DiC,OAAIC,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,OAASyC,IACnBW,QAAKD,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,QAAUyC,IACrBY,OAAIF,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,OAASyC,IACnBa,SAAMH,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,SAAWyC,IACvBc,gBAAcJ,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,iBAAmByC,IACvCe,gBAAcL,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,iBAAmByC,IACvCgB,kBAAgBN,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,mBAAqByC,IAC3CiB,SAAMP,EAAA,KAAAA,EAAA,GAAAV,GAAEzC,EAAI,SAAWyC,OAEbkB,OAAMC,EACf,EAkBYd,QAnBee,SAAuBC,KAAU,EAC5D7B,IAAA8B,EAkBYC,EAjBL3B,EAAAxC,GAAMoE,WADb9B,EAkBY,CAhBTrB,MAAOuB,EAAAzB,aACRN,MAAK,CAAC,mBACE+B,EAAAxC,GAAMqE,cACN7B,EAAAxC,GAAMsE,aAAW,WAEzB,IAUS,CAVTC,EAUS,SAVTjC,EAUS,CATP7B,MAAM,oBACE+B,EAAAxC,GAAMwE,YAAW,CACxB/D,MAAK,CAAA,CAAAgE,WAAgBT,GAAgBxB,EAAAxC,GAAM0E,aAC5CC,KAAK,SACJ,gBAAeX,EAAa,OAAA,QAC5B,gBAAexB,EAAAzB,GACf6D,QAAOX,KAERY,EAA6CC,oBAA7C,IAA6C,CAAtBC,EAAAC,EAAAxC,EAAAxC,GAAMiF,OAAK,qDAIxC,IAEM,CAFNV,EAEM,MAFNjC,EAEM,CAFD7B,MAAM,kBAAyB+B,EAAAxC,GAAMkF,UAAS,CAAGzE,MAAO+B,EAAAxC,GAAMmF,aACjEN,EAAQC,EAAAM,OAAA,gjBCtBhB,MAQMpF,EAAQC,EARCC,EAQmB,cAC5BmF,EAAQC,IAERpE,EAAaC,EAA0CjB,EAAA,cAIvDqF,EAAQpE,EAAqCjB,EAAC,SAI9CsF,EAAoBjD,EAAa,IAEjCkD,EAA0B,KAC9B,MAAMC,EAAeC,EAAiBN,EAAMO,UAAU,CAAA,IAAO,IAC7DJ,EAAkBpE,OAASyE,MAAMC,QAAQJ,GAAgBA,EAAe,CAACA,IAAeK,OACrFC,GAASA,EAAKrB,OAASsB,IAG5BR,IAEAvD,EACE,IAAMmD,EAAMO,UAAU,IACtB,KACEH,IACAzD,EAAS,KACPkE,QAUN,MAAMC,EAAiBC,EAA4B,IAE7CF,EAAqB,KAIzB,GAHAC,EAAe/E,MAAQ+E,EAAe/E,MAAMiF,KAAK,CAACC,EAAGC,IACnDC,EAA2BC,EAAMH,EAAE5E,IAAK+E,EAAMF,EAAE7E,MAE9CR,EAAWE,MACb,GAAIE,EAAgBJ,EAAWE,OAAQ,CACrC,MAAMsF,EAAOxF,EAAWE,MACrBuF,IAAK1F,GAAOkF,EAAe/E,MAAMwF,UAAWZ,GAASA,EAAK/E,KAAOA,IACjE8E,OAAQc,IAAY,IAANA,GAEbH,EAAKI,SAAW5F,EAAWE,MAAM0F,QACN,gBAAzBC,QAAQC,IAAIC,UAEdC,QAAQC,KAAK,2CAA4CjG,EAAWE,OAGxEmE,EAAMnE,MAAQsF,CAChB,KAAO,CACL,MAAMU,EAAMjB,EAAe/E,MAAMwF,UAAWZ,GAASA,EAAK/E,KAAOC,EAAWE,QAChE,IAARgG,IAAY7B,EAAMnE,MAAQgG,EAChC,WACyB,IAAhB7B,EAAMnE,QACfF,EAAWE,MAAQE,EAAgBiE,EAAMnE,OACrCmE,EAAMnE,MAAMuF,IAAKS,GAAQjB,EAAe/E,MAAMgG,IAAMnG,IACpDkF,EAAe/E,MAAMmE,EAAMnE,QAAQH,KAIrCF,EAAaC,EAAM,IAAMhB,EAAMiB,GAAI,aAEnCoG,EAAkB7G,EAAS,KAAA,CAC/B,kBAAmBR,EAAMsH,SAGrBC,EAAW,CAACjB,EAAYC,IACxBV,MAAMC,QAAQQ,IAAMT,MAAMC,QAAQS,GAC7BD,EAAEQ,SAAWP,EAAEO,QAAUR,EAAEkB,MAAM,CAACxB,EAAMT,IAAUS,IAASO,EAAEhB,IAE/De,IAAMC,SAGfrE,EAAMqD,EAAO,CAACkC,EAAUC,KACtB,IAAIH,EAASE,EAAUC,GACvB,QAAoB,IAAhBnC,EAAMnE,MAKV,GAAKpB,EAAM2H,KAaT,GAAIrG,EAAgBiE,EAAMnE,OAAQ,CAChC,MAAMqG,EAAWlC,EAAMnE,MAAMuF,IAAKX,GAASG,EAAe/E,MAAM4E,IAAO/E,IAClEsG,EAASE,EAAUvG,EAAWE,SACjCF,EAAWE,MAAQqG,EAEvB,KAAO,CACL,MAAMA,EAAWtB,EAAe/E,MAAMmE,EAAMnE,QAAQH,GACpD,QAAiB,IAAbwG,EAIF,YAHAzF,EAAS,KACPuD,EAAMnE,WAAQ,IAIbmG,EAASE,EAAUvG,EAAWE,SACjCF,EAAWE,MAAQqG,EAEvB,KA7Be,CACf,MAAML,EAAO9F,EAAgBiE,EAAMnE,OAAuBmE,EAAMnE,QAAQ,GAA5BmE,EAAMnE,MAC9C+E,EAAe/E,MAAMgG,IAAMnG,GACzBC,EAAWE,QAAU+E,EAAe/E,MAAMgG,IAAMnG,KAClDC,EAAWE,MAAQ+E,EAAe/E,MAAMgG,IAAMnG,IAGhDe,EAAS,KACPuD,EAAMnE,WAAQ,GAGpB,MAfEF,EAAWE,WAAQ,IAqCvBc,EACEhB,EACA,CAACuG,EAAUC,KACT,IAAIH,EAASE,EAAUC,GACvB,QAAyB,IAArBxG,EAAWE,MAKf,GAAKpB,EAAM2H,MAgBX,GAAW3H,EAAM2H,KACf,GAAIrG,EAAgBJ,EAAWE,OAAQ,CACrC,MAAMwG,EAAQ1G,EAAWE,MACtBuF,IAAKvF,GAAU+E,EAAe/E,MAAMwF,UAAWZ,GAASA,EAAK/E,KAAOG,IACpE2E,OAAQR,IAAoB,IAAVA,GACjBqC,EAAMd,OAAS,EACZS,EAASK,EAAOrC,EAAMnE,SACzBmE,EAAMnE,MAAQwG,GAGhB5F,EAAS,KACPd,EAAWE,WAAQ,GAGzB,KAAO,CACL,MAAMqG,EAAWtB,EAAe/E,MAAMwF,UAAWZ,GAASA,EAAK/E,KAAOC,EAAWE,OAC5EmG,EAASE,EAAUlC,EAAMnE,SAC5BmE,EAAMnE,MAAQqG,EAElB,MAnCe,CACf,MAAML,EAAMjB,EAAe/E,MAAMwF,UAC9BZ,GACCA,EAAK/E,MACHK,EAAgBJ,EAAWE,OAA4BF,EAAWE,QAAQ,GAAtCF,EAAWE,SAGzC,IAARgG,EACE7B,EAAMnE,QAAUgG,IAClB7B,EAAMnE,MAAQgG,GAGhBpF,EAAS,KACPd,EAAWE,WAAQ,GAGzB,MApBEmE,EAAMnE,WAAQ,GA0ClB,CAACyG,MAAM,IAGT3F,EACE,IAAMlC,EAAM2H,KACXA,IACKzG,EAAWE,SACRuG,GAAQrG,EAAgBJ,EAAWE,OAEtCF,EAAWE,MAAQF,EAAWE,MAAM,GAC3BuG,IAASrG,EAAgBJ,EAAWE,SAC7CF,EAAWE,MAAQ,CAACF,EAAWE,WAMvC0G,EAAQhH,EAAuB,CAC7BS,SAAUwG,EAAS7G,GACnByG,KAAMK,EAAM,IAAMhI,EAAM2H,MACxBlG,iBAAkBuG,EAAM,IAAMhI,EAAMyB,kBACpC0B,KAAM6E,EAAM,IAAMhI,EAAMmD,MACxBC,YAAa4E,EAAM,IAAMhI,EAAMoD,aAC/B/B,YAAcJ,KACRjB,EAAM2H,MAASrG,EAAgBJ,EAAWE,QAQzCpB,EAAM2H,OAAQrG,EAAgBJ,EAAWE,SAI1CE,EAAgBJ,EAAWE,OACxBF,EAAWE,MAAMI,SAASP,KAC7BC,EAAWE,MAAQ,IAAIF,EAAWE,MAAOH,IAL3CC,EAAWE,MAAQH,OARM,IAArBC,EAAWE,MACbF,EAAWE,MAAQ,CAACF,EAAWE,MAAOH,GAEtCC,EAAWE,MAAQ,CAACH,IAgB1BkB,aAAelB,IACb,GAAKjB,EAAM2H,OAAQrG,EAAgBJ,EAAWE,OAI9C,GAAIE,EAAgBJ,EAAWE,OAAQ,CACrC,MAAMsF,EAAOxF,EAAWE,MAAM2E,OAAQC,GAASA,IAAS/E,GACxDC,EAAWE,MAAQsF,EAAKI,OAASJ,OAAO,CAC1C,MACMxF,EAAWE,QAAUH,IACvBC,EAAWE,WAAQ,QARrBF,EAAWE,WAAQ,GAYvBQ,sBAAuB,CAACX,EAAYS,KAClCyE,EAAe/E,MAAQ,IAAI+E,EAAe/E,MAAO,CAACH,KAAIS,OAClDyE,EAAe/E,MAAM0F,SAAWtB,EAAkBpE,MAAM0F,QAC1DZ,KAGJpE,wBAA0Bb,IACxBkF,EAAe/E,MAAQ+E,EAAe/E,MAAM2E,OAAQC,GAASA,EAAK/E,KAAOA,kBA5Q3EoB,EAEM,MAAA,CAFApB,GAAIuB,EAAAzB,GAAYN,MAAKwH,EAAA,CAAC,YAAoBZ,EAAAjG,UAC9CyD,EAAQC,EAAAM,OAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("vue"),l=require("./keys-D59bcWpQ.js"),a=require("./useId-owZCNodL.js"),t=require("./useDefaults-DspAih6L.js"),o=require("./flattenFragments-Dj-WOIPD.js"),u=require("./BCollapse.vue_vue_type_script_setup_true_lang-CB8zbnX2.js"),n=require("./object-xGmO3eJE.js"),i=require("./dom-Cbel14Rh.js"),r=["aria-expanded","aria-controls","onClick"],d=e.defineComponent({inheritAttrs:!1,__name:"BAccordionItem",props:e.mergeModels({bodyAttrs:{default:void 0},bodyClass:{default:void 0},buttonAttrs:{default:void 0},buttonClass:{default:void 0},collapseClass:{default:void 0},headerAttrs:{default:void 0},headerClass:{default:void 0},headerTag:{default:"h2"},horizontal:{type:Boolean,default:void 0},id:{default:void 0},isNav:{type:Boolean,default:void 0},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},tag:{default:void 0},title:{default:void 0},show:{type:Boolean,default:void 0},visible:{type:Boolean,default:!1},wrapperAttrs:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:e.mergeModels(["hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented"],["update:modelValue"]),setup(o,{emit:i}){const d=o,s=t.useDefaults(d,"BAccordionItem"),v=i,c=e.useAttrs(),f=e.computed(()=>{const{class:e,...l}=c;return{wrapperClass:e,collapseAttrs:l}}),p=e.inject(l.accordionInjectionKey,null),m=a.useId(()=>s.id,"accordion_item"),y=e.useModel(o,"modelValue");y.value?p?.setOpenItem(m.value):y.value=(n.isReadOnlyArray(p?.openItem.value)?p?.openItem.value.includes(m.value):p?.openItem.value===m.value)&&!p?.initialAnimation.value;const h=e.useTemplateRef("_el");p?.registerAccordionItem(m.value,h),e.onUnmounted(()=>{p?.unregisterAccordionItem(m.value)}),e.onMounted(()=>{y.value||p?.openItem.value!==m.value||e.nextTick(()=>{y.value=!0})});const g=e.computed(()=>n.isReadOnlyArray(p?.openItem.value)?p?.openItem.value.includes(m.value):p?.openItem.value===m.value);return e.watch(()=>p?.openItem.value,()=>y.value=g.value),e.watch(y,()=>{y.value&&!g.value?p?.setOpenItem(m.value):!y.value&&g.value&&p?.setCloseItem(m.value)}),(l,a)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref:"_el",class:"accordion-item"},e.unref(s).wrapperAttrs,{class:f.value.wrapperClass}),[e.createVNode(u._sfc_main,e.mergeProps({id:e.unref(m),modelValue:y.value,"onUpdate:modelValue":a[0]||(a[0]=e=>y.value=e),class:["accordion-collapse",e.unref(s).collapseClass],"aria-labelledby":`${e.unref(m)}-heading`},f.value.collapseAttrs,{tag:e.unref(s).tag,show:e.unref(s).show,horizontal:e.unref(s).horizontal,visible:e.unref(s).visible,"is-nav":e.unref(s).isNav,lazy:e.unref(s).lazy||e.unref(p)?.lazy.value,"unmount-lazy":e.unref(s).unmountLazy||e.unref(p)?.unmountLazy.value,onShow:a[1]||(a[1]=e=>v("show",e)),onShown:a[2]||(a[2]=e=>v("shown",e)),onHide:a[3]||(a[3]=e=>v("hide",e)),onHidden:a[4]||(a[4]=e=>v("hidden",e)),onHidePrevented:a[5]||(a[5]=e=>v("hide-prevented",e)),onShowPrevented:a[6]||(a[6]=e=>v("show-prevented",e)),onTogglePrevented:a[7]||(a[7]=e=>v("toggle-prevented",e)),onToggle:a[8]||(a[8]=e=>v("toggle",e))}),{header:e.withCtx(({visible:a,toggle:t})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s).headerTag),e.mergeProps({id:`${e.unref(m)}-heading`,class:["accordion-header",e.unref(s).headerClass]},e.unref(s).headerAttrs),{default:e.withCtx(()=>[e.createElementVNode("button",e.mergeProps({class:"accordion-button"},e.unref(s).buttonAttrs,{class:[{collapsed:!a},e.unref(s).buttonClass],type:"button","aria-expanded":a?"true":"false","aria-controls":e.unref(m),onClick:t}),[e.renderSlot(l.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(s).title),1)])],16,r)]),_:2},1040,["id","class"]))]),default:e.withCtx(()=>[e.createElementVNode("div",e.mergeProps({class:"accordion-body"},e.unref(s).bodyAttrs,{class:e.unref(s).bodyClass}),[e.renderSlot(l.$slots,"default")],16)]),_:3},16,["id","modelValue","class","aria-labelledby","tag","show","horizontal","visible","is-nav","lazy","unmount-lazy"])],16))}}),s=["id"],v=e.defineComponent({__name:"BAccordion",props:e.mergeModels({flush:{type:Boolean,default:!1},free:{type:Boolean,default:!1},id:{default:void 0},initialAnimation:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1}},{modelValue:{default:void 0},modelModifiers:{},index:{default:void 0},indexModifiers:{}}),emits:["update:modelValue","update:index"],setup(u){const r=u,v=t.useDefaults(r,"BAccordion"),c=e.useSlots(),f=e.useModel(u,"modelValue"),p=e.useModel(u,"index"),m=e.ref([]),y=()=>{const e=o.flattenFragments(c.default?.({})??[]);m.value=(Array.isArray(e)?e:[e]).filter(e=>e.type===d)};y(),e.watch(()=>c.default?.({}),()=>{y(),e.nextTick(()=>{g()})});const h=e.shallowRef([]),g=()=>{if(h.value=h.value.sort((l,a)=>i.sortSlotElementsByPosition(e.unref(l.el),e.unref(a.el))),f.value)if(n.isReadOnlyArray(f.value)){const e=f.value.map(e=>h.value.findIndex(l=>l.id===e)).filter(e=>-1!==e);e.length!==f.value.length&&"development"===process.env.NODE_ENV&&console.warn("[BAccordion] Unknown item id in v-model:",f.value),p.value=e}else{const e=h.value.findIndex(e=>e.id===f.value);-1!==e&&(p.value=e)}else void 0!==p.value&&(f.value=n.isReadOnlyArray(p.value)?p.value.map(e=>h.value[e]?.id):h.value[p.value]?.id)},A=a.useId(()=>v.id,"accordion"),I=e.computed(()=>({"accordion-flush":v.flush})),w=(e,l)=>Array.isArray(e)&&Array.isArray(l)?e.length===l.length&&e.every((e,a)=>e===l[a]):e===l;return e.watch(p,(l,a)=>{if(!w(l,a))if(void 0!==p.value)if(v.free)if(n.isReadOnlyArray(p.value)){const e=p.value.map(e=>h.value[e]?.id);w(e,f.value)||(f.value=e)}else{const l=h.value[p.value]?.id;if(void 0===l)return void e.nextTick(()=>{p.value=void 0});w(l,f.value)||(f.value=l)}else{const l=n.isReadOnlyArray(p.value)?p.value?.[0]:p.value;h.value[l]?.id?f.value!==h.value[l]?.id&&(f.value=h.value[l]?.id):e.nextTick(()=>{p.value=void 0})}else f.value=void 0}),e.watch(f,(l,a)=>{if(!w(l,a))if(void 0!==f.value)if(v.free){if(v.free)if(n.isReadOnlyArray(f.value)){const l=f.value.map(e=>h.value.findIndex(l=>l.id===e)).filter(e=>-1!==e);l.length>0?w(l,p.value)||(p.value=l):e.nextTick(()=>{f.value=void 0})}else{const e=h.value.findIndex(e=>e.id===f.value);w(e,p.value)||(p.value=e)}}else{const l=h.value.findIndex(e=>e.id===(n.isReadOnlyArray(f.value)?f.value?.[0]:f.value));-1!==l?p.value!==l&&(p.value=l):e.nextTick(()=>{f.value=void 0})}else p.value=void 0},{deep:!0}),e.watch(()=>v.free,e=>{f.value&&(!e&&n.isReadOnlyArray(f.value)?f.value=f.value[0]:e&&!n.isReadOnlyArray(f.value)&&(f.value=[f.value]))}),e.provide(l.accordionInjectionKey,{openItem:e.readonly(f),free:e.toRef(()=>v.free),initialAnimation:e.toRef(()=>v.initialAnimation),lazy:e.toRef(()=>v.lazy),unmountLazy:e.toRef(()=>v.unmountLazy),setOpenItem:e=>{!v.free||n.isReadOnlyArray(f.value)?(v.free||!n.isReadOnlyArray(f.value))&&n.isReadOnlyArray(f.value)?f.value.includes(e)||(f.value=[...f.value,e]):f.value=e:void 0!==f.value?f.value=[f.value,e]:f.value=[e]},setCloseItem:e=>{if(v.free||!n.isReadOnlyArray(f.value))if(n.isReadOnlyArray(f.value)){const l=f.value.filter(l=>l!==e);f.value=l.length?l:void 0}else f.value===e&&(f.value=void 0);else f.value=void 0},registerAccordionItem:(e,l)=>{h.value=[...h.value,{id:e,el:l}],h.value.length===m.value.length&&g()},unregisterAccordionItem:e=>{h.value=h.value.filter(l=>l.id!==e)}}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{id:e.unref(A),class:e.normalizeClass(["accordion",I.value])},[e.renderSlot(l.$slots,"default")],10,s))}});exports._sfc_main=v,exports._sfc_main$1=d;
2
+ //# sourceMappingURL=BAccordion.vue_vue_type_script_setup_true_lang-CEARjuXn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAccordion.vue_vue_type_script_setup_true_lang-D9zOcCj7.js","sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value.map((item) => accordionItems.value[item]?.id)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n // eslint-disable-next-line prefer-destructuring\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","attrs","useAttrs","processedAttrs","computed","class","wrapperClass","collapseAttrs","parentData","inject","accordionInjectionKey","computedId","useId","id","modelValue","_useModel","value","setOpenItem","isReadOnlyArray","openItem","includes","initialAnimation","el","useTemplateRef","registerAccordionItem","onUnmounted","unregisterAccordionItem","onMounted","nextTick","openInParent","watch","setCloseItem","_openBlock","_createElementBlock","_mergeProps","ref","_unref","wrapperAttrs","_createVNode","BCollapse","$event","collapseClass","tag","show","horizontal","visible","isNav","lazy","unmountLazy","onShow","_cache","onShown","onHide","onHidden","onHidePrevented","onShowPrevented","onTogglePrevented","onToggle","header","_withCtx","toggleVisible","slotToggle","_createBlock","_resolveDynamicComponent","headerTag","headerClass","headerAttrs","_createElementVNode","buttonAttrs","collapsed","buttonClass","type","onClick","_renderSlot","_ctx","_createTextVNode","_toDisplayString","title","bodyAttrs","bodyClass","$slots","slots","_useSlots","index","itemElementsArray","updateItemElementsArray","itemElements","flattenFragments","default","Array","isArray","filter","item","BAccordionItem","sortAccordionItems","accordionItems","shallowRef","sort","a","b","sortSlotElementsByPosition","unref","next","map","findIndex","i","length","process","env","NODE_ENV","console","warn","idx","computedClasses","flush","areEqual","every","newValue","oldValue","free","idxes","deep","provide","readonly","toRef","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"BAccordion.vue_vue_type_script_setup_true_lang-CEARjuXn.js","sources":["../src/components/BAccordion/BAccordionItem.vue","../src/components/BAccordion/BAccordion.vue"],"sourcesContent":["<template>\n <div\n ref=\"_el\"\n class=\"accordion-item\"\n v-bind=\"props.wrapperAttrs\"\n :class=\"processedAttrs.wrapperClass\"\n >\n <BCollapse\n :id=\"computedId\"\n v-model=\"modelValue\"\n class=\"accordion-collapse\"\n :class=\"props.collapseClass\"\n :aria-labelledby=\"`${computedId}-heading`\"\n v-bind=\"processedAttrs.collapseAttrs\"\n :tag=\"props.tag\"\n :show=\"props.show\"\n :horizontal=\"props.horizontal\"\n :visible=\"props.visible\"\n :is-nav=\"props.isNav\"\n :lazy=\"props.lazy || parentData?.lazy.value\"\n :unmount-lazy=\"props.unmountLazy || parentData?.unmountLazy.value\"\n @show=\"emit('show', $event)\"\n @shown=\"emit('shown', $event)\"\n @hide=\"emit('hide', $event)\"\n @hidden=\"emit('hidden', $event)\"\n @hide-prevented=\"emit('hide-prevented', $event)\"\n @show-prevented=\"emit('show-prevented', $event)\"\n @toggle-prevented=\"emit('toggle-prevented', $event)\"\n @toggle=\"emit('toggle', $event)\"\n >\n <template #header=\"{visible: toggleVisible, toggle: slotToggle}\">\n <component\n :is=\"props.headerTag\"\n :id=\"`${computedId}-heading`\"\n class=\"accordion-header\"\n :class=\"props.headerClass\"\n v-bind=\"props.headerAttrs\"\n >\n <button\n class=\"accordion-button\"\n v-bind=\"props.buttonAttrs\"\n :class=\"[{collapsed: !toggleVisible}, props.buttonClass]\"\n type=\"button\"\n :aria-expanded=\"toggleVisible ? 'true' : 'false'\"\n :aria-controls=\"computedId\"\n @click=\"slotToggle\"\n >\n <slot name=\"title\"> {{ props.title }} </slot>\n </button>\n </component>\n </template>\n <div class=\"accordion-body\" v-bind=\"props.bodyAttrs\" :class=\"props.bodyClass\">\n <slot />\n </div>\n </BCollapse>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n inject,\n nextTick,\n onMounted,\n onUnmounted,\n useAttrs,\n useTemplateRef,\n watch,\n} from 'vue'\nimport BCollapse from '../BCollapse/BCollapse.vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BAccordionItemProps} from '../../types/ComponentProps'\nimport type {BAccordionItemEmits} from '../../types/ComponentEmits'\nimport type {BAccordionItemSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BAccordionItemProps, 'modelValue'>>(), {\n bodyAttrs: undefined,\n bodyClass: undefined,\n buttonAttrs: undefined,\n buttonClass: undefined,\n collapseClass: undefined,\n headerAttrs: undefined,\n headerClass: undefined,\n headerTag: 'h2',\n horizontal: undefined,\n id: undefined,\n isNav: undefined,\n lazy: false,\n unmountLazy: false,\n tag: undefined,\n title: undefined,\n show: undefined,\n visible: false,\n wrapperAttrs: undefined,\n})\nconst props = useDefaults(_props, 'BAccordionItem')\nconst emit = defineEmits<BAccordionItemEmits>()\ndefineSlots<BAccordionItemSlots>()\nconst attrs = useAttrs()\n\nconst processedAttrs = computed(() => {\n const {class: wrapperClass, ...collapseAttrs} = attrs\n return {wrapperClass, collapseAttrs}\n})\n\nconst parentData = inject(accordionInjectionKey, null)\n\nconst computedId = useId(() => props.id, 'accordion_item')\n\nconst modelValue = defineModel<Exclude<BAccordionItemProps['modelValue'], undefined>>({\n default: false,\n})\n\nif (modelValue.value) {\n parentData?.setOpenItem(computedId.value)\n} else {\n modelValue.value =\n (isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value\n}\n\nconst el = useTemplateRef('_el')\nparentData?.registerAccordionItem(computedId.value, el)\n\nonUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value)\n})\n\nonMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true\n })\n }\n})\n\nconst openInParent = computed(() =>\n isReadOnlyArray(parentData?.openItem.value)\n ? parentData?.openItem.value.includes(computedId.value)\n : parentData?.openItem.value === computedId.value\n)\n\nwatch(\n () => parentData?.openItem.value,\n () => (modelValue.value = openInParent.value)\n)\nwatch(modelValue, () => {\n if (modelValue.value && !openInParent.value) {\n parentData?.setOpenItem(computedId.value)\n } else if (!modelValue.value && openInParent.value) {\n parentData?.setCloseItem(computedId.value)\n }\n})\n</script>\n","<template>\n <div :id=\"computedId\" class=\"accordion\" :class=\"computedClasses\">\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n computed,\n nextTick,\n provide,\n readonly,\n ref,\n type ShallowRef,\n shallowRef,\n toRef,\n unref,\n type VNode,\n watch,\n} from 'vue'\nimport {accordionInjectionKey} from '../../utils/keys'\nimport {useId} from '../../composables/useId'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BAccordionProps} from '../../types/ComponentProps'\nimport {flattenFragments} from '../../utils/flattenFragments'\nimport BAccordionItem from './BAccordionItem.vue'\nimport {sortSlotElementsByPosition} from '../../utils/dom'\nimport type {BAccordionSlots} from '../../types'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<Omit<BAccordionProps, 'modelValue' | 'index'>>(), {\n flush: false,\n free: false,\n initialAnimation: false,\n id: undefined,\n lazy: false,\n unmountLazy: false,\n})\nconst props = useDefaults(_props, 'BAccordion')\nconst slots = defineSlots<BAccordionSlots>()\n\nconst modelValue = defineModel<BAccordionProps['modelValue']>({\n default: undefined,\n})\n\nconst index = defineModel<BAccordionProps['index']>('index', {\n default: undefined,\n})\n\nconst itemElementsArray = ref<VNode[]>([])\n\nconst updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? [])\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === BAccordionItem\n )\n}\nupdateItemElementsArray()\n\nwatch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray()\n nextTick(() => {\n sortAccordionItems()\n })\n }\n)\n\ninterface AccordionItem {\n id: string\n el: Readonly<ShallowRef<HTMLElement | null>>\n}\n\nconst accordionItems = shallowRef<AccordionItem[]>([])\n\nconst sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort((a, b) =>\n sortSlotElementsByPosition(unref(a.el), unref(b.el))\n )\n if (modelValue.value) {\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value\n .map((id) => accordionItems.value.findIndex((item) => item.id === id))\n .filter((i) => i !== -1)\n\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('[BAccordion] Unknown item id in v-model:', modelValue.value)\n }\n }\n index.value = next\n } else {\n const idx = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (idx !== -1) index.value = idx\n }\n } else if (index.value !== undefined) {\n modelValue.value = isReadOnlyArray(index.value)\n ? index.value.map((idx) => accordionItems.value[idx]?.id)\n : accordionItems.value[index.value]?.id\n }\n}\n\nconst computedId = useId(() => props.id, 'accordion')\n\nconst computedClasses = computed(() => ({\n 'accordion-flush': props.flush,\n}))\n\nconst areEqual = (a: unknown, b: unknown) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index) => item === b[index])\n }\n return a === b\n}\n\nwatch(index, (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (index.value === undefined) {\n modelValue.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = !isReadOnlyArray(index.value) ? index.value : index.value?.[0]\n if (accordionItems.value[idx]?.id) {\n if (modelValue.value !== accordionItems.value[idx]?.id) {\n modelValue.value = accordionItems.value[idx]?.id\n }\n } else {\n nextTick(() => {\n index.value = undefined\n })\n }\n } else {\n // free mode\n if (isReadOnlyArray(index.value)) {\n const newValue = index.value.map((item) => accordionItems.value[item]?.id)\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n } else {\n const newValue = accordionItems.value[index.value]?.id\n if (newValue === undefined) {\n nextTick(() => {\n index.value = undefined\n })\n return\n }\n if (!areEqual(newValue, modelValue.value)) {\n modelValue.value = newValue\n }\n }\n }\n})\n\nwatch(\n modelValue,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return\n if (modelValue.value === undefined) {\n index.value = undefined\n return\n }\n\n if (!props.free) {\n const idx = accordionItems.value.findIndex(\n (item) =>\n item.id ===\n (!isReadOnlyArray(modelValue.value) ? modelValue.value : modelValue.value?.[0])\n )\n\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else if (props.free) {\n if (isReadOnlyArray(modelValue.value)) {\n const idxes = modelValue.value\n .map((value) => accordionItems.value.findIndex((item) => item.id === value))\n .filter((index) => index !== -1)\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes\n }\n } else {\n nextTick(() => {\n modelValue.value = undefined\n })\n }\n } else {\n const newValue = accordionItems.value.findIndex((item) => item.id === modelValue.value)\n if (!areEqual(newValue, index.value)) {\n index.value = newValue\n }\n }\n }\n },\n {deep: true}\n)\n\nwatch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && isReadOnlyArray(modelValue.value)) {\n // eslint-disable-next-line prefer-destructuring\n modelValue.value = modelValue.value[0]\n } else if (free && !isReadOnlyArray(modelValue.value)) {\n modelValue.value = [modelValue.value]\n }\n }\n }\n)\n\nprovide(accordionInjectionKey, {\n openItem: readonly(modelValue),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id: string) => {\n if (props.free && !isReadOnlyArray(modelValue.value)) {\n if (modelValue.value !== undefined) {\n modelValue.value = [modelValue.value, id]\n } else {\n modelValue.value = [id]\n }\n return\n }\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = id\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n if (!modelValue.value.includes(id)) {\n modelValue.value = [...modelValue.value, id]\n }\n } else {\n modelValue.value = id\n }\n },\n setCloseItem: (id: string) => {\n if (!props.free && isReadOnlyArray(modelValue.value)) {\n modelValue.value = undefined\n return\n }\n if (isReadOnlyArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id)\n modelValue.value = next.length ? next : undefined\n } else {\n if (modelValue.value === id) {\n modelValue.value = undefined\n }\n }\n },\n registerAccordionItem: (id: string, el: Readonly<ShallowRef<HTMLElement | null>>) => {\n accordionItems.value = [...accordionItems.value, {id, el}]\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems()\n }\n },\n unregisterAccordionItem: (id: string) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id)\n },\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","attrs","useAttrs","processedAttrs","computed","class","wrapperClass","collapseAttrs","parentData","inject","accordionInjectionKey","computedId","useId","id","modelValue","_useModel","value","setOpenItem","isReadOnlyArray","openItem","includes","initialAnimation","el","useTemplateRef","registerAccordionItem","onUnmounted","unregisterAccordionItem","onMounted","nextTick","openInParent","watch","setCloseItem","_openBlock","_createElementBlock","_mergeProps","ref","_unref","wrapperAttrs","_createVNode","BCollapse","$event","collapseClass","tag","show","horizontal","visible","isNav","lazy","unmountLazy","onShow","_cache","onShown","onHide","onHidden","onHidePrevented","onShowPrevented","onTogglePrevented","onToggle","header","_withCtx","toggleVisible","slotToggle","_createBlock","_resolveDynamicComponent","headerTag","headerClass","headerAttrs","_createElementVNode","buttonAttrs","collapsed","buttonClass","type","onClick","_renderSlot","_ctx","_createTextVNode","_toDisplayString","title","bodyAttrs","bodyClass","$slots","slots","_useSlots","index","itemElementsArray","updateItemElementsArray","itemElements","flattenFragments","default","Array","isArray","filter","item","BAccordionItem","sortAccordionItems","accordionItems","shallowRef","sort","a","b","sortSlotElementsByPosition","unref","next","map","findIndex","i","length","process","env","NODE_ENV","console","warn","idx","computedClasses","flush","areEqual","every","newValue","oldValue","free","idxes","deep","provide","readonly","toRef","_normalizeClass"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{_ as e}from"./BButton.vue_vue_type_script_setup_true_lang-DLYBMk2D.mjs";import{defineComponent as a,mergeModels as o,useSlots as l,useTemplateRef as t,useModel as s,computed as i,watchEffect as u,watch as r,createBlock as d,createCommentVNode as n,unref as v,openBlock as p,Transition as c,mergeProps as f,withCtx as m,withDirectives as y,createElementVNode as h,normalizeClass as g,createElementBlock as b,resolveDynamicComponent as _,renderSlot as B,normalizeProps as C,guardReactiveProps as w,toDisplayString as P,Fragment as k,withModifiers as H,createTextVNode as V,vShow as x}from"vue";import{u as L,_ as O}from"./BLink.vue_vue_type_script_setup_true_lang-EAdZn3EI.mjs";import{_ as j}from"./BCloseButton.vue_vue_type_script_setup_true_lang-CbMcO7Ux.mjs";import{_ as A}from"./BProgress.vue_vue_type_script_setup_true_lang-_8Nz4npO.mjs";import{u as R,a as S}from"./useCountdownHover-CaOGjEcK.mjs";import{u as $}from"./useDefaults-C9d4iJX7.mjs";import{u as T}from"./useId-Dth2TyyG.mjs";import{u as N}from"./useShowHide-B5WhoqUx.mjs";const z=["id","role","aria-live","aria-atomic"],F={key:1,class:"d-flex gap-2"},I=/* @__PURE__ */a({__name:"BAlert",props:/* @__PURE__ */o({alertClass:{default:void 0},body:{default:void 0},bodyClass:{default:void 0},closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},headerClass:{default:void 0},headerTag:{default:"div"},id:{default:void 0},interval:{default:"requestAnimationFrame"},isStatus:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},progressProps:{default:void 0},showOnPause:{type:Boolean,default:!0},title:{default:void 0},variant:{default:"info"},bgVariant:{default:null},textVariant:{default:null},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean,default:void 0},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},initialAnimation:{type:Boolean,default:!1},noAnimation:{type:Boolean},noFade:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},show:{type:Boolean,default:!1},transProps:{default:void 0},visible:{type:Boolean,default:!1}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:/* @__PURE__ */o(["close","close-countdown","hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented"],["update:modelValue"]),setup(a,{expose:o,emit:I}){const q=$(a,"BAlert"),D=I,E=l(),M=t("_element"),G=s(a,"modelValue"),{computedLink:J,computedLinkProps:K}=L(q),Q=T(()=>q.id,"alert"),{showRef:U,renderRef:W,hide:X,toggle:Y,show:Z,buildTriggerableEvent:ee,computedNoAnimation:ae,isVisible:oe,transitionProps:le,contentShowing:te}=N(G,q,D,M,Q),se=i(()=>"boolean"==typeof G.value?0:G.value),{isActive:ie,pause:ue,restart:re,resume:de,stop:ne,isPaused:ve,value:pe}=R(se,q.interval,{immediate:"number"==typeof G.value&&!!G.value});S(M,{noHoverPause:()=>q.noHoverPause||"number"!=typeof G.value,noResumeOnHoverLeave:()=>q.noResumeOnHoverLeave||"number"!=typeof G.value,modelValueIgnoresHover:()=>"boolean"==typeof G.value},{pause:ue,resume:de}),u(()=>{D("close-countdown",pe.value)});const ce=i(()=>J.value?O:"div"),fe=i(()=>U.value||ie.value||q.showOnPause&&ve.value),me=i(()=>[{[`alert-${q.variant}`]:null!==q.variant,"alert-dismissible":q.dismissible&&!(E.close||q.closeContent),show:oe.value,fade:!ae.value}]);r(G,e=>{if("number"==typeof e){const e=ee("show",{cancelable:!0,trigger:"model"});D("show",e),e.defaultPrevented?D("show-prevented",ee("show-prevented")):re()}}),r(ie,e=>{!1===e&&!1===ve.value&&(X(),G.value=0,ne())});const ye=i(()=>({toggle:Y,show:Z,hide:X,id:Q.value,visible:U.value,active:ie.value}));return o({show:Z,hide:X,toggle:Y,pause:ue,restart:re,resume:de,stop:ne}),(a,o)=>{const l=e;return v(W)||v(te)?(p(),d(c,f({key:0},v(le),{appear:!!G.value||v(q).visible}),{default:m(()=>[y(h("div",{id:v(q).id,ref:"_element",class:g(["alert",[v(q).alertClass,me.value]]),tabindex:"0",role:fe.value?v(q).isStatus?"status":"alert":void 0,"aria-live":fe.value?v(q).isStatus?"polite":"assertive":void 0,"aria-atomic":!!fe.value||void 0},[v(te)&&(E.title||v(q).title)?(p(),d(_(v(q).headerTag),{key:0,class:g(["alert-heading d-flex gap-2",v(q).headerClass])},{default:m(()=>[B(a.$slots,"title",C(w(ye.value)),()=>[h("span",null,P(v(q).title),1)]),v(q).dismissible?(p(),b(k,{key:0},[E.close||v(q).closeContent?(p(),d(l,{key:0,class:g([[v(q).closeClass],"ms-auto ps-1 btn-close-custom"]),variant:v(q).closeVariant,onClick:o[0]||(o[0]=H(e=>v(X)("close"),["stop","prevent"]))},{default:m(()=>[B(a.$slots,"close",C(w(ye.value)),()=>[V(P(v(q).closeContent),1)])]),_:3},8,["class","variant"])):(p(),d(j,{key:1,"aria-label":v(q).closeLabel,class:g([v(q).closeClass]),onClick:o[1]||(o[1]=H(e=>v(X)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64)):n("",!0)]),_:3},8,["class"])):n("",!0),v(te)&&(E.default||v(q).body)?(p(),b("div",F,[(p(),d(_(ce.value),f({class:["alert-body",v(q).bodyClass]},v(K),{onClick:o[2]||(o[2]=e=>v(J)&&v(q).dismissible?v(X)():()=>{})}),{default:m(()=>[B(a.$slots,"default",C(w(ye.value)),()=>[V(P(v(q).body),1)])]),_:3},16,["class"])),!v(q).dismissible||E.title||v(q).title?n("",!0):(p(),b(k,{key:0},[E.close||v(q).closeContent?(p(),d(l,{key:0,class:g([[v(q).closeClass],"ms-auto btn-close-custom"]),variant:v(q).closeVariant,onClick:o[3]||(o[3]=H(e=>v(X)("close"),["stop","prevent"]))},{default:m(()=>[B(a.$slots,"close",C(w(ye.value)),()=>[V(P(v(q).closeContent),1)])]),_:3},8,["class","variant"])):(p(),d(j,{key:1,"aria-label":v(q).closeLabel,class:g([v(q).closeClass]),onClick:o[4]||(o[4]=H(e=>v(X)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64))])):n("",!0),"number"==typeof G.value&&void 0!==v(q).progressProps?(p(),d(A,{key:2,animated:v(q).progressProps.animated,precision:v(q).progressProps.precision,"show-progress":v(q).progressProps.showProgress,"show-value":v(q).progressProps.showValue,striped:v(q).progressProps.striped,variant:v(q).progressProps.variant,max:G.value,value:v(pe),height:"4px"},null,8,["animated","precision","show-progress","show-value","striped","variant","max","value"])):n("",!0)],10,z),[[x,fe.value]])]),_:3},16,["appear"])):n("",!0)}}});export{I as _};
2
+ //# sourceMappingURL=BAlert.vue_vue_type_script_setup_true_lang-CFAcjV0o.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert.vue_vue_type_script_setup_true_lang-CxEmR6p6.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\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 variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"names":["props","useDefaults","__props","emit","__emit","slots","_useSlots","element","useTemplateRef","modelValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","computedId","useId","id","showRef","renderRef","hide","toggle","show","buildTriggerableEvent","computedNoAnimation","isVisible","transitionProps","contentShowing","useShowHide","countdownLength","computed","value","isActive","pause","restart","resume","stop","isPaused","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","watchEffect","computedTag","BLink","isAlertVisible","showOnPause","computedClasses","variant","dismissible","close","closeContent","fade","watch","newValue","event","cancelable","trigger","defaultPrevented","sharedSlots","visible","active","__expose","_unref","_createBlock","_Transition","_mergeProps","key","appear","_createElementVNode","ref","class","alertClass","tabindex","role","isStatus","title","_resolveDynamicComponent","headerTag","_normalizeClass","headerClass","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","_toDisplayString","_createElementBlock","_Fragment","_component_BButton","closeClass","closeVariant","onClick","_createTextVNode","BCloseButton","closeLabel","default","body","_openBlock","_hoisted_2","bodyClass","progressProps","BProgress","animated","precision","showProgress","showValue","striped","max","height"],"mappings":"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"}
1
+ {"version":3,"file":"BAlert.vue_vue_type_script_setup_true_lang-CFAcjV0o.mjs","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\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 variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"names":["props","useDefaults","__props","emit","__emit","slots","_useSlots","element","useTemplateRef","modelValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","computedId","useId","id","showRef","renderRef","hide","toggle","show","buildTriggerableEvent","computedNoAnimation","isVisible","transitionProps","contentShowing","useShowHide","countdownLength","computed","value","isActive","pause","restart","resume","stop","isPaused","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","watchEffect","computedTag","BLink","isAlertVisible","showOnPause","computedClasses","variant","dismissible","close","closeContent","fade","watch","newValue","event","cancelable","trigger","defaultPrevented","sharedSlots","visible","active","__expose","_unref","_createBlock","_Transition","_mergeProps","key","appear","_createElementVNode","ref","class","alertClass","tabindex","role","isStatus","title","_resolveDynamicComponent","headerTag","_normalizeClass","headerClass","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","_toDisplayString","_createElementBlock","_Fragment","_component_BButton","closeClass","closeVariant","onClick","_createTextVNode","BCloseButton","closeLabel","default","body","_openBlock","_hoisted_2","bodyClass","progressProps","BProgress","animated","precision","showProgress","showValue","striped","max","height"],"mappings":"sgGAkHA,MAsDMA,EAAQC,EAtDCC,EAsDmB,UAC5BC,EAAOC,EACPC,EAAQC,IAERC,EAAUC,EAAe,YAEzBC,EAAaC,EAA0DR,EAAA,eACvES,aAACA,EAAAC,kBAAcA,GAAqBC,EAAeb,GAEnDc,EAAaC,EAAM,IAAMf,EAAMgB,GAAI,UAEnCC,QACJA,EAAAC,UACAA,EAAAC,KACAA,EAAAC,OACAA,EAAAC,KACAA,EAAAC,sBACAA,GAAAC,oBACAA,GAAAC,UACAA,GAAAC,gBACAA,GAAAC,eACAA,IACEC,EAAYlB,EAAYT,EAAOG,EAAgBI,EAASO,GAGtDc,GAAkBC,EAAS,IACH,kBAArBpB,EAAWqB,MAAsB,EAAIrB,EAAWqB,QAGnDC,SACJA,GAAAC,MACAA,GAAAC,QACAA,GAAAC,OACAA,GAAAC,KACAA,GAAAC,SACAA,GACAN,MAAOO,IACLC,EAAaV,GAAiB5B,EAAMuC,SAAU,CAChDC,UAAuC,iBAArB/B,EAAWqB,SAAwBrB,EAAWqB,QAElEW,EACElC,EACA,CACEmC,aAAc,IAAM1C,EAAM0C,cAA4C,iBAArBjC,EAAWqB,MAC5Da,qBAAsB,IAAM3C,EAAM2C,sBAAoD,iBAArBlC,EAAWqB,MAC5Ec,uBAAwB,IAAkC,kBAArBnC,EAAWqB,OAElD,CAACE,SAAOE,YAGVW,EAAY,KACV1C,EAAK,kBAAmBkC,GAAYP,SAGtC,MAAMgB,GAAcjB,EAAS,IAAOlB,EAAamB,MAAQiB,EAAQ,OAE3DC,GAAiBnB,EACrB,IAAMZ,EAAQa,OAASC,GAASD,OAAU9B,EAAMiD,aAAeb,GAASN,OAIpEoB,GAAkBrB,EAAS,IAAM,CAErC,CACE,CAAC,SAAS7B,EAAMmD,WAA8B,OAAlBnD,EAAMmD,QAClC,oBAAqBnD,EAAMoD,eAAiB/C,EAAMgD,OAASrD,EAAMsD,cACjEjC,KAAQG,GAAUM,MAClByB,MAAShC,GAAoBO,SAIjC0B,EAAM/C,EAAagD,IACjB,GAAwB,iBAAbA,EAAuB,CAChC,MAAMC,EAAQpC,GAAsB,OAAQ,CAACqC,YAAY,EAAMC,QAAS,UACxEzD,EAAK,OAAQuD,GACTA,EAAMG,iBACR1D,EAAK,iBAAkBmB,GAAsB,mBAE7CW,IAEJ,IAIFuB,EAAMzB,GAAW0B,KACE,IAAbA,IAAyC,IAAnBrB,GAASN,QACjCX,IACAV,EAAWqB,MAAQ,EACnBK,QAGJ,MAAM2B,GAAcjC,EAA4B,KAAA,CAC9CT,SACAC,OACAF,OACAH,GAAIF,EAAWgB,MACfiC,QAAS9C,EAAQa,MACjBkC,OAAQjC,GAASD,gBAGnBmC,EAAa,CACX5C,OACAF,OACAC,SACAY,SACAC,WACAC,UACAC,4BAjRQ,OAAA+B,EAAAhD,IAAagD,EAAAxC,SADrByC,EA+FaC,EA/FbC,EA+Fa,CAAAC,IAAA,GA7FHJ,EAAAzC,IAAe,CACtB8C,SAAU9D,EAAAqB,OAAcoC,EAAAlE,GAAM+D,qBAE/B,IAyFM,GAzFNS,EAyFM,MAAA,CAvFHxD,GAAIkD,EAAAlE,GAAMgB,GACXyD,IAAI,WACJC,SAAM,QAAO,CACJR,KAAMS,WAAYzB,GAAApB,SAC3B8C,SAAS,IACRC,KAAO7B,GAAAlB,MAA6BoC,EAAAlE,GAAM8E,SAAQ,SAAA,eAClD,YAAY9B,GAAAlB,MAA6BoC,EAAAlE,GAAM8E,SAAQ,SAAA,mBACvD,gBAAc9B,GAAAlB,YAAiB,IAIxBoC,EAAAxC,MAAmBrB,EAAM0E,OAASb,EAAAlE,GAAM+E,YAFhDZ,EA8BYa,EA7BLd,EAAAlE,GAAMiF,WAAS,OAEpBP,MAAKQ,EAAA,CAAC,6BACEhB,EAAAlE,GAAMmF,0BAEd,IAIO,CAJPC,EAIOC,EAAAC,OAAA,QAAAC,EAAAC,EAJoB1B,GAAAhC,QAA3B,IAIO,CAHL0C,EAEO,OAAA,KAAAiB,EADFvB,EAAAlE,GAAM+E,OAAK,KAGFb,EAAAlE,GAAMoD,iBAAtBsC,EAkBWC,EAAA,CAAArB,IAAA,GAAA,CAhBDjE,EAAMgD,OAASa,EAAAlE,GAAMsD,kBAD7Ba,EAUUyB,EAAA,OARPlB,MAAKQ,EAAA,CAAA,CAAGhB,EAAAlE,GAAM6F,YACT,kCACL1C,QAASe,EAAAlE,GAAM8F,aACfC,yBAAoB7B,EAAA/C,EAAA+C,CAAI,SAAA,CAAA,OAAA,yBAEzB,IAEO,CAFPkB,EAEOC,EAAAC,OAAA,QAAAC,EAAAC,EAFoB1B,GAAAhC,QAA3B,IAEO,CADFkE,EAAAP,EAAAvB,EAAAlE,GAAMsD,cAAY,yCAGzBa,EAKE8B,EAAA,OAHC,aAAY/B,EAAAlE,GAAMkG,WAClBxB,MAAKQ,EAAA,CAAGhB,EAAAlE,GAAM6F,aACdE,yBAAoB7B,EAAA/C,EAAA+C,CAAI,SAAA,CAAA,OAAA,2FAIfA,EAAAxC,MAAmBrB,EAAM8F,SAAWjC,EAAAlE,GAAMoG,OACxDC,IAAAX,EAgCM,MAhCNY,EAgCM,MA/BJnC,EAUYa,EATLlC,GAAAhB,OADPuC,EAUY,CARVK,MAAK,CAAC,aACER,EAAAlE,GAAMuG,YACNrC,EAAAtD,GAAiB,CACxBmF,uBAAO7B,EAAAvD,IAAgBuD,KAAMd,YAAcc,EAAA/C,EAAA+C,GAAI,qBAEhD,IAEO,CAFPkB,EAEOC,EAAAC,OAAA,UAAAC,EAAAC,EAFO1B,GAAAhC,QAAd,IAEO,CADFkE,EAAAP,EAAAvB,EAAAlE,GAAMoG,MAAI,4BAIDlC,EAAAlE,GAAMoD,aAAiB/C,EAAM0E,OAASb,EAAAlE,GAAM+E,oBAA5DW,EAkBWC,EAAA,CAAArB,IAAA,GAAA,CAhBDjE,EAAMgD,OAASa,EAAAlE,GAAMsD,kBAD7Ba,EAUUyB,EAAA,OARPlB,MAAKQ,EAAA,CAAA,CAAGhB,EAAAlE,GAAM6F,YACT,6BACL1C,QAASe,EAAAlE,GAAM8F,aACfC,yBAAoB7B,EAAA/C,EAAA+C,CAAI,SAAA,CAAA,OAAA,yBAEzB,IAEO,CAFPkB,EAEOC,EAAAC,OAAA,QAAAC,EAAAC,EAFoB1B,GAAAhC,QAA3B,IAEO,CADFkE,EAAAP,EAAAvB,EAAAlE,GAAMsD,cAAY,yCAGzBa,EAKE8B,EAAA,OAHC,aAAY/B,EAAAlE,GAAMkG,WAClBxB,MAAKQ,EAAA,CAAGhB,EAAAlE,GAAM6F,aACdE,yBAAoB7B,EAAA/C,EAAA+C,CAAI,SAAA,CAAA,OAAA,gEAMR,iBAAVzD,EAAAqB,YAAmD,IAAxBoC,EAAAlE,GAAMwG,mBADhDrC,EAWEsC,EAAA,OATCC,SAAUxC,EAAAlE,GAAMwG,cAAcE,SAC9BC,UAAWzC,EAAAlE,GAAMwG,cAAcG,UAC/B,gBAAezC,EAAAlE,GAAMwG,cAAcI,aACnC,aAAY1C,EAAAlE,GAAMwG,cAAcK,UAChCC,QAAS5C,EAAAlE,GAAMwG,cAAcM,QAC7B3D,QAASe,EAAAlE,GAAMwG,cAAcrD,QAC7B4D,IAAKtG,EAAAqB,MACLA,MAAOoC,EAAA7B,IACR2E,OAAO,4HAtFDhE,GAAAlB"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e=require("./BButton.vue_vue_type_script_setup_true_lang-D5N_nQgF.js"),o=require("vue"),t=require("./BLink.vue_vue_type_script_setup_true_lang-DpHWGihr.js"),a=require("./BCloseButton.vue_vue_type_script_setup_true_lang-Bi3v74Q5.js"),l=require("./BProgress.vue_vue_type_script_setup_true_lang-CiCgR6XJ.js"),s=require("./useCountdownHover-COQ8MpP1.js"),r=require("./useDefaults-DspAih6L.js"),n=require("./useId-owZCNodL.js"),u=require("./useShowHide-B6z-iwdX.js"),i=["id","role","aria-live","aria-atomic"],d={key:1,class:"d-flex gap-2"},c=o.defineComponent({__name:"BAlert",props:o.mergeModels({alertClass:{default:void 0},body:{default:void 0},bodyClass:{default:void 0},closeClass:{default:void 0},closeContent:{default:void 0},closeLabel:{default:"Close"},closeVariant:{default:"secondary"},dismissible:{type:Boolean,default:!1},headerClass:{default:void 0},headerTag:{default:"div"},id:{default:void 0},interval:{default:"requestAnimationFrame"},isStatus:{type:Boolean,default:!1},noHoverPause:{type:Boolean,default:!1},noResumeOnHoverLeave:{type:Boolean,default:!1},progressProps:{default:void 0},showOnPause:{type:Boolean,default:!0},title:{default:void 0},variant:{default:"info"},bgVariant:{default:null},textVariant:{default:null},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},icon:{type:Boolean,default:void 0},noRel:{type:Boolean,default:void 0},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{default:void 0},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},initialAnimation:{type:Boolean,default:!1},noAnimation:{type:Boolean},noFade:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},unmountLazy:{type:Boolean,default:!1},show:{type:Boolean,default:!1},transProps:{default:void 0},visible:{type:Boolean,default:!1}},{modelValue:{type:[Boolean,Number],default:!1},modelModifiers:{}}),emits:o.mergeModels(["close","close-countdown","hide","hide-prevented","hidden","show","show-prevented","shown","toggle","toggle-prevented"],["update:modelValue"]),setup(c,{expose:p,emit:f}){const v=c,m=r.useDefaults(v,"BAlert"),y=f,h=o.useSlots(),g=o.useTemplateRef("_element"),B=o.useModel(c,"modelValue"),{computedLink:C,computedLinkProps:_}=t.useBLinkHelper(m),w=n.useId(()=>m.id,"alert"),{showRef:k,renderRef:b,hide:P,toggle:V,show:x,buildTriggerableEvent:H,computedNoAnimation:S,isVisible:N,transitionProps:z,contentShowing:L}=u.useShowHide(B,m,y,g,w),R=o.computed(()=>"boolean"==typeof B.value?0:B.value),{isActive:q,pause:O,restart:D,resume:T,stop:j,isPaused:A,value:M}=s.useCountdown(R,m.interval,{immediate:"number"==typeof B.value&&!!B.value});s.useCountdownHover(g,{noHoverPause:()=>m.noHoverPause||"number"!=typeof B.value,noResumeOnHoverLeave:()=>m.noResumeOnHoverLeave||"number"!=typeof B.value,modelValueIgnoresHover:()=>"boolean"==typeof B.value},{pause:O,resume:T}),o.watchEffect(()=>{y("close-countdown",M.value)});const E=o.computed(()=>C.value?t._sfc_main:"div"),$=o.computed(()=>k.value||q.value||m.showOnPause&&A.value),F=o.computed(()=>[{[`alert-${m.variant}`]:null!==m.variant,"alert-dismissible":m.dismissible&&!(h.close||m.closeContent),show:N.value,fade:!S.value}]);o.watch(B,e=>{if("number"==typeof e){const e=H("show",{cancelable:!0,trigger:"model"});y("show",e),e.defaultPrevented?y("show-prevented",H("show-prevented")):D()}}),o.watch(q,e=>{!1===e&&!1===A.value&&(P(),B.value=0,j())});const I=o.computed(()=>({toggle:V,show:x,hide:P,id:w.value,visible:k.value,active:q.value}));return p({show:x,hide:P,toggle:V,pause:O,restart:D,resume:T,stop:j}),(t,s)=>{const r=e._sfc_main;return o.unref(b)||o.unref(L)?(o.openBlock(),o.createBlock(o.Transition,o.mergeProps({key:0},o.unref(z),{appear:!!B.value||o.unref(m).visible}),{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{id:o.unref(m).id,ref:"_element",class:o.normalizeClass(["alert",[o.unref(m).alertClass,F.value]]),tabindex:"0",role:$.value?o.unref(m).isStatus?"status":"alert":void 0,"aria-live":$.value?o.unref(m).isStatus?"polite":"assertive":void 0,"aria-atomic":!!$.value||void 0},[o.unref(L)&&(h.title||o.unref(m).title)?(o.openBlock(),o.createBlock(o.resolveDynamicComponent(o.unref(m).headerTag),{key:0,class:o.normalizeClass(["alert-heading d-flex gap-2",o.unref(m).headerClass])},{default:o.withCtx(()=>[o.renderSlot(t.$slots,"title",o.normalizeProps(o.guardReactiveProps(I.value)),()=>[o.createElementVNode("span",null,o.toDisplayString(o.unref(m).title),1)]),o.unref(m).dismissible?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[h.close||o.unref(m).closeContent?(o.openBlock(),o.createBlock(r,{key:0,class:o.normalizeClass([[o.unref(m).closeClass],"ms-auto ps-1 btn-close-custom"]),variant:o.unref(m).closeVariant,onClick:s[0]||(s[0]=o.withModifiers(e=>o.unref(P)("close"),["stop","prevent"]))},{default:o.withCtx(()=>[o.renderSlot(t.$slots,"close",o.normalizeProps(o.guardReactiveProps(I.value)),()=>[o.createTextVNode(o.toDisplayString(o.unref(m).closeContent),1)])]),_:3},8,["class","variant"])):(o.openBlock(),o.createBlock(a._sfc_main,{key:1,"aria-label":o.unref(m).closeLabel,class:o.normalizeClass([o.unref(m).closeClass]),onClick:s[1]||(s[1]=o.withModifiers(e=>o.unref(P)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64)):o.createCommentVNode("",!0)]),_:3},8,["class"])):o.createCommentVNode("",!0),o.unref(L)&&(h.default||o.unref(m).body)?(o.openBlock(),o.createElementBlock("div",d,[(o.openBlock(),o.createBlock(o.resolveDynamicComponent(E.value),o.mergeProps({class:["alert-body",o.unref(m).bodyClass]},o.unref(_),{onClick:s[2]||(s[2]=e=>o.unref(C)&&o.unref(m).dismissible?o.unref(P)():()=>{})}),{default:o.withCtx(()=>[o.renderSlot(t.$slots,"default",o.normalizeProps(o.guardReactiveProps(I.value)),()=>[o.createTextVNode(o.toDisplayString(o.unref(m).body),1)])]),_:3},16,["class"])),!o.unref(m).dismissible||h.title||o.unref(m).title?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[h.close||o.unref(m).closeContent?(o.openBlock(),o.createBlock(r,{key:0,class:o.normalizeClass([[o.unref(m).closeClass],"ms-auto btn-close-custom"]),variant:o.unref(m).closeVariant,onClick:s[3]||(s[3]=o.withModifiers(e=>o.unref(P)("close"),["stop","prevent"]))},{default:o.withCtx(()=>[o.renderSlot(t.$slots,"close",o.normalizeProps(o.guardReactiveProps(I.value)),()=>[o.createTextVNode(o.toDisplayString(o.unref(m).closeContent),1)])]),_:3},8,["class","variant"])):(o.openBlock(),o.createBlock(a._sfc_main,{key:1,"aria-label":o.unref(m).closeLabel,class:o.normalizeClass([o.unref(m).closeClass]),onClick:s[4]||(s[4]=o.withModifiers(e=>o.unref(P)("close"),["stop","prevent"]))},null,8,["aria-label","class"]))],64))])):o.createCommentVNode("",!0),"number"==typeof B.value&&void 0!==o.unref(m).progressProps?(o.openBlock(),o.createBlock(l._sfc_main,{key:2,animated:o.unref(m).progressProps.animated,precision:o.unref(m).progressProps.precision,"show-progress":o.unref(m).progressProps.showProgress,"show-value":o.unref(m).progressProps.showValue,striped:o.unref(m).progressProps.striped,variant:o.unref(m).progressProps.variant,max:B.value,value:o.unref(M),height:"4px"},null,8,["animated","precision","show-progress","show-value","striped","variant","max","value"])):o.createCommentVNode("",!0)],10,i),[[o.vShow,$.value]])]),_:3},16,["appear"])):o.createCommentVNode("",!0)}}});exports._sfc_main=c;
2
+ //# sourceMappingURL=BAlert.vue_vue_type_script_setup_true_lang-TKUFXhWB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BAlert.vue_vue_type_script_setup_true_lang-DFWBBn_o.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\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 variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","element","useTemplateRef","modelValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","computedId","useId","id","showRef","renderRef","hide","toggle","show","buildTriggerableEvent","computedNoAnimation","isVisible","transitionProps","contentShowing","useShowHide","countdownLength","computed","value","isActive","pause","restart","resume","stop","isPaused","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","watchEffect","computedTag","BLink","isAlertVisible","showOnPause","computedClasses","variant","dismissible","close","closeContent","fade","watch","newValue","event","cancelable","trigger","defaultPrevented","sharedSlots","visible","active","__expose","_unref","_createBlock","_Transition","_mergeProps","key","appear","_createElementVNode","ref","class","alertClass","tabindex","role","isStatus","title","_resolveDynamicComponent","headerTag","_normalizeClass","headerClass","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","_toDisplayString","_createElementBlock","_Fragment","_component_BButton","closeClass","closeVariant","onClick","_createTextVNode","BCloseButton","closeLabel","default","body","_openBlock","_hoisted_2","bodyClass","progressProps","BProgress","animated","precision","showProgress","showValue","striped","max","height"],"mappings":"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"}
1
+ {"version":3,"file":"BAlert.vue_vue_type_script_setup_true_lang-TKUFXhWB.js","sources":["../src/components/BAlert/BAlert.vue"],"sourcesContent":["<template>\n <Transition\n v-if=\"renderRef || contentShowing\"\n v-bind=\"transitionProps\"\n :appear=\"!!modelValue || props.visible\"\n >\n <div\n v-show=\"isAlertVisible\"\n :id=\"props.id\"\n ref=\"_element\"\n class=\"alert\"\n :class=\"[props.alertClass, computedClasses]\"\n tabindex=\"0\"\n :role=\"!isAlertVisible ? undefined : props.isStatus ? 'status' : 'alert'\"\n :aria-live=\"!isAlertVisible ? undefined : props.isStatus ? 'polite' : 'assertive'\"\n :aria-atomic=\"!isAlertVisible ? undefined : true\"\n >\n <component\n :is=\"props.headerTag\"\n v-if=\"contentShowing && (slots.title || props.title)\"\n class=\"alert-heading d-flex gap-2\"\n :class=\"props.headerClass\"\n >\n <slot name=\"title\" v-bind=\"sharedSlots\">\n <span>\n {{ props.title }}\n </span>\n </slot>\n <template v-if=\"props.dismissible\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto ps-1 btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </component>\n <template v-if=\"contentShowing && (slots.default || props.body)\">\n <div class=\"d-flex gap-2\">\n <component\n :is=\"computedTag\"\n class=\"alert-body\"\n :class=\"props.bodyClass\"\n v-bind=\"computedLinkProps\"\n @click=\"computedLink && props.dismissible ? hide() : () => {}\"\n >\n <slot v-bind=\"sharedSlots\">\n {{ props.body }}\n </slot>\n </component>\n\n <template v-if=\"props.dismissible && !(slots.title || props.title)\">\n <BButton\n v-if=\"slots.close || props.closeContent\"\n :class=\"[props.closeClass]\"\n class=\"ms-auto btn-close-custom\"\n :variant=\"props.closeVariant\"\n @click.stop.prevent=\"hide('close')\"\n >\n <slot name=\"close\" v-bind=\"sharedSlots\">\n {{ props.closeContent }}\n </slot>\n </BButton>\n <BCloseButton\n v-else\n :aria-label=\"props.closeLabel\"\n :class=\"[props.closeClass]\"\n @click.stop.prevent=\"hide('close')\"\n />\n </template>\n </div>\n </template>\n <BProgress\n v-if=\"typeof modelValue === 'number' && props.progressProps !== undefined\"\n :animated=\"props.progressProps.animated\"\n :precision=\"props.progressProps.precision\"\n :show-progress=\"props.progressProps.showProgress\"\n :show-value=\"props.progressProps.showValue\"\n :striped=\"props.progressProps.striped\"\n :variant=\"props.progressProps.variant\"\n :max=\"modelValue\"\n :value=\"remainingMs\"\n height=\"4px\"\n />\n </div>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, type EmitFn, useTemplateRef, watch, watchEffect} from 'vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport type {BAlertProps} from '../../types/ComponentProps'\nimport type {BAlertEmits} from '../../types/ComponentEmits'\nimport type {BAlertSlots, ShowHideSlotsData} from '../../types/ComponentSlots'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport BLink from '../BLink/BLink.vue'\nimport BProgress from '../BProgress/BProgress.vue'\nimport {useCountdown} from '../../composables/useCountdown'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useCountdownHover} from '../../composables/useCountdownHover'\nimport {useId} from '../../composables/useId'\nimport {useShowHide} from '../../composables/useShowHide'\n\nconst _props = withDefaults(defineProps<Omit<BAlertProps, 'modelValue'>>(), {\n bgVariant: null,\n body: undefined,\n bodyClass: undefined,\n closeClass: undefined,\n closeContent: undefined,\n closeLabel: 'Close',\n closeVariant: 'secondary',\n dismissible: false,\n headerClass: undefined,\n headerTag: 'div',\n id: undefined,\n initialAnimation: false,\n interval: 'requestAnimationFrame',\n isStatus: false,\n lazy: false,\n noFade: false,\n noHoverPause: false,\n noResumeOnHoverLeave: false,\n progressProps: undefined,\n unmountLazy: false,\n showOnPause: true,\n show: false,\n solid: false,\n textVariant: null,\n title: undefined,\n alertClass: undefined,\n transProps: undefined,\n visible: false,\n // Link props\n // All others use defaults\n noRel: undefined,\n active: undefined,\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\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 variant: 'info',\n})\nconst props = useDefaults(_props, 'BAlert')\nconst emit = defineEmits<BAlertEmits>()\nconst slots = defineSlots<BAlertSlots>()\n\nconst element = useTemplateRef('_element')\n\nconst modelValue = defineModel<Exclude<BAlertProps['modelValue'], undefined>>({default: false})\nconst {computedLink, computedLinkProps} = useBLinkHelper(props)\n\nconst computedId = useId(() => props.id, 'alert')\n\nconst {\n showRef,\n renderRef,\n hide,\n toggle,\n show,\n buildTriggerableEvent,\n computedNoAnimation,\n isVisible,\n transitionProps,\n contentShowing,\n} = useShowHide(modelValue, props, emit as EmitFn, element, computedId)\n\n// TODO solid is never used\nconst countdownLength = computed(() =>\n typeof modelValue.value === 'boolean' ? 0 : modelValue.value\n)\n\nconst {\n isActive,\n pause,\n restart,\n resume,\n stop,\n isPaused,\n value: remainingMs,\n} = useCountdown(countdownLength, props.interval, {\n immediate: typeof modelValue.value === 'number' && !!modelValue.value,\n})\nuseCountdownHover(\n element,\n {\n noHoverPause: () => props.noHoverPause || typeof modelValue.value !== 'number',\n noResumeOnHoverLeave: () => props.noResumeOnHoverLeave || typeof modelValue.value !== 'number',\n modelValueIgnoresHover: () => typeof modelValue.value === 'boolean',\n },\n {pause, resume}\n)\n\nwatchEffect(() => {\n emit('close-countdown', remainingMs.value)\n})\n\nconst computedTag = computed(() => (computedLink.value ? BLink : 'div'))\n\nconst isAlertVisible = computed(\n () => showRef.value || isActive.value || (props.showOnPause && isPaused.value)\n)\n\n// const colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n // colorClasses.value,\n {\n [`alert-${props.variant}`]: props.variant !== null,\n 'alert-dismissible': props.dismissible && !(slots.close || props.closeContent),\n 'show': isVisible.value,\n 'fade': !computedNoAnimation.value,\n },\n])\n\nwatch(modelValue, (newValue) => {\n if (typeof newValue === 'number') {\n const event = buildTriggerableEvent('show', {cancelable: true, trigger: 'model'})\n emit('show', event)\n if (event.defaultPrevented) {\n emit('show-prevented', buildTriggerableEvent('show-prevented'))\n } else {\n restart()\n }\n }\n})\n\n// isActive in the composable will cause the alert to hide when the countdown is done\nwatch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide()\n modelValue.value = 0\n stop()\n }\n})\nconst sharedSlots = computed<ShowHideSlotsData>(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value,\n}))\n\ndefineExpose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop,\n})\n</script>\n"],"names":["_props","__props","props","useDefaults","emit","__emit","slots","_useSlots","element","useTemplateRef","modelValue","_useModel","computedLink","computedLinkProps","useBLinkHelper","computedId","useId","id","showRef","renderRef","hide","toggle","show","buildTriggerableEvent","computedNoAnimation","isVisible","transitionProps","contentShowing","useShowHide","countdownLength","computed","value","isActive","pause","restart","resume","stop","isPaused","remainingMs","useCountdown","interval","immediate","useCountdownHover","noHoverPause","noResumeOnHoverLeave","modelValueIgnoresHover","watchEffect","computedTag","BLink","isAlertVisible","showOnPause","computedClasses","variant","dismissible","close","closeContent","fade","watch","newValue","event","cancelable","trigger","defaultPrevented","sharedSlots","visible","active","__expose","_unref","_createBlock","_Transition","_mergeProps","key","appear","_createElementVNode","ref","class","alertClass","tabindex","role","isStatus","title","_resolveDynamicComponent","headerTag","_normalizeClass","headerClass","_renderSlot","_ctx","$slots","_normalizeProps","_guardReactiveProps","_toDisplayString","_createElementBlock","_Fragment","_component_BButton","closeClass","closeVariant","onClick","_createTextVNode","BCloseButton","closeLabel","default","body","_openBlock","_hoisted_2","bodyClass","progressProps","BProgress","animated","precision","showProgress","showValue","striped","max","height"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,useSlots as a,ref as t,watch as l,inject as u,computed as d,createBlock as o,openBlock as r,resolveDynamicComponent as n,mergeProps as i,unref as v,withCtx as s,createElementBlock as p,createCommentVNode as f,renderSlot as m,createElementVNode as c,normalizeStyle as b,toDisplayString as g,createTextVNode as y,provide as B,toRef as S}from"vue";import{h as V}from"./keys-DiEDpjjR.mjs";import{u as _,_ as h}from"./BLink.vue_vue_type_script_setup_true_lang-Oz42cvll.mjs";import{_ as x}from"./BBadge.vue_vue_type_script_setup_true_lang-D5__lL9d.mjs";import{i as k}from"./dom-BbjUGBm6.mjs";import{u as N}from"./useNumberishToStyle-BVWI7suq.mjs";import{u as T}from"./useRadiusElementClasses-Dc-J-8WL.mjs";import{u as j}from"./useColorVariantClasses-CD1fQifg.mjs";import{u as z}from"./useDefaults-C9d4iJX7.mjs";import{u as $}from"./index-D4cKGJ0C.mjs";const C={key:0,class:"b-avatar-custom"},E={key:1,class:"b-avatar-img"},w=["src","alt"],O={key:3,class:"b-avatar-img"},q=/* @__PURE__ */e({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(e,{emit:B}){const S=z(e,"BAvatar"),$=B,q=a(),P=t(S.src);l(()=>S.src,e=>{P.value=e});const{computedLink:A,computedLinkProps:L}=_(S),H=u(V,null),R=Object.freeze([null,...Object.keys({lg:null,md:null,sm:null})]),D=d(()=>!k(q.default)),M=d(()=>!k(q.badge)),G=d(()=>!!S.badge||""===S.badge||M.value),I=d(()=>H?.square.value||S.square),F=N(()=>H?.size.value??S.size),J=d(()=>!!F.value&&R.includes(F.value)),K=d(()=>H?.variant.value??S.variant),Q=d(()=>H?.rounded.value??S.rounded),U=d(()=>H?.roundedTop.value??S.roundedTop),W=d(()=>H?.roundedBottom.value??S.roundedBottom),X=d(()=>H?.roundedStart.value??S.roundedStart),Y=d(()=>H?.roundedEnd.value??S.roundedEnd),Z=T(()=>({rounded:Q.value,roundedTop:U.value,roundedBottom:W.value,roundedStart:X.value,roundedEnd:Y.value})),ee=d(()=>!0===S.badge?"":S.badge),ae=d(()=>!ee.value&&!M.value),te=j(()=>({bgVariant:H?.bgVariant.value??S.bgVariant,textVariant:H?.textVariant.value??S.textVariant,variant:K.value})),le=d(()=>[te.value,!0===I.value?void 0:Z.value,{[`b-avatar-${F.value}`]:J.value&&"md"!==F.value,[`btn-${K.value}`]:!!S.button&&null!==K.value,badge:!S.button&&null!==K.value&&D.value,btn:S.button,"rounded-0":!0===I.value}]),ue=d(()=>({fontSize:(J.value?"":`calc(${F.value} * 0.27999999999999997)`)||""})),de=d(()=>{const e=J.value?null:`calc(${F.value} * 0.4)`;return e?{fontSize:e}:{}}),oe=d(()=>{const e=H?.overlapScale?.value||0,a=F.value&&e?`calc(${F.value} * -${e})`:null;return a?{marginLeft:a,marginRight:a}:{}}),re=d(()=>A.value?h:S.button?"button":"span"),ne=d(()=>({...oe.value,...J.value?void 0:{width:F.value,height:F.value}})),ie=e=>{S.disabled||!A.value&&!S.button||$("click",e)},ve=e=>{P.value=void 0,$("img-error",e)};return(e,a)=>(r(),o(n(re.value),i({class:["b-avatar",le.value],style:ne.value},v(L),{type:v(S).button&&!v(A)?v(S).buttonType:void 0,disabled:v(S).disabled||null,variant:null,onClick:ie}),{default:s(()=>[D.value?(r(),p("span",C,[m(e.$slots,"default")])):P.value?(r(),p("span",E,[c("img",{src:P.value,alt:v(S).alt,onError:ve},null,40,w)])):v(S).text?(r(),p("span",{key:2,class:"b-avatar-text",style:b(de.value)},g(v(S).text),5)):(r(),p("span",O,[...a[0]||(a[0]=[c("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[c("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)])])),G.value?(r(),o(x,{key:4,pill:v(S).badgePill,"dot-indicator":v(S).badgeDotIndicator||ae.value,variant:v(S).badgeVariant,"bg-variant":v(S).badgeBgVariant,"text-variant":v(S).badgeTextVariant,style:b(ue.value),placement:v(S).badgePlacement},{default:s(()=>[m(e.$slots,"badge",{},()=>[y(g(ee.value),1)])]),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):f("",!0)]),_:3},16,["class","style","type","disabled"]))}}),P=/* @__PURE__ */e({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(e){const a=z(e,"BAvatarGroup"),t=$(()=>a.overlap),l=N(()=>a.size),u=d(()=>Math.min(Math.max(t.value,0),1)/2),i=d(()=>{const e=l.value?`calc(${l.value} * ${u.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}});return B(V,{overlapScale:u,size:S(()=>a.size),square:S(()=>a.square),rounded:S(()=>a.rounded),roundedTop:S(()=>a.roundedTop),roundedBottom:S(()=>a.roundedBottom),roundedStart:S(()=>a.roundedStart),roundedEnd:S(()=>a.roundedEnd),variant:S(()=>a.variant),bgVariant:S(()=>a.bgVariant),textVariant:S(()=>a.textVariant)}),(e,t)=>(r(),o(n(v(a).tag),{class:"b-avatar-group",role:"group"},{default:s(()=>[c("div",{class:"b-avatar-group-inner",style:b(i.value)},[m(e.$slots,"default")],4)]),_:3}))}});export{q as _,P as a};
2
- //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang--XkbXQwl.mjs.map
1
+ import{defineComponent as e,useSlots as a,ref as t,watch as l,inject as u,computed as d,createBlock as o,openBlock as r,resolveDynamicComponent as n,mergeProps as i,unref as v,withCtx as s,createElementBlock as p,createCommentVNode as f,renderSlot as m,createElementVNode as c,normalizeStyle as b,toDisplayString as g,createTextVNode as y,provide as B,toRef as S}from"vue";import{h as V}from"./keys-DiEDpjjR.mjs";import{u as _,_ as x}from"./BLink.vue_vue_type_script_setup_true_lang-EAdZn3EI.mjs";import{_ as h}from"./BBadge.vue_vue_type_script_setup_true_lang-oEX8Uz7_.mjs";import{i as k}from"./dom-BbjUGBm6.mjs";import{u as N}from"./useNumberishToStyle-DLb9cN9Q.mjs";import{u as T}from"./useRadiusElementClasses-Dc-J-8WL.mjs";import{u as j}from"./useColorVariantClasses-CD1fQifg.mjs";import{u as z}from"./useDefaults-C9d4iJX7.mjs";import{u as $}from"./index-D4cKGJ0C.mjs";const C={key:0,class:"b-avatar-custom"},E={key:1,class:"b-avatar-img"},w=["src","alt"],O={key:3,class:"b-avatar-img"},q=/* @__PURE__ */e({__name:"BAvatar",props:{alt:{default:"avatar"},badge:{type:[Boolean,String],default:!1},badgeBgVariant:{default:null},badgePlacement:{default:"bottom-end"},badgeTextVariant:{default:null},badgeVariant:{default:"primary"},badgePill:{type:Boolean,default:!1},badgeDotIndicator:{type:Boolean,default:!1},button:{type:Boolean,default:!1},buttonType:{default:"button"},size:{default:void 0},square:{type:Boolean,default:!1},src:{default:void 0},text:{default:void 0},active:{type:Boolean,default:void 0},activeClass:{default:void 0},disabled:{type:Boolean,default:void 0},exactActiveClass:{default:void 0},href:{default:void 0},noRel:{type:Boolean},opacity:{default:void 0},opacityHover:{default:void 0},prefetch:{type:Boolean},prefetchOn:{},noPrefetch:{type:Boolean},prefetchedClass:{},rel:{default:void 0},replace:{type:Boolean,default:void 0},routerComponentName:{default:void 0},stretched:{type:Boolean,default:!1},target:{default:void 0},to:{},underlineOffset:{default:void 0},underlineOffsetHover:{default:void 0},underlineOpacity:{default:void 0},underlineOpacityHover:{default:void 0},underlineVariant:{default:void 0},variant:{default:"secondary"},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},emits:["click","img-error"],setup(e,{emit:B}){const S=z(e,"BAvatar"),$=B,q=a(),P=t(S.src);l(()=>S.src,e=>{P.value=e});const{computedLink:A,computedLinkProps:L}=_(S),H=u(V,null),R=Object.freeze([null,...Object.keys({lg:null,md:null,sm:null})]),D=d(()=>!k(q.default)),M=d(()=>!k(q.badge)),G=d(()=>!!S.badge||""===S.badge||M.value),I=d(()=>H?.square.value||S.square),F=N(()=>H?.size.value??S.size),J=d(()=>!!F.value&&R.includes(F.value)),K=d(()=>H?.variant.value??S.variant),Q=d(()=>H?.rounded.value??S.rounded),U=d(()=>H?.roundedTop.value??S.roundedTop),W=d(()=>H?.roundedBottom.value??S.roundedBottom),X=d(()=>H?.roundedStart.value??S.roundedStart),Y=d(()=>H?.roundedEnd.value??S.roundedEnd),Z=T(()=>({rounded:Q.value,roundedTop:U.value,roundedBottom:W.value,roundedStart:X.value,roundedEnd:Y.value})),ee=d(()=>!0===S.badge?"":S.badge),ae=d(()=>!ee.value&&!M.value),te=j(()=>({bgVariant:H?.bgVariant.value??S.bgVariant,textVariant:H?.textVariant.value??S.textVariant,variant:K.value})),le=d(()=>[te.value,!0===I.value?void 0:Z.value,{[`b-avatar-${F.value}`]:J.value&&"md"!==F.value,[`btn-${K.value}`]:!!S.button&&null!==K.value,badge:!S.button&&null!==K.value&&D.value,btn:S.button,"rounded-0":!0===I.value}]),ue=d(()=>({fontSize:(J.value?"":`calc(${F.value} * 0.27999999999999997)`)||""})),de=d(()=>{const e=J.value?null:`calc(${F.value} * 0.4)`;return e?{fontSize:e}:{}}),oe=d(()=>{const e=H?.overlapScale?.value||0,a=F.value&&e?`calc(${F.value} * -${e})`:null;return a?{marginLeft:a,marginRight:a}:{}}),re=d(()=>A.value?x:S.button?"button":"span"),ne=d(()=>({...oe.value,...J.value?void 0:{width:F.value,height:F.value}})),ie=e=>{S.disabled||!A.value&&!S.button||$("click",e)},ve=e=>{P.value=void 0,$("img-error",e)};return(e,a)=>(r(),o(n(re.value),i({class:["b-avatar",le.value],style:ne.value},v(L),{type:v(S).button&&!v(A)?v(S).buttonType:void 0,disabled:v(S).disabled||null,variant:null,onClick:ie}),{default:s(()=>[D.value?(r(),p("span",C,[m(e.$slots,"default")])):P.value?(r(),p("span",E,[c("img",{src:P.value,alt:v(S).alt,onError:ve},null,40,w)])):v(S).text?(r(),p("span",{key:2,class:"b-avatar-text",style:b(de.value)},g(v(S).text),5)):(r(),p("span",O,[...a[0]||(a[0]=[c("svg",{xmlns:"http://www.w3.org/2000/svg",width:"80%",height:"80%",fill:"currentColor",class:"bi bi-person-fill",viewBox:"0 0 16 16"},[c("path",{d:"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6"})],-1)])])),G.value?(r(),o(h,{key:4,pill:v(S).badgePill,"dot-indicator":v(S).badgeDotIndicator||ae.value,variant:v(S).badgeVariant,"bg-variant":v(S).badgeBgVariant,"text-variant":v(S).badgeTextVariant,style:b(ue.value),placement:v(S).badgePlacement},{default:s(()=>[m(e.$slots,"badge",{},()=>[y(g(ee.value),1)])]),_:3},8,["pill","dot-indicator","variant","bg-variant","text-variant","style","placement"])):f("",!0)]),_:3},16,["class","style","type","disabled"]))}}),P=/* @__PURE__ */e({__name:"BAvatarGroup",props:{overlap:{default:.3},size:{default:void 0},square:{type:Boolean,default:!1},tag:{default:"div"},variant:{default:null},bgVariant:{default:null},textVariant:{default:null},rounded:{type:[Boolean,String,Number],default:"circle"},roundedTop:{type:[Boolean,String,Number],default:void 0},roundedBottom:{type:[Boolean,String,Number],default:void 0},roundedStart:{type:[Boolean,String,Number],default:void 0},roundedEnd:{type:[Boolean,String,Number],default:void 0}},setup(e){const a=z(e,"BAvatarGroup"),t=$(()=>a.overlap),l=N(()=>a.size),u=d(()=>Math.min(Math.max(t.value,0),1)/2),i=d(()=>{const e=l.value?`calc(${l.value} * ${u.value})`:null;return e?{paddingLeft:e,paddingRight:e}:{}});return B(V,{overlapScale:u,size:S(()=>a.size),square:S(()=>a.square),rounded:S(()=>a.rounded),roundedTop:S(()=>a.roundedTop),roundedBottom:S(()=>a.roundedBottom),roundedStart:S(()=>a.roundedStart),roundedEnd:S(()=>a.roundedEnd),variant:S(()=>a.variant),bgVariant:S(()=>a.bgVariant),textVariant:S(()=>a.textVariant)}),(e,t)=>(r(),o(n(v(a).tag),{class:"b-avatar-group",role:"group"},{default:s(()=>[c("div",{class:"b-avatar-group-inner",style:b(i.value)},[m(e.$slots,"default")],4)]),_:3}))}});export{q as _,P as a};
2
+ //# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-C0m8N-yT.mjs.map