@omnitend/dashboard-for-laravel 0.4.7

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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +397 -0
  3. package/dist/components/base/DAccordion.vue.d.ts +12 -0
  4. package/dist/components/base/DAccordionItem.vue.d.ts +12 -0
  5. package/dist/components/base/DAlert.vue.d.ts +12 -0
  6. package/dist/components/base/DAvatar.vue.d.ts +12 -0
  7. package/dist/components/base/DBadge.vue.d.ts +12 -0
  8. package/dist/components/base/DBreadcrumb.vue.d.ts +12 -0
  9. package/dist/components/base/DButton.vue.d.ts +29 -0
  10. package/dist/components/base/DButtonGroup.vue.d.ts +12 -0
  11. package/dist/components/base/DButtonToolbar.vue.d.ts +12 -0
  12. package/dist/components/base/DCard.vue.d.ts +12 -0
  13. package/dist/components/base/DCarousel.vue.d.ts +12 -0
  14. package/dist/components/base/DCarouselSlide.vue.d.ts +12 -0
  15. package/dist/components/base/DCol.vue.d.ts +12 -0
  16. package/dist/components/base/DCollapse.vue.d.ts +12 -0
  17. package/dist/components/base/DContainer.vue.d.ts +12 -0
  18. package/dist/components/base/DDropdown.vue.d.ts +12 -0
  19. package/dist/components/base/DDropdownDivider.vue.d.ts +2 -0
  20. package/dist/components/base/DDropdownItem.vue.d.ts +12 -0
  21. package/dist/components/base/DForm.vue.d.ts +12 -0
  22. package/dist/components/base/DFormCheckbox.vue.d.ts +12 -0
  23. package/dist/components/base/DFormGroup.vue.d.ts +12 -0
  24. package/dist/components/base/DFormInput.vue.d.ts +2 -0
  25. package/dist/components/base/DFormInvalidFeedback.vue.d.ts +12 -0
  26. package/dist/components/base/DFormRadio.vue.d.ts +12 -0
  27. package/dist/components/base/DFormSelect.vue.d.ts +12 -0
  28. package/dist/components/base/DFormSpinbutton.vue.d.ts +12 -0
  29. package/dist/components/base/DFormTags.vue.d.ts +12 -0
  30. package/dist/components/base/DFormText.vue.d.ts +12 -0
  31. package/dist/components/base/DFormTextarea.vue.d.ts +2 -0
  32. package/dist/components/base/DImage.vue.d.ts +12 -0
  33. package/dist/components/base/DInputGroup.vue.d.ts +12 -0
  34. package/dist/components/base/DLink.vue.d.ts +12 -0
  35. package/dist/components/base/DListGroup.vue.d.ts +12 -0
  36. package/dist/components/base/DListGroupItem.vue.d.ts +12 -0
  37. package/dist/components/base/DModal.vue.d.ts +12 -0
  38. package/dist/components/base/DNav.vue.d.ts +12 -0
  39. package/dist/components/base/DNavItem.vue.d.ts +12 -0
  40. package/dist/components/base/DNavbar.vue.d.ts +12 -0
  41. package/dist/components/base/DNavbarBrand.vue.d.ts +12 -0
  42. package/dist/components/base/DNavbarNav.vue.d.ts +12 -0
  43. package/dist/components/base/DNavbarToggle.vue.d.ts +12 -0
  44. package/dist/components/base/DOffcanvas.vue.d.ts +12 -0
  45. package/dist/components/base/DOverlay.vue.d.ts +12 -0
  46. package/dist/components/base/DPagination.vue.d.ts +2 -0
  47. package/dist/components/base/DPlaceholder.vue.d.ts +12 -0
  48. package/dist/components/base/DPopover.vue.d.ts +12 -0
  49. package/dist/components/base/DProgress.vue.d.ts +12 -0
  50. package/dist/components/base/DRow.vue.d.ts +12 -0
  51. package/dist/components/base/DSpinner.vue.d.ts +2 -0
  52. package/dist/components/base/DTab.vue.d.ts +12 -0
  53. package/dist/components/base/DTable.vue.d.ts +26 -0
  54. package/dist/components/base/DTabs.vue.d.ts +12 -0
  55. package/dist/components/base/DToast.vue.d.ts +12 -0
  56. package/dist/components/base/DToaster.vue.d.ts +12 -0
  57. package/dist/components/base/DTooltip.vue.d.ts +12 -0
  58. package/dist/components/extended/DXBasicForm.vue.d.ts +39 -0
  59. package/dist/components/extended/DXDashboard.vue.d.ts +52 -0
  60. package/dist/components/extended/DXDashboardNavbar.vue.d.ts +53 -0
  61. package/dist/components/extended/DXDashboardSidebar.vue.d.ts +37 -0
  62. package/dist/components/extended/DXForm.vue.d.ts +31 -0
  63. package/dist/components/extended/DXTable.vue.d.ts +190 -0
  64. package/dist/composables/defineForm.d.ts +35 -0
  65. package/dist/composables/useForm.d.ts +46 -0
  66. package/dist/composables/useToast.d.ts +1 -0
  67. package/dist/dashboard-for-laravel.js +17748 -0
  68. package/dist/dashboard-for-laravel.js.map +1 -0
  69. package/dist/dashboard-for-laravel.umd.cjs +11 -0
  70. package/dist/dashboard-for-laravel.umd.cjs.map +1 -0
  71. package/dist/index.d.ts +73 -0
  72. package/dist/style.css +5 -0
  73. package/dist/types/index.d.ts +37 -0
  74. package/dist/types/navigation.d.ts +17 -0
  75. package/dist/utils/api.d.ts +30 -0
  76. package/docs/public/api-reference.json +1932 -0
  77. package/docs/public/docs-map.md +85 -0
  78. package/docs/public/llms.txt +110 -0
  79. package/package.json +116 -0
  80. package/resources/css/theme.scss +219 -0
  81. package/resources/js/components/base/DAccordion.vue +21 -0
  82. package/resources/js/components/base/DAccordionItem.vue +14 -0
  83. package/resources/js/components/base/DAlert.vue +14 -0
  84. package/resources/js/components/base/DAvatar.vue +21 -0
  85. package/resources/js/components/base/DBadge.vue +14 -0
  86. package/resources/js/components/base/DBreadcrumb.vue +21 -0
  87. package/resources/js/components/base/DButton.vue +58 -0
  88. package/resources/js/components/base/DButtonGroup.vue +21 -0
  89. package/resources/js/components/base/DButtonToolbar.vue +21 -0
  90. package/resources/js/components/base/DCard.vue +35 -0
  91. package/resources/js/components/base/DCarousel.vue +21 -0
  92. package/resources/js/components/base/DCarouselSlide.vue +14 -0
  93. package/resources/js/components/base/DCol.vue +14 -0
  94. package/resources/js/components/base/DCollapse.vue +34 -0
  95. package/resources/js/components/base/DContainer.vue +14 -0
  96. package/resources/js/components/base/DDropdown.vue +16 -0
  97. package/resources/js/components/base/DDropdownDivider.vue +7 -0
  98. package/resources/js/components/base/DDropdownItem.vue +14 -0
  99. package/resources/js/components/base/DForm.vue +21 -0
  100. package/resources/js/components/base/DFormCheckbox.vue +14 -0
  101. package/resources/js/components/base/DFormGroup.vue +11 -0
  102. package/resources/js/components/base/DFormInput.vue +7 -0
  103. package/resources/js/components/base/DFormInvalidFeedback.vue +16 -0
  104. package/resources/js/components/base/DFormRadio.vue +21 -0
  105. package/resources/js/components/base/DFormSelect.vue +14 -0
  106. package/resources/js/components/base/DFormSpinbutton.vue +21 -0
  107. package/resources/js/components/base/DFormTags.vue +21 -0
  108. package/resources/js/components/base/DFormText.vue +16 -0
  109. package/resources/js/components/base/DFormTextarea.vue +7 -0
  110. package/resources/js/components/base/DImage.vue +21 -0
  111. package/resources/js/components/base/DInputGroup.vue +21 -0
  112. package/resources/js/components/base/DLink.vue +21 -0
  113. package/resources/js/components/base/DListGroup.vue +21 -0
  114. package/resources/js/components/base/DListGroupItem.vue +14 -0
  115. package/resources/js/components/base/DModal.vue +11 -0
  116. package/resources/js/components/base/DNav.vue +14 -0
  117. package/resources/js/components/base/DNavItem.vue +14 -0
  118. package/resources/js/components/base/DNavbar.vue +21 -0
  119. package/resources/js/components/base/DNavbarBrand.vue +14 -0
  120. package/resources/js/components/base/DNavbarNav.vue +14 -0
  121. package/resources/js/components/base/DNavbarToggle.vue +14 -0
  122. package/resources/js/components/base/DOffcanvas.vue +11 -0
  123. package/resources/js/components/base/DOverlay.vue +21 -0
  124. package/resources/js/components/base/DPagination.vue +7 -0
  125. package/resources/js/components/base/DPlaceholder.vue +21 -0
  126. package/resources/js/components/base/DPopover.vue +21 -0
  127. package/resources/js/components/base/DProgress.vue +21 -0
  128. package/resources/js/components/base/DRow.vue +14 -0
  129. package/resources/js/components/base/DSpinner.vue +7 -0
  130. package/resources/js/components/base/DTab.vue +14 -0
  131. package/resources/js/components/base/DTable.vue +62 -0
  132. package/resources/js/components/base/DTabs.vue +21 -0
  133. package/resources/js/components/base/DToast.vue +16 -0
  134. package/resources/js/components/base/DToaster.vue +16 -0
  135. package/resources/js/components/base/DTooltip.vue +21 -0
  136. package/resources/js/components/extended/DXBasicForm.vue +177 -0
  137. package/resources/js/components/extended/DXDashboard.vue +208 -0
  138. package/resources/js/components/extended/DXDashboardNavbar.vue +112 -0
  139. package/resources/js/components/extended/DXDashboardSidebar.vue +233 -0
  140. package/resources/js/components/extended/DXForm.vue +44 -0
  141. package/resources/js/components/extended/DXTable.vue +1345 -0
  142. package/resources/js/composables/defineForm.ts +78 -0
  143. package/resources/js/composables/useForm.ts +272 -0
  144. package/resources/js/composables/useToast.ts +1 -0
  145. package/resources/js/index.ts +118 -0
  146. package/resources/js/types/index.ts +61 -0
  147. package/resources/js/types/navigation.ts +19 -0
  148. package/resources/js/utils/api.ts +182 -0
  149. package/scripts/mcp-server.mjs +359 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-for-laravel.js","sources":["../node_modules/bootstrap-vue-next/dist/keys-BLeKMItg.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useBreadcrumb/index.mjs","../node_modules/bootstrap-vue-next/dist/index-KdB7ucR5.mjs","../node_modules/bootstrap-vue-next/dist/index-C0p9vHHI.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useColorMode/index.mjs","../node_modules/bootstrap-vue-next/dist/orchestratorShared-BTC5xO6k.mjs","../node_modules/bootstrap-vue-next/dist/BootstrapVueOptions-DSytNWdb.mjs","../node_modules/bootstrap-vue-next/dist/ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs","../node_modules/bootstrap-vue-next/dist/ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs","../node_modules/bootstrap-vue-next/dist/useSafeScrollLock-DhacR9hN.mjs","../node_modules/bootstrap-vue-next/dist/dom-DVb-f0ZG.mjs","../node_modules/bootstrap-vue-next/dist/useDefaults-DESCdb0p.mjs","../node_modules/bootstrap-vue-next/dist/useColorVariantClasses-ZDE19TZw.mjs","../node_modules/bootstrap-vue-next/dist/BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs","../node_modules/bootstrap-vue-next/dist/object-0ALvRU0O.mjs","../node_modules/bootstrap-vue-next/dist/constants-Cx335y3L.mjs","../node_modules/bootstrap-vue-next/dist/stringUtils-gJJ6T6UC.mjs","../node_modules/bootstrap-vue-next/dist/BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs","../node_modules/bootstrap-vue-next/dist/BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs","../node_modules/bootstrap-vue-next/dist/BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs","../node_modules/bootstrap-vue-next/dist/useId-t29UARy6.mjs","../node_modules/bootstrap-vue-next/dist/classes-BW_GpXTu.mjs","../node_modules/bootstrap-vue-next/dist/useShowHide-717t6y_D.mjs","../node_modules/bootstrap-vue-next/dist/getElement-DrDVR-jO.mjs","../node_modules/bootstrap-vue-next/dist/useTransitions-BAT154ve.mjs","../node_modules/bootstrap-vue-next/dist/tableUtils-Jp7dzXjS.mjs","../node_modules/bootstrap-vue-next/dist/index-BDkr-YqK.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useScrollspy/index.mjs","../node_modules/bootstrap-vue-next/dist/BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs","../node_modules/bootstrap-vue-next/dist/useCountdownHover-D79FUs67.mjs","../node_modules/bootstrap-vue-next/dist/index-7PG2ESMq.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useToggle/index.mjs","../node_modules/bootstrap-vue-next/dist/floatingUi-BBabBWxD.mjs","../node_modules/bootstrap-vue-next/dist/BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/usePopover/index.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useRegistry/index.mjs","../node_modules/bootstrap-vue-next/dist/src/composables/useProvideDefaults/index.mjs","../node_modules/bootstrap-vue-next/dist/index-BuUXy1YJ.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BColorMode/index.mjs","../node_modules/bootstrap-vue-next/dist/utils-BYUyX1-A.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BToggle/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BPopover/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BScrollspy/index.mjs","../node_modules/bootstrap-vue-next/dist/src/directives/BTooltip/index.mjs","../node_modules/bootstrap-vue-next/dist/index-CXpBEYSc.mjs","../node_modules/bootstrap-vue-next/dist/index-D888h6zh.mjs","../node_modules/bootstrap-vue-next/dist/flattenFragments-BoFLyuna.mjs","../node_modules/bootstrap-vue-next/dist/BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs","../node_modules/bootstrap-vue-next/dist/BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs","../node_modules/bootstrap-vue-next/dist/BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs","../node_modules/bootstrap-vue-next/dist/BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs","../node_modules/bootstrap-vue-next/dist/BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs","../node_modules/bootstrap-vue-next/dist/BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs","../node_modules/bootstrap-vue-next/dist/useNumberishToStyle-CdjRyAvX.mjs","../node_modules/bootstrap-vue-next/dist/useRadiusElementClasses-DtKYQuWz.mjs","../node_modules/bootstrap-vue-next/dist/BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs","../node_modules/bootstrap-vue-next/dist/BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs","../node_modules/bootstrap-vue-next/dist/event-a_bi5ysw.mjs","../node_modules/bootstrap-vue-next/dist/BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs","../node_modules/bootstrap-vue-next/dist/BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs","../node_modules/bootstrap-vue-next/dist/BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs","../node_modules/bootstrap-vue-next/dist/BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs","../node_modules/bootstrap-vue-next/dist/BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs","../node_modules/bootstrap-vue-next/dist/getClasses-CsgNQabU.mjs","../node_modules/bootstrap-vue-next/dist/BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs","../node_modules/bootstrap-vue-next/dist/BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs","../node_modules/bootstrap-vue-next/dist/useAlignment-Cw-9AVid.mjs","../node_modules/bootstrap-vue-next/dist/BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs","../node_modules/bootstrap-vue-next/dist/BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs","../node_modules/bootstrap-vue-next/dist/BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs","../node_modules/bootstrap-vue-next/dist/BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs","../node_modules/bootstrap-vue-next/dist/useFormSelect-DvaFh_iu.mjs","../node_modules/bootstrap-vue-next/dist/BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs","../node_modules/bootstrap-vue-next/dist/BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs","../node_modules/bootstrap-vue-next/dist/useAriaInvalid-BTUbGj3Y.mjs","../node_modules/bootstrap-vue-next/dist/useStateClass-BGbSLWFN.mjs","../node_modules/bootstrap-vue-next/dist/useFormCheck-Bcx8Ea7M.mjs","../node_modules/bootstrap-vue-next/dist/BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs","../node_modules/bootstrap-vue-next/dist/BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs","../node_modules/bootstrap-vue-next/dist/BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs","../node_modules/bootstrap-vue-next/dist/debounce-BHqBzJ1a.mjs","../node_modules/bootstrap-vue-next/dist/useFormInput-BmMsEwZS.mjs","../node_modules/bootstrap-vue-next/dist/BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs","../node_modules/bootstrap-vue-next/dist/BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs","../node_modules/bootstrap-vue-next/dist/BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs","../node_modules/bootstrap-vue-next/dist/BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs","../node_modules/bootstrap-vue-next/dist/BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs","../node_modules/bootstrap-vue-next/dist/BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs","../node_modules/bootstrap-vue-next/dist/BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs","../node_modules/bootstrap-vue-next/dist/BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs","../node_modules/bootstrap-vue-next/dist/BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs","../node_modules/bootstrap-vue-next/dist/BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs","../node_modules/bootstrap-vue-next/dist/BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs","../node_modules/bootstrap-vue-next/dist/BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs","../node_modules/bootstrap-vue-next/dist/BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs","../node_modules/bootstrap-vue-next/dist/BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs","../node_modules/bootstrap-vue-next/dist/BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs","../node_modules/bootstrap-vue-next/dist/BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs","../node_modules/bootstrap-vue-next/dist/BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs","../node_modules/bootstrap-vue-next/dist/BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs","../node_modules/bootstrap-vue-next/dist/BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs","../node_modules/bootstrap-vue-next/dist/BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs","../node_modules/bootstrap-vue-next/dist/BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs","../node_modules/bootstrap-vue-next/dist/index-E0aMItoE.mjs","../node_modules/bootstrap-vue-next/dist/index-BSgsF2PB.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/rtl/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/registry/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/orchestrator/index.mjs","../node_modules/bootstrap-vue-next/dist/src/plugins/createBootstrap/index.mjs","../node_modules/bootstrap-vue-next/dist/index-D53v0rwX.mjs","../node_modules/bootstrap-vue-next/dist/bootstrap-vue-next.mjs","../resources/js/components/extended/DXDashboardSidebar.vue","../resources/js/components/base/DContainer.vue","../resources/js/components/base/DRow.vue","../resources/js/components/base/DCol.vue","../resources/js/components/base/DButton.vue","../resources/js/components/base/DDropdown.vue","../resources/js/components/extended/DXDashboardNavbar.vue","../resources/js/components/extended/DXDashboard.vue","../resources/js/components/base/DAlert.vue","../resources/js/components/base/DFormGroup.vue","../resources/js/components/base/DFormInput.vue","../resources/js/components/base/DFormTextarea.vue","../resources/js/components/base/DFormSelect.vue","../resources/js/components/base/DFormCheckbox.vue","../resources/js/components/base/DFormInvalidFeedback.vue","../resources/js/components/base/DFormText.vue","../resources/js/components/extended/DXBasicForm.vue","../resources/js/components/extended/DXForm.vue","../node_modules/pluralize/pluralize.js","../resources/js/components/base/DCard.vue","../resources/js/components/base/DSpinner.vue","../resources/js/components/base/DTable.vue","../resources/js/components/base/DPagination.vue","../resources/js/components/base/DModal.vue","../resources/js/components/base/DTabs.vue","../resources/js/components/base/DTab.vue","../resources/js/components/extended/DXTable.vue","../resources/js/components/base/DAccordion.vue","../resources/js/components/base/DAccordionItem.vue","../resources/js/components/base/DAvatar.vue","../resources/js/components/base/DBadge.vue","../resources/js/components/base/DBreadcrumb.vue","../resources/js/components/base/DButtonGroup.vue","../resources/js/components/base/DButtonToolbar.vue","../resources/js/components/base/DCarousel.vue","../resources/js/components/base/DCarouselSlide.vue","../resources/js/components/base/DCollapse.vue","../resources/js/components/base/DDropdownDivider.vue","../resources/js/components/base/DDropdownItem.vue","../resources/js/components/base/DForm.vue","../resources/js/components/base/DFormRadio.vue","../resources/js/components/base/DFormSpinbutton.vue","../resources/js/components/base/DFormTags.vue","../resources/js/components/base/DImage.vue","../resources/js/components/base/DInputGroup.vue","../resources/js/components/base/DLink.vue","../resources/js/components/base/DListGroup.vue","../resources/js/components/base/DListGroupItem.vue","../resources/js/components/base/DNav.vue","../resources/js/components/base/DNavbar.vue","../resources/js/components/base/DNavbarBrand.vue","../resources/js/components/base/DNavbarNav.vue","../resources/js/components/base/DNavbarToggle.vue","../resources/js/components/base/DNavItem.vue","../resources/js/components/base/DOffcanvas.vue","../resources/js/components/base/DOverlay.vue","../resources/js/components/base/DPlaceholder.vue","../resources/js/components/base/DPopover.vue","../resources/js/components/base/DProgress.vue","../resources/js/components/base/DToast.vue","../resources/js/components/base/DToaster.vue","../resources/js/components/base/DTooltip.vue","../resources/js/utils/api.ts","../resources/js/composables/useForm.ts","../resources/js/composables/defineForm.ts"],"sourcesContent":["const genericBvnPrefix = \"BootstrapVueNext__\";\nconst withBvnPrefix = (value, suffix = \"\") => {\n const suffixWithTrail = `${suffix}___`;\n return `${genericBvnPrefix}ID__${value}__${suffix ? suffixWithTrail : \"\"}`;\n};\nconst createBvnInjectionKey = (name) => withBvnPrefix(name);\nconst createBvnRegistryInjectionKey = (name) => withBvnPrefix(`${name}__registry`);\nconst carouselInjectionKey = createBvnInjectionKey(\"carousel\");\nconst tabsInjectionKey = createBvnInjectionKey(\"tabs\");\nconst progressInjectionKey = createBvnInjectionKey(\"progress\");\nconst listGroupInjectionKey = createBvnInjectionKey(\"listGroup\");\nconst avatarGroupInjectionKey = createBvnInjectionKey(\"avatarGroup\");\nconst accordionInjectionKey = createBvnInjectionKey(\"accordion\");\nconst checkboxGroupKey = createBvnInjectionKey(\"checkboxGroup\");\nconst radioGroupKey = createBvnInjectionKey(\"radioGroup\");\nconst collapseInjectionKey = createBvnInjectionKey(\"collapse\");\nconst showHideRegistryKey = createBvnRegistryInjectionKey(\"showHide\");\nconst dropdownInjectionKey = createBvnInjectionKey(\"dropdown\");\nconst navbarInjectionKey = createBvnInjectionKey(\"navbar\");\nconst rtlRegistryKey = createBvnRegistryInjectionKey(\"rtl\");\nconst breadcrumbGlobalIndexKey = `${genericBvnPrefix}global_breadcrumb`;\nconst breadcrumbRegistryKey = createBvnRegistryInjectionKey(\"breadcrumb\");\nconst modalManagerKey = createBvnRegistryInjectionKey(\"modalManager\");\nconst defaultsKey = createBvnRegistryInjectionKey(\"defaults\");\nconst inputGroupKey = createBvnInjectionKey(\"inputGroup\");\nconst buttonGroupKey = createBvnInjectionKey(\"buttonGroup\");\nconst orchestratorRegistryKey = createBvnRegistryInjectionKey(\"orchestrator\");\nconst formGroupKey = createBvnInjectionKey(\"formGroupPlugin\");\nconst formSelectKey = createBvnInjectionKey(\"formSelect\");\nconst tableKeyboardNavigationKey = createBvnInjectionKey(\"tableKeyboardNavigation\");\nexport {\n breadcrumbGlobalIndexKey as a,\n buttonGroupKey as b,\n collapseInjectionKey as c,\n dropdownInjectionKey as d,\n breadcrumbRegistryKey as e,\n defaultsKey as f,\n accordionInjectionKey as g,\n avatarGroupInjectionKey as h,\n inputGroupKey as i,\n checkboxGroupKey as j,\n formGroupKey as k,\n radioGroupKey as l,\n modalManagerKey as m,\n formSelectKey as n,\n orchestratorRegistryKey as o,\n listGroupInjectionKey as p,\n progressInjectionKey as q,\n rtlRegistryKey as r,\n showHideRegistryKey as s,\n tabsInjectionKey as t,\n carouselInjectionKey as u,\n navbarInjectionKey as v,\n withBvnPrefix as w,\n tableKeyboardNavigationKey as x\n};\n//# sourceMappingURL=keys-BLeKMItg.mjs.map\n","import { inject, computed, toValue, watch } from \"vue\";\nimport { a as breadcrumbGlobalIndexKey, e as breadcrumbRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useBreadcrumb = (id = breadcrumbGlobalIndexKey) => {\n const parentData = inject(breadcrumbRegistryKey);\n const resolvedId = computed(() => {\n const v = toValue(id);\n if (!v) return breadcrumbGlobalIndexKey;\n return v;\n });\n watch(\n resolvedId,\n (newValue) => {\n if (!newValue || !parentData) return;\n parentData.items.value = {\n ...parentData.items.value,\n [newValue]: parentData.items.value[newValue] || []\n };\n },\n { immediate: true }\n );\n const items = computed({\n get: () => parentData?.items.value[resolvedId.value] || [],\n set(value) {\n if (!parentData) return;\n parentData.items.value[resolvedId.value] = value;\n }\n });\n return {\n items,\n reset() {\n if (!parentData) return;\n parentData.reset(resolvedId.value || void 0);\n }\n };\n};\nexport {\n useBreadcrumb\n};\n//# sourceMappingURL=index.mjs.map\n","import { effectScope, computed, toValue, shallowRef, isRef, watch, shallowReadonly, getCurrentScope, onScopeDispose, onMounted, nextTick, toRef as toRef$1, readonly, ref, customRef, getCurrentInstance, hasInjectionContext, inject } from \"vue\";\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\nconst injectLocal = /* @__NO_SIDE_EFFECTS__ */ (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null && !hasInjectionContext())\n throw new Error(\"injectLocal must be called in setup\");\n if (instance && localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n// @__NO_SIDE_EFFECTS__\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!scope) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\ntypeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst notNullish = (val) => val != null;\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst timestamp = () => +Date.now();\nconst noop = () => {\n};\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter, options = {}) {\n const {\n initialState = \"active\"\n } = options;\n const isActive = toRef(initialState === \"active\");\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction pxValue(px) {\n return px.endsWith(\"rem\") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);\n}\nfunction toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nfunction getLifeCycleTarget(target) {\n return getCurrentInstance();\n}\n// @__NO_SIDE_EFFECTS__\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n initialState = \"active\",\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = shallowRef(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n if (isActive.value)\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive: shallowReadonly(isActive),\n pause,\n resume\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof method === \"function\")\n resolved = method(resolved);\n else if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\nexport {\n useThrottleFn as a,\n toRef as b,\n toArray as c,\n notNullish as d,\n tryOnScopeDispose as e,\n timestamp as f,\n useIntervalFn as g,\n isClient as h,\n isIOS as i,\n camelize as j,\n injectLocal as k,\n increaseWithUnit as l,\n makeDestructurable as m,\n noop as n,\n watchPausable as o,\n pxValue as p,\n isObject as q,\n createSharedComposable as r,\n syncRef as s,\n tryOnMounted as t,\n useToNumber as u,\n watchImmediate as w\n};\n//# sourceMappingURL=index-KdB7ucR5.mjs.map\n","import { m as makeDestructurable, n as noop, i as isIOS, t as tryOnMounted, b as toRef, c as toArray, d as notNullish, e as tryOnScopeDispose, w as watchImmediate, f as timestamp, g as useIntervalFn, h as isClient, j as camelize, k as injectLocal, p as pxValue, l as increaseWithUnit, o as watchPausable, q as isObject } from \"./index-KdB7ucR5.mjs\";\nimport { shallowRef, defineComponent, computed, reactive, watch, toValue, watchEffect, hasInjectionContext, ref, readonly, getCurrentInstance, onMounted, unref, nextTick } from \"vue\";\n// @__NO_SIDE_EFFECTS__\nfunction createReusableTemplate(options = {}) {\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* @__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* @__PURE__ */ defineComponent({\n inheritAttrs,\n props: options.props,\n setup(props, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, {\n ...options.props == null ? keysToCamelKebabCase(attrs) : props,\n $slots: slots\n });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\nconst defaultWindow = isClient ? window : void 0;\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\nfunction useEventListener(...args) {\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options) => {\n el.addEventListener(event, listener, options);\n return () => el.removeEventListener(event, listener, options);\n };\n const firstParamTargets = computed(() => {\n const test = toArray(toValue(args[0])).filter((e) => e != null);\n return test.every((e) => typeof e !== \"string\") ? test : void 0;\n });\n const stopWatch = watchImmediate(\n () => {\n var _a, _b;\n return [\n (_b = (_a = firstParamTargets.value) == null ? void 0 : _a.map((e) => unrefElement(e))) != null ? _b : [defaultWindow].filter((e) => e != null),\n toArray(toValue(firstParamTargets.value ? args[1] : args[0])),\n toArray(unref(firstParamTargets.value ? args[2] : args[1])),\n // @ts-expect-error - TypeScript gets the correct types, but somehow still complains\n toValue(firstParamTargets.value ? args[3] : args[2])\n ];\n },\n ([raw_targets, raw_events, raw_listeners, raw_options]) => {\n cleanup();\n if (!(raw_targets == null ? void 0 : raw_targets.length) || !(raw_events == null ? void 0 : raw_events.length) || !(raw_listeners == null ? void 0 : raw_listeners.length))\n return;\n const optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;\n cleanups.push(\n ...raw_targets.flatMap(\n (el) => raw_events.flatMap(\n (event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))\n )\n )\n );\n },\n { flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(cleanup);\n return stop;\n}\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window: window2 = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;\n if (!window2) {\n return controls ? { stop: noop, cancel: noop, trigger: noop } : noop;\n }\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n const listenerOptions = { passive: true };\n Array.from(window2.document.body.children).forEach((el) => el.addEventListener(\"click\", noop, listenerOptions));\n window2.document.documentElement.addEventListener(\"click\", noop, listenerOptions);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return toValue(ignore).some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window2.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n function hasMultipleRoots(target2) {\n const vm = toValue(target2);\n return vm && vm.$.subTree.shapeFlag === 16;\n }\n function checkMultipleRoots(target2, event) {\n const vm = toValue(target2);\n const children = vm.$.subTree && vm.$.subTree.children;\n if (children == null || !Array.isArray(children))\n return false;\n return children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n }\n const listener = (event) => {\n const el = unrefElement(target);\n if (event.target == null)\n return;\n if (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event))\n return;\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (\"detail\" in event && event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n let isProcessingClick = false;\n const cleanup = [\n useEventListener(window2, \"click\", (event) => {\n if (!isProcessingClick) {\n isProcessingClick = true;\n setTimeout(() => {\n isProcessingClick = false;\n }, 0);\n listener(event);\n }\n }, { passive: true, capture }),\n useEventListener(window2, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window2, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window2.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window2.document.activeElement))) {\n handler(event);\n }\n }, 0);\n }, { passive: true })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n if (controls) {\n return {\n stop,\n cancel: () => {\n shouldListen = false;\n },\n trigger: (event) => {\n shouldListen = true;\n listener(event);\n shouldListen = false;\n }\n };\n }\n return stop;\n}\n// @__NO_SIDE_EFFECTS__\nfunction useMounted() {\n const isMounted = shallowRef(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, instance);\n }\n return isMounted;\n}\n// @__NO_SIDE_EFFECTS__\nfunction useSupported(callback) {\n const isMounted = /* @__PURE__ */ useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\nfunction useMutationObserver(target, callback, options = {}) {\n const { window: window2 = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"MutationObserver\" in window2);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = toArray(value).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\nfunction onElementRemoval(target, callback, options = {}) {\n const {\n window: window2 = defaultWindow,\n document: document2 = window2 == null ? void 0 : window2.document,\n flush = \"sync\"\n } = options;\n if (!window2 || !document2)\n return noop;\n let stopFn;\n const cleanupAndUpdate = (fn) => {\n stopFn == null ? void 0 : stopFn();\n stopFn = fn;\n };\n const stopWatch = watchEffect(() => {\n const el = unrefElement(target);\n if (el) {\n const { stop } = useMutationObserver(\n document2,\n (mutationsList) => {\n const targetRemoved = mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el));\n if (targetRemoved) {\n callback(mutationsList);\n }\n },\n {\n window: window2,\n childList: true,\n subtree: true\n }\n );\n cleanupAndUpdate(stop);\n }\n }, { flush });\n const stopHandle = () => {\n stopWatch();\n cleanupAndUpdate();\n };\n tryOnScopeDispose(stopHandle);\n return stopHandle;\n}\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window: window2 = defaultWindow,\n once = false\n } = options;\n const isActive = shallowRef(false);\n const intervalLimit = computed(() => {\n return fpsLimit ? 1e3 / toValue(fpsLimit) : null;\n });\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp2) {\n if (!isActive.value || !window2)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp2;\n const delta = timestamp2 - previousFrameTimestamp;\n if (intervalLimit.value && delta < intervalLimit.value) {\n rafId = window2.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp2;\n fn({ delta, timestamp: timestamp2 });\n if (once) {\n isActive.value = false;\n rafId = null;\n return;\n }\n rafId = window2.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window2) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window2.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window2) {\n window2.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\nconst ssrWidthSymbol = Symbol(\"vueuse-ssr-width\");\n// @__NO_SIDE_EFFECTS__\nfunction useSSRWidth() {\n const ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null;\n return typeof ssrWidth === \"number\" ? ssrWidth : void 0;\n}\nfunction useMediaQuery(query, options = {}) {\n const { window: window2 = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"matchMedia\" in window2 && typeof window2.matchMedia === \"function\");\n const ssrSupport = shallowRef(typeof ssrWidth === \"number\");\n const mediaQuery = shallowRef();\n const matches = shallowRef(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n watchEffect(() => {\n if (ssrSupport.value) {\n ssrSupport.value = !isSupported.value;\n const queryStrings = toValue(query).split(\",\");\n matches.value = queryStrings.some((queryString) => {\n const not = queryString.includes(\"not all\");\n const minWidth = queryString.match(/\\(\\s*min-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n const maxWidth = queryString.match(/\\(\\s*max-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n let res = Boolean(minWidth || maxWidth);\n if (minWidth && res) {\n res = ssrWidth >= pxValue(minWidth[1]);\n }\n if (maxWidth && res) {\n res = ssrWidth <= pxValue(maxWidth[1]);\n }\n return not ? !res : res;\n });\n return;\n }\n if (!isSupported.value)\n return;\n mediaQuery.value = window2.matchMedia(toValue(query));\n matches.value = mediaQuery.value.matches;\n });\n useEventListener(mediaQuery, \"change\", handler, { passive: true });\n return computed(() => matches.value);\n}\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\n// @__NO_SIDE_EFFECTS__\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window: window2 = defaultWindow, strategy = \"min-width\", ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n const ssrSupport = typeof ssrWidth === \"number\";\n const mounted = ssrSupport ? shallowRef(false) : { value: true };\n if (ssrSupport) {\n tryOnMounted(() => mounted.value = !!window2);\n }\n function match(query, size) {\n if (!mounted.value && ssrSupport) {\n return query === \"min\" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size);\n }\n if (!window2)\n return false;\n return window2.matchMedia(`(${query}-width: ${size})`).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((k) => [k, shortcutMethods[k], pxValue(getValue(k))]).sort((a, b) => a[2] - b[2]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(\"min\", getValue(k, 0.1));\n },\n isGreaterOrEqual(k) {\n return match(\"min\", getValue(k));\n },\n isSmaller(k) {\n return match(\"max\", getValue(k, -0.1));\n },\n isSmallerOrEqual(k) {\n return match(\"max\", getValue(k));\n },\n isInBetween(a, b) {\n return match(\"min\", getValue(a)) && match(\"max\", getValue(b, -0.1));\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(strategy === \"min-width\" ? -1 : 0));\n }\n });\n}\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\n// @__NO_SIDE_EFFECTS__\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window: window2 = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n const keyComputed = computed(() => toValue(key));\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = watchPausable(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n watch(keyComputed, () => update(), { flush });\n let firstMounted = false;\n const onStorageEvent = (ev) => {\n if (initOnMounted && !firstMounted) {\n return;\n }\n update(ev);\n };\n const onStorageCustomEvent = (ev) => {\n if (initOnMounted && !firstMounted) {\n return;\n }\n updateFromCustomEvent(ev);\n };\n if (window2 && listenToStorageChanges) {\n if (storage instanceof Storage)\n useEventListener(window2, \"storage\", onStorageEvent, { passive: true });\n else\n useEventListener(window2, customStorageEventName, onStorageCustomEvent);\n }\n if (initOnMounted) {\n tryOnMounted(() => {\n firstMounted = true;\n update();\n });\n } else {\n update();\n }\n function dispatchWriteEvent(oldValue, newValue) {\n if (window2) {\n const payload = {\n key: keyComputed.value,\n oldValue,\n newValue,\n storageArea: storage\n };\n window2.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n detail: payload\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(keyComputed.value);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(keyComputed.value);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(keyComputed.value, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(keyComputed.value);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(keyComputed.value, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== keyComputed.value)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window: window2 = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = /* @__PURE__ */ usePreferredDark({ window: window2 });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window: window2, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window2 == null ? void 0 : window2.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window2.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window2.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window2.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n return Object.assign(auto, { store, system, state });\n}\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n triggerOnRemoval = false,\n window: window2 = defaultWindow\n } = options;\n const isHovered = shallowRef(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window2)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n if (triggerOnRemoval) {\n onElementRemoval(\n computed(() => unrefElement(el)),\n () => toggle(false)\n );\n }\n return isHovered;\n}\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window: window2 = defaultWindow,\n immediate = true\n } = options;\n const isSupported = /* @__PURE__ */ useSupported(() => window2 && \"IntersectionObserver\" in window2);\n const targets = computed(() => {\n const _target = toValue(target);\n return toArray(_target).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = shallowRef(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = shallowRef(false);\n const targetElement = computed(() => unrefElement(target));\n const listenerOptions = { passive: true };\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n }, listenerOptions);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false, listenerOptions);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window: window2 = defaultWindow,\n target = window2,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n let _prevScrollX = 0;\n let _prevScrollY = 0;\n const x = shallowRef(initialValue.x);\n const y = shallowRef(initialValue.y);\n const sourceType = shallowRef(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n if (window2) {\n _prevScrollX = window2.scrollX;\n _prevScrollY = window2.scrollY;\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window2)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window2.scrollX - _prevScrollX;\n y.value = pos[1] + window2.scrollY - _prevScrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window2, \"scroll\", scrollHandlerWrapper, listenerOptions);\n }\n return {\n x,\n y,\n sourceType\n };\n}\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = shallowRef(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = shallowRef(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n const listenerOptions = { passive, capture: !passive };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value))\n e.preventDefault();\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop,\n // TODO: Remove in the next major version\n isPassiveEventSupported: true\n };\n}\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = shallowRef(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\nexport {\n onClickOutside as a,\n useBreakpoints as b,\n unrefElement as c,\n breakpointsBootstrapV5 as d,\n useColorMode as e,\n useIntersectionObserver as f,\n useMutationObserver as g,\n useEventListener as h,\n createReusableTemplate as i,\n useTimestamp as j,\n useElementHover as k,\n useSwipe as l,\n getSSRHandler as m,\n useScrollLock as n,\n onKeyStroke as o,\n useMouse as p,\n useFocus as u\n};\n//# sourceMappingURL=index-C0p9vHHI.mjs.map\n","import { e as useColorMode$1 } from \"../../../index-C0p9vHHI.mjs\";\nconst useColorMode = (opts = {}) => {\n const persist = opts.persist ?? false;\n const attribute = \"data-bs-theme\";\n const selector = \"html\";\n return useColorMode$1({\n attribute,\n selector,\n storageKey: persist === true ? `bv-color-${opts.attribute ?? attribute}-${opts.selector ?? selector}` : null,\n ...opts\n });\n};\nexport {\n useColorMode\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, ref, provide, nextTick, toValue } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nfunction buildPromise(_id, store) {\n let resolveFunc = () => {\n };\n const promise = new Promise((resolve) => {\n resolveFunc = resolve;\n });\n Object.assign(promise, {\n id: _id,\n ref: null,\n show() {\n const refWithMethods = this.ref;\n if (refWithMethods?.show) {\n refWithMethods.show();\n } else return this.set({ modelValue: true });\n return promise;\n },\n hide(trigger) {\n const refWithMethods = this.ref;\n if (refWithMethods?.hide) {\n refWithMethods.hide(trigger, true);\n } else return this.set({ modelValue: false });\n return promise;\n },\n toggle() {\n const currentItem = this.get();\n const refWithMethods = this.ref;\n if (refWithMethods?.toggle) {\n refWithMethods.toggle();\n } else return this.set({ modelValue: !currentItem?.modelValue });\n return promise;\n },\n get() {\n return store.value.find((el) => el._self === _id);\n },\n set(val) {\n const itemIndex = store.value.findIndex((el) => el._self === _id);\n const item = store.value[itemIndex];\n if (item) {\n const v = { ...toValue(item), ...toValue(val) };\n if (item.modelValue !== v.modelValue) {\n item[\"onUpdate:modelValue\"]?.(v.modelValue);\n }\n const updatedItem = {\n ...v,\n modelValue: toValue(v.modelValue)\n };\n const vRecord = v;\n if (\"title\" in vRecord && vRecord.title !== void 0) {\n updatedItem.title = toValue(vRecord.title);\n }\n if (\"body\" in vRecord && vRecord.body !== void 0) {\n updatedItem.body = toValue(vRecord.body);\n }\n store.value.splice(itemIndex, 1, updatedItem);\n }\n return promise;\n },\n async destroy() {\n const item = store.value.find((el) => el._self === _id);\n if (!item) return;\n item.promise.stop?.();\n if (item.modelValue) {\n await new Promise((resolve) => {\n const prev = item[\"onHidden\"];\n item[\"onHidden\"] = (e) => {\n prev?.(e);\n resolve(e);\n };\n nextTick(() => {\n this.hide(\"destroy\");\n });\n });\n }\n store.value.splice(\n store.value.findIndex((el) => el._self === _id),\n 1\n );\n },\n async [Symbol.asyncDispose]() {\n await this.destroy();\n }\n });\n return {\n value: promise,\n resolve: resolveFunc,\n stop: void 0\n };\n}\nconst _newOrchestratorRegistry = () => ({\n store: ref([]),\n _isOrchestratorInstalled: ref(false),\n _isToastAppend: ref(false)\n});\nconst useOrchestratorRegistry = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey, void 0);\n if (orchestratorRegistry) {\n return orchestratorRegistry;\n }\n const newOrchestratorRegistry = _newOrchestratorRegistry();\n provide(orchestratorRegistryKey, newOrchestratorRegistry);\n return newOrchestratorRegistry;\n};\nexport {\n _newOrchestratorRegistry as _,\n buildPromise as b,\n useOrchestratorRegistry as u\n};\n//# sourceMappingURL=orchestratorShared-BTC5xO6k.mjs.map\n","const componentsWithExternalPath = {\n BAccordion: \"/components/BAccordion\",\n BAccordionItem: \"/components/BAccordion\",\n BAlert: \"/components/BAlert\",\n BApp: \"/components/BApp\",\n BAvatar: \"/components/BAvatar\",\n BAvatarGroup: \"/components/BAvatar\",\n BBadge: \"/components/BBadge\",\n BBreadcrumb: \"/components/BBreadcrumb\",\n BBreadcrumbItem: \"/components/BBreadcrumb\",\n BButton: \"/components/BButton\",\n BButtonGroup: \"/components/BButton\",\n BButtonToolbar: \"/components/BButton\",\n BCloseButton: \"/components/BButton\",\n BCard: \"/components/BCard\",\n BCardBody: \"/components/BCard\",\n BCardFooter: \"/components/BCard\",\n BCardGroup: \"/components/BCard\",\n BCardHeader: \"/components/BCard\",\n BCardImg: \"/components/BCard\",\n BCardSubtitle: \"/components/BCard\",\n BCardText: \"/components/BCard\",\n BCardTitle: \"/components/BCard\",\n BCarousel: \"/components/BCarousel\",\n BCarouselSlide: \"/components/BCarousel\",\n BCol: \"/components/BContainer\",\n BCollapse: \"/components/BCollapse\",\n BContainer: \"/components/BContainer\",\n BDropdown: \"/components/BDropdown\",\n BDropdownDivider: \"/components/BDropdown\",\n BDropdownForm: \"/components/BDropdown\",\n BDropdownGroup: \"/components/BDropdown\",\n BDropdownHeader: \"/components/BDropdown\",\n BDropdownItem: \"/components/BDropdown\",\n BDropdownItemButton: \"/components/BDropdown\",\n BDropdownText: \"/components/BDropdown\",\n BForm: \"/components/BForm\",\n BFormCheckbox: \"/components/BFormCheckbox\",\n BFormCheckboxGroup: \"/components/BFormCheckbox\",\n BFormDatalist: \"/components/BForm\",\n BFormFile: \"/components/BFormFile\",\n BFormFloatingLabel: \"/components/BForm\",\n BFormGroup: \"/components/BFormGroup\",\n BFormInput: \"/components/BFormInput\",\n BFormInvalidFeedback: \"/components/BForm\",\n BFormRadio: \"/components/BFormRadio\",\n BFormRadioGroup: \"/components/BFormRadio\",\n BFormRating: \"/components/BFormRating\",\n BFormRow: \"/components/BForm\",\n BFormSelect: \"/components/BFormSelect\",\n BFormSelectOption: \"/components/BFormSelect\",\n BFormSelectOptionGroup: \"/components/BFormSelect\",\n BFormSpinbutton: \"/components/BFormSpinbutton\",\n BFormTag: \"/components/BFormTags\",\n BFormTags: \"/components/BFormTags\",\n BFormText: \"/components/BForm\",\n BFormTextarea: \"/components/BFormTextarea\",\n BFormValidFeedback: \"/components/BForm\",\n BImg: \"/components/BImg\",\n BInput: \"/components/BFormInput\",\n BInputGroup: \"/components/BInputGroup\",\n BInputGroupText: \"/components/BInputGroup\",\n BListGroup: \"/components/BListGroup\",\n BListGroupItem: \"/components/BListGroup\",\n BModal: \"/components/BModal\",\n BModalOrchestrator: \"/components/BModal\",\n BNav: \"/components/BNav\",\n BNavForm: \"/components/BNav\",\n BNavItem: \"/components/BNav\",\n BNavItemDropdown: \"/components/BNav\",\n BNavText: \"/components/BNav\",\n BNavbar: \"/components/BNavbar\",\n BNavbarBrand: \"/components/BNavbar\",\n BNavbarNav: \"/components/BNavbar\",\n BNavbarToggle: \"/components/BNavbar\",\n BOffcanvas: \"/components/BOffcanvas\",\n BOverlay: \"/components/BOverlay\",\n BOrchestrator: \"/components/BApp\",\n BPagination: \"/components/BPagination\",\n BPlaceholder: \"/components/BPlaceholder\",\n BPlaceholderButton: \"/components/BPlaceholder\",\n BPlaceholderCard: \"/components/BPlaceholder\",\n BPlaceholderTable: \"/components/BPlaceholder\",\n BPlaceholderWrapper: \"/components/BPlaceholder\",\n BPopover: \"/components/BPopover\",\n BProgress: \"/components/BProgress\",\n BRow: \"/components/BContainer\",\n BSpinner: \"/components/BSpinner\",\n BTab: \"/components/BTabs\",\n BTabs: \"/components/BTabs\",\n BToast: \"/components/BToast\",\n BToastOrchestrator: \"/components/BToast\",\n BTooltip: \"/components/BTooltip\",\n BLink: \"/components/BLink\",\n BProgressBar: \"/components/BProgress\",\n BTableSimple: \"/components/BTable\",\n BTableLite: \"/components/BTable\",\n BTable: \"/components/BTable\",\n BTbody: \"/components/BTable\",\n BTd: \"/components/BTable\",\n BTh: \"/components/BTable\",\n BThead: \"/components/BTable\",\n BTfoot: \"/components/BTable\",\n BTr: \"/components/BTable\",\n BPopoverOrchestrator: \"/components/BPopover\"\n};\nconst componentNames = Object.freeze(\n Object.keys(componentsWithExternalPath)\n);\nconst directivesWithExternalPath = {\n vBColorMode: \"/directives/BColorMode\",\n vBModal: \"/directives/BModal\",\n vBPopover: \"/directives/BPopover\",\n vBScrollspy: \"/directives/BScrollspy\",\n vBToggle: \"/directives/BToggle\",\n vBTooltip: \"/directives/BTooltip\"\n};\nconst directiveNames = Object.freeze(\n Object.keys(directivesWithExternalPath)\n);\nconst composablesWithExternalPath = {\n useBreadcrumb: \"/composables/useBreadcrumb\",\n useColorMode: \"/composables/useColorMode\",\n useModal: \"/composables/useModal\",\n useModalController: \"/composables/useModal\",\n useScrollLock: \"/composables/useScrollLock\",\n useScrollspy: \"/composables/useScrollspy\",\n useToast: \"/composables/useToast\",\n useToastController: \"/composables/useToast\",\n useToggle: \"/composables/useToggle\",\n usePopover: \"/composables/usePopover\",\n usePopoverController: \"/composables/usePopover\",\n useRegistry: \"/composables/useRegistry\",\n useProvideDefaults: \"/composables/useProvideDefaults\",\n useOrchestratorRegistry: \"/composables/orchestratorShared\"\n};\nconst composableNames = Object.freeze(\n Object.keys(composablesWithExternalPath)\n);\nexport {\n componentsWithExternalPath as a,\n composableNames as b,\n componentNames as c,\n composablesWithExternalPath as d,\n directiveNames as e,\n directivesWithExternalPath as f\n};\n//# sourceMappingURL=BootstrapVueOptions-DSytNWdb.mjs.map\n","import { defineComponent, h, Teleport } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalTeleport\",\n inheritAttrs: false,\n props: {\n to: {\n type: [String, Object],\n default: null\n },\n disabled: {\n type: Boolean,\n required: true\n }\n },\n slots: Object,\n setup(props, { slots }) {\n return () => !props.to ? slots.default?.({}) : h(Teleport, { to: props.to, disabled: props.disabled || !props.to }, [slots.default?.({})]);\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs.map\n","import { defineComponent, h } from \"vue\";\nconst _sfc_main = defineComponent({\n name: \"ConditionalWrapper\",\n inheritAttrs: false,\n props: {\n tag: {\n type: String,\n default: \"div\"\n },\n skip: {\n type: Boolean,\n required: true\n }\n },\n slots: Object,\n setup(props, { slots, attrs }) {\n return () => props.skip ? slots.default?.({}) : h(props.tag, { ...attrs }, [slots.default?.({})]);\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs.map\n","import { shallowRef, computed, toValue, watch, readonly, toRef, ref, onMounted, useId, onUnmounted } from \"vue\";\nimport { c as unrefElement, g as useMutationObserver, n as useScrollLock$1 } from \"./index-C0p9vHHI.mjs\";\nimport { c as toArray, d as notNullish, e as tryOnScopeDispose, r as createSharedComposable } from \"./index-KdB7ucR5.mjs\";\n/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\nvar candidateSelectors = [\"input:not([inert])\", \"select:not([inert])\", \"textarea:not([inert])\", \"a[href]:not([inert])\", \"button:not([inert])\", \"[tabindex]:not(slot):not([inert])\", \"audio[controls]:not([inert])\", \"video[controls]:not([inert])\", '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', \"details>summary:first-of-type:not([inert])\", \"details:not([inert])\"];\nvar candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\nvar NoElement = typeof Element === \"undefined\";\nvar matches = NoElement ? function() {\n} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function(element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\nvar isInert = function isInert2(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, \"inert\");\n var inert = inertAtt === \"\" || inertAtt === \"true\";\n var result = inert || lookUp && node && isInert2(node.parentNode);\n return result;\n};\nvar isContentEditable = function isContentEditable2(node) {\n var _node$getAttribute2;\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, \"contenteditable\");\n return attValue === \"\" || attValue === \"true\";\n};\nvar getCandidates = function getCandidates2(el, includeContainer, filter) {\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\nvar getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n continue;\n }\n if (element.tagName === \"SLOT\") {\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively2(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n var shadowRoot = element.shadowRoot || // check for an undisclosed shadow\n typeof options.getShadowRoot === \"function\" && options.getShadowRoot(element);\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\nvar hasTabIndex = function hasTabIndex2(node) {\n return !isNaN(parseInt(node.getAttribute(\"tabindex\"), 10));\n};\nvar getTabIndex = function getTabIndex2(node) {\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (node.tabIndex < 0) {\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\nvar getSortOrderTabIndex = function getSortOrderTabIndex2(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n};\nvar isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n};\nvar isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n};\nvar isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\nvar isNodeAttached = function isNodeAttached2(node) {\n var _nodeRoot;\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea2(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden2(node, _ref) {\n var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;\n if (getComputedStyle(node).visibility === \"hidden\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\" || displayCheck === \"legacy-full\") {\n if (typeof getShadowRoot === \"function\") {\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n node = rootNode.host;\n } else {\n node = parentElement;\n }\n }\n node = originalNode;\n }\n if (isNodeAttached(node)) {\n return !node.getClientRects().length;\n }\n if (displayCheck !== \"legacy-full\") {\n return true;\n }\n } else if (displayCheck === \"non-zero-area\") {\n return isZeroArea(node);\n }\n return false;\n};\nvar isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n return matches.call(parentNode, \"fieldset[disabled] *\") ? true : !child.contains(node);\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute(\"tabindex\"), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n return false;\n};\nvar sortByOrder = function sortByOrder2(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function(item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder2(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item,\n isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable2(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe\").join(\",\");\nvar isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n/*!\n* focus-trap 7.6.5\n* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n*/\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function(r2) {\n return Object.getOwnPropertyDescriptor(e, r2).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {\n _defineProperty(e, r2, t[r2]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {\n Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));\n });\n }\n return e;\n}\nfunction _toConsumableArray(r) {\n return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\nvar activeFocusTraps = {\n activateTrap: function activateTrap(trapStack, trap) {\n if (trapStack.length > 0) {\n var activeTrap = trapStack[trapStack.length - 1];\n if (activeTrap !== trap) {\n activeTrap._setPausedState(true);\n }\n }\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex === -1) {\n trapStack.push(trap);\n } else {\n trapStack.splice(trapIndex, 1);\n trapStack.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trapStack, trap) {\n var trapIndex = trapStack.indexOf(trap);\n if (trapIndex !== -1) {\n trapStack.splice(trapIndex, 1);\n }\n if (trapStack.length > 0 && !trapStack[trapStack.length - 1]._isManuallyPaused()) {\n trapStack[trapStack.length - 1]._setPausedState(false);\n }\n }\n};\nvar isSelectableInput = function isSelectableInput2(node) {\n return node.tagName && node.tagName.toLowerCase() === \"input\" && typeof node.select === \"function\";\n};\nvar isEscapeEvent = function isEscapeEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Escape\" || (e === null || e === void 0 ? void 0 : e.key) === \"Esc\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 27;\n};\nvar isTabEvent = function isTabEvent2(e) {\n return (e === null || e === void 0 ? void 0 : e.key) === \"Tab\" || (e === null || e === void 0 ? void 0 : e.keyCode) === 9;\n};\nvar isKeyForward = function isKeyForward2(e) {\n return isTabEvent(e) && !e.shiftKey;\n};\nvar isKeyBackward = function isKeyBackward2(e) {\n return isTabEvent(e) && e.shiftKey;\n};\nvar delay = function delay2(fn) {\n return setTimeout(fn, 0);\n};\nvar valueOrHandler = function valueOrHandler2(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === \"function\" ? value.apply(void 0, params) : value;\n};\nvar getActualTarget = function getActualTarget2(event) {\n return event.target.shadowRoot && typeof event.composedPath === \"function\" ? event.composedPath()[0] : event.target;\n};\nvar internalTrapStack = [];\nvar createFocusTrap = function createFocusTrap2(elements, userOptions) {\n var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;\n var trapStack = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.trapStack) || internalTrapStack;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true,\n isKeyForward,\n isKeyBackward\n }, userOptions);\n var state = {\n // containers given to createFocusTrap()\n // @type {Array<HTMLElement>}\n containers: [],\n // list of objects identifying tabbable nodes in `containers` in the trap\n // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap\n // is active, but the trap should never get to a state where there isn't at least one group\n // with at least one tabbable node in it (that would lead to an error condition that would\n // result in an error being thrown)\n // @type {Array<{\n // container: HTMLElement,\n // tabbableNodes: Array<HTMLElement>, // empty if none\n // focusableNodes: Array<HTMLElement>, // empty if none\n // posTabIndexesFound: boolean,\n // firstTabbableNode: HTMLElement|undefined,\n // lastTabbableNode: HTMLElement|undefined,\n // firstDomTabbableNode: HTMLElement|undefined,\n // lastDomTabbableNode: HTMLElement|undefined,\n // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined\n // }>}\n containerGroups: [],\n // same order/length as `containers` list\n // references to objects in `containerGroups`, but only those that actually have\n // tabbable nodes in them\n // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__\n // the same length\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n manuallyPaused: false,\n // timer ID for when delayInitialFocus is true and initial focus in this trap\n // has been delayed during activation\n delayInitialFocusTimer: void 0,\n // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any\n recentNavEvent: void 0\n };\n var trap;\n var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n var findContainerIndex = function findContainerIndex2(element, event) {\n var composedPath = typeof (event === null || event === void 0 ? void 0 : event.composedPath) === \"function\" ? event.composedPath() : void 0;\n return state.containerGroups.findIndex(function(_ref) {\n var container = _ref.container, tabbableNodes = _ref.tabbableNodes;\n return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any\n // web components if the `tabbableOptions.getShadowRoot` option was used for\n // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't\n // look inside web components even if open)\n (composedPath === null || composedPath === void 0 ? void 0 : composedPath.includes(container)) || tabbableNodes.find(function(node) {\n return node === element;\n });\n });\n };\n var getNodeForOption = function getNodeForOption2(optionName) {\n var _ref2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref2$hasFallback = _ref2.hasFallback, hasFallback = _ref2$hasFallback === void 0 ? false : _ref2$hasFallback, _ref2$params = _ref2.params, params = _ref2$params === void 0 ? [] : _ref2$params;\n var optionValue = config[optionName];\n if (typeof optionValue === \"function\") {\n optionValue = optionValue.apply(void 0, _toConsumableArray(params));\n }\n if (optionValue === true) {\n optionValue = void 0;\n }\n if (!optionValue) {\n if (optionValue === void 0 || optionValue === false) {\n return optionValue;\n }\n throw new Error(\"`\".concat(optionName, \"` was specified but was not a node, or did not return a node\"));\n }\n var node = optionValue;\n if (typeof optionValue === \"string\") {\n try {\n node = doc.querySelector(optionValue);\n } catch (err) {\n throw new Error(\"`\".concat(optionName, '` appears to be an invalid selector; error=\"').concat(err.message, '\"'));\n }\n if (!node) {\n if (!hasFallback) {\n throw new Error(\"`\".concat(optionName, \"` as selector refers to no known node\"));\n }\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode2() {\n var node = getNodeForOption(\"initialFocus\", {\n hasFallback: true\n });\n if (node === false) {\n return false;\n }\n if (node === void 0 || node && !isFocusable(node, config.tabbableOptions)) {\n if (findContainerIndex(doc.activeElement) >= 0) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || getNodeForOption(\"fallbackFocus\");\n }\n } else if (node === null) {\n node = getNodeForOption(\"fallbackFocus\");\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes2() {\n state.containerGroups = state.containers.map(function(container) {\n var tabbableNodes = tabbable(container, config.tabbableOptions);\n var focusableNodes = focusable(container, config.tabbableOptions);\n var firstTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[0] : void 0;\n var lastTabbableNode = tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : void 0;\n var firstDomTabbableNode = focusableNodes.find(function(node) {\n return isTabbable(node);\n });\n var lastDomTabbableNode = focusableNodes.slice().reverse().find(function(node) {\n return isTabbable(node);\n });\n var posTabIndexesFound = !!tabbableNodes.find(function(node) {\n return getTabIndex(node) > 0;\n });\n return {\n container,\n tabbableNodes,\n focusableNodes,\n /** True if at least one node with positive `tabindex` was found in this container. */\n posTabIndexesFound,\n /** First tabbable node in container, __tabindex__ order; `undefined` if none. */\n firstTabbableNode,\n /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */\n lastTabbableNode,\n // NOTE: DOM order is NOT NECESSARILY \"document position\" order, but figuring that out\n // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // because that API doesn't work with Shadow DOM as well as it should (@see\n // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,\n // to address an edge case related to positive tabindex support, this seems like a much easier,\n // \"close enough most of the time\" alternative for positive tabindexes which should generally\n // be avoided anyway...\n /** First tabbable node in container, __DOM__ order; `undefined` if none. */\n firstDomTabbableNode,\n /** Last tabbable node in container, __DOM__ order; `undefined` if none. */\n lastDomTabbableNode,\n /**\n * Finds the __tabbable__ node that follows the given node in the specified direction,\n * in this container, if any.\n * @param {HTMLElement} node\n * @param {boolean} [forward] True if going in forward tab order; false if going\n * in reverse.\n * @returns {HTMLElement|undefined} The next tabbable node, if any.\n */\n nextTabbableNode: function nextTabbableNode(node) {\n var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;\n var nodeIdx = tabbableNodes.indexOf(node);\n if (nodeIdx < 0) {\n if (forward) {\n return focusableNodes.slice(focusableNodes.indexOf(node) + 1).find(function(el) {\n return isTabbable(el);\n });\n }\n return focusableNodes.slice(0, focusableNodes.indexOf(node)).reverse().find(function(el) {\n return isTabbable(el);\n });\n }\n return tabbableNodes[nodeIdx + (forward ? 1 : -1)];\n }\n };\n });\n state.tabbableGroups = state.containerGroups.filter(function(group) {\n return group.tabbableNodes.length > 0;\n });\n if (state.tabbableGroups.length <= 0 && !getNodeForOption(\"fallbackFocus\")) {\n throw new Error(\"Your focus-trap must have at least one container with at least one tabbable node in it at all times\");\n }\n if (state.containerGroups.find(function(g) {\n return g.posTabIndexesFound;\n }) && state.containerGroups.length > 1) {\n throw new Error(\"At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.\");\n }\n };\n var _getActiveElement = function getActiveElement(el) {\n var activeElement = el.activeElement;\n if (!activeElement) {\n return;\n }\n if (activeElement.shadowRoot && activeElement.shadowRoot.activeElement !== null) {\n return _getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n };\n var _tryFocus = function tryFocus(node) {\n if (node === false) {\n return;\n }\n if (node === _getActiveElement(document)) {\n return;\n }\n if (!node || !node.focus) {\n _tryFocus(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {\n var node = getNodeForOption(\"setReturnFocus\", {\n params: [previousActiveElement]\n });\n return node ? node : node === false ? false : previousActiveElement;\n };\n var findNextNavNode = function findNextNavNode2(_ref3) {\n var target = _ref3.target, event = _ref3.event, _ref3$isBackward = _ref3.isBackward, isBackward = _ref3$isBackward === void 0 ? false : _ref3$isBackward;\n target = target || getActualTarget(event);\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n var containerIndex = findContainerIndex(target, event);\n var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;\n if (containerIndex < 0) {\n if (isBackward) {\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (isBackward) {\n var startOfGroupIndex = state.tabbableGroups.findIndex(function(_ref4) {\n var firstTabbableNode = _ref4.firstTabbableNode;\n return target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? destinationGroup.lastTabbableNode : destinationGroup.lastDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target, false);\n }\n } else {\n var lastOfGroupIndex = state.tabbableGroups.findIndex(function(_ref5) {\n var lastTabbableNode = _ref5.lastTabbableNode;\n return target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = getTabIndex(target) >= 0 ? _destinationGroup.firstTabbableNode : _destinationGroup.firstDomTabbableNode;\n } else if (!isTabEvent(event)) {\n destinationNode = containerGroup.nextTabbableNode(target);\n }\n }\n } else {\n destinationNode = getNodeForOption(\"fallbackFocus\");\n }\n return destinationNode;\n };\n var checkPointerDown = function checkPointerDown2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n trap.deactivate({\n // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,\n // which will result in the outside click setting focus to the node\n // that was clicked (and if not focusable, to \"nothing\"); by setting\n // `returnFocus: true`, we'll attempt to re-focus the node originally-focused\n // on activation (or the configured `setReturnFocus` node), whether the\n // outside click was on a focusable node or not\n returnFocus: config.returnFocusOnDeactivate\n });\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n };\n var checkFocusIn = function checkFocusIn2(event) {\n var target = getActualTarget(event);\n var targetContained = findContainerIndex(target, event) >= 0;\n if (targetContained || target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = target;\n }\n } else {\n event.stopImmediatePropagation();\n var nextNode;\n var navAcrossContainers = true;\n if (state.mostRecentlyFocusedNode) {\n if (getTabIndex(state.mostRecentlyFocusedNode) > 0) {\n var mruContainerIdx = findContainerIndex(state.mostRecentlyFocusedNode);\n var tabbableNodes = state.containerGroups[mruContainerIdx].tabbableNodes;\n if (tabbableNodes.length > 0) {\n var mruTabIdx = tabbableNodes.findIndex(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n if (mruTabIdx >= 0) {\n if (config.isKeyForward(state.recentNavEvent)) {\n if (mruTabIdx + 1 < tabbableNodes.length) {\n nextNode = tabbableNodes[mruTabIdx + 1];\n navAcrossContainers = false;\n }\n } else {\n if (mruTabIdx - 1 >= 0) {\n nextNode = tabbableNodes[mruTabIdx - 1];\n navAcrossContainers = false;\n }\n }\n }\n }\n } else {\n if (!state.containerGroups.some(function(g) {\n return g.tabbableNodes.some(function(n) {\n return getTabIndex(n) > 0;\n });\n })) {\n navAcrossContainers = false;\n }\n }\n } else {\n navAcrossContainers = false;\n }\n if (navAcrossContainers) {\n nextNode = findNextNavNode({\n // move FROM the MRU node, not event-related node (which will be the node that is\n // outside the trap causing the focus escape we're trying to fix)\n target: state.mostRecentlyFocusedNode,\n isBackward: config.isKeyBackward(state.recentNavEvent)\n });\n }\n if (nextNode) {\n _tryFocus(nextNode);\n } else {\n _tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n }\n state.recentNavEvent = void 0;\n };\n var checkKeyNav = function checkKeyNav2(event) {\n var isBackward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n state.recentNavEvent = event;\n var destinationNode = findNextNavNode({\n event,\n isBackward\n });\n if (destinationNode) {\n if (isTabEvent(event)) {\n event.preventDefault();\n }\n _tryFocus(destinationNode);\n }\n };\n var checkTabKey = function checkTabKey2(event) {\n if (config.isKeyForward(event) || config.isKeyBackward(event)) {\n checkKeyNav(event, config.isKeyBackward(event));\n }\n };\n var checkEscapeKey = function checkEscapeKey2(event) {\n if (isEscapeEvent(event) && valueOrHandler(config.escapeDeactivates, event) !== false) {\n event.preventDefault();\n trap.deactivate();\n }\n };\n var checkClick = function checkClick2(e) {\n var target = getActualTarget(e);\n if (findContainerIndex(target, e) >= 0) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n var addListeners = function addListeners2() {\n if (!state.active) {\n return;\n }\n activeFocusTraps.activateTrap(trapStack, trap);\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {\n _tryFocus(getInitialFocusNode());\n }) : _tryFocus(getInitialFocusNode());\n doc.addEventListener(\"focusin\", checkFocusIn, true);\n doc.addEventListener(\"mousedown\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"touchstart\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"click\", checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkTabKey, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var removeListeners = function removeListeners2() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener(\"focusin\", checkFocusIn, true);\n doc.removeEventListener(\"mousedown\", checkPointerDown, true);\n doc.removeEventListener(\"touchstart\", checkPointerDown, true);\n doc.removeEventListener(\"click\", checkClick, true);\n doc.removeEventListener(\"keydown\", checkTabKey, true);\n doc.removeEventListener(\"keydown\", checkEscapeKey);\n return trap;\n };\n var checkDomRemoval = function checkDomRemoval2(mutations) {\n var isFocusedNodeRemoved = mutations.some(function(mutation) {\n var removedNodes = Array.from(mutation.removedNodes);\n return removedNodes.some(function(node) {\n return node === state.mostRecentlyFocusedNode;\n });\n });\n if (isFocusedNodeRemoved) {\n _tryFocus(getInitialFocusNode());\n }\n };\n var mutationObserver = typeof window !== \"undefined\" && \"MutationObserver\" in window ? new MutationObserver(checkDomRemoval) : void 0;\n var updateObservedNodes = function updateObservedNodes2() {\n if (!mutationObserver) {\n return;\n }\n mutationObserver.disconnect();\n if (state.active && !state.paused) {\n state.containers.map(function(container) {\n mutationObserver.observe(container, {\n subtree: true,\n childList: true\n });\n });\n }\n };\n trap = {\n get active() {\n return state.active;\n },\n get paused() {\n return state.paused;\n },\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, \"onActivate\");\n var onPostActivate = getOption(activateOptions, \"onPostActivate\");\n var checkCanFocusTrap = getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = _getActiveElement(doc);\n onActivate === null || onActivate === void 0 || onActivate();\n var finishActivation = function finishActivation2() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n updateObservedNodes();\n onPostActivate === null || onPostActivate === void 0 || onPostActivate();\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n var options = _objectSpread2({\n onDeactivate: config.onDeactivate,\n onPostDeactivate: config.onPostDeactivate,\n checkCanReturnFocus: config.checkCanReturnFocus\n }, deactivateOptions);\n clearTimeout(state.delayInitialFocusTimer);\n state.delayInitialFocusTimer = void 0;\n removeListeners();\n state.active = false;\n state.paused = false;\n updateObservedNodes();\n activeFocusTraps.deactivateTrap(trapStack, trap);\n var onDeactivate = getOption(options, \"onDeactivate\");\n var onPostDeactivate = getOption(options, \"onPostDeactivate\");\n var checkCanReturnFocus = getOption(options, \"checkCanReturnFocus\");\n var returnFocus = getOption(options, \"returnFocus\", \"returnFocusOnDeactivate\");\n onDeactivate === null || onDeactivate === void 0 || onDeactivate();\n var finishDeactivation = function finishDeactivation2() {\n delay(function() {\n if (returnFocus) {\n _tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n onPostDeactivate === null || onPostDeactivate === void 0 || onPostDeactivate();\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause(pauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = true;\n return this._setPausedState(true, pauseOptions);\n },\n unpause: function unpause(unpauseOptions) {\n if (!state.active) {\n return this;\n }\n state.manuallyPaused = false;\n if (trapStack[trapStack.length - 1] !== this) {\n return this;\n }\n return this._setPausedState(false, unpauseOptions);\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function(element) {\n return typeof element === \"string\" ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n updateObservedNodes();\n return this;\n }\n };\n Object.defineProperties(trap, {\n _isManuallyPaused: {\n value: function value() {\n return state.manuallyPaused;\n }\n },\n _setPausedState: {\n value: function value(paused, options) {\n if (state.paused === paused) {\n return this;\n }\n state.paused = paused;\n if (paused) {\n var onPause = getOption(options, \"onPause\");\n var onPostPause = getOption(options, \"onPostPause\");\n onPause === null || onPause === void 0 || onPause();\n removeListeners();\n updateObservedNodes();\n onPostPause === null || onPostPause === void 0 || onPostPause();\n } else {\n var onUnpause = getOption(options, \"onUnpause\");\n var onPostUnpause = getOption(options, \"onPostUnpause\");\n onUnpause === null || onUnpause === void 0 || onUnpause();\n updateTabbableNodes();\n addListeners();\n updateObservedNodes();\n onPostUnpause === null || onPostUnpause === void 0 || onPostUnpause();\n }\n return this;\n }\n }\n });\n trap.updateContainerElements(elements);\n return trap;\n};\nfunction useFocusTrap(target, options = {}) {\n let trap;\n const { immediate, ...focusTrapOptions } = options;\n const hasFocus = shallowRef(false);\n const isPaused = shallowRef(false);\n const activate = (opts) => trap && trap.activate(opts);\n const deactivate = (opts) => trap && trap.deactivate(opts);\n const pause = () => {\n if (trap) {\n trap.pause();\n isPaused.value = true;\n }\n };\n const unpause = () => {\n if (trap) {\n trap.unpause();\n isPaused.value = false;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return toArray(_targets).map((el) => {\n const _el = toValue(el);\n return typeof _el === \"string\" ? _el : unrefElement(_el);\n }).filter(notNullish);\n });\n watch(\n targets,\n (els) => {\n if (!els.length)\n return;\n if (!trap) {\n trap = createFocusTrap(els, {\n ...focusTrapOptions,\n onActivate() {\n hasFocus.value = true;\n if (options.onActivate)\n options.onActivate();\n },\n onDeactivate() {\n hasFocus.value = false;\n if (options.onDeactivate)\n options.onDeactivate();\n }\n });\n if (immediate)\n activate();\n } else {\n const isActive = trap == null ? void 0 : trap.active;\n trap == null ? void 0 : trap.updateContainerElements(els);\n if (!isActive && immediate) {\n activate();\n }\n }\n },\n { flush: \"post\" }\n );\n tryOnScopeDispose(() => deactivate());\n return {\n hasFocus,\n isPaused,\n activate,\n deactivate,\n pause,\n unpause\n };\n}\nconst useActivatedFocusTrap = ({\n element,\n isActive,\n noTrap,\n fallbackFocus,\n focus\n}, focusTrapOpts = {\n allowOutsideClick: true,\n fallbackFocus: fallbackFocus.ref.value ?? void 0,\n escapeDeactivates: false,\n clickOutsideDeactivates: false,\n initialFocus: focus\n}) => {\n const resolvedIsActive = readonly(toRef(isActive));\n const resolvedNoTrap = readonly(toRef(noTrap));\n const checkNeedsFallback = () => {\n const tabbableElements = element.value?.querySelectorAll(\n `a, button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"]):not(.${fallbackFocus.classSelector})`\n );\n return !tabbableElements?.length;\n };\n const needsFallback = ref(false);\n onMounted(() => {\n needsFallback.value = checkNeedsFallback();\n useMutationObserver(\n element,\n () => {\n needsFallback.value = checkNeedsFallback();\n },\n { childList: true, subtree: true }\n );\n });\n const trap = useFocusTrap(element, focusTrapOpts);\n watch(resolvedIsActive, async (newValue) => {\n if (newValue && resolvedNoTrap.value === false) {\n trap.activate();\n } else {\n trap.deactivate();\n }\n });\n watch(resolvedNoTrap, (newValue) => {\n if (newValue === true) {\n trap.deactivate();\n }\n });\n return {\n needsFallback: readonly(needsFallback)\n };\n};\nconst useScrollLock = createSharedComposable(useScrollLock$1);\nlet prevousRightPadding = \"\";\nconst lockRegistry = /* @__PURE__ */ new Map();\nconst useSafeScrollLock = (isOpen, bodyScroll) => {\n const resolvedIsOpen = readonly(toRef(isOpen));\n const id = useId();\n const inverseBodyScrollingValue = computed(() => !toValue(bodyScroll));\n const isLocked = useScrollLock(\n typeof document !== \"undefined\" ? document.body : null,\n resolvedIsOpen.value && inverseBodyScrollingValue.value\n );\n onMounted(() => {\n if (typeof document === \"undefined\") return;\n lockRegistry.set(id, false);\n watch(\n [resolvedIsOpen, inverseBodyScrollingValue],\n ([modelVal, bodyVal]) => {\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n const hasLocked = Array.from(lockRegistry.values()).some((val) => val === true);\n const myLocked = modelVal && bodyVal;\n lockRegistry.set(id, myLocked);\n if (myLocked && !hasLocked && !isLocked.value) {\n isLocked.value = true;\n if (scrollBarGap > 0) {\n prevousRightPadding = document.body.style.paddingRight;\n document.body.style.paddingRight = `${scrollBarGap + prevousRightPadding}px`;\n }\n }\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (hasLocked && !hasLockedAfter) {\n lockRegistry.set(id, false);\n isLocked.value = false;\n document.body.style.paddingRight = prevousRightPadding;\n }\n },\n { immediate: true }\n );\n });\n onUnmounted(() => {\n lockRegistry.delete(id);\n const hasLockedAfter = Array.from(lockRegistry.values()).some((val) => val === true);\n if (!hasLockedAfter) {\n document.body.style.paddingRight = prevousRightPadding;\n isLocked.value = false;\n }\n });\n};\nexport {\n useSafeScrollLock as a,\n useActivatedFocusTrap as b,\n useScrollLock as u\n};\n//# sourceMappingURL=useSafeScrollLock-DhacR9hN.mjs.map\n","const getActiveElement = (excludes = []) => {\n const { activeElement } = document;\n return activeElement && !excludes?.some((el) => el === activeElement) ? activeElement : null;\n};\nconst attemptFocus = (el, options = {}) => {\n const isActiveElement = (el2) => el2 === getActiveElement();\n try {\n el.focus(options);\n } catch (e) {\n console.error(e);\n }\n return isActiveElement(el);\n};\nconst isEmptySlot = (el) => (el?.() ?? []).length === 0;\nconst isVisible = (el) => {\n if (el.getAttribute(\"display\") === \"none\") {\n return false;\n }\n const bcr = el.getBoundingClientRect();\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n};\nconst sortSlotElementsByPosition = (a, b) => {\n if (typeof Node === \"undefined\" || !Node || !a || !b) return 0;\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n return 0;\n};\nconst getModalZIndex = (element) => {\n if (typeof window === \"undefined\") return 1055;\n const target = element ?? document.body;\n const raw = window.getComputedStyle(target).getPropertyValue(\"--bs-modal-zindex\").trim();\n const parsed = Number.parseInt(raw, 10);\n return Number.isFinite(parsed) ? parsed : 1055;\n};\nexport {\n isVisible as a,\n attemptFocus as b,\n getModalZIndex as c,\n getActiveElement as g,\n isEmptySlot as i,\n sortSlotElementsByPosition as s\n};\n//# sourceMappingURL=dom-DVb-f0ZG.mjs.map\n","import { inject, ref, computed, shallowRef, watchEffect, getCurrentInstance as getCurrentInstance$1, provide } from \"vue\";\nimport { f as defaultsKey } from \"./keys-BLeKMItg.mjs\";\nfunction injectSelf(key, vm = getCurrentInstance(\"injectSelf\")) {\n const { provides } = vm;\n if (provides && key in provides) {\n return provides[key];\n }\n return void 0;\n}\nfunction getCurrentInstance(name, message) {\n const vm = getCurrentInstance$1();\n if (!vm) {\n throw new Error(`[Bvn] ${name} ${\"must be called from inside a setup function\"}`);\n }\n return vm;\n}\nconst toKebabCase = (str = \"\") => str.replace(/[^a-z]/gi, \"-\").replace(/\\B([A-Z])/g, \"-$1\").toLowerCase();\nconst isObject = (obj) => obj !== null && typeof obj === \"object\" && !Array.isArray(obj);\nfunction mergeDeep(source = {}, target = {}, arrayFn) {\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n if (isObject(sourceProperty) && isObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nconst propIsDefined = (vnode, prop) => typeof vnode.props?.[prop] !== \"undefined\" || typeof vnode.props?.[toKebabCase(prop)] !== \"undefined\";\nfunction internalUseDefaults(props = {}, name) {\n const defaults = inject(defaultsKey, ref({}));\n const vm = getCurrentInstance(\"useDefaults\");\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error(\"[Bvn] Could not determine component name\");\n }\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop);\n if (prop === \"class\" || prop === \"style\") {\n return [componentDefaults.value?.[prop], propValue].filter((v) => v != null);\n } else if (typeof prop === \"string\" && !propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;\n }\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(\n ([key]) => key.startsWith(key[0].toUpperCase())\n );\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : void 0;\n } else {\n _subcomponentDefaults.value = void 0;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(defaultsKey, vm);\n provide(\n defaultsKey,\n computed(\n () => _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value\n )\n );\n }\n return { props: _props, provideSubDefaults };\n}\nfunction useDefaults(props, name) {\n const { props: _props, provideSubDefaults } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\nexport {\n useDefaults as u\n};\n//# sourceMappingURL=useDefaults-DESCdb0p.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useColorVariantClasses = (obj) => computed(() => {\n let props = toValue(obj);\n props = {\n variant: props.variant ?? null,\n bgVariant: props.bgVariant ?? null,\n textVariant: props.textVariant ?? null,\n borderVariant: props.borderVariant ?? null\n };\n return {\n [`text-bg-${props.variant}`]: props.variant !== null,\n [`text-${props.textVariant}`]: props.textVariant !== null,\n [`bg-${props.bgVariant}`]: props.bgVariant !== null,\n [`border-${props.borderVariant}`]: props.borderVariant !== null\n };\n});\nexport {\n useColorVariantClasses as u\n};\n//# sourceMappingURL=useColorVariantClasses-ZDE19TZw.mjs.map\n","import { defineComponent, useSlots, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"visually-hidden\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BSpinner\",\n props: {\n label: { default: void 0 },\n role: { default: \"status\" },\n small: { type: Boolean, default: false },\n tag: { default: \"span\" },\n type: { default: \"border\" },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BSpinner\");\n const slots = useSlots();\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n `spinner-${props.type}`,\n colorClasses.value,\n {\n [`spinner-${props.type}-sm`]: props.small\n }\n ]);\n const hasLabelSlot = computed(() => !isEmptySlot(slots.label));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: unref(props).label || hasLabelSlot.value ? unref(props).role : null,\n \"aria-hidden\": unref(props).label || hasLabelSlot.value ? null : true\n }, {\n default: withCtx(() => [\n unref(props).label || hasLabelSlot.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\", \"role\", \"aria-hidden\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs.map\n","const omit = (objToPluck, keysToPluck) => Object.keys(objToPluck).filter((key) => !keysToPluck.map((el) => el.toString()).includes(key)).reduce((result, key) => ({ ...result, [key]: objToPluck[key] }), {});\nconst pick = (objToPluck, keysToPluck) => [...keysToPluck].reduce(\n (memo, prop) => {\n memo[prop] = objToPluck[prop];\n return memo;\n },\n {}\n);\nconst get = (value, path, defaultValue) => {\n const segments = path.split(/[.[\\]]/g);\n let current = value;\n for (const key of segments) {\n if (current === null) return defaultValue;\n if (current === void 0) return defaultValue;\n if (key.trim() === \"\") continue;\n current = current[key];\n }\n if (current === void 0) return defaultValue;\n return current;\n};\nconst set = (initial, path, value) => {\n const clone = (obj) => {\n const isPrimitive = (value2) => value2 === void 0 || value2 === null || typeof value2 !== \"object\" && typeof value2 !== \"function\";\n if (isPrimitive(obj)) {\n return obj;\n }\n if (typeof obj === \"function\") {\n return obj.bind({});\n }\n const newObj = new obj.constructor();\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n newObj[prop] = obj[prop];\n });\n return newObj;\n };\n const toInt = (value2, defaultValue) => {\n const def = defaultValue;\n if (value2 === null || value2 === void 0) {\n return def;\n }\n const result = Number.parseInt(value2);\n return Number.isNaN(result) ? def : result;\n };\n if (!initial) return {};\n if (!path || value === void 0) return initial;\n const segments = path.split(/[.[\\]]/g).filter((x) => !!x.trim());\n const _set = (node) => {\n if (segments.length > 1) {\n const key = segments.shift();\n const nextIsNum = toInt(segments[0], null) === null ? false : true;\n node[key] = node[key] === void 0 ? nextIsNum ? [] : {} : node[key];\n _set(node[key]);\n } else {\n node[segments[0]] = value;\n }\n };\n const cloned = clone(initial);\n _set(cloned);\n return cloned;\n};\nconst deepEqual = (a, b) => {\n if (a === b) {\n return true;\n }\n if (typeof a !== \"object\" || a === null || typeof b !== \"object\" || b === null) {\n return false;\n }\n const keysA = Object.keys(a), keysB = Object.keys(b);\n if (keysA.length !== keysB.length) {\n return false;\n }\n for (const key of keysA) {\n if (!keysB.includes(key) || !deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n};\nexport {\n deepEqual as d,\n get as g,\n omit as o,\n pick as p,\n set as s\n};\n//# sourceMappingURL=object-0ALvRU0O.mjs.map\n","const CODE_DOWN = \"ArrowDown\";\nconst CODE_END = \"End\";\nconst CODE_HOME = \"Home\";\nconst CODE_LEFT = \"ArrowLeft\";\nconst CODE_PAGEDOWN = \"PageDown\";\nconst CODE_PAGEUP = \"PageUp\";\nconst CODE_RIGHT = \"ArrowRight\";\nconst CODE_UP = \"ArrowUp\";\nconst RX_UNDERSCORE = /_/g;\nconst RX_LOWER_UPPER = /([a-z])([A-Z])/g;\nconst RX_NUMBER = /^[0-9]*\\.?[0-9]+$/;\nconst RX_START_SPACE_WORD = /(\\s|^)(\\w)/g;\nconst RX_FIRST_START_SPACE_WORD = /(\\s|^)(\\w)/;\nconst RX_SPACE_SPLIT = /\\s+/;\nconst RX_HASH = /^#/;\nconst RX_HASH_ID = /^#[A-Za-z]+[\\w\\-:.]*$/;\nconst RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g;\nconst RX_SPACES = /[\\s\\uFEFF\\xA0]+/g;\nexport {\n CODE_LEFT as C,\n RX_SPACE_SPLIT as R,\n CODE_UP as a,\n CODE_RIGHT as b,\n CODE_DOWN as c,\n RX_HASH_ID as d,\n RX_HASH as e,\n RX_NUMBER as f,\n RX_SPACES as g,\n RX_REGEXP_REPLACE as h,\n RX_UNDERSCORE as i,\n RX_LOWER_UPPER as j,\n RX_FIRST_START_SPACE_WORD as k,\n RX_START_SPACE_WORD as l,\n CODE_HOME as m,\n CODE_END as n,\n CODE_PAGEUP as o,\n CODE_PAGEDOWN as p\n};\n//# sourceMappingURL=constants-Cx335y3L.mjs.map\n","import { g as RX_SPACES, h as RX_REGEXP_REPLACE, i as RX_UNDERSCORE, j as RX_LOWER_UPPER, k as RX_FIRST_START_SPACE_WORD, l as RX_START_SPACE_WORD } from \"./constants-Cx335y3L.mjs\";\nconst startCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_FIRST_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst titleCase = (str) => str.replace(RX_UNDERSCORE, \" \").replace(RX_LOWER_UPPER, (_, $1, $2) => `${$1} ${$2}`).replace(RX_START_SPACE_WORD, (_, $1, $2) => $1 + $2.toUpperCase());\nconst upperFirst = (str) => {\n const trim = str.trim();\n return trim.charAt(0).toUpperCase() + trim.slice(1);\n};\nconst escapeRegExp = (str) => str.replace(RX_REGEXP_REPLACE, \"\\\\$&\");\nconst escapeRegExpChars = (str) => escapeRegExp(str).replace(RX_SPACES, \"\\\\s\");\nconst toPascalCase = (str) => str.replace(/-./g, (match) => match.charAt(1).toUpperCase()).replace(/\\b\\w/g, (match) => match.toUpperCase()).replace(/\\s+/g, \"\");\nexport {\n toPascalCase as a,\n escapeRegExpChars as e,\n startCase as s,\n titleCase as t,\n upperFirst as u\n};\n//# sourceMappingURL=stringUtils-gJJ6T6UC.mjs.map\n","import { readonly, toRef, computed, getCurrentInstance, resolveDynamicComponent, toValue, defineComponent, useAttrs, inject, createBlock, openBlock, unref, mergeProps, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { c as collapseInjectionKey, v as navbarInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { a as toPascalCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nconst isLink = (props) => !!(props.href || props.to);\nconst useBLinkHelper = (props, pickProps) => {\n const pickPropsResolved = readonly(toRef(pickProps));\n const resolvedProps = readonly(toRef(props));\n const computedLink = computed(() => isLink(resolvedProps.value));\n const computedLinkProps = computed(\n () => computedLink.value ? pick(\n resolvedProps.value,\n pickPropsResolved.value ?? [\n \"active\",\n \"activeClass\",\n \"append\",\n \"exactActiveClass\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\"\n ]\n ) : {}\n );\n return { computedLink, computedLinkProps };\n};\nconst useBLinkTagResolver = ({\n to,\n disabled,\n href,\n replace,\n routerComponentName\n}) => {\n const instance = getCurrentInstance();\n const router = instance?.appContext?.app?.config?.globalProperties?.$router;\n const route = instance?.appContext?.app?.config?.globalProperties?.$route;\n const RouterLinkComponent = resolveDynamicComponent(\"RouterLink\");\n const useLink = !!RouterLinkComponent && typeof RouterLinkComponent !== \"string\" && \"useLink\" in RouterLinkComponent ? RouterLinkComponent.useLink : null;\n const resolvedTo = computed(() => toValue(to) || \"\");\n const resolvedReplace = readonly(toRef(replace));\n const routerName = computed(() => toPascalCase(toValue(routerComponentName)));\n const tag = computed(() => {\n const hasRouter = instance?.appContext?.app?.component(routerName.value) !== void 0;\n if (!hasRouter || toValue(disabled) || !resolvedTo.value) {\n return \"a\";\n }\n return routerName.value;\n });\n const isRouterLink = computed(() => tag.value === \"RouterLink\");\n const isNuxtLink = computed(\n // @ts-expect-error we're doing an explicit check for Nuxt, so we can safely ignore this\n () => isRouterLink.value && typeof instance?.appContext?.app?.$nuxt !== \"undefined\"\n );\n const isNonStandardTag = computed(\n () => tag.value !== \"a\" && !isRouterLink.value && !isNuxtLink.value\n );\n const isOfRouterType = computed(() => isRouterLink.value || isNuxtLink.value);\n const linkProps = computed(() => ({\n to: resolvedTo.value,\n replace: resolvedReplace.value\n }));\n const _link = useLink?.({\n to: resolvedTo,\n replace: resolvedReplace\n });\n const link = computed(() => isOfRouterType.value ? _link : null);\n const computedHref = computed(() => {\n if (link.value?.href.value) return link.value.href.value;\n const toFallback = \"#\";\n const resolvedHref = toValue(href);\n if (resolvedHref) return resolvedHref;\n if (typeof resolvedTo.value === \"string\") return resolvedTo.value || toFallback;\n const stableTo = resolvedTo.value;\n if (stableTo !== void 0 && \"path\" in stableTo) {\n const path = stableTo.path || \"\";\n const query = stableTo.query ? `?${Object.keys(stableTo.query).map((e) => `${e}=${stableTo.query?.[e]}`).join(\"=\")}` : \"\";\n const hash = !stableTo.hash || stableTo.hash.charAt(0) === \"#\" ? stableTo.hash || \"\" : `#${stableTo.hash}`;\n return `${path}${query}${hash}` || toFallback;\n }\n return toFallback;\n });\n return {\n isNonStandardTag,\n tag,\n isRouterLink,\n isNuxtLink,\n computedHref,\n routerName,\n router,\n route,\n link,\n linkProps\n };\n};\nconst useLinkClasses = (linkProps) => computed(() => {\n const props = toValue(linkProps);\n return {\n [`link-${props.variant}`]: props.variant !== null,\n [`link-opacity-${props.opacity}`]: props.opacity !== void 0,\n [`link-opacity-${props.opacityHover}-hover`]: props.opacityHover !== void 0,\n [`link-underline-${props.underlineVariant}`]: props.underlineVariant !== null,\n [`link-offset-${props.underlineOffset}`]: props.underlineOffset !== void 0,\n [`link-offset-${props.underlineOffsetHover}-hover`]: props.underlineOffsetHover !== void 0,\n [\"link-underline\"]: props.underlineVariant === null && (props.underlineOpacity !== void 0 || props.underlineOpacityHover !== void 0),\n [`link-underline-opacity-${props.underlineOpacity}`]: props.underlineOpacity !== void 0,\n [`link-underline-opacity-${props.underlineOpacityHover}-hover`]: props.underlineOpacityHover !== void 0,\n \"icon-link\": props.icon === true\n };\n});\nconst defaultActiveClass = \"active\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BLink\",\n props: {\n active: { type: Boolean, default: void 0 },\n activeClass: { default: \"router-link-active\" },\n disabled: { type: Boolean, default: false },\n exactActiveClass: { default: \"router-link-exact-active\" },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean, default: false },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean, default: void 0 },\n prefetchOn: { default: void 0 },\n noPrefetch: { type: Boolean, default: void 0 },\n prefetchedClass: { default: void 0 },\n rel: { default: void 0 },\n replace: { type: Boolean, default: false },\n routerComponentName: { default: \"router-link\" },\n routerTag: { default: \"a\" },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BLink\");\n const emit = __emit;\n const attrs = useAttrs();\n const { computedHref, tag, link, isNuxtLink, isRouterLink, linkProps, isNonStandardTag } = useBLinkTagResolver({\n routerComponentName: () => props.routerComponentName,\n disabled: () => props.disabled,\n to: () => props.to,\n replace: () => props.replace,\n href: () => props.href\n });\n const collapseData = inject(collapseInjectionKey, null);\n const navbarData = inject(navbarInjectionKey, null);\n const linkValueClasses = useLinkClasses(props);\n const computedClasses = computed(() => [\n linkValueClasses.value,\n attrs.class,\n computedLinkClasses.value,\n {\n [defaultActiveClass]: props.active,\n [props.activeClass]: link.value?.isActive.value || false,\n [props.exactActiveClass]: link.value?.isExactActive.value || false,\n \"stretched-link\": props.stretched === true\n }\n ]);\n const computedLinkClasses = computed(() => ({\n [defaultActiveClass]: props.active,\n disabled: props.disabled\n }));\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return;\n }\n if (collapseData?.isNav?.value === true && navbarData === null || navbarData !== null && navbarData.noAutoClose?.value !== true) {\n collapseData?.hide?.();\n }\n emit(\"click\", e);\n };\n const computedRel = computed(\n () => props.target === \"_blank\" ? !props.rel && props.noRel ? \"noopener\" : props.rel : void 0\n );\n const computedTabIndex = computed(\n () => props.disabled ? \"-1\" : typeof attrs.tabindex === \"undefined\" ? null : attrs.tabindex\n );\n const nuxtSpecificProps = computed(() => ({\n prefetch: props.prefetch,\n noPrefetch: props.noPrefetch,\n prefetchOn: props.prefetchOn,\n prefetchedClass: props.prefetchedClass,\n ...linkProps.value\n }));\n const computedSpecificProps = computed(() => ({\n ...isRouterLink.value ? linkProps.value : void 0,\n // In addition to being Nuxt specific, we add these values if it's some non-standard tag. We don't know what it is,\n // So we just add it anyways. It will be made as an attr if it's unused so it's fine\n ...isNuxtLink.value || isNonStandardTag.value ? nuxtSpecificProps.value : void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(tag)), mergeProps({\n class: computedClasses.value,\n target: unref(props).target,\n href: unref(computedHref),\n rel: computedRel.value,\n tabindex: computedTabIndex.value,\n \"aria-disabled\": unref(props).disabled ? true : null\n }, computedSpecificProps.value, {\n onClick: _cache[0] || (_cache[0] = (e) => {\n clicked(e);\n unref(link)?.navigate(e);\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"target\", \"href\", \"rel\", \"tabindex\", \"aria-disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n useLinkClasses as a,\n useBLinkHelper as u\n};\n//# sourceMappingURL=BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs.map\n","import { defineComponent, mergeModels, useTemplateRef, useModel, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, createCommentVNode, Fragment, createTextVNode, toDisplayString, createVNode } from \"vue\";\nimport { _ as _sfc_main$2 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { u as useBLinkHelper, a as useLinkClasses, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButton\",\n props: /* @__PURE__ */ mergeModels({\n loading: { type: Boolean, default: false },\n loadingFill: { type: Boolean, default: false },\n loadingText: { default: \"Loading...\" },\n pill: { type: Boolean, default: false },\n size: { default: \"md\" },\n squared: { type: Boolean, default: false },\n tag: { default: \"button\" },\n type: { default: \"button\" },\n variant: { default: \"secondary\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: false },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n routerTag: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: null }\n }, {\n \"pressed\": { type: Boolean, ...{ default: void 0 } },\n \"pressedModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"click\"], [\"update:pressed\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BButton\");\n const emit = __emit;\n const element = useTemplateRef(\"_element\");\n const pressedValue = useModel(__props, \"pressed\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active-class\",\n \"exact-active-class\",\n \"replace\",\n \"routerComponentName\",\n \"routerTag\"\n ]);\n const isToggle = computed(() => typeof pressedValue.value === \"boolean\");\n const isButton = computed(\n () => props.tag === \"button\" && props.href === void 0 && props.to === void 0\n );\n const isBLink = computed(() => props.to !== void 0);\n const nonStandardTag = computed(() => props.href !== void 0 ? false : !isButton.value);\n const linkProps = computed(() => isBLink.value ? computedLinkProps.value : []);\n const computedAriaDisabled = computed(() => {\n if (props.href === \"#\" && props.disabled) return true;\n return nonStandardTag.value ? props.disabled : null;\n });\n const variantIsLinkType = computed(() => props.variant?.startsWith(\"link\") || false);\n const variantIsLinkTypeSubset = computed(() => props.variant?.startsWith(\"link-\") || false);\n const linkValueClasses = useLinkClasses(\n computed(() => ({\n ...variantIsLinkType.value ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant: variantIsLinkTypeSubset.value === true ? props.variant?.slice(5) : null\n } : void 0\n }))\n );\n const computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false ? linkValueClasses.value : void 0,\n [`btn-${props.size}`],\n {\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n \"active\": props.active || pressedValue.value,\n \"rounded-pill\": props.pill,\n \"rounded-0\": props.squared,\n \"disabled\": props.disabled\n }\n ]);\n const computedTag = computed(() => isBLink.value ? _sfc_main$1 : props.href ? \"a\" : props.tag);\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n emit(\"click\", e);\n if (isToggle.value) pressedValue.value = !pressedValue.value;\n };\n onKeyStroke(\n [\" \", \"enter\"],\n (e) => {\n if (props.href === \"#\") {\n e.preventDefault();\n element.value?.click();\n }\n },\n { target: element }\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n ref: \"_element\",\n class: \"btn\"\n }, linkProps.value, {\n class: computedClasses.value,\n \"aria-disabled\": computedAriaDisabled.value,\n \"aria-pressed\": isToggle.value ? pressedValue.value : null,\n autocomplete: isToggle.value ? \"off\" : null,\n disabled: isButton.value ? unref(props).disabled : null,\n href: unref(props).href,\n rel: unref(computedLink) ? unref(props).rel : null,\n role: nonStandardTag.value || unref(computedLink) ? \"button\" : null,\n target: unref(computedLink) ? unref(props).target : null,\n type: isButton.value ? unref(props).type : null,\n to: !isButton.value ? unref(props).to : null,\n onClick: clicked\n }), {\n default: withCtx(() => [\n unref(props).loading ? renderSlot(_ctx.$slots, \"loading\", { key: 0 }, () => [\n !unref(props).loadingFill ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(props).loadingText), 1)\n ], 64)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"loading-spinner\", {}, () => [\n createVNode(_sfc_main$2, {\n small: unref(props).size !== \"lg\",\n label: unref(props).loadingFill ? unref(props).loadingText : void 0\n }, null, 8, [\"small\", \"label\"])\n ])\n ]) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 16, [\"class\", \"aria-disabled\", \"aria-pressed\", \"autocomplete\", \"disabled\", \"href\", \"rel\", \"role\", \"target\", \"type\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs.map\n","import { defineComponent, createElementBlock, openBlock, unref } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _hoisted_1 = [\"type\", \"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCloseButton\",\n props: {\n ariaLabel: { default: \"Close\" },\n disabled: { type: Boolean, default: false },\n type: { default: \"button\" }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCloseButton\");\n const emit = __emit;\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n type: unref(props).type,\n class: \"btn-close\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).ariaLabel,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, null, 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs.map\n","import { w as withBvnPrefix } from \"./keys-BLeKMItg.mjs\";\nimport { useId as useId$1, computed, toValue } from \"vue\";\nconst useId = (id, suffix) => {\n const genId = useId$1();\n return computed(() => toValue(id) || withBvnPrefix(genId || \"\", suffix));\n};\nexport {\n useId as u\n};\n//# sourceMappingURL=useId-t29UARy6.mjs.map\n","class BvEvent {\n cancelable = true;\n componentId = null;\n _defaultPrevented = false;\n eventType = \"\";\n nativeEvent = null;\n _preventDefault;\n relatedTarget = null;\n target = null;\n // Readable by everyone,\n // But only overwritten by inherrited constructors\n get defaultPrevented() {\n return this._defaultPrevented;\n }\n set defaultPrevented(prop) {\n this._defaultPrevented = prop;\n }\n // I think this is right\n // We want to be able to have it callable to everyone,\n // But only overwritten by inherrited constructors\n get preventDefault() {\n return this._preventDefault;\n }\n // This may not be correct, because it doesn't get correct type inferences in children\n // Ex overwrite this.preventDefault = () => true is valid. Could be a TS issue\n set preventDefault(setter) {\n this._preventDefault = setter;\n }\n constructor(eventType, eventInit = {}) {\n if (!eventType) {\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${arguments.length} given.`\n );\n }\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n this._preventDefault = function _preventDefault() {\n if (this.cancelable) {\n this.defaultPrevented = true;\n }\n };\n }\n static get Defaults() {\n return {\n cancelable: true,\n componentId: null,\n eventType: \"\",\n nativeEvent: null,\n relatedTarget: null,\n target: null\n };\n }\n}\nclass BvTriggerableEvent extends BvEvent {\n trigger = null;\n ok = void 0;\n constructor(eventType, eventInit = {}) {\n super(eventType, eventInit);\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n }\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null,\n ok: void 0\n };\n }\n}\nclass BvCarouselEvent extends BvEvent {\n from;\n to;\n direction;\n constructor(eventType, eventInit) {\n super(eventType, eventInit);\n Object.assign(this, BvEvent.Defaults, eventInit, { eventType });\n const { from, direction, to } = eventInit;\n this.from = from;\n this.to = to;\n this.direction = direction;\n }\n static get Defaults() {\n return {\n ...super.Defaults\n };\n }\n}\nexport {\n BvEvent as B,\n BvTriggerableEvent as a,\n BvCarouselEvent as b\n};\n//# sourceMappingURL=classes-BW_GpXTu.mjs.map\n","import { ref, watch, computed, onMounted, nextTick, inject, getCurrentInstance, readonly, onBeforeUnmount, onUnmounted } from \"vue\";\nimport { s as showHideRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { a as BvTriggerableEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { h as useEventListener } from \"./index-C0p9vHHI.mjs\";\nimport { a as useThrottleFn } from \"./index-KdB7ucR5.mjs\";\nconst fadeBaseTransitionProps = {\n name: \"fade\",\n enterActiveClass: \"\",\n enterFromClass: \"showing\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveFromClass: \"\",\n leaveToClass: \"showing\",\n css: true\n};\nconst useShowHide = (modelValue, props, emit, element, computedId, options = {\n transitionProps: {},\n showFn: () => {\n },\n hideFn: () => {\n }\n}) => {\n let noAction = false;\n const initialShow = !!modelValue.value && !props.initialAnimation || props.visible || false;\n const showRef = ref(initialShow);\n const renderRef = ref(initialShow);\n const renderBackdropRef = ref(initialShow);\n let isCountdown = typeof modelValue.value !== \"boolean\";\n watch(modelValue, () => {\n isCountdown = typeof modelValue.value !== \"boolean\";\n if (noAction) {\n noAction = false;\n return;\n }\n if (modelValue.value) {\n show();\n } else {\n hide(\"modelValue\", true);\n }\n });\n const localNoAnimation = ref(initialShow);\n const localTemporaryHide = ref(false);\n const computedNoAnimation = computed(\n () => props.noAnimation || props.noFade || localNoAnimation.value || false\n );\n let isMounted = false;\n onMounted(() => {\n isMounted = true;\n if (!props.show && initialShow) {\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n return;\n }\n localNoAnimation.value = true;\n if (!modelValue.value) {\n noAction = true;\n modelValue.value = true;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n isVisible.value = true;\n backdropVisible.value = true;\n backdropReady.value = true;\n showRef.value = true;\n options.showFn?.();\n } else if (props.show || !!modelValue.value && props.initialAnimation) {\n show();\n }\n });\n watch(\n () => props.visible,\n (newval) => {\n localNoAnimation.value = true;\n nextTick(() => {\n if (newval) isVisible.value = true;\n if (newval) {\n show();\n } else {\n hide(\"visible-prop\", true);\n }\n });\n }\n );\n watch(\n () => props.show,\n (newval) => {\n if (newval) {\n show();\n } else {\n hide(\"show-prop\", true);\n }\n }\n );\n useEventListener(element, \"bv-toggle\", () => {\n modelValue.value = !modelValue.value;\n });\n const buildTriggerableEvent = (type, opts = {}) => new BvTriggerableEvent(type, {\n cancelable: false,\n target: element?.value || null,\n relatedTarget: null,\n trigger: null,\n ...opts,\n componentId: computedId?.value\n });\n let showTimeout;\n let hideTimeout;\n let _Resolve;\n let _Promise;\n let _resolveOnHide;\n const show = (resolveOnHide = false) => {\n if (showRef.value && !hideTimeout && !_Promise) return Promise.resolve(true);\n _resolveOnHide = resolveOnHide;\n if (showRef.value && !hideTimeout && _Promise) return _Promise;\n _Promise = new Promise((resolve) => {\n _Resolve = resolve;\n });\n const event = buildTriggerableEvent(\"show\", { cancelable: true });\n emit(\"show\", event);\n if (event.defaultPrevented) {\n emit(\"show-prevented\", buildTriggerableEvent(\"show-prevented\"));\n if (isVisible.value) {\n isVisible.value = false;\n }\n if (modelValue.value && !isCountdown) {\n noAction = true;\n nextTick(() => {\n modelValue.value = false;\n });\n }\n _Resolve?.(\"show-prevented\");\n return _Promise;\n }\n if (hideTimeout) {\n clearTimeout(hideTimeout);\n hideTimeout = void 0;\n }\n renderRef.value = true;\n renderBackdropRef.value = true;\n requestAnimationFrame(() => {\n if (localNoAnimation.value || props.delay === void 0) {\n if (!isMounted) return;\n showTimeout = void 0;\n showRef.value = true;\n options.showFn?.();\n if (!modelValue.value) {\n noAction = true;\n nextTick(() => {\n modelValue.value = true;\n });\n }\n return;\n }\n showTimeout = setTimeout(\n () => {\n if (!isMounted) return;\n showTimeout = void 0;\n showRef.value = true;\n options.showFn?.();\n if (!modelValue.value) {\n noAction = true;\n nextTick(() => {\n modelValue.value = true;\n });\n }\n },\n typeof props.delay === \"number\" ? props.delay : props.delay?.show || 0\n );\n });\n return _Promise;\n };\n let leaveTrigger;\n const hide = (trigger, noTriggerEmit) => {\n if (!showRef.value && !showTimeout) return Promise.resolve(\"\");\n if (!_Promise)\n _Promise = new Promise((resolve) => {\n _Resolve = resolve;\n });\n if (typeof trigger !== \"string\") trigger = void 0;\n leaveTrigger = trigger;\n const event = buildTriggerableEvent(\"hide\", { cancelable: true, trigger });\n const event2 = buildTriggerableEvent(trigger || \"ignore\", { cancelable: true, trigger });\n if (trigger === \"backdrop\" && props.noCloseOnBackdrop || trigger === \"esc\" && props.noCloseOnEsc) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\", { trigger }));\n _Resolve?.(\"hide-prevented\");\n return _Promise;\n }\n if (showTimeout) {\n clearTimeout(showTimeout);\n showTimeout = void 0;\n }\n if (trigger && !noTriggerEmit) {\n emit(trigger, event2);\n }\n emit(\"hide\", event);\n if (event.defaultPrevented || event2.defaultPrevented) {\n emit(\"hide-prevented\", buildTriggerableEvent(\"hide-prevented\", { trigger }));\n if (!modelValue.value) {\n nextTick(() => {\n noAction = true;\n modelValue.value = true;\n });\n }\n _Resolve?.(\"hide-prevented\");\n return _Promise;\n }\n trapActive.value = false;\n if (showTimeout) {\n clearTimeout(showTimeout);\n showTimeout = void 0;\n if (!localTemporaryHide.value) renderRef.value = false;\n renderBackdropRef.value = false;\n }\n hideTimeout = setTimeout(\n () => {\n if (!isMounted) return;\n hideTimeout = void 0;\n isLeaving.value = true;\n showRef.value = false;\n options.hideFn?.();\n if (modelValue.value) {\n noAction = true;\n modelValue.value = isCountdown ? 0 : false;\n }\n },\n localNoAnimation.value ? 0 : typeof props.delay === \"number\" ? props.delay : props.delay?.hide || 0\n );\n return _Promise;\n };\n const throttleHide = useThrottleFn((a) => hide(a), 500);\n const throttleShow = useThrottleFn(() => show(), 500);\n const toggle = (resolveOnHide = false) => {\n const e = buildTriggerableEvent(\"toggle\", { cancelable: true });\n emit(\"toggle\", e);\n if (e.defaultPrevented) {\n emit(\"toggle-prevented\", buildTriggerableEvent(\"toggle-prevented\"));\n return Promise.resolve(\"toggle-prevented\");\n }\n if (showRef.value) {\n return hide(\"toggle-function\", true);\n }\n return show(resolveOnHide);\n };\n const triggerToggle = () => {\n const e = buildTriggerableEvent(\"toggle\", { cancelable: true });\n emit(\"toggle\", e);\n if (e.defaultPrevented) {\n emit(\"toggle-prevented\", buildTriggerableEvent(\"toggle-prevented\"));\n return;\n }\n if (showRef.value) {\n hide(\"toggle-trigger\", true);\n } else {\n show();\n }\n };\n const triggerRegistry = [];\n const registerTrigger = (trigger, el) => {\n triggerRegistry.push({ trigger, el });\n el.addEventListener(trigger, triggerToggle);\n checkVisibility(el);\n };\n const unregisterTrigger = (trigger, el, clean = true) => {\n const idx = triggerRegistry.findIndex((t) => t?.trigger === trigger && t.el === el);\n if (idx > -1) {\n triggerRegistry.splice(idx, 1);\n el.removeEventListener(trigger, triggerToggle);\n if (clean) {\n el.removeAttribute(\"aria-expanded\");\n el.classList.remove(\"collapsed\");\n el.classList.remove(\"not-collapsed\");\n }\n }\n };\n const appRegistry = inject(showHideRegistryKey, void 0)?.register({\n id: computedId.value,\n toggle,\n show,\n hide,\n value: readonly(showRef),\n registerTrigger,\n unregisterTrigger,\n component: getCurrentInstance()\n });\n const checkVisibility = (el) => {\n el.setAttribute(\"aria-expanded\", modelValue.value ? \"true\" : \"false\");\n el.classList.toggle(\"collapsed\", !modelValue.value);\n el.classList.toggle(\"not-collapsed\", !!modelValue.value);\n };\n watch(modelValue, () => {\n triggerRegistry.forEach((t) => {\n checkVisibility(t.el);\n });\n });\n watch(computedId, (newId, oldId) => {\n appRegistry?.updateId(newId, oldId);\n });\n onBeforeUnmount(() => {\n appRegistry?.unregister();\n triggerRegistry.forEach((t) => {\n t.el.removeEventListener(t.trigger, triggerToggle);\n });\n });\n onUnmounted(() => {\n isMounted = false;\n clearTimeout(showTimeout);\n clearTimeout(hideTimeout);\n showTimeout = void 0;\n hideTimeout = void 0;\n });\n const lazyLoadCompleted = ref(false);\n const markLazyLoadCompleted = () => {\n if (props.lazy === true) lazyLoadCompleted.value = true;\n };\n const isLeaving = ref(false);\n const isActive = ref(initialShow);\n const isVisible = ref(initialShow);\n const onBeforeEnter = (el) => {\n options.transitionProps?.onBeforeEnter?.(el);\n props.transitionProps?.onBeforeEnter?.(el);\n isActive.value = true;\n };\n const onEnter = (el) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isVisible.value = true;\n });\n });\n options.transitionProps?.onEnter?.(el);\n props.transitionProps?.onEnter?.(el);\n };\n const onAfterEnter = (el) => {\n markLazyLoadCompleted();\n options.transitionProps?.onAfterEnter?.(el);\n props.transitionProps?.onAfterEnter?.(el);\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n if (localTemporaryHide.value) {\n localTemporaryHide.value = false;\n }\n requestAnimationFrame(() => {\n trapActive.value = true;\n nextTick(() => {\n emit(\"shown\", buildTriggerableEvent(\"shown\", { cancelable: false }));\n });\n });\n if (!_resolveOnHide) {\n _Resolve?.(true);\n _Promise = void 0;\n _Resolve = void 0;\n }\n };\n const onBeforeLeave = (el) => {\n if (!isLeaving.value) isLeaving.value = true;\n options.transitionProps?.onBeforeLeave?.(el);\n props.transitionProps?.onBeforeLeave?.(el);\n trapActive.value = false;\n };\n const onLeave = (el) => {\n isVisible.value = false;\n options.transitionProps?.onLeave?.(el);\n props.transitionProps?.onLeave?.(el);\n };\n const onAfterLeave = (el) => {\n emit(\"hidden\", buildTriggerableEvent(\"hidden\", { trigger: leaveTrigger, cancelable: false }));\n options.transitionProps?.onAfterLeave?.(el);\n props.transitionProps?.onAfterLeave?.(el);\n isLeaving.value = false;\n isActive.value = false;\n if (localNoAnimation.value) {\n requestAnimationFrame(() => {\n localNoAnimation.value = false;\n });\n }\n requestAnimationFrame(() => {\n if (!localTemporaryHide.value) renderRef.value = false;\n });\n _Resolve?.(leaveTrigger || \"\");\n _Promise = void 0;\n _Resolve = void 0;\n leaveTrigger = void 0;\n };\n const contentShowing = computed(\n () => localTemporaryHide.value === true || isActive.value === true || props.lazy === false || props.lazy === true && lazyLoadCompleted.value === true && props.unmountLazy === false\n );\n const trapActive = ref(false);\n const backdropVisible = ref(false);\n const backdropReady = ref(false);\n const transitionFunctions = {\n ...options.transitionProps,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onBeforeLeave,\n onLeave,\n onAfterLeave\n };\n return {\n showRef,\n renderRef,\n renderBackdropRef,\n isVisible,\n isActive,\n trapActive,\n show,\n hide,\n toggle,\n throttleHide,\n throttleShow,\n buildTriggerableEvent,\n computedNoAnimation,\n localNoAnimation,\n localTemporaryHide,\n isLeaving,\n transitionProps: {\n ...fadeBaseTransitionProps,\n ...props.transitionProps,\n ...transitionFunctions\n },\n lazyLoadCompleted,\n markLazyLoadCompleted,\n contentShowing,\n backdropReady,\n backdropVisible,\n backdropTransitionProps: {\n ...fadeBaseTransitionProps,\n onBeforeEnter: () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n backdropVisible.value = true;\n });\n });\n backdropReady.value = false;\n },\n onAfterEnter: () => {\n backdropReady.value = true;\n },\n onBeforeLeave: () => {\n backdropVisible.value = false;\n },\n onAfterLeave: () => {\n backdropReady.value = false;\n requestAnimationFrame(() => {\n renderBackdropRef.value = false;\n });\n }\n }\n };\n};\nexport {\n useShowHide as u\n};\n//# sourceMappingURL=useShowHide-717t6y_D.mjs.map\n","const getElement = (element, root = typeof document !== \"undefined\" ? document : void 0) => {\n if (!element) return void 0;\n if (typeof element === \"string\") {\n if (typeof root === \"undefined\" || typeof document === \"undefined\") return void 0;\n const idElement = document.getElementById(element);\n return idElement ?? root.querySelector(element) ?? void 0;\n }\n return element.$el ?? element;\n};\nexport {\n getElement as g\n};\n//# sourceMappingURL=getElement-DrDVR-jO.mjs.map\n","import { computed, toValue } from \"vue\";\nconst NO_FADE_PROPS = {\n name: \"\",\n enterActiveClass: \"\",\n enterToClass: \"\",\n leaveActiveClass: \"\",\n leaveToClass: \"showing\",\n enterFromClass: \"showing\",\n leaveFromClass: \"\"\n};\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: \"fade showing\",\n leaveActiveClass: \"fade showing\"\n};\nconst useFadeTransition = (fade) => computed(() => toValue(fade) ? FADE_PROPS : NO_FADE_PROPS);\nexport {\n useFadeTransition as u\n};\n//# sourceMappingURL=useTransitions-BAT154ve.mjs.map\n","import { t as titleCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nconst getTableFieldHeadLabel = (field) => typeof field === \"string\" ? titleCase(field) : field.label !== void 0 ? field.label : typeof field.key === \"string\" ? titleCase(field.key) : field.key;\nconst btableSimpleProps = Object.freeze(\n Object.keys({\n bordered: 0,\n borderless: 0,\n borderVariant: 0,\n captionTop: 0,\n dark: 0,\n fixed: 0,\n hover: 0,\n id: 0,\n noBorderCollapse: 0,\n outlined: 0,\n responsive: 0,\n small: 0,\n stacked: 0,\n stickyHeader: 0,\n striped: 0,\n stripedColumns: 0,\n variant: 0,\n tableAttrs: 0,\n tableClass: 0\n })\n);\nconst btableLiteProps = Object.freeze(\n Object.keys({\n align: 0,\n caption: 0,\n detailsTdClass: 0,\n fieldColumnClass: 0,\n fields: 0,\n footClone: 0,\n footRowVariant: 0,\n footVariant: 0,\n headRowVariant: 0,\n headVariant: 0,\n items: 0,\n labelStacked: 0,\n modelValue: 0,\n primaryKey: 0,\n tbodyClass: 0,\n tbodyTrAttrs: 0,\n tbodyTrClass: 0,\n tfootClass: 0,\n tfootTrClass: 0,\n theadClass: 0,\n theadTrClass: 0\n })\n);\nconst getDataLabelAttr = (props, label) => props.stacked && props.labelStacked !== true ? { \"data-label\": label } : void 0;\nexport {\n getTableFieldHeadLabel as a,\n btableSimpleProps as b,\n btableLiteProps as c,\n getDataLabelAttr as g\n};\n//# sourceMappingURL=tableUtils-Jp7dzXjS.mjs.map\n","import { getCurrentInstance, watch, computed, toValue, inject, defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, nextTick, createBlock, openBlock, unref, withCtx, createCommentVNode, renderSlot, Transition, mergeProps, withDirectives, createElementVNode, withModifiers, createElementBlock, normalizeClass, normalizeProps, guardReactiveProps, resolveDynamicComponent, createTextVNode, toDisplayString, Fragment, createVNode, vShow, normalizeStyle, toRef, markRaw, onScopeDispose, isRef, isReadonly } from \"vue\";\nimport { m as getSSRHandler, c as unrefElement, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { m as modalManagerKey, o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { e as tryOnScopeDispose } from \"./index-KdB7ucR5.mjs\";\nimport { b as buildPromise } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { b as useActivatedFocusTrap, a as useSafeScrollLock } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as isEmptySlot, c as getModalZIndex } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nconst modalOpenClassName = \"modal-open\";\nconst useSharedModalStack = () => {\n const modalManagerPlugin = inject(modalManagerKey);\n const dispose = (modal) => {\n modalManagerPlugin?.removeStack(modal);\n modalManagerPlugin?.removeRegistry(modal);\n };\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector, attribute, value) => {\n const el = typeof selector === \"string\" ? window?.document.querySelector(selector) : unrefElement(selector);\n if (!el) return;\n if (attribute === \"class\") {\n el.classList.toggle(modalOpenClassName, value === modalOpenClassName);\n } else {\n el.setAttribute(attribute, value);\n }\n });\n tryOnScopeDispose(() => {\n if (modalManagerPlugin?.countStack.value === 0) {\n updateHTMLAttrs(\"body\", \"class\", \"\");\n }\n });\n watch(\n () => modalManagerPlugin?.countStack.value,\n (newValue) => {\n if (newValue === void 0) return;\n updateHTMLAttrs(\"body\", \"class\", newValue > 0 ? modalOpenClassName : \"\");\n }\n );\n return {\n ...modalManagerPlugin,\n dispose\n };\n};\nconst useModalManager = (modalOpen, initialValue) => {\n const { pushRegistry, pushStack, removeStack, stack, dispose, countStack } = useSharedModalStack();\n const currentModal = getCurrentInstance();\n if (!currentModal || currentModal.type.__name !== \"BModal\") {\n throw new Error(\"useModalManager must only use in BModal component\");\n }\n pushRegistry?.(currentModal);\n tryOnScopeDispose(() => {\n dispose(currentModal);\n });\n const setInStack = (newValue, oldValue) => {\n if (newValue) {\n pushStack?.(currentModal);\n } else if (oldValue && !newValue) {\n removeStack?.(currentModal);\n }\n };\n setInStack(initialValue, initialValue);\n watch(modalOpen, setInStack);\n return {\n activePosition: computed(\n () => stack?.value.findIndex((el) => toValue(el.exposed?.id) === toValue(currentModal.exposed?.id))\n ),\n activeModalCount: countStack,\n stackWithoutSelf: computed(\n () => stack?.value.filter(\n (el) => toValue(el.exposed?.id) !== toValue(currentModal.exposed?.id)\n ) ?? []\n )\n };\n};\nconst _hoisted_1 = [\"id\", \"aria-labelledby\", \"aria-describedby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"modal-fallback-focus\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModal\",\n props: /* @__PURE__ */ mergeModels({\n focus: { type: [String, Boolean, Object, null], default: void 0 },\n backdropFirst: { type: Boolean, default: false },\n body: { default: void 0 },\n bodyAttrs: { default: void 0 },\n bodyBgVariant: { default: null },\n bodyClass: { default: null },\n bodyScrolling: { type: Boolean, default: false },\n bodyTextVariant: { default: null },\n bodyVariant: { default: null },\n busy: { type: Boolean, default: false },\n buttonSize: { default: \"md\" },\n cancelClass: { default: void 0 },\n cancelDisabled: { type: Boolean, default: false },\n cancelTitle: { default: \"Cancel\" },\n cancelVariant: { default: \"secondary\" },\n centered: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n dialogClass: { default: void 0 },\n footerBgVariant: { default: null },\n footerBorderVariant: { default: null },\n footerClass: { default: void 0 },\n footerTextVariant: { default: null },\n footerVariant: { default: null },\n fullscreen: { type: [Boolean, String], default: false },\n headerAttrs: { default: void 0 },\n headerBgVariant: { default: null },\n headerBorderVariant: { default: null },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n headerTextVariant: { default: null },\n headerVariant: { default: null },\n noBackdrop: { type: Boolean, default: false },\n noFooter: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noHeaderClose: { type: Boolean, default: false },\n id: { default: void 0 },\n modalClass: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noStacking: { type: Boolean },\n okClass: { default: void 0 },\n okDisabled: { type: Boolean, default: false },\n okOnly: { type: Boolean, default: false },\n okTitle: { default: \"OK\" },\n okVariant: { default: \"primary\" },\n scrollable: { type: Boolean, default: false },\n size: { default: \"md\" },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n titleVisuallyHidden: { type: Boolean, default: false },\n titleTag: { default: \"h5\" },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"backdrop\", \"close\", \"esc\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModal\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"modal\");\n const modelValue = useModel(__props, \"modelValue\");\n const element = useTemplateRef(\"_element\");\n const fallbackFocusElement = useTemplateRef(\"_fallbackFocusElement\");\n const okButton = useTemplateRef(\"_okButton\");\n const cancelButton = useTemplateRef(\"_cancelButton\");\n const closeButton = useTemplateRef(\"_closeButton\");\n const pickFocusItem = () => {\n if (props.focus && typeof props.focus !== \"boolean\") {\n if (props.focus === \"ok\") {\n return okButton;\n } else if (props.focus === \"close\") {\n return closeButton;\n } else if (props.focus === \"cancel\") {\n return cancelButton;\n }\n return getElement(props.focus, element.value ?? void 0) ?? element.value;\n }\n return element;\n };\n let activeElement = null;\n const onAfterEnter = () => {\n if (props.noTrap && props.focus !== false) {\n activeElement = document.activeElement;\n if (activeElement === element.value) {\n activeElement = null;\n }\n const el = unrefElement(pickFocusItem());\n if (!el) return;\n el?.focus();\n if (el.tagName && el.tagName.toLowerCase() === \"input\" && typeof el.select === \"function\") {\n el.select();\n }\n }\n };\n const onAfterLeave = () => {\n if (props.noTrap && props.focus !== false && activeElement) {\n activeElement?.focus();\n activeElement = null;\n }\n };\n const {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n backdropTransitionProps,\n isLeaving,\n isVisible,\n trapActive,\n contentShowing,\n backdropReady,\n backdropVisible\n } = useShowHide(modelValue, props, emit, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onAfterEnter,\n onAfterLeave\n }\n });\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap,\n fallbackFocus: {\n ref: fallbackFocusElement,\n classSelector: fallbackClassSelector\n },\n focus: () => props.focus === false ? false : unrefElement(pickFocusItem()) ?? void 0\n // () => (typeof focus === 'boolean' ? focus : (unrefElement(focus) ?? undefined)),\n });\n onKeyStroke(\n \"Escape\",\n () => {\n hide(\"esc\");\n },\n { target: element }\n );\n useSafeScrollLock(showRef, () => props.bodyScrolling);\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const modalDialogClasses = computed(() => [\n props.dialogClass,\n {\n \"modal-fullscreen\": props.fullscreen === true,\n [`modal-fullscreen-${props.fullscreen}-down`]: typeof props.fullscreen === \"string\",\n [`modal-${props.size}`]: props.size !== \"md\",\n \"modal-dialog-centered\": props.centered,\n \"modal-dialog-scrollable\": props.scrollable\n }\n ]);\n const bodyColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.bodyBgVariant,\n textVariant: props.bodyTextVariant,\n variant: props.bodyVariant\n }));\n const bodyClasses = computed(() => [props.bodyClass, bodyColorClasses.value]);\n const headerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.headerBgVariant,\n textVariant: props.headerTextVariant,\n variant: props.headerVariant,\n borderVariant: props.headerBorderVariant\n }));\n const headerClasses = computed(() => [props.headerClass, headerColorClasses.value]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: props.headerCloseClass\n }));\n const footerColorClasses = useColorVariantClasses(() => ({\n bgVariant: props.footerBgVariant,\n textVariant: props.footerTextVariant,\n variant: props.footerVariant,\n borderVariant: props.footerBorderVariant\n }));\n const footerClasses = computed(() => [props.footerClass, footerColorClasses.value]);\n const titleClasses = computed(() => [\n props.titleClass,\n {\n [\"visually-hidden\"]: props.titleVisuallyHidden\n }\n ]);\n const disableCancel = computed(() => props.cancelDisabled || props.busy);\n const disableOk = computed(() => props.okDisabled || props.busy);\n const { activePosition, activeModalCount, stackWithoutSelf } = useModalManager(\n showRef,\n modelValue.value\n );\n const sharedClasses = computed(() => ({\n [`stack-position-${activePosition?.value ?? 0}`]: true,\n [`stack-inverse-position-${(activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0)}`]: true\n }));\n watch(stackWithoutSelf, (newValue, oldValue) => {\n if (newValue.length > oldValue.length && showRef.value === true && props.noStacking === true)\n hide();\n });\n const defaultModalDialogZIndex = ref(\n getModalZIndex(element.value ?? (typeof document !== \"undefined\" ? document.body : void 0))\n );\n onMounted(() => {\n watch(\n renderRef,\n (v) => {\n if (!v) return;\n nextTick(() => {\n if (!element.value) return;\n defaultModalDialogZIndex.value = getModalZIndex(element.value);\n });\n },\n { immediate: true }\n );\n });\n const computedZIndexNumber = computed(\n () => (\n // Make sure that newly opened modals have a higher z-index than currently active ones.\n // All active modals have a z-index of ('defaultZIndex' - 'stackSize' - 'positionInStack').\n //\n // This means inactive modals will already be higher than active ones when opened.\n showRef.value || isLeaving.value ? (\n // Just for reference there is a single frame in which the modal is not active but still has a higher z-index than the active ones due to _when_ it calculates its position. It's a small visual effect\n defaultModalDialogZIndex.value - ((activeModalCount?.value ?? 0) * 2 - (activePosition?.value ?? 0) * 2)\n ) : defaultModalDialogZIndex.value\n )\n );\n const computedZIndex = computed(() => ({\n \"z-index\": computedZIndexNumber.value,\n \"--b-position\": activePosition?.value ?? 0,\n \"--b-inverse-position\": (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n \"--b-count\": activeModalCount?.value ?? 0\n }));\n const computedZIndexBackdrop = computed(() => ({\n \"z-index\": computedZIndexNumber.value - 1,\n \"--b-position\": activePosition?.value ?? 0,\n \"--b-inverse-position\": (activeModalCount?.value ?? 1) - 1 - (activePosition?.value ?? 0),\n \"--b-count\": activeModalCount?.value ?? 0\n }));\n const sharedSlots = computed(() => ({\n id: computedId.value,\n cancel: () => {\n hide(\"cancel\");\n },\n close: () => {\n hide(\"close\");\n },\n hide,\n show,\n toggle,\n ok: () => {\n hide(\"ok\");\n },\n active: showRef.value,\n visible: showRef.value\n }));\n __expose({\n hide,\n id: computedId,\n show,\n toggle,\n visible: showRef\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n class: [\"modal\", [\n unref(props).modalClass,\n {\n fade: !unref(computedNoAnimation),\n show: unref(isVisible),\n ...sharedClasses.value\n }\n ]],\n role: \"dialog\",\n \"aria-labelledby\": !unref(props).noHeader ? `${unref(computedId)}-label` : void 0,\n \"aria-describedby\": `${unref(computedId)}-body`,\n tabindex: \"-1\"\n }, _ctx.$attrs, {\n style: [computedZIndex.value, { \"display\": \"block\" }],\n onMousedown: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"backdrop\"), [\"left\", \"self\"]))\n }), [\n createElementVNode(\"div\", {\n class: normalizeClass([\"modal-dialog\", modalDialogClasses.value])\n }, [\n unref(contentShowing) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"modal-content\", unref(props).contentClass])\n }, [\n !unref(props).noHeader ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n class: [\"modal-header\", headerClasses.value]\n }, unref(props).headerAttrs), [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).titleTag), {\n id: `${unref(computedId)}-label`,\n class: normalizeClass([\"modal-title\", titleClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"])),\n !unref(props).noHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 0,\n ref: \"_closeButton\"\n }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n ref: \"_closeButton\",\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(hide)(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])\n ], 16)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n id: `${unref(computedId)}-body`,\n class: [\"modal-body\", bodyClasses.value]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ], 16, _hoisted_2),\n !unref(props).noFooter ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([\"modal-footer\", footerClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n renderSlot(_ctx.$slots, \"cancel\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n !unref(props).okOnly ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n ref: \"_cancelButton\",\n disabled: disableCancel.value,\n size: unref(props).buttonSize,\n variant: unref(props).cancelVariant,\n class: normalizeClass(unref(props).cancelClass),\n onClick: _cache[2] || (_cache[2] = ($event) => unref(hide)(\"cancel\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).cancelTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\", \"class\"])) : createCommentVNode(\"\", true)\n ]),\n renderSlot(_ctx.$slots, \"ok\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createVNode(_sfc_main$2, {\n ref: \"_okButton\",\n disabled: disableOk.value,\n size: unref(props).buttonSize,\n variant: unref(props).okVariant,\n class: normalizeClass(unref(props).okClass),\n onClick: _cache[3] || (_cache[3] = ($event) => unref(hide)(\"ok\"))\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(unref(props).okTitle), 1)\n ]),\n _: 1\n }, 8, [\"disabled\", \"size\", \"variant\", \"class\"])\n ])\n ])\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)) : createCommentVNode(\"\", true)\n ], 2),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: \"_fallbackFocusElement\",\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [vShow, unref(showRef) && (unref(backdropReady) && unref(props).backdropFirst || !unref(props).backdropFirst)]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true),\n !unref(props).noBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 1 }, sharedSlots.value)), () => [\n unref(renderBackdropRef) ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, unref(backdropTransitionProps))), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"modal-backdrop\", {\n fade: !unref(computedNoAnimation),\n show: unref(backdropVisible) || unref(computedNoAnimation),\n ...sharedClasses.value\n }]),\n style: normalizeStyle(computedZIndexBackdrop.value),\n onClick: _cache[5] || (_cache[5] = ($event) => unref(hide)(\"backdrop\"))\n }, null, 6), [\n [vShow, unref(showRef) || unref(isLeaving) && unref(props).backdropFirst && !unref(computedNoAnimation)]\n ])\n ]),\n _: 1\n }, 16)) : createCommentVNode(\"\", true)\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nconst useModal = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw Error(\n \"useModal() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj = {}, options = {}) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\"BApp or BOrchestrator component must be mounted to use the modal controller\");\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Modals controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: markRaw(_sfc_main) } : store.value[previousIndex];\n const v = {\n type: \"modal\",\n _self,\n position: \"modal\",\n ...previous,\n options,\n promise\n };\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.modelValue = v.modelValue ?? false;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n const modal = store.value.find((el) => el._self === _self);\n if (modal) {\n modal.modelValue = val;\n }\n };\n if (previousIndex === -1) {\n store.value.push(v);\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => {\n const modal = store.value.find((el) => el._self === _self);\n if (modal) {\n modal.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const { lastStack, stack, registry } = useSharedModalStack();\n const show = (id) => {\n if (id === void 0) {\n if (lastStack?.value) {\n lastStack?.value.exposed?.show();\n }\n } else {\n const stackModal = stack?.value.find((modal2) => modal2.exposed?.id === id);\n if (stackModal) {\n stackModal.exposed?.show();\n return;\n }\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n modal.modelValue = true;\n modal[\"onUpdate:modelValue\"]?.(true);\n } else {\n stack?.value.forEach((modal2) => {\n if (modal2.exposed?.id === id) {\n modal2.exposed?.show();\n }\n });\n }\n }\n };\n const hide = (trigger, id) => {\n if (id === void 0) {\n if (lastStack?.value) {\n lastStack?.value.exposed?.hide(trigger);\n }\n } else {\n const stackModal = stack?.value.find((modal2) => modal2.exposed?.id === id);\n if (stackModal) {\n stackModal.exposed?.hide(trigger);\n return;\n }\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n modal.modelValue = false;\n modal[\"onUpdate:modelValue\"]?.(false);\n } else {\n stack?.value.forEach((modal2) => {\n if (modal2.exposed?.id === id) {\n modal2.exposed?.hide(trigger, true);\n }\n });\n }\n }\n };\n const hideAll = (trigger) => {\n stack?.value.forEach((modal) => {\n modal.exposed?.hide(trigger, true);\n });\n };\n const get = (id) => {\n const modal = store.value.find((el) => el._self === id);\n if (modal) {\n return {\n modal,\n show() {\n modal?.promise.value.show();\n },\n hide(trigger) {\n modal?.promise.value.hide(trigger);\n }\n };\n }\n if (registry?.value) {\n for (const [, modal2] of registry?.value.entries() ?? []) {\n if (toValue(modal2.exposed?.id) === id) {\n return {\n modal: modal2,\n show() {\n modal2.exposed?.show();\n },\n hide(trigger) {\n modal2.exposed?.hide(trigger, true);\n }\n };\n }\n }\n }\n return null;\n };\n const instance = getCurrentInstance();\n const current = () => {\n const findBModal = (component) => {\n if (!component.parent) {\n return null;\n }\n if (component.parent.type === _sfc_main) {\n return component.parent;\n }\n return findBModal(component.parent);\n };\n if (!instance) {\n return null;\n }\n const modalComponent = computed(() => findBModal(instance));\n const modal = computed(() => modalComponent.value?.proxy);\n return {\n show() {\n modalComponent.value?.exposed?.show();\n },\n hide(trigger) {\n modalComponent.value?.exposed?.hide(trigger, true);\n },\n modal\n };\n };\n return {\n show,\n hide,\n hideAll,\n get,\n current,\n create,\n _isOrchestratorInstalled,\n store\n // Todo: Supports listening events globally in the future\n };\n};\nconst useModalController = useModal;\nexport {\n _sfc_main as _,\n useModalController as a,\n useModal as u\n};\n//# sourceMappingURL=index-BDkr-YqK.mjs.map\n","import { f as useIntersectionObserver, g as useMutationObserver } from \"../../../index-C0p9vHHI.mjs\";\nimport { toRef, ref, watch, getCurrentInstance, nextTick, onMounted, computed, readonly } from \"vue\";\nimport { g as getElement } from \"../../../getElement-DrDVR-jO.mjs\";\nimport { s as syncRef } from \"../../../index-KdB7ucR5.mjs\";\nconst useScrollspy = (content, target, options = {}) => {\n const cont = toRef(content);\n const tar = toRef(target);\n const resolvedContent = ref(getElement(cont.value));\n const resolvedTarget = ref(getElement(tar.value));\n watch([cont, tar], () => {\n updateList();\n });\n const {\n contentQuery = \":scope > [id]\",\n targetQuery = \"[href]\",\n manual = false,\n root,\n rootMargin = \"0px 0px -25%\",\n threshold = [0.1, 0.5, 1],\n watchChanges = true\n } = options;\n const current = ref(null);\n const list = ref([]);\n const nodeList = ref([]);\n const ctx = getCurrentInstance();\n if (!ctx) {\n nextTick(() => {\n updateList();\n });\n } else {\n onMounted(() => {\n syncRef(cont, resolvedContent, {\n transform: {\n ltr: (v) => getElement(v)\n },\n direction: \"ltr\",\n immediate: true\n });\n syncRef(tar, resolvedTarget, {\n transform: {\n ltr: (v) => getElement(v)\n },\n direction: \"ltr\",\n immediate: true\n });\n updateList();\n });\n }\n const updateList = () => {\n nodeList.value = resolvedContent.value ? Array.from(resolvedContent.value.querySelectorAll(contentQuery)) : [];\n list.value = nodeList.value.map((el) => ({\n id: el.id,\n el,\n visible: false,\n text: el.textContent\n }));\n };\n let isScrollingDown = true;\n let previousScrollTop = 0;\n const scrollRoot = computed(\n () => resolvedContent.value && getComputedStyle(resolvedContent.value).overflowY === \"visible\" ? null : resolvedContent.value\n );\n const iobs = useIntersectionObserver(\n nodeList,\n (entries) => {\n const scrollTop = (scrollRoot.value || document?.documentElement)?.scrollTop;\n isScrollingDown = scrollTop > previousScrollTop;\n previousScrollTop = scrollTop;\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n list.value.forEach((node) => {\n if (node.el === entry.target) {\n node.visible = true;\n }\n });\n return;\n }\n list.value.forEach((node) => {\n if (node.el === entry.target) {\n node.visible = false;\n }\n });\n });\n let newId = null;\n if (isScrollingDown) {\n newId = [...list.value].reverse().find((node) => node.visible)?.id || null;\n } else {\n newId = list.value.find((node) => node.visible)?.id || null;\n }\n if (newId !== null) {\n current.value = newId;\n }\n if (!current.value) {\n current.value = list.value[0]?.id || null;\n }\n },\n {\n root: root ? getElement(root) : scrollRoot,\n rootMargin,\n threshold\n }\n );\n watch(current, (newId) => {\n if (manual) return;\n const nodes = resolvedTarget.value?.querySelectorAll(targetQuery);\n if (nodes === void 0) return;\n let foundParent = false;\n let activeElement = null;\n nodes.forEach((node) => {\n const parentDropdown = node.closest(\".dropdown\");\n if (node.getAttribute(\"href\")?.includes(`#${newId}`)) {\n activeElement = node;\n node.classList.add(\"active\");\n if (parentDropdown) {\n parentDropdown?.querySelector(\".dropdown-toggle\")?.classList.add(\"active\");\n foundParent = true;\n }\n let parentNav = node.closest(\".nav\")?.previousSibling;\n while (parentNav?.classList?.contains(\"nav-item\")) {\n foundParent = true;\n parentNav.querySelector(\".nav-link\")?.classList.add(\"active\");\n parentNav = parentNav.closest(\".nav\")?.previousSibling;\n }\n } else {\n node.classList.remove(\"active\");\n if (parentDropdown && !foundParent) {\n parentDropdown?.querySelector(\".dropdown-toggle\")?.classList.remove(\"active\");\n }\n if (!foundParent) {\n let parentNav = node.closest(\".nav\")?.previousSibling;\n while (parentNav?.classList?.contains(\"nav-item\")) {\n foundParent = true;\n if (parentNav.querySelector(\".nav-link\") !== activeElement) {\n parentNav.querySelector(\".nav-link\")?.classList.remove(\"active\");\n }\n parentNav = parentNav.closest(\".nav\")?.previousSibling;\n }\n }\n }\n });\n });\n const mobs = !watchChanges ? { stop: () => {\n } } : useMutationObserver(\n resolvedContent,\n () => {\n updateList();\n },\n {\n childList: true\n }\n );\n const scrollIntoView = (event, smooth = false) => {\n event.preventDefault();\n const href = event.target?.getAttribute?.(\"href\");\n const el = href ? document?.querySelector(href) : null;\n if (el && resolvedContent.value) {\n if (resolvedContent.value.scrollTo) {\n resolvedContent.value.scrollTo({ top: el.offsetTop, behavior: smooth ? \"smooth\" : \"auto\" });\n } else {\n resolvedContent.value.scrollTop = el.offsetTop;\n }\n }\n };\n const cleanup = () => {\n iobs.stop();\n mobs.stop();\n };\n return {\n current: readonly(current),\n list,\n content: resolvedContent,\n target: resolvedTarget,\n scrollIntoView,\n updateList,\n cleanup\n };\n};\nexport {\n useScrollspy\n};\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, inject, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, renderSlot, createTextVNode, toDisplayString, provide, toRef, unref, createVNode } from \"vue\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { q as progressInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BProgressBar\",\n props: {\n animated: { type: Boolean, default: false },\n label: { default: void 0 },\n max: { default: void 0 },\n precision: { default: 0 },\n showProgress: { type: Boolean, default: false },\n showValue: { type: Boolean, default: false },\n striped: { type: Boolean, default: false },\n value: { default: 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgressBar\");\n const parentData = inject(progressInjectionKey, null);\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"progress-bar-animated\": props.animated || parentData?.animated.value,\n \"progress-bar-striped\": props.striped || parentData?.striped.value || props.animated || parentData?.animated.value\n }\n ]);\n const numberPrecision = useToNumber(() => props.precision);\n const numberValue = useToNumber(() => props.value);\n const numberMax = useToNumber(() => props.max ?? Number.NaN);\n const parentMaxNumber = useToNumber(() => parentData?.max.value ?? Number.NaN);\n const computedLabel = computed(\n () => props.showValue || parentData?.showValue.value ? numberValue.value.toFixed(numberPrecision.value) : props.showProgress || parentData?.showProgress.value ? (numberValue.value * 100 / (numberMax.value || 100)).toFixed(numberPrecision.value) : props.label !== void 0 ? props.label : \"\"\n );\n const computedWidth = computed(\n () => parentMaxNumber.value ? `${numberValue.value * 100 / parentMaxNumber.value}%` : numberMax.value ? `${numberValue.value * 100 / numberMax.value}%` : typeof props.value === \"string\" ? props.value : `${props.value}%`\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"progress-bar\", computedClasses.value]),\n style: normalizeStyle({ width: computedWidth.value })\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(computedLabel.value), 1)\n ])\n ], 6);\n };\n }\n});\nconst _hoisted_1 = [\"aria-valuenow\", \"aria-valuemax\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BProgress\",\n props: {\n height: { default: void 0 },\n animated: { type: Boolean, default: void 0 },\n max: { default: 100 },\n precision: { default: void 0 },\n showProgress: { type: Boolean, default: void 0 },\n showValue: { type: Boolean, default: void 0 },\n striped: { type: Boolean, default: void 0 },\n value: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BProgress\");\n provide(progressInjectionKey, {\n animated: toRef(() => props.animated),\n max: toRef(() => props.max),\n showProgress: toRef(() => props.showProgress),\n showValue: toRef(() => props.showValue),\n striped: toRef(() => props.striped)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: \"progress\",\n role: \"progressbar\",\n style: normalizeStyle({ height: unref(props).height }),\n \"aria-valuenow\": unref(props).value,\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": unref(props).max\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createVNode(_sfc_main$1, {\n animated: unref(props).animated,\n max: unref(props).max,\n precision: unref(props).precision,\n \"show-progress\": unref(props).showProgress,\n \"show-value\": unref(props).showValue,\n striped: unref(props).striped,\n value: unref(props).value,\n variant: unref(props).variant,\n \"text-variant\": unref(props).textVariant,\n \"bg-variant\": unref(props).bgVariant\n }, null, 8, [\"animated\", \"max\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"value\", \"variant\", \"text-variant\", \"bg-variant\"])\n ])\n ], 12, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs.map\n","import { j as useTimestamp, k as useElementHover } from \"./index-C0p9vHHI.mjs\";\nimport { readonly, toRef, ref, computed, watch, toValue } from \"vue\";\nconst useCountdown = (length, interval, timestampOpts = {}) => {\n const resolvedLength = readonly(toRef(length));\n const isPaused = ref(false);\n const target = ref(Date.now() + resolvedLength.value);\n const { isActive, pause, resume, timestamp } = useTimestamp({\n interval,\n controls: true,\n callback: (v) => {\n if (v >= target.value) {\n isPaused.value = false;\n pause();\n }\n },\n ...timestampOpts\n });\n const value = computed(() => target.value - timestamp.value);\n const restart = () => {\n target.value = Date.now() + resolvedLength.value;\n resume();\n };\n watch(resolvedLength, () => {\n if (resolvedLength.value > 0) {\n restart();\n }\n });\n const myPause = () => {\n isPaused.value = true;\n pause();\n };\n const myResume = () => {\n isPaused.value = false;\n const remainingTime = target.value - timestamp.value;\n target.value = Date.now() + remainingTime;\n resume();\n };\n const stop = () => {\n pause();\n timestamp.value = target.value;\n isPaused.value = false;\n };\n return {\n isActive: readonly(isActive),\n isPaused: readonly(isPaused),\n stop,\n pause: myPause,\n resume: myResume,\n restart,\n value\n };\n};\nconst useCountdownHover = (element, {\n modelValueIgnoresHover,\n noHoverPause,\n noResumeOnHoverLeave\n}, actions) => {\n const isHovering = useElementHover(element);\n const onMouseEnter = () => {\n if (toValue(noHoverPause)) return;\n actions.pause();\n };\n const onMouseLeave = () => {\n if (toValue(noResumeOnHoverLeave)) return;\n actions.resume();\n };\n watch(isHovering, (newValue) => {\n if (toValue(modelValueIgnoresHover)) return;\n if (newValue) {\n onMouseEnter();\n return;\n }\n onMouseLeave();\n });\n return {\n isHovering\n };\n};\nexport {\n useCountdownHover as a,\n useCountdown as u\n};\n//# sourceMappingURL=useCountdownHover-D79FUs67.mjs.map\n","import { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, watch, createBlock, createCommentVNode, unref, openBlock, Transition, mergeProps, withCtx, withDirectives, createElementVNode, normalizeClass, createElementBlock, resolveDynamicComponent, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, Fragment, withModifiers, createTextVNode, vShow, inject, toRef, toValue, markRaw, isRef, isReadonly, onScopeDispose } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { b as buildPromise } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$4 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-D79FUs67.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _hoisted_1 = [\"id\", \"role\", \"aria-live\", \"aria-atomic\"];\nconst _hoisted_2 = {\n key: 1,\n class: \"d-flex\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BToast\",\n props: /* @__PURE__ */ mergeModels({\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n closeClass: { default: void 0 },\n closeContent: { default: void 0 },\n closeLabel: { default: \"Close\" },\n closeVariant: { default: \"secondary\" },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n id: { default: void 0 },\n interval: { default: \"requestAnimationFrame\" },\n isStatus: { type: Boolean, default: false },\n noCloseButton: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noProgress: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n progressProps: { default: void 0 },\n showOnPause: { type: Boolean, default: true },\n solid: { type: Boolean, default: false },\n title: { default: void 0 },\n toastClass: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: null },\n textVariant: { default: null },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean, default: void 0 },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToast\");\n const emit = __emit;\n const slots = useSlots();\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const computedId = useId(() => props.id, \"toast\");\n const {\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, element, computedId);\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const {\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 });\n useCountdownHover(\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 watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : \"div\");\n const isToastVisible = computed(\n () => showRef.value || isActive.value || props.showOnPause && isPaused.value\n );\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value\n }\n ]);\n watch(modelValue, (newValue, oldValue) => {\n if (typeof newValue === \"number\" && newValue > 0) {\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 if (typeof newValue === \"number\" && newValue === 0) {\n stop();\n }\n if (newValue === false && typeof oldValue === \"number\" && oldValue > 0) {\n stop();\n }\n });\n watch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide();\n modelValue.value = 0;\n stop();\n }\n });\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop\n });\n return (_ctx, _cache) => {\n const _component_BButton = _sfc_main$2;\n return unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: !!modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(props).id,\n ref: \"_element\",\n class: normalizeClass([\"toast\", [unref(props).toastClass, computedClasses.value]]),\n tabindex: \"0\",\n style: { \"display\": \"block\" },\n role: !isToastVisible.value ? void 0 : unref(props).isStatus ? \"status\" : \"alert\",\n \"aria-live\": !isToastVisible.value ? void 0 : unref(props).isStatus ? \"polite\" : \"assertive\",\n \"aria-atomic\": !isToastVisible.value ? void 0 : true\n }, [\n unref(contentShowing) && (slots.title || unref(props).title) ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n key: 0,\n class: normalizeClass([\"toast-header\", unref(props).headerClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"strong\", null, toDisplayString(unref(props).title), 1)\n ]),\n !unref(props).noCloseButton ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([\"ms-auto\", [unref(props).closeClass]]),\n onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true),\n unref(contentShowing) && (slots.default || unref(props).body) ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"toast-body\", unref(props).bodyClass]\n }, unref(computedLinkProps), {\n onClick: _cache[2] || (_cache[2] = ($event) => unref(computedLink) ? unref(hide)() : () => {\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"])),\n !unref(props).noCloseButton && !(slots.title || unref(props).title) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[3] || (_cache[3] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([\"ms-auto btn-close-custom\", [unref(props).closeClass]]),\n onClick: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n typeof modelValue.value === \"number\" && !unref(props).noProgress ? (openBlock(), createBlock(_sfc_main$4, {\n key: 2,\n animated: unref(props).progressProps?.animated,\n precision: unref(props).progressProps?.precision,\n \"show-progress\": unref(props).progressProps?.showProgress,\n \"show-value\": unref(props).progressProps?.showValue,\n striped: unref(props).progressProps?.striped,\n variant: unref(props).progressProps?.variant,\n max: modelValue.value,\n value: unref(remainingMs),\n height: \"4px\"\n }, null, 8, [\"animated\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"variant\", \"max\", \"value\"])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1), [\n [vShow, isToastVisible.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true);\n };\n }\n});\nconst posDefault = \"top-end\";\nconst useToast = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw new Error(\n \"useToast() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isToastAppend, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj = {}, options = {}) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\n \"The BApp or BOrchestrator component must be mounted to use the toast composable\"\n );\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Toast controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: markRaw(_sfc_main) } : store.value[previousIndex];\n const v = {\n ...previous,\n type: \"toast\",\n _self,\n promise,\n options\n };\n if (newValue.props) {\n Object.assign(v, newValue.props);\n newValue.props = void 0;\n }\n if (newValue.pos) {\n v.position = newValue.pos;\n newValue.pos = void 0;\n }\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.position = v.position || posDefault;\n v.modelValue = v.modelValue ?? 5e3;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n if (v.modelValue !== val) {\n const toast = store.value.find((el) => el._self === _self);\n if (toast) {\n toast.modelValue = val;\n }\n }\n };\n if (previousIndex === -1) {\n if (resolvedProps.value?.appendToast !== void 0 ? resolvedProps.value.appendToast : _isToastAppend.value) {\n store.value.push(v);\n } else {\n store.value.unshift(v);\n }\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n deep: true,\n immediate: true\n }\n );\n onScopeDispose(() => {\n const toast = store.value.find((el) => el._self === _self);\n if (toast) {\n toast.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const show = (obj = {}) => {\n console.warn(\n \"[BootstrapVueNext] useToast: The `show` method is deprecated. Use the `create` method instead.\"\n );\n return create(obj);\n };\n return {\n _isToastAppend,\n _isOrchestratorInstalled,\n store,\n create,\n show\n };\n};\nconst useToastController = useToast;\nexport {\n _sfc_main as _,\n useToastController as a,\n useToast as u\n};\n//# sourceMappingURL=index-7PG2ESMq.mjs.map\n","import { getCurrentInstance, inject, computed, toValue } from \"vue\";\nimport { s as showHideRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useToggle = (id = void 0) => {\n const instance = getCurrentInstance();\n const storage = inject(showHideRegistryKey, null);\n if (!storage) {\n throw new Error(\n \"useToggle() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const registry = storage.values;\n const findComponent = (component) => {\n if (!component.parent) {\n return null;\n }\n if (component.parent.exposed?.[\"id\"] && registry.value.get(toValue(component.parent.exposed.id))) {\n return component.parent;\n }\n return findComponent(component.parent);\n };\n const myComponent = computed(() => {\n const resolvedId = toValue(id);\n if (!registry) return null;\n if (resolvedId) {\n const value = registry.value.get(resolvedId);\n return toValue(value) || null;\n }\n if (!instance) {\n return null;\n }\n const component = findComponent(instance);\n return toValue(registry.value.get(toValue(component?.exposed?.id))) || null;\n });\n return {\n value: computed(() => myComponent.value?.value),\n show: (resolveOnHide) => myComponent.value?.show(resolveOnHide) || Promise.reject(\"not found\"),\n hide: (trigger) => myComponent.value?.hide(trigger, true) || Promise.reject(\"not found\"),\n toggle: (resolveOnHide) => myComponent.value?.toggle(resolveOnHide) || Promise.reject(\"not found\"),\n component: computed(() => myComponent.value?.component)\n };\n};\nexport {\n useToggle\n};\n//# sourceMappingURL=index.mjs.map\n","import { computed, ref, shallowRef, watch, getCurrentScope, onScopeDispose, shallowReadonly, unref, defineComponent, mergeModels, useSlots, useAttrs, useModel, useTemplateRef, toRef, onMounted, nextTick, onBeforeUnmount, createElementBlock, openBlock, Fragment, createElementVNode, renderSlot, createVNode, normalizeProps, guardReactiveProps, withCtx, createBlock, createCommentVNode, Transition, mergeProps, withDirectives, normalizeStyle, normalizeClass, createTextVNode, toDisplayString, vShow, toValue as toValue$1, render, h } from \"vue\";\nimport { p as useMouse$1, a as onClickOutside } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { r as createSharedComposable, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst sides = [\"top\", \"right\", \"bottom\", \"left\"];\nconst alignments = [\"start\", \"end\"];\nconst placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = (v) => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: \"right\",\n right: \"left\",\n bottom: \"top\",\n top: \"bottom\"\n};\nconst oppositeAlignmentMap = {\n start: \"end\",\n end: \"start\"\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === \"function\" ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split(\"-\")[0];\n}\nfunction getAlignment(placement) {\n return placement.split(\"-\")[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === \"x\" ? \"y\" : \"x\";\n}\nfunction getAxisLength(axis) {\n return axis === \"y\" ? \"height\" : \"width\";\n}\nconst yAxisSides = /* @__PURE__ */ new Set([\"top\", \"bottom\"]);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? \"y\" : \"x\";\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === \"x\" ? alignment === (rtl ? \"end\" : \"start\") ? \"right\" : \"left\" : alignment === \"start\" ? \"bottom\" : \"top\";\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = [\"left\", \"right\"];\nconst rlPlacement = [\"right\", \"left\"];\nconst tbPlacement = [\"top\", \"bottom\"];\nconst btPlacement = [\"bottom\", \"top\"];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case \"top\":\n case \"bottom\":\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case \"left\":\n case \"right\":\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === \"start\", rtl);\n if (alignment) {\n list = list.map((side) => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== \"number\" ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === \"y\";\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case \"top\":\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case \"bottom\":\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case \"right\":\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case \"left\":\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case \"start\":\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case \"end\":\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\nconst computePosition$1 = async (reference, floating, config) => {\n const {\n placement = \"bottom\",\n strategy = \"absolute\",\n middleware = [],\n platform: platform2\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(floating));\n let rects = await platform2.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platform2,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === \"object\") {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform2.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform: platform2,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = \"clippingAncestors\",\n rootBoundary = \"viewport\",\n elementContext = \"floating\",\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === \"floating\" ? \"reference\" : \"floating\";\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform2.getClippingRect({\n element: ((_await$platform$isEle = await (platform2.isElement == null ? void 0 : platform2.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform2.getDocumentElement == null ? void 0 : platform2.getDocumentElement(elements.floating)),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === \"floating\" ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(elements.floating));\n const offsetScale = await (platform2.isElement == null ? void 0 : platform2.isElement(offsetParent)) ? await (platform2.getScale == null ? void 0 : platform2.getScale(offsetParent)) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\nconst arrow$2 = (options) => ({\n name: \"arrow\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform: platform2,\n elements,\n middlewareData\n } = state;\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform2.getDimensions(element);\n const isYAxis = axis === \"y\";\n const minProp = isYAxis ? \"top\" : \"left\";\n const maxProp = isYAxis ? \"bottom\" : \"right\";\n const clientProp = isYAxis ? \"clientHeight\" : \"clientWidth\";\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform2.getOffsetParent == null ? void 0 : platform2.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n if (!clientSize || !await (platform2.isElement == null ? void 0 : platform2.isElement(arrowOffsetParent))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n const min$1 = minPadding;\n const max2 = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset2 = clamp(min$1, center, max2);\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset2,\n centerOffset: center - offset2 - alignmentOffset,\n ...shouldAddOffset && {\n alignmentOffset\n }\n },\n reset: shouldAddOffset\n };\n }\n});\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter((placement) => getAlignment(placement) === alignment), ...allowedPlacements.filter((placement) => getAlignment(placement) !== alignment)] : allowedPlacements.filter((placement) => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter((placement) => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\nconst autoPlacement$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"autoPlacement\",\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform: platform2,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== void 0 || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)));\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || [], {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map((d) => {\n const alignment2 = getAlignment(d.placement);\n return [d.placement, alignment2 && crossAxis ? (\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0)\n ) : (\n // Check only the mainAxis.\n d.overflows[0]\n ), d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter((d) => d[2].slice(\n 0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3\n ).every((v) => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\nconst flip$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"flip\",\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform: platform2,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = \"bestFit\",\n fallbackAxisSideDirection = \"none\",\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== \"none\";\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements2 = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides2 = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides2[0]], overflow[sides2[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n if (!overflows.every((side2) => side2 <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements2[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === \"alignment\" ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every((d) => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case \"bestFit\": {\n var _overflowsData$filter2;\n const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === \"y\";\n }\n return true;\n }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement2) {\n resetPlacement = placement2;\n }\n break;\n }\n case \"initialPlacement\":\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some((side) => overflow[side] >= 0);\n}\nconst hide$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"hide\",\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = \"referenceHidden\",\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case \"referenceHidden\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: \"reference\"\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case \"escaped\": {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default: {\n return {};\n }\n }\n }\n };\n};\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map((rect) => rect.left));\n const minY = min(...rects.map((rect) => rect.top));\n const maxX = max(...rects.map((rect) => rect.right));\n const maxY = max(...rects.map((rect) => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map((rect) => rectToClientRect(getBoundingRect(rect)));\n}\nconst inline$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"inline\",\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform: platform2,\n strategy\n } = state;\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from(await (platform2.getClientRects == null ? void 0 : platform2.getClientRects(elements.reference)) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect2() {\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n return clientRects.find((rect) => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === \"y\") {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === \"top\";\n const top2 = firstRect.top;\n const bottom2 = lastRect.bottom;\n const left2 = isTop ? firstRect.left : lastRect.left;\n const right2 = isTop ? firstRect.right : lastRect.right;\n const width2 = right2 - left2;\n const height2 = bottom2 - top2;\n return {\n top: top2,\n bottom: bottom2,\n left: left2,\n right: right2,\n width: width2,\n height: height2,\n x: left2,\n y: top2\n };\n }\n const isLeftSide = getSide(placement) === \"left\";\n const maxRight = max(...clientRects.map((rect) => rect.right));\n const minLeft = min(...clientRects.map((rect) => rect.left));\n const measureRects = clientRects.filter((rect) => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform2.getElementRects({\n reference: {\n getBoundingClientRect: getBoundingClientRect2\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\nconst originSides = /* @__PURE__ */ new Set([\"left\", \"top\"]);\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform: platform2,\n elements\n } = state;\n const rtl = await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === \"y\";\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === \"number\" ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === \"number\") {\n crossAxis = alignment === \"end\" ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\nconst offset$1 = function(options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: \"offset\",\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\nconst shift$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"shift\",\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: (_ref) => {\n let {\n x: x2,\n y: y2\n } = _ref;\n return {\n x: x2,\n y: y2\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = mainAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = mainAxisCoord + overflow[minSide];\n const max2 = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min2, mainAxisCoord, max2);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === \"y\" ? \"top\" : \"left\";\n const maxSide = crossAxis === \"y\" ? \"bottom\" : \"right\";\n const min2 = crossAxisCoord + overflow[minSide];\n const max2 = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min2, crossAxisCoord, max2);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\nconst size$1 = function(options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: \"size\",\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform: platform2,\n elements\n } = state;\n const {\n apply = () => {\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === \"y\";\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === \"top\" || side === \"bottom\") {\n heightSide = side;\n widthSide = alignment === (await (platform2.isRTL == null ? void 0 : platform2.isRTL(elements.floating)) ? \"start\" : \"end\") ? \"left\" : \"right\";\n } else {\n widthSide = side;\n heightSide = alignment === \"end\" ? \"top\" : \"bottom\";\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform2.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\nfunction hasWindow() {\n return typeof window !== \"undefined\";\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || \"\").toLowerCase();\n }\n return \"#document\";\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === \"undefined\") {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /* @__PURE__ */ new Set([\"inline\", \"contents\"]);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /* @__PURE__ */ new Set([\"table\", \"td\", \"th\"]);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [\":popover-open\", \":modal\"];\nfunction isTopLayer(element) {\n return topLayerSelectors.some((selector) => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\"];\nconst willChangeValues = [\"transform\", \"translate\", \"scale\", \"rotate\", \"perspective\", \"filter\"];\nconst containValues = [\"paint\", \"layout\", \"strict\", \"content\"];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n return transformProperties.some((value) => css[value] ? css[value] !== \"none\" : false) || (css.containerType ? css.containerType !== \"normal\" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== \"none\" : false) || !webkit && (css.filter ? css.filter !== \"none\" : false) || willChangeValues.some((value) => (css.willChange || \"\").includes(value)) || containValues.some((value) => (css.contain || \"\").includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === \"undefined\" || !CSS.supports) return false;\n return CSS.supports(\"-webkit-backdrop-filter\", \"none\");\n}\nconst lastTraversableNodeNames = /* @__PURE__ */ new Set([\"html\", \"body\", \"#document\"]);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === \"html\") {\n return node;\n }\n const result = (\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot || // DOM Element detected.\n node.parentNode || // ShadowRoot detected.\n isShadowRoot(node) && node.host || // Fallback.\n getDocumentElement(node)\n );\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\nfunction unwrapElement$1(element) {\n return !isElement(element) ? element.contextElement : element;\n}\nfunction getScale(element) {\n const domElement = unwrapElement$1(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\nconst noOffsets = /* @__PURE__ */ createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement$1(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 : (\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect)\n ));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === \"fixed\";\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === \"rtl\") {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === \"fixed\") {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\nconst absoluteOrFixed = /* @__PURE__ */ new Set([\"absolute\", \"fixed\"]);\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === \"fixed\");\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === \"viewport\") {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === \"document\") {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === \"fixed\" || hasFixedPositionAncestor(parentNode, stopNode);\n}\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== \"body\");\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === \"fixed\";\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === \"fixed\") {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === \"static\" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n result = result.filter((ancestor) => ancestor !== currentNode);\n } else {\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === \"clippingAncestors\" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === \"fixed\";\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== \"body\" || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === \"static\";\n}\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === \"fixed\") {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\nconst getElementRects = async function(data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\nfunction isRTL(element) {\n return getComputedStyle(element).direction === \"rtl\";\n}\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1e3);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n refresh();\n }\n isFirstUpdate = false;\n }\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === \"function\",\n layoutShift = typeof IntersectionObserver === \"function\",\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement$1(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.addEventListener(\"scroll\", update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener(\"resize\", update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver((_ref) => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach((ancestor) => {\n ancestorScroll && ancestor.removeEventListener(\"scroll\", update);\n ancestorResize && ancestor.removeEventListener(\"resize\", update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\nconst offset = offset$1;\nconst autoPlacement = autoPlacement$1;\nconst shift = shift$1;\nconst flip = flip$1;\nconst size = size$1;\nconst hide = hide$1;\nconst arrow$1 = arrow$2;\nconst inline = inline$1;\nconst computePosition = (reference, floating, options) => {\n const cache = /* @__PURE__ */ new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\nfunction isComponentPublicInstance(target) {\n return target != null && typeof target === \"object\" && \"$el\" in target;\n}\nfunction unwrapElement(target) {\n if (isComponentPublicInstance(target)) {\n const element = target.$el;\n return isNode(element) && getNodeName(element) === \"#comment\" ? null : element;\n }\n return target;\n}\nfunction toValue(source) {\n return typeof source === \"function\" ? source() : unref(source);\n}\nfunction arrow(options) {\n return {\n name: \"arrow\",\n options,\n fn(args) {\n const element = unwrapElement(toValue(options.element));\n if (element == null) {\n return {};\n }\n return arrow$1({\n element,\n padding: options.padding\n }).fn(args);\n }\n };\n}\nfunction getDPR(element) {\n if (typeof window === \"undefined\") {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction useFloating(reference, floating, options) {\n if (options === void 0) {\n options = {};\n }\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => {\n var _toValue;\n return (_toValue = toValue(options.open)) != null ? _toValue : true;\n });\n const middlewareOption = computed(() => toValue(options.middleware));\n const placementOption = computed(() => {\n var _toValue2;\n return (_toValue2 = toValue(options.placement)) != null ? _toValue2 : \"bottom\";\n });\n const strategyOption = computed(() => {\n var _toValue3;\n return (_toValue3 = toValue(options.strategy)) != null ? _toValue3 : \"absolute\";\n });\n const transformOption = computed(() => {\n var _toValue4;\n return (_toValue4 = toValue(options.transform)) != null ? _toValue4 : true;\n });\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: \"0\",\n top: \"0\"\n };\n if (!floatingElement.value) {\n return initialStyles;\n }\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: \"translate(\" + xVal + \"px, \" + yVal + \"px)\",\n ...getDPR(floatingElement.value) >= 1.5 && {\n willChange: \"transform\"\n }\n };\n }\n return {\n position: strategy.value,\n left: xVal + \"px\",\n top: yVal + \"px\"\n };\n });\n let whileElementsMountedCleanup;\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n const open = openOption.value;\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = open !== false;\n });\n }\n function cleanup() {\n if (typeof whileElementsMountedCleanup === \"function\") {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = void 0;\n }\n }\n function attach() {\n cleanup();\n if (whileElementsMountedOption === void 0) {\n update();\n return;\n }\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(referenceElement.value, floatingElement.value, update);\n return;\n }\n }\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n watch([middlewareOption, placementOption, strategyOption, openOption], update, {\n flush: \"sync\"\n });\n watch([referenceElement, floatingElement], attach, {\n flush: \"sync\"\n });\n watch(openOption, reset, {\n flush: \"sync\"\n });\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update\n };\n}\nconst useMouse = createSharedComposable(useMouse$1);\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BPopover\",\n props: /* @__PURE__ */ mergeModels({\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n click: { type: Boolean, default: void 0 },\n closeOnHide: { type: Boolean, default: false },\n focus: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n delay: { default: () => ({ show: 100, hide: 300 }) },\n floatingMiddleware: { default: void 0 },\n hideMargin: { default: 2 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n manual: { type: Boolean, default: false },\n noAutoClose: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noHide: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n noninteractive: { type: Boolean, default: false },\n offset: { default: null },\n placement: { default: \"top\" },\n realtime: { type: Boolean, default: false },\n reference: { default: null },\n strategy: { default: \"absolute\" },\n target: { default: null },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n tooltip: { type: Boolean, default: false },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"pointerleave\", \"blur\", \"click-outside\", \"close-on-hide\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BPopover\");\n const emit = __emit;\n const slots = useSlots();\n const attrs = useAttrs();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"popover\");\n const hidden = ref(false);\n const floatingElement = useTemplateRef(\"_element\");\n const content = useTemplateRef(\"_content\");\n const arrow$12 = useTemplateRef(\"_arrow\");\n const placeholder = useTemplateRef(\"_placeholder\");\n const referenceElement = ref(null);\n const triggerElement = ref(null);\n const isAutoPlacement = computed(() => props.placement.startsWith(\"auto\"));\n const offsetNumber = useToNumber(() => props.offset ?? Number.NaN);\n const boundary = computed(\n () => isBoundary(props.boundary) ? props.boundary : void 0\n );\n const rootBoundary = computed(\n () => isRootBoundary(props.boundary) ? props.boundary : void 0\n );\n const sizeStyles = ref({});\n const floatingMiddleware = computed(() => {\n if (props.floatingMiddleware !== void 0) {\n return props.floatingMiddleware;\n }\n const off = props.offset !== null ? offsetNumber.value : props.tooltip ? 6 : 8;\n const arr = [offset(off)];\n if (props.noFlip === false && !isAutoPlacement.value) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (isAutoPlacement.value) {\n arr.push(\n autoPlacement({\n alignment: props.placement.split(\"-\")[1] || void 0,\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noHide === false) {\n arr.push(\n hide({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.inline === true) {\n arr.push(inline());\n }\n arr.push(arrow({ element: arrow$12, padding: 10 }));\n if (props.noSize === false) {\n arr.push(\n size({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({ availableWidth, availableHeight }) {\n sizeStyles.value = {\n maxHeight: availableHeight >= (content.value?.scrollHeight ?? 0) ? void 0 : availableHeight ? `${Math.max(0, availableHeight)}px` : void 0,\n maxWidth: availableWidth >= (content.value?.scrollWidth ?? 0) ? void 0 : availableWidth ? `${Math.max(0, availableWidth)}px` : void 0\n };\n }\n })\n );\n }\n return arr;\n });\n const placementRef = computed(\n () => isAutoPlacement.value ? void 0 : props.placement\n );\n const { floatingStyles, middlewareData, placement, update } = useFloating(\n referenceElement,\n floatingElement,\n {\n placement: placementRef,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy)\n }\n );\n const arrowStyle = ref({ position: \"absolute\" });\n watch(middlewareData, (newValue) => {\n if (props.noHide === false) {\n if (newValue.hide?.referenceHidden && !hidden.value && showRef.value) {\n if (props.closeOnHide && !props.noAutoClose && !props.manual) {\n throttleHide(\"close-on-hide\");\n } else {\n localTemporaryHide.value = true;\n hidden.value = true;\n }\n } else if (localTemporaryHide.value && !newValue.hide?.referenceHidden) {\n localTemporaryHide.value = false;\n hidden.value = false;\n }\n }\n if (newValue.arrow) {\n const { x: x2, y: y2 } = newValue.arrow;\n arrowStyle.value = {\n position: \"absolute\",\n top: y2 ? `${y2}px` : \"\",\n left: x2 ? `${x2}px` : \"\"\n };\n }\n });\n let cleanup;\n const {\n showRef,\n hide: hide$12,\n show,\n toggle,\n throttleHide,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible,\n isActive,\n renderRef,\n localTemporaryHide\n } = useShowHide(modelValue, props, emit, floatingElement, computedId, {\n showFn: () => {\n update();\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value,\n floatingElement.value,\n update,\n { animationFrame: props.realtime }\n );\n });\n },\n hideFn: () => {\n if (cleanup) {\n cleanup();\n cleanup = void 0;\n }\n }\n });\n const computedClasses = computed(() => {\n const type = props.tooltip ? \"tooltip\" : \"popover\";\n return [\n type,\n `b-${type}`,\n {\n show: isVisible.value && !hidden.value,\n fade: !computedNoAnimation.value,\n [`bs-${type}-${resolveBootstrapPlacement(placement.value)}`]: placement.value !== void 0\n }\n ];\n });\n const { x, y } = useMouse();\n const isElementAndTriggerOutside = () => {\n const triggerRect = triggerElement.value?.getBoundingClientRect();\n const elementRect = floatingElement.value?.getBoundingClientRect();\n const margin = parseInt(props.hideMargin, 10) || 0;\n const offsetX = window?.scrollX || 0;\n const offsetY = window?.scrollY || 0;\n const triggerIsOutside = !triggerRect || x.value < triggerRect.left + offsetX - margin || x.value > triggerRect.right + offsetX + margin || y.value < triggerRect.top + offsetY - margin || y.value > triggerRect.bottom + offsetY + margin;\n const isOutside = !elementRect || x.value < elementRect.left + offsetX - margin || x.value > elementRect.right + offsetX + margin || y.value < elementRect.top + offsetY - margin || y.value > elementRect.bottom + offsetY + margin;\n return { triggerIsOutside, isOutside };\n };\n let looptimeout;\n const tryHide = (e) => {\n const { triggerIsOutside, isOutside } = isElementAndTriggerOutside();\n if (!props.noninteractive && isOutside && triggerIsOutside && !floatingElement.value?.contains(document?.activeElement) && !triggerElement.value?.contains(document?.activeElement) || props.noninteractive && triggerIsOutside) {\n hide$12(e?.type);\n } else {\n if (looptimeout) clearTimeout(looptimeout);\n looptimeout = setTimeout(() => {\n tryHide(e);\n }, 50);\n }\n };\n watch(isVisible, () => {\n update();\n });\n __expose({\n hide: hide$12,\n show,\n toggle\n });\n const localToggle = (e) => {\n if (showRef.value) {\n hide$12(e.type === \"click\" ? \"click\" : \"toggle\");\n } else {\n show();\n }\n };\n const localShow = () => {\n show();\n };\n const computedTriggers = computed(() => {\n if (props.manual) {\n return { hover: false, focus: false, click: false };\n }\n if (props.hover !== void 0 || props.focus !== void 0 || props.click !== void 0) {\n return {\n hover: props.hover ?? false,\n focus: props.focus ?? false,\n click: props.click ?? false\n };\n }\n return { hover: true, focus: true, click: false };\n });\n const bind2 = () => {\n if (props.target) {\n const elem = getElement(toValue$1(props.target));\n if (elem) {\n triggerElement.value = elem;\n } else {\n console.warn(\"Target element not found\", props.target);\n }\n } else {\n triggerElement.value = placeholder.value?.nextElementSibling;\n }\n if (props.reference) {\n const elem = getElement(toValue$1(props.reference));\n if (elem) {\n referenceElement.value = elem;\n } else {\n console.warn(\"Reference element not found\", props.reference);\n }\n } else {\n referenceElement.value = triggerElement.value;\n }\n if (!triggerElement.value || props.manual) {\n return;\n }\n const triggers = computedTriggers.value;\n if (triggers.click) {\n triggerElement.value.addEventListener(\"click\", localToggle);\n }\n if (triggers.hover) {\n triggerElement.value.addEventListener(\"pointerenter\", localShow);\n triggerElement.value.addEventListener(\"pointerleave\", tryHide);\n }\n if (triggers.focus) {\n triggerElement.value.addEventListener(\"focus\", localShow);\n triggerElement.value.addEventListener(\"blur\", tryHide);\n }\n };\n const unbind2 = () => {\n if (triggerElement.value) {\n triggerElement.value.removeEventListener(\"click\", localToggle);\n triggerElement.value.removeEventListener(\"pointerenter\", localShow);\n triggerElement.value.removeEventListener(\"pointerleave\", tryHide);\n triggerElement.value.removeEventListener(\"focus\", localShow);\n triggerElement.value.removeEventListener(\"blur\", tryHide);\n }\n };\n onClickOutside(\n floatingElement,\n () => {\n if (showRef.value && computedTriggers.value.click && !props.noAutoClose && !props.manual)\n hide$12(\"click-outside\");\n },\n { ignore: [triggerElement] }\n );\n watch(\n [\n () => props.click,\n () => props.hover,\n () => props.focus,\n () => props.manual,\n () => props.target,\n () => props.reference\n ],\n () => {\n unbind2();\n bind2();\n }\n );\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide: hide$12,\n id: computedId.value,\n visible: isVisible.value,\n active: isActive.value\n }));\n onMounted(() => {\n bind2();\n nextTick(() => {\n update();\n });\n });\n onBeforeUnmount(unbind2);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n createElementVNode(\"span\", {\n id: unref(computedId) + \"_placeholder\",\n ref: \"_placeholder\",\n style: { \"display\": \"none\" }\n }, null, 8, _hoisted_1),\n renderSlot(_ctx.$slots, \"target\", normalizeProps(guardReactiveProps(sharedSlots.value))),\n createVNode(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: !unref(props).teleportTo || unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({ id: unref(computedId) }, unref(attrs), {\n ref: \"_element\",\n class: computedClasses.value,\n role: \"tooltip\",\n tabindex: \"-1\",\n style: unref(floatingStyles)\n }), [\n createElementVNode(\"div\", {\n ref: \"_arrow\",\n class: normalizeClass(`${unref(props).tooltip ? \"tooltip\" : \"popover\"}-arrow`),\n style: normalizeStyle(arrowStyle.value),\n \"data-popper-arrow\": \"\"\n }, null, 6),\n createElementVNode(\"div\", {\n ref: \"_content\",\n class: \"overflow-auto\",\n style: normalizeStyle(sizeStyles.value)\n }, [\n unref(props).title || slots.title ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass([\"position-sticky top-0\", [unref(props).tooltip ? \"tooltip-inner\" : \"popover-header\", unref(props).titleClass]])\n }, [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 2)) : createCommentVNode(\"\", true),\n unref(props).tooltip && !slots.title && !unref(props).title || !unref(props).tooltip ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass([unref(props).tooltip ? \"tooltip-inner\" : \"popover-body\", unref(props).bodyClass])\n }, [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body) + toDisplayString(unref(attrs).content), 1)\n ])\n ], 2)) : createCommentVNode(\"\", true)\n ], 4)\n ], 16, _hoisted_2), [\n [vShow, unref(showRef) && !hidden.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 64);\n };\n }\n});\nconst resolveBootstrapPlacement = (placement) => {\n const [_placement] = placement.split(\"-\");\n switch (_placement) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n default:\n return _placement;\n }\n};\nconst resolveBootstrapCaret = (placement) => {\n const [_placement] = placement.split(\"-\");\n switch (_placement) {\n case \"left\":\n return \"start\";\n case \"right\":\n return \"end\";\n case \"top\":\n return \"up\";\n case \"bottom\":\n return \"down\";\n default:\n return _placement;\n }\n};\nconst resolveActiveStatus = (values) => typeof values !== \"object\" || values.active !== false;\nconst resolveContent = (values, el) => {\n const isActive = resolveActiveStatus(values);\n if (!isActive) return {};\n const missingBindingValue = typeof values === \"undefined\" || typeof values === \"object\" && !values.title && !values.content && !values.body;\n if (typeof document !== \"undefined\") {\n const title = el.getAttribute(\"title\") || el.getAttribute(\"data-original-title\");\n if (missingBindingValue) {\n if (title) {\n el.removeAttribute(\"title\");\n el.setAttribute(\"data-original-title\", title);\n return {\n body: title\n };\n }\n return {};\n }\n } else {\n if (missingBindingValue) return {};\n }\n if (typeof values === \"string\") {\n return {\n body: values\n };\n }\n if (values?.content)\n console.warn(\"v-b-popover/v-b-tooltip: `content` is deprecated, use `body` instead\");\n return {\n title: values?.title ? values?.title : void 0,\n body: values?.body ? values?.body : values?.content ? values?.content : void 0\n };\n};\nconst resolveDirectiveProps = (binding, el) => ({\n target: el,\n modelValue: binding.modifiers.show,\n inline: binding.modifiers.inline,\n click: binding.modifiers.click,\n realtime: binding.modifiers.realtime,\n lazy: binding.modifiers.lazy,\n placement: binding.modifiers.left ? \"left\" : binding.modifiers.right ? \"right\" : binding.modifiers.bottom ? \"bottom\" : binding.modifiers.top ? \"top\" : void 0,\n ...typeof binding.value === \"object\" ? binding.value : void 0,\n ...binding.modifiers.interactive ? { noninteractive: false } : void 0,\n title: null,\n body: null\n});\nconst bind = (el, binding, props) => {\n if (typeof document === \"undefined\") return;\n const div = document.createElement(\"span\");\n if (binding.modifiers.body) document.body.appendChild(div);\n else if (binding.modifiers.child) el.appendChild(div);\n else el.parentNode?.insertBefore(div, el.nextSibling);\n render(h(_sfc_main, props), div);\n el.$__element = div;\n};\nconst unbind = (el) => {\n const div = el.$__element;\n if (!div) return;\n render(null, div);\n if (typeof document === \"undefined\") {\n delete el.$__element;\n return;\n }\n queueMicrotask(() => {\n div.remove();\n if (el.$__element === div) {\n delete el.$__element;\n }\n });\n};\nconst isBoundary = (input) => input === \"clippingAncestors\" || input instanceof Element || Array.isArray(input);\nconst isRootBoundary = (input) => !isBoundary(input);\nexport {\n _sfc_main as _,\n isRootBoundary as a,\n size as b,\n autoUpdate as c,\n resolveDirectiveProps as d,\n unbind as e,\n flip as f,\n resolveActiveStatus as g,\n resolveContent as h,\n isBoundary as i,\n bind as j,\n offset as o,\n resolveBootstrapCaret as r,\n shift as s,\n useFloating as u\n};\n//# sourceMappingURL=floatingUi-BBabBWxD.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, computed, useTemplateRef, createBlock, openBlock, mergeProps, createSlots, withCtx, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { _ as _sfc_main$1 } from \"./floatingUi-BBabBWxD.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTooltip\",\n props: /* @__PURE__ */ mergeModels({\n interactive: { type: Boolean, default: void 0 },\n body: {},\n bodyClass: { default: void 0 },\n boundary: {},\n boundaryPadding: {},\n click: { type: Boolean, default: void 0 },\n closeOnHide: { type: Boolean },\n focus: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n delay: { default: 0 },\n floatingMiddleware: { default: void 0 },\n hideMargin: { default: 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: void 0 },\n manual: { type: Boolean, default: void 0 },\n noAutoClose: { type: Boolean, default: void 0 },\n noFlip: { type: Boolean, default: void 0 },\n noHide: { type: Boolean, default: void 0 },\n noShift: { type: Boolean, default: void 0 },\n noSize: { type: Boolean },\n noninteractive: { type: Boolean, default: void 0 },\n offset: { default: void 0 },\n placement: { default: void 0 },\n realtime: { type: Boolean, default: void 0 },\n reference: { default: void 0 },\n strategy: { default: void 0 },\n target: { default: void 0 },\n title: { default: void 0 },\n titleClass: { default: void 0 },\n teleportDisabled: { type: Boolean, default: void 0 },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: void 0 },\n lazy: { type: Boolean, default: void 0 },\n unmountLazy: { type: Boolean, default: void 0 },\n show: { type: Boolean, default: void 0 },\n transProps: {},\n visible: { type: Boolean, default: void 0 }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"pointerleave\", \"blur\", \"click-outside\", \"close-on-hide\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTooltip\");\n const emit = __emit;\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedProps = computed(() => {\n const { interactive, noninteractive, ...rest } = props;\n return { noninteractive: noninteractive !== void 0 ? noninteractive : !interactive, ...rest };\n });\n const popover = useTemplateRef(\"_popover\");\n __expose({\n hide: () => {\n popover.value?.hide();\n },\n show: () => {\n popover.value?.show();\n },\n toggle: () => {\n popover.value?.toggle();\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ ref: \"_popover\" }, computedProps.value, {\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n tooltip: \"\",\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event)),\n onPointerleave: _cache[9] || (_cache[9] = ($event) => emit(\"pointerleave\", $event)),\n onBlur: _cache[10] || (_cache[10] = ($event) => emit(\"blur\", $event)),\n onClickOutside: _cache[11] || (_cache[11] = ($event) => emit(\"click-outside\", $event)),\n onCloseOnHide: _cache[12] || (_cache[12] = ($event) => emit(\"close-on-hide\", $event))\n }), createSlots({ _: 2 }, [\n slots.default ? {\n name: \"default\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"0\"\n } : void 0,\n slots.target ? {\n name: \"target\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"target\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"1\"\n } : void 0,\n slots.title ? {\n name: \"title\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"2\"\n } : void 0\n ]), 1040, [\"modelValue\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs.map\n","import { inject, toRef, watch, toValue, markRaw, onScopeDispose, isRef, isReadonly } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nimport \"../../../BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"../../../ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { b as buildPromise } from \"../../../orchestratorShared-BTC5xO6k.mjs\";\nimport \"../../../ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { _ as _sfc_main$1 } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport \"../../../useTransitions-BAT154ve.mjs\";\nimport \"../../../tableUtils-Jp7dzXjS.mjs\";\nimport { _ as _sfc_main } from \"../../../BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nconst usePopover = () => {\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (!orchestratorRegistry) {\n throw new Error(\n \"usePopover() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided.\"\n );\n }\n const { store, _isOrchestratorInstalled } = orchestratorRegistry;\n const create = (obj, tooltip2, options = { keep: true }) => {\n if (!_isOrchestratorInstalled.value) {\n throw new Error(\n \"The BPopoverOrchestrator component must be mounted to use the popover controller\"\n );\n }\n const resolvedProps = toRef(obj);\n const _self = resolvedProps.value?.id || Symbol(\"Popover controller\");\n const promise = buildPromise(_self, store);\n promise.stop = watch(\n resolvedProps,\n (_newValue) => {\n const newValue = { ...toValue(_newValue) };\n const previousIndex = store.value.findIndex((el) => el._self === _self);\n const previous = previousIndex === -1 ? { _component: tooltip2 ? markRaw(_sfc_main) : markRaw(_sfc_main$1) } : store.value[previousIndex];\n const v = tooltip2 ? {\n ...previous,\n type: \"tooltip\",\n _self,\n position: \"popover\",\n promise,\n options\n } : {\n ...previous,\n type: \"popover\",\n _self,\n position: \"popover\",\n promise,\n options\n };\n for (const key in newValue) {\n if (key.startsWith(\"on\")) {\n v[key] = newValue[key];\n } else if (key === \"component\" && newValue.component) {\n v._component = markRaw(newValue.component);\n } else if (key === \"slots\" && newValue.slots) {\n v.slots = markRaw(newValue.slots);\n } else {\n v[key] = toValue(\n newValue[key]\n );\n }\n }\n v.modelValue = v.modelValue ?? false;\n v[\"onUpdate:modelValue\"] = (val) => {\n newValue[\"onUpdate:modelValue\"]?.(val);\n const { modelValue } = toValue(obj);\n if (isRef(obj) && !isRef(modelValue)) obj.value.modelValue = val;\n if (isRef(modelValue) && !isReadonly(modelValue)) {\n modelValue.value = val;\n }\n if (v.modelValue !== val) {\n const popover2 = store.value.find((el) => el._self === _self);\n if (popover2) {\n popover2.modelValue = val;\n }\n }\n };\n if (previousIndex === -1) {\n store.value.push(v);\n } else {\n store.value.splice(previousIndex, 1, v);\n }\n },\n {\n immediate: true,\n deep: true\n }\n );\n onScopeDispose(() => {\n const popover2 = store.value.find((el) => el._self === _self);\n if (popover2) {\n popover2.promise.value.destroy?.();\n }\n }, true);\n return promise.value;\n };\n const tooltip = (obj, options = { keep: true }) => create(obj, true, options);\n const popover = (obj, options = { keep: true }) => create(obj, false, options);\n return {\n _isOrchestratorInstalled,\n create,\n popover,\n tooltip,\n store\n };\n};\nconst usePopoverController = usePopover;\nexport {\n usePopover,\n usePopoverController\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, provide, ref, computed, readonly } from \"vue\";\nimport { s as showHideRegistryKey, m as modalManagerKey, e as breadcrumbRegistryKey, a as breadcrumbGlobalIndexKey, r as rtlRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useRegistry = (rtl = false) => {\n const showHideStorage = inject(showHideRegistryKey, void 0);\n if (!showHideStorage) {\n const { register, values } = _newShowHideRegistry();\n provide(showHideRegistryKey, { register, values });\n }\n const modalManager = inject(modalManagerKey, void 0);\n if (!modalManager) {\n const stack = ref(/* @__PURE__ */ new Map());\n const countStack = computed(() => stack.value.size);\n const valuesStack = computed(() => [...stack.value.values()]);\n const lastStack = computed(() => valuesStack.value[valuesStack.value.length - 1]);\n const pushStack = (modal) => {\n stack.value.set(modal.uid, modal);\n };\n const removeStack = (modal) => {\n stack.value.delete(modal.uid);\n };\n const registry = ref(/* @__PURE__ */ new Map());\n const pushRegistry = (modal) => {\n registry.value.set(modal.uid, modal);\n };\n const removeRegistry = (modal) => {\n registry.value.delete(modal.uid);\n };\n provide(modalManagerKey, {\n countStack,\n lastStack,\n registry: computed(() => registry.value),\n stack: valuesStack,\n pushStack,\n removeStack,\n pushRegistry,\n removeRegistry\n });\n }\n const breadcrumb = inject(breadcrumbRegistryKey, void 0);\n if (!breadcrumb) {\n const items = ref({\n [breadcrumbGlobalIndexKey]: []\n });\n const reset = (key = breadcrumbGlobalIndexKey) => {\n items.value[key] = [];\n };\n provide(breadcrumbRegistryKey, { items, reset });\n }\n const rtlRegistry = inject(rtlRegistryKey, void 0);\n if (!rtlRegistry) {\n const rtlDefault = false;\n const localeDefault = void 0;\n const rtlInitial = typeof rtl === \"boolean\" ? rtlDefault : rtl?.rtlInitial ?? rtlDefault;\n const localeInitial = typeof rtl === \"boolean\" ? localeDefault : rtl?.localeInitial ?? localeDefault;\n const isRtl = ref(rtlInitial);\n const locale = ref(localeInitial);\n provide(rtlRegistryKey, { isRtl, locale });\n }\n};\nconst _newShowHideRegistry = () => {\n const values = ref(/* @__PURE__ */ new Map());\n const register = ({\n id,\n component,\n value,\n toggle,\n show,\n hide,\n registerTrigger,\n unregisterTrigger\n }) => {\n values.value.set(id, {\n id,\n component,\n value: readonly(value),\n toggle,\n show,\n hide,\n registerTrigger,\n unregisterTrigger\n });\n return {\n unregister() {\n values.value.delete(id);\n },\n updateId(newId, oldId) {\n const existingValue = values.value.get(oldId);\n if (existingValue) {\n values.value.set(newId, { ...existingValue, id: newId });\n values.value.delete(oldId);\n }\n }\n };\n };\n return {\n register,\n values\n };\n};\nexport {\n _newShowHideRegistry,\n useRegistry\n};\n//# sourceMappingURL=index.mjs.map\n","import { inject, computed, unref, provide } from \"vue\";\nimport { f as defaultsKey } from \"../../../keys-BLeKMItg.mjs\";\nconst useProvideDefaults = (defaults, mergeDefaults) => {\n const injectedDefaults = inject(defaultsKey, void 0);\n const mergedDefaults = computed(() => {\n const _defaults = unref(defaults);\n if (!injectedDefaults) {\n return _defaults ?? {};\n }\n const merged = { ...injectedDefaults.value };\n if (_defaults) {\n if (mergeDefaults) {\n if (typeof mergeDefaults === \"function\") {\n return mergeDefaults(merged, _defaults);\n } else if (mergeDefaults === true) {\n return deepMerge(merged, _defaults);\n }\n return Object.assign(merged, _defaults);\n }\n return _defaults;\n }\n return merged;\n });\n provide(defaultsKey, mergedDefaults);\n};\nfunction isPlainObject(value) {\n return value !== null && typeof value === \"object\" && value.constructor === Object && Object.prototype.toString.call(value) === \"[object Object]\";\n}\nfunction deepMerge(target, source, visited = /* @__PURE__ */ new WeakSet()) {\n if (visited.has(source)) {\n return target;\n }\n visited.add(source);\n const result = { ...target };\n for (const key in source) {\n const sourceValue = source[key];\n const targetValue = target[key];\n if (isPlainObject(sourceValue) && isPlainObject(targetValue)) {\n result[key] = deepMerge(\n targetValue,\n sourceValue,\n visited\n );\n } else if (Array.isArray(sourceValue)) {\n result[key] = [...sourceValue];\n } else {\n result[key] = sourceValue;\n }\n }\n return result;\n}\nexport {\n useProvideDefaults\n};\n//# sourceMappingURL=index.mjs.map\n","import { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { useColorMode } from \"./src/composables/useColorMode/index.mjs\";\nimport { u as useModal, a as useModalController } from \"./index-BDkr-YqK.mjs\";\nimport { u as useScrollLock } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { useScrollspy } from \"./src/composables/useScrollspy/index.mjs\";\nimport { u as useToast, a as useToastController } from \"./index-7PG2ESMq.mjs\";\nimport { useToggle } from \"./src/composables/useToggle/index.mjs\";\nimport { usePopover, usePopoverController } from \"./src/composables/usePopover/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { u as useOrchestratorRegistry } from \"./orchestratorShared-BTC5xO6k.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n useBreadcrumb,\n useColorMode,\n useModal,\n useModalController,\n useOrchestratorRegistry,\n usePopover,\n usePopoverController,\n useProvideDefaults,\n useRegistry,\n useScrollLock,\n useScrollspy,\n useToast,\n useToastController,\n useToggle\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-BuUXy1YJ.mjs.map\n","const setTheme = (el, value) => el.setAttribute(\"data-bs-theme\", value);\nconst vBColorMode = {\n mounted(el, binding) {\n setTheme(el, binding.value);\n },\n updated(el, binding) {\n setTheme(el, binding.value);\n }\n};\nexport {\n vBColorMode\n};\n//# sourceMappingURL=index.mjs.map\n","import { e as unbind, g as resolveActiveStatus, h as resolveContent, d as resolveDirectiveProps, j as bind } from \"./floatingUi-BBabBWxD.mjs\";\nimport { f as defaultsKey } from \"./keys-BLeKMItg.mjs\";\nfunction getDirectiveUid(binding) {\n if (!binding.instance) {\n throw new Error(\"[Bootstrap-Vue-Next] Directive binding.instance is not available\");\n }\n return binding.instance.$.uid;\n}\nfunction initDirectiveInstance(el, propertyName, uid, binding) {\n const elWithProps = el;\n elWithProps[propertyName] = elWithProps[propertyName] ?? /* @__PURE__ */ Object.create(null);\n const state = {\n binding: JSON.stringify([binding.modifiers, binding.value]),\n destroying: false\n };\n elWithProps[propertyName][uid] = state;\n return state;\n}\nfunction getDirectiveInstance(el, propertyName, uid) {\n const elWithProps = el;\n return elWithProps[propertyName]?.[uid];\n}\nfunction hasBindingChanged(instance, binding) {\n const newBinding = JSON.stringify([binding.modifiers, binding.value]);\n return instance.binding !== newBinding;\n}\nfunction updateBindingCache(instance, binding) {\n instance.binding = JSON.stringify([binding.modifiers, binding.value]);\n}\nfunction cleanupDirectiveInstance(el, propertyName, uid) {\n const elWithProps = el;\n const instance = elWithProps[propertyName]?.[uid];\n if (instance) {\n instance.destroying = true;\n delete elWithProps[propertyName][uid];\n }\n}\nfunction findProvides(binding, vnode) {\n const provides = (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides;\n return provides;\n}\nfunction findComponentParent(vnode, root) {\n const stack = /* @__PURE__ */ new Set();\n const walk = (children) => {\n for (const child of children) {\n if (!child) continue;\n if (child === vnode || child.el && vnode.el && child.el === vnode.el) {\n return true;\n }\n stack.add(child);\n let result2;\n if (child.suspense) {\n result2 = walk([child.ssContent]);\n } else if (Array.isArray(child.children)) {\n result2 = walk(child.children);\n } else if (child.component?.vnode) {\n result2 = walk([child.component?.subTree]);\n }\n if (result2) {\n return result2;\n }\n stack.delete(child);\n }\n return false;\n };\n if (!walk([root.subTree])) {\n console.error(\"Could not find original vnode, will not inherit provides\");\n return root;\n }\n const result = Array.from(stack).reverse();\n for (const child of result) {\n if (child.component) {\n return child.component;\n }\n }\n return root;\n}\nfunction createFloatingDirective(propertyName, componentDefaultsKey, buildProps) {\n return {\n mounted(el, binding, vnode) {\n const uid = getDirectiveUid(binding);\n const defaultsMap = findProvides(binding, vnode)[defaultsKey]?.value;\n const isActive = resolveActiveStatus(binding.value);\n if (!isActive) return;\n const text = resolveContent(binding.value, el);\n if (!text.body && !text.title) return;\n initDirectiveInstance(el, propertyName, uid, binding);\n const props = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props);\n },\n updated(el, binding, vnode) {\n const uid = getDirectiveUid(binding);\n let instance = getDirectiveInstance(el, propertyName, uid);\n const defaultsMap = findProvides(binding, vnode)[defaultsKey]?.value;\n const isActive = resolveActiveStatus(binding.value);\n if (!isActive) {\n if (instance && el.$__element) {\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n return;\n }\n const text = resolveContent(binding.value, el);\n if (!text.body && !text.title) {\n if (instance && el.$__element) {\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n return;\n }\n if (!instance) {\n instance = initDirectiveInstance(el, propertyName, uid, binding);\n const props2 = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props2);\n return;\n }\n if (!hasBindingChanged(instance, binding)) return;\n if (instance.destroying) return;\n unbind(el);\n const props = buildProps ? buildProps(text, defaultsMap?.[componentDefaultsKey], binding, el) : {\n ...defaultsMap?.[componentDefaultsKey] || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n };\n bind(el, binding, props);\n updateBindingCache(instance, binding);\n },\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding);\n const instance = getDirectiveInstance(el, propertyName, uid);\n if (!instance) return;\n unbind(el);\n cleanupDirectiveInstance(el, propertyName, uid);\n }\n };\n}\nexport {\n createFloatingDirective as c,\n findProvides as f,\n getDirectiveUid as g\n};\n//# sourceMappingURL=utils-BYUyX1-A.mjs.map\n","import { R as RX_SPACE_SPLIT, d as RX_HASH_ID, e as RX_HASH } from \"../../../constants-Cx335y3L.mjs\";\nimport { toValue } from \"vue\";\nimport { f as findProvides } from \"../../../utils-BYUyX1-A.mjs\";\nimport { s as showHideRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst getTargets = (binding, el) => {\n const { modifiers, arg, value } = binding;\n const targets = Object.keys(modifiers || {});\n const localValue = typeof value === \"string\" ? value.split(RX_SPACE_SPLIT) : value;\n if (el.tagName.toLowerCase() === \"a\") {\n const href = el.getAttribute(\"href\") || \"\";\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, \"\"));\n }\n }\n Array.prototype.concat.apply([], [arg, localValue]).forEach((t) => typeof t === \"string\" && targets.push(t));\n return targets.filter((t, index, arr) => t && arr.indexOf(t) === index);\n};\nconst handleUpdate = (el, binding, vnode) => {\n const targets = getTargets(binding, el);\n if (targets.length === 0) return;\n const provides = findProvides(binding, vnode);\n const showHideMap = provides[showHideRegistryKey]?.values;\n if (el.dataset.bvtoggle) {\n const oldTargets = (el.dataset.bvtoggle || \"\").split(\" \");\n if (oldTargets.length === 0) return;\n for (const targetId of oldTargets) {\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n continue;\n }\n if (!targets.includes(targetId)) {\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n }\n }\n }\n el.dataset.bvtoggle = targets.join(\" \");\n targets.forEach(async (targetId) => {\n let count = 0;\n const maxAttempts = 5;\n const delayMs = 100;\n while (count < maxAttempts) {\n if (!el.dataset.bvtoggle) {\n return;\n }\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n count++;\n if (count < maxAttempts) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n continue;\n }\n if (el.dataset.bvtoggle) {\n console.warn(\n `[v-b-toggle] Target with ID ${targetId} not found after ${maxAttempts * delayMs}ms`\n );\n }\n break;\n }\n if (!el.dataset.bvtoggle) return;\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n toValue(showHide).registerTrigger(\"click\", el);\n break;\n }\n });\n el.setAttribute(\"aria-controls\", targets.join(\" \"));\n};\nconst handleUnmount = (el, binding, vnode) => {\n const targets = getTargets(binding, el);\n if (targets.length === 0) return;\n const provides = findProvides(binding, vnode);\n const showHideMap = provides[showHideRegistryKey]?.values;\n targets.forEach((targetId) => {\n const showHide = showHideMap?.value.get(targetId);\n if (!showHide) {\n return;\n }\n toValue(showHide).unregisterTrigger(\"click\", el, false);\n });\n el.removeAttribute(\"aria-controls\");\n el.removeAttribute(\"aria-expanded\");\n el.classList.remove(\"collapsed\");\n el.classList.remove(\"not-collapsed\");\n delete el.dataset.bvtoggle;\n};\nconst vBToggle = {\n mounted: handleUpdate,\n updated: handleUpdate,\n unmounted: handleUnmount\n};\nexport {\n vBToggle\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { d as resolveDirectiveProps } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport { c as createFloatingDirective } from \"../../../utils-BYUyX1-A.mjs\";\nconst vBPopover = createFloatingDirective(\n \"$__popover\",\n \"BPopover\",\n (text, defaults, binding, el) => ({\n ...defaults || void 0,\n ...resolveDirectiveProps(binding, el),\n ...text\n })\n);\nexport {\n vBPopover\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { useScrollspy } from \"../../composables/useScrollspy/index.mjs\";\nimport { o as omit } from \"../../../object-0ALvRU0O.mjs\";\nimport { g as getDirectiveUid } from \"../../../utils-BYUyX1-A.mjs\";\nconst bind = (el, binding) => {\n if (typeof document === \"undefined\") return;\n const uid = getDirectiveUid(binding);\n const elWithScrollspy = el;\n elWithScrollspy.$__scrollspy = elWithScrollspy.$__scrollspy ?? /* @__PURE__ */ Object.create(null);\n const existingInstance = elWithScrollspy.$__scrollspy[uid];\n if (existingInstance) {\n existingInstance.cleanup();\n }\n const { arg, value } = binding;\n const isObject = typeof value === \"object\" && value !== null;\n const content = arg ? arg : typeof value === \"string\" ? value : isObject ? value.content || value.element : null;\n elWithScrollspy.$__scrollspy[uid] = useScrollspy(\n content,\n el,\n isObject ? omit(value, [\"content\", \"element\"]) : {}\n );\n};\nconst vBScrollspy = {\n mounted: bind,\n updated: bind,\n beforeUnmount(el, binding) {\n const uid = getDirectiveUid(binding);\n const elWithScrollspy = el;\n const instance = elWithScrollspy.$__scrollspy?.[uid];\n if (!instance) return;\n instance.cleanup();\n delete elWithScrollspy.$__scrollspy[uid];\n }\n};\nexport {\n vBScrollspy\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { d as resolveDirectiveProps } from \"../../../floatingUi-BBabBWxD.mjs\";\nimport { c as createFloatingDirective } from \"../../../utils-BYUyX1-A.mjs\";\nconst vBTooltip = createFloatingDirective(\n \"$__tooltip\",\n \"BTooltip\",\n (text, defaults, binding, el) => ({\n noninteractive: true,\n ...defaults || void 0,\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.body ?? \"\",\n tooltip: true\n })\n);\nexport {\n vBTooltip\n};\n//# sourceMappingURL=index.mjs.map\n","import { vBColorMode } from \"./src/directives/BColorMode/index.mjs\";\nimport { vBToggle } from \"./src/directives/BToggle/index.mjs\";\nimport { vBPopover } from \"./src/directives/BPopover/index.mjs\";\nimport { vBScrollspy } from \"./src/directives/BScrollspy/index.mjs\";\nimport { vBTooltip } from \"./src/directives/BTooltip/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n vBColorMode,\n vBModal: vBToggle,\n vBPopover,\n vBScrollspy,\n vBToggle,\n vBTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-CXpBEYSc.mjs.map\n","import { b as BvCarouselEvent, B as BvEvent, a as BvTriggerableEvent } from \"./classes-BW_GpXTu.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BvCarouselEvent,\n BvEvent,\n BvTriggerableEvent\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-D888h6zh.mjs.map\n","import { Fragment } from \"vue\";\nfunction flattenFragments(nodes) {\n return nodes.map((node) => {\n if (node.type === Fragment) {\n return flattenFragments(node.children);\n }\n return node;\n }).flat();\n}\nexport {\n flattenFragments as f\n};\n//# sourceMappingURL=flattenFragments-BoFLyuna.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, readonly, provide, toRef, createElementBlock, openBlock, Fragment, renderSlot, createBlock, createCommentVNode, normalizeProps, guardReactiveProps, unref, Transition, mergeProps, withCtx, withDirectives, resolveDynamicComponent, vShow } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { c as collapseInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BCollapse\",\n props: /* @__PURE__ */ mergeModels({\n horizontal: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: false },\n tag: { default: \"div\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean, default: false },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCollapse\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"collapse\");\n const element = useTemplateRef(\"_element\");\n let inCollapse = false;\n const onEnter = (el) => {\n inCollapse = true;\n requestAnimationFrame(() => {\n if (props.horizontal) {\n el.style.width = `${el.scrollWidth}px`;\n } else {\n el.style.height = `${el.scrollHeight}px`;\n }\n });\n };\n const onBeforeLeave = (el) => {\n if (inCollapse) {\n return;\n }\n if (props.horizontal) {\n el.style.width = `${el.scrollWidth}px`;\n } else {\n el.style.height = `${el.scrollHeight}px`;\n }\n el.offsetHeight;\n };\n const onLeave = (el) => {\n requestAnimationFrame(() => {\n if (props.horizontal) {\n el.style.width = ``;\n } else {\n el.style.height = ``;\n }\n });\n };\n const onAfterEnter = (el) => {\n el.style.height = ``;\n el.style.width = ``;\n inCollapse = false;\n };\n const onAfterLeave = (el) => {\n el.style.height = ``;\n el.style.width = ``;\n inCollapse = false;\n };\n const {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n isActive,\n computedNoAnimation,\n contentShowing,\n transitionProps\n } = useShowHide(modelValue, props, emit, element, computedId, {\n // addShowClass: false,\n transitionProps: {\n onBeforeLeave,\n onEnter,\n onLeave,\n onAfterEnter,\n onAfterLeave,\n enterToClass: \"\",\n leaveToClass: \"\",\n enterFromClass: \"\",\n leaveFromClass: \"\",\n enterActiveClass: \"\",\n leaveActiveClass: \"\"\n }\n });\n const computedClasses = computed(() => ({\n \"show\": isActive.value,\n \"navbar-collapse\": props.isNav,\n \"collapse-horizontal\": props.horizontal\n }));\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n hide,\n isNav: props.isNav,\n show,\n toggle,\n visible: readonly(showRef)\n });\n provide(collapseInjectionKey, {\n id: computedId,\n hide,\n show,\n toggle,\n visible: readonly(showRef),\n isNav: toRef(() => props.isNav)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value))),\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n \"enter-active-class\": unref(computedNoAnimation) ? \"\" : \"collapsing\",\n \"leave-active-class\": unref(computedNoAnimation) ? \"\" : \"collapsing\",\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives((openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n class: [\"collapse\", computedClasses.value],\n \"is-nav\": unref(props).isNav\n }, _ctx.$attrs), {\n default: withCtx(() => [\n unref(contentShowing) ? renderSlot(_ctx.$slots, \"default\", normalizeProps(mergeProps({ key: 0 }, sharedSlots.value))) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"id\", \"class\", \"is-nav\"])), [\n [vShow, unref(showRef)]\n ])\n ]),\n _: 3\n }, 16, [\"enter-active-class\", \"leave-active-class\", \"appear\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs.map\n","import { defineComponent, mergeModels, useAttrs, computed, inject, useModel, useTemplateRef, onUnmounted, onMounted, nextTick, watch, createElementBlock, openBlock, mergeProps, unref, createVNode, withCtx, createElementVNode, renderSlot, createBlock, resolveDynamicComponent, createTextVNode, toDisplayString, useSlots, ref, shallowRef, provide, toRef, normalizeClass } from \"vue\";\nimport { g as accordionInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { f as flattenFragments } from \"./flattenFragments-BoFLyuna.mjs\";\nimport { _ as _sfc_main$2 } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { s as sortSlotElementsByPosition } from \"./dom-DVb-f0ZG.mjs\";\nconst _hoisted_1$1 = [\"aria-expanded\", \"aria-controls\", \"onClick\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BAccordionItem\",\n props: /* @__PURE__ */ mergeModels({\n bodyAttrs: { default: void 0 },\n bodyClass: { default: void 0 },\n buttonAttrs: { default: void 0 },\n buttonClass: { default: void 0 },\n collapseClass: { default: void 0 },\n headerAttrs: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"h2\" },\n horizontal: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n isNav: { type: Boolean, default: void 0 },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n tag: { default: void 0 },\n title: { default: void 0 },\n show: { type: Boolean, default: void 0 },\n visible: { type: Boolean, default: false },\n wrapperAttrs: { default: void 0 }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAccordionItem\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...collapseAttrs } = attrs;\n return { wrapperClass, collapseAttrs };\n });\n const parentData = inject(accordionInjectionKey, null);\n const computedId = useId(() => props.id, \"accordion_item\");\n const modelValue = useModel(__props, \"modelValue\");\n if (modelValue.value) {\n parentData?.setOpenItem(computedId.value);\n } else {\n modelValue.value = (Array.isArray(parentData?.openItem.value) ? parentData?.openItem.value.includes(computedId.value) : parentData?.openItem.value === computedId.value) && !parentData?.initialAnimation.value;\n }\n const el = useTemplateRef(\"_el\");\n parentData?.registerAccordionItem(computedId.value, el);\n onUnmounted(() => {\n parentData?.unregisterAccordionItem(computedId.value);\n });\n onMounted(() => {\n if (!modelValue.value && parentData?.openItem.value === computedId.value) {\n nextTick(() => {\n modelValue.value = true;\n });\n }\n });\n const openInParent = computed(\n () => Array.isArray(parentData?.openItem.value) ? parentData?.openItem.value.includes(computedId.value) : parentData?.openItem.value === computedId.value\n );\n watch(\n () => parentData?.openItem.value,\n () => modelValue.value = openInParent.value\n );\n watch(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 return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"_el\",\n class: \"accordion-item\"\n }, unref(props).wrapperAttrs, {\n class: processedAttrs.value.wrapperClass\n }), [\n createVNode(_sfc_main$2, mergeProps({\n id: unref(computedId),\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n class: [\"accordion-collapse\", unref(props).collapseClass],\n \"aria-labelledby\": `${unref(computedId)}-heading`\n }, processedAttrs.value.collapseAttrs, {\n tag: unref(props).tag,\n show: unref(props).show,\n horizontal: unref(props).horizontal,\n visible: unref(props).visible,\n \"is-nav\": unref(props).isNav,\n lazy: unref(props).lazy || unref(parentData)?.lazy.value,\n \"unmount-lazy\": unref(props).unmountLazy || unref(parentData)?.unmountLazy.value,\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event))\n }), {\n header: withCtx(({ visible: toggleVisible, toggle: slotToggle }) => [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), mergeProps({\n id: `${unref(computedId)}-heading`,\n class: [\"accordion-header\", unref(props).headerClass]\n }, unref(props).headerAttrs), {\n default: withCtx(() => [\n createElementVNode(\"button\", mergeProps({ class: \"accordion-button\" }, unref(props).buttonAttrs, {\n class: [{ collapsed: !toggleVisible }, unref(props).buttonClass],\n type: \"button\",\n \"aria-expanded\": toggleVisible ? \"true\" : \"false\",\n \"aria-controls\": unref(computedId),\n onClick: slotToggle\n }), [\n renderSlot(_ctx.$slots, \"title\", {}, () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 16, _hoisted_1$1)\n ]),\n _: 2\n }, 1040, [\"id\", \"class\"]))\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", mergeProps({ class: \"accordion-body\" }, unref(props).bodyAttrs, {\n class: unref(props).bodyClass\n }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16)\n ]),\n _: 3\n }, 16, [\"id\", \"modelValue\", \"class\", \"aria-labelledby\", \"tag\", \"show\", \"horizontal\", \"visible\", \"is-nav\", \"lazy\", \"unmount-lazy\"])\n ], 16);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAccordion\",\n props: /* @__PURE__ */ mergeModels({\n flush: { type: Boolean, default: false },\n free: { type: Boolean, default: false },\n id: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false }\n }, {\n \"modelValue\": {\n default: void 0\n },\n \"modelModifiers\": {},\n \"index\": {\n default: void 0\n },\n \"indexModifiers\": {}\n }),\n emits: [\"update:modelValue\", \"update:index\"],\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BAccordion\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const index = useModel(__props, \"index\");\n const itemElementsArray = ref([]);\n const updateItemElementsArray = () => {\n const itemElements = flattenFragments(slots.default?.({}) ?? []);\n itemElementsArray.value = (Array.isArray(itemElements) ? itemElements : [itemElements]).filter(\n (item) => item.type === _sfc_main$1\n );\n };\n updateItemElementsArray();\n watch(\n () => slots.default?.({}),\n () => {\n updateItemElementsArray();\n nextTick(() => {\n sortAccordionItems();\n });\n }\n );\n const accordionItems = shallowRef([]);\n const sortAccordionItems = () => {\n accordionItems.value = accordionItems.value.sort(\n (a, b) => sortSlotElementsByPosition(unref(a.el), unref(b.el))\n );\n if (modelValue.value) {\n if (Array.isArray(modelValue.value)) {\n const next = modelValue.value.map((id) => accordionItems.value.findIndex((item) => item.id === id)).filter((i) => i !== -1);\n if (next.length !== modelValue.value.length) {\n if (process.env.NODE_ENV === \"development\") {\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 !== void 0) {\n modelValue.value = Array.isArray(index.value) ? index.value.map((idx) => accordionItems.value[idx]?.id) : accordionItems.value[index.value]?.id;\n }\n };\n const computedId = useId(() => props.id, \"accordion\");\n const computedClasses = computed(() => ({\n \"accordion-flush\": props.flush\n }));\n const areEqual = (a, b) => {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((item, index2) => item === b[index2]);\n }\n return a === b;\n };\n watch(\n () => index.value,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return;\n if (index.value === void 0) {\n modelValue.value = void 0;\n return;\n }\n if (!props.free) {\n const idx = !Array.isArray(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 = void 0;\n });\n }\n } else {\n if (Array.isArray(index.value)) {\n const newValue2 = index.value.map((item) => accordionItems.value[item]?.id);\n if (!areEqual(newValue2, modelValue.value)) {\n modelValue.value = newValue2;\n }\n } else {\n const newValue2 = accordionItems.value[index.value]?.id;\n if (newValue2 === void 0) {\n nextTick(() => {\n index.value = void 0;\n });\n return;\n }\n if (!areEqual(newValue2, modelValue.value)) {\n modelValue.value = newValue2;\n }\n }\n }\n }\n );\n watch(\n () => modelValue.value,\n (newValue, oldValue) => {\n if (areEqual(newValue, oldValue)) return;\n if (modelValue.value === void 0) {\n index.value = void 0;\n return;\n }\n if (!props.free) {\n const idx = !Array.isArray(modelValue.value) ? accordionItems.value.findIndex((item) => item.id === modelValue.value) : accordionItems.value.findIndex((item) => item.id === modelValue.value?.[0]);\n if (idx !== -1) {\n if (index.value !== idx) {\n index.value = idx;\n }\n } else {\n nextTick(() => {\n modelValue.value = void 0;\n });\n }\n } else if (props.free) {\n if (Array.isArray(modelValue.value)) {\n const idxes = modelValue.value.map((value) => accordionItems.value.findIndex((item) => item.id === value)).filter((index2) => index2 !== -1);\n if (idxes.length > 0) {\n if (!areEqual(idxes, index.value)) {\n index.value = idxes;\n }\n } else {\n nextTick(() => {\n modelValue.value = void 0;\n });\n }\n } else {\n const newValue2 = accordionItems.value.findIndex((item) => item.id === modelValue.value);\n if (!areEqual(newValue2, index.value)) {\n index.value = newValue2;\n }\n }\n }\n },\n { deep: true }\n );\n watch(\n () => props.free,\n (free) => {\n if (modelValue.value) {\n if (!free && Array.isArray(modelValue.value)) {\n modelValue.value = modelValue.value[0];\n } else if (free && !Array.isArray(modelValue.value)) {\n modelValue.value = [modelValue.value];\n }\n }\n }\n );\n provide(accordionInjectionKey, {\n openItem: toRef(() => modelValue.value),\n free: toRef(() => props.free),\n initialAnimation: toRef(() => props.initialAnimation),\n lazy: toRef(() => props.lazy),\n unmountLazy: toRef(() => props.unmountLazy),\n setOpenItem: (id) => {\n if (props.free && !Array.isArray(modelValue.value)) {\n if (modelValue.value !== void 0) {\n modelValue.value = [modelValue.value, id];\n } else {\n modelValue.value = [id];\n }\n return;\n }\n if (!props.free && Array.isArray(modelValue.value)) {\n modelValue.value = id;\n return;\n }\n if (Array.isArray(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) => {\n if (!props.free && Array.isArray(modelValue.value)) {\n modelValue.value = void 0;\n return;\n }\n if (Array.isArray(modelValue.value)) {\n const next = modelValue.value.filter((item) => item !== id);\n modelValue.value = next.length ? next : void 0;\n } else {\n if (modelValue.value === id) {\n modelValue.value = void 0;\n }\n }\n },\n registerAccordionItem: (id, el) => {\n accordionItems.value = [...accordionItems.value, { id, el }];\n if (accordionItems.value.length === itemElementsArray.value.length) {\n sortAccordionItems();\n }\n },\n unregisterAccordionItem: (id) => {\n accordionItems.value = accordionItems.value.filter((item) => item.id !== id);\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass([\"accordion\", computedClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs.map\n","import { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { defineComponent, mergeModels, useSlots, useTemplateRef, useModel, computed, watchEffect, watch, createBlock, createCommentVNode, unref, openBlock, Transition, mergeProps, withCtx, withDirectives, createElementVNode, normalizeClass, createElementBlock, resolveDynamicComponent, renderSlot, normalizeProps, guardReactiveProps, toDisplayString, Fragment, withModifiers, createTextVNode, vShow } from \"vue\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$4 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { u as useCountdown, a as useCountdownHover } from \"./useCountdownHover-D79FUs67.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nconst _hoisted_1 = [\"id\", \"role\", \"aria-live\", \"aria-atomic\"];\nconst _hoisted_2 = {\n key: 1,\n class: \"d-flex gap-2\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAlert\",\n props: /* @__PURE__ */ mergeModels({\n alertClass: { default: void 0 },\n body: { default: void 0 },\n bodyClass: { default: void 0 },\n closeClass: { default: void 0 },\n closeContent: { default: void 0 },\n closeLabel: { default: \"Close\" },\n closeVariant: { default: \"secondary\" },\n dismissible: { type: Boolean, default: false },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n id: { default: void 0 },\n interval: { default: \"requestAnimationFrame\" },\n isStatus: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noResumeOnHoverLeave: { type: Boolean, default: false },\n progressProps: { default: void 0 },\n showOnPause: { type: Boolean, default: true },\n title: { default: void 0 },\n variant: { default: \"info\" },\n bgVariant: { default: null },\n textVariant: { default: null },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean, default: void 0 },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: [Boolean, Number], ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"close-countdown\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAlert\");\n const emit = __emit;\n const slots = useSlots();\n const element = useTemplateRef(\"_element\");\n const modelValue = useModel(__props, \"modelValue\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const computedId = useId(() => props.id, \"alert\");\n const {\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, element, computedId);\n const countdownLength = computed(\n () => typeof modelValue.value === \"boolean\" ? 0 : modelValue.value\n );\n const {\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 });\n useCountdownHover(\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 watchEffect(() => {\n emit(\"close-countdown\", remainingMs.value);\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : \"div\");\n const isAlertVisible = computed(\n () => showRef.value || isActive.value || props.showOnPause && isPaused.value\n );\n const 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 watch(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 watch(isActive, (newValue) => {\n if (newValue === false && isPaused.value === false) {\n hide();\n modelValue.value = 0;\n stop();\n }\n });\n const sharedSlots = computed(() => ({\n toggle,\n show,\n hide,\n id: computedId.value,\n visible: showRef.value,\n active: isActive.value\n }));\n __expose({\n show,\n hide,\n toggle,\n pause,\n restart,\n resume,\n stop\n });\n return (_ctx, _cache) => {\n const _component_BButton = _sfc_main$2;\n return unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: !!modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n id: unref(props).id,\n ref: \"_element\",\n class: normalizeClass([\"alert\", [unref(props).alertClass, computedClasses.value]]),\n tabindex: \"0\",\n role: !isAlertVisible.value ? void 0 : unref(props).isStatus ? \"status\" : \"alert\",\n \"aria-live\": !isAlertVisible.value ? void 0 : unref(props).isStatus ? \"polite\" : \"assertive\",\n \"aria-atomic\": !isAlertVisible.value ? void 0 : true\n }, [\n unref(contentShowing) && (slots.title || unref(props).title) ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n key: 0,\n class: normalizeClass([\"alert-heading d-flex gap-2\", unref(props).headerClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).title), 1)\n ]),\n unref(props).dismissible ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto ps-1 btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([unref(props).closeClass]),\n onClick: _cache[1] || (_cache[1] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true),\n unref(contentShowing) && (slots.default || unref(props).body) ? (openBlock(), createElementBlock(\"div\", _hoisted_2, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"alert-body\", unref(props).bodyClass]\n }, unref(computedLinkProps), {\n onClick: _cache[2] || (_cache[2] = ($event) => unref(computedLink) && unref(props).dismissible ? unref(hide)() : () => {\n })\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).body), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"])),\n unref(props).dismissible && !(slots.title || unref(props).title) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n slots.close || unref(props).closeContent ? (openBlock(), createBlock(_component_BButton, {\n key: 0,\n class: normalizeClass([[unref(props).closeClass], \"ms-auto btn-close-custom\"]),\n variant: unref(props).closeVariant,\n onClick: _cache[3] || (_cache[3] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"close\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).closeContent), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\", \"variant\"])) : (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n \"aria-label\": unref(props).closeLabel,\n class: normalizeClass([unref(props).closeClass]),\n onClick: _cache[4] || (_cache[4] = withModifiers(($event) => unref(hide)(\"close\"), [\"stop\", \"prevent\"]))\n }, null, 8, [\"aria-label\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])) : createCommentVNode(\"\", true),\n typeof modelValue.value === \"number\" && unref(props).progressProps !== void 0 ? (openBlock(), createBlock(_sfc_main$4, {\n key: 2,\n animated: unref(props).progressProps.animated,\n precision: unref(props).progressProps.precision,\n \"show-progress\": unref(props).progressProps.showProgress,\n \"show-value\": unref(props).progressProps.showValue,\n striped: unref(props).progressProps.striped,\n variant: unref(props).progressProps.variant,\n max: modelValue.value,\n value: unref(remainingMs),\n height: \"4px\"\n }, null, 8, [\"animated\", \"precision\", \"show-progress\", \"show-value\", \"striped\", \"variant\", \"max\", \"value\"])) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1), [\n [vShow, isAlertVisible.value]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs.map\n","import { defineComponent, inject, watch, computed, createBlock, openBlock, withCtx, createElementVNode, mergeProps, createElementBlock, Fragment, renderList, normalizeStyle, normalizeClass, createVNode, TransitionGroup, resolveDynamicComponent, createSlots } from \"vue\";\nimport { o as orchestratorRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nconst positionClasses = {\n \"top-start\": \"top-0 start-0\",\n \"top-center\": \"top-0 start-50 translate-middle-x\",\n \"top-end\": \"top-0 end-0\",\n \"middle-start\": \"top-50 start-0 translate-middle-y\",\n \"middle-center\": \"top-50 start-50 translate-middle\",\n \"middle-end\": \"top-50 end-0 translate-middle-y\",\n \"bottom-start\": \"bottom-0 start-0\",\n \"bottom-center\": \"bottom-0 start-50 translate-middle-x\",\n \"bottom-end\": \"bottom-0 end-0\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BOrchestrator\",\n props: {\n noPopovers: { type: Boolean, default: false },\n noToasts: { type: Boolean, default: false },\n noModals: { type: Boolean, default: false },\n appendToast: { type: Boolean, default: false },\n teleportTo: {},\n filter: { type: Function, default: () => true }\n },\n setup(__props) {\n function setEventOk(event) {\n event.ok = event.trigger === \"ok\" ? true : event.trigger === \"cancel\" ? false : null;\n }\n const props = __props;\n const orchestratorRegistry = inject(orchestratorRegistryKey);\n if (orchestratorRegistry) {\n if (!orchestratorRegistry._isOrchestratorInstalled.value) {\n orchestratorRegistry._isOrchestratorInstalled.value = true;\n }\n } else {\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\n \"[BOrchestrator] The orchestrator registry not found. Please use BApp, useRegistry or provide the plugin.\"\n );\n }\n }\n watch(\n () => props.appendToast,\n (value) => {\n if (orchestratorRegistry && value !== void 0) {\n orchestratorRegistry._isToastAppend.value = value;\n }\n },\n { immediate: true }\n );\n const ComputedPositionClasses = computed(() => {\n const positionsActive = items.value?.reduce(\n (acc, item) => {\n if (item.position) {\n acc[item.position] = true;\n }\n return acc;\n },\n {}\n );\n const classes = {};\n for (const position in positionClasses) {\n if (positionsActive?.[position]) {\n classes[position] = {\n class: `${positionClasses[position]} toast-container position-fixed p-3`,\n style: \"width: calc(var(--bs-toast-max-width, 350px) + var(--bs-toast-padding-x, 1rem) * 2)\"\n };\n }\n }\n if (positionsActive?.[\"modal\"]) {\n classes[\"modal\"] = {\n class: \"\",\n style: \"\"\n };\n }\n if (positionsActive?.[\"popover\"]) {\n classes[\"popover\"] = {\n class: \"\",\n style: \"\"\n };\n }\n return classes;\n });\n const items = computed(() => {\n const store = orchestratorRegistry?.store.value ?? [];\n return store.filter((el) => !props.noPopovers || el.type !== \"popover\").filter((el) => !props.noToasts || el.type !== \"toast\").filter((el) => !props.noModals || el.type !== \"modal\").filter(props.filter);\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: _ctx.teleportTo,\n disabled: !_ctx.teleportTo\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", mergeProps({ class: \"orchestrator-container\" }, _ctx.$attrs), [\n (openBlock(true), createElementBlock(Fragment, null, renderList(ComputedPositionClasses.value, (value, key) => {\n return openBlock(), createElementBlock(\"div\", {\n key,\n class: normalizeClass(value.class),\n style: normalizeStyle(value.style)\n }, [\n createVNode(TransitionGroup, {\n name: items.value?.filter((el) => el.position === key)?.some((el) => el.type === \"toast\") ? \"b-list\" : void 0\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(items.value?.filter((el) => el.position === key) || [], ({\n _self,\n type,\n position,\n slots,\n promise,\n options,\n _component,\n ...val\n }) => {\n return openBlock(), createElementBlock(\"span\", { key: _self }, [\n (openBlock(), createBlock(resolveDynamicComponent(_component), mergeProps({ ref_for: true }, val, {\n ref_for: true,\n ref: (ref) => promise.value.ref = ref,\n \"initial-animation\": \"\",\n \"teleport-disabled\": true,\n onHide: (e) => {\n setEventOk(e);\n val.onHide?.(e);\n if (e.defaultPrevented) {\n return;\n }\n promise.stop?.();\n if (options?.resolveOnHide) {\n promise.resolve(e);\n }\n },\n onHidden: (e) => {\n setEventOk(e);\n val.onHidden?.(e);\n if (e.defaultPrevented) {\n return;\n }\n if (!options?.resolveOnHide) {\n promise.resolve(e);\n }\n if (!options?.keep) {\n promise.value.destroy?.();\n }\n }\n }), createSlots({ _: 2 }, [\n renderList(slots, (comp, slot) => {\n return {\n name: slot,\n fn: withCtx((scope) => [\n (openBlock(), createBlock(resolveDynamicComponent(comp), mergeProps({ ref_for: true }, scope), null, 16))\n ])\n };\n })\n ]), 1040, [\"onHide\", \"onHidden\"]))\n ]);\n }), 128))\n ]),\n _: 2\n }, 1032, [\"name\"])\n ], 6);\n }), 128))\n ], 16)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs.map\n","import { defineComponent, toRef, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, renderSlot, normalizeProps, guardReactiveProps } from \"vue\";\nimport { _ as _sfc_main$1 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { u as useOrchestratorRegistry } from \"./orchestratorShared-BTC5xO6k.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BApp\",\n props: {\n defaults: { default: void 0 },\n mergeDefaults: { type: [Boolean, Function], default: false },\n teleportTo: { default: void 0 },\n noOrchestrator: { type: Boolean, default: false },\n appendToast: { type: Boolean, default: false },\n rtl: { type: [Boolean, Object], default: false }\n },\n setup(__props) {\n const props = __props;\n useProvideDefaults(\n toRef(() => props.defaults),\n props.mergeDefaults\n );\n useRegistry(props.rtl);\n if (!props.noOrchestrator) {\n useOrchestratorRegistry();\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n !_ctx.noOrchestrator ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n \"append-toast\": _ctx.appendToast,\n \"teleport-to\": _ctx.teleportTo\n }, null, 8, [\"append-toast\", \"teleport-to\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(_ctx.$attrs)))\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createVNode, renderSlot } from \"vue\";\nimport { u as useBLinkHelper, _ as _sfc_main$1 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BBadge\",\n props: {\n dotIndicator: { type: Boolean, default: false },\n pill: { type: Boolean, default: false },\n placement: { default: void 0 },\n tag: { default: \"span\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: \"secondary\" },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BBadge\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$1 : props.tag);\n const placementClasses = computed(() => {\n const pos = props.placement ?? (props.dotIndicator ? \"top-end\" : void 0);\n return [\n \"position-absolute\",\n \"translate-middle\",\n {\n \"start-0 top-0\": pos === \"top-start\",\n \"start-0 top-50\": pos === \"start\",\n \"start-0 top-100\": pos === \"bottom-start\",\n \"start-50 top-0\": pos === \"top\",\n \"start-50 top-100\": pos === \"bottom\",\n \"start-100 top-0\": pos === \"top-end\",\n \"start-100 top-50\": pos === \"end\",\n \"start-100 top-100\": pos === \"bottom-end\"\n }\n ];\n });\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.placement !== void 0 || props.dotIndicator === true ? placementClasses.value : void 0,\n {\n \"active\": props.active,\n \"disabled\": props.disabled,\n \"rounded-pill\": props.pill,\n \"p-2 border border-light rounded-circle\": props.dotIndicator,\n \"text-decoration-none\": computedLink.value\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"badge\", computedClasses.value]\n }, unref(computedLinkProps)), {\n default: withCtx(() => [\n createVNode(_sfc_main$2, mergeProps({\n skip: unref(props).dotIndicator !== true,\n tag: \"span\"\n }, unref(props).dotIndicator ? { class: \"visually-hidden\" } : {}), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"skip\"])\n ]),\n _: 3\n }, 16, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs.map\n","import { computed, toValue } from \"vue\";\nimport { f as RX_NUMBER } from \"./constants-Cx335y3L.mjs\";\nconst useNumberishToStyle = (el, unit = \"px\") => computed(() => {\n const value = toValue(el);\n const resolvedUnit = toValue(unit);\n return RX_NUMBER.test(String(value)) ? `${Number(value)}${resolvedUnit}` : value;\n});\nexport {\n useNumberishToStyle as u\n};\n//# sourceMappingURL=useNumberishToStyle-CdjRyAvX.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useRadiusElementClasses = (obj) => {\n const resolveRadiusElement = (value, str) => {\n const strValue = str === null ? \"\" : `-${str}`;\n return value === \"circle\" ? `rounded${strValue}-circle` : value === \"pill\" ? `rounded${strValue}-pill` : typeof value === \"number\" || value === \"0\" || value === \"1\" || value === \"2\" || value === \"3\" || value === \"4\" || value === \"5\" ? `rounded${strValue}-${value}` : value === \"none\" ? `rounded${strValue}-0` : value === \"sm\" ? `rounded${strValue}-1` : value === \"lg\" ? `rounded${strValue}-5` : `rounded${strValue}`;\n };\n return computed(() => {\n const props = toValue(obj);\n return {\n [`${resolveRadiusElement(props.rounded, null)}`]: !!props.rounded,\n [`${resolveRadiusElement(props.roundedTop, \"top\")}`]: !!props.roundedTop,\n [`${resolveRadiusElement(props.roundedBottom, \"bottom\")}`]: !!props.roundedBottom,\n [`${resolveRadiusElement(props.roundedStart, \"start\")}`]: !!props.roundedStart,\n [`${resolveRadiusElement(props.roundedEnd, \"end\")}`]: !!props.roundedEnd\n };\n });\n};\nexport {\n useRadiusElementClasses as u\n};\n//# sourceMappingURL=useRadiusElementClasses-DtKYQuWz.mjs.map\n","import { defineComponent, useSlots, ref, watch, inject, computed, createBlock, openBlock, resolveDynamicComponent, mergeProps, unref, withCtx, createElementBlock, createCommentVNode, renderSlot, createElementVNode, normalizeStyle, toDisplayString, createTextVNode, provide, toRef } from \"vue\";\nimport { h as avatarGroupInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$3 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useNumberishToStyle } from \"./useNumberishToStyle-CdjRyAvX.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"b-avatar-custom\"\n};\nconst _hoisted_2 = {\n key: 1,\n class: \"b-avatar-img\"\n};\nconst _hoisted_3 = [\"src\", \"alt\"];\nconst _hoisted_4 = {\n key: 3,\n class: \"b-avatar-img\"\n};\nconst FONT_SIZE_SCALE = 0.4;\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BAvatar\",\n props: {\n alt: { default: \"avatar\" },\n badge: { type: [Boolean, String], default: false },\n badgeBgVariant: { default: null },\n badgePlacement: { default: \"bottom-end\" },\n badgeTextVariant: { default: null },\n badgeVariant: { default: \"primary\" },\n badgePill: { type: Boolean, default: false },\n badgeDotIndicator: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonType: { default: \"button\" },\n size: { default: void 0 },\n square: { type: Boolean, default: false },\n src: { default: void 0 },\n text: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: {},\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: \"secondary\" },\n bgVariant: { default: null },\n textVariant: { default: null },\n rounded: { type: [Boolean, String, Number], default: \"circle\" },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n emits: [\"click\", \"img-error\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BAvatar\");\n const emit = __emit;\n const slots = useSlots();\n const localSrc = ref(props.src);\n watch(\n () => props.src,\n (value) => {\n localSrc.value = value;\n }\n );\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const parentData = inject(avatarGroupInjectionKey, null);\n const SIZES = Object.freeze([\n null,\n ...Object.keys({\n lg: null,\n md: null,\n sm: null\n })\n ]);\n const BADGE_FONT_SIZE_SCALE = FONT_SIZE_SCALE * 0.7;\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const hasBadgeSlot = computed(() => !isEmptySlot(slots.badge));\n const showBadge = computed(() => !!props.badge || props.badge === \"\" || hasBadgeSlot.value);\n const computedSquare = computed(() => parentData?.square.value || props.square);\n const computedSize = useNumberishToStyle(() => parentData?.size.value ?? props.size);\n const computedSizeIsLiteralSize = computed(\n () => !!computedSize.value && SIZES.includes(computedSize.value)\n );\n const computedVariant = computed(() => parentData?.variant.value ?? props.variant);\n const computedRounded = computed(() => parentData?.rounded.value ?? props.rounded);\n const computedRoundedTop = computed(() => parentData?.roundedTop.value ?? props.roundedTop);\n const computedRoundedBottom = computed(() => parentData?.roundedBottom.value ?? props.roundedBottom);\n const computedRoundedStart = computed(() => parentData?.roundedStart.value ?? props.roundedStart);\n const computedRoundedEnd = computed(() => parentData?.roundedEnd.value ?? props.roundedEnd);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: computedRounded.value,\n roundedTop: computedRoundedTop.value,\n roundedBottom: computedRoundedBottom.value,\n roundedStart: computedRoundedStart.value,\n roundedEnd: computedRoundedEnd.value\n }));\n const badgeText = computed(() => props.badge === true ? \"\" : props.badge);\n const badgeImplicitlyDot = computed(() => !badgeText.value && !hasBadgeSlot.value);\n const colorClasses = useColorVariantClasses(() => ({\n bgVariant: parentData?.bgVariant.value ?? props.bgVariant,\n textVariant: parentData?.textVariant.value ?? props.textVariant,\n variant: computedVariant.value\n }));\n const computedClasses = computed(() => [\n colorClasses.value,\n // Square overwrites all else\n computedSquare.value === true ? void 0 : radiusElementClasses.value,\n {\n [`b-avatar-${computedSize.value}`]: computedSizeIsLiteralSize.value && computedSize.value !== \"md\",\n [`btn-${computedVariant.value}`]: props.button ? computedVariant.value !== null : false,\n \"badge\": !props.button && computedVariant.value !== null && hasDefaultSlot.value,\n \"btn\": props.button,\n // Square is the same as rounded-0 class\n \"rounded-0\": computedSquare.value === true\n }\n ]);\n const badgeStyle = computed(() => ({\n fontSize: (!computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${BADGE_FONT_SIZE_SCALE})` : \"\") || \"\"\n }));\n const textFontStyle = computed(() => {\n const fontSize = !computedSizeIsLiteralSize.value ? `calc(${computedSize.value} * ${FONT_SIZE_SCALE})` : null;\n return fontSize ? { fontSize } : {};\n });\n const marginStyle = computed(() => {\n const overlapScale = parentData?.overlapScale?.value || 0;\n const value = computedSize.value && overlapScale ? `calc(${computedSize.value} * -${overlapScale})` : null;\n return value ? { marginLeft: value, marginRight: value } : {};\n });\n const computedTag = computed(() => computedLink.value ? _sfc_main$2 : props.button ? \"button\" : \"span\");\n const computedStyle = computed(() => ({\n ...marginStyle.value,\n ...!computedSizeIsLiteralSize.value ? {\n width: computedSize.value,\n height: computedSize.value\n } : void 0\n }));\n const clicked = (e) => {\n if (!props.disabled && (computedLink.value || props.button)) emit(\"click\", e);\n };\n const onImgError = (e) => {\n localSrc.value = void 0;\n emit(\"img-error\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"b-avatar\", computedClasses.value],\n style: computedStyle.value\n }, unref(computedLinkProps), {\n type: unref(props).button && !unref(computedLink) ? unref(props).buttonType : void 0,\n disabled: unref(props).disabled || null,\n variant: null,\n onClick: clicked\n }), {\n default: withCtx(() => [\n hasDefaultSlot.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : !!localSrc.value ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"img\", {\n src: localSrc.value,\n alt: unref(props).alt,\n onError: onImgError\n }, null, 40, _hoisted_3)\n ])) : !!unref(props).text ? (openBlock(), createElementBlock(\"span\", {\n key: 2,\n class: \"b-avatar-text\",\n style: normalizeStyle(textFontStyle.value)\n }, toDisplayString(unref(props).text), 5)) : (openBlock(), createElementBlock(\"span\", _hoisted_4, _cache[0] || (_cache[0] = [\n createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"80%\",\n height: \"80%\",\n fill: \"currentColor\",\n class: \"bi bi-person-fill\",\n viewBox: \"0 0 16 16\"\n }, [\n createElementVNode(\"path\", { d: \"M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6\" })\n ], -1)\n ]))),\n showBadge.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 4,\n pill: unref(props).badgePill,\n \"dot-indicator\": unref(props).badgeDotIndicator || badgeImplicitlyDot.value,\n variant: unref(props).badgeVariant,\n \"bg-variant\": unref(props).badgeBgVariant,\n \"text-variant\": unref(props).badgeTextVariant,\n style: normalizeStyle(badgeStyle.value),\n placement: unref(props).badgePlacement\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"badge\", {}, () => [\n createTextVNode(toDisplayString(badgeText.value), 1)\n ])\n ]),\n _: 3\n }, 8, [\"pill\", \"dot-indicator\", \"variant\", \"bg-variant\", \"text-variant\", \"style\", \"placement\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"class\", \"style\", \"type\", \"disabled\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BAvatarGroup\",\n props: {\n overlap: { default: 0.3 },\n size: { default: void 0 },\n square: { type: Boolean, default: false },\n tag: { default: \"div\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null },\n rounded: { type: [Boolean, String, Number], default: \"circle\" },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BAvatarGroup\");\n const overlapNumber = useToNumber(() => props.overlap);\n const computedSize = useNumberishToStyle(() => props.size);\n const overlapScale = computed(() => Math.min(Math.max(overlapNumber.value, 0), 1) / 2);\n const paddingStyle = computed(() => {\n const value = computedSize.value ? `calc(${computedSize.value} * ${overlapScale.value})` : null;\n return value ? { paddingLeft: value, paddingRight: value } : {};\n });\n provide(avatarGroupInjectionKey, {\n overlapScale,\n size: toRef(() => props.size),\n square: toRef(() => props.square),\n rounded: toRef(() => props.rounded),\n roundedTop: toRef(() => props.roundedTop),\n roundedBottom: toRef(() => props.roundedBottom),\n roundedStart: toRef(() => props.roundedStart),\n roundedEnd: toRef(() => props.roundedEnd),\n variant: toRef(() => props.variant),\n bgVariant: toRef(() => props.bgVariant),\n textVariant: toRef(() => props.textVariant)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: \"b-avatar-group\",\n role: \"group\"\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: \"b-avatar-group-inner\",\n style: normalizeStyle(paddingStyle.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 4)\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, createBlock, resolveDynamicComponent, mergeProps, withCtx, renderSlot, createTextVNode, toDisplayString, unref, createElementVNode, Fragment, renderList } from \"vue\";\nimport { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BBreadcrumbItem\",\n props: {\n ariaCurrent: { default: \"location\" },\n text: { default: void 0 },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BBreadcrumbItem\");\n const emit = __emit;\n const computedClasses = computed(() => ({\n active: props.active\n }));\n const computedTag = computed(() => props.active ? \"span\" : _sfc_main$2);\n const computedAriaCurrent = computed(() => props.active ? props.ariaCurrent : void 0);\n const computedLinkProps = computed(\n () => computedTag.value !== \"span\" ? pick(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]) : {}\n );\n const clicked = (e) => {\n if (props.disabled || props.active) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return;\n }\n if (!props.disabled) emit(\"click\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([\"breadcrumb-item\", computedClasses.value])\n }, [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ \"aria-current\": computedAriaCurrent.value }, computedLinkProps.value, { onClick: clicked }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"aria-current\"]))\n ], 2);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = { class: \"breadcrumb\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BBreadcrumb\",\n props: {\n items: { default: void 0 },\n id: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BBreadcrumb\");\n const breadcrumb = useBreadcrumb(() => props.id || null);\n const breadcrumbItemObjects = computed(() => {\n const localItems = props.items || breadcrumb.items?.value || [];\n let activeDefined = false;\n const items = localItems.map((item, idx) => {\n if (typeof item === \"string\") {\n item = { text: item };\n if (idx < localItems.length - 1) item.href = \"#\";\n }\n if (item.active) activeDefined = true;\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length;\n }\n return item;\n });\n return items;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"nav\", {\n id: unref(props).id,\n \"aria-label\": \"breadcrumb\"\n }, [\n createElementVNode(\"ol\", _hoisted_2, [\n renderSlot(_ctx.$slots, \"prepend\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(breadcrumbItemObjects.value, (item, i) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: i }, { ref_for: true }, item), {\n default: withCtx(() => [\n createTextVNode(toDisplayString(item.text), 1)\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"append\")\n ])\n ], 8, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs.map\n","const IS_BROWSER = typeof window !== \"undefined\" && typeof document !== \"undefined\" && typeof navigator !== \"undefined\";\nconst parseEventOptions = (options) => {\n const HAS_PASSIVE_EVENT_SUPPORT = (() => {\n let passiveEventSupported = false;\n if (IS_BROWSER) {\n try {\n const options2 = {\n // This function will be called when the browser\n // attempts to access the passive property\n get passive() {\n passiveEventSupported = true;\n return;\n }\n };\n WINDOW.addEventListener(\"test\", options2, options2);\n WINDOW.removeEventListener(\"test\", options2, options2);\n } catch {\n passiveEventSupported = false;\n }\n }\n return passiveEventSupported;\n })();\n if (HAS_PASSIVE_EVENT_SUPPORT) {\n return typeof options === \"object\" ? options : { capture: !!options || false };\n }\n return typeof options === \"object\" ? options.capture : options;\n};\nconst eventOn = (el, eventName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(eventName, handler, parseEventOptions(options));\n }\n};\nconst eventOff = (el, eventName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(eventName, handler, options);\n }\n};\nconst eventOnOff = (on, eventParams) => {\n const method = on ? eventOn : eventOff;\n method(...eventParams);\n};\nconst stopEvent = (event, { preventDefault = true, propagation = false, immediatePropagation = false } = {}) => {\n if (preventDefault) {\n event.preventDefault();\n }\n if (propagation) {\n event.stopPropagation();\n }\n if (immediatePropagation) {\n event.stopImmediatePropagation();\n }\n};\nexport {\n eventOnOff as e,\n stopEvent as s\n};\n//# sourceMappingURL=event-a_bi5ysw.mjs.map\n","import { defineComponent, provide, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, useTemplateRef, createElementBlock, nextTick } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { b as buttonGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { C as CODE_LEFT, a as CODE_UP, b as CODE_RIGHT, c as CODE_DOWN, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { g as getActiveElement } from \"./dom-DVb-f0ZG.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BButtonGroup\",\n props: {\n ariaLabel: { default: \"Group\" },\n size: { default: \"md\" },\n tag: { default: \"div\" },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n provide(buttonGroupKey, true);\n const _props = __props;\n const props = useDefaults(_props, \"BButtonGroup\");\n const computedClasses = computed(() => ({\n \"btn-group\": !props.vertical,\n [`btn-group-${props.size}`]: props.size !== \"md\",\n \"btn-group-vertical\": props.vertical\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value),\n role: \"group\",\n \"aria-label\": unref(props).ariaLabel\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\", \"aria-label\"]);\n };\n }\n});\nconst _hoisted_1 = [\"role\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BButtonToolbar\",\n props: {\n ariaLabel: { default: \"Group\" },\n keyNav: { type: Boolean, default: false },\n justify: { type: Boolean, default: false },\n role: { default: \"toolbar\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BButtonToolbar\");\n const toolbarRef = useTemplateRef(\"toolbarRef\");\n const computedClasses = computed(() => ({\n \"justify-content-between\": props.justify\n }));\n const getFocusableElements = () => {\n if (!toolbarRef.value) return [];\n const selector = 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)';\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector));\n return elements.filter((el) => {\n const style = window.getComputedStyle(el);\n return style.display !== \"none\" && style.visibility !== \"hidden\";\n });\n };\n const isDisabled = (element) => element.hasAttribute(\"disabled\") || element.getAttribute(\"aria-disabled\") === \"true\";\n const focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const firstEnabled = elements.find((el) => !isDisabled(el));\n firstEnabled?.focus();\n });\n };\n const focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el));\n lastEnabled?.focus();\n });\n };\n const focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const activeElement = getActiveElement();\n const currentIndex = elements.indexOf(activeElement);\n if (currentIndex > 0) {\n for (let i = currentIndex - 1; i >= 0; i--) {\n if (!isDisabled(elements[i])) {\n elements[i]?.focus();\n break;\n }\n }\n }\n });\n };\n const focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements();\n const activeElement = getActiveElement();\n const currentIndex = elements.indexOf(activeElement);\n if (currentIndex < elements.length - 1) {\n for (let i = currentIndex + 1; i < elements.length; i++) {\n if (!isDisabled(elements[i])) {\n elements[i]?.focus();\n break;\n }\n }\n }\n });\n };\n const handleKeyNav = (event) => {\n if (!props.keyNav) return;\n const { code, shiftKey } = event;\n if (code === CODE_LEFT || code === CODE_UP) {\n stopEvent(event);\n if (shiftKey) {\n focusFirst();\n } else {\n focusPrev();\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n stopEvent(event);\n if (shiftKey) {\n focusLast();\n } else {\n focusNext();\n }\n } else if (code === CODE_HOME) {\n stopEvent(event);\n focusFirst();\n } else if (code === CODE_END) {\n stopEvent(event);\n focusLast();\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"toolbarRef\",\n ref: toolbarRef,\n class: normalizeClass([computedClasses.value, \"btn-toolbar\"]),\n role: unref(props).role,\n \"aria-label\": unref(props).ariaLabel,\n onKeydown: handleKeyNav\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BImg\",\n props: {\n blank: { type: Boolean, default: false },\n blankColor: { default: \"transparent\" },\n block: { type: Boolean, default: false },\n fluid: { type: Boolean, default: false },\n fluidGrow: { type: Boolean, default: false },\n height: { default: void 0 },\n tag: { default: \"img\" },\n lazy: { type: Boolean, default: false },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: false },\n width: { default: void 0 },\n placement: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: false },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BImg\");\n const heightNumber = useToNumber(() => props.height ?? Number.NaN);\n const widthNumber = useToNumber(() => props.width ?? Number.NaN);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd\n }));\n const computedSrcset = computed(\n () => typeof props.srcset === \"string\" ? props.srcset.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.srcset) ? props.srcset.filter((x) => x).join(\",\") : void 0\n );\n const computedSizes = computed(\n () => typeof props.sizes === \"string\" ? props.sizes.split(\",\").filter((x) => x).join(\",\") : Array.isArray(props.sizes) ? props.sizes.filter((x) => x).join(\",\") : void 0\n );\n const computedDimentions = computed(() => {\n const width = Number.isNaN(widthNumber.value) ? void 0 : widthNumber.value;\n const height = Number.isNaN(heightNumber.value) ? void 0 : heightNumber.value;\n if (props.blank) {\n if (width !== void 0 && height === void 0) return { height: width, width };\n if (width === void 0 && height !== void 0) return { height, width: height };\n if (width === void 0 && height === void 0) return { height: 1, width: 1 };\n }\n return {\n width,\n height\n };\n });\n const computedBlankImgSrc = computed(\n () => makeBlankImgSrc(computedDimentions.value.width, computedDimentions.value.height, props.blankColor)\n );\n const computedAlignment = computed(() => ({\n \"float-start\": props.placement === \"start\",\n \"float-end\": props.placement === \"end\",\n \"mx-auto\": props.placement === \"center\"\n }));\n const computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n \"img-thumbnail\": props.thumbnail,\n \"img-fluid\": props.fluid || props.fluidGrow,\n \"w-100\": props.fluidGrow,\n \"d-block\": props.block || props.placement === \"center\"\n }\n ]);\n const makeBlankImgSrc = (width, height, color) => `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`;\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([computedClasses.value, \"b-img\"]),\n src: !unref(props).blank ? unref(props).src : computedBlankImgSrc.value,\n width: computedDimentions.value.width || void 0,\n height: computedDimentions.value.height || void 0,\n srcset: !unref(props).blank ? computedSrcset.value : void 0,\n sizes: !unref(props).blank ? computedSizes.value : void 0,\n loading: unref(props).lazy ? \"lazy\" : \"eager\"\n }, null, 8, [\"class\", \"src\", \"width\", \"height\", \"srcset\", \"sizes\", \"loading\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, mergeProps, resolveDynamicComponent, normalizeClass, unref, withCtx, renderSlot, createTextVNode, toDisplayString, useSlots, createCommentVNode, createVNode, normalizeProps } from \"vue\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$8 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { o as omit } from \"./object-0ALvRU0O.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BCardImg\",\n props: {\n placement: { default: \"top\" },\n blank: { type: Boolean, default: void 0 },\n blankColor: { default: void 0 },\n block: { type: Boolean, default: void 0 },\n fluid: { type: Boolean, default: void 0 },\n fluidGrow: { type: Boolean, default: void 0 },\n height: { default: void 0 },\n tag: {},\n lazy: { type: Boolean, default: void 0 },\n sizes: { default: void 0 },\n src: { default: void 0 },\n srcset: { default: void 0 },\n thumbnail: { type: Boolean, default: void 0 },\n width: { default: void 0 },\n rounded: { type: [Boolean, String, Number], default: void 0 },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardImg\");\n const baseAlignmentClasses = computed(() => ({\n \"card-img-top\": props.placement === \"top\",\n // TODO implement this class\n \"card-img-end\": props.placement === \"end\",\n \"card-img-bottom\": props.placement === \"bottom\",\n // TODO implement this class\n \"card-img-start\": props.placement === \"start\",\n \"card-img\": props.placement === \"overlay\"\n }));\n const computedImgProps = computed(() => omit(props, [\"placement\"]));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$8, mergeProps(computedImgProps.value, { class: baseAlignmentClasses.value }), null, 16, [\"class\"]);\n };\n }\n});\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeadFoot\",\n props: {\n borderVariant: { default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const props = __props;\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n class: normalizeClass(unref(computedClasses))\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(_ctx.text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BCardHeader\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardHeader\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-header\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BCardTitle\",\n props: {\n tag: { default: \"h4\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardTitle\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"card-title\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BCardSubtitle\",\n props: {\n text: { default: void 0 },\n tag: { default: \"h6\" },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardSubtitle\");\n const computedClasses = useColorVariantClasses(props);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card-subtitle mb-2\", unref(computedClasses)])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BCardBody\",\n props: {\n overlay: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h4\" },\n subtitleTextVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardBody\");\n const slots = useSlots();\n const hasTitleSlot = computed(() => !isEmptySlot(slots.title));\n const hasSubtitleSlot = computed(() => !isEmptySlot(slots.subtitle));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n props.overlay ? \"card-img-overlay\" : \"card-body\"\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n !!unref(props).title || hasTitleSlot.value ? (openBlock(), createBlock(_sfc_main$4, {\n key: 0,\n tag: unref(props).titleTag\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\", {}, () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\"])) : createCommentVNode(\"\", true),\n !!unref(props).subtitle || hasSubtitleSlot.value ? (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n tag: unref(props).subtitleTag,\n \"text-variant\": unref(props).subtitleTextVariant\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"subtitle\", {}, () => [\n createTextVNode(toDisplayString(unref(props).subtitle), 1)\n ])\n ]),\n _: 3\n }, 8, [\"tag\", \"text-variant\"])) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCardFooter\",\n props: {\n borderVariant: { default: void 0 },\n tag: { default: \"div\" },\n text: { default: void 0 },\n variant: { default: void 0 },\n bgVariant: { default: void 0 },\n textVariant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardFooter\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$6, mergeProps({ class: \"card-footer\" }, unref(props)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCard\",\n props: {\n align: { default: void 0 },\n bodyBgVariant: { default: void 0 },\n bodyClass: { default: void 0 },\n bodyTag: { default: \"div\" },\n bodyText: { default: \"\" },\n bodyTextVariant: { default: void 0 },\n borderVariant: { default: null },\n footer: { default: void 0 },\n footerBgVariant: { default: void 0 },\n footerBorderVariant: { default: void 0 },\n footerClass: { default: void 0 },\n footerTag: { default: \"div\" },\n footerTextVariant: { default: void 0 },\n footerVariant: { default: null },\n header: { default: void 0 },\n headerBgVariant: { default: void 0 },\n headerBorderVariant: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"div\" },\n headerTextVariant: { default: void 0 },\n headerVariant: { default: null },\n imgAlt: { default: void 0 },\n imgPlacement: { default: \"top\" },\n imgHeight: { default: void 0 },\n imgSrc: { default: void 0 },\n imgWidth: { default: void 0 },\n noBody: { type: Boolean, default: false },\n subtitle: { default: void 0 },\n subtitleTag: { default: \"h6\" },\n subtitleTextVariant: { default: \"body-secondary\" },\n tag: { default: \"div\" },\n title: { default: void 0 },\n titleTag: { default: \"h4\" },\n variant: { default: null },\n bgVariant: { default: null },\n textVariant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCard\");\n const slots = useSlots();\n const hasHeaderSlot = computed(() => !isEmptySlot(slots.header));\n const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n [`text-${props.align}`]: props.align !== void 0,\n \"flex-row\": props.imgPlacement === \"start\",\n \"flex-row-reverse\": props.imgPlacement === \"end\"\n }\n ]);\n const imgAttr = computed(() => ({\n src: props.imgSrc,\n alt: props.imgAlt,\n height: props.imgHeight,\n width: props.imgWidth,\n placement: props.imgPlacement\n }));\n const ReusableImg = createReusableTemplate();\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"card\", computedClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(unref(ReusableImg).define, null, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n unref(props).imgSrc ? (openBlock(), createBlock(_sfc_main$7, normalizeProps(mergeProps({ key: 0 }, imgAttr.value)), null, 16)) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }),\n unref(props).imgPlacement !== \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 0 })) : createCommentVNode(\"\", true),\n unref(props).header || hasHeaderSlot.value ? (openBlock(), createBlock(_sfc_main$5, {\n key: 1,\n \"bg-variant\": unref(props).headerBgVariant,\n variant: unref(props).headerVariant,\n \"border-variant\": unref(props).headerBorderVariant,\n tag: unref(props).headerTag,\n \"text-variant\": unref(props).headerTextVariant,\n class: normalizeClass(unref(props).headerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(unref(props).header), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"variant\", \"border-variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n !unref(props).noBody ? (openBlock(), createBlock(_sfc_main$2, {\n key: 2,\n overlay: unref(props).imgPlacement === \"overlay\",\n \"bg-variant\": unref(props).bodyBgVariant,\n tag: unref(props).bodyTag,\n \"text-variant\": unref(props).bodyTextVariant,\n subtitle: unref(props).subtitle,\n \"subtitle-tag\": unref(props).subtitleTag,\n \"subtitle-text-variant\": unref(props).subtitleTextVariant,\n title: unref(props).title,\n \"title-tag\": unref(props).titleTag,\n class: normalizeClass(unref(props).bodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ])\n ]),\n _: 3\n }, 8, [\"overlay\", \"bg-variant\", \"tag\", \"text-variant\", \"subtitle\", \"subtitle-tag\", \"subtitle-text-variant\", \"title\", \"title-tag\", \"class\"])) : renderSlot(_ctx.$slots, \"default\", { key: 3 }, () => [\n createTextVNode(toDisplayString(unref(props).bodyText), 1)\n ]),\n unref(props).footer || hasFooterSlot.value ? (openBlock(), createBlock(_sfc_main$1, {\n key: 4,\n \"bg-variant\": unref(props).footerBgVariant,\n \"border-variant\": unref(props).footerBorderVariant,\n variant: unref(props).footerVariant,\n tag: unref(props).footerTag,\n \"text-variant\": unref(props).footerTextVariant,\n class: normalizeClass(unref(props).footerClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"footer\", {}, () => [\n createTextVNode(toDisplayString(unref(props).footer), 1)\n ])\n ]),\n _: 3\n }, 8, [\"bg-variant\", \"border-variant\", \"variant\", \"tag\", \"text-variant\", \"class\"])) : createCommentVNode(\"\", true),\n unref(props).imgPlacement === \"bottom\" ? (openBlock(), createBlock(unref(ReusableImg).reuse, { key: 5 })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main$5 as c,\n _sfc_main$7 as d,\n _sfc_main$3 as e,\n _sfc_main$4 as f\n};\n//# sourceMappingURL=BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCardGroup\",\n props: {\n columns: { type: Boolean, default: false },\n deck: { type: Boolean, default: false },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardGroup\");\n const cardTypeClass = computed(\n () => props.deck ? \"card-deck\" : props.columns ? \"card-columns\" : \"card-group\"\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(cardTypeClass.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCardText\",\n props: {\n tag: { default: \"p\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCardText\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"card-text\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, computed, watch, provide, toRef, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, createElementVNode, Fragment, renderList, createVNode, TransitionGroup, withCtx, withDirectives, createBlock, resolveDynamicComponent, normalizeStyle, vShow, toDisplayString, inject, renderSlot } from \"vue\";\nimport { b as BvCarouselEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { k as useElementHover, l as useSwipe, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as carouselInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { g as useIntervalFn, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nimport { _ as _sfc_main$2 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nconst getSlotElements = (slot, filterBy) => (slot?.() ?? []).reduce((arr, slot2) => {\n if (typeof slot2.type === \"symbol\") {\n arr = arr.concat(slot2.children);\n } else {\n arr.push(slot2);\n }\n return arr;\n}, []).filter((child) => child.type?.__name === filterBy);\nconst _hoisted_1$1 = [\"id\"];\nconst _hoisted_2 = [\"aria-label\", \"aria-owns\"];\nconst _hoisted_3 = [\"aria-current\", \"aria-label\", \"aria-controls\", \"aria-describedby\", \"onClick\"];\nconst _hoisted_4 = {\n ref: \"_relatedTarget\",\n class: \"carousel-inner\"\n};\nconst _hoisted_5 = { class: \"visually-hidden\" };\nconst _hoisted_6 = { class: \"visually-hidden\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BCarousel\",\n props: /* @__PURE__ */ mergeModels({\n background: { default: void 0 },\n controls: { type: Boolean, default: false },\n controlsNextText: { default: \"Next\" },\n controlsPrevText: { default: \"Previous\" },\n fade: { type: Boolean, default: false },\n id: { default: void 0 },\n imgHeight: { default: void 0 },\n imgWidth: { default: void 0 },\n indicators: { type: Boolean, default: false },\n indicatorsButtonLabel: { default: \"Slide\" },\n interval: { default: 5e3 },\n labelIndicators: { default: \"Select a slide to display\" },\n keyboard: { type: Boolean, default: true },\n noAnimation: { type: Boolean, default: false },\n noHoverPause: { type: Boolean, default: false },\n noTouch: { type: Boolean, default: false },\n noWrap: { type: Boolean, default: false },\n ride: { type: [Boolean, String], default: false },\n rideReverse: { type: Boolean, default: false },\n touchThreshold: { default: 50 }\n }, {\n \"modelValue\": { default: 0 },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"slide\", \"slid\", \"prev-click\", \"next-click\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCarousel\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id, \"carousel\");\n const buttonOwnership = useId(void 0, \"carousel-button-ownership\");\n const modelValue = useModel(__props, \"modelValue\");\n const slideValues = useTemplateRef(\"_slideValues\");\n const touchThresholdNumber = useToNumber(() => props.touchThreshold);\n const slideInterval = ref(null);\n onMounted(() => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el.style.display !== \"none\")?._interval ?? null;\n });\n const intervalNumber = useToNumber(() => slideInterval.value ?? props.interval);\n const isTransitioning = ref(false);\n const rideStarted = ref(false);\n const direction = ref(true);\n const relatedTarget = useTemplateRef(\"_relatedTarget\");\n const element = useTemplateRef(\"_element\");\n const previousModelValue = ref(modelValue.value);\n const isHovering = useElementHover(element);\n const enterClasses = computed(\n () => `carousel-item carousel-item-${!direction.value ? \"next\" : \"prev\"} carousel-item-${!direction.value ? \"start\" : \"end\"}`\n );\n const leaveClasses = computed(\n () => `carousel-item active carousel-item-${direction.value ? \"start\" : \"end\"}`\n );\n const { pause, resume } = useIntervalFn(\n () => {\n if (props.rideReverse) {\n prev();\n return;\n }\n next();\n },\n intervalNumber,\n { immediate: props.ride === \"carousel\" }\n );\n const isRiding = computed(\n () => props.ride === true && rideStarted.value === true || props.ride === \"carousel\"\n );\n const slides = computed(() => getSlotElements(slots.default, \"BCarouselSlide\"));\n const computedClasses = computed(() => ({ \"carousel-fade\": props.fade }));\n const buildBvCarouselEvent = (event) => new BvCarouselEvent(event, {\n componentId: computedId.value,\n cancelable: false,\n target: element.value,\n direction: direction.value ? \"right\" : \"left\",\n from: previousModelValue.value,\n to: modelValue.value,\n relatedTarget: relatedTarget.value?.children[modelValue.value] ?? null\n });\n const goToValue = (value) => {\n if (isTransitioning.value === true) return;\n if (props.ride === true) {\n rideStarted.value = true;\n }\n if (isRiding.value === true) {\n resume();\n }\n direction.value = value < modelValue.value ? false : true;\n if (value >= slides.value.length) {\n if (props.noWrap) return;\n modelValue.value = 0;\n return;\n }\n if (value < 0) {\n if (props.noWrap) return;\n modelValue.value = slides.value.length - 1;\n return;\n }\n previousModelValue.value = modelValue.value;\n modelValue.value = value;\n };\n const prev = () => {\n goToValue(modelValue.value - 1);\n };\n const next = () => {\n goToValue(modelValue.value + 1);\n };\n const onKeydown = (fn) => {\n if (props.keyboard === false) return;\n fn();\n };\n const onMouseEnter = () => {\n if (props.noHoverPause) return;\n pause();\n };\n const onMouseLeave = () => {\n if (!isRiding.value) return;\n resume();\n };\n const { lengthX } = useSwipe(element, {\n passive: true,\n onSwipeStart() {\n if (props.noTouch === true) return;\n pause();\n },\n onSwipeEnd() {\n if (props.noTouch === true) return;\n const resumeRiding = () => {\n if (isRiding.value === false) return;\n resume();\n };\n if (lengthX.value >= touchThresholdNumber.value) {\n next();\n resumeRiding();\n return;\n }\n if (lengthX.value <= -touchThresholdNumber.value) {\n prev();\n resumeRiding();\n }\n }\n });\n const onBeforeLeave = () => {\n emit(\"slide\", buildBvCarouselEvent(\"slide\"));\n isTransitioning.value = true;\n };\n const onAfterLeave = () => {\n emit(\"slid\", buildBvCarouselEvent(\"slid\"));\n isTransitioning.value = false;\n };\n const onAfterEnter = (el) => {\n if (modelValue.value !== 0) {\n el.classList.add(\"carousel-item\");\n }\n };\n const onEnter = (el) => {\n slideInterval.value = slideValues.value?.find((slid) => slid.$el === el)?._interval ?? null;\n };\n onKeyStroke(\n \"ArrowLeft\",\n () => {\n onKeydown(prev);\n },\n { target: element }\n );\n onKeyStroke(\n \"ArrowRight\",\n () => {\n onKeydown(next);\n },\n { target: element }\n );\n watch(\n () => props.ride,\n () => {\n rideStarted.value = false;\n }\n );\n watch(isHovering, (newValue) => {\n if (newValue) {\n onMouseEnter();\n return;\n }\n onMouseLeave();\n });\n const onClickPrev = (event) => {\n emit(\"prev-click\", event);\n if (event.defaultPrevented) return;\n prev();\n };\n const onClickNext = (event) => {\n emit(\"next-click\", event);\n if (event.defaultPrevented) return;\n next();\n };\n __expose({\n next,\n pause,\n prev,\n resume\n });\n provide(carouselInjectionKey, {\n background: toRef(() => props.background),\n width: toRef(() => props.imgWidth),\n height: toRef(() => props.imgHeight)\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n ref: \"_element\",\n class: normalizeClass([\"carousel slide pointer-event\", computedClasses.value])\n }, [\n unref(props).indicators ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: \"carousel-indicators\",\n \"aria-label\": unref(props).labelIndicators,\n \"aria-owns\": unref(buttonOwnership)\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(slides.value.length, (_, i) => {\n return openBlock(), createElementBlock(\"button\", {\n key: i,\n type: \"button\",\n \"data-bs-target\": \"\",\n class: normalizeClass(i === modelValue.value ? \"active\" : \"\"),\n \"aria-current\": i === modelValue.value ? true : void 0,\n \"aria-label\": `${unref(props).indicatorsButtonLabel} ${i}`,\n \"aria-controls\": unref(buttonOwnership),\n \"aria-describedby\": slideValues.value?.[i]?._id,\n onClick: ($event) => goToValue(i)\n }, null, 10, _hoisted_3);\n }), 128))\n ], 8, _hoisted_2)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", _hoisted_4, [\n createVNode(TransitionGroup, {\n \"enter-from-class\": enterClasses.value,\n \"enter-active-class\": enterClasses.value,\n \"enter-to-class\": enterClasses.value,\n \"leave-from-class\": leaveClasses.value,\n \"leave-active-class\": leaveClasses.value,\n \"leave-to-class\": leaveClasses.value,\n onBeforeLeave,\n onAfterLeave,\n onAfterEnter,\n onEnter\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(slides.value, (slide, i) => {\n return withDirectives((openBlock(), createBlock(resolveDynamicComponent(slide), {\n key: i,\n ref_for: true,\n ref: \"_slideValues\",\n class: normalizeClass({ active: i === modelValue.value && isTransitioning.value === false }),\n style: normalizeStyle(unref(props).noAnimation && { transition: \"none\" })\n }, null, 8, [\"class\", \"style\"])), [\n [vShow, i === modelValue.value]\n ]);\n }), 128))\n ]),\n _: 1\n }, 8, [\"enter-from-class\", \"enter-active-class\", \"enter-to-class\", \"leave-from-class\", \"leave-active-class\", \"leave-to-class\"])\n ], 512),\n unref(props).controls ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createElementVNode(\"button\", {\n class: \"carousel-control-prev\",\n type: \"button\",\n onClick: onClickPrev\n }, [\n _cache[0] || (_cache[0] = createElementVNode(\"span\", {\n class: \"carousel-control-prev-icon\",\n \"aria-hidden\": \"true\"\n }, null, -1)),\n createElementVNode(\"span\", _hoisted_5, toDisplayString(unref(props).controlsPrevText), 1)\n ]),\n createElementVNode(\"button\", {\n class: \"carousel-control-next\",\n type: \"button\",\n onClick: onClickNext\n }, [\n _cache[1] || (_cache[1] = createElementVNode(\"span\", {\n class: \"carousel-control-next-icon\",\n \"aria-hidden\": \"true\"\n }, null, -1)),\n createElementVNode(\"span\", _hoisted_6, toDisplayString(unref(props).controlsNextText), 1)\n ])\n ], 64)) : createCommentVNode(\"\", true)\n ], 10, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCarouselSlide\",\n props: {\n background: { default: void 0 },\n caption: { default: void 0 },\n captionTag: { default: \"h3\" },\n contentTag: { default: \"div\" },\n contentVisibleUp: { default: void 0 },\n id: { default: void 0 },\n imgAlt: { default: void 0 },\n imgBlank: { type: Boolean, default: false },\n imgBlankColor: { default: \"transparent\" },\n imgHeight: { default: void 0 },\n imgSrc: { default: void 0 },\n imgSrcset: { default: void 0 },\n imgWidth: { default: void 0 },\n interval: { default: void 0 },\n text: { default: void 0 },\n textTag: { default: \"p\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BCarouselSlide\");\n const slots = useSlots();\n const computedId = useId(() => props.id, \"carousel-slide\");\n const parentData = inject(carouselInjectionKey, null);\n const hasText = computed(() => props.text || !isEmptySlot(slots.text));\n const hasCaption = computed(() => props.caption || !isEmptySlot(slots.caption));\n const hasContent = computed(() => hasText.value || hasCaption.value || !isEmptySlot(slots.default));\n const computedStyle = computed(() => ({\n background: `${props.background || parentData?.background.value || \"rgb(171, 171, 171)\"} none repeat scroll 0% 0%`\n }));\n const computedContentClasses = computed(() => ({\n \"d-none\": props.contentVisibleUp !== void 0,\n [`d-${props.contentVisibleUp}-block`]: props.contentVisibleUp !== void 0\n }));\n __expose({\n _interval: toRef(() => props.interval),\n _id: computedId\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: \"carousel-item\",\n style: normalizeStyle(computedStyle.value)\n }, [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n createVNode(_sfc_main$2, {\n class: \"d-block w-100\",\n alt: unref(props).imgAlt,\n srcset: unref(props).imgSrcset,\n src: unref(props).imgSrc,\n width: unref(props).imgWidth || unref(parentData)?.width.value,\n height: unref(props).imgHeight || unref(parentData)?.height.value,\n blank: unref(props).imgBlank,\n \"blank-color\": unref(props).imgBlankColor\n }, null, 8, [\"alt\", \"srcset\", \"src\", \"width\", \"height\", \"blank\", \"blank-color\"])\n ]),\n hasContent.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).contentTag), {\n key: 0,\n class: normalizeClass([\"carousel-caption\", computedContentClasses.value])\n }, {\n default: withCtx(() => [\n hasCaption.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).captionTag), { key: 0 }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"caption\", {}, () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).caption), 1)\n ])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n hasText.value ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).textTag), { key: 1 }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"text\", {}, () => [\n createElementVNode(\"span\", null, toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"])) : createCommentVNode(\"\", true)\n ], 12, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs.map\n","const getClasses = (props, els, propPrefix, classPrefix = propPrefix) => els.reduce((arr, prop) => {\n if (!props[prop]) return arr;\n arr.push(\n [classPrefix, prop.replace(propPrefix, \"\"), props[prop]].filter((e) => e && typeof e !== \"boolean\").join(\"-\").toLowerCase()\n );\n return arr;\n}, []);\nexport {\n getClasses as g\n};\n//# sourceMappingURL=getClasses-CsgNQabU.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BCol\",\n props: {\n alignSelf: { default: void 0 },\n tag: { default: \"div\" },\n order: { default: void 0 },\n offset: { default: void 0 },\n cols: { default: void 0 },\n col: { type: Boolean, default: false },\n offsetSm: { default: void 0 },\n offsetMd: { default: void 0 },\n offsetLg: { default: void 0 },\n offsetXl: { default: void 0 },\n offsetXxl: { default: void 0 },\n orderSm: { default: void 0 },\n orderMd: { default: void 0 },\n orderLg: { default: void 0 },\n orderXl: { default: void 0 },\n orderXxl: { default: void 0 },\n sm: { type: [Boolean, Number, String], default: false },\n md: { type: [Boolean, Number, String], default: false },\n lg: { type: [Boolean, Number, String], default: false },\n xl: { type: [Boolean, Number, String], default: false },\n xxl: { type: [Boolean, Number, String], default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BCol\");\n const classList = computed(() => [\n ...getClasses(\n {\n sm: props.sm,\n md: props.md,\n lg: props.lg,\n xl: props.xl,\n xxl: props.xxl\n },\n [\"sm\", \"md\", \"lg\", \"xl\", \"xxl\"],\n \"col\"\n ),\n ...getClasses(\n {\n order: props.order,\n orderLg: props.orderLg,\n orderMd: props.orderMd,\n orderSm: props.orderSm,\n orderXl: props.orderXl,\n orderXxl: props.orderXxl\n },\n [\"order\", \"orderLg\", \"orderMd\", \"orderSm\", \"orderXl\", \"orderXxl\"],\n \"order\"\n ),\n ...getClasses(\n {\n offset: props.offset,\n offsetLg: props.offsetLg,\n offsetMd: props.offsetMd,\n offsetSm: props.offsetSm,\n offsetXl: props.offsetXl,\n offsetXxl: props.offsetXxl\n },\n [\"offset\", \"offsetLg\", \"offsetMd\", \"offsetSm\", \"offsetXl\", \"offsetXxl\"],\n \"offset\"\n )\n ]);\n const computedClasses = computed(() => [\n classList.value,\n {\n col: props.col || !classList.value.some((v) => v.startsWith(\"col-\")) && !props.cols,\n [`col-${props.cols}`]: props.cols !== void 0,\n [`offset-${props.offset}`]: props.offset !== void 0,\n [`order-${props.order}`]: props.order !== void 0,\n [`align-self-${props.alignSelf}`]: props.alignSelf !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BContainer\",\n props: {\n fluid: { type: [Boolean, String], default: false },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BContainer\");\n const computedClasses = computed(() => ({\n container: props.fluid === false,\n [`container-fluid`]: props.fluid === true,\n [`container-${props.fluid}`]: typeof props.fluid === \"string\",\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAlignment = (align) => computed(() => {\n const value = toValue(align);\n return !value ? \"\" : `justify-content-${value}`;\n});\nexport {\n useAlignment as u\n};\n//# sourceMappingURL=useAlignment-Cw-9AVid.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot } from \"vue\";\nimport { g as getClasses } from \"./getClasses-CsgNQabU.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BRow\",\n props: {\n tag: { default: \"div\" },\n gutterX: { default: void 0 },\n gutterY: { default: void 0 },\n noGutters: { type: Boolean, default: false },\n alignV: { default: void 0 },\n alignH: { default: void 0 },\n alignContent: { default: void 0 },\n cols: { default: void 0 },\n colsSm: { default: void 0 },\n colsMd: { default: void 0 },\n colsLg: { default: void 0 },\n colsXl: { default: void 0 },\n colsXxl: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BRow\");\n const alignment = useAlignment(() => props.alignH);\n const rowColsClasses = computed(\n () => getClasses(\n {\n cols: props.cols,\n colsLg: props.colsLg,\n colsMd: props.colsMd,\n colsSm: props.colsSm,\n colsXl: props.colsXl,\n colsXxl: props.colsXxl\n },\n [\"cols\", \"colsLg\", \"colsMd\", \"colsSm\", \"colsXl\", \"colsXxl\"],\n \"cols\",\n \"row-cols\"\n )\n );\n const computedClasses = computed(() => [\n rowColsClasses.value,\n {\n [`gx-${props.gutterX}`]: props.gutterX !== void 0,\n [`gy-${props.gutterY}`]: props.gutterY !== void 0,\n \"g-0\": props.noGutters,\n [`align-items-${props.alignV}`]: props.alignV !== void 0,\n [alignment.value]: props.alignH !== void 0,\n [`align-content-${props.alignContent}`]: props.alignContent !== void 0\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"row\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs.map\n","import { defineComponent, mergeModels, useModel, inject, computed, useTemplateRef, ref, toRef, watch, provide, createBlock, openBlock, unref, normalizeClass, withCtx, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, createElementVNode, Transition, mergeProps, withDirectives, normalizeStyle, vShow, nextTick } from \"vue\";\nimport { i as isBoundary, a as isRootBoundary, o as offset, f as flip, s as shift, b as size, u as useFloating, r as resolveBootstrapCaret, c as autoUpdate } from \"./floatingUi-BBabBWxD.mjs\";\nimport { o as onKeyStroke, a as onClickOutside } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { _ as _sfc_main$3 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nimport { i as inputGroupKey, b as buttonGroupKey, d as dropdownInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = { class: \"visually-hidden\" };\nconst _hoisted_2 = [\"id\", \"aria-labelledby\", \"role\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BDropdown\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n autoClose: { type: [Boolean, String], default: true },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n disabled: { type: Boolean, default: false },\n floatingMiddleware: { default: void 0 },\n icon: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: false },\n menuClass: { default: void 0 },\n noCaret: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n offset: { default: 0 },\n role: { default: \"menu\" },\n size: { default: \"md\" },\n noWrapper: { type: Boolean, default: false },\n split: { type: Boolean, default: false },\n splitButtonType: { default: \"button\" },\n splitClass: { default: void 0 },\n splitDisabled: { type: Boolean, default: void 0 },\n splitHref: { default: void 0 },\n splitTo: { default: void 0 },\n splitVariant: { default: void 0 },\n strategy: { default: \"absolute\" },\n text: { default: void 0 },\n toggleClass: { default: void 0 },\n toggleText: { default: \"Toggle dropdown\" },\n variant: { default: \"secondary\" },\n wrapperClass: { default: void 0 },\n placement: { default: \"bottom-start\" },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: { default: void 0 },\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"split-click\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdown\");\n const emit = __emit;\n const computedId = useId(() => props.id, \"dropdown\");\n const modelValue = useModel(__props, \"modelValue\");\n const inInputGroup = inject(inputGroupKey, false);\n const inButtonGroup = inject(buttonGroupKey, false);\n const computedOffset = computed(\n () => typeof props.offset === \"string\" || typeof props.offset === \"number\" ? props.offset : Number.NaN\n );\n const offsetToNumber = useToNumber(computedOffset);\n const floatingElement = useTemplateRef(\"_floating\");\n const button = useTemplateRef(\"_button\");\n const splitButton = useTemplateRef(\"_splitButton\");\n const boundary = computed(\n () => isBoundary(props.boundary) ? props.boundary : void 0\n );\n const rootBoundary = computed(\n () => isRootBoundary(props.boundary) ? props.boundary : void 0\n );\n const referenceElement = computed(() => !props.split ? splitButton.value : button.value);\n let cleanup;\n const {\n showRef,\n renderRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n transitionProps,\n contentShowing,\n isVisible\n } = useShowHide(modelValue, props, emit, referenceElement, computedId, {\n showFn: () => {\n update();\n nextTick(() => {\n cleanup = autoUpdate(\n referenceElement.value,\n floatingElement.value,\n update,\n {\n animationFrame: false\n }\n );\n });\n },\n hideFn: () => {\n if (cleanup) {\n cleanup();\n cleanup = void 0;\n }\n }\n });\n const computedMenuClasses = computed(() => [\n {\n show: isVisible.value,\n fade: !computedNoAnimation.value\n }\n ]);\n onKeyStroke(\n \"Escape\",\n () => {\n hide();\n getElement(referenceElement.value)?.focus();\n },\n { target: referenceElement }\n );\n onKeyStroke(\n \"Escape\",\n () => {\n hide();\n getElement(referenceElement.value)?.focus();\n },\n { target: floatingElement }\n );\n const keynav = (e, v) => {\n if (floatingElement.value?.contains(e.target?.closest(\"form\"))) return;\n if (/input|select|option|textarea|form/i.test(e.target?.tagName)) return;\n e.preventDefault();\n if (!showRef.value) {\n show();\n const loop = setInterval(() => {\n if (isVisible.value) {\n clearInterval(loop);\n nextTick(() => keynav(e, v));\n }\n }, 16);\n return;\n }\n const list = floatingElement.value?.querySelectorAll(\n \".dropdown-item:not(.disabled):not(:disabled)\"\n );\n if (!list) return;\n if (floatingElement.value?.contains(document.activeElement)) {\n const active = floatingElement.value.querySelector(\".dropdown-item:focus\");\n const index = Array.prototype.indexOf.call(list, active) + v;\n if (index >= 0 && index < list?.length) list[index]?.focus();\n } else {\n list[v === -1 ? list.length - 1 : 0]?.focus();\n }\n };\n onKeyStroke(\"ArrowUp\", (e) => keynav(e, -1), { target: referenceElement });\n onKeyStroke(\"ArrowDown\", (e) => keynav(e, 1), { target: referenceElement });\n onKeyStroke(\"ArrowUp\", (e) => keynav(e, -1), { target: floatingElement });\n onKeyStroke(\"ArrowDown\", (e) => keynav(e, 1), { target: floatingElement });\n const sizeStyles = ref({});\n const floatingMiddleware = computed(() => {\n if (props.floatingMiddleware !== void 0) {\n return props.floatingMiddleware;\n }\n const localOffset = typeof props.offset === \"string\" || typeof props.offset === \"number\" ? offsetToNumber.value : props.offset;\n const arr = [offset(localOffset)];\n if (props.noFlip === false) {\n arr.push(\n flip({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noShift === false) {\n arr.push(\n shift({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding\n })\n );\n }\n if (props.noSize === false) {\n arr.push(\n size({\n boundary: boundary.value,\n rootBoundary: rootBoundary.value,\n padding: props.boundaryPadding,\n apply({ availableWidth, availableHeight }) {\n sizeStyles.value = {\n maxHeight: availableHeight >= (floatingElement.value?.scrollHeight ?? 0) ? void 0 : availableHeight ? `${Math.max(0, availableHeight)}px` : void 0,\n maxWidth: availableWidth >= (floatingElement.value?.scrollWidth ?? 0) ? void 0 : availableWidth ? `${Math.max(0, availableWidth)}px` : void 0\n };\n }\n })\n );\n }\n return arr;\n });\n const { update, floatingStyles } = useFloating(referenceElement, floatingElement, {\n placement: () => props.placement,\n middleware: floatingMiddleware,\n strategy: toRef(() => props.strategy)\n });\n const inButtonGroupAttributes = inButtonGroup ? {\n class: \"btn-group\",\n role: \"group\"\n } : void 0;\n const computedClasses = computed(() => [\n inButtonGroupAttributes?.class,\n props.wrapperClass,\n {\n \"btn-group\": !props.wrapperClass && props.split,\n [`drop${resolveBootstrapCaret(props.placement)}`]: !props.wrapperClass,\n \"position-static\": props.boundary !== \"clippingAncestors\" && !props.isNav\n }\n ]);\n const buttonClasses = computed(() => [\n props.split ? props.splitClass : props.toggleClass,\n {\n \"nav-link\": props.isNav,\n \"dropdown-toggle\": !props.split,\n \"dropdown-toggle-no-caret\": props.noCaret && !props.split,\n \"show\": props.split ? void 0 : showRef.value\n }\n ]);\n const onButtonClick = () => {\n toggle();\n };\n const onSplitClick = (event) => {\n if (props.split) {\n emit(\"split-click\", event);\n return;\n }\n onButtonClick();\n };\n onClickOutside(\n floatingElement,\n () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === \"outside\")) {\n hide();\n }\n },\n { ignore: [button, splitButton] }\n );\n const onClickInside = () => {\n if (showRef.value && (props.autoClose === true || props.autoClose === \"inside\")) {\n hide();\n }\n };\n watch(isVisible, () => {\n update();\n });\n __expose({\n hide,\n show,\n toggle\n });\n provide(dropdownInjectionKey, {\n id: computedId,\n show,\n hide,\n toggle,\n visible: toRef(() => showRef.value),\n isNav: toRef(() => props.isNav)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n skip: unref(inInputGroup) || unref(props).noWrapper,\n class: normalizeClass(computedClasses.value),\n role: unref(inButtonGroupAttributes)?.role\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$2, {\n id: unref(computedId),\n ref: \"_splitButton\",\n variant: unref(props).splitVariant || unref(props).variant,\n size: unref(props).size,\n class: normalizeClass(buttonClasses.value),\n disabled: unref(props).splitDisabled || unref(props).disabled,\n type: unref(props).splitButtonType,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-expanded\": unref(props).split ? void 0 : unref(showRef),\n \"aria-haspopup\": unref(props).split ? void 0 : \"menu\",\n href: unref(props).split ? unref(props).splitHref : void 0,\n icon: unref(props).icon,\n to: unref(props).split && unref(props).splitTo ? unref(props).splitTo : void 0,\n onClick: onSplitClick\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"button-content\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"variant\", \"size\", \"class\", \"disabled\", \"type\", \"aria-label\", \"aria-expanded\", \"aria-haspopup\", \"href\", \"icon\", \"to\"]),\n unref(props).split ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n id: unref(computedId) + \"-split\",\n ref: \"_button\",\n variant: unref(props).variant,\n size: unref(props).size,\n disabled: unref(props).disabled,\n class: normalizeClass([[unref(props).toggleClass, { show: unref(showRef) }], \"dropdown-toggle-split dropdown-toggle\"]),\n \"aria-expanded\": unref(showRef),\n \"aria-haspopup\": \"menu\",\n onClick: onButtonClick\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"toggle-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).toggleText), 1)\n ])\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"variant\", \"size\", \"disabled\", \"class\", \"aria-expanded\"])) : createCommentVNode(\"\", true),\n createVNode(_sfc_main$3, {\n to: unref(props).teleportTo,\n disabled: !unref(props).teleportTo || unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"ul\", {\n id: unref(computedId) + \"-menu\",\n ref: \"_floating\",\n style: normalizeStyle([unref(floatingStyles), sizeStyles.value, { display: unref(showRef) ? \"block\" : \"none\" }]),\n class: normalizeClass([\"dropdown-menu overflow-auto\", [unref(props).menuClass, computedMenuClasses.value]]),\n \"aria-labelledby\": unref(computedId),\n role: unref(props).role,\n onClick: onClickInside\n }, [\n unref(contentShowing) ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n id: unref(computedId),\n hide: unref(hide),\n show: unref(show),\n visible: unref(showRef),\n click: onClickInside,\n toggle: onButtonClick,\n active: unref(showRef)\n }) : createCommentVNode(\"\", true)\n ], 14, _hoisted_2), [\n [vShow, unref(showRef)]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ]),\n _: 3\n }, 8, [\"skip\", \"class\", \"role\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs.map\n","import { defineComponent, useAttrs, computed, createElementBlock, openBlock, mergeProps, createBlock, resolveDynamicComponent, unref, createElementVNode, renderSlot, normalizeClass, withCtx, createTextVNode, toDisplayString, inject } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$7 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { c as collapseInjectionKey, d as dropdownInjectionKey, v as navbarInjectionKey } from \"./keys-BLeKMItg.mjs\";\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownDivider\",\n props: {\n dividerClass: { default: void 0 },\n tag: { default: \"hr\" },\n variant: {},\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownDivider\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...dividerAttrs } = attrs;\n return { wrapperClass, dividerAttrs };\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-divider\", unref(props).dividerClass],\n role: \"separator\",\n \"aria-orientation\": \"horizontal\"\n }, processedAttrs.value.dividerAttrs), null, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nconst _hoisted_1$2 = [\"novalidate\"];\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownForm\",\n props: {\n formClass: { default: void 0 },\n novalidate: { type: Boolean, default: void 0 },\n validated: { type: Boolean, default: void 0 },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownForm\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...formAttrs } = attrs;\n return { wrapperClass, formAttrs };\n });\n const computedClasses = computed(() => [\n props.formClass,\n {\n \"was-validated\": props.validated\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n createElementVNode(\"form\", mergeProps({\n class: [\"dropdown-item-text\", computedClasses.value],\n novalidate: unref(props).novalidate\n }, processedAttrs.value.formAttrs), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1$2)\n ], 16);\n };\n }\n});\nconst _hoisted_1$1 = { role: \"presentation\" };\nconst _hoisted_2 = [\"id\", \"aria-describedby\"];\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownGroup\",\n props: {\n ariaDescribedby: { default: void 0 },\n header: { default: void 0 },\n headerClass: { default: void 0 },\n headerTag: { default: \"header\" },\n headerVariant: { default: null },\n id: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownGroup\");\n const headerId = computed(() => props.id ? `${props.id}_group_dd_header` : void 0);\n const headerRole = computed(() => props.headerTag === \"header\" ? void 0 : \"heading\");\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.headerVariant\n }))\n );\n const computedClasses = computed(() => [props.headerClass, colorClasses.value]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$1, [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).headerTag), {\n id: headerId.value,\n class: normalizeClass([\"dropdown-header\", computedClasses.value]),\n role: headerRole.value\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createTextVNode(toDisplayString(unref(props).header), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\", \"role\"])),\n createElementVNode(\"ul\", mergeProps({\n id: unref(props).id,\n role: \"group\",\n class: \"list-unstyled\"\n }, _ctx.$attrs, {\n \"aria-describedby\": unref(props).ariaDescribedby || headerId.value\n }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_2)\n ]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownHeader\",\n props: {\n headerClass: { default: void 0 },\n tag: { default: \"h6\" },\n text: { default: void 0 },\n variant: { default: null },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownHeader\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...headerAttrs } = attrs;\n return { wrapperClass, headerAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-header\", [unref(colorClasses), unref(props).headerClass]]\n }, processedAttrs.value.headerAttrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownItem\",\n props: {\n linkClass: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownItem\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...dropdownItemAttrs } = attrs;\n return { wrapperClass, dropdownItemAttrs };\n });\n const { computedLink, computedLinkProps } = useBLinkHelper(props);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n props.linkClass,\n colorClasses.value,\n {\n active: props.active,\n disabled: props.disabled\n }\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$7 : props.href ? \"a\" : \"button\");\n const collapseData = inject(collapseInjectionKey, null);\n const dropdownData = inject(dropdownInjectionKey, null);\n const navbarData = inject(navbarInjectionKey, null);\n const clicked = (e) => {\n emit(\"click\", e);\n if (navbarData !== null && navbarData?.noAutoClose?.value !== true) {\n collapseData?.hide?.();\n }\n dropdownData?.hide?.();\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({\n class: [\"dropdown-item\", computedClasses.value],\n disabled: unref(props).disabled,\n \"aria-disabled\": unref(props).disabled ? true : null,\n \"aria-current\": unref(props).active ? true : null,\n href: computedTag.value === \"a\" ? unref(props).href : null,\n rel: unref(props).rel,\n role: \"menuitem\",\n type: computedTag.value === \"button\" ? \"button\" : null,\n target: unref(props).target\n }, { ...unref(computedLinkProps), ...processedAttrs.value.dropdownItemAttrs }, { onClick: clicked }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"disabled\", \"aria-disabled\", \"aria-current\", \"href\", \"rel\", \"type\", \"target\"]))\n ], 16);\n };\n }\n});\nconst _hoisted_1 = [\"disabled\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownItemButton\",\n props: {\n active: { type: Boolean, default: false },\n activeClass: { default: \"active\" },\n buttonClass: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n disabled: { type: Boolean, default: false },\n variant: { default: null }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownItemButton\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...buttonAttrs } = attrs;\n return { wrapperClass, buttonAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n props.buttonClass,\n colorClasses.value,\n {\n [props.activeClass]: props.active,\n disabled: props.disabled\n }\n ]);\n const clicked = (e) => {\n if (props.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n emit(\"click\", e);\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, unref(props).wrapperAttrs), [\n createElementVNode(\"button\", mergeProps({\n role: \"menu\",\n type: \"button\",\n class: [\"dropdown-item\", computedClasses.value],\n disabled: unref(props).disabled\n }, processedAttrs.value.buttonAttrs, { onClick: clicked }), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1)\n ], 16);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BDropdownText\",\n props: {\n textClass: { default: void 0 },\n tag: { default: \"span\" },\n text: { default: void 0 },\n variant: { default: null },\n wrapperAttrs: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BDropdownText\");\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...textAttrs } = attrs;\n return { wrapperClass, textAttrs };\n });\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n textVariant: props.variant\n }))\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n role: \"presentation\",\n class: processedAttrs.value.wrapperClass\n }, _ctx.wrapperAttrs), [\n (openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n class: [\"dropdown-item-text\", [unref(colorClasses), unref(props).textClass]]\n }, processedAttrs.value.textAttrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 16, [\"class\"]))\n ], 16);\n };\n }\n});\nexport {\n _sfc_main$6 as _,\n _sfc_main$5 as a,\n _sfc_main$4 as b,\n _sfc_main$3 as c,\n _sfc_main$2 as d,\n _sfc_main$1 as e,\n _sfc_main as f\n};\n//# sourceMappingURL=BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs.map\n","import { defineComponent, useTemplateRef, computed, createElementBlock, openBlock, normalizeClass, unref, renderSlot } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nconst _hoisted_1 = [\"id\", \"novalidate\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BForm\",\n props: {\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: false },\n validated: { type: Boolean, default: false }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BForm\");\n const element = useTemplateRef(\"_element\");\n const computedClasses = computed(() => ({\n \"form-floating\": props.floating,\n \"was-validated\": props.validated\n }));\n __expose({\n element\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"form\", {\n id: unref(props).id,\n ref: \"_element\",\n novalidate: unref(props).novalidate,\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs.map\n","import { defineComponent, inject, computed, createElementBlock, openBlock, unref, renderSlot, toValue } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as formSelectKey } from \"./keys-BLeKMItg.mjs\";\nimport { g as get } from \"./object-0ALvRU0O.mjs\";\nconst _hoisted_1 = [\"value\", \"disabled\", \"selected\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOption\",\n props: {\n disabled: { type: Boolean, default: false },\n value: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOption\");\n const formSelectContext = inject(formSelectKey, null);\n const isSelected = computed(() => {\n if (!formSelectContext) return false;\n return formSelectContext.modelValue.value === props.value;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"option\", {\n value: unref(props).value,\n disabled: unref(props).disabled,\n selected: isSelected.value\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1);\n };\n }\n});\nconst useFormSelect = (options, props) => {\n const isComplex = (option) => typeof option === \"object\" && option !== null && \"options\" in option;\n const normalizeOption = (option) => {\n const propsValue = toValue(props);\n if (typeof option === \"string\") {\n return { value: option, text: option };\n }\n if (typeof option === \"number\") {\n return { value: option, text: `${option}` };\n }\n if (option instanceof Date) {\n return { value: option, text: option.toLocaleString() };\n }\n const value = get(option, propsValue.valueField);\n const text = get(option, propsValue.textField);\n const disabled = get(option, propsValue.disabledField);\n const opts = propsValue.optionsField ? get(option, propsValue.optionsField) : void 0;\n if (opts !== void 0) {\n return {\n label: get(option, propsValue.labelField) || text,\n options: opts\n };\n }\n return {\n ...typeof option === \"object\" ? option : void 0,\n value,\n text,\n disabled\n };\n };\n const normalizeOptions = (opts) => opts.map((option) => normalizeOption(option));\n const normalizedOptions = computed(() => normalizeOptions(toValue(options)));\n return { normalizedOptions, isComplex };\n};\nexport {\n _sfc_main as _,\n useFormSelect as u\n};\n//# sourceMappingURL=useFormSelect-DvaFh_iu.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, unref, renderSlot, Fragment, renderList, createBlock, mergeProps, withCtx, createTextVNode, toDisplayString, createElementVNode } from \"vue\";\nimport { u as useFormSelect, _ as _sfc_main$2 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormDatalist\",\n props: {\n disabledField: { default: \"disabled\" },\n id: { default: void 0 },\n options: { default: () => [] },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormDatalist\");\n const computedId = useId(() => props.id, \"datalist\");\n const { normalizedOptions, isComplex } = useFormSelect(\n () => props.options,\n computed(() => ({ ...props, optionsField: \"options\", labelField: \"label\" }))\n );\n const normalizedOptsWrapper = computed(\n () => (\n // Datalist doesn't support complex options\n normalizedOptions.value.filter((opt) => !isComplex(opt))\n )\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"datalist\", { id: unref(computedId) }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({ key: index }, { ref_for: true }, option), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = { class: \"form-floating\" };\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormFloatingLabel\",\n props: {\n label: { default: void 0 },\n labelFor: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormFloatingLabel\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\"),\n createElementVNode(\"label\", {\n for: unref(props).labelFor\n }, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ], 8, _hoisted_2)\n ]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BFormInvalidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === false);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"invalid-feedback\": !props.tooltip,\n \"invalid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BFormRow\",\n props: {\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRow\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"row d-flex flex-wrap\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormText\",\n props: {\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n tag: { default: \"small\" },\n text: { default: void 0 },\n textVariant: { default: \"body-secondary\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormText\");\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"form-text\": !props.inline\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormValidFeedback\",\n props: {\n ariaLive: { default: void 0 },\n forceShow: { type: Boolean, default: false },\n id: { default: void 0 },\n role: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n tag: { default: \"div\" },\n text: { default: void 0 },\n tooltip: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInvalidFeedback\");\n const computedShow = computed(() => props.forceShow === true || props.state === true);\n const computedClasses = computed(() => ({\n \"d-block\": computedShow.value,\n \"valid-feedback\": !props.tooltip,\n \"valid-tooltip\": props.tooltip\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n role: unref(props).role,\n \"aria-live\": unref(props).ariaLive,\n \"aria-atomic\": unref(props).ariaLive ? true : void 0,\n class: normalizeClass(computedClasses.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"role\", \"aria-live\", \"aria-atomic\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useAriaInvalid = (ariaInvalid, state) => computed(() => {\n const resolvedAriaInvalid = toValue(ariaInvalid);\n const resolvedState = toValue(state);\n const resolvedAriaInvalidValue = resolvedAriaInvalid === true ? \"true\" : typeof resolvedAriaInvalid === \"string\" ? resolvedAriaInvalid : resolvedState === false ? \"true\" : resolvedAriaInvalid === false ? \"false\" : void 0;\n return resolvedAriaInvalidValue;\n});\nexport {\n useAriaInvalid as u\n};\n//# sourceMappingURL=useAriaInvalid-BTUbGj3Y.mjs.map\n","import { computed, toValue } from \"vue\";\nconst useStateClass = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return resolvedValue === true ? \"is-valid\" : resolvedValue === false ? \"is-invalid\" : null;\n});\nexport {\n useStateClass as u\n};\n//# sourceMappingURL=useStateClass-BGbSLWFN.mjs.map\n","import { computed, toValue, readonly, toRef } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nconst getClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"form-check\": resolvedItems.plain === false && resolvedItems.button === false && resolvedItems.hasDefaultSlot,\n \"form-check-reverse\": resolvedItems.reverse === true,\n \"form-check-inline\": resolvedItems.inline === true,\n \"form-switch\": resolvedItems.switch === true,\n [`form-control-${resolvedItems.size}`]: resolvedItems.size !== void 0 && resolvedItems.size !== \"md\" && resolvedItems.button === false\n };\n});\nconst getInputClasses = (items) => {\n const resolvedItems = readonly(toRef(items));\n const stateClass = useStateClass(() => resolvedItems.value.state ?? null);\n return computed(() => [\n stateClass.value,\n {\n \"form-check-input\": resolvedItems.value.plain === false && resolvedItems.value.button === false,\n \"btn-check\": resolvedItems.value.button === true\n }\n ]);\n};\nconst getLabelClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"form-check-label\": resolvedItems.plain === false && resolvedItems.button === false,\n \"btn\": resolvedItems.button === true,\n [`btn-${resolvedItems.buttonVariant}`]: resolvedItems.button === true && resolvedItems.buttonVariant !== void 0 && resolvedItems.buttonVariant !== null,\n [`btn-${resolvedItems.size}`]: resolvedItems.button && resolvedItems.size && resolvedItems.size !== \"md\"\n };\n});\nconst getGroupAttr = (items) => {\n const resolvedItems = readonly(toRef(items));\n const computedAriaInvalid = useAriaInvalid(\n () => resolvedItems.value.ariaInvalid,\n () => resolvedItems.value.state\n );\n return computed(() => ({\n \"aria-invalid\": computedAriaInvalid.value,\n \"aria-required\": resolvedItems.value.required === true ? true : void 0\n }));\n};\nconst getGroupClasses = (items) => computed(() => {\n const resolvedItems = toValue(items);\n return {\n \"was-validated\": resolvedItems.validated === true,\n \"btn-group\": resolvedItems.buttons === true && resolvedItems.stacked === false,\n \"btn-group-vertical\": resolvedItems.stacked === true && resolvedItems.buttons === true,\n [`btn-group-${resolvedItems.size}`]: resolvedItems.size !== void 0\n };\n});\nexport {\n getInputClasses as a,\n getLabelClasses as b,\n getGroupAttr as c,\n getGroupClasses as d,\n getClasses as g\n};\n//# sourceMappingURL=useFormCheck-Bcx8Ea7M.mjs.map\n","import { defineComponent, mergeModels, useSlots, useAttrs, useModel, computed, inject, useTemplateRef, createBlock, openBlock, mergeProps, unref, withCtx, withDirectives, createElementBlock, createCommentVNode, createElementVNode, vModelCheckbox, normalizeClass, renderSlot, provide, toRef, Fragment, renderList, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { g as getClasses, a as getInputClasses, b as getLabelClasses, c as getGroupAttr, d as getGroupClasses } from \"./useFormCheck-Bcx8Ea7M.mjs\";\nimport { j as checkboxGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\", \"disabled\", \"required\", \"name\", \"form\", \"aria-label\", \"aria-labelledby\", \"aria-required\", \"value\", \"true-value\", \"false-value\", \"indeterminate\"];\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormCheckbox\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonGroup: { type: Boolean, default: false },\n buttonVariant: { default: null },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n name: { default: void 0 },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: void 0 },\n reverse: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n switch: { type: Boolean, default: false },\n uncheckedValue: { type: [Array, Set, String, Boolean, Object, Number, null], default: false },\n wrapperAttrs: { default: void 0 },\n inputClass: { default: void 0 },\n value: { type: [String, Boolean, Array, Set, Object, Number, null], default: true }\n }, {\n \"modelValue\": { type: [Array, Set, String, Boolean, Object, Number, null], ...{\n default: void 0\n } },\n \"modelModifiers\": {},\n \"indeterminate\": { type: Boolean, ...{\n default: false\n } },\n \"indeterminateModifiers\": {}\n }),\n emits: [\"update:modelValue\", \"update:indeterminate\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormCheckbox\");\n const slots = useSlots();\n const attrs = useAttrs();\n const modelValue = useModel(__props, \"modelValue\");\n const indeterminate = useModel(\n __props,\n \"indeterminate\"\n );\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...inputAttrs } = attrs;\n return { wrapperClass, inputAttrs };\n });\n const computedId = useId(() => props.id, \"form-check\");\n const parentData = inject(checkboxGroupKey, null);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const localValue = computed({\n get: () => parentData ? parentData.modelValue.value : modelValue.value,\n set: (newVal) => {\n if (newVal === void 0) return;\n indeterminate.value = false;\n if (parentData !== null && Array.isArray(newVal)) {\n parentData.modelValue.value = newVal;\n return;\n }\n modelValue.value = newVal;\n }\n });\n const computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n );\n const isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false));\n const classesObject = computed(() => ({\n plain: props.plain || (parentData?.plain.value ?? false),\n button: props.button || (parentData?.buttons.value ?? false),\n inline: props.inline || (parentData?.inline.value ?? false),\n reverse: props.reverse || (parentData?.reverse.value ?? false),\n switch: props.switch || (parentData?.switch.value ?? false),\n state: props.state === true || props.state === false ? props.state : parentData?.state.value ?? null,\n size: props.size ?? parentData?.size.value ?? \"md\",\n // This is where the true default is made\n buttonVariant: props.buttonVariant ?? parentData?.buttonVariant.value ?? \"secondary\",\n // This is where the true default is made\n hasDefaultSlot: hasDefaultSlot.value\n }));\n const wrapperClasses = getClasses(classesObject);\n const computedWrapperClasses = computed(() => [\n wrapperClasses.value,\n processedAttrs.value.wrapperClass\n ]);\n const inputClasses = getInputClasses(classesObject);\n const computedInputClasses = computed(() => [inputClasses.value, props.inputClass]);\n const labelClasses = getLabelClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({ skip: isButtonGroup.value }, unref(props).wrapperAttrs, { class: computedWrapperClasses.value }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"input\", mergeProps({\n id: unref(computedId),\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: computedInputClasses.value,\n type: \"checkbox\",\n disabled: unref(props).disabled || unref(parentData)?.disabled.value,\n required: computedRequired.value || void 0,\n name: unref(props).name || unref(parentData)?.name.value,\n form: unref(props).form || unref(parentData)?.form.value,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n \"aria-required\": computedRequired.value || void 0,\n value: unref(props).value,\n \"true-value\": unref(props).value,\n \"false-value\": unref(props).uncheckedValue,\n indeterminate: indeterminate.value || void 0\n }, processedAttrs.value.inputAttrs), null, 16, _hoisted_1$1), [\n [vModelCheckbox, localValue.value]\n ]),\n hasDefaultSlot.value || unref(props).plain === false ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n for: unref(computedId),\n class: normalizeClass(unref(labelClasses))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"skip\", \"class\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormCheckboxGroup\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n buttonVariant: { default: \"secondary\" },\n buttons: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n name: { default: void 0 },\n options: { default: () => [] },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: \"md\" },\n stacked: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n switches: { type: Boolean, default: false },\n textField: { default: \"text\" },\n validated: { type: Boolean, default: false },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n default: () => []\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormCheckboxGroup\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"checkbox\");\n const computedName = useId(() => props.name, \"checkbox\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element, {\n initialValue: props.autofocus\n });\n provide(checkboxGroupKey, {\n modelValue,\n switch: toRef(() => props.switches),\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n buttons: toRef(() => props.buttons),\n disabled: toRef(() => props.disabled)\n });\n const normalizeOptions = computed(\n () => props.options.map(\n (el) => typeof el === \"string\" || typeof el === \"number\" ? {\n value: el,\n disabled: props.disabled,\n text: el.toString()\n } : {\n ...el,\n value: el[props.valueField],\n disabled: el[props.disabledField],\n text: el[props.textField]\n }\n )\n );\n const classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size\n }));\n const computedAttrs = getGroupAttr(classesObject);\n const computedClasses = getGroupClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps(unref(computedAttrs), {\n id: unref(computedId),\n ref: \"_element\",\n role: \"group\",\n class: [unref(computedClasses), \"bv-no-focus-ring\"],\n tabindex: \"-1\"\n }), [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizeOptions.value, (item, index) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: index }, { ref_for: true }, item), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, item), () => [\n createTextVNode(toDisplayString(item.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, computed, watch, createElementBlock, openBlock, Fragment, createCommentVNode, createElementVNode, unref, normalizeClass, renderSlot, createTextVNode, toDisplayString, mergeProps } from \"vue\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"id\", \"form\", \"name\", \"multiple\", \"disabled\", \"capture\", \"accept\", \"required\", \"aria-label\", \"aria-labelledby\", \"aria-required\", \"directory\", \"webkitdirectory\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormFile\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n accept: { default: \"\" },\n autofocus: { type: Boolean, default: false },\n capture: { type: [Boolean, String], default: void 0 },\n directory: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n label: { default: \"\" },\n labelClass: { default: void 0 },\n multiple: { type: Boolean, default: false },\n name: { default: void 0 },\n noButton: { type: Boolean, default: false },\n noDrop: { type: Boolean, default: false },\n noTraverse: { type: Boolean, default: false },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormFile\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, { initialValue: props.autofocus });\n const hasLabelSlot = computed(() => !isEmptySlot(slots[\"label\"]));\n const computedAccept = computed(\n () => typeof props.accept === \"string\" ? props.accept : props.accept.join(\",\")\n );\n const computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== void 0,\n \"form-control\": !props.plain,\n \"form-control-input-file-hide-button\": props.noButton\n }\n ]);\n const onChange = () => {\n const value = input.value?.files === null || input.value?.files === void 0 ? null : [...input.value.files];\n modelValue.value = value === null ? null : props.multiple === true ? value : value[0];\n };\n const onDrop = (e) => {\n if (props.noDrop === true) {\n e.preventDefault();\n }\n };\n const reset = () => {\n modelValue.value = null;\n };\n watch(modelValue, (newValue) => {\n if (newValue === null && input.value !== null) {\n input.value.value = \"\";\n }\n });\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n },\n reset\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n hasLabelSlot.value || unref(props).label ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n class: normalizeClass([\"form-label\", unref(props).labelClass]),\n for: unref(computedId)\n }, [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ], 10, _hoisted_1)) : createCommentVNode(\"\", true),\n createElementVNode(\"input\", mergeProps({ id: unref(computedId) }, _ctx.$attrs, {\n ref: \"_input\",\n type: \"file\",\n class: computedClasses.value,\n form: unref(props).form,\n name: unref(props).name,\n multiple: unref(props).multiple,\n disabled: unref(props).disabled,\n capture: unref(props).capture,\n accept: computedAccept.value || void 0,\n required: unref(props).required || void 0,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n \"aria-required\": unref(props).required || void 0,\n directory: unref(props).directory,\n webkitdirectory: unref(props).directory,\n onChange,\n onDrop\n }), null, 16, _hoisted_2)\n ], 64);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs.map\n","import { defineComponent, useSlots, toRef, ref, provide, computed, useTemplateRef, createBlock, openBlock, resolveDynamicComponent, normalizeClass, unref, withCtx, createVNode, createElementBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, Fragment, normalizeProps, mergeProps } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { a as isVisible, b as attemptFocus } from \"./dom-DVb-f0ZG.mjs\";\nimport { _ as _sfc_main$4 } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _sfc_main$1, c as _sfc_main$2, b as _sfc_main$3, a as _sfc_main$5 } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { u as upperFirst } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { k as formGroupKey } from \"./keys-BLeKMItg.mjs\";\nconst suffixPropName = (suffix, value) => value + (suffix ? upperFirst(suffix) : \"\");\nconst _hoisted_1 = {\n key: 0,\n ref: \"_content\",\n class: \"form-floating\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormGroup\",\n props: {\n contentCols: { type: [Boolean, String, Number], default: void 0 },\n labelCols: { type: [Boolean, String, Number], default: void 0 },\n labelAlign: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n description: { default: void 0 },\n disabled: { type: Boolean, default: false },\n feedbackAriaLive: { default: \"assertive\" },\n floating: { type: Boolean, default: false },\n id: { default: void 0 },\n invalidFeedback: { default: void 0 },\n label: { default: void 0 },\n labelClass: { default: void 0 },\n labelFor: { default: void 0 },\n labelSize: { default: void 0 },\n labelVisuallyHidden: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n tooltip: { type: Boolean, default: false },\n validFeedback: { default: void 0 },\n validated: { type: Boolean, default: false },\n contentColsSm: { type: [Boolean, String, Number], default: void 0 },\n contentColsMd: { type: [Boolean, String, Number], default: void 0 },\n contentColsLg: { type: [Boolean, String, Number], default: void 0 },\n contentColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelColsSm: { type: [Boolean, String, Number], default: void 0 },\n labelColsMd: { type: [Boolean, String, Number], default: void 0 },\n labelColsLg: { type: [Boolean, String, Number], default: void 0 },\n labelColsXl: { type: [Boolean, String, Number], default: void 0 },\n labelAlignSm: { default: void 0 },\n labelAlignMd: { default: void 0 },\n labelAlignLg: { default: void 0 },\n labelAlignXl: { default: void 0 }\n },\n setup(__props) {\n const INPUTS = [\"input\", \"select\", \"textarea\"];\n const _props = __props;\n const props = useDefaults(_props, \"BFormGroup\");\n const slots = useSlots();\n const LabelContentTemplate = createReusableTemplate();\n const ContentTemplate = createReusableTemplate();\n const computedState = toRef(() => props.state);\n const childId = ref([]);\n provide(formGroupKey, (id) => {\n childId.value = [id];\n return {\n state: computedState\n };\n });\n const computedLabelFor = computed(() => {\n if (props.labelFor !== void 0) return props.labelFor;\n if (childId.value[0] && childId.value[0].value) return childId.value[0].value;\n return null;\n });\n const breakPoints = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"];\n const getColProps = (props2, prefix) => (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(breakpoint === \"xs\" ? \"\" : breakpoint, `${prefix}Cols`);\n let propValue = props2[suffix];\n propValue = propValue === \"\" ? true : propValue || false;\n if (!(typeof propValue === \"boolean\") && propValue !== \"auto\") {\n const val = Number.parseInt(propValue);\n propValue = Number.isNaN(val) ? 0 : val;\n propValue = propValue > 0 ? propValue : false;\n }\n if (propValue) {\n if (breakpoint === \"xs\") {\n result[typeof propValue === \"boolean\" ? \"col\" : \"cols\"] = propValue;\n } else {\n result[breakpoint || (typeof propValue === \"boolean\" ? \"col\" : \"cols\")] = propValue;\n }\n }\n return result;\n }, {})\n );\n const content = useTemplateRef(\"_content\");\n const contentColProps = computed(() => getColProps(props, \"content\"));\n const labelAlignClasses = computed(\n () => ((props2, prefix) => breakPoints.reduce((result, breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === \"xs\" ? \"\" : breakpoint,\n `${prefix}Align`\n );\n const propValue = props2[suffix] || null;\n if (propValue) {\n if (breakpoint === \"xs\") {\n result.push(`text-${propValue}`);\n } else {\n result.push(`text-${breakpoint}-${propValue}`);\n }\n }\n return result;\n }, []))(props, \"label\")\n );\n const labelColProps = computed(() => getColProps(props, \"label\"));\n const isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n );\n const stateClass = useStateClass(computedState);\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const onLegendClick = (event) => {\n if (computedLabelFor.value || content.value === null) return;\n const { target } = event;\n const tagName = target ? target.tagName : \"\";\n if ([...INPUTS, \"a\", \"button\", \"label\"].indexOf(tagName) !== -1) return;\n const inputs = [\n ...content.value.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join())\n ].filter(isVisible);\n const [inp] = inputs;\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp);\n }\n };\n const computedId = useId(() => props.id);\n const labelId = useId(void 0, \"_BV_label_\");\n const labelTag = computed(() => !computedLabelFor.value ? \"legend\" : \"label\");\n const labelClasses = computed(() => [\n isHorizontal.value ? \"col-form-label\" : \"form-label\",\n {\n \"bv-no-focus-ring\": !computedLabelFor.value,\n \"col-form-label\": isHorizontal.value || !computedLabelFor.value,\n \"pt-0\": !isHorizontal.value && !computedLabelFor.value,\n \"d-block\": !isHorizontal.value && computedLabelFor.value,\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n \"visually-hidden\": props.labelVisuallyHidden\n },\n labelAlignClasses.value,\n props.labelClass\n ]);\n const invalidFeedbackId = useId(void 0, \"_BV_feedback_invalid_\");\n const validFeedbackId = useId(void 0, \"_BV_feedback_valid_\");\n const descriptionId = useId(void 0, \"_BV_description_\");\n const isFieldset = computed(() => !computedLabelFor.value);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(isFieldset.value ? \"fieldset\" : \"div\"), {\n id: unref(computedId),\n disabled: isFieldset.value ? unref(props).disabled : null,\n role: isFieldset.value ? null : \"group\",\n \"aria-invalid\": unref(computedAriaInvalid),\n \"aria-labelledby\": isFieldset.value && isHorizontal.value ? unref(labelId) : null,\n class: normalizeClass([[unref(stateClass), { \"was-validated\": unref(props).validated }], \"b-form-group\"])\n }, {\n default: withCtx(() => [\n createVNode(unref(ContentTemplate).define, null, {\n default: withCtx(() => [\n slots[\"invalid-feedback\"] || unref(props).invalidFeedback ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n id: unref(invalidFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"invalid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).invalidFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots[\"valid-feedback\"] || unref(props).validFeedback ? (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n id: unref(validFeedbackId),\n \"aria-live\": unref(props).feedbackAriaLive,\n state: computedState.value,\n tooltip: unref(props).tooltip\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"valid-feedback\", {}, () => [\n createTextVNode(toDisplayString(unref(props).validFeedback), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"aria-live\", \"state\", \"tooltip\"])) : createCommentVNode(\"\", true),\n slots.description || unref(props).description ? (openBlock(), createBlock(_sfc_main$3, {\n key: 2,\n id: unref(descriptionId)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"description\", {}, () => [\n createTextVNode(toDisplayString(unref(props).description), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n createVNode(unref(LabelContentTemplate).define, null, {\n default: withCtx(() => [\n slots.label || unref(props).label || isHorizontal.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$4, normalizeProps(mergeProps({ key: 0 }, labelColProps.value)), {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[0] || (_cache[0] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(resolveDynamicComponent(labelTag.value), {\n key: 1,\n id: unref(labelId),\n for: computedLabelFor.value || null,\n tabindex: isFieldset.value ? \"-1\" : null,\n class: normalizeClass(labelClasses.value),\n onClick: _cache[1] || (_cache[1] = ($event) => isFieldset.value ? onLegendClick : null)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"label\", {}, () => [\n createTextVNode(toDisplayString(unref(props).label), 1)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"for\", \"tabindex\", \"class\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }),\n isHorizontal.value ? (openBlock(), createBlock(_sfc_main$5, { key: 0 }, {\n default: withCtx(() => [\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(_sfc_main$4, mergeProps(contentColProps.value, { ref: \"_content\" }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ]),\n _: 3\n }, 16)\n ]),\n _: 3\n })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n unref(props).floating && !isHorizontal.value ? (openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(LabelContentTemplate).reuse),\n createVNode(unref(ContentTemplate).reuse)\n ], 512)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createVNode(unref(LabelContentTemplate).reuse),\n renderSlot(_ctx.$slots, \"default\", {\n id: unref(computedId),\n ariaDescribedby: null,\n descriptionId: unref(descriptionId),\n labelId: unref(labelId)\n }),\n createVNode(unref(ContentTemplate).reuse)\n ], 64))\n ], 64))\n ]),\n _: 3\n }, 8, [\"id\", \"disabled\", \"role\", \"aria-invalid\", \"aria-labelledby\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs.map\n","import { toValue } from \"vue\";\nconst noop = () => {\n};\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n wrapper.cancel = filter.cancel;\n return wrapper;\n}\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n let lastInvoker;\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer) _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n lastInvoker = invoke;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer) _clearTimeout(timer);\n maxTimer = null;\n resolve(lastInvoker());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer) _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n filter.cancel = () => {\n if (timer) _clearTimeout(timer);\n if (maxTimer) _clearTimeout(maxTimer);\n maxTimer = null;\n };\n return filter;\n}\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(debounceFilter(ms, options), fn);\n}\nexport {\n useDebounceFn as u\n};\n//# sourceMappingURL=debounce-BHqBzJ1a.mjs.map\n","import { ref, inject, computed, onMounted, onActivated, nextTick } from \"vue\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { k as formGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDebounceFn } from \"./debounce-BHqBzJ1a.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst normalizeInput = (v, modelModifiers) => {\n if (v === null) return;\n let update = v;\n if (modelModifiers.number && typeof update === \"string\" && update !== \"\") {\n const parsed = Number.parseFloat(update);\n update = Number.isNaN(parsed) ? update : parsed;\n }\n return update;\n};\nconst useFormInput = (props, input, modelValue, modelModifiers) => {\n const forceUpdateKey = ref(0);\n const computedId = useId(() => props.id, \"input\");\n const debounceNumber = useToNumber(() => props.debounce ?? 0, { nanToZero: true });\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN);\n const formGroupData = inject(formGroupKey, null)?.(computedId);\n const computedState = computed(\n () => props.state !== void 0 ? props.state : formGroupData?.state.value ?? null\n );\n const computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState);\n const stateClass = useStateClass(computedState);\n const internalUpdateModelValue = useDebounceFn(\n (value) => {\n modelValue.value = value;\n },\n () => modelModifiers.lazy === true ? 0 : debounceNumber.value,\n { maxWait: () => modelModifiers.lazy === true ? Number.NaN : debounceMaxWaitNumber.value }\n );\n const updateModelValue = (value, force = false, immediate = false) => {\n if (modelModifiers.lazy === true && force === false) return;\n if (immediate) {\n modelValue.value = value;\n } else {\n internalUpdateModelValue(value);\n }\n };\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const _formatValue = (value, evt, force = false) => {\n if (props.formatter !== void 0 && (!props.lazyFormatter || force)) {\n return props.formatter(value, evt);\n }\n return value;\n };\n onMounted(() => {\n if (input.value) {\n input.value.value = modelValue.value?.toString() ?? \"\";\n }\n });\n onActivated(() => {\n nextTick(() => {\n if (props.autofocus) {\n focused.value = true;\n }\n });\n });\n const onInput = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n updateModelValue(nextModel);\n };\n const onChange = (evt) => {\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt);\n if (evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n const nextModel = formattedValue;\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true);\n }\n };\n const onBlur = (evt) => {\n if (!modelModifiers.lazy && !props.lazyFormatter && !modelModifiers.trim && debounceNumber.value <= 0)\n return;\n const { value } = evt.target;\n const formattedValue = _formatValue(value, evt, true);\n const nextModel = modelModifiers.trim ? formattedValue.trim() : formattedValue;\n const needsForceUpdate = nextModel.length !== formattedValue.length;\n internalUpdateModelValue.cancel();\n if (modelValue.value !== nextModel) {\n updateModelValue(formattedValue, true, true);\n }\n if (modelModifiers.trim && needsForceUpdate) {\n forceUpdateKey.value = forceUpdateKey.value + 1;\n }\n };\n const focus = () => {\n if (!props.disabled) {\n focused.value = true;\n }\n };\n const blur = () => {\n if (!props.disabled) {\n focused.value = false;\n }\n };\n return {\n input,\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n focus,\n blur,\n forceUpdateKey,\n stateClass\n };\n};\nexport {\n normalizeInput as n,\n useFormInput as u\n};\n//# sourceMappingURL=useFormInput-BmMsEwZS.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, createElementBlock, openBlock, unref, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-BmMsEwZS.mjs\";\nconst _hoisted_1 = [\"id\", \"value\", \"name\", \"form\", \"type\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"min\", \"max\", \"step\", \"list\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormInput\",\n props: /* @__PURE__ */ mergeModels({\n max: { default: void 0 },\n min: { default: void 0 },\n step: { default: void 0 },\n type: { default: \"text\" },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormInput\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n forceUpdateKey\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => {\n const isRange = props.type === \"range\";\n const isColor = props.type === \"color\";\n return [\n stateClass.value,\n {\n \"form-range\": isRange,\n \"form-control\": isColor || !props.plaintext && !isRange,\n \"form-control-color\": isColor,\n \"form-control-plaintext\": props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size\n }\n ];\n });\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"input\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n value: unref(modelValue),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n type: unref(props).type,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n min: unref(props).min,\n max: unref(props).max,\n step: unref(props).step,\n list: unref(props).type !== \"password\" ? unref(props).list : void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n onInput: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => unref(onInput) && unref(onInput)(...args)),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, inject, useTemplateRef, computed, createBlock, openBlock, normalizeClass, unref, withCtx, withDirectives, createElementBlock, createCommentVNode, createElementVNode, mergeProps, vModelRadio, renderSlot, provide, toRef, Fragment, renderList, createTextVNode, toDisplayString } from \"vue\";\nimport { l as radioGroupKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { g as getClasses, a as getInputClasses, b as getLabelClasses, c as getGroupAttr, d as getGroupClasses } from \"./useFormCheck-Bcx8Ea7M.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { _ as _sfc_main$2 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1$1 = [\"id\", \"disabled\", \"required\", \"name\", \"form\", \"aria-label\", \"aria-labelledby\", \"value\", \"aria-required\"];\nconst _hoisted_2 = [\"for\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BFormRadio\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n ariaLabelledby: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n buttonGroup: { type: Boolean, default: false },\n buttonVariant: { default: null },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n name: { default: void 0 },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n value: { type: [Boolean, String, Array, Object, Number, null], default: true }\n }, {\n \"modelValue\": { type: [Boolean, String, Array, Object, Number, null], ...{\n default: void 0\n } },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRadio\");\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"form-check\");\n const parentData = inject(radioGroupKey, null);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const hasDefaultSlot = computed(() => !isEmptySlot(slots.default));\n const localValue = computed({\n get: () => parentData ? parentData.modelValue.value : modelValue.value,\n set: (newValue) => {\n if (newValue === void 0) return;\n if (parentData !== null) {\n parentData.modelValue.value = newValue;\n return;\n }\n modelValue.value = newValue;\n }\n });\n const computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n );\n const isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false));\n const classesObject = computed(() => ({\n plain: props.plain || (parentData?.plain.value ?? false),\n button: props.button || (parentData?.buttons.value ?? false),\n inline: props.inline || (parentData?.inline.value ?? false),\n state: props.state || parentData?.state.value,\n reverse: props.reverse || (parentData?.reverse.value ?? false),\n size: props.size ?? parentData?.size.value ?? \"md\",\n // This is where the true default is made\n buttonVariant: props.buttonVariant ?? parentData?.buttonVariant.value ?? \"secondary\",\n // This is where the true default is made\n hasDefaultSlot: hasDefaultSlot.value\n }));\n const computedClasses = getClasses(classesObject);\n const inputClasses = getInputClasses(classesObject);\n const labelClasses = getLabelClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, {\n skip: isButtonGroup.value,\n class: normalizeClass(unref(computedClasses))\n }, {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"input\", mergeProps({ id: unref(computedId) }, _ctx.$attrs, {\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: unref(inputClasses),\n type: \"radio\",\n disabled: unref(props).disabled || unref(parentData)?.disabled.value,\n required: computedRequired.value || void 0,\n name: unref(props).name || unref(parentData)?.name.value,\n form: unref(props).form || unref(parentData)?.form.value,\n \"aria-label\": unref(props).ariaLabel,\n \"aria-labelledby\": unref(props).ariaLabelledby,\n value: unref(props).value,\n \"aria-required\": computedRequired.value || void 0\n }), null, 16, _hoisted_1$1), [\n [vModelRadio, localValue.value]\n ]),\n hasDefaultSlot.value || unref(props).plain === false ? (openBlock(), createElementBlock(\"label\", {\n key: 0,\n for: unref(computedId),\n class: normalizeClass(unref(labelClasses))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_2)) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"skip\", \"class\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormRadioGroup\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n buttonVariant: { default: \"secondary\" },\n buttons: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n name: { default: void 0 },\n options: { default: () => [] },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n reverse: { type: Boolean, default: false },\n size: { default: \"md\" },\n stacked: { type: Boolean, default: false },\n state: { type: [Boolean, null], default: null },\n textField: { default: \"text\" },\n validated: { type: Boolean, default: false },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRadioGroup\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"radio\");\n const computedName = useId(() => props.name, \"checkbox\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element, {\n initialValue: props.autofocus\n });\n provide(radioGroupKey, {\n modelValue,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled)\n });\n const normalizeOptions = computed(\n () => props.options.map(\n (el) => typeof el === \"string\" || typeof el === \"number\" ? {\n value: el,\n disabled: props.disabled,\n text: el.toString()\n } : {\n ...el,\n value: el[props.valueField],\n disabled: el[props.disabledField],\n text: el[props.textField]\n }\n )\n );\n const classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size\n }));\n const computedAttrs = getGroupAttr(classesObject);\n const computedClasses = getGroupClasses(classesObject);\n __expose({\n blur: () => {\n focused.value = false;\n },\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", mergeProps(unref(computedAttrs), {\n id: unref(computedId),\n ref: \"_element\",\n role: \"radiogroup\",\n class: [unref(computedClasses), \"bv-no-focus-ring\"],\n tabindex: \"-1\"\n }), [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizeOptions.value, (item, index) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps({ key: index }, { ref_for: true }, item), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, item), () => [\n createTextVNode(toDisplayString(item.text), 1)\n ])\n ]),\n _: 2\n }, 1040);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 16, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs.map\n","import { defineComponent, mergeModels, useModel, computed, ref, createElementBlock, openBlock, normalizeClass, unref, createCommentVNode, renderSlot, createElementVNode, Fragment, renderList, normalizeStyle, toDisplayString } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst _hoisted_1 = [\"id\", \"aria-valuemax\", \"aria-valuenow\", \"aria-valuetext\"];\nconst _hoisted_2 = [\"name\", \"form\", \"value\"];\nconst _hoisted_3 = [\"onClick\"];\nconst _hoisted_4 = { class: \"b-form-rating-star\" };\nconst _hoisted_5 = [\"width\", \"height\"];\nconst _hoisted_6 = {\n key: 0,\n d: \"M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z\"\n};\nconst _hoisted_7 = {\n key: 1,\n d: \"M5.354 5.119 7.538.792A.52.52 0 0 1 8 .5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.54.54 0 0 1 16 6.32a.55.55 0 0 1-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256a.5.5 0 0 1-.146.05c-.342.06-.668-.254-.6-.642l.83-4.73L.173 6.765a.55.55 0 0 1-.172-.403.6.6 0 0 1 .085-.302.51.51 0 0 1 .37-.245zM8 12.027a.5.5 0 0 1 .232.056l3.686 1.894-.694-3.957a.56.56 0 0 1 .162-.505l2.907-2.77-4.052-.576a.53.53 0 0 1-.393-.288L8.001 2.223 8 2.226z\"\n};\nconst _hoisted_8 = {\n key: 2,\n d: \"M2.866 14.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.522-3.356c.33-.314.16-.888-.282-.95l-4.898-.696L8.465.792a.513.513 0 0 0-.927 0L5.354 5.12l-4.898.696c-.441.062-.612.636-.283.95l3.522 3.356-.83 4.73zm4.905-2.767-3.686 1.894.694-3.957a.56.56 0 0 0-.163-.505L1.71 6.745l4.052-.576a.53.53 0 0 0 .393-.288L8 2.223l1.847 3.658a.53.53 0 0 0 .393.288l4.052.575-2.906 2.77a.56.56 0 0 0-.163.506l.694 3.957-3.686-1.894a.5.5 0 0 0-.461 0z\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormRating\",\n props: /* @__PURE__ */ mergeModels({\n color: { default: \"\" },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n noBorder: { type: Boolean, default: false },\n precision: { default: 0 },\n readonly: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n name: { default: void 0 },\n showClear: { type: Boolean, default: false },\n showValue: { type: Boolean, default: false },\n showValueMax: { type: Boolean, default: false },\n size: { default: \"1rem\" },\n stars: { default: 5 },\n variant: { default: void 0 }\n }, {\n \"modelValue\": { default: 0 },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormRating\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"form-rating\");\n const computedClasses = computed(() => ({\n \"is-readonly\": props.readonly,\n \"is-disabled\": props.disabled,\n \"no-border\": props.noBorder,\n \"b-form-rating\": true,\n \"d-inline-block\": props.inline,\n \"w-100\": !props.inline\n }));\n function isIconFull(index) {\n return displayValue.value - index >= 1;\n }\n function isIconHalf(index) {\n const diff = displayValue.value - index;\n return diff >= 0.5 && diff < 1;\n }\n const hoverValue = ref(null);\n const localValue = computed({\n get: () => modelValue.value,\n set: (value) => {\n modelValue.value = value;\n }\n });\n const displayValue = computed(\n () => hoverValue.value !== null ? hoverValue.value : localValue.value\n );\n const clampedStars = computed(() => Math.max(3, props.stars));\n const computedSize = computed(() => {\n if (props.size === \"sm\") return \".875rem\";\n if (props.size === \"lg\") return \"1.25rem\";\n return props.size;\n });\n const displayValueText = computed(() => {\n const decimalValue = props.precision > 0 ? roundedValue.value : displayValue.value;\n if (props.showValueMax) {\n return `${decimalValue}/${clampedStars.value}`;\n }\n if (props.showValue) {\n return `${decimalValue}`;\n }\n return \"\";\n });\n const roundedValue = computed(() => {\n const val = displayValue.value;\n const factor = 10 ** props.precision;\n return Math.round((val + Number.EPSILON) * factor) / factor;\n });\n const iconColors = computed(\n () => Array.from({ length: clampedStars.value }, () => {\n if (props.disabled) {\n return { class: \"is-disabled\", style: {} };\n }\n if (props.variant) {\n return { class: `text-${props.variant}`, style: {} };\n }\n if (props.color) {\n return { class: \"\", style: { color: props.color } };\n }\n return { class: \"\", style: {} };\n })\n );\n function onKeydown(e) {\n if (props.readonly || props.disabled) return;\n let newValue = localValue.value;\n switch (e.key) {\n case \"ArrowRight\":\n case \"ArrowUp\":\n newValue = Math.min(newValue + 1, clampedStars.value);\n break;\n case \"ArrowLeft\":\n case \"ArrowDown\":\n newValue = Math.max(newValue - 1, 0);\n break;\n default:\n return;\n }\n e.preventDefault();\n localValue.value = newValue;\n }\n function selectRating(starIndex) {\n if (props.readonly || props.disabled) return;\n const selectedRating = hoverValue.value !== null ? hoverValue.value : starIndex;\n localValue.value = selectedRating;\n }\n function clearRating() {\n hoverValue.value = null;\n localValue.value = 0;\n }\n __expose({\n hoverValue\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass(computedClasses.value),\n role: \"slider\",\n \"aria-valuemin\": 0,\n \"aria-valuemax\": clampedStars.value,\n \"aria-valuenow\": displayValue.value,\n \"aria-valuetext\": `${displayValue.value} of ${clampedStars.value}`,\n tabindex: \"0\",\n onKeydown\n }, [\n unref(props).name && !unref(props).disabled ? (openBlock(), createElementBlock(\"input\", {\n key: \"hidden\",\n type: \"hidden\",\n name: unref(props).name,\n form: unref(props).form,\n value: localValue.value\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true),\n unref(props).showClear && !unref(props).readonly && !unref(props).disabled ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: \"clear-button-spacing\",\n onClick: clearRating\n }, [\n renderSlot(_ctx.$slots, \"icon-clear\", {}, () => [\n _cache[0] || (_cache[0] = createElementVNode(\"svg\", {\n viewBox: \"0 0 16 16\",\n role: \"img\",\n \"aria-label\": \"x\",\n xmlns: \"http://www.w3.org/2000/svg\",\n class: \"clear-icon\"\n }, [\n createElementVNode(\"g\", null, [\n createElementVNode(\"path\", { d: \"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708\" })\n ])\n ], -1))\n ])\n ])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(clampedStars.value, (starIndex, index) => {\n return openBlock(), createElementBlock(\"span\", {\n key: starIndex,\n class: \"star\",\n onClick: ($event) => selectRating(starIndex)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n starIndex,\n isFilled: isIconFull(index),\n isHalf: isIconHalf(index)\n }, () => [\n createElementVNode(\"span\", _hoisted_4, [\n (openBlock(), createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: computedSize.value,\n height: computedSize.value,\n fill: \"currentColor\",\n class: normalizeClass([[iconColors.value[index].class], \"star-spacing\"]),\n style: normalizeStyle(iconColors.value[index].style),\n viewBox: \"0 0 16 16\"\n }, [\n isIconFull(index) ? (openBlock(), createElementBlock(\"path\", _hoisted_6)) : isIconHalf(index) ? (openBlock(), createElementBlock(\"path\", _hoisted_7)) : (openBlock(), createElementBlock(\"path\", _hoisted_8))\n ], 14, _hoisted_5))\n ])\n ])\n ], 8, _hoisted_3);\n }), 128)),\n unref(props).showValue || unref(props).showValueMax ? (openBlock(), createElementBlock(\"span\", {\n key: 2,\n style: normalizeStyle({ fontSize: computedSize.value }),\n class: \"rating-value-text\"\n }, toDisplayString(displayValueText.value), 5)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs.map\n","import { defineComponent, createElementBlock, openBlock, unref, renderSlot, Fragment, renderList, createBlock, mergeProps, withCtx, createTextVNode, toDisplayString, mergeModels, useModel, useTemplateRef, computed, provide, readonly, withDirectives, normalizeClass, vModelSelect } from \"vue\";\nimport { u as useFormSelect, _ as _sfc_main$2 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useAriaInvalid } from \"./useAriaInvalid-BTUbGj3Y.mjs\";\nimport { u as useFocus } from \"./index-C0p9vHHI.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { n as formSelectKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1$1 = [\"label\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelectOptionGroup\",\n props: {\n disabledField: { default: \"disabled\" },\n label: { default: void 0 },\n options: { default: () => [] },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelectOptionGroup\");\n const { normalizedOptions } = useFormSelect(() => props.options, props);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"optgroup\", {\n label: unref(props).label\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(normalizedOptions), (option, index) => {\n return openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: index,\n disabled: option.disabled,\n value: option.value\n }, { ref_for: true }, _ctx.$attrs), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1040, [\"disabled\", \"value\"]);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 8, _hoisted_1$1);\n };\n }\n});\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"multiple\", \"size\", \"disabled\", \"required\", \"aria-required\", \"aria-invalid\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSelect\",\n props: /* @__PURE__ */ mergeModels({\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n disabledField: { default: \"disabled\" },\n form: { default: void 0 },\n id: { default: void 0 },\n labelField: { default: \"label\" },\n multiple: { type: Boolean, default: false },\n name: { default: void 0 },\n options: { default: () => [] },\n optionsField: { default: \"options\" },\n plain: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n selectSize: { default: 0 },\n size: { default: \"md\" },\n state: { type: [Boolean, null], default: null },\n textField: { default: \"text\" },\n valueField: { default: \"value\" }\n }, {\n \"modelValue\": {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormSelect\");\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"input\");\n const selectSizeNumber = useToNumber(() => props.selectSize);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const computedClasses = computed(() => [\n stateClass.value,\n {\n \"form-control\": props.plain,\n [`form-control-${props.size}`]: props.size !== \"md\" && props.plain,\n \"form-select\": !props.plain,\n [`form-select-${props.size}`]: props.size !== \"md\" && !props.plain\n }\n ]);\n const computedSelectSize = computed(\n () => selectSizeNumber.value || props.plain ? selectSizeNumber.value : void 0\n );\n const computedAriaInvalid = useAriaInvalid(\n () => props.ariaInvalid,\n () => props.state\n );\n const { normalizedOptions, isComplex } = useFormSelect(() => props.options, props);\n const normalizedOptsWrapper = computed(\n () => normalizedOptions.value\n );\n const localValue = computed({\n get: () => modelValue.value,\n set: (newValue) => {\n modelValue.value = newValue;\n }\n });\n provide(formSelectKey, {\n modelValue: readonly(localValue)\n });\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n }\n });\n return (_ctx, _cache) => {\n return withDirectives((openBlock(), createElementBlock(\"select\", {\n id: unref(computedId),\n ref: \"_input\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => localValue.value = $event),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name,\n form: unref(props).form || void 0,\n multiple: unref(props).multiple || void 0,\n size: computedSelectSize.value,\n disabled: unref(props).disabled,\n required: unref(props).required || void 0,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid)\n }, [\n renderSlot(_ctx.$slots, \"first\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptsWrapper.value, (option, index) => {\n return openBlock(), createElementBlock(Fragment, { key: index }, [\n unref(isComplex)(option) ? (openBlock(), createBlock(_sfc_main$1, {\n key: 0,\n label: option.label,\n options: option.options,\n \"value-field\": unref(props).valueField,\n \"text-field\": unref(props).textField,\n \"disabled-field\": unref(props).disabledField\n }, null, 8, [\"label\", \"options\", \"value-field\", \"text-field\", \"disabled-field\"])) : (openBlock(), createBlock(_sfc_main$2, {\n key: 1,\n value: option.value,\n disabled: option.disabled\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"option\", mergeProps({ ref_for: true }, option), () => [\n createTextVNode(toDisplayString(option.text), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"value\", \"disabled\"]))\n ], 64);\n }), 128)),\n renderSlot(_ctx.$slots, \"default\")\n ], 10, _hoisted_1)), [\n [vModelSelect, localValue.value]\n ]);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs.map\n","import { inject, onMounted, watch, defineComponent, mergeModels, useModel, useTemplateRef, computed, createElementBlock, openBlock, unref, normalizeClass, renderSlot, createCommentVNode, createElementVNode, mergeProps, normalizeProps, guardReactiveProps, toDisplayString } from \"vue\";\nimport { s as stopEvent, e as eventOnOff } from \"./event-a_bi5ysw.mjs\";\nimport { a as CODE_UP, c as CODE_DOWN, o as CODE_PAGEUP, p as CODE_PAGEDOWN, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { u as useFocus, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { r as rtlRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst useRtl = () => {\n const rtlPlugin = inject(rtlRegistryKey);\n onMounted(() => {\n watch(\n () => rtlPlugin?.locale.value,\n (newValue) => {\n const html = document.documentElement;\n html.setAttribute(\"lang\", newValue ?? \"\");\n },\n { immediate: true }\n );\n watch(\n () => rtlPlugin?.isRtl.value,\n (newValue) => {\n const html = document.documentElement;\n html.setAttribute(\"dir\", newValue ?? false ? \"rtl\" : \"ltr\");\n },\n { immediate: true }\n );\n });\n return { ...rtlPlugin };\n};\nconst _hoisted_1 = [\"lang\", \"tabindex\", \"title\"];\nconst _hoisted_2 = [\"name\", \"form\", \"value\"];\nconst _hoisted_3 = [\"id\", \"dir\", \"tabindex\", \"aria-label\", \"aria-invalid\", \"aria-required\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"aria-valuetext\"];\nconst defaultValues = {\n min: 1,\n max: 100,\n step: 1,\n repeatDelay: 500,\n repeatInterval: 100,\n repeatThreshold: 10,\n repeatMultiplier: 4\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormSpinbutton\",\n props: /* @__PURE__ */ mergeModels({\n ariaControls: { default: void 0 },\n ariaLabel: { default: void 0 },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatterFn: { type: Function, default: void 0 },\n id: { default: void 0 },\n inline: { type: Boolean, default: false },\n labelDecrement: { default: \"Decrement\" },\n labelIncrement: { default: \"Increment\" },\n locale: { default: void 0 },\n max: { default: defaultValues.max },\n min: { default: defaultValues.min },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n readonly: { type: Boolean, default: false },\n repeatDelay: { default: defaultValues.repeatDelay },\n repeatInterval: { default: defaultValues.repeatInterval },\n repeatStepMultiplier: { default: defaultValues.repeatMultiplier },\n repeatThreshold: { default: defaultValues.repeatThreshold },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: null },\n step: { default: defaultValues.step },\n vertical: { type: Boolean, default: false },\n wrap: { type: Boolean, default: false }\n }, {\n \"modelValue\": {\n default: null\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"change\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const KEY_CODES = [CODE_UP, CODE_DOWN, CODE_HOME, CODE_END, CODE_PAGEUP, CODE_PAGEDOWN];\n const _props = __props;\n const props = useDefaults(_props, \"BFormSpinbutton\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const element = useTemplateRef(\"_element\");\n const { focused } = useFocus(element);\n const computedId = useId(() => props.id, \"spinbutton\");\n const computedClasses = computed(() => ({\n \"disabled\": props.disabled,\n \"readonly\": props.readonly,\n \"focus\": focused.value,\n \"d-inline-flex\": props.inline || props.vertical,\n \"d-flex\": !props.inline && !props.vertical,\n \"align-items-stretch\": !props.vertical,\n \"flex-column\": props.vertical,\n [`form-control-${props.size}`]: props.size !== void 0\n }));\n const computedSpinClasses = computed(() => ({\n \"d-flex\": props.vertical,\n \"align-self-center\": !props.vertical,\n \"align-items-center\": props.vertical,\n \"border-top\": props.vertical,\n \"border-bottom\": props.vertical,\n \"border-start\": !props.vertical,\n \"border-end\": !props.vertical\n }));\n let $_autoDelayTimer;\n let $_autoRepeatTimer;\n let $_keyIsDown = false;\n const stepNumber = useToNumber(() => props.step);\n const computedStep = computed(\n () => Number.isNaN(stepNumber.value) ? defaultValues.step : stepNumber.value\n );\n const minNumber = useToNumber(() => props.min);\n const computedMin = computed(\n () => Number.isNaN(minNumber.value) ? defaultValues.min : minNumber.value\n );\n const maxNumber = useToNumber(() => props.max);\n const computedMax = computed(() => {\n const step = computedStep.value;\n const min = computedMin.value;\n return Math.floor((maxNumber.value - min) / step) * step + min;\n });\n const repeatDelayNumber = useToNumber(() => props.repeatDelay, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedDelay = computed(\n () => repeatDelayNumber.value > 0 ? repeatDelayNumber.value : defaultValues.repeatDelay\n );\n const repeatIntervalNumber = useToNumber(() => props.repeatInterval, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedInterval = computed(\n () => repeatIntervalNumber.value > 0 ? repeatIntervalNumber.value : defaultValues.repeatInterval\n );\n const repeatThresholdNumber = useToNumber(() => props.repeatThreshold, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedThreshold = computed(\n () => Math.max(\n Number.isNaN(repeatThresholdNumber.value) ? defaultValues.repeatThreshold : repeatThresholdNumber.value,\n 1\n )\n );\n const repeatStepMultiplierNumber = useToNumber(() => props.repeatStepMultiplier, {\n nanToZero: true,\n method: \"parseInt\"\n });\n const computedStepMultiplier = computed(\n () => Math.max(\n Number.isNaN(repeatStepMultiplierNumber.value) ? defaultValues.repeatMultiplier : repeatStepMultiplierNumber.value,\n 1\n )\n );\n const computedPrecision = computed(() => {\n const step = computedStep.value;\n return Math.floor(step) === step ? 0 : (step.toString().split(\".\")[1] || \"\").length;\n });\n const computedMultiplier = computed(() => Math.pow(10, computedPrecision.value || 0));\n const valueAsFixed = computed(\n () => modelValue.value === null ? \"\" : modelValue.value.toFixed(computedPrecision.value)\n );\n const { isRtl, locale: globalLocale } = useRtl();\n const computedLocale = computed(() => {\n const loc = (props.locale ?? globalLocale?.value) || \"locale\";\n const locales = [loc];\n const nf = new Intl.NumberFormat(locales);\n return nf.resolvedOptions().locale;\n });\n const defaultFormatter = () => new Intl.NumberFormat(computedLocale.value, {\n style: \"decimal\",\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: computedPrecision.value,\n maximumFractionDigits: computedPrecision.value,\n notation: \"standard\"\n }).format;\n const computedFormatter = computed(() => props.formatterFn ?? defaultFormatter());\n const stepValue = (direction) => {\n let { value } = modelValue;\n if (!props.disabled && value !== null) {\n const step = computedStep.value * direction;\n const min = computedMin.value;\n const max = computedMax.value;\n const multiplier = computedMultiplier.value;\n const { wrap } = props;\n value = Math.round((value - min) / step) * step + min + step;\n value = Math.round(value * multiplier) / multiplier;\n modelValue.value = value > max ? wrap ? min : max : value < min ? wrap ? max : min : value;\n }\n };\n const stepUp = (multiplier = 1) => {\n if (modelValue.value === null) {\n modelValue.value = computedMin.value;\n return;\n }\n stepValue(1 * multiplier);\n };\n const stepDown = (multiplier = 1) => {\n if (modelValue.value === null) {\n modelValue.value = props.wrap ? computedMax.value : computedMin.value;\n return;\n }\n stepValue(-1 * multiplier);\n };\n onKeyStroke(\n KEY_CODES,\n (event) => {\n const { code, altKey, ctrlKey, metaKey } = event;\n if (props.disabled || props.readonly || altKey || ctrlKey || metaKey) return;\n stopEvent(event, { immediatePropagation: true });\n if ($_keyIsDown) {\n return;\n }\n resetTimers();\n if ([CODE_UP, CODE_DOWN].includes(code)) {\n $_keyIsDown = true;\n if (code === CODE_UP) {\n handleStepRepeat(event, stepUp);\n return;\n }\n if (code === CODE_DOWN) {\n handleStepRepeat(event, stepDown);\n }\n return;\n }\n if (code === CODE_PAGEUP) {\n stepUp(computedStepMultiplier.value);\n return;\n }\n if (code === CODE_PAGEDOWN) {\n stepDown(computedStepMultiplier.value);\n return;\n }\n if (code === CODE_HOME) {\n modelValue.value = computedMin.value;\n return;\n }\n if (code === CODE_END) {\n modelValue.value = computedMax.value;\n }\n },\n { target: element, eventName: \"keydown\" }\n );\n onKeyStroke(\n KEY_CODES,\n (event) => {\n const { altKey, ctrlKey, metaKey } = event;\n if (props.disabled || props.readonly || altKey || ctrlKey || metaKey) return;\n stopEvent(event, { immediatePropagation: true });\n resetTimers();\n $_keyIsDown = false;\n emit(\"change\", modelValue.value);\n },\n { target: element, eventName: \"keyup\" }\n );\n const handleStepRepeat = (event, stepper) => {\n const { type } = event || {};\n if (!props.disabled && !props.readonly) {\n if (isMouseEvent(event)) {\n if (type === \"mousedown\" && event.button) return;\n }\n resetTimers();\n stepper(1);\n const threshold = computedThreshold.value;\n const multiplier = computedStepMultiplier.value;\n const delay = computedDelay.value;\n const interval = computedInterval.value;\n $_autoDelayTimer = setTimeout(() => {\n let count = 0;\n $_autoRepeatTimer = setInterval(() => {\n stepper(count < threshold ? 1 : multiplier);\n count++;\n }, interval);\n }, delay);\n }\n };\n const isMouseEvent = (evt) => evt.type === \"mouseup\" || evt.type === \"mousedown\";\n const onMouseup = (event) => {\n if (isMouseEvent(event)) {\n if (event.type === \"mouseup\" && event.button) {\n return;\n }\n }\n stopEvent(event, { immediatePropagation: true });\n resetTimers();\n setMouseup(false);\n emit(\"change\", modelValue.value);\n };\n const setMouseup = (on) => {\n try {\n eventOnOff(on, [document.body, \"mouseup\", onMouseup, false]);\n eventOnOff(on, [document.body, \"touchend\", onMouseup, false]);\n } catch {\n }\n };\n const resetTimers = () => {\n clearTimeout($_autoDelayTimer);\n clearInterval($_autoRepeatTimer);\n $_autoDelayTimer = void 0;\n $_autoRepeatTimer = void 0;\n };\n const buttons = computed(() => {\n const incrementSvgAttrs = {\n svg: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"16\",\n height: \"16\",\n fill: \"currentColor\",\n class: \"bi bi-plus\",\n viewBox: \"0 0 16 16\"\n },\n path: {\n d: \"M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z\"\n }\n };\n const decrementSvgAttrs = {\n svg: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"16\",\n height: \"16\",\n fill: \"currentColor\",\n class: \"bi bi-dash\",\n viewBox: \"0 0 16 16\"\n },\n path: { d: \"M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z\" }\n };\n const sharedButtonAttrs = {\n \"class\": [{ \"py-0\": !props.vertical }, \"btn\", \"btn-sm\", \"border-0\", \"rounded-0\"],\n \"tabindex\": \"-1\",\n \"type\": \"button\",\n \"disabled\": props.disabled || props.readonly,\n \"aria-disabled\": props.disabled || props.readonly ? true : void 0,\n \"aria-controls\": computedId.value\n };\n const sharedSvgAttrs = {\n \"aria-hidden\": true,\n \"scale\": focused.value ? 1.5 : 1.25\n };\n const handler = (event, stepper) => {\n if (!props.disabled && !props.readonly) {\n stopEvent(event, { immediatePropagation: true });\n setMouseup(true);\n focused.value = true;\n handleStepRepeat(event, stepper);\n }\n };\n const incrementAttrs = {\n button: {\n ...sharedButtonAttrs,\n \"aria-label\": props.labelIncrement || void 0,\n \"aria-keyshortcuts\": \"ArrowUp\"\n },\n svg: {\n ...sharedSvgAttrs,\n ...incrementSvgAttrs.svg\n },\n path: {\n ...incrementSvgAttrs.path\n },\n slot: {\n name: \"increment\"\n },\n handler: (e) => handler(e, stepUp)\n };\n const decrementAttrs = {\n button: {\n ...sharedButtonAttrs,\n \"aria-label\": props.labelDecrement || void 0,\n \"aria-keyshortcuts\": \"ArrowDown\"\n },\n svg: {\n ...sharedSvgAttrs,\n ...decrementSvgAttrs.svg\n },\n path: {\n ...decrementSvgAttrs.path\n },\n slot: {\n name: \"decrement\"\n },\n handler: (e) => handler(e, stepDown)\n };\n return {\n top: {\n ...props.vertical ? incrementAttrs : decrementAttrs\n },\n bottom: {\n ...!props.vertical ? incrementAttrs : decrementAttrs\n }\n };\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref: \"_element\",\n class: normalizeClass([\"b-form-spinbutton form-control\", computedClasses.value]),\n role: \"group\",\n lang: computedLocale.value,\n tabindex: unref(props).disabled ? void 0 : \"-1\",\n title: unref(props).ariaLabel,\n onClick: _cache[4] || (_cache[4] = ($event) => focused.value = true)\n }, [\n renderSlot(_ctx.$slots, buttons.value.top.slot.name, { hasFocus: unref(focused) }, () => [\n createElementVNode(\"button\", mergeProps(buttons.value.top.button, {\n onMousedown: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => buttons.value.top.handler && buttons.value.top.handler(...args)),\n onTouchstart: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => buttons.value.top.handler && buttons.value.top.handler(...args))\n }), [\n (openBlock(), createElementBlock(\"svg\", normalizeProps(guardReactiveProps(buttons.value.top.svg)), [\n createElementVNode(\"path\", normalizeProps(guardReactiveProps(buttons.value.top.path)), null, 16)\n ], 16))\n ], 16)\n ]),\n unref(props).name && !unref(props).disabled ? (openBlock(), createElementBlock(\"input\", {\n key: \"hidden\",\n type: \"hidden\",\n name: unref(props).name,\n form: unref(props).form,\n value: valueAsFixed.value\n }, null, 8, _hoisted_2)) : createCommentVNode(\"\", true),\n createElementVNode(\"output\", {\n id: unref(computedId),\n key: \"output\",\n class: normalizeClass([\"flex-grow-1\", computedSpinClasses.value]),\n dir: unref(isRtl) ?? false ? \"rtl\" : \"ltr\",\n tabindex: unref(props).disabled ? void 0 : \"0\",\n role: \"spinbutton\",\n \"aria-live\": \"off\",\n \"aria-label\": unref(props).ariaLabel || void 0,\n \"aria-invalid\": unref(props).state === false || !modelValue.value !== null && unref(props).required ? true : void 0,\n \"aria-required\": unref(props).required ? true : void 0,\n \"aria-valuemin\": computedMin.value,\n \"aria-valuemax\": computedMax.value,\n \"aria-valuenow\": modelValue.value !== null ? modelValue.value : void 0,\n \"aria-valuetext\": modelValue.value !== null ? computedFormatter.value(modelValue.value) : void 0\n }, [\n createElementVNode(\"bdi\", null, toDisplayString((modelValue.value !== null ? computedFormatter.value(modelValue.value) : unref(props).placeholder) || \"\"), 1)\n ], 10, _hoisted_3),\n renderSlot(_ctx.$slots, buttons.value.bottom.slot.name, { hasFocus: unref(focused) }, () => [\n createElementVNode(\"button\", mergeProps(buttons.value.bottom.button, {\n onMousedown: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => buttons.value.bottom.handler && buttons.value.bottom.handler(...args)),\n onTouchstart: _cache[3] || (_cache[3] = //@ts-ignore\n (...args) => buttons.value.bottom.handler && buttons.value.bottom.handler(...args))\n }), [\n (openBlock(), createElementBlock(\"svg\", normalizeProps(guardReactiveProps(buttons.value.bottom.svg)), [\n createElementVNode(\"path\", normalizeProps(guardReactiveProps(buttons.value.bottom.path)), null, 16)\n ], 16))\n ], 16)\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs.map\n","import { defineComponent, useSlots, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, mergeModels, useModel, useTemplateRef, ref, createElementBlock, Fragment, renderList, mergeProps } from \"vue\";\nimport { u as useFocus, o as onKeyStroke } from \"./index-C0p9vHHI.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { e as escapeRegExpChars } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useStateClass } from \"./useStateClass-BGbSLWFN.mjs\";\nimport { s as syncRef, u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1$1 = [\"id\"];\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BFormTag\",\n props: {\n disabled: { type: Boolean, default: false },\n id: { default: void 0 },\n noRemove: { type: Boolean, default: false },\n pill: { type: Boolean, default: false },\n removeLabel: { default: \"Remove tag\" },\n tag: { default: \"span\" },\n title: { default: void 0 },\n variant: { default: \"secondary\" }\n },\n emits: [\"remove\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTag\");\n const emit = __emit;\n const slots = useSlots();\n const computedId = useId(() => props.id);\n const tagText = computed(\n () => ((slots.default?.({})[0].children ?? \"\").toString() || props.title) ?? \"\"\n );\n const taglabelId = computed(() => `${computedId.value}taglabel__`);\n const colorClasses = useColorVariantClasses(props);\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"rounded-pill\": props.pill,\n \"disabled\": props.disabled\n }\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(computedId),\n title: tagText.value,\n class: normalizeClass([\"badge b-form-tag d-inline-flex align-items-center mw-100\", computedClasses.value]),\n \"aria-labelledby\": taglabelId.value\n }, {\n default: withCtx(() => [\n createElementVNode(\"span\", {\n id: taglabelId.value,\n class: \"b-form-tag-content flex-grow-1 text-truncate\"\n }, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(tagText.value), 1)\n ])\n ], 8, _hoisted_1$1),\n !unref(props).disabled && !unref(props).noRemove ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n \"aria-keyshortcuts\": \"Delete\",\n \"aria-label\": unref(props).removeLabel,\n class: \"b-form-tag-remove\",\n \"aria-describedby\": taglabelId.value,\n \"aria-controls\": unref(props).id,\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"remove\", tagText.value))\n }, null, 8, [\"aria-label\", \"aria-describedby\", \"aria-controls\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"id\", \"title\", \"class\", \"aria-labelledby\"]);\n };\n }\n});\nconst _hoisted_1 = [\"id\"];\nconst _hoisted_2 = [\"id\", \"for\", \"aria-live\"];\nconst _hoisted_3 = [\"id\", \"aria-live\"];\nconst _hoisted_4 = [\"id\"];\nconst _hoisted_5 = [\"aria-controls\"];\nconst _hoisted_6 = {\n role: \"group\",\n class: \"d-flex\"\n};\nconst _hoisted_7 = [\"id\", \"disabled\", \"value\", \"type\", \"placeholder\", \"form\", \"required\", \"aria-required\"];\nconst _hoisted_8 = [\"disabled\"];\nconst _hoisted_9 = [\"aria-live\"];\nconst _hoisted_10 = {\n key: 0,\n class: \"d-block invalid-feedback\"\n};\nconst _hoisted_11 = {\n key: 1,\n class: \"form-text text-body-secondary\"\n};\nconst _hoisted_12 = {\n key: 2,\n class: \"form-text text-body-secondary\"\n};\nconst _hoisted_13 = [\"name\", \"value\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormTags\",\n props: /* @__PURE__ */ mergeModels({\n addButtonText: { default: \"Add\" },\n addButtonVariant: { default: \"outline-secondary\" },\n addOnChange: { type: Boolean, default: false },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n duplicateTagText: { default: \"Duplicate tag(s)\" },\n feedbackAriaLive: { default: \"assertive\" },\n form: { default: void 0 },\n inputAttrs: { default: void 0 },\n inputClass: { default: void 0 },\n inputId: { default: void 0 },\n inputType: { default: \"text\" },\n invalidTagText: { default: \"Invalid tag(s)\" },\n limit: { default: void 0 },\n limitTagsText: { default: \"Tag limit reached\" },\n name: { default: void 0 },\n noAddOnEnter: { type: Boolean, default: false },\n noOuterFocus: { type: Boolean, default: false },\n noTagRemove: { type: Boolean, default: false },\n placeholder: { default: \"Add tag...\" },\n removeOnDelete: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n separator: { default: void 0 },\n size: { default: \"md\" },\n state: { type: [Boolean, null], default: null },\n tagClass: { default: void 0 },\n tagPills: { type: Boolean, default: false },\n tagRemoveLabel: { default: void 0 },\n tagRemovedLabel: { default: \"Tag removed\" },\n tagValidator: { type: Function, default: () => true },\n tagVariant: { default: \"secondary\" }\n }, {\n \"modelValue\": {\n default: () => []\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"blur\", \"focus\", \"focusin\", \"focusout\", \"tag-state\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTags\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId();\n const limitNumber = useToNumber(() => props.limit ?? Number.NaN);\n const stateClass = useStateClass(() => props.state);\n const input = useTemplateRef(\"_input\");\n const { focused } = useFocus(input, {\n initialValue: props.autofocus\n });\n const _inputId = computed(() => props.inputId || `${computedId.value}input__`);\n const tags = ref([...modelValue.value]);\n const inputValue = ref(\"\");\n const shouldRemoveOnDelete = ref(modelValue.value.length > 0);\n const lastRemovedTag = ref(\"\");\n const validTags = ref([]);\n const invalidTags = ref([]);\n const duplicateTags = ref([]);\n syncRef(modelValue, tags, {\n direction: \"ltr\",\n transform: {\n ltr: (v) => [...v]\n }\n });\n const computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== \"md\",\n disabled: props.disabled,\n focus: focused.value\n }\n ]);\n const isDuplicate = computed(() => tags.value.includes(inputValue.value));\n const isInvalid = computed(\n () => inputValue.value === \"\" ? false : !props.tagValidator(inputValue.value)\n );\n const isLimitReached = computed(() => tags.value.length === limitNumber.value);\n const disableAddButton = computed(() => !isInvalid.value && !isDuplicate.value);\n const onFocusin = (e) => {\n if (props.disabled) {\n const target = e.target;\n target.blur();\n return;\n }\n emit(\"focusin\", e);\n };\n const onFocus = (e) => {\n if (props.disabled || props.noOuterFocus) {\n return;\n }\n focused.value = true;\n emit(\"focus\", e);\n };\n const onBlur = (e) => {\n focused.value = false;\n emit(\"blur\", e);\n };\n const onInput = (e) => {\n const value = typeof e === \"string\" ? e : e.target.value;\n shouldRemoveOnDelete.value = false;\n if (props.separator?.includes(value.charAt(0)) && value.length > 0) {\n if (input.value) {\n input.value.value = \"\";\n }\n return;\n }\n inputValue.value = value;\n if (props.separator?.includes(value.charAt(value.length - 1))) {\n addTag(value.slice(0, value.length - 1));\n return;\n }\n validTags.value = props.tagValidator(value) && !isDuplicate.value ? [value] : [];\n invalidTags.value = props.tagValidator(value) ? [] : [value];\n duplicateTags.value = isDuplicate.value ? [value] : [];\n emit(\"tag-state\", validTags.value, invalidTags.value, duplicateTags.value);\n };\n const onChange = (e) => {\n if (props.addOnChange) {\n onInput(e);\n if (!isDuplicate.value) {\n addTag(inputValue.value);\n }\n }\n };\n const onKeydown = (e) => {\n if ((e.key === \"Enter\" || e.code === \"NumpadEnter\") && !props.noAddOnEnter) {\n addTag(inputValue.value);\n return;\n }\n if ((e.key === \"Backspace\" || e.key === \"Delete\") && props.removeOnDelete && inputValue.value === \"\" && shouldRemoveOnDelete.value && tags.value.length > 0) {\n removeTag(tags.value[tags.value.length - 1]);\n } else {\n shouldRemoveOnDelete.value = true;\n }\n };\n onKeyStroke(onKeydown, { target: input });\n const separator = computed(() => {\n if (!props.separator) {\n return;\n }\n return typeof props.separator === \"string\" ? props.separator : props.separator.join(\"\");\n });\n const separatorRegExp = computed(() => {\n if (!separator.value) {\n return;\n }\n return new RegExp(`[${escapeRegExpChars(separator.value)}]+`);\n });\n const addTag = (tag) => {\n tag = (tag ?? inputValue.value).trim();\n const newTags = separatorRegExp.value ? tag.split(separatorRegExp.value).map((t) => t.trim()) : [tag];\n const validTags2 = [];\n for (const newTag of newTags) {\n if (newTag === \"\" || isDuplicate.value || !props.tagValidator(newTag)) {\n continue;\n }\n if (limitNumber.value && isLimitReached.value) {\n break;\n }\n validTags2.push(newTag);\n }\n const newValue = [...modelValue.value, ...validTags2];\n inputValue.value = \"\";\n shouldRemoveOnDelete.value = true;\n modelValue.value = newValue;\n focused.value = true;\n };\n const removeTag = (tag) => {\n const tagIndex = tags.value.indexOf(tag?.toString() ?? \"\");\n if (tagIndex === -1) return;\n lastRemovedTag.value = tags.value.splice(tagIndex, 1).toString();\n modelValue.value = tags.value;\n };\n __expose({\n blur: () => {\n focused.value = false;\n },\n element: input,\n focus: () => {\n focused.value = true;\n },\n inputValue\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n id: unref(computedId),\n class: normalizeClass([\"b-form-tags form-control h-auto\", computedClasses.value]),\n role: \"group\",\n tabindex: \"-1\",\n onFocusin,\n onFocusout: _cache[1] || (_cache[1] = ($event) => emit(\"focusout\", $event))\n }, [\n createElementVNode(\"output\", {\n id: `${unref(computedId)}selected_tags__`,\n class: \"visually-hidden\",\n for: _inputId.value,\n \"aria-live\": unref(focused) ? \"polite\" : \"off\",\n \"aria-atomic\": \"true\",\n \"aria-relevant\": \"additions text\"\n }, toDisplayString(tags.value.join(\", \")), 9, _hoisted_2),\n createElementVNode(\"div\", {\n id: `${unref(computedId)}removed_tags__`,\n role: \"status\",\n \"aria-live\": unref(focused) ? \"assertive\" : \"off\",\n \"aria-atomic\": \"true\",\n class: \"visually-hidden\"\n }, \" (\" + toDisplayString(unref(props).tagRemovedLabel) + \") \" + toDisplayString(lastRemovedTag.value), 9, _hoisted_3),\n renderSlot(_ctx.$slots, \"default\", {\n addButtonText: unref(props).addButtonText,\n addButtonVariant: unref(props).addButtonVariant,\n addTag,\n disableAddButton: disableAddButton.value,\n disabled: unref(props).disabled,\n duplicateTagText: unref(props).duplicateTagText,\n duplicateTags: duplicateTags.value,\n form: unref(props).form,\n inputAttrs: {\n ...unref(props).inputAttrs,\n disabled: unref(props).disabled,\n form: unref(props).form,\n id: _inputId.value,\n value: inputValue.value\n },\n inputClass: unref(props).inputClass,\n inputHandlers: {\n input: onInput,\n keydown: onKeydown,\n change: onChange\n },\n inputId: _inputId.value,\n inputType: unref(props).inputType,\n invalidTagText: unref(props).invalidTagText,\n invalidTags: invalidTags.value,\n isDuplicate: isDuplicate.value,\n isInvalid: isInvalid.value,\n isLimitReached: isLimitReached.value,\n limitTagsText: unref(props).limitTagsText,\n limit: unref(limitNumber),\n noTagRemove: unref(props).noTagRemove,\n placeholder: unref(props).placeholder,\n removeTag,\n required: unref(props).required,\n separator: unref(props).separator,\n size: unref(props).size,\n state: unref(props).state,\n tagClass: unref(props).tagClass,\n tagPills: unref(props).tagPills,\n tagRemoveLabel: unref(props).tagRemoveLabel,\n tagVariant: unref(props).tagVariant,\n tags: tags.value\n }, () => [\n createElementVNode(\"ul\", {\n id: `${unref(computedId)}tag_list__`,\n class: \"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag, index) => {\n return renderSlot(_ctx.$slots, \"tag\", {\n key: index,\n tag,\n tagClass: unref(props).tagClass,\n tagVariant: unref(props).tagVariant,\n tagPills: unref(props).tagPills,\n removeTag\n }, () => [\n (openBlock(), createBlock(_sfc_main$1, {\n key: tag,\n class: normalizeClass(unref(props).tagClass),\n tag: \"li\",\n variant: unref(props).tagVariant,\n pill: unref(props).tagPills,\n onRemove: removeTag\n }, {\n default: withCtx(() => [\n createTextVNode(toDisplayString(tag), 1)\n ]),\n _: 2\n }, 1032, [\"class\", \"variant\", \"pill\"]))\n ]);\n }), 128)),\n createElementVNode(\"li\", {\n role: \"none\",\n \"aria-live\": \"off\",\n class: \"b-from-tags-field flex-grow-1\",\n \"aria-controls\": `${unref(computedId)}tag_list__`\n }, [\n createElementVNode(\"div\", _hoisted_6, [\n createElementVNode(\"input\", mergeProps({\n id: _inputId.value,\n ref: \"_input\",\n disabled: unref(props).disabled,\n value: inputValue.value,\n type: unref(props).inputType,\n placeholder: unref(props).placeholder,\n class: \"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0\",\n style: { \"outline\": \"currentcolor none 0px\", \"min-width\": \"5rem\" }\n }, unref(props).inputAttrs, {\n form: unref(props).form,\n required: unref(props).required || void 0,\n \"aria-required\": unref(props).required || void 0,\n onInput,\n onChange,\n onFocus,\n onBlur\n }), null, 16, _hoisted_7),\n disableAddButton.value ? (openBlock(), createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: normalizeClass([\"btn b-form-tags-button py-0\", [\n _ctx.inputClass,\n {\n [`btn-${unref(props).addButtonVariant}`]: unref(props).addButtonVariant !== null,\n \"disabled invisible\": inputValue.value.length === 0\n }\n ]]),\n style: { \"font-size\": \"90%\" },\n disabled: unref(props).disabled || inputValue.value.length === 0 || isLimitReached.value,\n onClick: _cache[0] || (_cache[0] = ($event) => addTag(inputValue.value))\n }, [\n renderSlot(_ctx.$slots, \"add-button-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).addButtonText), 1)\n ])\n ], 10, _hoisted_8)) : createCommentVNode(\"\", true)\n ])\n ], 8, _hoisted_5)\n ], 8, _hoisted_4),\n createElementVNode(\"div\", {\n \"aria-live\": unref(props).feedbackAriaLive,\n \"aria-atomic\": \"true\"\n }, [\n isInvalid.value ? (openBlock(), createElementBlock(\"div\", _hoisted_10, toDisplayString(unref(props).invalidTagText) + \": \" + toDisplayString(inputValue.value), 1)) : createCommentVNode(\"\", true),\n isDuplicate.value ? (openBlock(), createElementBlock(\"small\", _hoisted_11, toDisplayString(unref(props).duplicateTagText) + \": \" + toDisplayString(inputValue.value), 1)) : createCommentVNode(\"\", true),\n tags.value.length === unref(props).limit ? (openBlock(), createElementBlock(\"small\", _hoisted_12, toDisplayString(unref(props).limitTagsText), 1)) : createCommentVNode(\"\", true)\n ], 8, _hoisted_9)\n ]),\n unref(props).name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tags.value, (tag, index) => {\n return openBlock(), createElementBlock(\"input\", {\n key: index,\n type: \"hidden\",\n name: unref(props).name,\n value: tag\n }, null, 8, _hoisted_13);\n }), 128)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a\n};\n//# sourceMappingURL=BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs.map\n","import { ref, computed, toValue, onMounted, nextTick, defineComponent, mergeModels, useModel, useTemplateRef, createElementBlock, openBlock, unref, normalizeStyle, normalizeClass } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { n as normalizeInput, u as useFormInput } from \"./useFormInput-BmMsEwZS.mjs\";\nimport { a as isVisible } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst useTextareaResize = (input, {\n maxRows,\n noAutoShrink,\n rows\n}) => {\n const height = ref(0);\n const maxRowsNumber = useToNumber(\n computed(() => toValue(maxRows) || Number.NaN),\n {\n method: \"parseInt\",\n nanToZero: true\n }\n );\n const rowsNumber = useToNumber(rows, {\n method: \"parseInt\",\n nanToZero: true\n });\n const computedMinRows = computed(() => Math.max(rowsNumber.value || 2, 2));\n const computedMaxRows = computed(() => Math.max(computedMinRows.value, maxRowsNumber.value || 0));\n const computedRows = computed(\n () => computedMinRows.value === computedMaxRows.value ? computedMinRows.value : null\n );\n const handleHeightChange = async () => {\n if (!input.value || !isVisible(input.value)) {\n height.value = null;\n return;\n }\n const computedStyle = getComputedStyle(input.value);\n const lineHeight = Number.parseFloat(computedStyle.lineHeight) || 1;\n const border = (Number.parseFloat(computedStyle.borderTopWidth) || 0) + (Number.parseFloat(computedStyle.borderBottomWidth) || 0);\n const padding = (Number.parseFloat(computedStyle.paddingTop) || 0) + (Number.parseFloat(computedStyle.paddingBottom) || 0);\n const offset = border + padding;\n const minHeight = lineHeight * computedMinRows.value + offset;\n const oldHeight = input.value.style.height || computedStyle.height;\n height.value = \"auto\";\n await nextTick();\n const { scrollHeight } = input.value;\n height.value = oldHeight;\n await nextTick();\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2);\n const rows2 = Math.min(Math.max(contentRows, computedMinRows.value), computedMaxRows.value);\n const newHeight = Math.max(Math.ceil(rows2 * lineHeight + offset), minHeight);\n if (toValue(noAutoShrink) && (Number.parseFloat(oldHeight.toString()) || 0) > newHeight) {\n height.value = oldHeight;\n return;\n }\n height.value = `${newHeight}px`;\n };\n onMounted(handleHeightChange);\n const computedStyles = computed(() => ({\n resize: \"none\",\n height: typeof height.value === \"string\" ? height.value : height.value ? `${height.value}px` : void 0\n }));\n return {\n onInput: handleHeightChange,\n computedStyles,\n computedRows\n };\n};\nconst _hoisted_1 = [\"id\", \"name\", \"form\", \"value\", \"disabled\", \"placeholder\", \"required\", \"autocomplete\", \"readonly\", \"aria-required\", \"aria-invalid\", \"rows\", \"wrap\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BFormTextarea\",\n props: /* @__PURE__ */ mergeModels({\n noResize: { type: Boolean, default: false },\n rows: { default: 2 },\n wrap: { default: \"soft\" },\n noAutoShrink: { type: Boolean, default: false },\n maxRows: { default: void 0 },\n ariaInvalid: { type: [Boolean, String], default: void 0 },\n autocomplete: { default: void 0 },\n autofocus: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n form: { default: void 0 },\n formatter: { type: Function, default: void 0 },\n id: { default: void 0 },\n lazyFormatter: { type: Boolean, default: false },\n list: { default: void 0 },\n name: { default: void 0 },\n placeholder: { default: void 0 },\n plaintext: { type: Boolean, default: false },\n readonly: { type: Boolean, default: false },\n required: { type: Boolean, default: false },\n size: { default: void 0 },\n state: { type: [Boolean, null], default: void 0 },\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"modelValue\": {\n default: \"\"\n },\n \"modelModifiers\": {}\n }),\n emits: [\"update:modelValue\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BFormTextarea\");\n const [modelValue, modelModifiers] = useModel(__props, \"modelValue\", {\n set: (v) => normalizeInput(v, modelModifiers)\n });\n const input = useTemplateRef(\"_input\");\n const {\n computedId,\n forceUpdateKey,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur\n } = useFormInput(props, input, modelValue, modelModifiers);\n const computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? \"form-control-plaintext\" : \"form-control\",\n {\n [`form-control-${props.size}`]: !!props.size\n }\n ]);\n const {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows\n } = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink\n });\n const computedStyles = computed(() => ({\n resize: props.noResize ? \"none\" : void 0,\n ...props.maxRows || props.noAutoShrink ? resizeStyles.value : void 0\n }));\n __expose({\n blur,\n element: input,\n focus\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"textarea\", {\n id: unref(computedId),\n ref: \"_input\",\n key: unref(forceUpdateKey),\n class: normalizeClass(computedClasses.value),\n name: unref(props).name || void 0,\n form: unref(props).form || void 0,\n value: unref(modelValue) ?? void 0,\n disabled: unref(props).disabled,\n placeholder: unref(props).placeholder,\n required: unref(props).required || void 0,\n autocomplete: unref(props).autocomplete || void 0,\n readonly: unref(props).readonly || unref(props).plaintext,\n \"aria-required\": unref(props).required || void 0,\n \"aria-invalid\": unref(computedAriaInvalid),\n rows: unref(computedRows) || 2,\n style: normalizeStyle(computedStyles.value),\n wrap: unref(props).wrap || void 0,\n onInput: _cache[0] || (_cache[0] = (e) => {\n unref(onInput)(e);\n unref(handleHeightChange)();\n }),\n onChange: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => unref(onChange) && unref(onChange)(...args)),\n onBlur: _cache[2] || (_cache[2] = //@ts-ignore\n (...args) => unref(onBlur) && unref(onBlur)(...args))\n }, null, 46, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs.map\n","import { defineComponent, provide, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, createElementBlock, createCommentVNode, createElementVNode, toDisplayString, createTextVNode } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { i as inputGroupKey } from \"./keys-BLeKMItg.mjs\";\nconst _hoisted_1 = {\n key: 0,\n class: \"input-group-text\"\n};\nconst _hoisted_2 = {\n key: 0,\n class: \"input-group-text\"\n};\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BInputGroup\",\n props: {\n append: { default: void 0 },\n id: { default: void 0 },\n prepend: { default: void 0 },\n size: { default: \"md\" },\n tag: { default: \"div\" }\n },\n setup(__props) {\n provide(inputGroupKey, true);\n const _props = __props;\n const props = useDefaults(_props, \"BInputGroup\");\n const computedClasses = computed(() => ({\n [`input-group-${props.size}`]: props.size !== \"md\"\n }));\n const hasAppend = computed(() => !!props.append);\n const hasPrepend = computed(() => !!props.prepend);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass([\"input-group\", computedClasses.value]),\n role: \"group\"\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"prepend\", {}, () => [\n hasPrepend.value ? (openBlock(), createElementBlock(\"span\", _hoisted_1, [\n createElementVNode(\"span\", null, toDisplayString(unref(props).prepend), 1)\n ])) : createCommentVNode(\"\", true)\n ]),\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"append\", {}, () => [\n hasAppend.value ? (openBlock(), createElementBlock(\"span\", _hoisted_2, [\n createElementVNode(\"span\", null, toDisplayString(unref(props).append), 1)\n ])) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BInputGroupText\",\n props: {\n tag: { default: \"div\" },\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BInputGroupText\");\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), { class: \"input-group-text\" }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]),\n _: 3\n });\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs.map\n","import { defineComponent, computed, provide, toRef, createBlock, openBlock, resolveDynamicComponent, normalizeClass, withCtx, renderSlot, useAttrs, inject, mergeProps, unref } from \"vue\";\nimport { p as listGroupInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$2 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BListGroup\",\n props: {\n flush: { type: Boolean, default: false },\n horizontal: { type: [Boolean, String], default: false },\n numbered: { type: Boolean, default: false },\n tag: { default: \"div\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroup\");\n const computedClasses = computed(() => {\n const horizontal = props.flush ? false : props.horizontal;\n return {\n \"list-group-flush\": props.flush,\n \"list-group-horizontal\": horizontal === true,\n [`list-group-horizontal-${horizontal}`]: typeof horizontal === \"string\",\n \"list-group-numbered\": props.numbered\n };\n });\n const computedTag = computed(() => props.numbered === true ? \"ol\" : props.tag);\n provide(listGroupInjectionKey, {\n numbered: toRef(() => props.numbered)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), {\n class: normalizeClass([\"list-group\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BListGroupItem\",\n props: {\n action: { type: Boolean, default: false },\n button: { type: Boolean, default: false },\n tag: { default: \"div\" },\n active: { type: Boolean, default: false },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BListGroupItem\");\n const attrs = useAttrs();\n const parentData = inject(listGroupInjectionKey, null);\n const { computedLink } = useBLinkHelper(props);\n const isLink = computed(() => !props.button && computedLink.value);\n const tagComputed = computed(\n () => parentData?.numbered.value ? \"li\" : props.button ? \"button\" : !isLink.value ? props.tag : _sfc_main$2\n );\n const isAction = computed(\n () => props.action || isLink.value || props.button || [\"a\", \"router-link\", \"button\", \"b-link\"].includes(props.tag)\n );\n const computedClasses = computed(() => ({\n [`list-group-item-${props.variant}`]: props.variant !== null && props.variant !== void 0,\n \"list-group-item-action\": isAction.value,\n \"active\": props.active,\n \"disabled\": props.disabled\n }));\n const computedAttrs = computed(() => {\n const localAttrs = {};\n if (props.button) {\n if (!attrs || !attrs.type) {\n localAttrs.type = \"button\";\n }\n if (props.disabled) {\n localAttrs.disabled = true;\n }\n }\n return localAttrs;\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(tagComputed.value), mergeProps({\n class: [\"list-group-item\", computedClasses.value],\n \"aria-current\": unref(props).active ? true : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0,\n target: isLink.value ? unref(props).target : void 0,\n href: !unref(props).button ? unref(props).href : void 0,\n to: !unref(props).button ? unref(props).to : void 0\n }, computedAttrs.value), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"aria-current\", \"aria-disabled\", \"target\", \"href\", \"to\"]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs.map\n","import { defineComponent, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useModal } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BModalOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BModalOrchestrator\");\n const tools = useModal();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BModalOrchestrator is deprecated, use BOrchestrator instead\");\n }\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, renderSlot, useAttrs, createElementBlock, mergeProps, createVNode, withModifiers, mergeModels, useModel, useTemplateRef, createTextVNode, toDisplayString } from \"vue\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$5 } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _sfc_main$6 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { p as pick } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$7 } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BNav\",\n props: {\n align: { default: void 0 },\n cardHeader: { type: Boolean, default: false },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n pills: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tabs: { type: Boolean, default: false },\n tag: { default: \"ul\" },\n underline: { type: Boolean, default: false },\n vertical: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-tabs\": props.tabs,\n \"nav-pills\": props.pills && !props.tabs,\n \"card-header-tabs\": !props.vertical && props.cardHeader && props.tabs,\n \"card-header-pills\": !props.vertical && props.cardHeader && props.pills && !props.tabs,\n \"flex-column\": props.vertical,\n \"nav-fill\": !props.vertical && props.fill,\n \"nav-justified\": !props.vertical && props.justified,\n [alignment.value]: !props.vertical && props.align !== void 0,\n \"small\": props.small,\n \"nav-underline\": props.underline\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"nav\", computedClasses.value])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BNavForm\",\n props: {\n role: { default: void 0 },\n wrapperAttrs: { default: void 0 },\n formClass: { default: void 0 },\n floating: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n novalidate: { type: Boolean, default: void 0 },\n validated: { type: Boolean, default: void 0 }\n },\n emits: [\"submit\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavForm\");\n const emit = __emit;\n const attrs = useAttrs();\n const processedAttrs = computed(() => {\n const { class: wrapperClass, ...formAttrs } = attrs;\n return { wrapperClass, formAttrs };\n });\n const submitted = (e) => {\n emit(\"submit\", e);\n };\n const liClasses = computed(() => [\n \"d-flex\",\n \"flex-row\",\n \"align-items-center\",\n \"flex-wrap\",\n processedAttrs.value.wrapperClass\n ]);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({ class: liClasses.value }, _ctx.wrapperAttrs), [\n createVNode(_sfc_main$5, mergeProps(processedAttrs.value.formAttrs, {\n id: unref(props).id,\n floating: unref(props).floating,\n role: unref(props).role,\n novalidate: unref(props).novalidate,\n validated: unref(props).validated,\n class: [\"d-flex\", unref(props).formClass],\n onSubmit: withModifiers(submitted, [\"prevent\"])\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"id\", \"floating\", \"role\", \"novalidate\", \"validated\", \"class\"])\n ], 16);\n };\n }\n});\nconst _hoisted_1$2 = { class: \"nav-item\" };\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItem\",\n props: {\n linkAttrs: { default: void 0 },\n linkClass: { default: void 0 },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: \"router-link-exact-active active\" },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItem\");\n const emit = __emit;\n const computedLinkProps = computed(\n () => pick(props, [\n \"active\",\n \"activeClass\",\n \"exactActiveClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"icon\",\n \"opacity\",\n \"opacityHover\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"underlineVariant\",\n \"variant\"\n ])\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$2, [\n createVNode(_sfc_main$6, mergeProps({\n class: [\"nav-link\", _ctx.linkClass],\n tabindex: unref(props).disabled ? -1 : void 0,\n \"aria-disabled\": unref(props).disabled ? true : void 0\n }, { ...computedLinkProps.value, ..._ctx.linkAttrs }, {\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"class\", \"tabindex\", \"aria-disabled\"]),\n renderSlot(_ctx.$slots, \"after\")\n ]);\n };\n }\n});\nconst _hoisted_1$1 = { class: \"nav-item dropdown\" };\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavItemDropdown\",\n props: /* @__PURE__ */ mergeModels({\n ariaLabel: { default: void 0 },\n autoClose: { type: [Boolean, String], default: true },\n boundary: { default: \"clippingAncestors\" },\n boundaryPadding: { default: void 0 },\n disabled: { type: Boolean, default: false },\n floatingMiddleware: { default: void 0 },\n icon: { type: Boolean, default: false },\n id: { default: void 0 },\n isNav: { type: Boolean, default: true },\n menuClass: { default: void 0 },\n noCaret: { type: Boolean, default: false },\n noFlip: { type: Boolean, default: false },\n noShift: { type: Boolean, default: false },\n noSize: { type: Boolean, default: false },\n offset: { default: 0 },\n role: { default: \"menu\" },\n size: { default: \"md\" },\n noWrapper: { type: Boolean, default: void 0 },\n split: { type: Boolean, default: false },\n splitButtonType: { default: \"button\" },\n splitClass: { default: void 0 },\n splitDisabled: { type: Boolean, default: void 0 },\n splitHref: { default: void 0 },\n splitTo: { default: void 0 },\n splitVariant: { default: void 0 },\n strategy: { default: \"absolute\" },\n text: { default: void 0 },\n toggleClass: { default: void 0 },\n toggleText: { default: \"Toggle dropdown\" },\n variant: { default: \"link\" },\n wrapperClass: { default: void 0 },\n placement: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: void 0 },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean },\n show: { type: Boolean },\n transProps: {},\n visible: { type: Boolean }\n }, {\n \"modelValue\": { type: Boolean, ...{ default: false } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"split-click\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavItemDropdown\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const dropdown = useTemplateRef(\"_dropdown\");\n const hide = () => {\n dropdown.value?.hide();\n };\n const show = () => {\n dropdown.value?.show();\n };\n const toggle = () => {\n dropdown.value?.toggle();\n };\n __expose({\n hide,\n show,\n toggle\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1$1, [\n createVNode(_sfc_main$7, mergeProps({ ref: \"_dropdown\" }, unref(props), {\n modelValue: modelValue.value,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),\n \"is-nav\": \"\",\n onShow: _cache[1] || (_cache[1] = ($event) => emit(\"show\", $event)),\n onShown: _cache[2] || (_cache[2] = ($event) => emit(\"shown\", $event)),\n onHide: _cache[3] || (_cache[3] = ($event) => emit(\"hide\", $event)),\n onHidden: _cache[4] || (_cache[4] = ($event) => emit(\"hidden\", $event)),\n onHidePrevented: _cache[5] || (_cache[5] = ($event) => emit(\"hide-prevented\", $event)),\n onShowPrevented: _cache[6] || (_cache[6] = ($event) => emit(\"show-prevented\", $event)),\n onTogglePrevented: _cache[7] || (_cache[7] = ($event) => emit(\"toggle-prevented\", $event)),\n onToggle: _cache[8] || (_cache[8] = ($event) => emit(\"toggle\", $event)),\n onSplitClick: _cache[9] || (_cache[9] = ($event) => emit(\"split-click\", $event))\n }), {\n \"button-content\": withCtx(() => [\n renderSlot(_ctx.$slots, \"button-content\")\n ]),\n \"toggle-text\": withCtx(() => [\n renderSlot(_ctx.$slots, \"toggle-text\")\n ]),\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {\n hide,\n show\n })\n ]),\n _: 3\n }, 16, [\"modelValue\"])\n ]);\n };\n }\n});\nconst _hoisted_1 = { class: \"navbar-text\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavText\",\n props: {\n text: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavText\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"li\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createTextVNode(toDisplayString(unref(props).text), 1)\n ])\n ]);\n };\n }\n});\nexport {\n _sfc_main$4 as _,\n _sfc_main$3 as a,\n _sfc_main$2 as b,\n _sfc_main$1 as c,\n _sfc_main as d\n};\n//# sourceMappingURL=BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs.map\n","import { computed, toValue, defineComponent, provide, toRef, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, createElementBlock, renderSlot, mergeProps, inject, createElementVNode } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { v as navbarInjectionKey, s as showHideRegistryKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useBLinkHelper, _ as _sfc_main$4 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nconst useContainerClasses = (value) => computed(() => {\n const resolvedValue = toValue(value);\n return {\n container: resolvedValue === true,\n [`container-${resolvedValue}`]: typeof resolvedValue === \"string\"\n };\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbar\",\n props: {\n container: { type: [Boolean, String], default: \"fluid\" },\n fixed: { default: void 0 },\n noAutoClose: { type: Boolean, default: false },\n print: { type: Boolean, default: false },\n sticky: { default: void 0 },\n tag: { default: \"nav\" },\n toggleable: { type: [Boolean, String], default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbar\");\n const computedRole = computed(() => props.tag === \"nav\" ? void 0 : \"navigation\");\n const containerClass = useContainerClasses(() => props.container);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n \"d-print\": props.print,\n [`sticky-${props.sticky}`]: props.sticky !== void 0,\n [`fixed-${props.fixed}`]: props.fixed !== void 0,\n \"navbar-expand\": props.toggleable === false,\n [`navbar-expand-${props.toggleable}`]: typeof props.toggleable === \"string\"\n }\n ]);\n provide(navbarInjectionKey, {\n tag: toRef(() => props.tag),\n noAutoClose: toRef(() => props.noAutoClose)\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n class: normalizeClass([\"navbar\", computedClasses.value]),\n role: computedRole.value\n }, {\n default: withCtx(() => [\n unref(props).container !== false ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(containerClass))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2)) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ]),\n _: 3\n }, 8, [\"class\", \"role\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarBrand\",\n props: {\n tag: { default: \"div\" },\n active: { type: Boolean, default: void 0 },\n activeClass: { default: void 0 },\n disabled: { type: Boolean, default: void 0 },\n exactActiveClass: { default: void 0 },\n href: { default: void 0 },\n icon: { type: Boolean, default: void 0 },\n noRel: { type: Boolean },\n opacity: { default: void 0 },\n opacityHover: { default: void 0 },\n prefetch: { type: Boolean },\n prefetchOn: {},\n noPrefetch: { type: Boolean },\n prefetchedClass: {},\n rel: { default: void 0 },\n replace: { type: Boolean, default: void 0 },\n routerComponentName: { default: void 0 },\n stretched: { type: Boolean, default: false },\n target: { default: void 0 },\n to: { default: void 0 },\n underlineOffset: { default: void 0 },\n underlineOffsetHover: { default: void 0 },\n underlineOpacity: { default: void 0 },\n underlineOpacityHover: { default: void 0 },\n underlineVariant: { default: void 0 },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarBrand\");\n const { computedLink, computedLinkProps } = useBLinkHelper(props, [\n \"active\",\n \"activeClass\",\n \"append\",\n \"disabled\",\n \"href\",\n \"rel\",\n \"replace\",\n \"routerComponentName\",\n \"target\",\n \"to\",\n \"variant\",\n \"opacity\",\n \"opacityHover\",\n \"underlineVariant\",\n \"underlineOffset\",\n \"underlineOffsetHover\",\n \"underlineOpacity\",\n \"underlineOpacityHover\",\n \"icon\"\n ]);\n const computedTag = computed(() => computedLink.value ? _sfc_main$4 : props.tag);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(computedTag.value), mergeProps({ class: \"navbar-brand\" }, unref(computedLinkProps)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarNav\",\n props: {\n align: { default: void 0 },\n fill: { type: Boolean, default: false },\n justified: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tag: { default: \"ul\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarNav\");\n const alignment = useAlignment(() => props.align);\n const computedClasses = computed(() => ({\n \"nav-fill\": props.fill,\n \"nav-justified\": props.justified,\n [alignment.value]: props.align !== void 0,\n \"small\": props.small\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"ul\", {\n class: normalizeClass([\"navbar-nav\", computedClasses.value])\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1 = [\"disabled\", \"aria-label\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BNavbarToggle\",\n props: {\n disabled: { type: Boolean, default: false },\n label: { default: \"Toggle navigation\" },\n target: { default: void 0 }\n },\n emits: [\"click\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BNavbarToggle\");\n const emit = __emit;\n const computedClasses = computed(() => ({\n disabled: props.disabled\n }));\n const showHideData = inject(showHideRegistryKey, void 0);\n const collapseExpanded = computed(() => {\n if (!props.target || !showHideData) return false;\n if (typeof props.target === \"string\")\n return toValue(toValue(showHideData.values.value.get(props.target))?.value) || false;\n return props.target.some((target) => toValue(showHideData.values.value.get(target)?.value));\n });\n const toggleExpand = () => {\n if (!props.target || !showHideData) return;\n if (typeof props.target === \"string\") {\n toValue(showHideData.values.value.get(props.target))?.toggle();\n return;\n }\n props.target.forEach((target) => toValue(showHideData.values.value.get(target))?.toggle());\n };\n const onClick = (e) => {\n if (!props.disabled) {\n emit(\"click\", e);\n toggleExpand();\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"navbar-toggler\", computedClasses.value]),\n type: \"button\",\n disabled: unref(props).disabled,\n \"aria-label\": unref(props).label,\n onClick\n }, [\n renderSlot(_ctx.$slots, \"default\", { expanded: collapseExpanded.value }, () => [\n _cache[0] || (_cache[0] = createElementVNode(\"span\", { class: \"navbar-toggler-icon\" }, null, -1))\n ])\n ], 10, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main$3 as _,\n _sfc_main$2 as a,\n _sfc_main$1 as b,\n _sfc_main as c\n};\n//# sourceMappingURL=BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs.map\n","import { defineComponent, mergeModels, useSlots, useModel, useTemplateRef, ref, onMounted, computed, watch, createBlock, openBlock, unref, withCtx, createCommentVNode, renderSlot, Transition, mergeProps, withDirectives, createElementVNode, createElementBlock, Fragment, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, normalizeClass, vShow, nextTick } from \"vue\";\nimport { b as useBreakpoints, o as onKeyStroke, c as unrefElement, d as breakpointsBootstrapV5 } from \"./index-C0p9vHHI.mjs\";\nimport { a as useSafeScrollLock, b as useActivatedFocusTrap } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { _ as _sfc_main$2 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$3 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { i as isEmptySlot } from \"./dom-DVb-f0ZG.mjs\";\nimport { u as useShowHide } from \"./useShowHide-717t6y_D.mjs\";\nimport { g as getElement } from \"./getElement-DrDVR-jO.mjs\";\nconst _hoisted_1 = [\"id\", \"aria-labelledby\"];\nconst _hoisted_2 = [\"id\"];\nconst fallbackClassSelector = \"offcanvas-fallback-focus\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BOffcanvas\",\n props: /* @__PURE__ */ mergeModels({\n noBackdrop: { type: Boolean, default: false },\n backdropFirst: { type: Boolean, default: false },\n bodyAttrs: { default: void 0 },\n bodyClass: { default: void 0 },\n bodyScrolling: { type: Boolean, default: false },\n focus: { type: [String, Boolean, Object, null], default: void 0 },\n footerClass: { default: void 0 },\n headerAttrs: { default: void 0 },\n headerClass: { default: void 0 },\n headerCloseClass: { default: void 0 },\n headerCloseLabel: { default: \"Close\" },\n headerCloseVariant: { default: \"secondary\" },\n id: { default: void 0 },\n noCloseOnBackdrop: { type: Boolean, default: false },\n noCloseOnEsc: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noTrap: { type: Boolean, default: false },\n noHeaderClose: { type: Boolean, default: false },\n placement: { default: \"start\" },\n shadow: { type: [String, Boolean], default: false },\n title: { default: void 0 },\n responsive: {},\n width: { default: void 0 },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" },\n initialAnimation: { type: Boolean, default: false },\n noAnimation: { type: Boolean, default: false },\n noFade: { type: Boolean },\n lazy: { type: Boolean, default: false },\n unmountLazy: { type: Boolean, default: false },\n show: { type: Boolean, default: false },\n transProps: {},\n visible: { type: Boolean, default: false }\n }, {\n \"modelValue\": { type: Boolean, ...{\n default: false\n } },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"close\", \"esc\", \"backdrop\", \"breakpoint\", \"hide\", \"hide-prevented\", \"hidden\", \"show\", \"show-prevented\", \"shown\", \"toggle\", \"toggle-prevented\", \"cancel\", \"ok\"], [\"update:modelValue\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BOffcanvas\");\n const emit = __emit;\n const slots = useSlots();\n const modelValue = useModel(__props, \"modelValue\");\n const computedId = useId(() => props.id, \"offcanvas\");\n const element = useTemplateRef(\"_element\");\n const fallbackFocusElement = useTemplateRef(\"_fallbackFocusElement\");\n const closeButton = useTemplateRef(\"_close\");\n const pickFocusItem = () => {\n if (props.focus && typeof props.focus !== \"boolean\") {\n if (props.focus === \"close\") {\n return closeButton;\n }\n return getElement(props.focus, element.value ?? void 0);\n }\n return element;\n };\n const onAfterEnter = () => {\n nextTick(() => {\n if (props.focus !== false && !isOpenByBreakpoint.value && props.noTrap) {\n const focusElement = unrefElement(pickFocusItem());\n focusElement?.focus();\n }\n });\n };\n const {\n showRef,\n renderRef,\n renderBackdropRef,\n hide,\n show,\n toggle,\n computedNoAnimation,\n contentShowing,\n transitionProps,\n backdropReady,\n backdropTransitionProps,\n backdropVisible,\n isVisible,\n buildTriggerableEvent,\n localNoAnimation,\n isLeaving,\n trapActive\n } = useShowHide(modelValue, props, emit, element, computedId, {\n transitionProps: {\n onAfterEnter,\n enterToClass: \"showing\",\n leaveToClass: \"hiding\",\n enterActiveClass: \"\",\n leaveActiveClass: \"\",\n enterFromClass: \"\",\n leaveFromClass: \"\"\n }\n });\n const breakpoints = useBreakpoints(breakpointsBootstrapV5);\n const smallerOrEqualToBreakpoint = breakpoints.smallerOrEqual(() => props.responsive ?? \"xs\");\n const isOpenByBreakpoint = ref(false);\n onMounted(() => {\n if (props.responsive !== void 0) {\n isOpenByBreakpoint.value = !smallerOrEqualToBreakpoint.value;\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), isOpenByBreakpoint.value);\n }\n });\n useSafeScrollLock(showRef, () => props.bodyScrolling || isOpenByBreakpoint.value);\n onKeyStroke(\n \"Escape\",\n () => {\n hide(\"esc\");\n },\n { target: element }\n );\n const { needsFallback } = useActivatedFocusTrap({\n element,\n isActive: trapActive,\n noTrap: () => props.noTrap || isOpenByBreakpoint.value,\n fallbackFocus: {\n classSelector: fallbackClassSelector,\n ref: fallbackFocusElement\n },\n focus: () => props.focus === false || isOpenByBreakpoint.value ? false : unrefElement(pickFocusItem()) ?? void 0\n });\n const showBackdrop = computed(\n () => (props.responsive === void 0 || !isOpenByBreakpoint.value) && props.noBackdrop === false && (showRef.value === true || isLeaving.value && props.backdropFirst && !computedNoAnimation.value)\n );\n const hasHeaderCloseSlot = computed(() => !isEmptySlot(slots[\"header-close\"]));\n const headerCloseClasses = computed(() => [\n { \"text-reset\": !hasHeaderCloseSlot.value },\n props.headerCloseClass\n ]);\n const headerCloseAttrs = computed(() => ({\n variant: hasHeaderCloseSlot.value ? props.headerCloseVariant : void 0,\n class: headerCloseClasses.value\n }));\n const hasFooterSlot = computed(() => !isEmptySlot(slots.footer));\n const computedClasses = computed(() => [\n props.responsive === void 0 ? \"offcanvas\" : `offcanvas-${props.responsive}`,\n `offcanvas-${props.placement}`,\n {\n \"show\": isVisible.value,\n [`shadow-${props.shadow}`]: !!props.shadow,\n \"no-transition\": computedNoAnimation.value\n }\n ]);\n const computedStyles = computed(() => ({\n width: props.width\n }));\n const sharedSlots = computed(() => ({\n visible: isVisible.value,\n placement: props.placement,\n hide,\n show,\n toggle,\n id: computedId.value,\n active: trapActive.value\n }));\n watch(smallerOrEqualToBreakpoint, (newValue) => {\n if (props.responsive === void 0) return;\n if (newValue === true) {\n const opened = false;\n localNoAnimation.value = true;\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened;\n });\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), opened);\n emit(\"hide\", buildTriggerableEvent(\"hide\"));\n } else {\n const opened = true;\n localNoAnimation.value = true;\n requestAnimationFrame(() => {\n isOpenByBreakpoint.value = opened;\n });\n emit(\"breakpoint\", buildTriggerableEvent(\"breakpoint\"), opened);\n emit(\"show\", buildTriggerableEvent(\"show\"));\n }\n });\n __expose({\n hide,\n show,\n toggle,\n isOpenByBreakpoint\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled || isOpenByBreakpoint.value\n }, {\n default: withCtx(() => [\n unref(renderRef) || unref(contentShowing) || isOpenByBreakpoint.value ? (openBlock(), createBlock(Transition, mergeProps({ key: 0 }, unref(transitionProps), {\n appear: modelValue.value || unref(props).visible\n }), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", mergeProps({\n id: unref(computedId),\n ref: \"_element\",\n \"aria-modal\": \"true\",\n role: \"dialog\",\n class: computedClasses.value,\n style: computedStyles.value,\n tabindex: \"-1\",\n \"aria-labelledby\": `${unref(computedId)}-offcanvas-label`,\n \"data-bs-backdrop\": \"false\"\n }, _ctx.$attrs), [\n unref(contentShowing) || isOpenByBreakpoint.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n !unref(props).noHeader ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n class: [\"offcanvas-header\", unref(props).headerClass]\n }, unref(props).headerAttrs), [\n renderSlot(_ctx.$slots, \"header\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createElementVNode(\"h5\", {\n id: `${unref(computedId)}-offcanvas-label`,\n class: \"offcanvas-title\"\n }, [\n renderSlot(_ctx.$slots, \"title\", normalizeProps(guardReactiveProps(sharedSlots.value)), () => [\n createTextVNode(toDisplayString(unref(props).title), 1)\n ])\n ], 8, _hoisted_2),\n !unref(props).noHeaderClose ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n hasHeaderCloseSlot.value ? (openBlock(), createBlock(_sfc_main$2, mergeProps({\n key: 0,\n ref: \"_close\"\n }, headerCloseAttrs.value, {\n onClick: _cache[0] || (_cache[0] = ($event) => unref(hide)(\"close\"))\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"header-close\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ]),\n _: 3\n }, 16)) : (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n ref: \"_close\",\n \"aria-label\": unref(props).headerCloseLabel\n }, headerCloseAttrs.value, {\n onClick: _cache[1] || (_cache[1] = ($event) => unref(hide)(\"close\"))\n }), null, 16, [\"aria-label\"]))\n ], 64)) : createCommentVNode(\"\", true)\n ])\n ], 16)) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", mergeProps({\n class: [\"offcanvas-body\", unref(props).bodyClass]\n }, unref(props).bodyAttrs), [\n renderSlot(_ctx.$slots, \"default\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 16),\n hasFooterSlot.value ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(unref(props).footerClass)\n }, [\n renderSlot(_ctx.$slots, \"footer\", normalizeProps(guardReactiveProps(sharedSlots.value)))\n ], 2)) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true),\n unref(needsFallback) ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n ref: \"_fallbackFocusElement\",\n class: normalizeClass(fallbackClassSelector),\n tabindex: \"0\",\n style: { \"width\": \"0\", \"height\": \"0\", \"overflow\": \"hidden\" }\n }, null, 512)) : createCommentVNode(\"\", true)\n ], 16, _hoisted_1), [\n [\n vShow,\n unref(showRef) && (unref(backdropReady) && unref(props).backdropFirst || !unref(props).backdropFirst) || isOpenByBreakpoint.value\n ]\n ])\n ]),\n _: 3\n }, 16, [\"appear\"])) : createCommentVNode(\"\", true),\n !unref(props).noBackdrop ? renderSlot(_ctx.$slots, \"backdrop\", normalizeProps(mergeProps({ key: 1 }, sharedSlots.value)), () => [\n unref(renderBackdropRef) ? (openBlock(), createBlock(Transition, normalizeProps(mergeProps({ key: 0 }, unref(backdropTransitionProps))), {\n default: withCtx(() => [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\"offcanvas-backdrop\", {\n fade: !unref(computedNoAnimation),\n show: unref(backdropVisible) || unref(computedNoAnimation)\n }]),\n onClick: _cache[2] || (_cache[2] = ($event) => unref(hide)(\"backdrop\"))\n }, null, 2), [\n [vShow, showBackdrop.value]\n ])\n ]),\n _: 1\n }, 16)) : createCommentVNode(\"\", true)\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, unref, withCtx, renderSlot, createVNode, Transition, mergeProps, createCommentVNode, resolveDynamicComponent, normalizeStyle, normalizeClass, createElementVNode, normalizeProps, guardReactiveProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport { u as useRadiusElementClasses } from \"./useRadiusElementClasses-DtKYQuWz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useFadeTransition } from \"./useTransitions-BAT154ve.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BOverlay\",\n props: {\n bgColor: { default: void 0 },\n blur: { default: \"2px\" },\n fixed: { type: Boolean, default: false },\n noCenter: { type: Boolean, default: false },\n noFade: { type: Boolean, default: false },\n noSpinner: { type: Boolean, default: false },\n noWrap: { type: Boolean, default: false },\n opacity: { default: 0.85 },\n overlayTag: { default: \"div\" },\n show: { type: Boolean, default: false },\n spinnerSmall: { type: Boolean, default: false },\n spinnerType: { default: \"border\" },\n spinnerVariant: { default: void 0 },\n variant: { default: \"light\" },\n wrapTag: { default: \"div\" },\n zIndex: { default: 10 },\n rounded: { type: [Boolean, String, Number], default: false },\n roundedTop: { type: [Boolean, String, Number], default: void 0 },\n roundedBottom: { type: [Boolean, String, Number], default: void 0 },\n roundedStart: { type: [Boolean, String, Number], default: void 0 },\n roundedEnd: { type: [Boolean, String, Number], default: void 0 }\n },\n emits: [\"click\", \"hidden\", \"shown\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BOverlay\");\n const emit = __emit;\n const positionStyles = { top: 0, left: 0, bottom: 0, right: 0 };\n const fadeTransitions = useFadeTransition(() => !props.noFade);\n const radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd\n }));\n const computedAriaBusy = computed(() => props.show ? true : null);\n const spinnerAttrs = computed(() => ({\n type: props.spinnerType,\n variant: props.spinnerVariant,\n small: props.spinnerSmall\n }));\n const overlayStyles = computed(() => ({\n ...positionStyles,\n zIndex: props.zIndex || 10\n }));\n const overlayClasses = computed(() => ({\n \"position-absolute\": !props.noWrap || !props.fixed,\n \"position-fixed\": props.noWrap && props.fixed\n }));\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant !== null && !props.bgColor ? props.variant : null\n }))\n );\n const blurClasses = computed(() => [colorClasses.value, radiusElementClasses.value]);\n const blurStyles = computed(() => ({\n ...positionStyles,\n opacity: props.opacity,\n backgroundColor: props.bgColor || void 0,\n backdropFilter: props.blur && !props.bgColor && (props.variant === \"white\" || props.variant === \"transparent\") ? `blur(${props.blur})` : void 0\n }));\n const spinWrapperStyles = computed(\n () => props.noCenter ? positionStyles : {\n top: \"50%\",\n left: \"50%\",\n transform: \"translateX(-50%) translateY(-50%)\"\n }\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n tag: unref(props).wrapTag,\n class: \"b-overlay-wrap position-relative\",\n \"aria-busy\": computedAriaBusy.value,\n skip: unref(props).noWrap\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\"),\n createVNode(Transition, mergeProps(unref(fadeTransitions), {\n \"enter-to-class\": \"show\",\n name: \"fade\",\n onAfterEnter: _cache[1] || (_cache[1] = ($event) => emit(\"shown\")),\n onAfterLeave: _cache[2] || (_cache[2] = ($event) => emit(\"hidden\"))\n }), {\n default: withCtx(() => [\n unref(props).show ? (openBlock(), createBlock(resolveDynamicComponent(unref(props).overlayTag), {\n key: 0,\n class: normalizeClass([\"b-overlay\", overlayClasses.value]),\n style: normalizeStyle(overlayStyles.value),\n onClick: _cache[0] || (_cache[0] = ($event) => emit(\"click\", $event))\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"position-absolute\", blurClasses.value]),\n style: normalizeStyle(blurStyles.value)\n }, null, 6),\n createElementVNode(\"div\", {\n class: \"position-absolute\",\n style: normalizeStyle(spinWrapperStyles.value)\n }, [\n renderSlot(_ctx.$slots, \"overlay\", normalizeProps(guardReactiveProps(spinnerAttrs.value)), () => [\n !unref(props).noSpinner ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, spinnerAttrs.value)), null, 16)) : createCommentVNode(\"\", true)\n ])\n ], 4)\n ]),\n _: 3\n }, 8, [\"class\", \"style\"])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16)\n ]),\n _: 3\n }, 8, [\"tag\", \"aria-busy\", \"skip\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs.map\n","import { defineComponent, mergeModels, useModel, useTemplateRef, computed, nextTick, watch, createElementBlock, openBlock, unref, normalizeClass, Fragment, renderList, mergeProps, createBlock, createCommentVNode, renderSlot, createTextVNode, toDisplayString, resolveDynamicComponent, withCtx } from \"vue\";\nimport { B as BvEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { C as CODE_LEFT, a as CODE_UP, b as CODE_RIGHT, c as CODE_DOWN } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { g as getActiveElement } from \"./dom-DVb-f0ZG.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _hoisted_1 = [\"aria-disabled\", \"aria-label\"];\nconst _hoisted_2 = [\"displayIndex\"];\nconst DEFAULT_PER_PAGE = 20;\nconst DEFAULT_TOTAL_ROWS = 0;\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPagination\",\n props: /* @__PURE__ */ mergeModels({\n align: { default: \"start\" },\n ariaControls: { default: void 0 },\n ariaLabel: { default: \"Pagination\" },\n disabled: { type: Boolean, default: false },\n ellipsisClass: { default: void 0 },\n ellipsisText: { default: \"…\" },\n firstClass: { default: void 0 },\n firstNumber: { type: Boolean, default: false },\n firstText: { default: \"«\" },\n noEllipsis: { type: Boolean, default: false },\n noGotoEndButtons: { type: Boolean, default: false },\n labelFirstPage: { default: \"Go to first page\" },\n labelLastPage: { default: \"Go to last page\" },\n labelNextPage: { default: \"Go to next page\" },\n labelPage: { default: \"Go to page\" },\n labelPrevPage: { default: \"Go to previous page\" },\n lastClass: { default: void 0 },\n lastNumber: { type: Boolean, default: false },\n lastText: { default: \"»\" },\n limit: { default: 5 },\n nextClass: { default: void 0 },\n nextText: { default: \"›\" },\n pageClass: { default: void 0 },\n perPage: { default: DEFAULT_PER_PAGE },\n pills: { type: Boolean, default: false },\n prevClass: { default: void 0 },\n prevText: { default: \"‹\" },\n size: { default: void 0 },\n totalRows: { default: DEFAULT_TOTAL_ROWS }\n }, {\n \"modelValue\": {\n default: 1\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"page-click\"], [\"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const ELLIPSIS_THRESHOLD = 3;\n const FIRST_BUTTON = -1;\n const PREV_BUTTON = -2;\n const NEXT_BUTTON = -3;\n const LAST_BUTTON = -4;\n const FIRST_ELLIPSIS = -5;\n const LAST_ELLIPSIS = -6;\n const _props = __props;\n const props = useDefaults(_props, \"BPagination\");\n const emit = __emit;\n const modelValue = useModel(__props, \"modelValue\");\n const pageElements = useTemplateRef(\"_pageElements\");\n const limitNumber = useToNumber(() => props.limit, { nanToZero: true, method: \"parseInt\" });\n const perPageNumber = useToNumber(() => props.perPage, { nanToZero: true, method: \"parseInt\" });\n const totalRowsNumber = useToNumber(() => props.totalRows, { nanToZero: true, method: \"parseInt\" });\n const modelValueNumber = useToNumber(modelValue, { nanToZero: true, method: \"parseInt\" });\n const perPageSanitized = computed(() => Math.max(perPageNumber.value || DEFAULT_PER_PAGE, 1));\n const totalRowsSanitized = computed(() => Math.max(totalRowsNumber.value || DEFAULT_TOTAL_ROWS, 0));\n const numberOfPages = computed(() => Math.ceil(totalRowsSanitized.value / perPageSanitized.value));\n const computedFill = computed(() => props.align === \"fill\");\n const justifyAlign = computed(() => props.align === \"fill\" ? \"start\" : props.align);\n const alignment = useAlignment(justifyAlign);\n const isActivePage = (pageNumber) => pageNumber === computedModelValue.value;\n const getTabIndex = (num) => props.disabled ? null : isActivePage(num) ? \"0\" : \"-1\";\n const checkDisabled = (num) => props.disabled || isActivePage(num) || computedModelValue.value < 1 || // Check if the number is out of bounds\n num < 1 || num > numberOfPages.value;\n const firstDisabled = computed(() => checkDisabled(1));\n const prevDisabled = computed(() => checkDisabled(computedModelValue.value - 1));\n const lastDisabled = computed(() => checkDisabled(numberOfPages.value));\n const nextDisabled = computed(() => checkDisabled(computedModelValue.value + 1));\n const getBaseButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n tabIndex,\n label,\n position,\n isActive,\n hidden,\n isSmHidden\n }) => ({\n li: {\n \"class\": [\n \"page-item\",\n {\n \"active\": isActive,\n disabled,\n \"bv-d-sm-down-none\": isSmHidden,\n \"flex-fill\": computedFill.value,\n \"d-flex\": computedFill.value && !disabled\n },\n classVal\n ],\n \"role\": \"presentation\",\n \"aria-hidden\": hidden\n },\n button: {\n \"is\": disabled ? \"span\" : \"button\",\n \"class\": [\"page-link\", \"text-center\", { \"flex-grow-1\": !disabled && computedFill.value }],\n \"aria-label\": label,\n \"aria-controls\": props.ariaControls || void 0,\n \"aria-disabled\": disabled ? true : void 0,\n \"aria-posinset\": position,\n \"aria-setsize\": position ? numberOfPages.value : void 0,\n \"role\": \"menuitem\",\n \"type\": disabled ? void 0 : \"button\",\n \"tabindex\": disabled ? void 0 : tabIndex\n },\n text: {\n name: slotName,\n active: isActive,\n value: textValue ?? page,\n page,\n disabled,\n index: page - 1,\n content: textValue ? void 0 : String(page)\n },\n clickHandler: (e) => pageClick(e, page)\n });\n const getButtonProps = ({\n page,\n classVal,\n disabled,\n slotName,\n textValue,\n label\n }) => getBaseButtonProps({ page, classVal, disabled, slotName, textValue, label, tabIndex: \"-1\" });\n const getPageButtonProps = (page, isSmHidden) => getBaseButtonProps({\n page,\n disabled: props.disabled,\n classVal: props.pageClass,\n slotName: \"page\",\n label: props.labelPage ? `${props.labelPage} ${page}` : void 0,\n tabIndex: getTabIndex(page) ?? void 0,\n position: page,\n isActive: isActivePage(page),\n isSmHidden\n });\n const firstButtonProps = computed(\n () => getButtonProps({\n page: 1,\n disabled: firstDisabled.value,\n classVal: props.firstClass,\n slotName: \"first-text\",\n textValue: props.firstText,\n label: props.labelFirstPage\n })\n );\n const prevButtonProps = computed(\n () => getButtonProps({\n page: Math.max(computedModelValue.value - 1, 1),\n disabled: prevDisabled.value,\n classVal: props.prevClass,\n slotName: \"prev-text\",\n textValue: props.prevText,\n label: props.labelPrevPage\n })\n );\n const nextButtonProps = computed(\n () => getButtonProps({\n page: Math.min(computedModelValue.value + 1, numberOfPages.value),\n disabled: nextDisabled.value,\n classVal: props.nextClass,\n slotName: \"next-text\",\n textValue: props.nextText,\n label: props.labelNextPage\n })\n );\n const lastButtonProps = computed(\n () => getButtonProps({\n page: numberOfPages.value,\n disabled: lastDisabled.value,\n classVal: props.lastClass,\n slotName: \"last-text\",\n textValue: props.lastText,\n label: props.labelLastPage\n })\n );\n const ellipsisProps = computed(() => ({\n li: {\n class: [\n \"page-item\",\n \"disabled\",\n \"text-center\",\n \"bv-d-sm-down-none\",\n computedFill.value ? \"flex-fill\" : \"\",\n props.ellipsisClass\n ],\n role: \"separator\"\n },\n span: {\n class: [\"page-link\"]\n }\n }));\n const computedWrapperClasses = computed(() => [\n alignment.value,\n {\n [`pagination-${props.size}`]: props.size !== void 0,\n \"b-pagination-pills\": props.pills\n }\n ]);\n const pagination = computed(() => ({\n pageSize: perPageSanitized.value,\n totalRows: totalRowsNumber.value,\n numberOfPages: numberOfPages.value\n }));\n const pageClick = (event, pageNumber) => {\n if (pageNumber === computedModelValue.value) return;\n const clickEvent = new BvEvent(\"page-click\", {\n cancelable: true,\n target: event.target\n });\n emit(\"page-click\", clickEvent, pageNumber);\n if (clickEvent.defaultPrevented) return;\n modelValue.value = pageNumber;\n nextTick(() => {\n if (pageNumber === 1) {\n focusFirst();\n } else if (pageNumber === pagination.value.numberOfPages) {\n focusLast();\n }\n });\n };\n const isDisabled = (el) => {\n const isElement = !!(el && el.nodeType === Node.ELEMENT_NODE);\n const hasAttr = isElement ? el.hasAttribute(\"disabled\") : null;\n const hasClass = isElement && el.classList ? el.classList.contains(\"disabled\") : false;\n return !isElement || el.disabled || hasAttr || hasClass;\n };\n const getButtons = () => [...pageElements.value ?? []].sort(\n (a, b) => parseInt(a.getAttribute(\"displayIndex\") || \"0\") - parseInt(b.getAttribute(\"displayIndex\") || \"0\")\n ).map((page) => page.children[0]).filter((el) => {\n if (el.getAttribute(\"display\") === \"none\" || el.tagName.toUpperCase() !== \"BUTTON\") {\n return false;\n }\n const bcr = el.getBoundingClientRect();\n return !!(bcr && bcr.height > 0 && bcr.width > 0);\n }).map((el) => el);\n const focusFirst = () => {\n nextTick(() => {\n const btn = getButtons().find((el) => !isDisabled(el));\n btn?.focus();\n });\n };\n const focusPrev = () => {\n nextTick(() => {\n const buttons = getButtons();\n const index = buttons.indexOf(getActiveElement());\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n buttons[index - 1]?.focus();\n }\n });\n };\n const focusLast = () => {\n nextTick(() => {\n const btn = getButtons().reverse().find((el) => !isDisabled(el));\n btn?.focus();\n });\n };\n const focusNext = () => {\n nextTick(() => {\n const buttons = getButtons();\n const index = buttons.indexOf(getActiveElement());\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n buttons[index + 1]?.focus();\n }\n });\n };\n const handleKeyNav = (event) => {\n const { code, shiftKey } = event;\n if (code === CODE_LEFT || code === CODE_UP) {\n stopEvent(event);\n if (shiftKey) {\n focusFirst();\n } else {\n focusPrev();\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n stopEvent(event);\n if (shiftKey) {\n focusLast();\n } else {\n focusNext();\n }\n }\n };\n const computedModelValue = computed(() => {\n const page = modelValueNumber.value || 1;\n return page > numberOfPages.value ? numberOfPages.value : page < 1 ? 1 : page;\n });\n watch(pagination, (oldValue, newValue) => {\n if (newValue.pageSize !== oldValue.pageSize && newValue.totalRows === oldValue.totalRows) {\n modelValue.value = 1;\n }\n });\n const noFirstButton = computed(() => props.noGotoEndButtons && !props.firstNumber ? 1 : 0);\n const noLastButton = computed(() => props.noGotoEndButtons && !props.lastNumber ? 1 : 0);\n const showFirstButton = computed(() => noFirstButton.value ? 0 : 1);\n const showLastButton = computed(() => noLastButton.value ? 0 : 1);\n const firstPage = computed(() => props.firstNumber ? 1 : 0);\n const lastPage = computed(() => props.lastNumber ? 1 : 0);\n const halfLimit = computed(() => Math.floor(limitNumber.value / 2));\n const pages = computed(() => {\n const { value } = computedModelValue;\n const els = elements.value.map((p) => {\n switch (p) {\n case FIRST_BUTTON:\n return { id: p, ...firstButtonProps.value };\n case PREV_BUTTON:\n return { id: p, ...prevButtonProps.value };\n case NEXT_BUTTON:\n return { id: p, ...nextButtonProps.value };\n case LAST_BUTTON:\n return { id: p, ...lastButtonProps.value };\n case FIRST_ELLIPSIS:\n case LAST_ELLIPSIS:\n return { id: p, ...ellipsisProps.value };\n default:\n return { id: p, ...getPageButtonProps(p) };\n }\n });\n if (numberOfPages.value > 3) {\n if (value > numberOfPages.value - halfLimit.value - lastPage.value) {\n const idx = 2 + showFirstButton.value;\n els[idx] = { id: els[idx].id, ...getPageButtonProps(els[idx].id, true) };\n }\n if (value <= halfLimit.value + firstPage.value) {\n const idx = els.length - (3 + showLastButton.value);\n els[idx] = { id: els[idx].id, ...getPageButtonProps(els[idx].id, true) };\n }\n }\n return els;\n });\n const elements = computed(() => {\n const pages2 = numberOfPages.value;\n const { value } = computedModelValue;\n const limit = limitNumber.value;\n const noEllipsis = props.noEllipsis || limit <= ELLIPSIS_THRESHOLD;\n if (pages2 < limit + firstPage.value + lastPage.value) {\n return [\n !firstPage.value && !noFirstButton.value ? FIRST_BUTTON : null,\n PREV_BUTTON,\n ...Array.from({ length: pages2 }, (_, index) => index + 1),\n NEXT_BUTTON,\n !lastPage.value && !noLastButton.value ? LAST_BUTTON : null\n ].filter((x) => x !== null);\n }\n const buttons = Array.from({ length: limit + 4 - (noFirstButton.value + noLastButton.value) });\n if (!noFirstButton.value) {\n if (!firstPage.value) {\n buttons[0] = FIRST_BUTTON;\n buttons[1] = PREV_BUTTON;\n } else {\n buttons[0] = PREV_BUTTON;\n buttons[1] = 1;\n }\n } else {\n buttons[0] = PREV_BUTTON;\n }\n if (!noLastButton.value) {\n if (!lastPage.value) {\n buttons[buttons.length - 1] = LAST_BUTTON;\n buttons[buttons.length - 2] = NEXT_BUTTON;\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON;\n buttons[buttons.length - 2] = pages2;\n }\n } else {\n buttons[buttons.length - 1] = NEXT_BUTTON;\n }\n if (value <= halfLimit.value + firstPage.value) {\n for (let index = 1; index <= limit; index++) {\n buttons[index + 1 - noFirstButton.value] = index + firstPage.value;\n }\n if (!noEllipsis) {\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS;\n }\n }\n if (value > pages2 - halfLimit.value - lastPage.value) {\n const start = pages2 - (limit - 1) - lastPage.value;\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index;\n }\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS;\n }\n }\n if (!buttons[2]) {\n const start = value - Math.floor(limit / 2);\n for (let index = 0; index < limit; index++) {\n buttons[index + 2 - noFirstButton.value] = start + index;\n }\n if (!noEllipsis) {\n buttons[1 + showFirstButton.value] = FIRST_ELLIPSIS;\n buttons[buttons.length - (2 + showLastButton.value)] = LAST_ELLIPSIS;\n }\n }\n return buttons.filter((x) => x !== null);\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"ul\", {\n class: normalizeClass([\"pagination\", computedWrapperClasses.value]),\n role: \"menubar\",\n \"aria-disabled\": unref(props).disabled,\n \"aria-label\": unref(props).ariaLabel || void 0,\n onKeydown: handleKeyNav\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(pages.value, (page, index) => {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: `page-${page.id}`\n }, { ref_for: true }, page.li, {\n ref_for: true,\n ref: \"_pageElements\",\n displayIndex: index\n }), [\n page.id === FIRST_ELLIPSIS || page.id === LAST_ELLIPSIS ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n ref_for: true\n }, ellipsisProps.value.span), [\n renderSlot(_ctx.$slots, \"ellipsis-text\", {}, () => [\n createTextVNode(toDisplayString(unref(props).ellipsisText || \"...\"), 1)\n ])\n ], 16)) : \"button\" in page ? (openBlock(), createBlock(resolveDynamicComponent(page.button.is), mergeProps({\n key: 1,\n ref_for: true\n }, page.button, {\n onClick: page.clickHandler\n }), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, page.text.name, {\n disabled: page.text.disabled,\n page: page.text.page,\n index: page.text.index,\n active: page.text.active ?? false,\n content: page.text.value\n }, () => [\n createTextVNode(toDisplayString(page.text.value), 1)\n ])\n ]),\n _: 2\n }, 1040, [\"onClick\"])) : createCommentVNode(\"\", true)\n ], 16, _hoisted_2);\n }), 128))\n ], 42, _hoisted_1);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, createElementVNode, normalizeProps, guardReactiveProps, renderSlot, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { u as useNumberishToStyle } from \"./useNumberishToStyle-CdjRyAvX.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nconst defaultStickyHeaderHeight = \"300px\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTableSimple\",\n props: {\n bordered: { type: Boolean, default: false },\n borderless: { type: Boolean, default: false },\n borderVariant: { default: null },\n captionTop: { type: Boolean, default: false },\n dark: { type: Boolean, default: false },\n fixed: { type: Boolean, default: false },\n hover: { type: Boolean, default: false },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: false },\n outlined: { type: Boolean, default: false },\n responsive: { type: [Boolean, String], default: false },\n small: { type: Boolean, default: false },\n stacked: { type: [Boolean, String], default: false },\n stickyHeader: { type: [Boolean, String, Number], default: false },\n striped: { type: Boolean, default: false },\n stripedColumns: { type: Boolean, default: false },\n variant: { default: null },\n tableAttrs: { default: void 0 },\n tableClass: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTableSimple\");\n const computedId = useId(() => props.id);\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n borderVariant: props.borderVariant\n }))\n );\n const computedClasses = computed(() => [\n props.tableClass,\n \"table\",\n \"b-table\",\n colorClasses.value,\n {\n \"border\": props.outlined,\n \"table-bordered\": props.bordered,\n \"table-borderless\": props.borderless,\n \"caption-top\": props.captionTop,\n \"table-dark\": props.dark,\n \"table-hover\": props.hover,\n \"b-table-stacked\": props.stacked === true,\n [`b-table-stacked-${props.stacked}`]: typeof props.stacked === \"string\",\n \"table-striped\": props.striped,\n \"table-sm\": props.small,\n [`table-${props.variant}`]: props.variant !== null,\n \"table-striped-columns\": props.stripedColumns,\n \"b-table-fixed\": props.fixed,\n \"b-table-no-border-collapse\": props.noBorderCollapse\n }\n ]);\n const computedTableAttrs = computed(() => ({\n id: computedId.value,\n class: computedClasses.value,\n ...props.tableAttrs\n }));\n const computedSticky = useNumberishToStyle(\n computed(\n () => (props.stickyHeader === true ? defaultStickyHeaderHeight : props.stickyHeader) || Number.NaN\n )\n );\n const stickyIsValid = computed(() => props.stickyHeader !== false);\n const isResponsive = computed(() => props.responsive !== false || stickyIsValid.value);\n const responsiveStyles = computed(\n () => stickyIsValid.value ? { maxHeight: computedSticky.value } : void 0\n );\n const responsiveClasses = computed(() => ({\n \"table-responsive\": props.responsive === true,\n [`table-responsive-${props.responsive}`]: typeof props.responsive === \"string\",\n \"b-table-sticky-header\": stickyIsValid.value\n }));\n return (_ctx, _cache) => {\n return isResponsive.value ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(responsiveClasses.value),\n style: normalizeStyle(responsiveStyles.value)\n }, [\n createElementVNode(\"table\", normalizeProps(guardReactiveProps(computedTableAttrs.value)), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16)\n ], 6)) : (openBlock(), createElementBlock(\"table\", normalizeProps(mergeProps({ key: 1 }, computedTableAttrs.value)), [\n renderSlot(_ctx.$slots, \"default\")\n ], 16));\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs.map\n","import { defineComponent, computed, createBlock, openBlock, resolveDynamicComponent, unref, normalizeClass, withCtx, mergeProps, createSlots, renderSlot, createVNode, createCommentVNode, createElementVNode, createElementBlock, Fragment, renderList } from \"vue\";\nimport { _ as _sfc_main$5, d as _sfc_main$6 } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$7 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { u as useColorVariantClasses } from \"./useColorVariantClasses-ZDE19TZw.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BPlaceholder\",\n props: {\n animation: { default: void 0 },\n cols: { default: 12 },\n size: { default: \"md\" },\n tag: { default: \"span\" },\n variant: { default: null },\n width: { default: void 0 },\n wrapperTag: { default: \"span\" }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholder\");\n const widthString = computed(\n () => props.width === void 0 ? void 0 : typeof props.width === \"number\" ? props.width.toString() : props.width.replace(\"%\", \"\")\n );\n const colsString = computed(\n () => props.cols === void 0 ? void 0 : typeof props.cols === \"number\" ? props.cols.toString() : props.cols\n );\n const colorClasses = useColorVariantClasses(\n computed(() => ({\n bgVariant: props.variant\n }))\n );\n const computedClasses = computed(() => [\n colorClasses.value,\n {\n [`col-${colsString.value}`]: colsString.value !== void 0 && widthString.value === void 0,\n [`placeholder-${props.size}`]: props.size !== \"md\"\n }\n ]);\n const wrapperClasses = computed(() => ({\n [`placeholder-${props.animation}`]: props.animation !== void 0\n }));\n const computedStyle = computed(() => ({\n width: widthString.value === void 0 ? void 0 : `${widthString.value}%`\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).wrapperTag), {\n class: normalizeClass(wrapperClasses.value)\n }, {\n default: withCtx(() => [\n (openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps(_ctx.$attrs, {\n class: [\"placeholder\", computedClasses.value],\n style: computedStyle.value\n }), null, 16, [\"class\", \"style\"]))\n ]),\n _: 1\n }, 8, [\"class\"]);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderButton\",\n props: {\n animation: { default: void 0 },\n cols: { default: void 0 },\n tag: { default: \"div\" },\n variant: { default: \"primary\" },\n width: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderButton\");\n const computedClasses = computed(() => ({\n [`btn-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$4, {\n class: normalizeClass([\"btn disabled\", computedClasses.value]),\n animation: unref(props).animation,\n width: unref(props).width,\n cols: unref(props).cols,\n tag: unref(props).tag,\n style: { \"cursor\": \"wait\", \"pointer-events\": \"auto\" }\n }, null, 8, [\"class\", \"animation\", \"width\", \"cols\", \"tag\"]);\n };\n }\n});\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderCard\",\n props: {\n animation: { default: void 0 },\n footerAnimation: { default: void 0 },\n footerSize: { default: \"md\" },\n footerVariant: { default: void 0 },\n footerWidth: { default: 100 },\n headerAnimation: { default: void 0 },\n headerSize: { default: \"md\" },\n headerVariant: { default: void 0 },\n headerWidth: { default: 100 },\n imgBlankColor: { default: \"#868e96\" },\n imgPlacement: { default: \"top\" },\n imgHeight: { default: 100 },\n imgSrc: { default: void 0 },\n noButton: { type: Boolean, default: false },\n noFooter: { type: Boolean, default: false },\n noHeader: { type: Boolean, default: false },\n noImg: { type: Boolean, default: false },\n size: { default: \"md\" },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderCard\");\n const defaultAttrs = computed(() => ({\n animation: props.animation,\n size: props.size,\n variant: props.variant\n }));\n const footerComponent = computed(() => !props.noButton ? _sfc_main$3 : _sfc_main$4);\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$5, {\n \"img-placement\": unref(props).imgPlacement\n }, createSlots({\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createVNode(_sfc_main$4, mergeProps({ cols: \"7\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"4\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"4\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"6\" }, defaultAttrs.value), null, 16),\n createVNode(_sfc_main$4, mergeProps({ cols: \"8\" }, defaultAttrs.value), null, 16)\n ])\n ]),\n _: 2\n }, [\n !unref(props).noImg ? {\n name: \"img\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"img\", {}, () => [\n createVNode(_sfc_main$6, {\n blank: !unref(props).imgSrc ? true : false,\n \"blank-color\": unref(props).imgBlankColor,\n height: !unref(props).imgSrc ? unref(props).imgHeight : void 0,\n src: unref(props).imgSrc,\n \"img-placement\": unref(props).imgPlacement,\n style: { cursor: \"wait\" }\n }, null, 8, [\"blank\", \"blank-color\", \"height\", \"src\", \"img-placement\"])\n ])\n ]),\n key: \"0\"\n } : void 0,\n !unref(props).noHeader ? {\n name: \"header\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"header\", {}, () => [\n createVNode(_sfc_main$4, {\n width: unref(props).headerWidth,\n variant: unref(props).headerVariant,\n animation: unref(props).headerAnimation,\n size: unref(props).headerSize\n }, null, 8, [\"width\", \"variant\", \"animation\", \"size\"])\n ])\n ]),\n key: \"1\"\n } : void 0,\n !unref(props).noFooter ? {\n name: \"footer\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"footer\", {}, () => [\n (openBlock(), createBlock(resolveDynamicComponent(footerComponent.value), {\n width: unref(props).footerWidth,\n animation: unref(props).footerAnimation,\n size: unref(props).noButton ? unref(props).footerSize : void 0,\n variant: unref(props).footerVariant\n }, null, 8, [\"width\", \"animation\", \"size\", \"variant\"]))\n ])\n ]),\n key: \"2\"\n } : void 0\n ]), 1032, [\"img-placement\"]);\n };\n }\n});\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderTable\",\n props: {\n animation: { default: void 0 },\n cellWidth: { default: 100 },\n columns: { default: 5 },\n footerAnimation: { default: void 0 },\n footerCellWidth: { default: 100 },\n footerColumns: { default: void 0 },\n footerSize: { default: \"md\" },\n footerVariant: { default: void 0 },\n headerAnimation: { default: void 0 },\n headerCellWidth: { default: 100 },\n headerColumns: { default: void 0 },\n headerSize: { default: \"md\" },\n headerVariant: { default: void 0 },\n noHeader: { type: Boolean, default: false },\n rows: { default: 3 },\n showFooter: { type: Boolean, default: false },\n size: { default: \"md\" },\n variant: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderTable\");\n const columnsToNumber = useToNumber(() => props.columns);\n const rowsToNumber = useToNumber(() => props.rows);\n const computedHeaderColumns = computed(() => props.headerColumns ?? Number.NaN);\n const computedFooterColumns = computed(() => props.footerColumns ?? Number.NaN);\n const headerColumnsNumber = useToNumber(computedHeaderColumns);\n const footerColumnsNumber = useToNumber(computedFooterColumns);\n const columnsNumber = computed(() => columnsToNumber.value || 5);\n const rowsNumber = computed(() => rowsToNumber.value || 3);\n const computedHeaderColumnsLength = computed(\n () => props.headerColumns === void 0 ? columnsNumber.value : headerColumnsNumber.value\n );\n const computedFooterColumnsLength = computed(\n () => props.footerColumns === void 0 ? columnsNumber.value : footerColumnsNumber.value\n );\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$7, null, {\n default: withCtx(() => [\n !unref(props).noHeader ? renderSlot(_ctx.$slots, \"thead\", { key: 0 }, () => [\n createElementVNode(\"thead\", null, [\n createElementVNode(\"tr\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedHeaderColumnsLength.value, (_, i) => {\n return openBlock(), createElementBlock(\"th\", { key: i }, [\n createVNode(_sfc_main$4, {\n size: unref(props).headerSize,\n variant: unref(props).headerVariant,\n animation: unref(props).headerAnimation,\n width: unref(props).headerCellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ])\n ])\n ]) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"default\", {}, () => [\n createElementVNode(\"tbody\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(rowsNumber.value, (_, j) => {\n return openBlock(), createElementBlock(\"tr\", { key: j }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(columnsNumber.value, (__, k) => {\n return openBlock(), createElementBlock(\"td\", { key: k }, [\n createVNode(_sfc_main$4, {\n size: unref(props).size,\n variant: unref(props).variant,\n animation: unref(props).animation,\n width: unref(props).cellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ]);\n }), 128))\n ])\n ]),\n unref(props).showFooter ? renderSlot(_ctx.$slots, \"tfoot\", { key: 1 }, () => [\n createElementVNode(\"tfoot\", null, [\n createElementVNode(\"tr\", null, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFooterColumnsLength.value, (_, l) => {\n return openBlock(), createElementBlock(\"th\", { key: l }, [\n createVNode(_sfc_main$4, {\n size: unref(props).footerSize,\n variant: unref(props).footerVariant,\n animation: unref(props).footerAnimation,\n width: unref(props).footerCellWidth\n }, null, 8, [\"size\", \"variant\", \"animation\", \"width\"])\n ]);\n }), 128))\n ])\n ])\n ]) : createCommentVNode(\"\", true)\n ]),\n _: 3\n });\n };\n }\n});\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPlaceholderWrapper\",\n props: {\n loading: { type: Boolean, default: false }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BPlaceholderWrapper\");\n return (_ctx, _cache) => {\n return unref(props).loading ? renderSlot(_ctx.$slots, \"loading\", { key: 0 }) : renderSlot(_ctx.$slots, \"default\", { key: 1 });\n };\n }\n});\nexport {\n _sfc_main$4 as _,\n _sfc_main$3 as a,\n _sfc_main$2 as b,\n _sfc_main$1 as c,\n _sfc_main as d\n};\n//# sourceMappingURL=BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs.map\n","import { defineComponent, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport \"./ConditionalWrapper.vue_vue_type_script_lang-IX_NpHH-.mjs\";\nimport \"./useTransitions-BAT154ve.mjs\";\nimport \"./tableUtils-Jp7dzXjS.mjs\";\nimport { usePopover } from \"./src/composables/usePopover/index.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BPopoverOrchestrator\",\n props: {\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BPopoverOrchestrator\");\n const tools = usePopover();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BPopoverOrchestrator is deprecated, use BOrchestrator instead\");\n }\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs.map\n","import { defineComponent, computed, createElementBlock, openBlock, normalizeClass, renderSlot, unref, useSlots, inject, ref, watch, createBlock, normalizeProps, guardReactiveProps, withCtx, createCommentVNode, withDirectives, createVNode, Fragment, renderList, mergeProps, createTextVNode, toDisplayString, vShow, resolveDynamicComponent, createElementVNode, normalizeStyle, mergeModels, useModel, provide, onMounted, createSlots } from \"vue\";\nimport { g as get, p as pick, s as set, d as deepEqual } from \"./object-0ALvRU0O.mjs\";\nimport { _ as _sfc_main$9 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { g as getDataLabelAttr, b as btableSimpleProps, a as getTableFieldHeadLabel, c as btableLiteProps } from \"./tableUtils-Jp7dzXjS.mjs\";\nimport { s as startCase } from \"./stringUtils-gJJ6T6UC.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { c as CODE_DOWN, a as CODE_UP, m as CODE_HOME, n as CODE_END } from \"./constants-Cx335y3L.mjs\";\nimport { s as stopEvent } from \"./event-a_bi5ysw.mjs\";\nimport { x as tableKeyboardNavigationKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDebounceFn } from \"./debounce-BHqBzJ1a.mjs\";\nimport { u as useToNumber } from \"./index-KdB7ucR5.mjs\";\nconst formatItem = (item, fieldKey, formatter) => {\n const val = get(item, fieldKey);\n return formatter && typeof formatter === \"function\" ? formatter(val, fieldKey, item) : val;\n};\nconst isTableItem = (value) => typeof value === \"object\" && value !== null;\nconst isTableField = (value) => typeof value === \"object\" && value !== null && \"key\" in value;\nconst _sfc_main$8 = /* @__PURE__ */ defineComponent({\n __name: \"BTbody\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTbody\");\n const computedClasses = computed(() => ({\n [`thead-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tbody\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$4 = [\"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$3 = { key: 0 };\nconst _sfc_main$7 = /* @__PURE__ */ defineComponent({\n __name: \"BTd\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTd\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"td\", {\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading ? (openBlock(), createElementBlock(\"div\", _hoisted_2$3, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$4);\n };\n }\n});\nconst _sfc_main$6 = /* @__PURE__ */ defineComponent({\n __name: \"BTfoot\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTfoot\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tfoot\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _hoisted_1$3 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$2 = { key: 0 };\nconst _sfc_main$5 = /* @__PURE__ */ defineComponent({\n __name: \"BTh\",\n props: {\n colspan: { default: void 0 },\n rowspan: { default: void 0 },\n stackedHeading: { default: void 0 },\n stickyColumn: { type: Boolean, default: false },\n variant: { default: null },\n scope: { default: void 0 }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTh\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null,\n \"b-table-sticky-column\": props.stickyColumn,\n \"table-b-table-default\": props.stickyColumn && props.variant === null\n }));\n const localScope = computed(\n () => props.scope ? props.scope : props.colspan ? \"colgroup\" : props.rowspan ? \"rowgroup\" : \"col\"\n );\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"th\", {\n scope: localScope.value,\n class: normalizeClass(computedClasses.value),\n colspan: unref(props).colspan,\n rowspan: unref(props).rowspan,\n \"data-label\": unref(props).stackedHeading\n }, [\n unref(props).stackedHeading !== void 0 ? (openBlock(), createElementBlock(\"div\", _hoisted_2$2, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$3);\n };\n }\n});\nconst _sfc_main$4 = /* @__PURE__ */ defineComponent({\n __name: \"BThead\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BThead\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"thead\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst _sfc_main$3 = /* @__PURE__ */ defineComponent({\n __name: \"BTr\",\n props: {\n variant: { default: null }\n },\n setup(__props) {\n const _props = __props;\n const props = useDefaults(_props, \"BTr\");\n const computedClasses = computed(() => ({\n [`table-${props.variant}`]: props.variant !== null\n }));\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"tr\", {\n class: normalizeClass(computedClasses.value)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2);\n };\n }\n});\nconst TABLE_TAG_NAMES = [\"TD\", \"TH\", \"TR\"];\nconst eventFilter = [\n \"a\",\n \"a *\",\n // Include content inside links\n \"button\",\n \"button *\",\n // Include content inside buttons\n \"input:not(.disabled):not([disabled])\",\n \"select:not(.disabled):not([disabled])\",\n \"textarea:not(.disabled):not([disabled])\",\n '[role=\"link\"]',\n '[role=\"link\"] *',\n '[role=\"button\"]',\n '[role=\"button\"] *',\n \"[tabindex]:not(.disabled):not([disabled])\"\n].join(\",\");\nconst filterEvent = (event) => {\n if (!event || !event.target) {\n return false;\n }\n const el = event.target;\n if (\"disabled\" in el && el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n }\n if (el.closest(\".dropdown-menu\")) return true;\n const label = el.tagName === \"LABEL\" ? el : el.closest(\"label\");\n if (label) {\n const labelFor = label.getAttribute(\"for\");\n const input = labelFor ? document.getElementById(labelFor) : label.querySelector(\"input, select, textarea\");\n if (input && !input.disabled) {\n return true;\n }\n }\n return el.matches(eventFilter);\n};\nconst _hoisted_1$2 = { key: 0 };\nconst _hoisted_2$1 = {\n key: 0,\n class: \"b-table-stacked-label\"\n};\nconst _hoisted_3 = { class: \"d-inline-flex flex-nowrap align-items-center gap-1\" };\nconst _hoisted_4 = { key: 3 };\nconst _sfc_main$2 = /* @__PURE__ */ defineComponent({\n __name: \"BTableLite\",\n props: {\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: false },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: false },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: { type: [Function, Object], default: void 0 },\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {},\n tableClass: { default: void 0 }\n },\n emits: [\"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\"],\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTableLite\");\n const emit = __emit;\n const slots = useSlots();\n const keyboardNavigation = inject(tableKeyboardNavigationKey, null);\n const computedId = useId(() => props.id);\n const generateDetailsItem = (item) => [\n item,\n item._showDetails\n ];\n const detailsMap = ref(/* @__PURE__ */ new WeakMap());\n watch(\n () => props.items,\n (items) => {\n items.forEach((item) => {\n if (!isTableItem(item)) return;\n detailsMap.value.set(...generateDetailsItem(item));\n });\n },\n { deep: true, immediate: true }\n );\n const computedTableClasses = computed(() => [\n props.tableClass,\n {\n [`align-${props.align}`]: props.align !== void 0\n }\n ]);\n const computedFields = computed(() => {\n if (!props.fields.length && props.items.length) {\n const [firstItem] = props.items;\n if (firstItem && (isTableItem(firstItem) || Array.isArray(firstItem))) {\n return Object.keys(firstItem).map((k) => {\n const label = startCase(k);\n return {\n key: k,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n });\n }\n return [{ key: \"\", _noHeader: true }];\n }\n return props.fields.map((f) => {\n if (isTableField(f)) {\n const label2 = f.label ?? startCase(f.key);\n return {\n ...f,\n tdAttr: { ...getDataLabelAttr(props, label2), ...f.tdAttr }\n };\n }\n const label = startCase(f);\n return {\n key: f,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n });\n });\n const computedFieldsTotal = computed(() => computedFields.value.length);\n const showComputedHeaders = computed(() => {\n if (computedFieldsTotal.value > 0 && computedFields.value.every((el) => el._noHeader === true))\n return false;\n return true;\n });\n const footerProps = computed(() => ({\n variant: props.footVariant ?? props.headVariant,\n class: props.tfootClass ?? props.theadClass\n }));\n const calculatedFooterSlot = (key) => slots[`foot(${String(key)})`] ? `foot(${String(key)})` : slots[\"foot()\"] ? \"foot()\" : slots[`head(${String(key)})`] ? `head(${String(key)})` : \"head()\";\n const itemAttributes = (item, fieldKey, attr) => {\n const val = get(item, fieldKey);\n return attr && typeof attr === \"function\" ? attr(val, fieldKey, item) : attr;\n };\n const callThAttr = (item, field, type) => {\n const fieldKey = String(field.key);\n const val = get(item, fieldKey);\n return field.thAttr && typeof field.thAttr === \"function\" ? field.thAttr(val, fieldKey, item, type) : field.thAttr;\n };\n const headerClicked = (field, event, isFooter = false) => {\n emit(\"head-clicked\", field.key, field, event, isFooter);\n };\n const toggleRowDetails = (tr) => {\n if (isTableItem(tr)) {\n const prevValue = detailsMap.value.get(tr);\n detailsMap.value.set(tr, !prevValue);\n tr._showDetails = !prevValue;\n }\n };\n const getFieldColumnClasses = (field) => [\n field.class,\n field.thClass,\n {\n \"b-table-sticky-column\": field.stickyColumn\n },\n props.fieldColumnClass ? typeof props.fieldColumnClass === \"function\" ? props.fieldColumnClass(field) : props.fieldColumnClass : null\n ];\n const getFieldRowClasses = (field, tr) => {\n const val = get(tr, String(field.key));\n return [\n field.class,\n typeof field.tdClass === \"function\" ? field.tdClass(val, String(field.key), tr) : field.tdClass,\n (isTableItem(tr) ? tr._cellVariants?.[field.key] : false) ? `table-${tr._cellVariants?.[field.key]}` : null,\n {\n \"b-table-sticky-column\": field.stickyColumn\n }\n ];\n };\n const handleMiddleClick = (item, itemIndex, event) => {\n if (event.button === 1 && !filterEvent(event)) {\n emit(\"row-middle-clicked\", item, itemIndex, event);\n }\n };\n const callTbodyTrAttrs = (item, type) => props.tbodyTrAttrs ? typeof props.tbodyTrAttrs === \"function\" ? props.tbodyTrAttrs(item, type) : props.tbodyTrAttrs : null;\n const getRowClasses = (item, type) => props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null;\n const generateTableRowId = (primaryKeyValue) => `${computedId.value}__row_${primaryKeyValue}`;\n const getCellComponent = (field) => {\n if (field?.isRowHeader) {\n return _sfc_main$5;\n }\n return _sfc_main$7;\n };\n const shouldHeaderBeFocusable = (field) => !!(keyboardNavigation?.headerNavigation.value && field.sortable === true);\n const shouldRowBeFocusable = computed(\n () => !!(keyboardNavigation?.rowNavigation.value && props.items.length > 0)\n );\n const handleHeaderKeydown = (field, event, isFooter = false) => {\n const { target, code } = event;\n if (target && target.tagName !== \"TH\" && document.activeElement === target) return;\n if (code === \"Enter\" || code === \"NumpadEnter\" || code === \"Space\") {\n stopEvent(event);\n headerClicked(field, event, isFooter);\n }\n };\n const handleRowKeydown = (item, itemIndex, event) => {\n const { target, code, shiftKey } = event;\n if (target && target.tagName !== \"TR\" && document.activeElement === target) return;\n if (code === \"Enter\" || code === \"NumpadEnter\" || code === \"Space\") {\n stopEvent(event);\n emit(\"row-clicked\", item, itemIndex, event);\n return;\n }\n if (code === CODE_DOWN || code === CODE_UP || code === CODE_HOME || code === CODE_END) {\n stopEvent(event);\n handleRowNavigation(code, shiftKey, itemIndex);\n }\n };\n const handleRowNavigation = (code, shiftKey, currentIndex) => {\n const rows = Array.from(\n document.querySelectorAll(`#${computedId.value} tbody tr[tabindex]`)\n );\n if (rows.length === 0) return;\n let targetIndex = currentIndex;\n if (code === CODE_DOWN) {\n if (shiftKey) {\n targetIndex = rows.length - 1;\n } else {\n targetIndex = Math.min(currentIndex + 1, rows.length - 1);\n }\n } else if (code === CODE_UP) {\n if (shiftKey) {\n targetIndex = 0;\n } else {\n targetIndex = Math.max(currentIndex - 1, 0);\n }\n } else if (code === CODE_END) {\n targetIndex = rows.length - 1;\n } else if (code === CODE_HOME) {\n targetIndex = 0;\n }\n if (targetIndex !== currentIndex && rows[targetIndex]) {\n rows[targetIndex].focus();\n }\n };\n const computedSimpleProps = computed(() => ({\n ...pick(props, btableSimpleProps),\n tableClass: computedTableClasses.value,\n id: computedId.value\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$9, normalizeProps(guardReactiveProps(computedSimpleProps.value)), {\n default: withCtx(() => [\n slots[\"table-colgroup\"] ? (openBlock(), createElementBlock(\"colgroup\", _hoisted_1$2, [\n renderSlot(_ctx.$slots, \"table-colgroup\", { fields: computedFields.value })\n ])) : createCommentVNode(\"\", true),\n withDirectives(createVNode(_sfc_main$4, {\n variant: unref(props).headVariant,\n class: normalizeClass(unref(props).theadClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-top\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n }),\n createVNode(_sfc_main$3, {\n variant: unref(props).headRowVariant,\n class: normalizeClass(unref(props).theadTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$5, mergeProps({\n key: field.key,\n scope: field.scope,\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n variant: field.variant,\n abbr: field.headerAbbr,\n style: field.thStyle,\n tabindex: shouldHeaderBeFocusable(field) ? \"0\" : void 0\n }, { ref_for: true }, callThAttr(null, field, \"top\"), {\n onClick: ($event) => headerClicked(field, $event),\n onKeydown: ($event) => handleHeaderKeydown(field, $event)\n }), {\n default: withCtx(() => [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n {\n label: field.label,\n column: field.key,\n field,\n isFoot: false\n },\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"scope\", \"class\", \"title\", \"variant\", \"abbr\", \"style\", \"tabindex\", \"onClick\", \"onKeydown\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]),\n slots[\"thead-sub\"] ? (openBlock(), createBlock(_sfc_main$3, { key: 0 }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$7, {\n key: field.key,\n scope: \"col\",\n variant: field.variant,\n class: normalizeClass([field.class, field.thClass])\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"thead-sub\", {\n items: unref(props).items,\n fields: computedFields.value,\n field\n }, () => [\n createTextVNode(toDisplayString(field.label), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]), [\n [vShow, showComputedHeaders.value]\n ]),\n createVNode(_sfc_main$8, {\n class: normalizeClass(unref(props).tbodyClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-body\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n }, () => [\n !unref(props).stacked && slots[\"top-row\"] ? (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 0,\n class: getRowClasses(null, \"row-top\")\n }, callTbodyTrAttrs(null, \"row-top\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"top-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true),\n (openBlock(true), createElementBlock(Fragment, null, renderList(unref(props).items, (item, itemIndex) => {\n return openBlock(), createElementBlock(Fragment, {\n key: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? unref(get)(item, unref(props).primaryKey) : itemIndex\n }, [\n createVNode(_sfc_main$3, mergeProps({\n id: unref(props).primaryKey && unref(get)(item, unref(props).primaryKey) ? generateTableRowId(unref(get)(item, unref(props).primaryKey)) : void 0,\n class: getRowClasses(item, \"row\"),\n variant: unref(isTableItem)(item) ? item._rowVariant : void 0,\n tabindex: shouldRowBeFocusable.value ? \"0\" : void 0\n }, { ref_for: true }, callTbodyTrAttrs(item, \"row\"), {\n onClick: ($event) => !unref(filterEvent)($event) && emit(\"row-clicked\", item, itemIndex, $event),\n onDblclick: ($event) => !unref(filterEvent)($event) && emit(\"row-dblclicked\", item, itemIndex, $event),\n onContextmenu: ($event) => !unref(filterEvent)($event) && emit(\"row-contextmenu\", item, itemIndex, $event),\n onMouseenter: ($event) => !unref(filterEvent)($event) && emit(\"row-hovered\", item, itemIndex, $event),\n onMouseleave: ($event) => !unref(filterEvent)($event) && emit(\"row-unhovered\", item, itemIndex, $event),\n onMousedown: ($event) => handleMiddleClick(item, itemIndex, $event),\n onKeydown: ($event) => handleRowKeydown(item, itemIndex, $event)\n }), {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(resolveDynamicComponent(getCellComponent(field)), mergeProps({\n key: field.key,\n variant: (unref(isTableItem)(item) ? item._cellVariants?.[field.key] : false) ? null : field.variant,\n class: getFieldRowClasses(field, item)\n }, { ref_for: true }, itemAttributes(item, String(field.key), field.tdAttr)), {\n default: withCtx(() => [\n unref(props).stacked && unref(props).labelStacked ? (openBlock(), createElementBlock(\"label\", _hoisted_2$1, toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)) : createCommentVNode(\"\", true),\n renderSlot(\n _ctx.$slots,\n slots[`cell(${String(field.key)})`] ? `cell(${String(field.key)})` : \"cell()\",\n {\n value: unref(formatItem)(item, String(field.key), field.formatter),\n unformatted: unref(get)(item, String(field.key)),\n index: itemIndex,\n item,\n field,\n items: _ctx.items,\n toggleDetails: () => toggleRowDetails(item),\n detailsShowing: unref(isTableItem)(item) ? detailsMap.value.get(item) ?? false : false\n },\n () => [\n !slots[`cell(${String(field.key)})`] && !slots[\"cell()\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(unref(formatItem)(item, String(field.key), field.formatter)), 1)\n ], 64)) : createCommentVNode(\"\", true)\n ]\n )\n ]),\n _: 2\n }, 1040, [\"variant\", \"class\"]);\n }), 128))\n ]),\n _: 2\n }, 1040, [\"id\", \"class\", \"variant\", \"tabindex\", \"onClick\", \"onDblclick\", \"onContextmenu\", \"onMouseenter\", \"onMouseleave\", \"onMousedown\", \"onKeydown\"]),\n unref(isTableItem)(item) && detailsMap.value.get(item) === true && slots[\"row-details\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createVNode(_sfc_main$3, {\n \"aria-hidden\": \"true\",\n role: \"presentation\",\n class: \"d-none\"\n }),\n createVNode(_sfc_main$3, mergeProps({\n class: getRowClasses(item, \"row-details\"),\n variant: item._rowVariant\n }, { ref_for: true }, callTbodyTrAttrs(item, \"row-details\")), {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: computedFieldsTotal.value,\n class: normalizeClass(_ctx.detailsTdClass)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"row-details\", {\n item,\n toggleDetails: () => toggleRowDetails(item),\n fields: computedFields.value,\n index: itemIndex\n })\n ]),\n _: 2\n }, 1032, [\"colspan\", \"class\"])\n ]),\n _: 2\n }, 1040, [\"class\", \"variant\"])\n ], 64)) : createCommentVNode(\"\", true)\n ], 64);\n }), 128)),\n !unref(props).stacked && slots[\"bottom-row\"] ? (openBlock(), createBlock(_sfc_main$3, mergeProps({\n key: 1,\n class: [\"bottom-row\", getRowClasses(null, \"row-bottom\")]\n }, callTbodyTrAttrs(null, \"row-bottom\")), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"bottom-row\", {\n columns: computedFieldsTotal.value,\n fields: computedFields.value\n })\n ]),\n _: 3\n }, 16, [\"class\"])) : createCommentVNode(\"\", true)\n ])\n ]),\n _: 3\n }, 8, [\"class\"]),\n unref(props).footClone ? (openBlock(), createBlock(_sfc_main$6, normalizeProps(mergeProps({ key: 1 }, footerProps.value)), {\n default: withCtx(() => [\n createVNode(_sfc_main$3, {\n variant: unref(props).footRowVariant ?? unref(props).headRowVariant,\n class: normalizeClass(unref(props).tfootTrClass ?? unref(props).theadTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$5, mergeProps({\n key: field.key,\n scope: \"col\",\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n abbr: field.headerAbbr,\n style: field.thStyle,\n variant: field.variant,\n tabindex: shouldHeaderBeFocusable(field) ? \"0\" : void 0\n }, { ref_for: true }, callThAttr(null, field, \"bottom\"), {\n onClick: ($event) => headerClicked(field, $event, true),\n onKeydown: ($event) => handleHeaderKeydown(field, $event, true)\n }), {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_3, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, calculatedFooterSlot(field.key), {\n label: field.label,\n column: field.key,\n field,\n isFoot: true\n }, () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ])\n ])\n ])\n ]),\n _: 2\n }, 1040, [\"class\", \"title\", \"abbr\", \"style\", \"variant\", \"tabindex\", \"onClick\", \"onKeydown\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"])\n ]),\n _: 3\n }, 16)) : slots[\"custom-foot\"] ? (openBlock(), createBlock(_sfc_main$6, normalizeProps(mergeProps({ key: 2 }, footerProps.value)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"custom-foot\", {\n fields: computedFields.value,\n items: unref(props).items,\n columns: computedFieldsTotal.value\n })\n ]),\n _: 3\n }, 16)) : createCommentVNode(\"\", true),\n slots[\"table-caption\"] || unref(props).caption ? (openBlock(), createElementBlock(\"caption\", _hoisted_4, [\n renderSlot(_ctx.$slots, \"table-caption\", {}, () => [\n createTextVNode(toDisplayString(unref(props).caption), 1)\n ])\n ])) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16);\n };\n }\n});\nconst _hoisted_1$1 = [\"d\"];\nconst ascPath = \"M8 12a.5.5 0 0 0 .5-.5V5.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 5.707V11.5a.5.5 0 0 0 .5.5z\";\nconst descPath = \"M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n __name: \"SortIcon\",\n props: {\n fieldInfo: {},\n sortBy: {},\n initialSortDirection: {}\n },\n setup(__props) {\n const props = __props;\n const currentSort = computed(() => props.sortBy?.find((el) => el.key === props.fieldInfo.key));\n const resolvedDirection = computed(() => {\n if (currentSort.value?.order) return currentSort.value.order;\n const fieldInitialDirection = props.fieldInfo.initialSortDirection || props.initialSortDirection;\n if (fieldInitialDirection === \"last\") {\n const lastSorted = [...props.sortBy ?? []].reverse().find((sort) => sort.order !== void 0);\n return lastSorted?.order || \"asc\";\n }\n return fieldInitialDirection === \"desc\" ? \"desc\" : \"asc\";\n });\n const iconPath = computed(() => resolvedDirection.value === \"desc\" ? descPath : ascPath);\n const iconClass = computed(\n () => resolvedDirection.value === \"desc\" ? \"bi bi-arrow-down-short\" : \"bi bi-arrow-up-short\"\n );\n const iconOpacity = computed(() => currentSort.value?.order ? 1 : 0.4);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: normalizeClass(iconClass.value),\n style: normalizeStyle({ opacity: iconOpacity.value }),\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"true\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: iconPath.value\n }, null, 8, _hoisted_1$1)\n ], 6);\n };\n }\n});\nconst _hoisted_1 = {\n role: \"alert\",\n \"aria-live\": \"polite\"\n};\nconst _hoisted_2 = { class: \"text-center my-2\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTable\",\n props: /* @__PURE__ */ mergeModels({\n provider: { type: Function, default: void 0 },\n noProvider: { default: void 0 },\n noProviderPaging: { type: Boolean, default: false },\n noProviderSorting: { type: Boolean, default: false },\n noProviderFiltering: { type: Boolean, default: false },\n sortCompare: { type: Function, default: void 0 },\n mustSort: { type: [Boolean, Array], default: false },\n initialSortDirection: { default: \"asc\" },\n selectable: { type: Boolean, default: false },\n multisort: { type: Boolean, default: false },\n stickySelect: { type: Boolean, default: false },\n selectHead: { type: [Boolean, String], default: true },\n selectMode: { default: \"multi\" },\n selectionVariant: { default: \"primary\" },\n busyLoadingText: { default: \"Loading...\" },\n perPage: { default: Number.POSITIVE_INFINITY },\n currentPage: { default: 1 },\n filter: { default: void 0 },\n filterFunction: { type: Function, default: void 0 },\n filterable: { default: void 0 },\n noLocalSorting: { type: Boolean, default: false },\n noSelectOnClick: { type: Boolean, default: false },\n noSortableIcon: { type: Boolean, default: false },\n emptyFilteredText: { default: \"There are no records matching your request\" },\n emptyText: { default: \"There are no records to show\" },\n showEmpty: { type: Boolean, default: false },\n align: { default: void 0 },\n caption: { default: void 0 },\n detailsTdClass: { default: void 0 },\n fieldColumnClass: { type: [Function, String, Object, Array], default: void 0 },\n fields: { default: () => [] },\n footClone: { type: Boolean, default: void 0 },\n footRowVariant: { default: void 0 },\n footVariant: { default: void 0 },\n headRowVariant: { default: void 0 },\n headVariant: { default: void 0 },\n items: { default: () => [] },\n labelStacked: { type: Boolean, default: void 0 },\n modelValue: { default: void 0 },\n primaryKey: { default: void 0 },\n tbodyClass: { default: void 0 },\n tbodyTrAttrs: {},\n tbodyTrClass: { type: [Function, String, Array, Object], default: void 0 },\n tfootClass: { default: void 0 },\n tfootTrClass: { default: void 0 },\n theadClass: { default: void 0 },\n theadTrClass: { default: void 0 },\n bordered: { type: Boolean, default: void 0 },\n borderless: { type: Boolean, default: void 0 },\n borderVariant: { default: void 0 },\n captionTop: { type: Boolean, default: void 0 },\n dark: { type: Boolean, default: void 0 },\n fixed: { type: Boolean, default: void 0 },\n hover: { type: Boolean, default: void 0 },\n id: { default: void 0 },\n noBorderCollapse: { type: Boolean, default: void 0 },\n outlined: { type: Boolean, default: void 0 },\n responsive: { type: [Boolean, String], default: void 0 },\n small: { type: Boolean, default: void 0 },\n stacked: { type: [Boolean, String], default: void 0 },\n stickyHeader: { type: [Boolean, String, Number], default: void 0 },\n striped: { type: Boolean, default: void 0 },\n stripedColumns: { type: Boolean, default: void 0 },\n variant: { default: void 0 },\n tableAttrs: {},\n debounce: { default: 0 },\n debounceMaxWait: { default: Number.NaN }\n }, {\n \"sortBy\": {\n default: void 0\n },\n \"sortByModifiers\": {},\n \"busy\": { type: Boolean, ...{\n default: false\n } },\n \"busyModifiers\": {},\n \"selectedItems\": {\n default: () => []\n },\n \"selectedItemsModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"filtered\", \"row-selected\", \"row-unselected\", \"sorted\", \"change\", \"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\"], [\"update:sortBy\", \"update:busy\", \"update:selectedItems\"]),\n setup(__props, { expose: __expose, emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTable\");\n const emit = __emit;\n const slots = useSlots();\n const dynamicCellSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"cell(\"))\n );\n const dynamicFootSlots = computed(\n () => Object.keys(slots).filter((key) => key.startsWith(\"foot(\"))\n );\n const sortByModel = useModel(__props, \"sortBy\");\n const busyModel = useModel(__props, \"busy\");\n const selectedItemsModel = useModel(\n __props,\n \"selectedItems\"\n );\n const computedId = useId(() => props.id);\n const selectedItemsToSet = computed({\n get: () => new Set(selectedItemsModel.value),\n set: (val) => {\n selectedItemsModel.value = [...val];\n }\n });\n watch(selectedItemsToSet, (newValue, oldValue) => {\n Array.from(oldValue).filter((item) => !newValue.has(item)).forEach((item) => {\n emit(\"row-unselected\", item);\n });\n Array.from(newValue).filter((item) => !oldValue.has(item)).forEach((item) => {\n emit(\"row-selected\", item);\n });\n });\n const selectedItemsSetUtilities = {\n add: (item) => {\n const value = new Set(selectedItemsToSet.value);\n value.add(item);\n selectedItemsToSet.value = value;\n },\n clear: () => {\n selectedItemsToSet.value.forEach((item) => {\n selectedItemsSetUtilities.delete(item);\n });\n },\n delete: (item) => {\n const value = new Set(selectedItemsToSet.value);\n if (props.primaryKey) {\n const pkey = props.primaryKey;\n selectedItemsModel.value.forEach((v, i) => {\n const selectedKey = get(v, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) {\n value.delete(selectedItemsModel.value[i]);\n }\n });\n } else {\n value.delete(item);\n }\n selectedItemsToSet.value = value;\n },\n set: (items) => {\n selectedItemsToSet.value = new Set(items);\n },\n has: (item) => {\n if (!props.primaryKey) return selectedItemsToSet.value.has(item);\n const pkey = props.primaryKey;\n for (const selected of selectedItemsToSet.value) {\n const selectedKey = get(selected, pkey);\n const itemKey = get(item, pkey);\n if (!!selectedKey && !!itemKey && selectedKey === itemKey) return true;\n }\n return false;\n }\n };\n const internalItems = ref([]);\n const perPageNumber = useToNumber(() => props.perPage, { method: \"parseInt\" });\n const currentPageNumber = useToNumber(() => props.currentPage, { method: \"parseInt\" });\n const debounceNumber = useToNumber(() => props.debounce ?? 0, { nanToZero: true });\n const debounceMaxWaitNumber = useToNumber(() => props.debounceMaxWait ?? Number.NaN);\n const isFilterableTable = computed(() => !!props.filter);\n const usesProvider = computed(() => props.provider !== void 0);\n const isSelecting = computed(() => selectedItemsToSet.value.size > 0);\n const isSortable = computed(\n () => sortByModel.value !== void 0 || props.fields.some(\n (field) => typeof field === \"object\" && field !== null && field.sortable === true\n )\n );\n const keyboardRowNavigation = computed(() => !!(props.selectable && !props.noSelectOnClick));\n const keyboardHeaderNavigation = computed(() => !!isSortable.value);\n provide(tableKeyboardNavigationKey, {\n rowNavigation: keyboardRowNavigation,\n headerNavigation: keyboardHeaderNavigation\n });\n const computedFields = computed(\n () => props.fields.map((el) => {\n if (!isTableField(el)) {\n const label = startCase(el);\n return {\n key: el,\n label,\n tdAttr: getDataLabelAttr(props, label)\n };\n }\n const value = sortByModel.value?.find((sb) => el.key === sb.key);\n const sortValue = isSortable.value === false ? void 0 : value === void 0 ? \"none\" : value.order === \"desc\" ? \"descending\" : value.order === \"asc\" ? \"ascending\" : \"none\";\n return {\n ...el,\n thAttr: {\n \"aria-sort\": sortValue,\n ...el.thAttr\n }\n };\n })\n );\n const tableClasses = computed(() => ({\n \"b-table-busy\": busyModel.value,\n \"b-table-selectable\": props.selectable,\n \"user-select-none\": props.selectable && isSelecting.value,\n \"b-table-fixed\": props.fixed,\n \"b-table-no-border-collapse\": props.noBorderCollapse\n }));\n const getBusyRowClasses = computed(() => [\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(null, \"table-busy\") : props.tbodyTrClass : null\n ]);\n const getFieldColumnClasses = (field) => [\n {\n \"b-table-sortable-column\": isSortable.value && field.sortable\n }\n ];\n const getRowClasses = (item, type) => [\n {\n [`selected table-${props.selectionVariant}`]: props.selectable && !!item && selectedItemsSetUtilities.has(item)\n },\n props.tbodyTrClass ? typeof props.tbodyTrClass === \"function\" ? props.tbodyTrClass(item, type) : props.tbodyTrClass : null\n ];\n const getFormatter = (value) => typeof value.sortByFormatted === \"function\" ? value.sortByFormatted : value.formatter;\n const getStringValue = (ob, key) => {\n if (!isTableItem(ob)) return String(ob);\n const sortField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === key;\n return false;\n });\n const val = get(ob, key);\n if (isTableField(sortField) && !!sortField.sortByFormatted) {\n const formatter = getFormatter(sortField);\n if (formatter) {\n return String(formatItem(ob, String(sortField.key), formatter));\n }\n }\n return typeof val === \"object\" && val !== null ? JSON.stringify(val) : val?.toString() ?? \"\";\n };\n const fieldByKey = computed(() => {\n const map = /* @__PURE__ */ new Map();\n for (const f of computedFields.value) if (isTableField(f)) map.set(f.key, f);\n return map;\n });\n const computedItems = computed(() => {\n const sortByItems = sortByModel.value?.filter((el) => !!el.order);\n const mapItem = (item) => {\n if (typeof item === \"object\" && item !== null && Object.keys(item).some((key) => key.includes(\".\"))) {\n let newItem = {};\n for (const key in item) {\n if (key.includes(\".\")) {\n newItem = set(newItem, key, item[key]);\n } else {\n newItem[key] = item[key];\n }\n }\n return newItem;\n }\n return item;\n };\n const filterItem = (item) => {\n if (!isTableItem(item)) return true;\n return Object.entries(item).some(([key, val]) => {\n if (val === null || val === void 0 || key[0] === \"_\" || !props.filterable?.includes(key) && !!props.filterable?.length)\n return false;\n if (props.filterFunction && typeof props.filterFunction === \"function\") {\n return props.filterFunction(item, props.filter);\n }\n const realVal = () => {\n const filterField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === key;\n return false;\n });\n if (isTableField(filterField) && !!filterField.filterByFormatted) {\n const formatter = getFormatter(filterField);\n if (formatter) {\n return String(formatter(val, String(filterField.key), item));\n }\n }\n return typeof val === \"object\" ? JSON.stringify(Object.values(val)) : val.toString();\n };\n const itemValue = realVal();\n return itemValue.toLowerCase().includes(props.filter?.toLowerCase() ?? \"\");\n });\n };\n const mappedItems = (usesProvider.value ? internalItems.value : props.items).reduce(\n (acc, val) => {\n const item = mapItem(val);\n const shouldFilter = isFilterableTable.value && (!usesProvider.value || props.noProviderFiltering);\n if (!shouldFilter || filterItem(item)) acc.push(item);\n return acc;\n },\n []\n );\n if (sortByItems?.length && (isSortable.value === true && !usesProvider.value && !props.noLocalSorting || isSortable.value === true && usesProvider.value && props.noProviderSorting)) {\n return mappedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n const { key, order } = sortByItems[i];\n const field = fieldByKey.value.get(key);\n const comparer = field?.sortCompare || props.sortCompare;\n const comparison = comparer ? comparer(a, b, key) : getStringValue(a, key).localeCompare(getStringValue(b, key), void 0, { numeric: true });\n if (comparison !== 0) {\n return order === \"asc\" ? comparison : -comparison;\n }\n }\n return 0;\n });\n }\n return mappedItems;\n });\n const emptySlotScope = computed(() => ({\n emptyFilteredText: props.emptyFilteredText,\n emptyText: props.emptyText,\n fields: computedFields.value,\n items: computedItems.value\n }));\n const computedDisplayItems = computed(() => {\n if (Number.isNaN(perPageNumber.value) || usesProvider.value && !props.noProviderPaging) {\n return computedItems.value;\n }\n return computedItems.value.slice(\n (currentPageNumber.value - 1) * (perPageNumber.value || Number.POSITIVE_INFINITY),\n currentPageNumber.value * (perPageNumber.value || Number.POSITIVE_INFINITY)\n );\n });\n watch(computedDisplayItems, (v) => {\n emit(\"change\", v);\n });\n const handleRowSelection = (row, index, shiftClicked = false, ctrlClicked = false, metaClicked = false) => {\n if (!props.selectable) return;\n if (props.selectMode === \"single\" || props.selectMode === \"multi\") {\n if (shiftClicked || ctrlClicked) return;\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([row]);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n }\n } else {\n if (ctrlClicked || metaClicked) {\n if (selectedItemsSetUtilities.has(row)) {\n selectedItemsSetUtilities.delete(row);\n } else {\n selectedItemsSetUtilities.add(row);\n }\n } else if (shiftClicked) {\n const lastSelectedItem = [...selectedItemsToSet.value].pop();\n const lastSelectedIndex = computedItems.value.findIndex((i) => i === lastSelectedItem);\n const selectStartIndex = Math.min(lastSelectedIndex, index);\n const selectEndIndex = Math.max(lastSelectedIndex, index);\n const items = computedItems.value.slice(selectStartIndex, selectEndIndex + 1);\n selectedItemsSetUtilities.set(items);\n } else {\n selectedItemsSetUtilities.set([row]);\n }\n }\n };\n const handleFieldSorting = (field) => {\n if (!isSortable.value) return;\n const fieldKey = typeof field === \"object\" && field !== null ? field.key : field;\n const fieldSortable = typeof field === \"object\" && field !== null ? field.sortable : false;\n if (!(isSortable.value === true && fieldSortable === true)) return;\n const getLastSortDirection = () => {\n const lastSorted = [...sortByModel.value ?? []].reverse().find((sort) => sort.order !== void 0 && sort.key !== fieldKey);\n return lastSorted?.order ?? \"asc\";\n };\n const getInitialSortDirection = () => {\n if (typeof field === \"object\" && field !== null && field.initialSortDirection) {\n if (field.initialSortDirection === \"last\") {\n return getLastSortDirection();\n }\n return field.initialSortDirection;\n }\n if (props.initialSortDirection) {\n if (props.initialSortDirection === \"last\") {\n return getLastSortDirection();\n }\n return props.initialSortDirection;\n }\n return \"asc\";\n };\n const resolveOrder = (val) => {\n if (val === void 0) return getInitialSortDirection();\n const initial = getInitialSortDirection();\n const must = props.mustSort === true || Array.isArray(props.mustSort) && props.mustSort.includes(fieldKey);\n if (val === \"asc\") {\n if (initial === \"desc\") {\n return must ? \"desc\" : void 0;\n }\n return \"desc\";\n }\n if (val === \"desc\") {\n if (initial === \"desc\") {\n return \"asc\";\n }\n return must ? \"asc\" : void 0;\n }\n return void 0;\n };\n const index = sortByModel.value?.findIndex((el) => el.key === fieldKey) ?? -1;\n const originalValue = sortByModel.value?.[index];\n const updatedValue = (\n // If value is new, we use the field's initialSortDirection or default to ascending\n // Otherwise we make a temp copy of the value\n index === -1 || !originalValue ? { key: fieldKey, order: getInitialSortDirection() } : { ...originalValue }\n );\n const handleMultiSort = () => {\n const tmp = [...sortByModel.value ?? []];\n const val = updatedValue;\n if (index === -1) {\n tmp.push(val);\n } else {\n const order = resolveOrder(val.order);\n if (order) {\n val.order = order;\n tmp.splice(index, 1, val);\n } else {\n val.order = void 0;\n tmp.splice(index, 1);\n }\n }\n sortByModel.value = tmp;\n return val;\n };\n const handleSingleSort = () => {\n const order = index === -1 ? updatedValue.order : resolveOrder(updatedValue.order);\n const val = {\n ...updatedValue,\n order\n };\n sortByModel.value = order ? [val] : [];\n return val;\n };\n emit(\"sorted\", props.multisort === true ? handleMultiSort() : handleSingleSort());\n };\n let abortController = null;\n const callItemsProvider = async () => {\n if (!usesProvider.value || props.provider === void 0) return;\n if (abortController) {\n abortController.abort();\n }\n abortController = new AbortController();\n const { signal } = abortController;\n busyModel.value = true;\n const response = props.provider({\n currentPage: currentPageNumber.value,\n filter: props.filter,\n sortBy: sortByModel.value,\n perPage: perPageNumber.value,\n signal\n });\n try {\n const items = response instanceof Promise ? await response : response;\n if (signal.aborted) return;\n if (items === void 0) return;\n internalItems.value = items;\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") return;\n throw error;\n } finally {\n if (!signal.aborted) {\n busyModel.value = false;\n }\n }\n };\n const debouncedCallItemsProvider = useDebounceFn(callItemsProvider, debounceNumber, {\n maxWait: debounceMaxWaitNumber\n });\n const providerPropsWatch = async (prop, val, oldVal) => {\n if (deepEqual(val, oldVal)) return;\n const inNoProvider = (key) => props.noProvider?.includes(key) === true;\n const noProvideWhenPaging = (prop === \"currentPage\" || prop === \"perPage\") && (inNoProvider(\"paging\") || props.noProviderPaging === true);\n const noProvideWhenFiltering = prop === \"filter\" && (inNoProvider(\"filtering\") || props.noProviderFiltering === true);\n const noProvideWhenSorting = (prop === \"sortBy\" || prop === \"sortDesc\") && (inNoProvider(\"sorting\") || props.noProviderSorting === true);\n if (noProvideWhenPaging || noProvideWhenFiltering || noProvideWhenSorting) return;\n if (usesProvider.value === true) {\n await debouncedCallItemsProvider();\n }\n if (!(prop === \"currentPage\" || prop === \"perPage\")) {\n emit(\"filtered\", [...computedItems.value]);\n }\n };\n watch(\n () => props.filter,\n (filter, oldFilter) => {\n providerPropsWatch(\"filter\", filter, oldFilter);\n if (filter === oldFilter || usesProvider.value) return;\n if (!filter) {\n emit(\"filtered\", [...computedItems.value]);\n }\n }\n );\n watch(currentPageNumber, (val, oldVal) => {\n providerPropsWatch(\"currentPage\", val, oldVal);\n });\n watch(perPageNumber, (val, oldVal) => {\n providerPropsWatch(\"perPage\", val, oldVal);\n });\n watch(\n sortByModel,\n (val, oldVal) => {\n providerPropsWatch(\"sortBy\", val, oldVal);\n },\n { deep: true }\n );\n watch(\n () => props.provider,\n (newValue) => {\n if (newValue === void 0) {\n internalItems.value = [];\n return;\n }\n callItemsProvider();\n }\n );\n onMounted(callItemsProvider);\n const exposedSelectableUtilities = {\n clearSelected: () => {\n if (!props.selectable) return;\n selectedItemsSetUtilities.clear();\n },\n selectAllRows: () => {\n if (!props.selectable || props.selectMode === \"single\") return;\n selectedItemsToSet.value = new Set(computedItems.value);\n },\n selectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || selectedItemsSetUtilities.has(item)) return;\n if (props.selectMode === \"single\") {\n selectedItemsSetUtilities.set([item]);\n } else {\n selectedItemsSetUtilities.add(item);\n }\n },\n unselectRow: (index) => {\n if (!props.selectable) return;\n const item = computedItems.value[index];\n if (!item || !selectedItemsSetUtilities.has(item)) return;\n selectedItemsSetUtilities.delete(item);\n },\n isRowSelected: (index) => {\n if (!props.selectable) return false;\n const item = computedItems.value[index];\n return selectedItemsSetUtilities.has(item);\n }\n };\n const boundBTableLiteEmits = {\n onHeadClicked: (fieldKey, field, event, isFooter = false) => {\n emit(\"head-clicked\", fieldKey, field, event, isFooter);\n handleFieldSorting(field);\n },\n onRowClicked: (row, index, e) => {\n if (props.noSelectOnClick === false) {\n handleRowSelection(row, index, e.shiftKey, e.ctrlKey, e.metaKey);\n }\n emit(\"row-clicked\", row, index, e);\n },\n onRowDblclicked: (...args) => emit(\"row-dblclicked\", ...args),\n onRowContextmenu: (...args) => emit(\"row-contextmenu\", ...args),\n onRowHovered: (...args) => emit(\"row-hovered\", ...args),\n onRowUnhovered: (...args) => emit(\"row-unhovered\", ...args),\n onRowMiddleClicked: (...args) => emit(\"row-middle-clicked\", ...args)\n };\n const computedLiteProps = computed(() => ({\n ...pick(props, [...btableLiteProps, ...btableSimpleProps]),\n tableAttrs: {\n ariaBusy: busyModel.value\n },\n items: computedDisplayItems.value,\n fields: computedFields.value,\n tableClass: tableClasses.value,\n tbodyTrClass: getRowClasses,\n fieldColumnClass: getFieldColumnClasses,\n id: computedId.value,\n ...boundBTableLiteEmits\n }));\n __expose({\n // The row selection methods are really for compat. Users should probably use the v-model though\n ...exposedSelectableUtilities,\n items: computedItems,\n displayItems: computedDisplayItems,\n getStringValue,\n refresh: callItemsProvider\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$2, normalizeProps(guardReactiveProps(computedLiteProps.value)), createSlots({\n \"custom-body\": withCtx((scope) => [\n busyModel.value && slots[\"table-busy\"] ? (openBlock(), createBlock(_sfc_main$3, {\n key: 0,\n class: normalizeClass([\"b-table-busy-slot\", getBusyRowClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: scope.fields.length\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-busy\")\n ]),\n _: 2\n }, 1032, [\"colspan\"])\n ]),\n _: 2\n }, 1032, [\"class\"])) : unref(props).showEmpty === true && computedItems.value.length === 0 ? (openBlock(), createBlock(_sfc_main$3, {\n key: 1,\n class: \"b-table-empty-row\"\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$7, {\n colspan: computedFields.value.length\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_1, [\n createElementVNode(\"div\", _hoisted_2, [\n isFilterableTable.value ? renderSlot(_ctx.$slots, \"empty-filtered\", normalizeProps(mergeProps({ key: 0 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyFilteredText), 1)\n ]) : renderSlot(_ctx.$slots, \"empty\", normalizeProps(mergeProps({ key: 1 }, emptySlotScope.value)), () => [\n createTextVNode(toDisplayString(unref(props).emptyText), 1)\n ])\n ])\n ])\n ]),\n _: 3\n }, 8, [\"colspan\"])\n ]),\n _: 3\n })) : createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n slots[\"table-colgroup\"] ? {\n name: \"table-colgroup\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"table-colgroup\", normalizeProps(guardReactiveProps(scope)))\n ]),\n key: \"0\"\n } : void 0,\n slots[\"thead-top\"] ? {\n name: \"thead-top\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-top\", mergeProps(scope, {\n clearSelected: exposedSelectableUtilities.clearSelected,\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n fields: computedFields.value\n }))\n ]),\n key: \"1\"\n } : void 0,\n slots[\"thead-sub\"] ? {\n name: \"thead-sub\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"thead-sub\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"2\"\n } : void 0,\n slots[\"top-row\"] ? {\n name: \"top-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"top-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"3\"\n } : void 0,\n slots[\"row-details\"] ? {\n name: \"row-details\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"row-details\", mergeProps(scope, {\n fields: computedFields.value,\n selectRow: () => exposedSelectableUtilities.selectRow(scope.index),\n unselectRow: () => exposedSelectableUtilities.unselectRow(scope.index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ]),\n key: \"4\"\n } : void 0,\n slots[\"bottom-row\"] ? {\n name: \"bottom-row\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"bottom-row\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"5\"\n } : void 0,\n slots[\"custom-foot\"] ? {\n name: \"custom-foot\",\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, \"custom-foot\", mergeProps(scope, { fields: computedFields.value }))\n ]),\n key: \"6\"\n } : void 0,\n slots[\"table-caption\"] ? {\n name: \"table-caption\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-caption\")\n ]),\n key: \"7\"\n } : void 0,\n renderList(dynamicCellSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectRow: () => exposedSelectableUtilities.selectRow(scope.index),\n unselectRow: () => exposedSelectableUtilities.unselectRow(scope.index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ])\n };\n }),\n renderList(dynamicFootSlots.value, (name) => {\n return {\n name,\n fn: withCtx((scope) => [\n renderSlot(_ctx.$slots, name, mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }))\n ])\n };\n }),\n renderList(computedFields.value, (field) => {\n return {\n name: `head(${String(field.key)})`,\n fn: withCtx((scope) => [\n renderSlot(\n _ctx.$slots,\n slots[`head(${String(field.key)})`] ? `head(${String(field.key)})` : \"head()\",\n mergeProps(scope, {\n selectAllRows: exposedSelectableUtilities.selectAllRows,\n clearSelected: exposedSelectableUtilities.clearSelected\n }),\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n ),\n isSortable.value && !!scope.field.sortable && unref(props).noSortableIcon === false ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n sortByModel.value?.find((el) => el.key === scope.field.key)?.order === \"asc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortAsc(${String(scope.field.key)})`] ? `sortAsc(${String(scope.field.key)})` : \"sortAsc()\",\n normalizeProps(mergeProps({ key: 0 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n ) : sortByModel.value?.find((el) => el.key === scope.field.key)?.order === \"desc\" ? renderSlot(\n _ctx.$slots,\n slots[`sortDesc(${String(scope.field.key)})`] ? `sortDesc(${String(scope.field.key)})` : \"sortDesc()\",\n normalizeProps(mergeProps({ key: 1 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n ) : renderSlot(\n _ctx.$slots,\n slots[`sortDefault(${String(scope.field.key)})`] ? `sortDefault(${String(scope.field.key)})` : \"sortDefault()\",\n normalizeProps(mergeProps({ key: 2 }, scope)),\n () => [\n createVNode(_sfc_main$1, {\n \"field-info\": scope.field,\n \"sort-by\": sortByModel.value,\n \"initial-sort-direction\": unref(props).initialSortDirection\n }, null, 8, [\"field-info\", \"sort-by\", \"initial-sort-direction\"])\n ]\n )\n ], 64)) : createCommentVNode(\"\", true)\n ])\n };\n })\n ]), 1040);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$2 as a,\n _sfc_main$8 as b,\n _sfc_main$7 as c,\n _sfc_main$6 as d,\n _sfc_main$5 as e,\n _sfc_main$4 as f,\n _sfc_main$3 as g\n};\n//# sourceMappingURL=BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs.map\n","import { defineComponent, mergeModels, useSlots, useAttrs, useModel, inject, ref, computed, useTemplateRef, onUnmounted, watch, createBlock, openBlock, resolveDynamicComponent, unref, mergeProps, withCtx, renderSlot, createCommentVNode, nextTick, onMounted, provide, toRef, normalizeClass, createVNode, createElementVNode, createElementBlock, Fragment, renderList, withModifiers, withKeys, createTextVNode, toDisplayString } from \"vue\";\nimport { B as BvEvent } from \"./classes-BW_GpXTu.mjs\";\nimport { u as useAlignment } from \"./useAlignment-Cw-9AVid.mjs\";\nimport { u as useId } from \"./useId-t29UARy6.mjs\";\nimport { i as createReusableTemplate } from \"./index-C0p9vHHI.mjs\";\nimport { t as tabsInjectionKey } from \"./keys-BLeKMItg.mjs\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { s as sortSlotElementsByPosition } from \"./dom-DVb-f0ZG.mjs\";\nimport { f as flattenFragments } from \"./flattenFragments-BoFLyuna.mjs\";\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BTab\",\n props: /* @__PURE__ */ mergeModels({\n buttonId: { default: void 0 },\n disabled: { type: Boolean, default: false },\n id: { default: void 0 },\n lazy: { type: Boolean, default: void 0 },\n unmountLazy: { type: Boolean, default: void 0 },\n noBody: { type: Boolean, default: false },\n tag: { default: \"div\" },\n title: { default: void 0 },\n titleItemClass: { default: void 0 },\n titleLinkAttrs: { default: void 0 },\n titleLinkClass: { default: void 0 }\n }, {\n \"active\": { type: Boolean, ...{\n default: false\n } },\n \"activeModifiers\": {}\n }),\n emits: [\"update:active\"],\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTab\");\n const slots = useSlots();\n const attrs = useAttrs();\n const activeModel = useModel(__props, \"active\");\n const parentData = inject(tabsInjectionKey, null);\n const localId = ref(props.id);\n const internalId = useId(\"\", \"tabpane\");\n const computedId = computed(() => props.id ?? localId.value ?? internalId.value);\n const computedButtonId = useId(() => props.buttonId, \"tab\");\n const lazyRenderCompleted = ref(false);\n const el = useTemplateRef(\"_el\");\n const processedAttrs = computed(() => {\n const { onClick: _, ...tabAttrs } = attrs;\n return tabAttrs;\n });\n function updateTab() {\n if (!parentData) return;\n const newId = parentData.registerTab(\n computed(\n () => ({\n internalId: internalId.value,\n id: computedId.value,\n active: activeModel.value,\n buttonId: computedButtonId.value,\n disabled: props.disabled,\n title: props.title,\n titleComponent: slots.title,\n titleItemClass: props.titleItemClass,\n titleLinkAttrs: props.titleLinkAttrs,\n titleLinkClass: props.titleLinkClass,\n onClick: attrs.onClick,\n el\n })\n )\n );\n if (newId !== localId.value) {\n localId.value = newId;\n }\n }\n if (parentData) {\n updateTab();\n if (activeModel.value) {\n parentData.activateTab(internalId.value);\n }\n }\n onUnmounted(() => {\n if (!parentData) return;\n parentData.unregisterTab(internalId.value);\n });\n const isActive = computed(() => parentData?.activeId.value === computedId.value);\n const show = ref(isActive.value);\n const computedLazy = computed(() => !!(parentData?.lazy.value || props.lazy));\n const computedActive = computed(() => isActive.value && !props.disabled);\n const showSlot = computed(\n () => computedActive.value || !computedLazy.value || computedLazy.value && !props.unmountLazy && lazyRenderCompleted.value\n );\n watch(showSlot, (shown) => {\n if (shown && !lazyRenderCompleted.value) lazyRenderCompleted.value = true;\n });\n watch(isActive, (active) => {\n if (active) {\n activeModel.value = true;\n setTimeout(() => {\n show.value = true;\n }, 0);\n return;\n }\n show.value = false;\n activeModel.value = false;\n });\n watch(activeModel, (active) => {\n if (props.disabled) {\n activeModel.value = false;\n return;\n }\n if (!parentData) return;\n if (!active) {\n if (isActive.value) {\n parentData.activateTab(void 0);\n }\n return;\n }\n if (!isActive.value) {\n parentData.activateTab(internalId.value);\n }\n });\n const computedClasses = computed(() => [\n {\n \"active\": isActive.value,\n \"show\": show.value,\n \"card-body\": parentData?.card.value && props.noBody === false,\n \"fade\": !parentData?.noFade.value\n },\n show.value ? parentData?.activeTabClass.value : parentData?.inactiveTabClass.value,\n parentData?.tabClass.value\n ]);\n __expose({\n activate: () => {\n activeModel.value = true;\n },\n deactivate: () => {\n activeModel.value = false;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), mergeProps({\n id: computedId.value,\n ref: \"_el\",\n class: [\"tab-pane\", computedClasses.value],\n role: \"tabpanel\",\n \"aria-labelledby\": unref(computedButtonId)\n }, processedAttrs.value), {\n default: withCtx(() => [\n showSlot.value ? renderSlot(_ctx.$slots, \"default\", { key: 0 }) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 16, [\"id\", \"class\", \"aria-labelledby\"]);\n };\n }\n});\nconst _hoisted_1 = [\"aria-orientation\"];\nconst _hoisted_2 = [\"id\", \"aria-controls\", \"aria-selected\", \"disabled\", \"tabindex\", \"onClick\"];\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTabs\",\n props: /* @__PURE__ */ mergeModels({\n activeNavItemClass: { default: void 0 },\n activeTabClass: { default: void 0 },\n align: { default: void 0 },\n card: { type: Boolean, default: false },\n contentClass: { default: void 0 },\n end: { type: Boolean, default: false },\n fill: { type: Boolean, default: false },\n id: { default: void 0 },\n index: {},\n inactiveNavItemClass: { default: void 0 },\n inactiveTabClass: { default: void 0 },\n justified: { type: Boolean, default: false },\n lazy: { type: Boolean, default: false },\n navClass: { default: void 0 },\n navItemClass: { default: void 0 },\n navWrapperClass: { default: void 0 },\n noFade: { type: Boolean, default: false },\n noKeyNav: { type: Boolean, default: false },\n noNavStyle: { type: Boolean, default: false },\n pills: { type: Boolean, default: false },\n small: { type: Boolean, default: false },\n tag: { default: \"div\" },\n tabClass: { default: void 0 },\n underline: { type: Boolean, default: false },\n vertical: { type: Boolean, default: false }\n }, {\n \"index\": {\n default: -1\n },\n \"indexModifiers\": {},\n \"modelValue\": {\n default: void 0\n },\n \"modelModifiers\": {}\n }),\n emits: /* @__PURE__ */ mergeModels([\"activate-tab\"], [\"update:index\", \"update:modelValue\"]),\n setup(__props, { emit: __emit }) {\n const _props = __props;\n const props = useDefaults(_props, \"BTabs\");\n const emit = __emit;\n const slots = useSlots();\n const activeIndex = useModel(__props, \"index\");\n const activeId = useModel(__props, \"modelValue\");\n const ReusableEmptyTab = createReusableTemplate();\n const tabsInternal = ref([]);\n const tabElementsArray = ref([]);\n const isChildActive = ref(false);\n const initialIds = ref([]);\n const updateTabElementsArray = () => {\n const tabElements = flattenFragments(slots.default?.({}) ?? []);\n tabElementsArray.value = (Array.isArray(tabElements) ? tabElements : [tabElements]).filter(\n (tab) => tab.type === _sfc_main$1\n );\n if (initialIds.value.length === 0) {\n initialIds.value = tabElementsArray.value.map(\n (tab) => unref(useId(() => tab.props?.id, \"tabpane\"))\n );\n }\n isChildActive.value = tabElementsArray.value.some(\n (tab) => tab.props?.active !== void 0 && tab.props?.active !== false\n );\n };\n updateTabElementsArray();\n watch(\n () => slots.default?.({}),\n () => {\n updateTabElementsArray();\n nextTick(() => {\n sortTabs();\n });\n }\n );\n const tabs = computed(() => {\n if (tabsInternal.value.length === 0) {\n const _activeIndex = tabElementsArray.value.findIndex(\n (tab) => tab.props?.active !== void 0 && (tab.props.disabled === false || tab.props.disabled === void 0) || activeId.value && tab.props?.id === activeId.value\n );\n return tabElementsArray.value.map((tab, index) => {\n const active = _activeIndex !== -1 ? index === _activeIndex : activeIndex.value > -1 ? index === activeIndex.value : index === 0;\n return {\n id: tab.props?.id ?? initialIds.value[index],\n internalId: `premount-${index}`,\n // temporary id for the tab\n buttonId: tab.props?.buttonId,\n disabled: tab.props?.disabled,\n title: tab.props?.title,\n titleComponent: tab.children?.title,\n titleItemClass: tab.props?.titleItemClass,\n titleLinkAttrs: tab.props?.titleLinkAttrs,\n titleLinkClass: tab.props?.titleLinkClass,\n onClick: tab.props?.onClick,\n active,\n navItemClasses: [\n {\n active,\n disabled: !(tab.props?.disabled === false || tab.props?.disabled === void 0)\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass\n ]\n };\n });\n }\n return tabsInternal.value.map((_tab) => {\n const tab = unref(_tab);\n const active = tab.id === activeId.value;\n return {\n ...tab,\n active,\n navItemClasses: [\n {\n active,\n disabled: tab.disabled\n },\n active ? props.activeNavItemClass : props.inactiveNavItemClass,\n props.navItemClass\n ]\n };\n });\n });\n let initialized = false;\n let updateInitialActiveIndex = false;\n let updateInitialActiveId = false;\n if (activeIndex.value === -1 && activeId.value) {\n if (tabs.value.findIndex((t) => t.id === activeId.value) !== -1) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value);\n } else {\n updateInitialActiveIndex = true;\n }\n } else if (activeIndex.value > -1 && !activeId.value) {\n if (tabs.value[activeIndex.value]?.id) {\n activeId.value = tabs.value[activeIndex.value]?.id;\n } else {\n updateInitialActiveId = true;\n }\n } else if (activeIndex.value === -1 && !activeId.value && !isChildActive.value) {\n activeIndex.value = tabs.value.findIndex((t) => t.disabled === void 0 || t.disabled === false);\n activeId.value = tabs.value[activeIndex.value]?.id;\n } else if (activeIndex.value === -1 && !activeId.value && isChildActive.value) {\n activeIndex.value = tabs.value.findIndex(\n (t) => t.active !== void 0 && t.active !== false && (t.disabled === void 0 || t.disabled === false)\n );\n activeId.value = tabs.value[activeIndex.value]?.id;\n }\n function updateInitialIndexAndId() {\n if (updateInitialActiveIndex) {\n const index = tabs.value.findIndex((t) => t.id === activeId.value);\n if (index !== -1) {\n nextTick(() => {\n activeIndex.value = index;\n updateInitialActiveIndex = false;\n });\n }\n }\n if (updateInitialActiveId) {\n if (activeIndex.value > -1 && tabs.value[activeIndex.value]?.id) {\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id;\n updateInitialActiveId = false;\n });\n }\n }\n }\n updateInitialIndexAndId();\n const showEmpty = computed(() => !(tabs?.value && tabs.value.length > 0));\n const computedClasses = computed(() => ({\n \"d-flex\": props.vertical,\n \"align-items-start\": props.vertical\n }));\n const alignment = useAlignment(() => props.align);\n const navTabsClasses = computed(() => ({\n \"nav-pills\": props.pills,\n \"nav-underline\": props.underline,\n \"flex-column me-3\": props.vertical,\n [alignment.value]: props.align !== void 0,\n \"nav-fill\": props.fill,\n \"card-header-tabs\": props.card && !props.pills && !props.underline,\n \"card-header-pills\": props.card && props.pills,\n \"nav-justified\": props.justified,\n \"nav-tabs\": !props.noNavStyle && !props.pills && !props.underline,\n \"small\": props.small\n }));\n const handleClick = (event, index) => {\n if (index >= 0 && !tabs.value[index].disabled && tabs.value[index]?.onClick && typeof tabs.value[index].onClick === \"function\") {\n tabs.value[index].onClick?.(event);\n if (event.defaultPrevented) {\n document.getElementById(tabs.value[index].buttonId)?.blur();\n return;\n }\n }\n activeIndex.value = index;\n };\n const keynav = (e, direction) => {\n if (tabs.value.length <= 0 || props.noKeyNav) return;\n e.preventDefault();\n e.stopPropagation();\n activeIndex.value = nextIndex(activeIndex.value + direction, direction);\n nextTick(() => {\n if (activeIndex.value >= 0) {\n document.getElementById(tabs.value[activeIndex.value]?.buttonId)?.focus();\n }\n });\n };\n const nextIndex = (start, direction) => {\n let index = start;\n let minIdx = -1;\n let maxIdx = -1;\n for (let i = 0; i < tabs.value.length; i++) {\n if (!tabs.value[i].disabled) {\n if (minIdx === -1) minIdx = i;\n maxIdx = i;\n }\n }\n while (index >= minIdx && index <= maxIdx && tabs.value[index].disabled) {\n index += direction;\n }\n if (index < minIdx) index = minIdx;\n if (index > maxIdx) index = maxIdx;\n return index;\n };\n let previousIndex;\n let isReverting = false;\n watch(activeIndex, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return;\n }\n if (isReverting) {\n isReverting = false;\n return;\n }\n const index = nextIndex(newValue, newValue > oldValue ? 1 : -1);\n if (index !== newValue) {\n previousIndex = oldValue;\n activeIndex.value = index;\n return;\n }\n const tabEvent = new BvEvent(\"activate-tab\", { cancelable: true });\n emit(\n \"activate-tab\",\n tabs.value[index]?.id,\n tabs.value[previousIndex ?? oldValue]?.id,\n index,\n previousIndex ?? oldValue,\n tabEvent\n );\n if (tabEvent.defaultPrevented) {\n isReverting = true;\n const prev = previousIndex ?? oldValue ?? nextIndex(0, 1);\n previousIndex = void 0;\n if (activeId.value !== tabs.value[prev]?.id) {\n activeId.value = tabs.value[prev]?.id;\n }\n nextTick(() => {\n if (prev >= 0) {\n document.getElementById(tabs.value[prev]?.buttonId)?.focus();\n }\n });\n return;\n }\n if (activeId.value !== tabs.value[index]?.id) {\n activeId.value = tabs.value[index]?.id;\n }\n previousIndex = void 0;\n });\n watch(activeId, (newValue, oldValue) => {\n if (tabs.value.length <= 0 || tabs.value.filter((t) => !t.disabled).length <= 0) {\n return;\n }\n const index = tabs.value.findIndex((t) => t.id === newValue);\n if (index === activeIndex.value) return;\n const oldIndex = tabs.value.findIndex((t) => t.id === oldValue);\n if (tabs.value[index]?.disabled) {\n activeIndex.value = nextIndex(index, index > oldIndex ? 1 : -1);\n return;\n }\n if (index === -1) {\n activeIndex.value = nextIndex(0, 1);\n nextTick(() => {\n activeId.value = tabs.value[activeIndex.value]?.id;\n });\n return;\n }\n activeIndex.value = index;\n });\n const registerTab = (tab) => {\n const idx = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId);\n if (idx === -1) {\n tabsInternal.value.push(tab);\n if (initialized) {\n nextTick(() => {\n sortTabs();\n });\n }\n } else {\n tabsInternal.value[idx] = tab;\n if (initialized) {\n sortTabs();\n }\n }\n const idx2 = tabsInternal.value.findIndex((t) => t.value.internalId === tab.value.internalId);\n return tab.value.id ?? (!initialized ? initialIds.value[idx2] : tab.value.internalId);\n };\n onMounted(() => {\n updateInitialIndexAndId();\n sortTabs();\n initialized = true;\n });\n const sortTabs = () => {\n tabsInternal.value.sort((a, b) => sortSlotElementsByPosition(a.value.el.value, b.value.el.value));\n if (activeId.value && activeIndex.value !== tabs.value.findIndex((t) => t.id === activeId.value)) {\n activeIndex.value = tabs.value.findIndex((t) => t.id === activeId.value);\n }\n };\n const unregisterTab = (id) => {\n tabsInternal.value = tabsInternal.value.filter((t) => t.value.internalId !== id);\n };\n provide(tabsInjectionKey, {\n lazy: toRef(() => props.lazy),\n card: toRef(() => props.card),\n noFade: toRef(() => props.noFade),\n activeTabClass: toRef(() => props.activeTabClass),\n inactiveTabClass: toRef(() => props.inactiveTabClass),\n tabClass: toRef(() => props.tabClass),\n registerTab,\n unregisterTab,\n activeId,\n activateTab: (internalId) => {\n const idx = tabs.value.findIndex((t) => t.internalId === internalId);\n if (internalId === void 0 || idx === -1) {\n activeIndex.value = nextIndex(0, 1);\n return;\n }\n activeIndex.value = idx;\n }\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(unref(props).tag), {\n id: unref(props).id,\n class: normalizeClass([\"tabs\", computedClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(unref(ReusableEmptyTab).define, null, {\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass([\"tab-content\", unref(props).contentClass])\n }, [\n renderSlot(_ctx.$slots, \"default\"),\n showEmpty.value ? (openBlock(), createElementBlock(\"div\", {\n key: \"bv-empty-tab\",\n class: normalizeClass([\"tab-pane active\", { \"card-body\": unref(props).card }])\n }, [\n renderSlot(_ctx.$slots, \"empty\")\n ], 2)) : createCommentVNode(\"\", true)\n ], 2)\n ]),\n _: 3\n }),\n unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 0 })) : createCommentVNode(\"\", true),\n createElementVNode(\"div\", {\n class: normalizeClass([\n unref(props).navWrapperClass,\n { \"card-header\": unref(props).card, \"ms-auto\": _ctx.vertical && unref(props).end }\n ])\n }, [\n createElementVNode(\"ul\", {\n class: normalizeClass([\"nav\", [navTabsClasses.value, unref(props).navClass]]),\n role: \"tablist\",\n \"aria-orientation\": unref(props).vertical ? \"vertical\" : \"horizontal\"\n }, [\n renderSlot(_ctx.$slots, \"tabs-start\"),\n (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab, idx) => {\n return openBlock(), createElementBlock(\"li\", {\n key: tab.id ?? tab.internalId,\n class: normalizeClass([\"nav-item\", tab.titleItemClass]),\n role: \"presentation\"\n }, [\n createElementVNode(\"button\", mergeProps({\n id: tab.buttonId,\n class: [\"nav-link\", [tab.navItemClasses, tab.titleLinkClass]],\n role: \"tab\",\n \"aria-controls\": tab.id,\n \"aria-selected\": tab.active,\n disabled: tab.disabled,\n tabindex: unref(props).noKeyNav ? void 0 : tab.active ? void 0 : -1,\n type: \"button\"\n }, { ref_for: true }, tab.titleLinkAttrs, {\n onKeydown: [\n _cache[0] || (_cache[0] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, -1), [\"exact\"]), [\"left\"])),\n _cache[1] || (_cache[1] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, -999), [\"shift\"]), [\"left\"])),\n _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, -1), [\"exact\"]), [\"up\"])),\n _cache[3] || (_cache[3] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, -999), [\"shift\"]), [\"up\"])),\n _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, 1), [\"exact\"]), [\"right\"])),\n _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => !unref(props).vertical && keynav($event, 999), [\"shift\"]), [\"right\"])),\n _cache[6] || (_cache[6] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, 1), [\"exact\"]), [\"down\"])),\n _cache[7] || (_cache[7] = withKeys(withModifiers(($event) => unref(props).vertical && keynav($event, 999), [\"shift\"]), [\"down\"])),\n _cache[8] || (_cache[8] = withKeys(($event) => keynav($event, -999), [\"page-up\"])),\n _cache[9] || (_cache[9] = withKeys(($event) => keynav($event, 999), [\"page-down\"])),\n _cache[10] || (_cache[10] = withKeys(($event) => keynav($event, -999), [\"home\"])),\n _cache[11] || (_cache[11] = withKeys(($event) => keynav($event, 999), [\"end\"]))\n ],\n onClick: withModifiers((e) => handleClick(e, idx), [\"stop\"])\n }), [\n tab.titleComponent ? (openBlock(), createBlock(resolveDynamicComponent(tab.titleComponent), { key: 0 })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n createTextVNode(toDisplayString(tab.title), 1)\n ], 64))\n ], 16, _hoisted_2)\n ], 2);\n }), 128)),\n renderSlot(_ctx.$slots, \"tabs-end\")\n ], 10, _hoisted_1)\n ], 2),\n !unref(props).end ? (openBlock(), createBlock(unref(ReusableEmptyTab).reuse, { key: 1 })) : createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"id\", \"class\"]);\n };\n }\n});\nexport {\n _sfc_main$1 as _,\n _sfc_main as a\n};\n//# sourceMappingURL=BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs.map\n","import { defineComponent, watch, createBlock, openBlock, unref, withCtx, createCommentVNode, normalizeProps, mergeProps } from \"vue\";\nimport { u as useDefaults } from \"./useDefaults-DESCdb0p.mjs\";\nimport { _ as _sfc_main$1 } from \"./ConditionalTeleport.vue_vue_type_script_lang-Cp-egLmm.mjs\";\nimport { u as useToast } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _sfc_main$2 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...{\n inheritAttrs: false\n },\n __name: \"BToastOrchestrator\",\n props: {\n appendToast: { type: Boolean, default: false },\n teleportDisabled: { type: Boolean, default: false },\n teleportTo: { default: \"body\" }\n },\n setup(__props, { expose: __expose }) {\n const _props = __props;\n const props = useDefaults(_props, \"BToastOrchestrator\");\n const tools = useToast();\n let renderOrchestrator = false;\n if (!tools._isOrchestratorInstalled.value) {\n renderOrchestrator = true;\n }\n if (process.env.NODE_ENV === \"development\") {\n console.warn(\"BToastOrchestrator is deprecated, use BOrchestrator instead\");\n }\n watch(\n () => props.appendToast,\n (value) => {\n tools._isToastAppend.value = value;\n },\n { immediate: true }\n );\n __expose({\n ...tools\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, {\n to: unref(props).teleportTo,\n disabled: unref(props).teleportDisabled\n }, {\n default: withCtx(() => [\n unref(renderOrchestrator) ? (openBlock(), createBlock(_sfc_main$2, normalizeProps(mergeProps({ key: 0 }, _ctx.$attrs)), null, 16)) : createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"to\", \"disabled\"]);\n };\n }\n});\nexport {\n _sfc_main as _\n};\n//# sourceMappingURL=BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs.map\n","import { _ as _sfc_main, a as _sfc_main$1 } from \"./BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs\";\nimport { _ as _sfc_main$2 } from \"./BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs\";\nimport { _ as _sfc_main$3 } from \"./BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs\";\nimport { _ as _sfc_main$1b } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _sfc_main$4, a as _sfc_main$5 } from \"./BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs\";\nimport { _ as _sfc_main$6 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { _ as _sfc_main$7, a as _sfc_main$8 } from \"./BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs\";\nimport { _ as _sfc_main$9 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _sfc_main$a, a as _sfc_main$b } from \"./BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs\";\nimport { _ as _sfc_main$n } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _sfc_main$c, a as _sfc_main$d, b as _sfc_main$e, c as _sfc_main$g, d as _sfc_main$h, e as _sfc_main$i, f as _sfc_main$k } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { _ as _sfc_main$f, a as _sfc_main$j } from \"./BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs\";\nimport { _ as _sfc_main$l, a as _sfc_main$m } from \"./BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs\";\nimport { _ as _sfc_main$p } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { _ as _sfc_main$o } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _sfc_main$q } from \"./BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs\";\nimport { _ as _sfc_main$1n } from \"./BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs\";\nimport { _ as _sfc_main$r } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nimport { _ as _sfc_main$s, a as _sfc_main$t, b as _sfc_main$u, c as _sfc_main$v, d as _sfc_main$w, e as _sfc_main$x, f as _sfc_main$y } from \"./BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs\";\nimport { _ as _sfc_main$z } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _sfc_main$C, a as _sfc_main$E } from \"./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs\";\nimport { _ as _sfc_main$H, a as _sfc_main$L, b as _sfc_main$S, c as _sfc_main$U } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { _ as _sfc_main$A, a as _sfc_main$B } from \"./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs\";\nimport { _ as _sfc_main$D } from \"./BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs\";\nimport { _ as _sfc_main$F } from \"./BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs\";\nimport { _ as _sfc_main$G } from \"./BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs\";\nimport { _ as _sfc_main$I, a as _sfc_main$J } from \"./BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs\";\nimport { _ as _sfc_main$K } from \"./BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs\";\nimport { _ as _sfc_main$M, a as _sfc_main$O } from \"./BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs\";\nimport { _ as _sfc_main$N } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { _ as _sfc_main$P } from \"./BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs\";\nimport { a as _sfc_main$Q, _ as _sfc_main$R } from \"./BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs\";\nimport { _ as _sfc_main$T } from \"./BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs\";\nimport { _ as _sfc_main$V } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { _ as _sfc_main$W, a as _sfc_main$X } from \"./BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs\";\nimport { _ as _sfc_main$Y } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _sfc_main$Z, a as _sfc_main$_ } from \"./BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs\";\nimport { _ as _sfc_main$$ } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _sfc_main$10 } from \"./BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs\";\nimport { _ as _sfc_main$11, a as _sfc_main$12, b as _sfc_main$13, c as _sfc_main$14, d as _sfc_main$15 } from \"./BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs\";\nimport { _ as _sfc_main$16, a as _sfc_main$17, b as _sfc_main$18, c as _sfc_main$19 } from \"./BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs\";\nimport { _ as _sfc_main$1a } from \"./BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs\";\nimport { _ as _sfc_main$1c } from \"./BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs\";\nimport { _ as _sfc_main$1d } from \"./BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs\";\nimport { _ as _sfc_main$1e, a as _sfc_main$1f, b as _sfc_main$1g, c as _sfc_main$1h, d as _sfc_main$1i } from \"./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs\";\nimport { _ as _sfc_main$1j } from \"./floatingUi-BBabBWxD.mjs\";\nimport { _ as _sfc_main$1k } from \"./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs\";\nimport { _ as _sfc_main$1l, a as _sfc_main$1m } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { _ as _sfc_main$1o } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _sfc_main$1q, a as _sfc_main$1r, b as _sfc_main$1u, c as _sfc_main$1v, d as _sfc_main$1w, e as _sfc_main$1x, f as _sfc_main$1y, g as _sfc_main$1C } from \"./BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs\";\nimport { _ as _sfc_main$1s } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { _ as _sfc_main$1p, a as _sfc_main$1t } from \"./BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs\";\nimport { _ as _sfc_main$1z } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _sfc_main$1A } from \"./BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs\";\nimport { _ as _sfc_main$1B } from \"./BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BAccordion: _sfc_main,\n BAccordionItem: _sfc_main$1,\n BAlert: _sfc_main$2,\n BApp: _sfc_main$3,\n BAvatar: _sfc_main$4,\n BAvatarGroup: _sfc_main$5,\n BBadge: _sfc_main$6,\n BBreadcrumb: _sfc_main$7,\n BBreadcrumbItem: _sfc_main$8,\n BButton: _sfc_main$9,\n BButtonGroup: _sfc_main$a,\n BButtonToolbar: _sfc_main$b,\n BCard: _sfc_main$c,\n BCardBody: _sfc_main$d,\n BCardFooter: _sfc_main$e,\n BCardGroup: _sfc_main$f,\n BCardHeader: _sfc_main$g,\n BCardImg: _sfc_main$h,\n BCardSubtitle: _sfc_main$i,\n BCardText: _sfc_main$j,\n BCardTitle: _sfc_main$k,\n BCarousel: _sfc_main$l,\n BCarouselSlide: _sfc_main$m,\n BCloseButton: _sfc_main$n,\n BCol: _sfc_main$o,\n BCollapse: _sfc_main$p,\n BContainer: _sfc_main$q,\n BDropdown: _sfc_main$r,\n BDropdownDivider: _sfc_main$s,\n BDropdownForm: _sfc_main$t,\n BDropdownGroup: _sfc_main$u,\n BDropdownHeader: _sfc_main$v,\n BDropdownItem: _sfc_main$w,\n BDropdownItemButton: _sfc_main$x,\n BDropdownText: _sfc_main$y,\n BForm: _sfc_main$z,\n BFormCheckbox: _sfc_main$A,\n BFormCheckboxGroup: _sfc_main$B,\n BFormDatalist: _sfc_main$C,\n BFormFile: _sfc_main$D,\n BFormFloatingLabel: _sfc_main$E,\n BFormGroup: _sfc_main$F,\n BFormInput: _sfc_main$G,\n BFormInvalidFeedback: _sfc_main$H,\n BFormRadio: _sfc_main$I,\n BFormRadioGroup: _sfc_main$J,\n BFormRating: _sfc_main$K,\n BFormRow: _sfc_main$L,\n BFormSelect: _sfc_main$M,\n BFormSelectOption: _sfc_main$N,\n BFormSelectOptionGroup: _sfc_main$O,\n BFormSpinbutton: _sfc_main$P,\n BFormTag: _sfc_main$Q,\n BFormTags: _sfc_main$R,\n BFormText: _sfc_main$S,\n BFormTextarea: _sfc_main$T,\n BFormValidFeedback: _sfc_main$U,\n BImg: _sfc_main$V,\n BInput: _sfc_main$G,\n BInputGroup: _sfc_main$W,\n BInputGroupText: _sfc_main$X,\n BLink: _sfc_main$Y,\n BListGroup: _sfc_main$Z,\n BListGroupItem: _sfc_main$_,\n BModal: _sfc_main$$,\n BModalOrchestrator: _sfc_main$10,\n BNav: _sfc_main$11,\n BNavForm: _sfc_main$12,\n BNavItem: _sfc_main$13,\n BNavItemDropdown: _sfc_main$14,\n BNavText: _sfc_main$15,\n BNavbar: _sfc_main$16,\n BNavbarBrand: _sfc_main$17,\n BNavbarNav: _sfc_main$18,\n BNavbarToggle: _sfc_main$19,\n BOffcanvas: _sfc_main$1a,\n BOrchestrator: _sfc_main$1b,\n BOverlay: _sfc_main$1c,\n BPagination: _sfc_main$1d,\n BPlaceholder: _sfc_main$1e,\n BPlaceholderButton: _sfc_main$1f,\n BPlaceholderCard: _sfc_main$1g,\n BPlaceholderTable: _sfc_main$1h,\n BPlaceholderWrapper: _sfc_main$1i,\n BPopover: _sfc_main$1j,\n BPopoverOrchestrator: _sfc_main$1k,\n BProgress: _sfc_main$1l,\n BProgressBar: _sfc_main$1m,\n BRow: _sfc_main$1n,\n BSpinner: _sfc_main$1o,\n BTab: _sfc_main$1p,\n BTable: _sfc_main$1q,\n BTableLite: _sfc_main$1r,\n BTableSimple: _sfc_main$1s,\n BTabs: _sfc_main$1t,\n BTbody: _sfc_main$1u,\n BTd: _sfc_main$1v,\n BTfoot: _sfc_main$1w,\n BTh: _sfc_main$1x,\n BThead: _sfc_main$1y,\n BToast: _sfc_main$1z,\n BToastOrchestrator: _sfc_main$1A,\n BTooltip: _sfc_main$1B,\n BTr: _sfc_main$1C\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-E0aMItoE.mjs.map\n","import { a as componentsWithExternalPath, f as directivesWithExternalPath, c as componentNames, e as directiveNames } from \"./BootstrapVueOptions-DSytNWdb.mjs\";\nconst bvKey = \"bootstrap-vue-next\";\nconst parseActiveImports = (options, values) => {\n const { all, ...others } = options;\n const valuesCopy = {};\n if (all) {\n values.forEach((el) => {\n valuesCopy[el] = all;\n });\n }\n const merge = { ...valuesCopy, ...others };\n return Object.entries(merge).filter(([name, value]) => !!value && values.includes(name)).map(([name]) => name);\n};\nconst usedComponents = /* @__PURE__ */ new Set();\nconst usedDirectives = /* @__PURE__ */ new Set();\nconst BootstrapVueNextResolver = Object.assign(\n ({\n aliases = {},\n directives = true,\n components = true\n } = {}) => {\n const selectedComponents = typeof components === \"boolean\" ? { all: components } : components;\n const compImports = parseActiveImports(selectedComponents, componentNames).reduce(\n (map, name) => {\n map.set(name, `${bvKey}${componentsWithExternalPath[name]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const selectedDirectives = typeof directives === \"boolean\" ? { all: directives } : directives;\n const dirImports = parseActiveImports(selectedDirectives, directiveNames).reduce(\n (map, directive) => {\n const key = directive.toLowerCase().startsWith(\"v\") ? directive : `v${directive}`;\n map.set(key, `${bvKey}${directivesWithExternalPath[key]}`);\n return map;\n },\n /* @__PURE__ */ new Map()\n );\n const resolvers = [\n {\n type: \"component\",\n resolve(name) {\n const destination = compImports.get(name);\n const aliasDestination = compImports.get(aliases[name]);\n if (aliasDestination) {\n const val = aliases[name];\n usedComponents.add(val);\n return {\n name: val,\n from: aliasDestination\n };\n }\n if (destination) {\n usedComponents.add(name);\n return {\n name,\n from: destination\n };\n }\n }\n },\n {\n type: \"directive\",\n resolve(name) {\n const prefixedName = `v${name}`;\n const destination = dirImports.get(prefixedName);\n if (destination) {\n usedDirectives.add(prefixedName);\n return {\n name: prefixedName,\n from: destination\n };\n }\n }\n }\n ];\n return resolvers;\n },\n {\n __usedComponents: usedComponents,\n __usedDirectives: usedDirectives\n }\n);\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n BootstrapVueNextResolver\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n BootstrapVueNextResolver as B,\n index as i\n};\n//# sourceMappingURL=index-BSgsF2PB.mjs.map\n","import { ref } from \"vue\";\nimport { r as rtlRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nconst rtlPlugin = {\n install(app, options) {\n const rtlDefault = false;\n const localeDefault = void 0;\n const rtlInitial = typeof options?.rtl === \"boolean\" ? rtlDefault : options?.rtl?.rtlInitial ?? rtlDefault;\n const localeInitial = typeof options?.rtl === \"boolean\" ? localeDefault : options?.rtl?.localeInitial ?? localeDefault;\n const isRtl = ref(rtlInitial);\n const locale = ref(localeInitial);\n app.provide(rtlRegistryKey, { isRtl, locale });\n }\n};\nexport {\n rtlPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { s as showHideRegistryKey, a as breadcrumbGlobalIndexKey, e as breadcrumbRegistryKey, m as modalManagerKey } from \"../../../keys-BLeKMItg.mjs\";\nimport { _newShowHideRegistry } from \"../../composables/useRegistry/index.mjs\";\nimport { ref, computed } from \"vue\";\nconst registryPlugin = {\n install(app) {\n const { register, values } = _newShowHideRegistry();\n app.provide(showHideRegistryKey, { register, values });\n const items = ref({\n [breadcrumbGlobalIndexKey]: []\n });\n const reset = (key = breadcrumbGlobalIndexKey) => {\n items.value[key] = [];\n };\n app.provide(breadcrumbRegistryKey, { items, reset });\n const stack = ref(/* @__PURE__ */ new Map());\n const countStack = computed(() => stack.value.size);\n const valuesStack = computed(() => [...stack.value.values()]);\n const lastStack = computed(() => valuesStack.value[valuesStack.value.length - 1]);\n const pushStack = (modal) => {\n stack.value.set(modal.uid, modal);\n };\n const removeStack = (modal) => {\n stack.value.delete(modal.uid);\n };\n const registry = ref(/* @__PURE__ */ new Map());\n const pushRegistry = (modal) => {\n registry.value.set(modal.uid, modal);\n };\n const removeRegistry = (modal) => {\n registry.value.delete(modal.uid);\n };\n app.provide(modalManagerKey, {\n countStack,\n lastStack,\n registry: computed(() => registry.value),\n stack: valuesStack,\n pushStack,\n removeStack,\n pushRegistry,\n removeRegistry\n });\n }\n};\nexport {\n registryPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import \"vue\";\nimport { o as orchestratorRegistryKey } from \"../../../keys-BLeKMItg.mjs\";\nimport { _ as _newOrchestratorRegistry } from \"../../../orchestratorShared-BTC5xO6k.mjs\";\nconst orchestratorPlugin = {\n install(app) {\n const orchestratorRegistry = _newOrchestratorRegistry();\n app.provide(orchestratorRegistryKey, orchestratorRegistry);\n }\n};\nexport {\n orchestratorPlugin\n};\n//# sourceMappingURL=index.mjs.map\n","import { ref } from \"vue\";\nimport { rtlPlugin } from \"../rtl/index.mjs\";\nimport { registryPlugin } from \"../registry/index.mjs\";\nimport { orchestratorPlugin } from \"../orchestrator/index.mjs\";\nimport { f as defaultsKey } from \"../../../keys-BLeKMItg.mjs\";\nconst createBootstrap = (pluginData = {}) => ({\n install(app) {\n if ((pluginData.registries ?? true) === true) {\n app.use(registryPlugin, pluginData);\n }\n if ((pluginData.rtl ?? true) === true || typeof pluginData.rtl === \"object\") {\n app.use(rtlPlugin, pluginData);\n }\n if ((pluginData.orchestrator ?? true) === true) {\n app.use(orchestratorPlugin);\n }\n const val = pluginData?.components ?? {};\n app.provide(defaultsKey, ref(val));\n }\n});\nexport {\n createBootstrap\n};\n//# sourceMappingURL=index.mjs.map\n","import { createBootstrap } from \"./src/plugins/createBootstrap/index.mjs\";\nimport { registryPlugin } from \"./src/plugins/registry/index.mjs\";\nimport { rtlPlugin } from \"./src/plugins/rtl/index.mjs\";\nimport { orchestratorPlugin } from \"./src/plugins/orchestrator/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n createBootstrap,\n orchestratorPlugin,\n registryPlugin,\n rtlPlugin\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n index as i\n};\n//# sourceMappingURL=index-D53v0rwX.mjs.map\n","import { i } from \"./index-BuUXy1YJ.mjs\";\nimport { i as i2 } from \"./index-CXpBEYSc.mjs\";\nimport { i as i3 } from \"./index-D888h6zh.mjs\";\nimport { i as i4 } from \"./index-E0aMItoE.mjs\";\nimport { c as componentNames, a as componentsWithExternalPath, b as composableNames, d as composablesWithExternalPath, e as directiveNames, f as directivesWithExternalPath } from \"./BootstrapVueOptions-DSytNWdb.mjs\";\nimport { B, i as i5 } from \"./index-BSgsF2PB.mjs\";\nimport { i as i6 } from \"./index-D53v0rwX.mjs\";\nimport { _, a } from \"./BAccordion.vue_vue_type_script_setup_true_lang-Bm1RghW9.mjs\";\nimport { _ as _2 } from \"./BAlert.vue_vue_type_script_setup_true_lang-BEAKw4MY.mjs\";\nimport { _ as _3 } from \"./BApp.vue_vue_type_script_setup_true_lang-CRI7YgFM.mjs\";\nimport { _ as _4 } from \"./BOrchestrator.vue_vue_type_script_setup_true_lang-Dz_rJ4Bq.mjs\";\nimport { _ as _5, a as a2 } from \"./BAvatarGroup.vue_vue_type_script_setup_true_lang-DGkjFwcd.mjs\";\nimport { _ as _6 } from \"./BBadge.vue_vue_type_script_setup_true_lang-D9DEOOtU.mjs\";\nimport { _ as _7, a as a3 } from \"./BBreadcrumb.vue_vue_type_script_setup_true_lang-D6cRQgRH.mjs\";\nimport { _ as _8 } from \"./BButton.vue_vue_type_script_setup_true_lang-D5Eg7-Zv.mjs\";\nimport { _ as _9, a as a4 } from \"./BButtonToolbar.vue_vue_type_script_setup_true_lang-CxCcFupr.mjs\";\nimport { _ as _10 } from \"./BCloseButton.vue_vue_type_script_setup_true_lang-byZmQ_ot.mjs\";\nimport { _ as _11, a as a5, b, c, d, e, f } from \"./BCard.vue_vue_type_script_setup_true_lang-BjoxuViz.mjs\";\nimport { _ as _12, a as a6 } from \"./BCardText.vue_vue_type_script_setup_true_lang-SRGbviaO.mjs\";\nimport { _ as _13, a as a7 } from \"./BCarouselSlide.vue_vue_type_script_setup_true_lang-Cx8lSNLo.mjs\";\nimport { _ as _14 } from \"./BCollapse.vue_vue_type_script_setup_true_lang-B8TqF-kB.mjs\";\nimport { _ as _15 } from \"./BCol.vue_vue_type_script_setup_true_lang-D0xTJQ30.mjs\";\nimport { _ as _16 } from \"./BContainer.vue_vue_type_script_setup_true_lang-Bi1hGl0B.mjs\";\nimport { _ as _17 } from \"./BRow.vue_vue_type_script_setup_true_lang-BDkBauhk.mjs\";\nimport { _ as _18 } from \"./BDropdown.vue_vue_type_script_setup_true_lang-D1wLUc9_.mjs\";\nimport { _ as _19, a as a8, b as b2, c as c2, d as d2, e as e2, f as f2 } from \"./BDropdownText.vue_vue_type_script_setup_true_lang-Cm6QYE9x.mjs\";\nimport { _ as _20 } from \"./BForm.vue_vue_type_script_setup_true_lang-u44ElAm9.mjs\";\nimport { _ as _21, a as a9 } from \"./BFormFloatingLabel.vue_vue_type_script_setup_true_lang-Bnwbg5nF.mjs\";\nimport { _ as _22, a as a10, b as b3, c as c3 } from \"./BFormValidFeedback.vue_vue_type_script_setup_true_lang-D5WYd1j7.mjs\";\nimport { _ as _23, a as a11 } from \"./BFormCheckboxGroup.vue_vue_type_script_setup_true_lang-CZ2qJTp0.mjs\";\nimport { _ as _24 } from \"./BFormFile.vue_vue_type_script_setup_true_lang-BF3fBjJ3.mjs\";\nimport { _ as _25 } from \"./BFormGroup.vue_vue_type_script_setup_true_lang-BmZN8qcE.mjs\";\nimport { _ as _26, _ as _27 } from \"./BFormInput.vue_vue_type_script_setup_true_lang-D3z3jxbI.mjs\";\nimport { _ as _28, a as a12 } from \"./BFormRadioGroup.vue_vue_type_script_setup_true_lang-LQBMttYK.mjs\";\nimport { _ as _29 } from \"./BFormRating.vue_vue_type_script_setup_true_lang-DxkXJngG.mjs\";\nimport { _ as _30, a as a13 } from \"./BFormSelect.vue_vue_type_script_setup_true_lang-CkLgnxVA.mjs\";\nimport { _ as _31 } from \"./useFormSelect-DvaFh_iu.mjs\";\nimport { _ as _32 } from \"./BFormSpinbutton.vue_vue_type_script_setup_true_lang-BZZ4vW74.mjs\";\nimport { a as a14, _ as _33 } from \"./BFormTags.vue_vue_type_script_setup_true_lang-C9rQBsnw.mjs\";\nimport { _ as _34 } from \"./BFormTextarea.vue_vue_type_script_setup_true_lang-DB0GbEW7.mjs\";\nimport { _ as _35 } from \"./BImg.vue_vue_type_script_setup_true_lang-DFoA1dqz.mjs\";\nimport { _ as _36, a as a15 } from \"./BInputGroupText.vue_vue_type_script_setup_true_lang-BBN5F0A4.mjs\";\nimport { _ as _37 } from \"./BLink.vue_vue_type_script_setup_true_lang-Ct47WhzE.mjs\";\nimport { _ as _38, a as a16 } from \"./BListGroupItem.vue_vue_type_script_setup_true_lang-J0Ydbiva.mjs\";\nimport { _ as _39, u, a as a17 } from \"./index-BDkr-YqK.mjs\";\nimport { _ as _40 } from \"./BModalOrchestrator.vue_vue_type_script_setup_true_lang-Dlk0BK8D.mjs\";\nimport { _ as _41, a as a18, b as b4, c as c4, d as d3 } from \"./BNavText.vue_vue_type_script_setup_true_lang-fCkr2EkB.mjs\";\nimport { _ as _42, a as a19, b as b5, c as c5 } from \"./BNavbarToggle.vue_vue_type_script_setup_true_lang-BOVCTLjN.mjs\";\nimport { _ as _43 } from \"./BOffcanvas.vue_vue_type_script_setup_true_lang-B6EHNFA6.mjs\";\nimport { _ as _44 } from \"./BOverlay.vue_vue_type_script_setup_true_lang-B5_buAVa.mjs\";\nimport { _ as _45 } from \"./BPagination.vue_vue_type_script_setup_true_lang-C0Xo-KSI.mjs\";\nimport { _ as _46, a as a20, b as b6, c as c6, d as d4 } from \"./BPlaceholderWrapper.vue_vue_type_script_setup_true_lang-BzabzEJo.mjs\";\nimport { _ as _47 } from \"./floatingUi-BBabBWxD.mjs\";\nimport { _ as _48 } from \"./BPopoverOrchestrator.vue_vue_type_script_setup_true_lang-BME1-ILp.mjs\";\nimport { _ as _49, a as a21 } from \"./BProgress.vue_vue_type_script_setup_true_lang-CzGUiUCY.mjs\";\nimport { _ as _50 } from \"./BSpinner.vue_vue_type_script_setup_true_lang-H1MzHypA.mjs\";\nimport { _ as _51, a as a22, b as b7, c as c7, d as d5, e as e3, f as f3, g } from \"./BTable.vue_vue_type_script_setup_true_lang-D-2ysMDQ.mjs\";\nimport { _ as _52 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-pOlbJbSz.mjs\";\nimport { _ as _53, a as a23 } from \"./BTabs.vue_vue_type_script_setup_true_lang-DJniJmO4.mjs\";\nimport { _ as _54, u as u2, a as a24 } from \"./index-7PG2ESMq.mjs\";\nimport { _ as _55 } from \"./BToastOrchestrator.vue_vue_type_script_setup_true_lang-Dg1phGTf.mjs\";\nimport { _ as _56 } from \"./BTooltip.vue_vue_type_script_setup_true_lang-DwLY6gwe.mjs\";\nimport { useBreadcrumb } from \"./src/composables/useBreadcrumb/index.mjs\";\nimport { useColorMode } from \"./src/composables/useColorMode/index.mjs\";\nimport { u as u3 } from \"./useSafeScrollLock-DhacR9hN.mjs\";\nimport { useScrollspy } from \"./src/composables/useScrollspy/index.mjs\";\nimport { useToggle } from \"./src/composables/useToggle/index.mjs\";\nimport { usePopover, usePopoverController } from \"./src/composables/usePopover/index.mjs\";\nimport { useRegistry } from \"./src/composables/useRegistry/index.mjs\";\nimport { useProvideDefaults } from \"./src/composables/useProvideDefaults/index.mjs\";\nimport { u as u4 } from \"./orchestratorShared-BTC5xO6k.mjs\";\nimport { vBColorMode } from \"./src/directives/BColorMode/index.mjs\";\nimport { vBToggle, vBToggle as vBToggle2 } from \"./src/directives/BToggle/index.mjs\";\nimport { vBPopover } from \"./src/directives/BPopover/index.mjs\";\nimport { vBScrollspy } from \"./src/directives/BScrollspy/index.mjs\";\nimport { vBTooltip } from \"./src/directives/BTooltip/index.mjs\";\nimport { b as b8, B as B2, a as a25 } from \"./classes-BW_GpXTu.mjs\";\nimport { createBootstrap } from \"./src/plugins/createBootstrap/index.mjs\";\nimport { registryPlugin } from \"./src/plugins/registry/index.mjs\";\nimport { rtlPlugin } from \"./src/plugins/rtl/index.mjs\";\nimport { orchestratorPlugin } from \"./src/plugins/orchestrator/index.mjs\";\nconst index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n componentNames,\n componentsWithExternalPath,\n composableNames,\n composablesWithExternalPath,\n directiveNames,\n directivesWithExternalPath\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n _ as BAccordion,\n a as BAccordionItem,\n _2 as BAlert,\n _3 as BApp,\n _5 as BAvatar,\n a2 as BAvatarGroup,\n _6 as BBadge,\n _7 as BBreadcrumb,\n a3 as BBreadcrumbItem,\n _8 as BButton,\n _9 as BButtonGroup,\n a4 as BButtonToolbar,\n _11 as BCard,\n a5 as BCardBody,\n b as BCardFooter,\n _12 as BCardGroup,\n c as BCardHeader,\n d as BCardImg,\n e as BCardSubtitle,\n a6 as BCardText,\n f as BCardTitle,\n _13 as BCarousel,\n a7 as BCarouselSlide,\n _10 as BCloseButton,\n _15 as BCol,\n _14 as BCollapse,\n _16 as BContainer,\n _18 as BDropdown,\n _19 as BDropdownDivider,\n a8 as BDropdownForm,\n b2 as BDropdownGroup,\n c2 as BDropdownHeader,\n d2 as BDropdownItem,\n e2 as BDropdownItemButton,\n f2 as BDropdownText,\n _20 as BForm,\n _23 as BFormCheckbox,\n a11 as BFormCheckboxGroup,\n _21 as BFormDatalist,\n _24 as BFormFile,\n a9 as BFormFloatingLabel,\n _25 as BFormGroup,\n _26 as BFormInput,\n _22 as BFormInvalidFeedback,\n _28 as BFormRadio,\n a12 as BFormRadioGroup,\n _29 as BFormRating,\n a10 as BFormRow,\n _30 as BFormSelect,\n _31 as BFormSelectOption,\n a13 as BFormSelectOptionGroup,\n _32 as BFormSpinbutton,\n a14 as BFormTag,\n _33 as BFormTags,\n b3 as BFormText,\n _34 as BFormTextarea,\n c3 as BFormValidFeedback,\n _35 as BImg,\n _27 as BInput,\n _36 as BInputGroup,\n a15 as BInputGroupText,\n _37 as BLink,\n _38 as BListGroup,\n a16 as BListGroupItem,\n _39 as BModal,\n _40 as BModalOrchestrator,\n _41 as BNav,\n a18 as BNavForm,\n b4 as BNavItem,\n c4 as BNavItemDropdown,\n d3 as BNavText,\n _42 as BNavbar,\n a19 as BNavbarBrand,\n b5 as BNavbarNav,\n c5 as BNavbarToggle,\n _43 as BOffcanvas,\n _4 as BOrchestrator,\n _44 as BOverlay,\n _45 as BPagination,\n _46 as BPlaceholder,\n a20 as BPlaceholderButton,\n b6 as BPlaceholderCard,\n c6 as BPlaceholderTable,\n d4 as BPlaceholderWrapper,\n _47 as BPopover,\n _48 as BPopoverOrchestrator,\n _49 as BProgress,\n a21 as BProgressBar,\n _17 as BRow,\n _50 as BSpinner,\n _53 as BTab,\n _51 as BTable,\n a22 as BTableLite,\n _52 as BTableSimple,\n a23 as BTabs,\n b7 as BTbody,\n c7 as BTd,\n d5 as BTfoot,\n e3 as BTh,\n f3 as BThead,\n _54 as BToast,\n _55 as BToastOrchestrator,\n _56 as BTooltip,\n g as BTr,\n B as BootstrapVueNextResolver,\n b8 as BvCarouselEvent,\n B2 as BvEvent,\n a25 as BvTriggerableEvent,\n i4 as Components,\n i as Composables,\n i2 as Directives,\n i6 as Plugins,\n i5 as Resolvers,\n index as Types,\n i3 as Utils,\n componentNames,\n componentsWithExternalPath,\n composableNames,\n composablesWithExternalPath,\n createBootstrap,\n directiveNames,\n directivesWithExternalPath,\n orchestratorPlugin,\n registryPlugin,\n rtlPlugin,\n useBreadcrumb,\n useColorMode,\n u as useModal,\n a17 as useModalController,\n u4 as useOrchestratorRegistry,\n usePopover,\n usePopoverController,\n useProvideDefaults,\n useRegistry,\n u3 as useScrollLock,\n useScrollspy,\n u2 as useToast,\n a24 as useToastController,\n useToggle,\n vBColorMode,\n vBToggle as vBModal,\n vBPopover,\n vBScrollspy,\n vBToggle2 as vBToggle,\n vBTooltip\n};\n//# sourceMappingURL=bootstrap-vue-next.mjs.map\n","<template>\n <aside\n ref=\"sidebarRef\"\n class=\"dashboard-sidebar text-white\"\n :class=\"{\n 'sidebar-collapsed': collapsed,\n 'sidebar-hidden': hidden\n }\"\n >\n <div class=\"sidebar-header p-3\">\n <div class=\"d-flex align-items-center justify-content-between\">\n <slot name=\"brand\" :collapsed=\"collapsed\" :title=\"title\">\n <div class=\"brand-container\" :class=\"{ 'collapsed': collapsed }\">\n <div class=\"brand-initial\">{{ brandInitial }}</div>\n <h5 v-if=\"!collapsed\" class=\"mb-0 fw-bold ms-2\">\n {{ title }}\n </h5>\n </div>\n </slot>\n </div>\n </div>\n\n <nav class=\"sidebar-nav p-3\">\n <template v-for=\"(group, groupIndex) in navigation\" :key=\"groupIndex\">\n <div v-if=\"group.visible !== false\" class=\"nav-group mb-3\">\n <div\n v-if=\"group.label && !collapsed\"\n class=\"nav-group-label text-uppercase small fw-semibold mb-2 px-2\"\n >\n {{ group.label }}\n </div>\n\n <div v-if=\"group.label && collapsed\" class=\"nav-group-divider\">\n <hr class=\"my-2 border-secondary\" />\n </div>\n\n <ul class=\"nav flex-column gap-1\">\n <li v-for=\"(item, itemIndex) in group.items\" :key=\"itemIndex\" class=\"nav-item\">\n <slot\n name=\"link\"\n :item=\"item\"\n :is-active=\"isActive(item.url)\"\n :collapsed=\"collapsed\"\n >\n <a\n :href=\"item.url\"\n class=\"nav-link d-flex align-items-center gap-2 rounded\"\n :class=\"{\n 'active': isActive(item.url),\n 'justify-content-center': collapsed\n }\"\n >\n <component\n v-if=\"item.icon\"\n :is=\"item.icon\"\n class=\"nav-icon\"\n style=\"width: 20px; height: 20px;\"\n />\n <span v-if=\"!collapsed\" class=\"nav-label\">{{ item.label }}</span>\n <span\n v-if=\"item.badge && !collapsed\"\n class=\"badge ms-auto\"\n :class=\"`bg-${item.badgeColor || 'primary'}`\"\n >\n {{ item.badge }}\n </span>\n </a>\n </slot>\n </li>\n </ul>\n </div>\n </template>\n </nav>\n </aside>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref, onMounted, watch, nextTick } from 'vue';\nimport type { Navigation } from '../../types/navigation';\n\nconst props = withDefaults(defineProps<{\n navigation: Navigation;\n currentUrl: string;\n collapsed?: boolean;\n hidden?: boolean;\n title?: string;\n}>(), {\n collapsed: false,\n hidden: false,\n title: 'Dashboard',\n});\n\ndefineEmits<{\n toggle: [];\n}>();\n\nconst sidebarRef = ref<HTMLElement | null>(null);\n\nconst brandInitial = computed(() => {\n return props.title.charAt(0).toUpperCase();\n});\n\nconst isActive = (url: string): boolean => {\n // Normalize URLs for comparison (remove trailing slash, lowercase)\n const normalizeUrl = (u: string) => u.toLowerCase().replace(/\\/$/, '');\n return normalizeUrl(props.currentUrl) === normalizeUrl(url);\n};\n\nconst scrollToActiveItem = async (smooth = false) => {\n await nextTick();\n if (!sidebarRef.value) return;\n\n const activeLink = sidebarRef.value.querySelector('.nav-link.active') as HTMLElement;\n if (activeLink) {\n const sidebar = sidebarRef.value;\n const linkRect = activeLink.getBoundingClientRect();\n const sidebarRect = sidebar.getBoundingClientRect();\n\n // Calculate the position to scroll to (center the active item)\n const scrollTop = activeLink.offsetTop - (sidebarRect.height / 2) + (linkRect.height / 2);\n\n sidebar.scrollTo({\n top: scrollTop,\n behavior: smooth ? 'smooth' : 'instant',\n });\n }\n};\n\n// Scroll to active item on initial mount (instant, no animation)\nonMounted(() => {\n scrollToActiveItem(false);\n});\n\n// Watch for URL changes (client-side routing) and scroll smoothly\nwatch(() => props.currentUrl, () => {\n scrollToActiveItem(true);\n});\n</script>\n\n<style scoped>\n.dashboard-sidebar {\n min-height: 100vh;\n transition: width 0.3s ease;\n position: sticky;\n top: 0;\n height: 100vh;\n overflow-y: auto;\n overflow-x: hidden;\n flex-shrink: 0;\n}\n\n.sidebar-header {\n display: flex;\n align-items: center;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.brand-container {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n transition: all 0.3s ease;\n}\n\n.brand-container.collapsed {\n justify-content: center;\n}\n\n.brand-initial {\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 1.25rem;\n}\n\n.sidebar-nav {\n overflow-x: hidden;\n}\n\n.nav-group-label {\n font-size: 0.75rem;\n letter-spacing: 0.5px;\n}\n\n:deep(.nav-link) {\n padding: 0.625rem 0.75rem;\n transition: all 0.2s ease;\n text-decoration: none;\n white-space: nowrap;\n}\n\n:deep(.nav-link.active) {\n font-weight: 500;\n}\n\n:deep(.nav-icon) {\n flex-shrink: 0;\n}\n\n:deep(.nav-label) {\n flex: 1;\n}\n\n.sidebar-collapsed :deep(.nav-link) {\n padding: 0.625rem;\n}\n\n/* Custom scrollbar */\n.dashboard-sidebar::-webkit-scrollbar {\n width: 6px;\n}\n\n.dashboard-sidebar::-webkit-scrollbar-track {\n background: rgba(0, 0, 0, 0.1);\n}\n\n.dashboard-sidebar::-webkit-scrollbar-thumb {\n background: rgba(255, 255, 255, 0.2);\n border-radius: 3px;\n}\n\n.dashboard-sidebar::-webkit-scrollbar-thumb:hover {\n background: rgba(255, 255, 255, 0.3);\n}\n\n.sidebar-hidden {\n display: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { BContainer } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BContainer v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BContainer>\n</template>\n","<script setup lang=\"ts\">\nimport { BRow } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BRow v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BRow>\n</template>\n","<script setup lang=\"ts\">\nimport { BCol } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCol v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BCol>\n</template>\n","<script setup lang=\"ts\">\n/**\n * DButton - A type-safe wrapper around Bootstrap Vue Next's BButton component\n *\n * @component\n * @example\n * ```vue\n * <DButton variant=\"primary\" size=\"lg\">Click Me</DButton>\n * <DButton variant=\"link-danger\" @click=\"handleClick\">Delete</DButton>\n * ```\n */\nimport { BButton } from \"bootstrap-vue-next\";\nimport type { ButtonVariant, Size } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n\ntype LinkVariant =\n | \"link-primary\"\n | \"link-secondary\"\n | \"link-success\"\n | \"link-danger\"\n | \"link-warning\"\n | \"link-info\"\n | \"link-light\"\n | \"link-dark\";\n\ninterface Props {\n /**\n * The visual style variant of the button\n * @default 'primary'\n */\n variant?: ButtonVariant | LinkVariant | null;\n\n /**\n * The size of the button\n * @default 'md'\n */\n size?: Size;\n}\n\nwithDefaults(defineProps<Props>(), {\n variant: 'primary',\n size: 'md',\n});\n</script>\n\n<template>\n <BButton\n :variant=\"variant\"\n :size=\"size\"\n v-bind=\"$attrs\"\n >\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BButton>\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdown } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BDropdown v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BDropdown>\n</template>\n","<template>\n <header class=\"dashboard-navbar bg-white border-bottom\">\n <DContainer fluid class=\"h-100\">\n <DRow class=\"h-100 align-items-center\">\n <DCol class=\"d-flex align-items-center gap-3\">\n <DButton\n variant=\"link\"\n class=\"text-dark p-0\"\n @click=\"$emit('toggleSidebar')\"\n aria-label=\"Toggle sidebar\"\n >\n <slot name=\"menu-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5\"\n />\n </svg>\n </slot>\n </DButton>\n\n <h4 v-if=\"pageTitle\" class=\"mb-0 fw-semibold d-none d-md-block\">{{ pageTitle }}</h4>\n\n <div class=\"flex-grow-1 d-flex justify-content-center\">\n <slot name=\"search\" />\n </div>\n </DCol>\n\n <DCol cols=\"auto\">\n <slot name=\"user-menu\" :user=\"user\">\n <DDropdown\n v-if=\"user\"\n variant=\"link\"\n class=\"text-dark\"\n menu-class=\"dropdown-menu-end\"\n no-caret\n >\n <template #button-content>\n <slot name=\"user-icon\" :initial=\"getUserInitial(user)\">\n <div class=\"user-avatar\">\n {{ getUserInitial(user) }}\n </div>\n </slot>\n </template>\n\n <slot name=\"user-menu-items\" :user=\"user\" />\n </DDropdown>\n </slot>\n </DCol>\n </DRow>\n </DContainer>\n </header>\n</template>\n\n<script setup lang=\"ts\">\nimport DContainer from \"../base/DContainer.vue\";\nimport DRow from \"../base/DRow.vue\";\nimport DCol from \"../base/DCol.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport DDropdown from \"../base/DDropdown.vue\";\n\nwithDefaults(\n defineProps<{\n user?: {\n name: string;\n email: string;\n [key: string]: any;\n } | null;\n pageTitle?: string;\n }>(),\n {\n user: null,\n pageTitle: \"\",\n },\n);\n\ndefineEmits<{\n toggleSidebar: [];\n}>();\n\nconst getUserInitial = (user: { name: string } | null) => {\n if (!user?.name) return \"\";\n return user.name.charAt(0).toUpperCase();\n};\n</script>\n\n<style scoped>\n.dashboard-navbar {\n position: sticky;\n top: 0;\n z-index: 1000;\n}\n\n.user-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: var(--bs-dark);\n color: var(--bs-white);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 14px;\n}\n</style>\n","<template>\n <div class=\"dashboard-layout d-flex\" :data-dashboard-id=\"dashboardId\">\n <!-- Sidebar -->\n <DXDashboardSidebar\n :navigation=\"navigation\"\n :current-url=\"currentUrl\"\n :title=\"title\"\n :collapsed=\"collapsed\"\n :hidden=\"hidden\"\n @toggle=\"toggleSidebar\"\n >\n <!-- Dynamically forward all sidebar-* slots by stripping the prefix -->\n <template\n v-for=\"(originalName, strippedName) in sidebarSlots\"\n :key=\"strippedName\"\n #[strippedName]=\"slotProps\"\n >\n <slot :name=\"originalName\" v-bind=\"slotProps\" />\n </template>\n </DXDashboardSidebar>\n\n <!-- Main Content Area -->\n <div class=\"dashboard-content flex-grow-1\">\n <!-- Top Navbar -->\n <DXDashboardNavbar\n :page-title=\"pageTitle\"\n :user=\"user\"\n :logout-url=\"logoutUrl\"\n @toggle-sidebar=\"toggleSidebar\"\n >\n <!-- Dynamically forward all navbar-* slots by stripping the prefix -->\n <template\n v-for=\"(originalName, strippedName) in navbarSlots\"\n :key=\"strippedName\"\n #[strippedName]=\"slotProps\"\n >\n <slot :name=\"originalName\" v-bind=\"slotProps\" />\n </template>\n </DXDashboardNavbar>\n\n <!-- Page Content -->\n <main class=\"dashboard-main p-4\">\n <DContainer fluid>\n <DRow class=\"justify-content-center\">\n <DCol cols=\"12\" xl=\"10\">\n <slot />\n </DCol>\n </DRow>\n </DContainer>\n </main>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useSlots } from 'vue';\nimport DXDashboardSidebar from './DXDashboardSidebar.vue';\nimport DXDashboardNavbar from './DXDashboardNavbar.vue';\nimport DContainer from '../base/DContainer.vue';\nimport DRow from '../base/DRow.vue';\nimport DCol from '../base/DCol.vue';\nimport type { Navigation } from '../../types/navigation';\n\nconst slots = useSlots();\n\ninterface Props {\n /** Navigation structure for sidebar */\n navigation: Navigation;\n\n /** Current URL path for active state */\n currentUrl: string;\n\n /** Dashboard title shown in sidebar brand */\n title?: string;\n\n /** Page title shown in navbar */\n pageTitle?: string;\n\n /** User object for navbar dropdown */\n user?: { name: string; email: string } | null;\n\n /** Logout URL for navbar dropdown */\n logoutUrl?: string;\n\n /** LocalStorage key for sidebar state persistence */\n storageKey?: string;\n\n /**\n * Unique ID for this dashboard instance (for nested dashboards)\n * Used to scope visibility state when multiple dashboards exist on same page\n * If not provided, uses global HTML class approach (for SSR compatibility)\n */\n dashboardId?: string;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: 'Dashboard',\n pageTitle: '',\n user: null,\n logoutUrl: '/logout',\n storageKey: 'dashboard-sidebar-hidden',\n dashboardId: '',\n});\n\nconst collapsed = ref(false);\n\n// Compute sidebar slots (strip 'sidebar-' prefix)\nconst sidebarSlots = computed(() => {\n const result: Record<string, string> = {};\n Object.keys(slots).forEach(name => {\n if (name.startsWith('sidebar-')) {\n const strippedName = name.substring(8); // Remove 'sidebar-' prefix\n result[strippedName] = name;\n }\n });\n return result;\n});\n\n// Compute navbar slots (strip 'navbar-' prefix)\nconst navbarSlots = computed(() => {\n const result: Record<string, string> = {};\n Object.keys(slots).forEach(name => {\n if (name.startsWith('navbar-')) {\n const strippedName = name.substring(7); // Remove 'navbar-' prefix\n result[strippedName] = name;\n }\n });\n return result;\n});\n\n// Initialize sidebar visibility from localStorage\nconst getInitialHiddenState = (): boolean => {\n // Skip during SSR - no access to localStorage or document\n if (typeof window === 'undefined') {\n return !props.dashboardId; // Default: hidden for global, visible for scoped\n }\n\n try {\n const savedHidden = localStorage.getItem(props.storageKey);\n if (savedHidden !== null) {\n const isHidden = JSON.parse(savedHidden);\n\n // If no dashboard ID (global instance), update HTML class for SSR compatibility\n if (!props.dashboardId) {\n if (isHidden) {\n document.documentElement.classList.remove('sidebar-visible');\n } else {\n document.documentElement.classList.add('sidebar-visible');\n }\n }\n\n return isHidden;\n }\n } catch (error) {\n console.error('Error loading sidebar state:', error);\n }\n\n // Default: hidden for global instances (docs), visible for scoped instances (examples)\n if (!props.dashboardId) {\n document.documentElement.classList.remove('sidebar-visible');\n return true;\n }\n return false; // Show sidebar in scoped instances by default\n};\n\nconst hidden = ref(getInitialHiddenState());\n\nconst toggleSidebar = () => {\n hidden.value = !hidden.value;\n\n // Skip during SSR\n if (typeof window === 'undefined') return;\n\n // If no dashboard ID (global instance), update HTML class\n if (!props.dashboardId) {\n if (hidden.value) {\n document.documentElement.classList.remove('sidebar-visible');\n } else {\n document.documentElement.classList.add('sidebar-visible');\n }\n }\n\n // Save to localStorage\n try {\n localStorage.setItem(props.storageKey, JSON.stringify(hidden.value));\n } catch (error) {\n console.error('Error saving sidebar state:', error);\n }\n};\n</script>\n\n<style scoped>\n.dashboard-layout {\n min-height: 100vh;\n background-color: #f8f9fa;\n}\n\n.dashboard-content {\n display: flex;\n flex-direction: column;\n overflow-x: hidden;\n}\n\n.dashboard-main {\n flex: 1;\n max-width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { BAlert } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BAlert v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BAlert>\n</template>\n","<template>\n <BFormGroup v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormGroup>\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormGroup } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BFormInput v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormInput } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BFormTextarea v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BFormTextarea } from \"bootstrap-vue-next\";\n</script>\n","<script setup lang=\"ts\">\nimport { BFormSelect } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BFormSelect v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BFormSelect>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormCheckbox } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BFormCheckbox v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BFormCheckbox>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormInvalidFeedback } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormInvalidFeedback v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormInvalidFeedback>\n</template>\n","<script setup lang=\"ts\">\nimport { BFormText } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormText v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormText>\n</template>\n","<template>\n <BForm @submit.prevent=\"handleSubmit\">\n <!-- Form-level error message -->\n <DAlert\n v-if=\"form.shouldShowMessage\"\n :model-value=\"form.shouldShowMessage\"\n variant=\"danger\"\n class=\"mb-3\"\n >\n {{ form.message }}\n </DAlert>\n\n <!-- Render each field -->\n <template v-for=\"field in fields\" :key=\"field.key\">\n <!-- Custom slot for this field -->\n <slot :name=\"`field-${field.key}`\" :field=\"field\" :form=\"form\">\n <!-- Default field rendering -->\n <DFormGroup\n :label=\"field.label\"\n :label-for=\"field.key\"\n :class=\"field.class || 'mb-3'\"\n >\n <!-- Text-based inputs -->\n <DFormInput\n v-if=\"isTextInput(field.type)\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :type=\"field.type\"\n :required=\"field.required\"\n :placeholder=\"field.placeholder\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @input=\"form.clearError(field.key)\"\n />\n\n <!-- Textarea -->\n <DFormTextarea\n v-else-if=\"field.type === 'textarea'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :required=\"field.required\"\n :placeholder=\"field.placeholder\"\n :rows=\"field.rows || 3\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @input=\"form.clearError(field.key)\"\n />\n\n <!-- Select -->\n <DFormSelect\n v-else-if=\"field.type === 'select'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :required=\"field.required\"\n :options=\"field.options\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @change=\"form.clearError(field.key)\"\n />\n\n <!-- Checkbox -->\n <DFormCheckbox\n v-else-if=\"field.type === 'checkbox'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n v-bind=\"field.inputProps\"\n >\n {{ field.label }}\n </DFormCheckbox>\n\n <!-- Radio group -->\n <BFormRadioGroup\n v-else-if=\"field.type === 'radio'\"\n :id=\"field.key\"\n v-model=\"form.data[field.key]\"\n :options=\"field.options\"\n :required=\"field.required\"\n :state=\"form.getState(field.key)\"\n v-bind=\"field.inputProps\"\n @change=\"form.clearError(field.key)\"\n />\n\n <!-- Validation error -->\n <DFormInvalidFeedback v-if=\"form.hasError(field.key)\">\n {{ form.getError(field.key) }}\n </DFormInvalidFeedback>\n\n <!-- Help text -->\n <DFormText v-if=\"field.help\">\n {{ field.help }}\n </DFormText>\n </DFormGroup>\n </slot>\n </template>\n\n <!-- Submit button -->\n <DButton\n v-if=\"showSubmit\"\n type=\"submit\"\n variant=\"primary\"\n :disabled=\"form.processing\"\n class=\"w-100\"\n >\n <span v-if=\"form.processing\">{{ submitLoadingText }}</span>\n <span v-else>{{ submitText }}</span>\n </DButton>\n\n <!-- Footer slot -->\n <slot name=\"footer\"></slot>\n </BForm>\n</template>\n\n<script setup lang=\"ts\">\nimport { BForm, BFormRadioGroup } from \"bootstrap-vue-next\";\nimport DAlert from \"../base/DAlert.vue\";\nimport DFormGroup from \"../base/DFormGroup.vue\";\nimport DFormInput from \"../base/DFormInput.vue\";\nimport DFormTextarea from \"../base/DFormTextarea.vue\";\nimport DFormSelect from \"../base/DFormSelect.vue\";\nimport DFormCheckbox from \"../base/DFormCheckbox.vue\";\nimport DFormInvalidFeedback from \"../base/DFormInvalidFeedback.vue\";\nimport DFormText from \"../base/DFormText.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport type { UseFormReturn } from \"../../composables/useForm\";\nimport type { FieldDefinition, FieldType } from \"../../types\";\n\ninterface Props {\n /** Form instance from useForm composable */\n form: UseFormReturn<any>;\n\n /** Field definitions */\n fields: FieldDefinition[];\n\n /** Submit button text */\n submitText?: string;\n\n /** Submit button loading text */\n submitLoadingText?: string;\n\n /** Show submit button */\n showSubmit?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n submitText: \"Submit\",\n submitLoadingText: \"Submitting...\",\n showSubmit: true,\n});\n\nconst emit = defineEmits<{\n submit: [];\n}>();\n\n/**\n * Check if field type is a text-based input\n */\nconst isTextInput = (type: FieldType): boolean => {\n return [\n \"text\",\n \"email\",\n \"password\",\n \"number\",\n \"url\",\n \"tel\",\n \"date\",\n \"datetime-local\",\n \"time\",\n ].includes(type);\n};\n\n/**\n * Handle form submission\n */\nconst handleSubmit = () => {\n emit(\"submit\");\n};\n</script>\n","<template>\n <OBasicForm\n :form=\"form.form\"\n :fields=\"form.fields\"\n :submit-text=\"submitText\"\n :submit-loading-text=\"submitLoadingText\"\n :show-submit=\"showSubmit\"\n @submit=\"emit('submit')\"\n >\n <!-- Pass through all slots -->\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </OBasicForm>\n</template>\n\n<script setup lang=\"ts\">\nimport OBasicForm from \"./DXBasicForm.vue\";\nimport type { DefineFormReturn } from \"../../composables/defineForm\";\n\ninterface Props {\n /** Form object from defineForm */\n form: DefineFormReturn<any>;\n\n /** Submit button text */\n submitText?: string;\n\n /** Submit button loading text */\n submitLoadingText?: string;\n\n /** Show submit button */\n showSubmit?: boolean;\n}\n\nwithDefaults(defineProps<Props>(), {\n submitText: \"Submit\",\n submitLoadingText: \"Submitting...\",\n showSubmit: true,\n});\n\nconst emit = defineEmits<{\n submit: [];\n}>();\n</script>\n","/* global define */\n\n(function (root, pluralize) {\n /* istanbul ignore else */\n if (typeof require === 'function' && typeof exports === 'object' && typeof module === 'object') {\n // Node.\n module.exports = pluralize();\n } else if (typeof define === 'function' && define.amd) {\n // AMD, registers as an anonymous module.\n define(function () {\n return pluralize();\n });\n } else {\n // Browser global.\n root.pluralize = pluralize();\n }\n})(this, function () {\n // Rule storage - pluralize and singularize need to be run sequentially,\n // while other rules can be optimized using an object for instant lookups.\n var pluralRules = [];\n var singularRules = [];\n var uncountables = {};\n var irregularPlurals = {};\n var irregularSingles = {};\n\n /**\n * Sanitize a pluralization rule to a usable regular expression.\n *\n * @param {(RegExp|string)} rule\n * @return {RegExp}\n */\n function sanitizeRule (rule) {\n if (typeof rule === 'string') {\n return new RegExp('^' + rule + '$', 'i');\n }\n\n return rule;\n }\n\n /**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n *\n * @param {string} word\n * @param {string} token\n * @return {Function}\n */\n function restoreCase (word, token) {\n // Tokens are an exact match.\n if (word === token) return token;\n\n // Lower cased words. E.g. \"hello\".\n if (word === word.toLowerCase()) return token.toLowerCase();\n\n // Upper cased words. E.g. \"WHISKY\".\n if (word === word.toUpperCase()) return token.toUpperCase();\n\n // Title cased words. E.g. \"Title\".\n if (word[0] === word[0].toUpperCase()) {\n return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();\n }\n\n // Lower cased words. E.g. \"test\".\n return token.toLowerCase();\n }\n\n /**\n * Interpolate a regexp string.\n *\n * @param {string} str\n * @param {Array} args\n * @return {string}\n */\n function interpolate (str, args) {\n return str.replace(/\\$(\\d{1,2})/g, function (match, index) {\n return args[index] || '';\n });\n }\n\n /**\n * Replace a word using a rule.\n *\n * @param {string} word\n * @param {Array} rule\n * @return {string}\n */\n function replace (word, rule) {\n return word.replace(rule[0], function (match, index) {\n var result = interpolate(rule[1], arguments);\n\n if (match === '') {\n return restoreCase(word[index - 1], result);\n }\n\n return restoreCase(match, result);\n });\n }\n\n /**\n * Sanitize a word by passing in the word and sanitization rules.\n *\n * @param {string} token\n * @param {string} word\n * @param {Array} rules\n * @return {string}\n */\n function sanitizeWord (token, word, rules) {\n // Empty string or doesn't need fixing.\n if (!token.length || uncountables.hasOwnProperty(token)) {\n return word;\n }\n\n var len = rules.length;\n\n // Iterate over the sanitization rules and use the first one to match.\n while (len--) {\n var rule = rules[len];\n\n if (rule[0].test(word)) return replace(word, rule);\n }\n\n return word;\n }\n\n /**\n * Replace a word with the updated word.\n *\n * @param {Object} replaceMap\n * @param {Object} keepMap\n * @param {Array} rules\n * @return {Function}\n */\n function replaceWord (replaceMap, keepMap, rules) {\n return function (word) {\n // Get the correct token and case restoration functions.\n var token = word.toLowerCase();\n\n // Check against the keep object map.\n if (keepMap.hasOwnProperty(token)) {\n return restoreCase(word, token);\n }\n\n // Check against the replacement map for a direct word replacement.\n if (replaceMap.hasOwnProperty(token)) {\n return restoreCase(word, replaceMap[token]);\n }\n\n // Run all the rules against the word.\n return sanitizeWord(token, word, rules);\n };\n }\n\n /**\n * Check if a word is part of the map.\n */\n function checkWord (replaceMap, keepMap, rules, bool) {\n return function (word) {\n var token = word.toLowerCase();\n\n if (keepMap.hasOwnProperty(token)) return true;\n if (replaceMap.hasOwnProperty(token)) return false;\n\n return sanitizeWord(token, token, rules) === token;\n };\n }\n\n /**\n * Pluralize or singularize a word based on the passed in count.\n *\n * @param {string} word The word to pluralize\n * @param {number} count How many of the word exist\n * @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)\n * @return {string}\n */\n function pluralize (word, count, inclusive) {\n var pluralized = count === 1\n ? pluralize.singular(word) : pluralize.plural(word);\n\n return (inclusive ? count + ' ' : '') + pluralized;\n }\n\n /**\n * Pluralize a word.\n *\n * @type {Function}\n */\n pluralize.plural = replaceWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Check if a word is plural.\n *\n * @type {Function}\n */\n pluralize.isPlural = checkWord(\n irregularSingles, irregularPlurals, pluralRules\n );\n\n /**\n * Singularize a word.\n *\n * @type {Function}\n */\n pluralize.singular = replaceWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Check if a word is singular.\n *\n * @type {Function}\n */\n pluralize.isSingular = checkWord(\n irregularPlurals, irregularSingles, singularRules\n );\n\n /**\n * Add a pluralization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addPluralRule = function (rule, replacement) {\n pluralRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add a singularization rule to the collection.\n *\n * @param {(string|RegExp)} rule\n * @param {string} replacement\n */\n pluralize.addSingularRule = function (rule, replacement) {\n singularRules.push([sanitizeRule(rule), replacement]);\n };\n\n /**\n * Add an uncountable word rule.\n *\n * @param {(string|RegExp)} word\n */\n pluralize.addUncountableRule = function (word) {\n if (typeof word === 'string') {\n uncountables[word.toLowerCase()] = true;\n return;\n }\n\n // Set singular and plural references for the word.\n pluralize.addPluralRule(word, '$0');\n pluralize.addSingularRule(word, '$0');\n };\n\n /**\n * Add an irregular word definition.\n *\n * @param {string} single\n * @param {string} plural\n */\n pluralize.addIrregularRule = function (single, plural) {\n plural = plural.toLowerCase();\n single = single.toLowerCase();\n\n irregularSingles[single] = plural;\n irregularPlurals[plural] = single;\n };\n\n /**\n * Irregular rules.\n */\n [\n // Pronouns.\n ['I', 'we'],\n ['me', 'us'],\n ['he', 'they'],\n ['she', 'they'],\n ['them', 'them'],\n ['myself', 'ourselves'],\n ['yourself', 'yourselves'],\n ['itself', 'themselves'],\n ['herself', 'themselves'],\n ['himself', 'themselves'],\n ['themself', 'themselves'],\n ['is', 'are'],\n ['was', 'were'],\n ['has', 'have'],\n ['this', 'these'],\n ['that', 'those'],\n // Words ending in with a consonant and `o`.\n ['echo', 'echoes'],\n ['dingo', 'dingoes'],\n ['volcano', 'volcanoes'],\n ['tornado', 'tornadoes'],\n ['torpedo', 'torpedoes'],\n // Ends with `us`.\n ['genus', 'genera'],\n ['viscus', 'viscera'],\n // Ends with `ma`.\n ['stigma', 'stigmata'],\n ['stoma', 'stomata'],\n ['dogma', 'dogmata'],\n ['lemma', 'lemmata'],\n ['schema', 'schemata'],\n ['anathema', 'anathemata'],\n // Other irregular rules.\n ['ox', 'oxen'],\n ['axe', 'axes'],\n ['die', 'dice'],\n ['yes', 'yeses'],\n ['foot', 'feet'],\n ['eave', 'eaves'],\n ['goose', 'geese'],\n ['tooth', 'teeth'],\n ['quiz', 'quizzes'],\n ['human', 'humans'],\n ['proof', 'proofs'],\n ['carve', 'carves'],\n ['valve', 'valves'],\n ['looey', 'looies'],\n ['thief', 'thieves'],\n ['groove', 'grooves'],\n ['pickaxe', 'pickaxes'],\n ['passerby', 'passersby']\n ].forEach(function (rule) {\n return pluralize.addIrregularRule(rule[0], rule[1]);\n });\n\n /**\n * Pluralization rules.\n */\n [\n [/s?$/i, 's'],\n [/[^\\u0000-\\u007F]$/i, '$0'],\n [/([^aeiou]ese)$/i, '$1'],\n [/(ax|test)is$/i, '$1es'],\n [/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],\n [/(e[mn]u)s?$/i, '$1s'],\n [/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n [/(seraph|cherub)(?:im)?$/i, '$1im'],\n [/(her|at|gr)o$/i, '$1oes'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n [/sis$/i, 'ses'],\n [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n [/([^aeiouy]|qu)y$/i, '$1ies'],\n [/([^ch][ieo][ln])ey$/i, '$1ies'],\n [/(x|ch|ss|sh|zz)$/i, '$1es'],\n [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n [/\\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],\n [/(pe)(?:rson|ople)$/i, '$1ople'],\n [/(child)(?:ren)?$/i, '$1ren'],\n [/eaux$/i, '$0'],\n [/m[ae]n$/i, 'men'],\n ['thou', 'you']\n ].forEach(function (rule) {\n return pluralize.addPluralRule(rule[0], rule[1]);\n });\n\n /**\n * Singularization rules.\n */\n [\n [/s$/i, ''],\n [/(ss)$/i, '$1'],\n [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n [/ies$/i, 'y'],\n [/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],\n [/\\b(mon|smil)ies$/i, '$1ey'],\n [/\\b((?:tit)?m|l)ice$/i, '$1ouse'],\n [/(seraph|cherub)im$/i, '$1'],\n [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],\n [/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],\n [/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],\n [/(test)(?:is|es)$/i, '$1is'],\n [/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n [/(alumn|alg|vertebr)ae$/i, '$1a'],\n [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n [/(matr|append)ices$/i, '$1ix'],\n [/(pe)(rson|ople)$/i, '$1rson'],\n [/(child)ren$/i, '$1'],\n [/(eau)x?$/i, '$1'],\n [/men$/i, 'man']\n ].forEach(function (rule) {\n return pluralize.addSingularRule(rule[0], rule[1]);\n });\n\n /**\n * Uncountable rules.\n */\n [\n // Singular words with no plurals.\n 'adulthood',\n 'advice',\n 'agenda',\n 'aid',\n 'aircraft',\n 'alcohol',\n 'ammo',\n 'analytics',\n 'anime',\n 'athletics',\n 'audio',\n 'bison',\n 'blood',\n 'bream',\n 'buffalo',\n 'butter',\n 'carp',\n 'cash',\n 'chassis',\n 'chess',\n 'clothing',\n 'cod',\n 'commerce',\n 'cooperation',\n 'corps',\n 'debris',\n 'diabetes',\n 'digestion',\n 'elk',\n 'energy',\n 'equipment',\n 'excretion',\n 'expertise',\n 'firmware',\n 'flounder',\n 'fun',\n 'gallows',\n 'garbage',\n 'graffiti',\n 'hardware',\n 'headquarters',\n 'health',\n 'herpes',\n 'highjinks',\n 'homework',\n 'housework',\n 'information',\n 'jeans',\n 'justice',\n 'kudos',\n 'labour',\n 'literature',\n 'machinery',\n 'mackerel',\n 'mail',\n 'media',\n 'mews',\n 'moose',\n 'music',\n 'mud',\n 'manga',\n 'news',\n 'only',\n 'personnel',\n 'pike',\n 'plankton',\n 'pliers',\n 'police',\n 'pollution',\n 'premises',\n 'rain',\n 'research',\n 'rice',\n 'salmon',\n 'scissors',\n 'series',\n 'sewage',\n 'shambles',\n 'shrimp',\n 'software',\n 'species',\n 'staff',\n 'swine',\n 'tennis',\n 'traffic',\n 'transportation',\n 'trout',\n 'tuna',\n 'wealth',\n 'welfare',\n 'whiting',\n 'wildebeest',\n 'wildlife',\n 'you',\n /pok[eé]mon$/i,\n // Regexes.\n /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n /deer$/i, // \"deer\", \"reindeer\"\n /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n /measles$/i,\n /o[iu]s$/i, // \"carnivorous\"\n /pox$/i, // \"chickpox\", \"smallpox\"\n /sheep$/i\n ].forEach(pluralize.addUncountableRule);\n\n return pluralize;\n});\n","<script setup lang=\"ts\">\n/**\n * DCard - A type-safe wrapper around Bootstrap Vue Next's BCard component\n *\n * Provides a flexible content container with optional header and footer sections.\n *\n * @component\n * @example\n * ```vue\n * <DCard>\n * <template #header>\n * <h3>Card Title</h3>\n * </template>\n *\n * <p>Card content goes here</p>\n *\n * <template #footer>\n * <small>Last updated 5 mins ago</small>\n * </template>\n * </DCard>\n * ```\n */\nimport { BCard } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCard v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BCard>\n</template>\n","<template>\n <BSpinner v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BSpinner } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BTable\n ref=\"bTableRef\"\n v-bind=\"$attrs\"\n @update:sort-by=\"handleSortByUpdate\"\n @update:current-page=\"handleCurrentPageUpdate\"\n @update:busy=\"handleBusyUpdate\"\n @sorted=\"handleSorted\"\n @row-clicked=\"handleRowClicked\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTable>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { BTable } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n\n// Define emits to forward BTable events\nconst emit = defineEmits(['update:sortBy', 'update:currentPage', 'update:busy', 'sorted', 'rowClicked']);\n\n// Reference to BTable for exposing methods\nconst bTableRef = ref<any>(null);\n\n// Event handlers to forward BTable events\nconst handleSortByUpdate = (val: any) => {\n emit('update:sortBy', val);\n};\n\nconst handleCurrentPageUpdate = (val: any) => {\n emit('update:currentPage', val);\n};\n\nconst handleBusyUpdate = (val: any) => {\n emit('update:busy', val);\n};\n\nconst handleSorted = (val: any) => {\n emit('sorted', val);\n};\n\nconst handleRowClicked = (item: any, index: number, event: MouseEvent) => {\n emit('rowClicked', item, index, event);\n};\n\n// Expose refresh method from BTable\nconst refresh = () => {\n if (bTableRef.value && typeof bTableRef.value.refresh === 'function') {\n bTableRef.value.refresh();\n }\n};\n\ndefineExpose({\n refresh,\n});\n</script>\n","<template>\n <BPagination v-bind=\"$attrs\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { BPagination } from \"bootstrap-vue-next\";\n</script>\n","<template>\n <BModal v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BModal>\n</template>\n\n<script setup lang=\"ts\">\nimport { BModal } from \"bootstrap-vue-next\";\n</script>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BTabs component.\n * Create tabbed panes of local content with customisable navigation.\n */\n<script setup lang=\"ts\">\nimport { BTabs } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BTabs v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTabs>\n</template>\n","<script setup lang=\"ts\">\nimport { BTab } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BTab v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTab>\n</template>\n","<template>\n <DContainer :fluid=\"fluid\" :class=\"containerClass\">\n <DRow class=\"justify-content-center\">\n <DCol :md=\"columnSize\">\n <DCard>\n <template v-if=\"title || $slots.header\" #header>\n <slot name=\"header\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <h4 class=\"mb-0\">{{ title }}</h4>\n </div>\n </slot>\n </template>\n\n <div v-if=\"effectiveBusy && !isProviderMode\" class=\"text-center py-5\">\n <DSpinner variant=\"primary\" />\n <p class=\"mt-2\">{{ loadingText }}</p>\n </div>\n\n <div v-else-if=\"error || apiError\" class=\"alert alert-danger\">\n {{ error || apiError }}\n </div>\n\n <!-- Provider Mode: Use BTable's provider pattern -->\n <DTable\n v-else-if=\"isProviderMode\"\n ref=\"tableRef\"\n :provider=\"effectiveProvider\"\n :fields=\"fields\"\n :sort-by=\"effectiveSortBy\"\n :per-page=\"effectivePerPage\"\n :current-page=\"apiCurrentPage\"\n :multisort=\"false\"\n :no-sortable-icon=\"true\"\n :striped=\"striped\"\n :hover=\"hover\"\n :responsive=\"responsive\"\n :busy=\"busy\"\n @update:sort-by=\"handleSortChange\"\n @update:current-page=\"apiCurrentPage = $event\"\n @update:busy=\"handleBusyChange\"\n @row-clicked=\"handleRowClick\"\n >\n <!-- Inline Filter Row -->\n <template v-if=\"hasFilters\" #thead-top>\n <tr class=\"filter-row\">\n <th v-for=\"field in fields\" :key=\"`filter-${field.key}`\" class=\"p-2\">\n <!-- Text Filter -->\n <DFormInput\n v-if=\"field.filter === 'text'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Search ${field.label || field.key}...`\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Select Filter -->\n <DFormSelect\n v-else-if=\"field.filter === 'select'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :options=\"[{ value: '', text: 'All' }, ...getFieldFilterOptions(field)]\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Number Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'number'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Filter ${field.label || field.key}...`\"\n type=\"number\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Date Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'date'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n type=\"date\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- No filter for this column -->\n <div v-else></div>\n </th>\n </tr>\n </template>\n\n <!-- Custom headers for all fields -->\n <template v-for=\"field in fields\" :key=\"`head-${field.key}`\" #[`head(${field.key})`]=\"{ label }\">\n <div class=\"d-flex align-items-center justify-content-between gap-2\">\n <div class=\"flex-grow-1\">\n <div class=\"fw-semibold\">{{ label || field.key }}</div>\n <small v-if=\"field.hint\" class=\"text-muted d-block\" style=\"font-weight: normal;\">{{ field.hint }}</small>\n </div>\n <div v-if=\"field.sortable\" class=\"sort-indicator text-muted flex-shrink-0\" style=\"font-size: 0.75rem; line-height: 1.1; display: flex; flex-direction: column; align-items: center;\">\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'asc' ? 1 : 0.3 }\">▲</span>\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'desc' ? 1 : 0.3 }\">▼</span>\n </div>\n </div>\n </template>\n\n <!-- Pass through all cell slots -->\n <template\n v-for=\"(_, name) in $slots\"\n #[name]=\"slotProps\"\n >\n <slot\n v-if=\"typeof name === 'string' && name.startsWith('cell')\"\n :name=\"name\"\n v-bind=\"slotProps\"\n />\n </template>\n </DTable>\n\n <!-- Inertia Mode: Use items prop -->\n <DTable\n v-else\n :items=\"items\"\n :fields=\"fields\"\n :sort-by=\"effectiveSortBy\"\n :multisort=\"false\"\n :no-local-sorting=\"true\"\n :no-sortable-icon=\"true\"\n :striped=\"striped\"\n :hover=\"hover\"\n :responsive=\"responsive\"\n :busy=\"effectiveBusy\"\n @update:sort-by=\"handleSortChange\"\n @row-clicked=\"handleRowClick\"\n >\n <!-- Inline Filter Row -->\n <template v-if=\"hasFilters\" #thead-top>\n <tr class=\"filter-row\">\n <th v-for=\"field in fields\" :key=\"`filter-${field.key}`\" class=\"p-2\">\n <!-- Text Filter -->\n <DFormInput\n v-if=\"field.filter === 'text'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Search ${field.label || field.key}...`\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Select Filter -->\n <DFormSelect\n v-else-if=\"field.filter === 'select'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :options=\"[{ value: '', text: 'All' }, ...getFieldFilterOptions(field)]\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Number Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'number'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n :placeholder=\"field.filterPlaceholder || `Filter ${field.label || field.key}...`\"\n type=\"number\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- Date Filter -->\n <DFormInput\n v-else-if=\"field.filter === 'date'\"\n :model-value=\"effectiveFilters[field.key] || ''\"\n type=\"date\"\n size=\"sm\"\n @update:model-value=\"handleFilterChange(field.key, $event as string)\"\n />\n\n <!-- No filter for this column -->\n <div v-else></div>\n </th>\n </tr>\n </template>\n\n <!-- Custom headers for all fields -->\n <template v-for=\"field in fields\" :key=\"`head-${field.key}`\" #[`head(${field.key})`]=\"{ label }\">\n <div class=\"d-flex align-items-center justify-content-between gap-2\">\n <div class=\"flex-grow-1\">\n <div class=\"fw-semibold\">{{ label || field.key }}</div>\n <small v-if=\"field.hint\" class=\"text-muted d-block\" style=\"font-weight: normal;\">{{ field.hint }}</small>\n </div>\n <div v-if=\"field.sortable\" class=\"sort-indicator text-muted flex-shrink-0\" style=\"font-size: 0.75rem; line-height: 1.1; display: flex; flex-direction: column; align-items: center;\">\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'asc' ? 1 : 0.3 }\">▲</span>\n <span :style=\"{ opacity: getFieldSortState(field.key) === 'desc' ? 1 : 0.3 }\">▼</span>\n </div>\n </div>\n </template>\n\n <!-- Pass through all cell slots -->\n <template\n v-for=\"(_, name) in $slots\"\n #[name]=\"slotProps\"\n >\n <slot\n v-if=\"typeof name === 'string' && name.startsWith('cell')\"\n :name=\"name\"\n v-bind=\"slotProps\"\n />\n </template>\n </DTable>\n\n <!-- Pagination and Controls (Inertia mode) -->\n <div v-if=\"isInertiaMode && pagination\" class=\"mt-3\">\n <!-- Top row: Pagination and Per-page selector -->\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <!-- Pagination controls (only when multiple pages) -->\n <DPagination\n v-if=\"showPagination && pagination.total > pagination.per_page\"\n :model-value=\"pagination.current_page\"\n :total-rows=\"pagination.total\"\n :per-page=\"pagination.per_page\"\n size=\"sm\"\n @update:model-value=\"handlePageChange\"\n />\n <div v-else></div>\n\n <!-- Per-page selector -->\n <div v-if=\"shouldShowPerPageSelector\" class=\"d-flex align-items-center gap-2\">\n <label for=\"perPageSelect\" class=\"mb-0 small text-muted\">Per page</label>\n <DFormSelect\n id=\"perPageSelect\"\n :model-value=\"effectivePerPage\"\n :options=\"perPageOptions.map(n => ({ value: n, text: n.toString() }))\"\n size=\"sm\"\n style=\"width: 85px;\"\n @update:model-value=\"handlePerPageChange\"\n />\n </div>\n </div>\n\n <!-- Bottom row: Info text -->\n <div class=\"small text-muted\">\n <div>\n <template v-if=\"pagination.total > pagination.per_page\">\n {{ pagination.from }} to {{ pagination.to }} out of {{ pagination.total }} {{ pagination.total === 1 ? singularItemName : pluralItemName }}.\n </template>\n <template v-else-if=\"pagination.total === 1\">\n {{ pagination.total }} {{ singularItemName }}.\n </template>\n <template v-else>\n {{ pagination.total }} {{ pluralItemName }}.\n </template>\n </div>\n <div v-if=\"hasActiveFilters && pagination.total_unfiltered\">\n <small>Filtered from {{ pagination.total_unfiltered }} {{ pagination.total_unfiltered === 1 ? singularItemName : pluralItemName }}.</small>\n </div>\n </div>\n </div>\n\n <!-- Pagination and Controls (API mode) -->\n <div v-if=\"isProviderMode && apiPaginationMeta\" class=\"mt-3\">\n <!-- Top row: Pagination and Per-page selector -->\n <div class=\"d-flex justify-content-between align-items-center mb-2\">\n <!-- Pagination controls (only when multiple pages) -->\n <DPagination\n v-if=\"showPagination && apiPaginationMeta.total > apiPaginationMeta.per_page\"\n :model-value=\"apiPaginationMeta.current_page\"\n :total-rows=\"apiPaginationMeta.total\"\n :per-page=\"apiPaginationMeta.per_page\"\n size=\"sm\"\n @update:model-value=\"handleApiPageChange\"\n />\n <div v-else></div>\n\n <!-- Per-page selector -->\n <div v-if=\"shouldShowPerPageSelector\" class=\"d-flex align-items-center gap-2\">\n <label for=\"perPageSelectApi\" class=\"mb-0 small text-muted\">Per page</label>\n <DFormSelect\n id=\"perPageSelectApi\"\n :model-value=\"effectivePerPage\"\n :options=\"perPageOptions.map(n => ({ value: n, text: n.toString() }))\"\n size=\"sm\"\n style=\"width: 85px;\"\n @update:model-value=\"handlePerPageChange\"\n />\n </div>\n </div>\n\n <!-- Bottom row: Info text -->\n <div class=\"small text-muted\">\n <div>\n <template v-if=\"apiPaginationMeta.total > apiPaginationMeta.per_page\">\n {{ apiPaginationMeta.from }} to {{ apiPaginationMeta.to }} out of {{ apiPaginationMeta.total }} {{ apiPaginationMeta.total === 1 ? singularItemName : pluralItemName }}.\n </template>\n <template v-else-if=\"apiPaginationMeta.total === 1\">\n {{ apiPaginationMeta.total }} {{ singularItemName }}.\n </template>\n <template v-else>\n {{ apiPaginationMeta.total }} {{ pluralItemName }}.\n </template>\n </div>\n <div v-if=\"hasActiveFilters && apiPaginationMeta.total_unfiltered\">\n <small>Filtered from {{ apiPaginationMeta.total_unfiltered }} {{ apiPaginationMeta.total_unfiltered === 1 ? singularItemName : pluralItemName }}.</small>\n </div>\n </div>\n </div>\n </DCard>\n </DCol>\n </DRow>\n\n <!-- Edit Modal (if editFields provided) -->\n <DModal\n v-if=\"editFields && editFields.length > 0\"\n v-model=\"showEditModal\"\n :title=\"computedModalTitle\"\n :size=\"editModalSize\"\n >\n <!-- Tabbed view (if editTabs provided) -->\n <template v-if=\"editTabs && editTabs.length > 0 && editForm\">\n <DTabs v-model=\"activeTabIndex\">\n <DTab\n v-for=\"(tab, index) in visibleTabs\"\n :key=\"tab.key\"\n :title=\"tab.label || tab.key\"\n :lazy=\"tab.lazy\"\n :active=\"index === 0\"\n >\n <!-- Custom tab content slot -->\n <slot\n v-if=\"$slots[`tab-content(${tab.key})`]\"\n :name=\"`tab-content(${tab.key})`\"\n :item=\"selectedItem\"\n :tab=\"tab\"\n />\n\n <!-- Default: render fields for this tab -->\n <div v-else class=\"p-3\">\n <!-- Before slot -->\n <slot :name=\"`tab-before(${tab.key})`\" :item=\"selectedItem\" :tab=\"tab\" />\n\n <!-- Form fields for this tab -->\n <template v-for=\"fieldKey in tab.fieldKeys\" :key=\"fieldKey\">\n <div v-if=\"getField(fieldKey).span\" class=\"mb-3\">\n <!-- Full-width span field -->\n <slot\n :name=\"`edit-span(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :close=\"handleEditCancel\"\n />\n </div>\n <!-- Checkbox (no label wrapper needed) -->\n <div v-else-if=\"getField(fieldKey).type === 'checkbox'\" class=\"mb-3\">\n <!-- Custom value slot -->\n <slot\n v-if=\"$slots[`edit-value(${fieldKey})`]\"\n :name=\"`edit-value(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :field=\"getField(fieldKey)\"\n />\n <DFormCheckbox\n v-else\n v-model=\"editForm.data[fieldKey]\"\n >\n {{ getField(fieldKey).label || fieldKey }}\n </DFormCheckbox>\n </div>\n <!-- Other field types with label -->\n <DFormGroup\n v-else\n :label=\"getField(fieldKey).label || fieldKey\"\n class=\"mb-3\"\n >\n <!-- Custom value slot -->\n <slot\n v-if=\"$slots[`edit-value(${fieldKey})`]\"\n :name=\"`edit-value(${fieldKey})`\"\n :item=\"selectedItem\"\n :value=\"editForm.data[fieldKey]\"\n :update=\"(v: any) => editForm.data[fieldKey] = v\"\n :field=\"getField(fieldKey)\"\n />\n <DFormTextarea\n v-else-if=\"getField(fieldKey).type === 'textarea'\"\n v-model=\"editForm.data[fieldKey]\"\n :required=\"getField(fieldKey).required\"\n :rows=\"getField(fieldKey).rows || 3\"\n />\n <DFormInput\n v-else\n v-model=\"editForm.data[fieldKey]\"\n :type=\"getField(fieldKey).type || 'text'\"\n :required=\"getField(fieldKey).required\"\n />\n </DFormGroup>\n </template>\n\n <!-- After slot -->\n <slot :name=\"`tab-after(${tab.key})`\" :item=\"selectedItem\" :tab=\"tab\" />\n </div>\n </DTab>\n </DTabs>\n </template>\n\n <!-- Fallback: no tabs, render flat form (current behavior) -->\n <DXBasicForm\n v-else-if=\"editForm\"\n :form=\"editForm\"\n :fields=\"editFields\"\n :show-submit=\"false\"\n @submit=\"handleEditSave\"\n />\n\n <template #footer>\n <div class=\"d-flex justify-content-between w-100\">\n <div>\n <DButton\n v-if=\"deleteUrl\"\n variant=\"danger\"\n :disabled=\"editForm?.processing\"\n @click=\"handleDelete\"\n >\n {{ editForm?.processing ? 'Deleting...' : 'Delete' }}\n </DButton>\n </div>\n <div class=\"d-flex gap-2\">\n <DButton variant=\"secondary\" @click=\"handleEditCancel\">\n Cancel\n </DButton>\n <DButton\n variant=\"primary\"\n :disabled=\"editForm?.processing\"\n @click=\"handleEditSave\"\n >\n {{ editForm?.processing ? 'Saving...' : 'Save Changes' }}\n </DButton>\n </div>\n </div>\n </template>\n </DModal>\n </DContainer>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport { computed, ref, watch } from \"vue\";\nimport { router } from \"@inertiajs/vue3\";\nimport axios from \"axios\";\nimport pluralize from \"pluralize\";\nimport { useToast } from \"../../composables/useToast\";\nimport DContainer from \"../base/DContainer.vue\";\nimport DRow from \"../base/DRow.vue\";\nimport DCol from \"../base/DCol.vue\";\nimport DCard from \"../base/DCard.vue\";\nimport DSpinner from \"../base/DSpinner.vue\";\nimport DTable from \"../base/DTable.vue\";\nimport DPagination from \"../base/DPagination.vue\";\nimport DFormInput from \"../base/DFormInput.vue\";\nimport DFormSelect from \"../base/DFormSelect.vue\";\nimport DModal from \"../base/DModal.vue\";\nimport DButton from \"../base/DButton.vue\";\nimport DTabs from \"../base/DTabs.vue\";\nimport DTab from \"../base/DTab.vue\";\nimport DFormGroup from \"../base/DFormGroup.vue\";\nimport DFormTextarea from \"../base/DFormTextarea.vue\";\nimport DFormCheckbox from \"../base/DFormCheckbox.vue\";\nimport DXBasicForm from \"./DXBasicForm.vue\";\nexport type FilterType = 'text' | 'select' | 'number' | 'date' | false;\n\nexport interface FilterOption {\n value: string;\n text: string;\n}\n\nexport interface TableField {\n key: string;\n label?: string;\n sortable?: boolean;\n hint?: string;\n filter?: FilterType;\n filterOptions?: FilterOption[];\n filterPlaceholder?: string;\n [key: string]: any;\n}\n\nexport interface PaginationData {\n current_page: number;\n per_page: number;\n total: number;\n from: number;\n to: number;\n last_page?: number;\n total_unfiltered?: number;\n}\n\nexport interface BTableSortBy {\n key: string;\n order?: 'asc' | 'desc';\n}\n\nexport interface BTableProviderContext {\n sortBy?: BTableSortBy[];\n filter?: string;\n currentPage: number;\n perPage: number;\n}\n\nexport type BTableProvider<T = any> = (\n context: Readonly<BTableProviderContext>\n) => Promise<T[] | undefined> | T[] | undefined;\n\nexport interface EditTab {\n /** Unique key for this tab */\n key: string;\n\n /** Display label (optional, auto-derived from key if omitted) */\n label?: string;\n\n /** Field keys to display in this tab (from editFields) */\n fieldKeys: string[];\n\n /** Conditional display (optional) */\n when?: boolean | ((item: any) => boolean);\n\n /** Lazy load tab content (optional, default false) */\n lazy?: boolean;\n}\n\nexport interface Props<TItem = any> {\n /** Table title */\n title?: string;\n\n /** Name for item (singular) - automatically pluralized (e.g., \"product\" → \"products\") */\n itemName?: string;\n\n /** Table data items (Inertia mode) */\n items?: TItem[];\n\n /** Provider function for API mode (alternative to items/apiUrl) */\n provider?: BTableProvider<TItem>;\n\n /** API endpoint URL for auto-provider mode (alternative to provider function) */\n apiUrl?: string;\n\n /** Table field definitions */\n fields: TableField[];\n\n /** Sort configuration (v-model support) */\n sortBy?: BTableSortBy[];\n\n /** Filter values (v-model support) - key is field key, value is filter string */\n filters?: Record<string, string>;\n\n /** Dynamic filter options from server - key is field key, value is array of values */\n filterValues?: Record<string, string[]>;\n\n /** Inertia route URL (if provided, handles navigation automatically) */\n inertiaUrl?: string;\n\n /** Loading/busy state (v-model support) */\n busy?: boolean;\n\n /** Loading state (deprecated, use busy instead) */\n loading?: boolean;\n\n /** Loading text */\n loadingText?: string;\n\n /** Error message */\n error?: string | null;\n\n /** Pagination data (Inertia mode) */\n pagination?: PaginationData;\n\n /** Show pagination controls */\n showPagination?: boolean;\n\n /** Show per-page selector */\n showPerPageSelector?: boolean;\n\n /** Per-page options for selector */\n perPageOptions?: number[];\n\n /** Current page (for provider mode) */\n currentPage?: number;\n\n /** Items per page (for provider mode, v-model support) */\n perPage?: number;\n\n /** Striped rows */\n striped?: boolean;\n\n /** Hover effect on rows */\n hover?: boolean;\n\n /** Responsive table */\n responsive?: boolean;\n\n /** Fluid container */\n fluid?: boolean;\n\n /** Container CSS class */\n containerClass?: string;\n\n /** Column size (Bootstrap grid) */\n columnSize?: string | number;\n\n // Edit Modal Props\n /** Form field definitions for edit modal (if provided, enables edit on row click) */\n editFields?: any[]; // FieldDefinition[] - using any to avoid circular import\n\n /** Tab definitions for organizing edit modal content */\n editTabs?: EditTab[];\n\n /** Edit modal title (can be function for dynamic titles) */\n editModalTitle?: string | ((item: any) => string);\n\n /** Edit modal size */\n editModalSize?: 'sm' | 'md' | 'lg' | 'xl';\n\n /** API endpoint pattern for updates (e.g., \"/api/products/:id\") */\n editUrl?: string;\n\n /** API endpoint pattern for deletions (e.g., \"/api/products/:id\") */\n deleteUrl?: string;\n}\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n itemName: \"item\",\n loading: false,\n busy: false,\n loadingText: \"Loading...\",\n error: null,\n pagination: () => ({\n current_page: 1,\n per_page: 15,\n total: 0,\n from: 0,\n to: 0,\n }),\n showPagination: true,\n showPerPageSelector: true,\n perPageOptions: () => [10, 25, 50, 100],\n currentPage: 1,\n // perPage: 10, // Don't set default - let internalPerPage handle it\n striped: true,\n hover: true,\n responsive: true,\n fluid: false,\n containerClass: \"py-5\",\n columnSize: \"12\",\n editModalSize: \"lg\",\n});\n\nconst emit = defineEmits<{\n pageChange: [page: number];\n sortChange: [sort: { key: string; order: 'asc' | 'desc' }];\n filterChange: [filters: Record<string, string>];\n perPageChange: [perPage: number];\n rowClicked: [item: T, index: number, event: MouseEvent];\n rowUpdated: [item: T, response: any];\n editError: [item: T, error: any];\n rowDeleted: [item: T, response: any];\n deleteError: [item: T, error: any];\n 'update:sortBy': [sortBy: BTableSortBy[]];\n 'update:filters': [filters: Record<string, string>];\n 'update:perPage': [perPage: number];\n 'update:busy': [busy: boolean];\n}>();\n\n// Mode detection\nconst isProviderMode = computed(() => !!props.provider || !!props.apiUrl);\nconst isInertiaMode = computed(() => !props.provider && !props.apiUrl && !!props.items);\nconst hasInertiaUrl = computed(() => !!props.inertiaUrl);\n\n// Computed for effective busy state (provider mode uses 'busy', inertia uses 'loading')\nconst effectiveBusy = computed(() => isProviderMode.value ? props.busy : props.loading);\n\n// Internal sortBy state for auto modes\nconst internalSortBy = ref<BTableSortBy[]>([]);\n\n// Computed effective sortBy (use external if provided, otherwise internal)\nconst effectiveSortBy = computed(() => props.sortBy !== undefined ? props.sortBy : internalSortBy.value);\n\n// Internal filters state for auto modes\nconst internalFilters = ref<Record<string, string>>({});\n\n// Computed effective filters (use external if provided, otherwise internal)\nconst effectiveFilters = computed(() => props.filters !== undefined ? props.filters : internalFilters.value);\n\n// Computed: check if any field has filtering enabled\nconst hasFilters = computed(() => props.fields.some(field => field.filter !== false && field.filter !== undefined));\n\n// Computed: check if any filters are currently active\nconst hasActiveFilters = computed(() => {\n const filters = effectiveFilters.value;\n return Object.keys(filters).some(key => filters[key] && filters[key].trim() !== '');\n});\n\n// API mode pagination metadata (extracted from responses)\nconst apiPaginationMeta = ref<PaginationData | null>(null);\n\n// API mode filter values (extracted from responses)\nconst apiFilterValues = ref<Record<string, string[]>>({});\n\n// Computed: Get effective filter options for a field\nconst getFieldFilterOptions = (field: TableField): FilterOption[] => {\n // If field has static filterOptions, use those\n if (field.filterOptions && field.filterOptions.length > 0) {\n return field.filterOptions;\n }\n\n // Otherwise, check for server-provided values\n const serverValues = props.filterValues?.[field.key] || apiFilterValues.value[field.key];\n\n if (serverValues && serverValues.length > 0) {\n // Convert string array to FilterOption array\n return serverValues.map(value => ({ value, text: value }));\n }\n\n return [];\n};\n\n// LocalStorage key for perPage preference\nconst perPageStorageKey = computed(() => {\n const url = props.inertiaUrl || props.apiUrl || 'table';\n return `dxtable-perpage-${url.replace(/\\//g, '-')}`;\n});\n\n// Load perPage from localStorage or use default\nconst getInitialPerPage = (): number => {\n if (typeof window === 'undefined') return props.perPage || 10;\n\n try {\n const saved = localStorage.getItem(perPageStorageKey.value);\n if (saved !== null) {\n const parsed = parseInt(saved, 10);\n // Validate it's in the allowed options\n if (props.perPageOptions.includes(parsed)) {\n return parsed;\n }\n }\n } catch (error) {\n console.error('Error loading perPage from localStorage:', error);\n }\n\n return props.perPage || 10;\n};\n\n// Internal perPage state\nconst internalPerPage = ref<number>(getInitialPerPage());\n\n// Watch pagination.per_page and sync with internalPerPage (after Inertia navigation)\nwatch(() => props.pagination?.per_page, (newPerPage) => {\n if (newPerPage && newPerPage !== internalPerPage.value) {\n internalPerPage.value = newPerPage;\n // Also update localStorage to stay in sync\n if (typeof window !== 'undefined') {\n try {\n localStorage.setItem(perPageStorageKey.value, newPerPage.toString());\n } catch (error) {\n console.error('Error saving perPage from watcher:', error);\n }\n }\n }\n});\n\n// Watch for external filter changes (when filters prop is controlled by parent)\nwatch(() => props.filters, (newFilters, oldFilters) => {\n // Only trigger refresh if filters prop is being used (not internal state)\n if (props.filters === undefined) return;\n\n // Only refresh if filters actually changed\n if (JSON.stringify(newFilters) === JSON.stringify(oldFilters)) return;\n\n // Refresh data for the new filters\n if (isProviderMode.value) {\n refresh();\n } else if (hasInertiaUrl.value && isInertiaMode.value && router) {\n // Inertia mode - trigger navigation with new filters\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when filters change\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: newFilters,\n perPage: effectivePerPage.value,\n },\n { preserveState: true }\n );\n }\n}, { deep: true });\n\n// Watch apiUrl changes to reset filter cache (prevents stale dropdown options)\nwatch(() => props.apiUrl, (newUrl, oldUrl) => {\n if (newUrl !== oldUrl && isProviderMode.value) {\n // Clear cached filter values and pagination when API endpoint changes\n apiFilterValues.value = {};\n apiPaginationMeta.value = null;\n apiError.value = null;\n // Next provider call will request fresh filter values\n }\n});\n\n// Computed effective perPage (use external if provided, otherwise internal)\nconst effectivePerPage = computed(() => {\n // If external perPage prop is provided, use it\n if (props.perPage !== undefined) {\n return props.perPage;\n }\n\n // For Inertia mode, prefer pagination.per_page (actual server value)\n if (isInertiaMode.value && props.pagination?.per_page) {\n return props.pagination.per_page;\n }\n\n // For API mode, use internal state (which gets updated immediately on change)\n // Don't use apiPaginationMeta.per_page here because it's from the previous request\n // and causes the select to flicker when user changes it\n return internalPerPage.value;\n});\n\n// Computed: determine if per-page selector should be shown\n// Hide it when total items is less than the smallest page size option\nconst shouldShowPerPageSelector = computed(() => {\n if (!props.showPerPageSelector) return false;\n\n const smallestOption = Math.min(...props.perPageOptions);\n const total = isInertiaMode.value\n ? props.pagination?.total || 0\n : apiPaginationMeta.value?.total || 0;\n\n return total >= smallestOption;\n});\n\n// Detect which fields need server filter values\nconst fieldsNeedingFilterValues = computed(() => {\n return props.fields\n .filter(field => field.filter === 'select' && (!field.filterOptions || field.filterOptions.length === 0))\n .map(field => field.key);\n});\n\n// Error state for API mode\nconst apiError = ref<string | null>(null);\n\n// Internal provider function when apiUrl is provided\nconst internalProvider: BTableProvider<T> = async (context: Readonly<BTableProviderContext>) => {\n if (!props.apiUrl) return [];\n\n try {\n // Clear previous error\n apiError.value = null;\n\n const sort = context.sortBy && context.sortBy.length > 0\n ? context.sortBy[0]\n : { key: 'created_at', order: 'desc' };\n\n // Build request parameters\n const params: any = {\n page: context.currentPage,\n perPage: effectivePerPage.value,\n sortBy: sort.key,\n sortOrder: sort.order || 'desc',\n filters: effectiveFilters.value,\n };\n\n // Request filter values on initial load\n if (context.currentPage === 1 && fieldsNeedingFilterValues.value.length > 0 && Object.keys(apiFilterValues.value).length === 0) {\n params.filterValues = fieldsNeedingFilterValues.value;\n }\n\n const response = await axios.get(props.apiUrl, { params });\n\n // Extract and store pagination metadata for display\n if (response.data.pagination) {\n apiPaginationMeta.value = response.data.pagination;\n }\n\n // Extract and store filter values\n if (response.data.filterValues) {\n apiFilterValues.value = { ...apiFilterValues.value, ...response.data.filterValues };\n }\n\n return response.data.data;\n } catch (error: any) {\n console.error('Failed to fetch data from API:', error);\n\n // Surface error to user\n const errorMessage = error?.response?.data?.message\n || error?.message\n || 'Failed to load data. Please try again.';\n apiError.value = errorMessage;\n\n return [];\n }\n};\n\n// Computed effective provider (use external if provided, otherwise internal)\nconst effectiveProvider = computed(() => props.provider || (props.apiUrl ? internalProvider : undefined));\n\nconst handlePageChange = (page: number) => {\n // If inertiaUrl provided, handle navigation automatically\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page,\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: effectiveFilters.value,\n perPage: effectivePerPage.value,\n },\n { preserveState: true }\n );\n }\n\n // Always emit event for backward compatibility\n emit(\"pageChange\", page);\n};\n\n// API mode page change - update BTable's internal current page\nconst apiCurrentPage = ref(1);\n\nconst handleApiPageChange = (page: number) => {\n apiCurrentPage.value = page;\n // BTable should automatically call provider when currentPage prop changes\n};\n\nconst handleSortChange = (sortBy: BTableSortBy[]) => {\n // ENFORCE single-column sorting: keep only the last clicked column\n // BTable may send multiple columns despite multisort: false\n let normalizedSortBy = sortBy;\n if (sortBy && sortBy.length > 1) {\n // Find the column with an order (most recently clicked)\n const withOrder = sortBy.filter(s => s.order);\n if (withOrder.length > 0) {\n // Use the last one with an order\n normalizedSortBy = [withOrder[withOrder.length - 1]];\n } else {\n // Just use the last item\n normalizedSortBy = [sortBy[sortBy.length - 1]];\n }\n }\n\n // Update internal state if not using external sortBy\n if (props.sortBy === undefined) {\n internalSortBy.value = normalizedSortBy;\n }\n\n // Emit v-model update with normalized value\n emit('update:sortBy', normalizedSortBy);\n\n // Handle Inertia navigation automatically if URL provided\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n // Build params based on whether sort is active\n const params: any = {\n page: props.pagination?.current_page || 1,\n filters: effectiveFilters.value,\n perPage: effectivePerPage.value,\n };\n\n // Add sort params only if sorting is active\n if (normalizedSortBy && normalizedSortBy.length > 0 && normalizedSortBy[0].key) {\n params.sortBy = normalizedSortBy[0].key;\n params.sortOrder = normalizedSortBy[0].order || 'asc';\n }\n\n router.get(props.inertiaUrl!, params, { preserveState: true });\n }\n\n // Emit simplified sortChange event for backward compatibility\n if (isInertiaMode.value && normalizedSortBy && normalizedSortBy.length > 0 && normalizedSortBy[0].key) {\n emit('sortChange', {\n key: normalizedSortBy[0].key,\n order: normalizedSortBy[0].order || 'asc'\n });\n }\n};\n\nconst handleBusyChange = (busy: boolean) => {\n emit('update:busy', busy);\n};\n\n// Debounce timer for filter changes\nlet filterDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n\nconst handlePerPageChange = (newPerPage: number | string) => {\n const perPageNum = typeof newPerPage === 'string' ? parseInt(newPerPage, 10) : newPerPage;\n\n // Update internal state if not using external perPage\n if (props.perPage === undefined) {\n internalPerPage.value = perPageNum;\n }\n\n // Save to localStorage\n if (typeof window !== 'undefined') {\n try {\n localStorage.setItem(perPageStorageKey.value, perPageNum.toString());\n } catch (error) {\n console.error('Error saving perPage to localStorage:', error);\n }\n }\n\n // Emit v-model update\n emit('update:perPage', perPageNum);\n\n // Handle navigation automatically\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when changing perPage\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: effectiveFilters.value,\n perPage: perPageNum,\n },\n { preserveState: true }\n );\n }\n\n // For API mode, trigger provider refresh\n if (isProviderMode.value && tableRef.value) {\n refresh();\n }\n\n // Emit event for backward compatibility\n emit('perPageChange', perPageNum);\n};\n\nconst handleFilterChange = (fieldKey: string, value: string) => {\n // Update filters\n const newFilters = { ...effectiveFilters.value, [fieldKey]: value };\n\n // Remove empty filters\n if (!value || value.trim() === '') {\n delete newFilters[fieldKey];\n }\n\n // Update internal state if not using external filters\n if (props.filters === undefined) {\n internalFilters.value = newFilters;\n }\n\n // Emit v-model update\n emit('update:filters', newFilters);\n\n // Debounce server requests for text inputs\n if (filterDebounceTimer) {\n clearTimeout(filterDebounceTimer);\n }\n\n filterDebounceTimer = setTimeout(() => {\n // Handle Inertia navigation automatically if URL provided\n if (hasInertiaUrl.value && isInertiaMode.value && router) {\n const currentSort = effectiveSortBy.value[0] || { key: 'created_at', order: 'desc' };\n router.get(\n props.inertiaUrl!,\n {\n page: 1, // Reset to first page when filtering\n sortBy: currentSort.key,\n sortOrder: currentSort.order,\n filters: newFilters,\n },\n { preserveState: true }\n );\n }\n\n // For API mode, provider will be called automatically by BTable\n // when we trigger a refresh\n if (isProviderMode.value && tableRef.value) {\n refresh();\n }\n\n // Emit filterChange event for backward compatibility\n emit('filterChange', newFilters);\n }, 300); // 300ms debounce\n};\n\n// Reference to the DTable component (for exposing refresh method)\nconst tableRef = ref<InstanceType<typeof DTable> | null>(null);\n\n// Expose refresh method for both modes\nconst refresh = () => {\n // Provider/API mode: call refresh on BTable\n if (isProviderMode.value && tableRef.value && typeof (tableRef.value as any).refresh === 'function') {\n (tableRef.value as any).refresh();\n }\n // Inertia mode: reload current page to refresh data\n else if (isInertiaMode.value && props.inertiaUrl && router) {\n router.reload();\n }\n};\n\n// Edit Modal State\nconst showEditModal = ref(false);\nconst selectedItem = ref<T | null>(null);\nconst editForm = ref<any>(null);\nconst activeTabIndex = ref(0);\n\n// Toast (may not be available in test environment)\nlet createToast: ((obj: any) => any) | undefined;\ntry {\n const toast = useToast();\n createToast = toast.create;\n} catch (e) {\n // BApp not available (test environment or missing setup)\n createToast = undefined;\n}\n\n// Computed: Visible tabs (respects when condition)\nconst visibleTabs = computed(() => {\n if (!props.editTabs || props.editTabs.length === 0) return [];\n\n return props.editTabs.filter(tab => {\n if (tab.when === undefined) return true;\n return typeof tab.when === 'function'\n ? tab.when(selectedItem.value)\n : tab.when;\n });\n});\n\n// Helper: Get field by key\nconst getField = (key: string) => {\n return props.editFields?.find(f => f.key === key) || { key };\n};\n\n// Computed: Singular and plural item names\nconst singularItemName = computed(() => props.itemName);\nconst pluralItemName = computed(() => pluralize(props.itemName));\n\n// Computed: Modal title (supports function)\nconst computedModalTitle = computed(() => {\n if (!selectedItem.value) {\n return `Edit ${singularItemName.value}`;\n }\n if (!props.editModalTitle) {\n return `Edit ${singularItemName.value}`;\n }\n return typeof props.editModalTitle === 'function'\n ? props.editModalTitle(selectedItem.value)\n : props.editModalTitle;\n});\n\n// Helper: Get current sort state for a field\nconst getFieldSortState = (fieldKey: string) => {\n const currentSort = effectiveSortBy.value.find(s => s.key === fieldKey);\n return currentSort?.order || null;\n};\n\n// Handle row click for editing\nconst handleRowClick = (item: T, index: number, event: MouseEvent) => {\n // Always emit rowClicked for custom handling\n emit('rowClicked', item, index, event);\n\n // If editFields provided, open edit modal\n if (props.editFields && props.editFields.length > 0) {\n // Set selected item FIRST before any rendering\n selectedItem.value = item;\n\n // Reset to first tab\n activeTabIndex.value = 0;\n\n // Initialize form with item data\n if (!editForm.value) {\n // Dynamically import useForm to avoid circular dependency\n import('../../composables/useForm').then(({ useForm }) => {\n const formData: Record<string, any> = {};\n props.editFields!.forEach(field => {\n formData[field.key] = (item as any)[field.key] ?? field.default ?? '';\n });\n editForm.value = useForm(formData);\n\n // Open modal\n showEditModal.value = true;\n });\n } else {\n // Update existing form\n props.editFields.forEach(field => {\n editForm.value.data[field.key] = (item as any)[field.key] ?? field.default ?? '';\n });\n editForm.value.clearErrors();\n\n // Open modal\n showEditModal.value = true;\n }\n }\n};\n\n// Handle save from edit modal\nconst handleEditSave = async () => {\n if (!editForm.value || !selectedItem.value) return;\n\n try {\n // If editUrl provided, handle API call internally\n if (props.editUrl) {\n const itemId = (selectedItem.value as any).id;\n const url = props.editUrl.replace(':id', itemId);\n\n await editForm.value.put(url, {\n onSuccess: (data: any) => {\n // Show success toast\n createToast?.({\n title: 'Success',\n body: `${singularItemName.value} updated successfully`,\n variant: 'success',\n modelValue: 3000, // Auto-dismiss after 3 seconds\n });\n\n emit('rowUpdated', selectedItem.value as T, data);\n showEditModal.value = false;\n selectedItem.value = null;\n\n // Refresh table data to show updated values\n refresh();\n },\n onError: (errors: any) => {\n // Show error toast\n createToast?.({\n title: 'Error',\n body: 'Failed to update. Please check the form for errors.',\n variant: 'danger',\n modelValue: 5000, // Auto-dismiss after 5 seconds\n });\n\n // Switch to tab containing error field\n if (props.editTabs && props.editTabs.length > 0) {\n const errorKeys = Object.keys(errors);\n const tabIndex = visibleTabs.value.findIndex(tab =>\n tab.fieldKeys.some(key => errorKeys.includes(key))\n );\n if (tabIndex !== -1) {\n activeTabIndex.value = tabIndex;\n }\n }\n\n emit('editError', selectedItem.value as T, errors);\n }\n });\n } else {\n // No editUrl - just emit event for custom handling\n emit('rowUpdated', selectedItem.value as T, editForm.value.data);\n showEditModal.value = false;\n selectedItem.value = null;\n }\n } catch (error) {\n emit('editError', selectedItem.value as T, error);\n }\n};\n\n// Handle edit modal close\nconst handleEditCancel = () => {\n showEditModal.value = false;\n selectedItem.value = null;\n activeTabIndex.value = 0; // Reset tab for next time\n if (editForm.value) {\n editForm.value.clearErrors();\n }\n};\n\n// Handle delete from edit modal\nconst handleDelete = async () => {\n if (!editForm.value || !selectedItem.value || !props.deleteUrl) return;\n\n // Confirm deletion\n const itemName = (selectedItem.value as any).name || (selectedItem.value as any).title || singularItemName.value;\n const confirmed = window.confirm(`Are you sure you want to delete \"${itemName}\"? This action cannot be undone.`);\n\n if (!confirmed) return;\n\n try {\n const itemId = (selectedItem.value as any).id;\n const url = props.deleteUrl.replace(':id', itemId);\n\n await editForm.value.delete(url, {\n onSuccess: (data: any) => {\n // Show success toast\n createToast?.({\n title: 'Success',\n body: `${singularItemName.value} deleted successfully`,\n variant: 'success',\n modelValue: 3000, // Auto-dismiss after 3 seconds\n });\n\n emit('rowDeleted', selectedItem.value as T, data);\n showEditModal.value = false;\n selectedItem.value = null;\n\n // Refresh table data to remove deleted item\n refresh();\n },\n onError: (error: any) => {\n // Extract error message from server response\n const errorData = error?.response?.data ?? error?.data ?? error;\n const errorMessage = errorData?.message ?? 'Failed to delete. Please try again.';\n\n // Show error toast with server message\n createToast?.({\n title: 'Error',\n body: errorMessage,\n variant: 'danger',\n modelValue: 5000, // Auto-dismiss after 5 seconds\n });\n\n emit('deleteError', selectedItem.value as T, error);\n }\n });\n } catch (error) {\n emit('deleteError', selectedItem.value as T, error);\n }\n};\n\ndefineExpose({\n refresh,\n});\n</script>\n\n<style scoped>\n/* Add pointer cursor to table rows when editFields is enabled */\n:deep(tbody tr) {\n cursor: v-bind('editFields && editFields.length > 0 ? \"pointer\" : \"default\"');\n}\n\n:deep(tbody tr:hover) {\n background-color: v-bind('editFields && editFields.length > 0 ? \"var(--bs-table-hover-bg)\" : \"inherit\"');\n}\n\n/* Improve pagination button sizing to match form controls */\n:deep(.pagination) {\n margin-bottom: 0;\n}\n\n:deep(.pagination-sm .page-link) {\n min-width: 2.25rem;\n height: auto;\n}\n\n/* Make disabled pagination buttons more subtle */\n:deep(.pagination .page-item.disabled .page-link) {\n background-color: transparent;\n border-color: transparent;\n opacity: 0.3;\n}\n</style>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BAccordion component.\n * Easily toggle content visibility with collapsible accordions.\n */\n<script setup lang=\"ts\">\nimport { BAccordion } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BAccordion v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAccordion>\n</template>\n","<script setup lang=\"ts\">\nimport { BAccordionItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BAccordionItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAccordionItem>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BAvatar component.\n * Display user profiles as pictures, icons, or short text.\n */\n<script setup lang=\"ts\">\nimport { BAvatar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BAvatar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BAvatar>\n</template>\n","<script setup lang=\"ts\">\nimport { BBadge } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BBadge v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BBadge>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BBreadcrumb component.\n * Indicate the current page's location within a navigational hierarchy.\n */\n<script setup lang=\"ts\">\nimport { BBreadcrumb } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BBreadcrumb v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BBreadcrumb>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BButtonGroup component.\n * Group a series of buttons on a single line or stack them vertically.\n */\n<script setup lang=\"ts\">\nimport { BButtonGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BButtonGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BButtonGroup>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BButtonToolbar component.\n * Group button groups and input groups together on a single line.\n */\n<script setup lang=\"ts\">\nimport { BButtonToolbar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BButtonToolbar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BButtonToolbar>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BCarousel component.\n * Slideshow component for cycling through images or content.\n */\n<script setup lang=\"ts\">\nimport { BCarousel } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BCarousel v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCarousel>\n</template>\n","<script setup lang=\"ts\">\nimport { BCarouselSlide } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BCarouselSlide v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCarouselSlide>\n</template>\n","<script setup lang=\"ts\">\n/**\n * DCollapse - A type-safe wrapper around Bootstrap Vue Next's BCollapse component\n *\n * Toggles the visibility of content with smooth collapse/expand animations.\n *\n * @component\n * @example\n * import { ref } from 'vue'\n * import { DButton, DCollapse } from '@omnitend/dashboard-for-laravel'\n *\n * const visible = ref(false)\n *\n * // In template:\n * // <DButton @click=\"visible = !visible\">Toggle Collapse</DButton>\n * // <DCollapse v-model=\"visible\">\n * // <div class=\"card card-body\">Your collapsible content here</div>\n * // </DCollapse>\n */\nimport { BCollapse } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BCollapse v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BCollapse>\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdownDivider } from \"bootstrap-vue-next\";\n</script>\n\n<template>\n <BDropdownDivider v-bind=\"$attrs\" />\n</template>\n","<script setup lang=\"ts\">\nimport { BDropdownItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BDropdownItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BDropdownItem>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BForm component.\n * Form component with support for inline styles and validation states.\n */\n<script setup lang=\"ts\">\nimport { BForm } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BForm v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BForm>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormRadio component.\n * Custom radio button input with accessibility markup.\n */\n<script setup lang=\"ts\">\nimport { BFormRadio } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormRadio v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormRadio>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormSpinbutton component.\n * Number input with increment/decrement buttons.\n */\n<script setup lang=\"ts\">\nimport { BFormSpinbutton } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormSpinbutton v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormSpinbutton>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BFormTags component.\n * Lightweight custom tagged input with duplicate detection and validation.\n */\n<script setup lang=\"ts\">\nimport { BFormTags } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BFormTags v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BFormTags>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BImg component.\n * Responsive image component with optional lazy loading and fluid sizing.\n */\n<script setup lang=\"ts\">\nimport { BImg } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BImg v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BImg>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BInputGroup component.\n * Easily extend form controls by adding text, buttons, or button groups.\n */\n<script setup lang=\"ts\">\nimport { BInputGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BInputGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BInputGroup>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BLink component.\n * Enhanced link component with router support and accessibility features.\n */\n<script setup lang=\"ts\">\nimport { BLink } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BLink v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BLink>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BListGroup component.\n * Flexible component for displaying a series of content items.\n */\n<script setup lang=\"ts\">\nimport { BListGroup } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BListGroup v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BListGroup>\n</template>\n","<script setup lang=\"ts\">\nimport { BListGroupItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BListGroupItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BListGroupItem>\n</template>\n","<script setup lang=\"ts\">\nimport { BNav } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNav v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BNav>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BNavbar component.\n * Responsive navigation header with support for branding, navigation, and more.\n */\n<script setup lang=\"ts\">\nimport { BNavbar } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BNavbar v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbar>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarBrand } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarBrand v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarBrand>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarNav } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarNav v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarNav>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavbarToggle } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavbarToggle v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BNavbarToggle>\n</template>\n","<script setup lang=\"ts\">\nimport { BNavItem } from \"bootstrap-vue-next\";\nimport { useSlots } from \"vue\";\n\nconst slots = useSlots();\n</script>\n\n<template>\n <BNavItem v-bind=\"$attrs\">\n <template v-for=\"(_, name) in slots\" :key=\"name\" #[name]>\n <slot :name=\"name\" />\n </template>\n </BNavItem>\n</template>\n","<template>\n <BOffcanvas v-bind=\"$attrs\">\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BOffcanvas>\n</template>\n\n<script setup lang=\"ts\">\nimport { BOffcanvas } from \"bootstrap-vue-next\";\n</script>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BOverlay component.\n * Overlay component for indicating loading states or blocking content.\n */\n<script setup lang=\"ts\">\nimport { BOverlay } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BOverlay v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BOverlay>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BPlaceholder component.\n * Loading placeholder component to indicate content is still loading.\n */\n<script setup lang=\"ts\">\nimport { BPlaceholder } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BPlaceholder v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BPlaceholder>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BPopover component.\n * Overlay component for displaying rich content in a popup.\n */\n<script setup lang=\"ts\">\nimport { BPopover } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BPopover v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BPopover>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BProgress component.\n * Progress bar for displaying simple or complex progress indicators.\n */\n<script setup lang=\"ts\">\nimport { BProgress } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BProgress v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BProgress>\n</template>\n","<script setup lang=\"ts\">\nimport { BToast } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BToast v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BToast>\n</template>\n","<script setup lang=\"ts\">\nimport { BToastOrchestrator } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BToastOrchestrator v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BToastOrchestrator>\n</template>\n","/**\n * @component\n * Type-safe wrapper around Bootstrap Vue Next BTooltip component.\n * Display helpful tooltips when hovering over elements.\n */\n<script setup lang=\"ts\">\nimport { BTooltip } from \"bootstrap-vue-next\";\n\ndefineOptions({\n inheritAttrs: false,\n});\n</script>\n\n<template>\n <BTooltip v-bind=\"$attrs\">\n <!-- Dynamically pass through all named slots with their props -->\n <template v-for=\"(_, name) in $slots\" :key=\"name\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </BTooltip>\n</template>\n","export interface ApiError {\n message: string;\n errors: Record<string, string[]>;\n status: number;\n}\n\nexport interface ApiResponse<T = unknown> {\n data: T;\n response: Response;\n}\n\ninterface RequestOptions extends Omit<RequestInit, \"body\"> {\n headers?: Record<string, string>;\n body?: BodyInit | null; // allow FormData/Blob/etc.\n}\n\nclass ApiClient {\n private baseURL = \"\";\n private defaultHeaders: Record<string, string> = {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\", // removed automatically for FormData\n \"X-Requested-With\": \"XMLHttpRequest\",\n };\n\n setBaseURL(url: string) {\n this.baseURL = url.replace(/\\/+$/, \"\");\n }\n setDefaultHeader(key: string, value: string) {\n this.defaultHeaders[key] = value;\n }\n\n private getCsrfToken(): string {\n if (typeof document === 'undefined') {\n return \"\";\n }\n const el = document.querySelector('meta[name=\"csrf-token\"]');\n return el?.getAttribute(\"content\") ?? \"\";\n }\n\n private toQuery(params: Record<string, unknown> = {}): string {\n const search = new URLSearchParams();\n const append = (k: string, v: unknown) => {\n if (v === undefined || v === null) return;\n if (Array.isArray(v)) v.forEach((x) => append(`${k}[]`, x));\n else if (typeof v === \"object\") {\n for (const [ck, cv] of Object.entries(\n v as Record<string, unknown>,\n )) {\n append(`${k}[${ck}]`, cv);\n }\n } else {\n search.append(k, String(v));\n }\n };\n for (const [k, v] of Object.entries(params)) append(k, v);\n const qs = search.toString();\n return qs ? `?${qs}` : \"\";\n }\n\n private handleError(response: Response, data: any): never {\n const error: ApiError = {\n message: data?.message ?? \"An error occurred\",\n errors: (data?.errors as Record<string, string[]>) ?? {},\n status: response.status,\n };\n switch (response.status) {\n case 422:\n error.message = data?.message ?? \"Validation failed\";\n break;\n case 401:\n error.message = \"Unauthenticated. Please log in.\";\n break;\n case 403:\n error.message = \"Forbidden. You do not have permission.\";\n break;\n case 404:\n error.message = \"Resource not found.\";\n break;\n case 419:\n error.message = \"Page expired. Please refresh and try again.\";\n break;\n case 500:\n error.message = \"Server error. Please try again later.\";\n break;\n }\n throw error;\n }\n\n async request<T = unknown>(\n url: string,\n options: RequestOptions = {},\n ): Promise<ApiResponse<T>> {\n const isFormData =\n typeof FormData !== \"undefined\" && options.body instanceof FormData;\n\n const headers: Record<string, string> = {\n ...this.defaultHeaders,\n ...(isFormData\n ? {}\n : { \"Content-Type\": this.defaultHeaders[\"Content-Type\"] }),\n \"X-CSRF-TOKEN\": this.getCsrfToken(),\n ...options.headers,\n };\n\n // Let fetch set the multipart boundary if FormData\n if (isFormData) delete headers[\"Content-Type\"];\n\n const config: RequestOptions = {\n credentials: \"same-origin\",\n ...options,\n headers,\n };\n\n const resp = await fetch(this.baseURL + url, config);\n\n // Fast-path for 204/205\n if (resp.status === 204 || resp.status === 205) {\n if (!resp.ok) {\n this.handleError(resp, null);\n }\n\n return { data: undefined as unknown as T, response: resp };\n }\n\n const ctype = resp.headers.get(\"Content-Type\") || \"\";\n const isJson = /\\bjson\\b/i.test(ctype);\n const parsed = isJson\n ? await resp.json().catch(() => ({}))\n : await resp.text();\n\n if (!resp.ok) {\n this.handleError(resp, parsed);\n }\n\n return { data: parsed as T, response: resp };\n }\n\n async get<T = unknown>(\n url: string,\n params: Record<string, unknown> = {},\n options: Omit<RequestOptions, \"method\"> = {},\n ) {\n const full = `${url}${this.toQuery(params)}`;\n return this.request<T>(full, { ...options, method: \"GET\" });\n }\n\n async post<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"POST\", body });\n }\n\n async put<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"PUT\", body });\n }\n\n async patch<T = unknown>(\n url: string,\n data: any = {},\n options: Omit<RequestOptions, \"method\" | \"body\"> = {},\n ) {\n const body = data instanceof FormData ? data : JSON.stringify(data);\n return this.request<T>(url, { ...options, method: \"PATCH\", body });\n }\n\n async delete<T = unknown>(\n url: string,\n options: Omit<RequestOptions, \"method\"> = {},\n ) {\n return this.request<T>(url, { ...options, method: \"DELETE\" });\n }\n}\n\nexport const api = new ApiClient();\n","import {\n reactive,\n computed,\n type ComputedRef,\n type WritableComputedRef,\n} from \"vue\";\nimport { api, type ApiError } from \"../utils/api\";\n\nexport interface ValidationErrors {\n [key: string]: string[];\n}\n\nexport type FormError = ApiError;\n\nexport interface FormSubmitOptions<TPayload = unknown, TResponse = unknown> {\n onSuccess?: (data: TResponse) => void;\n onError?: (error: FormError) => void;\n onBefore?: (payload: TPayload) => void;\n onFinish?: () => void;\n transform?: (payload: TPayload) => unknown;\n preserveErrors?: boolean;\n resetOnSuccess?: boolean;\n signal?: AbortSignal;\n}\n\nexport interface FormState<TData extends Record<string, any>> {\n data: TData; // viewed as TData at the API boundary\n errors: ValidationErrors;\n processing: boolean;\n message: string;\n touched: Record<string, boolean>;\n recentlySuccessful: boolean;\n shouldShowMessage: boolean;\n}\n\nexport interface UseFormReturn<TData extends Record<string, any>>\n extends FormState<TData> {\n hasErrors: ComputedRef<boolean>;\n hasError: (field: keyof TData | string) => boolean;\n getError: (field: keyof TData | string) => string;\n getState: (field: keyof TData | string) => true | false | null;\n setErrors: (errors?: ValidationErrors) => void;\n setMessage: (message: string) => void;\n clearErrors: () => void;\n clearError: (field: keyof TData | string) => void;\n reset: (only?: Array<keyof TData>) => void;\n field: <K extends keyof TData>(key: K) => WritableComputedRef<TData[K]>;\n fields: { [K in keyof TData]: WritableComputedRef<TData[K]> };\n submit: <TResponse = unknown>(\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\",\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n post: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n put: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n patch: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n delete: <TResponse = unknown>(\n url: string,\n options?: FormSubmitOptions<TData, TResponse>,\n ) => Promise<TResponse>;\n}\n\n// ————————————————— helpers\n\nconst deepClone = <T>(v: T): T =>\n typeof structuredClone === \"function\"\n ? structuredClone(v)\n : JSON.parse(JSON.stringify(v));\n\nfunction errorsFromLaravel(error: any): {\n errors: ValidationErrors;\n message: string;\n} {\n const data = error?.response?.data ?? error?.data ?? error;\n return {\n errors: (data?.errors as ValidationErrors) ?? {},\n message: (data?.message as string) ?? \"An error occurred\",\n };\n}\n\n// ————————————————— composable\n\nexport function useForm<TData extends Record<string, any>>(\n initialData = {} as TData,\n): UseFormReturn<TData> {\n const snapshot = deepClone(initialData);\n\n const state = reactive<FormState<TData>>({\n data: deepClone(snapshot) as TData,\n errors: {},\n processing: false,\n message: \"\",\n touched: {},\n recentlySuccessful: false,\n shouldShowMessage: false,\n });\n\n const hasErrors = computed(() =>\n Object.keys(state.errors).some(\n (k) => (state.errors[k]?.length ?? 0) > 0,\n ),\n );\n\n const hasError = (field: keyof TData | string): boolean => {\n return (state.errors[field as string]?.length ?? 0) > 0;\n };\n\n const getError = (field: keyof TData | string): string => {\n return state.errors[field as string]?.[0] ?? \"\";\n };\n\n const getState = (field: keyof TData | string): false | null =>\n hasError(field) ? false : null;\n\n const setErrors = (errors: ValidationErrors = {}): void => {\n for (const k of Object.keys(state.errors)) delete state.errors[k];\n Object.assign(state.errors, errors);\n };\n\n const setMessage = (message: string): void => {\n state.message = message;\n };\n\n const clearErrors = (): void => {\n for (const key of Object.keys(state.errors)) delete state.errors[key];\n state.message = \"\";\n };\n\n const clearError = (field: keyof TData | string): void => {\n const key = field as string;\n if (state.errors[key]) delete state.errors[key];\n };\n\n const reset = (only?: Array<keyof TData>): void => {\n if (only?.length) {\n for (const k of only) {\n (state.data as any)[k as string] = deepClone(\n (snapshot as any)[k as string],\n );\n }\n } else {\n // operate on a Record view to satisfy TS\n const dataRecord = state.data as Record<string, unknown>;\n for (const k of Object.keys(dataRecord))\n delete (dataRecord as any)[k];\n Object.assign(\n state.data as Record<string, unknown>,\n deepClone(snapshot),\n );\n }\n clearErrors();\n state.touched = {};\n state.processing = false;\n };\n\n // v-model for a single field\n const field = <K extends keyof TData>(\n key: K,\n ): WritableComputedRef<TData[K]> =>\n computed<TData[K]>({\n get: () => (state.data as TData)[key],\n set: (value) => {\n (state.data as TData)[key] = value;\n state.touched[key as string] = true;\n if (state.errors[key as string])\n delete state.errors[key as string];\n },\n });\n\n // property-style fields map (non-Proxy, uses snapshot keys)\n const fields = {} as UseFormReturn<TData>[\"fields\"];\n (Object.keys(snapshot) as Array<keyof TData>).forEach((k) => {\n Object.defineProperty(fields, k, {\n get: () => field(k),\n enumerable: true,\n });\n });\n\n const submit = async <TResponse = unknown>(\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\",\n url: string,\n options: FormSubmitOptions<TData, TResponse> = {},\n ): Promise<TResponse> => {\n state.processing = true;\n if (!options.preserveErrors) clearErrors();\n\n const payloadRaw = (\n options.transform\n ? options.transform(state.data as TData)\n : (state.data as TData)\n ) as any;\n\n options.onBefore?.(state.data as TData);\n\n try {\n const { data } =\n method === \"get\"\n ? await api.get<TResponse>(\n url,\n payloadRaw as Record<string, unknown>,\n { signal: options?.signal },\n )\n : await api[method]<TResponse>(url, payloadRaw, {\n signal: options?.signal,\n });\n\n state.recentlySuccessful = true;\n setTimeout(() => (state.recentlySuccessful = false), 1500);\n\n options.onSuccess?.(data);\n if (options.resetOnSuccess) {\n reset();\n }\n return data;\n } catch (err) {\n const { errors, message } = errorsFromLaravel(err);\n setErrors(errors);\n setMessage(message);\n options.onError?.(err as FormError);\n throw err;\n } finally {\n state.processing = false;\n options.onFinish?.();\n }\n };\n\n const post = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"post\", url, o);\n const put = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"put\", url, o);\n const patch = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"patch\", url, o);\n const del = <R = unknown>(url: string, o?: FormSubmitOptions<TData, R>) =>\n submit<R>(\"delete\", url, o);\n\n const shouldShowMessage = computed(() => {\n return (\n state.message !== \"\" &&\n state.processing === false &&\n hasErrors.value === false\n );\n });\n\n return Object.assign(state, {\n hasErrors,\n hasError,\n getError,\n getState,\n setErrors,\n setMessage,\n clearErrors,\n clearError,\n reset,\n field,\n fields,\n submit,\n post,\n put,\n patch,\n delete: del,\n shouldShowMessage,\n }) as UseFormReturn<TData>;\n}\n","import { useForm, type UseFormReturn } from \"./useForm\";\nimport type { FieldDefinition, FieldType } from \"../types\";\n\n/**\n * Extended field definition that includes default value\n */\nexport interface FormFieldDefinition<TValue = any> extends FieldDefinition {\n /** Default/initial value for the field */\n default: TValue;\n}\n\n/**\n * Infer data type from field definitions\n */\ntype InferFormData<TFields extends readonly FormFieldDefinition[]> = {\n [K in TFields[number] as K[\"key\"]]: K[\"default\"];\n};\n\n/**\n * Return type for defineForm\n */\nexport interface DefineFormReturn<TData extends Record<string, any>> {\n form: UseFormReturn<TData>;\n fields: FieldDefinition[];\n}\n\n/**\n * Helper to get default value for a field type\n */\nfunction getDefaultValueForType(type: FieldType): any {\n switch (type) {\n case \"checkbox\":\n return false;\n case \"number\":\n return 0;\n case \"select\":\n case \"radio\":\n return \"\";\n default:\n return \"\";\n }\n}\n\n/**\n * Define a form with type-safe field definitions.\n * Reduces duplication by inferring initial values from field definitions.\n *\n * @example\n * const { form, fields } = defineForm([\n * { key: \"email\", type: \"email\", label: \"Email\", default: \"\", required: true },\n * { key: \"password\", type: \"password\", label: \"Password\", default: \"\", required: true },\n * { key: \"remember\", type: \"checkbox\", label: \"Remember me\", default: false },\n * ] as const);\n */\nexport function defineForm<const TFields extends readonly FormFieldDefinition[]>(\n fieldDefinitions: TFields,\n): DefineFormReturn<InferFormData<TFields>> {\n type FormData = InferFormData<TFields>;\n\n // Extract initial data from field definitions\n const initialData = fieldDefinitions.reduce(\n (acc, field) => {\n acc[field.key] = field.default ?? getDefaultValueForType(field.type);\n return acc;\n },\n {} as Record<string, any>,\n ) as FormData;\n\n // Create form instance\n const form = useForm<FormData>(initialData);\n\n // Strip 'default' property from fields for OForm compatibility\n const fields: FieldDefinition[] = fieldDefinitions.map(\n ({ default: _default, ...field }) => field,\n );\n\n return { form, fields };\n}\n"],"names":["genericBvnPrefix","withBvnPrefix","value","suffix","suffixWithTrail","createBvnInjectionKey","name","createBvnRegistryInjectionKey","carouselInjectionKey","tabsInjectionKey","progressInjectionKey","listGroupInjectionKey","avatarGroupInjectionKey","accordionInjectionKey","checkboxGroupKey","radioGroupKey","collapseInjectionKey","showHideRegistryKey","dropdownInjectionKey","navbarInjectionKey","rtlRegistryKey","breadcrumbGlobalIndexKey","breadcrumbRegistryKey","modalManagerKey","defaultsKey","inputGroupKey","buttonGroupKey","orchestratorRegistryKey","formGroupKey","formSelectKey","tableKeyboardNavigationKey","useBreadcrumb","id","parentData","inject","resolvedId","computed","v","toValue","watch","newValue","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","localProvidedStateMap","injectLocal","args","_a","key","instance","getCurrentInstance","hasInjectionContext","createSharedComposable","composable","subscribers","state","scope","dispose","effectScope","makeDestructurable","obj","arr","clone","index","isClient","notNullish","val","toString","isObject","timestamp","noop","isIOS","getIsIOS","_b","toRef","toRef$1","r","readonly","customRef","ref","createFilterWrapper","filter","wrapper","resolve","reject","bypassFilter","invoke","throttleFilter","lastExec","timer","isLeading","lastRejector","lastValue","ms","trailing","leading","rejectOnCancel","isRef","clear","_invoke","duration","elapsed","pausableFilter","extendFilter","options","initialState","isActive","pause","resume","eventFilter","increaseWithUnit","target","delta","unit","result","pxValue","px","toArray","cacheStringFunction","cache","str","camelizeRE","camelize","_","c","getLifeCycleTarget","useThrottleFn","watchWithFilter","source","cb","watchOptions","watchPausable","syncRef","left","right","flush","deep","immediate","direction","transform","watchers","transformLTR","transformRTL","w","tryOnMounted","sync","onMounted","nextTick","useIntervalFn","interval","immediateCallback","shallowRef","clean","intervalValue","stopWatch","shallowReadonly","useToNumber","method","radix","nanToZero","resolved","watchImmediate","createReusableTemplate","inheritAttrs","render","define","defineComponent","slots","reuse","props","attrs","vnode","keysToCamelKebabCase","newObj","defaultWindow","unrefElement","elRef","plain","useEventListener","cleanups","cleanup","register","el","event","listener","firstParamTargets","test","e","unref","raw_targets","raw_events","raw_listeners","raw_options","optionsClone","stop","_iOSWorkaround","onClickOutside","handler","window2","ignore","capture","detectIframe","controls","listenerOptions","shouldListen","shouldIgnore","target2","hasMultipleRoots","vm","checkMultipleRoots","children","child","isProcessingClick","useMounted","isMounted","useSupported","callback","useMutationObserver","mutationOptions","observer","isSupported","targets","items","targets2","takeRecords","onElementRemoval","document2","stopFn","cleanupAndUpdate","watchEffect","mutationsList","mutation","node","stopHandle","createKeyPredicate","keyFilter","onKeyStroke","eventName","passive","dedupe","predicate","useRafFn","fpsLimit","once","intervalLimit","previousFrameTimestamp","rafId","loop","timestamp2","ssrWidthSymbol","useSSRWidth","ssrWidth","useMediaQuery","query","ssrSupport","mediaQuery","matches","queryStrings","queryString","not","minWidth","maxWidth","res","breakpointsBootstrapV5","useBreakpoints","breakpoints","getValue","k","strategy","mounted","match","size","greaterOrEqual","smallerOrEqual","shortcutMethods","shortcuts","current","points","a","b","bps","_global","globalKey","handlers","getHandlers","getSSRHandler","fallback","usePreferredDark","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","shallow","onError","initOnMounted","data","keyComputed","_a2","type","serializer","pauseWatch","resumeWatch","write","update","firstMounted","onStorageEvent","ev","onStorageCustomEvent","updateFromCustomEvent","dispatchWriteEvent","oldValue","payload","serialized","read","rawValue","CSS_DISABLE_TRANS","useColorMode","selector","attribute","initialValue","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","classesToAdd","classesToRemove","attributeToChange","i","style","defaultOnChanged","mode","onChanged","auto","useElementHover","delayEnter","delayLeave","triggerOnRemoval","isHovered","toggle","entering","delay","useIntersectionObserver","root","rootMargin","threshold","_target","root2","useFocus","focusVisible","preventScroll","innerFocused","targetElement","focused","resolveElement","UseMouseBuiltinExtractors","useMouse","touch","resetOnTouchEnds","scroll","_prevMouseEvent","_prevScrollX","_prevScrollY","x","y","sourceType","extractor","mouseHandler","touchHandler","scrollHandler","pos","reset","mouseHandlerWrapper","touchHandlerWrapper","scrollHandlerWrapper","checkOverflowScroll","ele","parent","preventDefault","rawEvent","elInitialOverflow","useScrollLock","element","isLocked","stopTouchMoveListener","initialOverflow","lock","unlock","useSwipe","onSwipe","onSwipeEnd","onSwipeStart","coordsStart","reactive","coordsEnd","diffX","diffY","max","abs","isThresholdExceeded","isSwiping","getTouchEventCoords","updateCoordsStart","updateCoordsEnd","onTouchEnd","stops","s","useTimestamp","exposeControls","offset","ts","opts","persist","useColorMode$1","buildPromise","_id","resolveFunc","promise","refWithMethods","trigger","currentItem","itemIndex","item","updatedItem","vRecord","prev","_newOrchestratorRegistry","useOrchestratorRegistry","orchestratorRegistry","newOrchestratorRegistry","provide","componentsWithExternalPath","componentNames","directivesWithExternalPath","directiveNames","composablesWithExternalPath","composableNames","_sfc_main","h","Teleport","candidateSelectors","candidateSelector","NoElement","getRootNode","_element$getRootNode","isInert","isInert2","lookUp","_node$getAttribute","inertAtt","inert","isContentEditable","_node$getAttribute2","attValue","getCandidates","includeContainer","candidates","getCandidatesIteratively","getCandidatesIteratively2","elements","elementsToCheck","assigned","content","nestedCandidates","validCandidate","shadowRoot","validShadowRoot","_nestedCandidates","hasTabIndex","getTabIndex","getSortOrderTabIndex","isScope","tabIndex","sortOrderedTabbables","isInput","isHiddenInput","isDetailsWithSummary","getCheckedRadio","nodes","form","isTabbableRadio","radioScope","queryRadios","radioSet","err","checked","isRadio","isNonTabbableRadio","isNodeAttached","_nodeRoot","nodeRoot","nodeRootHost","attached","_nodeRootHost","_nodeRootHost$ownerDo","_node$ownerDocument","_nodeRoot2","_nodeRootHost2","_nodeRootHost2$ownerD","isZeroArea","_node$getBoundingClie","width","height","isHidden","_ref","displayCheck","getShadowRoot","isDirectSummary","nodeUnderDetails","originalNode","parentElement","rootNode","isDisabledFromFieldset","parentNode","isNodeMatchingSelectorFocusable","isNodeMatchingSelectorTabbable","isValidShadowRootTabbable","shadowHostNode","sortByOrder","sortByOrder2","regularTabbables","orderedTabbables","candidateTabindex","acc","sortable","tabbable","container","focusable","isTabbable","focusableCandidateSelector","isFocusable","_arrayLikeToArray","n","_arrayWithoutHoles","_defineProperty","_toPropertyKey","_iterableToArray","_nonIterableSpread","ownKeys","o","r2","_objectSpread2","_toConsumableArray","_unsupportedIterableToArray","_toPrimitive","t","activeFocusTraps","trapStack","trap","activeTrap","trapIndex","isSelectableInput","isEscapeEvent","isTabEvent","isKeyForward","isKeyBackward","valueOrHandler","_len","params","_key","getActualTarget","internalTrapStack","createFocusTrap","userOptions","doc","config","getOption","configOverrideOptions","optionName","configOptionName","findContainerIndex","composedPath","tabbableNodes","getNodeForOption","_ref2","_ref2$hasFallback","hasFallback","_ref2$params","optionValue","getInitialFocusNode","firstTabbableGroup","firstTabbableNode","updateTabbableNodes","focusableNodes","lastTabbableNode","firstDomTabbableNode","lastDomTabbableNode","posTabIndexesFound","forward","nodeIdx","group","g","_getActiveElement","activeElement","_tryFocus","getReturnFocusNode","previousActiveElement","findNextNavNode","_ref3","_ref3$isBackward","isBackward","destinationNode","containerIndex","containerGroup","startOfGroupIndex","_ref4","destinationGroupIndex","destinationGroup","lastOfGroupIndex","_ref5","_destinationGroupIndex","_destinationGroup","checkPointerDown","checkFocusIn","targetContained","nextNode","navAcrossContainers","mruContainerIdx","mruTabIdx","checkKeyNav","checkTabKey","checkEscapeKey","checkClick","addListeners","removeListeners","checkDomRemoval","mutations","isFocusedNodeRemoved","removedNodes","mutationObserver","updateObservedNodes","activateOptions","onActivate","onPostActivate","checkCanFocusTrap","finishActivation","deactivateOptions","onDeactivate","onPostDeactivate","checkCanReturnFocus","returnFocus","finishDeactivation","pauseOptions","unpauseOptions","containerElements","elementsAsArray","paused","onPause","onPostPause","onUnpause","onPostUnpause","useFocusTrap","focusTrapOptions","hasFocus","isPaused","activate","deactivate","unpause","_targets","_el","els","useActivatedFocusTrap","noTrap","fallbackFocus","focus","focusTrapOpts","resolvedIsActive","resolvedNoTrap","checkNeedsFallback","tabbableElements","needsFallback","useScrollLock$1","prevousRightPadding","lockRegistry","useSafeScrollLock","isOpen","bodyScroll","resolvedIsOpen","useId","inverseBodyScrollingValue","modelVal","bodyVal","scrollBarGap","hasLocked","myLocked","hasLockedAfter","onUnmounted","getActiveElement","excludes","attemptFocus","isActiveElement","el2","isEmptySlot","isVisible","bcr","sortSlotElementsByPosition","position","getModalZIndex","raw","parsed","injectSelf","provides","message","getCurrentInstance$1","toKebabCase","mergeDeep","arrayFn","out","sourceProperty","targetProperty","propIsDefined","prop","internalUseDefaults","componentDefaults","_props","propValue","_d","_c","_subcomponentDefaults","subComponents","provideSubDefaults","injected","useDefaults","useColorVariantClasses","_hoisted_1","__props","useSlots","colorClasses","computedClasses","hasLabelSlot","_ctx","_cache","openBlock","createBlock","resolveDynamicComponent","normalizeClass","withCtx","createElementBlock","renderSlot","createTextVNode","toDisplayString","createCommentVNode","omit","objToPluck","keysToPluck","pick","memo","get","path","defaultValue","segments","set","initial","value2","toInt","def","_set","nextIsNum","cloned","deepEqual","keysA","keysB","CODE_DOWN","CODE_END","CODE_HOME","CODE_LEFT","CODE_PAGEDOWN","CODE_PAGEUP","CODE_RIGHT","CODE_UP","RX_UNDERSCORE","RX_LOWER_UPPER","RX_NUMBER","RX_START_SPACE_WORD","RX_FIRST_START_SPACE_WORD","RX_SPACE_SPLIT","RX_HASH","RX_HASH_ID","RX_REGEXP_REPLACE","RX_SPACES","startCase","$1","$2","titleCase","upperFirst","trim","escapeRegExp","escapeRegExpChars","toPascalCase","isLink","useBLinkHelper","pickProps","pickPropsResolved","resolvedProps","computedLink","computedLinkProps","useBLinkTagResolver","to","disabled","href","replace","routerComponentName","router","route","_h","_g","_f","_e","RouterLinkComponent","useLink","resolvedTo","resolvedReplace","routerName","tag","isRouterLink","isNuxtLink","isNonStandardTag","isOfRouterType","linkProps","_link","link","computedHref","toFallback","resolvedHref","stableTo","hash","useLinkClasses","defaultActiveClass","__emit","emit","useAttrs","collapseData","navbarData","linkValueClasses","computedLinkClasses","clicked","computedRel","computedTabIndex","nuxtSpecificProps","computedSpecificProps","mergeProps","mergeModels","useTemplateRef","pressedValue","useModel","isToggle","isButton","isBLink","nonStandardTag","computedAriaDisabled","variantIsLinkType","variantIsLinkTypeSubset","computedTag","_sfc_main$1","Fragment","createVNode","_sfc_main$2","$event","genId","useId$1","BvEvent","eventType","eventInit","__publicField","setter","BvTriggerableEvent","BvCarouselEvent","from","fadeBaseTransitionProps","useShowHide","modelValue","computedId","noAction","initialShow","showRef","renderRef","renderBackdropRef","isCountdown","show","hide","localNoAnimation","localTemporaryHide","computedNoAnimation","buildTriggerableEvent","backdropVisible","backdropReady","newval","showTimeout","hideTimeout","_Resolve","_Promise","_resolveOnHide","resolveOnHide","leaveTrigger","noTriggerEmit","event2","trapActive","isLeaving","throttleHide","throttleShow","triggerToggle","triggerRegistry","registerTrigger","checkVisibility","unregisterTrigger","idx","appRegistry","newId","oldId","onBeforeUnmount","lazyLoadCompleted","markLazyLoadCompleted","onBeforeEnter","onEnter","onAfterEnter","onBeforeLeave","onLeave","onAfterLeave","contentShowing","transitionFunctions","getElement","NO_FADE_PROPS","FADE_PROPS","useFadeTransition","fade","getTableFieldHeadLabel","field","btableSimpleProps","btableLiteProps","getDataLabelAttr","label","modalOpenClassName","useSharedModalStack","modalManagerPlugin","modal","useModalManager","modalOpen","pushRegistry","pushStack","removeStack","stack","countStack","currentModal","setInStack","_hoisted_2","fallbackClassSelector","__expose","fallbackFocusElement","okButton","cancelButton","closeButton","pickFocusItem","transitionProps","backdropTransitionProps","hasHeaderCloseSlot","modalDialogClasses","bodyColorClasses","bodyClasses","headerColorClasses","headerClasses","headerCloseAttrs","footerColorClasses","footerClasses","titleClasses","disableCancel","disableOk","activePosition","activeModalCount","stackWithoutSelf","sharedClasses","defaultModalDialogZIndex","computedZIndexNumber","computedZIndex","computedZIndexBackdrop","sharedSlots","Transition","withDirectives","createElementVNode","withModifiers","normalizeProps","guardReactiveProps","_sfc_main$3","vShow","normalizeStyle","useModal","_isOrchestratorInstalled","create","_self","_newValue","previousIndex","previous","markRaw","isReadonly","lastStack","registry","stackModal","modal2","hideAll","findBModal","component","modalComponent","useModalController","useScrollspy","cont","tar","resolvedContent","resolvedTarget","updateList","contentQuery","targetQuery","manual","watchChanges","list","nodeList","isScrollingDown","previousScrollTop","scrollRoot","iobs","entries","scrollTop","entry","foundParent","parentDropdown","parentNav","_i","_j","_k","mobs","scrollIntoView","smooth","numberPrecision","numberValue","numberMax","parentMaxNumber","computedLabel","computedWidth","useCountdown","length","timestampOpts","resolvedLength","restart","myPause","myResume","remainingTime","useCountdownHover","modelValueIgnoresHover","noHoverPause","noResumeOnHoverLeave","actions","isHovering","onMouseEnter","onMouseLeave","countdownLength","remainingMs","isToastVisible","_component_BButton","_sfc_main$4","posDefault","useToast","_isToastAppend","toast","useToastController","useToggle","findComponent","myComponent","sides","alignments","placements","side","min","round","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","isStart","getOppositeAxisPlacements","flipAlignment","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","computeCoordsFromPlacement","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition$1","middleware","platform2","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","detectOverflow","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow$2","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","max2","center","offset2","shouldAddOffset","alignmentOffset","getPlacementList","autoAlignment","allowedPlacements","autoPlacement$1","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","detectOverflowOptions","placements$1","overflow","currentIndex","currentPlacement","alignmentSides","currentOverflows","allOverflows","nextPlacement","placementsSortedByMostSpace","d","alignment2","resetPlacement","flip$1","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements2","overflows","overflowsData","sides2","side2","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$filter2","placement2","currentSideAxis","overflow2","getSideOffsets","isAnySideFullyClipped","hide$1","offsets","getBoundingRect","minX","minY","maxX","maxY","getRectsByLine","sortedRects","groups","prevRect","inline$1","nativeClientRects","clientRects","getBoundingClientRect2","firstRect","lastRect","isTop","top2","bottom2","left2","right2","width2","height2","isLeftSide","maxRight","minLeft","measureRects","top","bottom","resetRects","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","mainAxis","offset$1","_middlewareData$offse","diffCoords","shift$1","limiter","x2","y2","mainAxisCoord","crossAxisCoord","minSide","maxSide","min2","limitedCoords","size$1","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","isNode","getWindow","getDocumentElement","isElement","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflowX","overflowY","display","getComputedStyle","tableElements","isTableElement","topLayerSelectors","isTopLayer","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","lastTraversableNodeNames","getNodeScroll","getNearestOverflowAncestor","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement$1","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","getViewportRect","visualViewport","visualViewportBased","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","platform","rectsAreEqual","observeMove","onMove","io","timeoutId","_io","refresh","skip","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","ratio","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","autoPlacement","shift","flip","arrow$1","inline","computePosition","mergedOptions","platformWithCache","isComponentPublicInstance","unwrapElement","arrow","getDPR","roundByDPR","dpr","useFloating","whileElementsMountedOption","openOption","_toValue","middlewareOption","placementOption","_toValue2","strategyOption","_toValue3","transformOption","_toValue4","referenceElement","floatingElement","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","open","attach","useMouse$1","hidden","arrow$12","placeholder","triggerElement","isAutoPlacement","offsetNumber","isBoundary","isRootBoundary","sizeStyles","floatingMiddleware","off","placementRef","arrowStyle","hide$12","resolveBootstrapPlacement","isElementAndTriggerOutside","triggerRect","elementRect","margin","offsetX","offsetY","triggerIsOutside","isOutside","looptimeout","tryHide","localToggle","localShow","computedTriggers","bind2","elem","toValue$1","triggers","unbind2","_placement","resolveBootstrapCaret","resolveActiveStatus","values","resolveContent","missingBindingValue","title","resolveDirectiveProps","binding","bind","div","unbind","input","computedProps","interactive","noninteractive","rest","popover","createSlots","usePopover","tooltip2","popover2","usePopoverController","useRegistry","_newShowHideRegistry","valuesStack","removeRegistry","rtlInitial","localeInitial","isRtl","locale","existingValue","useProvideDefaults","injectedDefaults","mergedDefaults","_defaults","merged","deepMerge","isPlainObject","visited","sourceValue","targetValue","setTheme","vBColorMode","getDirectiveUid","initDirectiveInstance","propertyName","uid","elWithProps","getDirectiveInstance","hasBindingChanged","newBinding","updateBindingCache","cleanupDirectiveInstance","findProvides","findComponentParent","walk","result2","createFloatingDirective","componentDefaultsKey","buildProps","defaultsMap","text","props2","getTargets","modifiers","arg","localValue","handleUpdate","showHideMap","oldTargets","targetId","showHide","count","maxAttempts","delayMs","handleUnmount","vBToggle","vBPopover","elWithScrollspy","existingInstance","vBScrollspy","vBTooltip","flattenFragments","inCollapse","_hoisted_1$1","processedAttrs","wrapperClass","collapseAttrs","openInParent","toggleVisible","slotToggle","itemElementsArray","updateItemElementsArray","itemElements","sortAccordionItems","accordionItems","next","areEqual","index2","newValue2","idxes","free","isAlertVisible","positionClasses","setEventOk","ComputedPositionClasses","positionsActive","classes","renderList","TransitionGroup","_component","comp","slot","placementClasses","useNumberishToStyle","resolvedUnit","useRadiusElementClasses","resolveRadiusElement","strValue","_hoisted_3","_hoisted_4","FONT_SIZE_SCALE","localSrc","SIZES","BADGE_FONT_SIZE_SCALE","hasDefaultSlot","hasBadgeSlot","showBadge","computedSquare","computedSize","computedSizeIsLiteralSize","computedVariant","computedRounded","computedRoundedTop","computedRoundedBottom","computedRoundedStart","computedRoundedEnd","radiusElementClasses","badgeText","badgeImplicitlyDot","badgeStyle","textFontStyle","fontSize","marginStyle","overlapScale","onImgError","overlapNumber","paddingStyle","computedAriaCurrent","breadcrumb","breadcrumbItemObjects","localItems","activeDefined","IS_BROWSER","parseEventOptions","passiveEventSupported","options2","eventOn","eventOff","eventOnOff","on","eventParams","stopEvent","propagation","immediatePropagation","toolbarRef","getFocusableElements","isDisabled","focusFirst","firstEnabled","focusLast","lastEnabled","focusPrev","focusNext","handleKeyNav","code","shiftKey","heightNumber","widthNumber","computedSrcset","computedSizes","computedDimentions","computedBlankImgSrc","makeBlankImgSrc","computedAlignment","color","_sfc_main$7","baseAlignmentClasses","computedImgProps","_sfc_main$8","_sfc_main$6","_sfc_main$5","hasTitleSlot","hasSubtitleSlot","hasHeaderSlot","hasFooterSlot","imgAttr","ReusableImg","cardTypeClass","getSlotElements","filterBy","slot2","_hoisted_5","_hoisted_6","buttonOwnership","slideValues","touchThresholdNumber","slideInterval","slid","intervalNumber","isTransitioning","rideStarted","relatedTarget","previousModelValue","enterClasses","leaveClasses","isRiding","slides","buildBvCarouselEvent","goToValue","onKeydown","lengthX","resumeRiding","onClickPrev","onClickNext","slide","hasText","hasCaption","hasContent","computedContentClasses","getClasses","propPrefix","classPrefix","classList","useAlignment","align","rowColsClasses","inInputGroup","inButtonGroup","computedOffset","offsetToNumber","button","splitButton","computedMenuClasses","keynav","active","localOffset","inButtonGroupAttributes","buttonClasses","onButtonClick","onSplitClick","onClickInside","dividerAttrs","_hoisted_1$2","formAttrs","headerId","headerRole","headerAttrs","dropdownItemAttrs","dropdownData","buttonAttrs","textAttrs","formSelectContext","isSelected","useFormSelect","isComplex","option","normalizeOption","propsValue","normalizeOptions","normalizedOptions","normalizedOptsWrapper","opt","computedShow","useAriaInvalid","ariaInvalid","resolvedAriaInvalid","resolvedState","useStateClass","resolvedValue","resolvedItems","getInputClasses","stateClass","getLabelClasses","getGroupAttr","computedAriaInvalid","getGroupClasses","indeterminate","inputAttrs","newVal","computedRequired","isButtonGroup","classesObject","wrapperClasses","computedWrapperClasses","inputClasses","computedInputClasses","labelClasses","vModelCheckbox","computedName","computedAttrs","computedAccept","onChange","onDrop","suffixPropName","INPUTS","LabelContentTemplate","ContentTemplate","computedState","childId","computedLabelFor","breakPoints","getColProps","prefix","breakpoint","contentColProps","labelAlignClasses","labelColProps","isHorizontal","onLegendClick","tagName","inputs","inp","labelId","labelTag","invalidFeedbackId","validFeedbackId","descriptionId","isFieldset","debounceFilter","maxTimer","_clearTimeout","timer2","lastInvoker","maxDuration","useDebounceFn","normalizeInput","modelModifiers","useFormInput","forceUpdateKey","debounceNumber","debounceMaxWaitNumber","formGroupData","internalUpdateModelValue","updateModelValue","force","_formatValue","evt","onActivated","formattedValue","nextModel","needsForceUpdate","onInput","onBlur","blur","isRange","isColor","vModelRadio","_hoisted_7","_hoisted_8","isIconFull","displayValue","isIconHalf","diff","hoverValue","clampedStars","displayValueText","decimalValue","roundedValue","factor","iconColors","selectRating","starIndex","selectedRating","clearRating","selectSizeNumber","computedSelectSize","vModelSelect","useRtl","rtlPlugin","defaultValues","KEY_CODES","computedSpinClasses","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","stepNumber","computedStep","minNumber","computedMin","maxNumber","computedMax","step","repeatDelayNumber","computedDelay","repeatIntervalNumber","computedInterval","repeatThresholdNumber","computedThreshold","repeatStepMultiplierNumber","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","globalLocale","computedLocale","locales","defaultFormatter","computedFormatter","stepValue","multiplier","wrap","stepUp","stepDown","altKey","ctrlKey","metaKey","resetTimers","handleStepRepeat","stepper","isMouseEvent","onMouseup","setMouseup","buttons","incrementSvgAttrs","decrementSvgAttrs","sharedButtonAttrs","sharedSvgAttrs","incrementAttrs","decrementAttrs","tagText","taglabelId","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","limitNumber","_inputId","tags","inputValue","shouldRemoveOnDelete","lastRemovedTag","validTags","invalidTags","duplicateTags","isDuplicate","isInvalid","isLimitReached","disableAddButton","onFocusin","onFocus","addTag","removeTag","separator","separatorRegExp","newTags","validTags2","newTag","tagIndex","useTextareaResize","maxRows","noAutoShrink","rows","maxRowsNumber","rowsNumber","computedMinRows","computedMaxRows","computedRows","handleHeightChange","lineHeight","border","minHeight","oldHeight","scrollHeight","contentRows","rows2","newHeight","computedStyles","resizeStyles","hasAppend","hasPrepend","horizontal","tagComputed","isAction","localAttrs","tools","renderOrchestrator","submitted","liClasses","dropdown","useContainerClasses","computedRole","containerClass","showHideData","collapseExpanded","toggleExpand","onClick","isOpenByBreakpoint","focusElement","smallerOrEqualToBreakpoint","showBackdrop","headerCloseClasses","positionStyles","fadeTransitions","computedAriaBusy","spinnerAttrs","overlayStyles","overlayClasses","blurClasses","blurStyles","spinWrapperStyles","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","pageElements","perPageNumber","totalRowsNumber","modelValueNumber","perPageSanitized","totalRowsSanitized","numberOfPages","computedFill","justifyAlign","isActivePage","pageNumber","computedModelValue","num","checkDisabled","firstDisabled","prevDisabled","lastDisabled","nextDisabled","getBaseButtonProps","page","classVal","slotName","textValue","isSmHidden","pageClick","getButtonProps","getPageButtonProps","firstButtonProps","prevButtonProps","nextButtonProps","lastButtonProps","ellipsisProps","pagination","clickEvent","hasAttr","hasClass","getButtons","btn","noFirstButton","noLastButton","showFirstButton","showLastButton","firstPage","lastPage","halfLimit","pages","p","pages2","limit","noEllipsis","defaultStickyHeaderHeight","computedTableAttrs","computedSticky","stickyIsValid","isResponsive","responsiveStyles","responsiveClasses","widthString","colsString","defaultAttrs","footerComponent","columnsToNumber","rowsToNumber","computedHeaderColumns","computedFooterColumns","headerColumnsNumber","footerColumnsNumber","columnsNumber","computedHeaderColumnsLength","computedFooterColumnsLength","j","__","l","formatItem","fieldKey","formatter","isTableItem","isTableField","_hoisted_1$4","_hoisted_2$3","_hoisted_1$3","_hoisted_2$2","localScope","TABLE_TAG_NAMES","filterEvent","labelFor","_hoisted_2$1","keyboardNavigation","generateDetailsItem","detailsMap","computedTableClasses","computedFields","firstItem","f","label2","computedFieldsTotal","showComputedHeaders","footerProps","calculatedFooterSlot","itemAttributes","attr","callThAttr","headerClicked","isFooter","toggleRowDetails","tr","prevValue","getFieldColumnClasses","getFieldRowClasses","handleMiddleClick","callTbodyTrAttrs","getRowClasses","generateTableRowId","primaryKeyValue","getCellComponent","shouldHeaderBeFocusable","shouldRowBeFocusable","handleHeaderKeydown","handleRowKeydown","handleRowNavigation","targetIndex","computedSimpleProps","_sfc_main$9","ascPath","descPath","currentSort","resolvedDirection","fieldInitialDirection","lastSorted","sort","iconPath","iconClass","iconOpacity","dynamicCellSlots","dynamicFootSlots","sortByModel","busyModel","selectedItemsModel","selectedItemsToSet","selectedItemsSetUtilities","pkey","selectedKey","itemKey","selected","internalItems","currentPageNumber","isFilterableTable","usesProvider","isSelecting","isSortable","keyboardRowNavigation","keyboardHeaderNavigation","sb","sortValue","tableClasses","getBusyRowClasses","getFormatter","getStringValue","ob","sortField","fieldByKey","map","computedItems","sortByItems","mapItem","newItem","filterItem","filterField","mappedItems","order","comparer","comparison","emptySlotScope","computedDisplayItems","handleRowSelection","row","shiftClicked","ctrlClicked","metaClicked","lastSelectedItem","lastSelectedIndex","selectStartIndex","selectEndIndex","handleFieldSorting","fieldSortable","getLastSortDirection","getInitialSortDirection","resolveOrder","must","originalValue","updatedValue","handleMultiSort","tmp","handleSingleSort","abortController","callItemsProvider","signal","response","error","debouncedCallItemsProvider","providerPropsWatch","oldVal","inNoProvider","noProvideWhenPaging","noProvideWhenFiltering","noProvideWhenSorting","oldFilter","exposedSelectableUtilities","boundBTableLiteEmits","computedLiteProps","activeModel","localId","internalId","computedButtonId","lazyRenderCompleted","tabAttrs","updateTab","computedLazy","computedActive","showSlot","shown","activeIndex","activeId","ReusableEmptyTab","tabsInternal","tabElementsArray","isChildActive","initialIds","updateTabElementsArray","tabElements","tab","sortTabs","tabs","_activeIndex","_tab","initialized","updateInitialActiveIndex","updateInitialActiveId","updateInitialIndexAndId","showEmpty","navTabsClasses","handleClick","minIdx","maxIdx","isReverting","tabEvent","oldIndex","registerTab","idx2","unregisterTab","withKeys","_sfc_main$a","_sfc_main$b","_sfc_main$c","_sfc_main$d","_sfc_main$e","_sfc_main$f","_sfc_main$g","_sfc_main$h","_sfc_main$i","_sfc_main$j","_sfc_main$k","_sfc_main$l","_sfc_main$m","_sfc_main$n","_sfc_main$o","_sfc_main$p","_sfc_main$q","_sfc_main$r","_sfc_main$s","_sfc_main$t","_sfc_main$u","_sfc_main$v","_sfc_main$w","_sfc_main$x","_sfc_main$y","_sfc_main$z","_sfc_main$A","_sfc_main$B","_sfc_main$C","_sfc_main$D","_sfc_main$E","_sfc_main$F","_sfc_main$G","_sfc_main$H","_sfc_main$I","_sfc_main$J","_sfc_main$K","_sfc_main$L","_sfc_main$M","_sfc_main$N","_sfc_main$O","_sfc_main$P","_sfc_main$Q","_sfc_main$R","_sfc_main$S","_sfc_main$T","_sfc_main$U","_sfc_main$V","_sfc_main$W","_sfc_main$X","_sfc_main$Y","_sfc_main$Z","_sfc_main$_","_sfc_main$$","_sfc_main$10","_sfc_main$11","_sfc_main$12","_sfc_main$13","_sfc_main$14","_sfc_main$15","_sfc_main$16","_sfc_main$17","_sfc_main$18","_sfc_main$19","_sfc_main$1a","_sfc_main$1b","_sfc_main$1c","_sfc_main$1d","_sfc_main$1e","_sfc_main$1f","_sfc_main$1g","_sfc_main$1h","_sfc_main$1i","_sfc_main$1j","_sfc_main$1k","_sfc_main$1l","_sfc_main$1m","_sfc_main$1n","_sfc_main$1o","_sfc_main$1p","_sfc_main$1q","_sfc_main$1r","_sfc_main$1s","_sfc_main$1t","_sfc_main$1u","_sfc_main$1v","_sfc_main$1w","_sfc_main$1x","_sfc_main$1y","_sfc_main$1z","_sfc_main$1A","_sfc_main$1B","_sfc_main$1C","bvKey","parseActiveImports","all","others","valuesCopy","merge","usedComponents","usedDirectives","BootstrapVueNextResolver","aliases","directives","components","compImports","dirImports","directive","destination","aliasDestination","prefixedName","app","registryPlugin","orchestratorPlugin","createBootstrap","pluginData","sidebarRef","brandInitial","url","normalizeUrl","scrollToActiveItem","activeLink","sidebar","linkRect","sidebarRect","_createElementBlock","_createElementVNode","_renderSlot","_normalizeClass","_toDisplayString","_openBlock","_Fragment","_renderList","groupIndex","_createBlock","_resolveDynamicComponent","_unref","$attrs","_createSlots","_mergeProps","$slots","_withCtx","slotProps","_normalizeProps","_guardReactiveProps","getUserInitial","user","_createVNode","DContainer","DRow","DCol","DButton","$emit","DDropdown","collapsed","sidebarSlots","strippedName","navbarSlots","savedHidden","toggleSidebar","DXDashboardSidebar","originalName","DXDashboardNavbar","isTextInput","handleSubmit","BForm","DAlert","_createTextVNode","DFormGroup","DFormInput","DFormTextarea","DFormSelect","DFormCheckbox","DFormInvalidFeedback","DFormText","OBasicForm","pluralize","require","module","this","pluralRules","singularRules","uncountables","irregularPlurals","irregularSingles","sanitizeRule","rule","restoreCase","word","token","interpolate","sanitizeWord","rules","len","replaceWord","replaceMap","keepMap","checkWord","bool","inclusive","pluralized","replacement","single","plural","bTableRef","handleSortByUpdate","handleCurrentPageUpdate","handleBusyUpdate","handleSorted","handleRowClicked","isProviderMode","isInertiaMode","hasInertiaUrl","effectiveBusy","internalSortBy","effectiveSortBy","internalFilters","effectiveFilters","hasFilters","hasActiveFilters","filters","apiPaginationMeta","apiFilterValues","getFieldFilterOptions","serverValues","perPageStorageKey","internalPerPage","saved","newPerPage","newFilters","oldFilters","effectivePerPage","newUrl","oldUrl","apiError","shouldShowPerPageSelector","smallestOption","fieldsNeedingFilterValues","internalProvider","context","axios","errorMessage","effectiveProvider","handlePageChange","apiCurrentPage","handleApiPageChange","handleSortChange","sortBy","normalizedSortBy","withOrder","handleBusyChange","busy","filterDebounceTimer","handlePerPageChange","perPageNum","tableRef","handleFilterChange","showEditModal","selectedItem","editForm","activeTabIndex","createToast","visibleTabs","getField","singularItemName","pluralItemName","computedModalTitle","getFieldSortState","handleRowClick","useForm$1","useForm","formData","handleEditSave","itemId","errors","errorKeys","handleEditCancel","handleDelete","itemName","errorData","DCard","DSpinner","DTable","_normalizeStyle","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","DPagination","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","DModal","_hoisted_35","_hoisted_36","DTabs","DTab","_hoisted_32","_hoisted_33","_hoisted_34","DXBasicForm","ApiClient","search","append","ck","cv","qs","isFormData","headers","resp","ctype","full","api","deepClone","errorsFromLaravel","initialData","snapshot","hasErrors","hasError","getError","getState","setErrors","setMessage","clearErrors","clearError","only","dataRecord","fields","submit","payloadRaw","post","put","patch","del","shouldShowMessage","getDefaultValueForType","defineForm","fieldDefinitions","_default"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,129]}