ose-app 0.2.5__py3-none-any.whl

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 (127) hide show
  1. ose_app/AppModule.py +98 -0
  2. ose_app/OntologyDataStore.py +464 -0
  3. ose_app/PermissionManager.py +78 -0
  4. ose_app/SpreadsheetSearcher.py +197 -0
  5. ose_app/__init__.py +130 -0
  6. ose_app/app.py +10 -0
  7. ose_app/constants.py +1 -0
  8. ose_app/custom_json.py +23 -0
  9. ose_app/default_config.py +39 -0
  10. ose_app/gh.py +60 -0
  11. ose_app/guards/__init__.py +0 -0
  12. ose_app/guards/verify_login.py +20 -0
  13. ose_app/guards/with_permission.py +54 -0
  14. ose_app/jinja_extensions/__init__.py +42 -0
  15. ose_app/routes/__init__.py +24 -0
  16. ose_app/routes/admin.py +108 -0
  17. ose_app/routes/api/__init__.py +23 -0
  18. ose_app/routes/api/edit.py +162 -0
  19. ose_app/routes/api/external.py +198 -0
  20. ose_app/routes/api/plugins.py +22 -0
  21. ose_app/routes/api/release.py +380 -0
  22. ose_app/routes/api/repos.py +55 -0
  23. ose_app/routes/api/scripts.py +49 -0
  24. ose_app/routes/api/search.py +19 -0
  25. ose_app/routes/api/settings.py +115 -0
  26. ose_app/routes/api/validate.py +264 -0
  27. ose_app/routes/api/visualise.py +228 -0
  28. ose_app/routes/auth.py +44 -0
  29. ose_app/routes/edit.py +690 -0
  30. ose_app/routes/main.py +100 -0
  31. ose_app/routes/search.py +42 -0
  32. ose_app/routes/status.py +10 -0
  33. ose_app/routes/visualize.py +108 -0
  34. ose_app/static/addicto.release.json +129 -0
  35. ose_app/static/bcio.release.json +321 -0
  36. ose_app/static/example.json +134 -0
  37. ose_app/static/excel-bootstrap-table-filter-bundle.js +326 -0
  38. ose_app/static/excel-bootstrap-table-filter-bundle.js.map +1 -0
  39. ose_app/static/excel-bootstrap-table-filter-bundle.min.js +2 -0
  40. ose_app/static/excel-bootstrap-table-filter-bundle.min.js.map +1 -0
  41. ose_app/static/excel-bootstrap-table-filter-style.css +78 -0
  42. ose_app/static/gmho.release.json +139 -0
  43. ose_app/static/js/admin.js +2 -0
  44. ose_app/static/js/admin.js.map +1 -0
  45. ose_app/static/js/assets/CollapsibleCard.css +1 -0
  46. ose_app/static/js/assets/editor.css +1 -0
  47. ose_app/static/js/assets/release.css +1 -0
  48. ose_app/static/js/assets/settings.css +1 -0
  49. ose_app/static/js/assets/visualise.css +1 -0
  50. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH-BDr_frBe.js +2 -0
  51. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH-BDr_frBe.js.map +1 -0
  52. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH-MonxH8xj.js +2 -0
  53. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-CgGO-ddH-MonxH8xj.js.map +1 -0
  54. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-DKAZyKKr-DTksKjtf.js +2 -0
  55. ose_app/static/js/chunks/BToastOrchestrator.vue_vue_type_style_index_0_lang-DKAZyKKr-DTksKjtf.js.map +1 -0
  56. ose_app/static/js/chunks/CollapsibleCard-BQR8R54V.js +2 -0
  57. ose_app/static/js/chunks/CollapsibleCard-BQR8R54V.js.map +1 -0
  58. ose_app/static/js/chunks/CollapsibleCard-DgwkQKDg.js +2 -0
  59. ose_app/static/js/chunks/CollapsibleCard-DgwkQKDg.js.map +1 -0
  60. ose_app/static/js/chunks/CollapsibleCard-DoX0kPCZ.js +2 -0
  61. ose_app/static/js/chunks/CollapsibleCard-DoX0kPCZ.js.map +1 -0
  62. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-CBzsmnqW.js +43 -0
  63. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-CBzsmnqW.js.map +1 -0
  64. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-EcINi797.js +43 -0
  65. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-EcINi797.js.map +1 -0
  66. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-bumDOBqD.js +43 -0
  67. ose_app/static/js/chunks/Diagnostic.vue_vue_type_script_setup_true_lang-bumDOBqD.js.map +1 -0
  68. ose_app/static/js/chunks/_plugin-vue_export-helper-DlAUqK2U.js +2 -0
  69. ose_app/static/js/chunks/_plugin-vue_export-helper-DlAUqK2U.js.map +1 -0
  70. ose_app/static/js/chunks/bootbox-D3SJ_Fwv.js +2 -0
  71. ose_app/static/js/chunks/bootbox-D3SJ_Fwv.js.map +1 -0
  72. ose_app/static/js/chunks/constants-CzBHF1EN.js +2 -0
  73. ose_app/static/js/chunks/constants-CzBHF1EN.js.map +1 -0
  74. ose_app/static/js/chunks/constants-DL6Hx3V0.js +2 -0
  75. ose_app/static/js/chunks/constants-DL6Hx3V0.js.map +1 -0
  76. ose_app/static/js/chunks/constants-DPgwRV4l.js +2 -0
  77. ose_app/static/js/chunks/constants-DPgwRV4l.js.map +1 -0
  78. ose_app/static/js/chunks/filter-Bx-PU1OL.js +18 -0
  79. ose_app/static/js/chunks/filter-Bx-PU1OL.js.map +1 -0
  80. ose_app/static/js/chunks/filter-CdAXK93b.js +18 -0
  81. ose_app/static/js/chunks/filter-CdAXK93b.js.map +1 -0
  82. ose_app/static/js/chunks/filter-CiYqP1_r.js +2 -0
  83. ose_app/static/js/chunks/filter-CiYqP1_r.js.map +1 -0
  84. ose_app/static/js/chunks/index-sLCKmIWG-B5BYNF2N.js +2 -0
  85. ose_app/static/js/chunks/index-sLCKmIWG-B5BYNF2N.js.map +1 -0
  86. ose_app/static/js/chunks/index-sLCKmIWG-Cb9lQq-c.js +9 -0
  87. ose_app/static/js/chunks/index-sLCKmIWG-Cb9lQq-c.js.map +1 -0
  88. ose_app/static/js/chunks/index-sLCKmIWG-umQeu_-w.js +3 -0
  89. ose_app/static/js/chunks/index-sLCKmIWG-umQeu_-w.js.map +1 -0
  90. ose_app/static/js/editor.js +36 -0
  91. ose_app/static/js/editor.js.map +1 -0
  92. ose_app/static/js/release.js +6 -0
  93. ose_app/static/js/release.js.map +1 -0
  94. ose_app/static/js/settings.js +2 -0
  95. ose_app/static/js/settings.js.map +1 -0
  96. ose_app/static/js/visualise.js +3 -0
  97. ose_app/static/js/visualise.js.map +1 -0
  98. ose_app/static/main.css +1 -0
  99. ose_app/static/main.css.map +7 -0
  100. ose_app/static/main.scss +147 -0
  101. ose_app/static/mindmup-editabletable.js +131 -0
  102. ose_app/static/schema/release_script.json +215 -0
  103. ose_app/static/schema/req_body_edit.json +35 -0
  104. ose_app/static/schema/req_body_guess_parent.json +38 -0
  105. ose_app/static/schema/req_body_import.json +47 -0
  106. ose_app/static/schema/req_body_release_start.json +9 -0
  107. ose_app/static/schema/req_body_visualise.json +18 -0
  108. ose_app/static/test.dot +190 -0
  109. ose_app/static/workflows/externals.yaml.jinja2 +44 -0
  110. ose_app/templates/access_show_visualisation_for_ids.html +120 -0
  111. ose_app/templates/admin/dashboard.html +18 -0
  112. ose_app/templates/admin/rebuild_index.html +85 -0
  113. ose_app/templates/admin/release.html +46 -0
  114. ose_app/templates/admin/settings.html +23 -0
  115. ose_app/templates/base.html +151 -0
  116. ose_app/templates/edit.html +21 -0
  117. ose_app/templates/edit_external.html +491 -0
  118. ose_app/templates/forbidden.html +9 -0
  119. ose_app/templates/index.html +33 -0
  120. ose_app/templates/loggedout.html +21 -0
  121. ose_app/templates/repo.html +294 -0
  122. ose_app/templates/testgeneratedbyapi.html +294 -0
  123. ose_app/templates/visualise.html +17 -0
  124. ose_app-0.2.5.dist-info/METADATA +27 -0
  125. ose_app-0.2.5.dist-info/RECORD +127 -0
  126. ose_app-0.2.5.dist-info/WHEEL +5 -0
  127. ose_app-0.2.5.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2 @@
1
+ import{u as k,a7 as M,a5 as _,a4 as I,r as S,w as G,l as A,a8 as K,D as R,C as V,a9 as $}from"./filter-CdAXK93b.js";const D=(o,e="")=>{const t=`${e}___`;return`___BVN__ID__${o}__${e?t:""}`},T=o=>D(o),i=o=>D(`${o}__plugin`),Q=T("progress"),U=T("collapse"),X=i("globalShowHideStorage"),Y=T("navbar"),oo=i("rtl"),eo=i("breadcrumbPlugin"),to=i("modalManager"),no=i("defaults"),ro=i("toast"),so=i("modalController"),ao=i("popover");function b(o){return M()?(_(o),!0):!1}function co(o){let e=0,t,n;const c=()=>{e-=1,n&&e<=0&&(n.stop(),t=void 0,n=void 0)};return(...r)=>(e+=1,n||(n=K(!0),t=n.run(()=>o(...r))),b(c),t)}function g(o){return typeof o=="function"?o():k(o)}const v=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const lo=o=>o!=null,L=Object.prototype.toString,po=o=>L.call(o)==="[object Object]",Bo=()=>+Date.now(),C=()=>{},io=W();function W(){var o,e;return v&&((o=window==null?void 0:window.navigator)==null?void 0:o.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function z(o,e){function t(...n){return new Promise((c,r)=>{Promise.resolve(o(()=>e.apply(this,n),{fn:e,thisArg:this,args:n})).then(c).catch(r)})}return t}function E(...o){let e=0,t,n=!0,c=C,r,l,B,s,a;!I(o[0])&&typeof o[0]=="object"?{delay:l,trailing:B=!0,leading:s=!0,rejectOnCancel:a=!1}=o[0]:[l,B=!0,s=!0,a=!1]=o;const p=()=>{t&&(clearTimeout(t),t=void 0,c(),c=C)};return j=>{const m=g(l),h=Date.now()-e,u=()=>r=j();return p(),m<=0?(e=Date.now(),u()):(h>m&&(s||!n)?(e=Date.now(),u()):B&&(r=new Promise((w,x)=>{c=a?x:w,t=setTimeout(()=>{e=Date.now(),n=!0,w(u()),p()},Math.max(0,m-h))})),!s&&!t&&(t=setTimeout(()=>n=!0,m)),n=!1,r)}}function mo(...o){if(o.length!==1)return R(...o);const e=o[0];return typeof e=="function"?V($(()=>({get:e,set:C}))):S(e)}function uo(o,e=200,t=!1,n=!0,c=!1){return z(E(e,t,n,c),o)}function fo(o,e=1e3,t={}){const{immediate:n=!0,immediateCallback:c=!1}=t;let r=null;const l=S(!1);function B(){r&&(clearInterval(r),r=null)}function s(){l.value=!1,B()}function a(){const p=g(e);p<=0||(l.value=!0,c&&o(),B(),l.value&&(r=setInterval(o,p)))}if(n&&v&&a(),I(e)||typeof e=="function"){const p=G(e,()=>{l.value&&v&&a()});b(p)}return b(s),{isActive:l,pause:s,resume:a}}function bo(o,e={}){const{method:t="parseFloat",radix:n,nanToZero:c}=e;return A(()=>{let r=g(o);return typeof r=="string"&&(r=Number[t](r,n)),c&&Number.isNaN(r)&&(r=0),r})}Object.freeze(Object.keys({bordered:0,borderless:0,borderVariant:0,captionTop:0,dark:0,fixed:0,hover:0,id:0,noBorderCollapse:0,outlined:0,responsive:0,small:0,stacked:0,stickyHeader:0,striped:0,stripedColumns:0,variant:0,tableAttrs:0,tableClass:0}));Object.freeze(Object.keys({align:0,caption:0,detailsTdClass:0,fieldColumnClass:0,fields:0,footClone:0,footRowVariant:0,footVariant:0,headRowVariant:0,headVariant:0,items:0,labelStacked:0,modelValue:0,primaryKey:0,tbodyClass:0,tbodyTrAttrs:0,tbodyTrClass:0,tfootClass:0,tfootTrClass:0,theadClass:0,theadTrClass:0}));const N={BAccordion:"/components/BAccordion",BAccordionItem:"/components/BAccordion",BAlert:"/components/BAlert",BAvatar:"/components/BAvatar",BAvatarGroup:"/components/BAvatar",BBadge:"/components/BBadge",BBreadcrumb:"/components/BBreadcrumb",BBreadcrumbItem:"/components/BBreadcrumb",BButton:"/components/BButton",BButtonGroup:"/components/BButton",BButtonToolbar:"/components/BButton",BCloseButton:"/components/BButton",BCard:"/components/BCard",BCardBody:"/components/BCard",BCardFooter:"/components/BCard",BCardGroup:"/components/BCard",BCardHeader:"/components/BCard",BCardImg:"/components/BCard",BCardSubtitle:"/components/BCard",BCardText:"/components/BCard",BCardTitle:"/components/BCard",BCarousel:"/components/BCarousel",BCarouselSlide:"/components/BCarousel",BCol:"/components/BContainer",BCollapse:"/components/BCollapse",BContainer:"/components/BContainer",BDropdown:"/components/BDropdown",BDropdownDivider:"/components/BDropdown",BDropdownForm:"/components/BDropdown",BDropdownGroup:"/components/BDropdown",BDropdownHeader:"/components/BDropdown",BDropdownItem:"/components/BDropdown",BDropdownItemButton:"/components/BDropdown",BDropdownText:"/components/BDropdown",BForm:"/components/BForm",BFormCheckbox:"/components/BFormCheckbox",BFormCheckboxGroup:"/components/BFormCheckbox",BFormDatalist:"/components/BForm",BFormFile:"/components/BFormFile",BFormFloatingLabel:"/components/BForm",BFormGroup:"/components/BFormGroup",BFormInput:"/components/BFormInput",BFormInvalidFeedback:"/components/BForm",BFormRadio:"/components/BFormRadio",BFormRadioGroup:"/components/BFormRadio",BFormRow:"/components/BForm",BFormSelect:"/components/BFormSelect",BFormSelectOption:"/components/BFormSelect",BFormSelectOptionGroup:"/components/BFormSelect",BFormSpinbutton:"/components/BFormSpinbutton",BFormTag:"/components/BFormTags",BFormTags:"/components/BFormTags",BFormText:"/components/BForm",BFormTextarea:"/components/BFormTextarea",BFormValidFeedback:"/components/BForm",BImg:"/components/BImg",BInput:"/components/BFormInput",BInputGroup:"/components/BInputGroup",BInputGroupText:"/components/BInputGroup",BListGroup:"/components/BListGroup",BListGroupItem:"/components/BListGroup",BModal:"/components/BModal",BModalOrchestrator:"/components/BModal",BNav:"/components/BNav",BNavForm:"/components/BNav",BNavItem:"/components/BNav",BNavItemDropdown:"/components/BNav",BNavText:"/components/BNav",BNavbar:"/components/BNavbar",BNavbarBrand:"/components/BNavbar",BNavbarNav:"/components/BNavbar",BNavbarToggle:"/components/BNavbar",BOffcanvas:"/components/BOffcanvas",BOverlay:"/components/BOverlay",BPagination:"/components/BPagination",BPlaceholder:"/components/BPlaceholder",BPlaceholderButton:"/components/BPlaceholder",BPlaceholderCard:"/components/BPlaceholder",BPlaceholderTable:"/components/BPlaceholder",BPlaceholderWrapper:"/components/BPlaceholder",BPopover:"/components/BPopover",BProgress:"/components/BProgress",BRow:"/components/BContainer",BSpinner:"/components/BSpinner",BTab:"/components/BTabs",BTabs:"/components/BTabs",BToast:"/components/BToast",BToastOrchestrator:"/components/BToast",BTooltip:"/components/BTooltip",BLink:"/components/BLink",BProgressBar:"/components/BProgress",BTableSimple:"/components/BTable",BTableLite:"/components/BTable",BTable:"/components/BTable",BTbody:"/components/BTable",BTd:"/components/BTable",BTh:"/components/BTable",BThead:"/components/BTable",BTfoot:"/components/BTable",BTr:"/components/BTable",BPopoverOrchestrator:"/components/BPopover"},H=Object.freeze(Object.keys(N)),O={vBColorMode:"/directives/BColorMode",vBModal:"/directives/BModal",vBPopover:"/directives/BPopover",vBScrollspy:"/directives/BScrollspy",vBToggle:"/directives/BToggle",vBTooltip:"/directives/BTooltip"},q=Object.freeze(Object.keys(O)),Z={useBreadcrumb:"/composables/useBreadcrumb",useColorMode:"/composables/useColorMode",useModal:"/composables/useModal",useModalController:"/composables/useModalController",useScrollspy:"/composables/useScrollspy",useToastController:"/composables/useToastController",usePopoverController:"/composables/usePopoverController"};Object.freeze(Object.keys(Z));const F="bootstrap-vue-next",y=(o,e)=>{const{all:t,...n}=o,c={};t&&e.forEach(l=>{c[l]=t});const r={...c,...n};return Object.entries(r).filter(([l,B])=>!!B&&e.includes(l)).map(([l])=>l)},f=new Set,P=new Set;Object.assign(({aliases:o={},directives:e=!0,components:t=!0}={})=>{const c=y(typeof t=="boolean"?{all:t}:t,H).reduce((s,a)=>(s.set(a,`${F}${N[a]}`),s),new Map),l=y(typeof e=="boolean"?{all:e}:e,q).reduce((s,a)=>{const p=a.toLowerCase().startsWith("v")?a:`v${a}`;return s.set(p,`${F}${O[p]}`),s},new Map);return[{type:"component",resolve(s){const a=c.get(s),p=c.get(o[s]);if(p){const d=o[s];return f.add(d),{name:d,from:p}}if(a)return f.add(s),{name:s,from:a}}},{type:"directive",resolve(s){const a=`v${s}`,p=l.get(a);if(p)return P.add(a),{name:a,from:p}}}]},{__usedComponents:f,__usedDirectives:P});export{g as a,C as b,co as c,v as d,Bo as e,mo as f,io as g,ro as h,po as i,no as j,uo as k,X as l,to as m,lo as n,U as o,Y as p,Q as q,bo as r,eo as s,b as t,fo as u,so as v,D as w,ao as x,oo as y};
2
+ //# sourceMappingURL=index-sLCKmIWG-B5BYNF2N.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-sLCKmIWG-B5BYNF2N.js","sources":["../../../../../../../node_modules/bootstrap-vue-next/dist/keys-DeiCXkdV.mjs","../../../../../../../node_modules/bootstrap-vue-next/dist/index-D3jGjWWk.mjs","../../../../../../../node_modules/bootstrap-vue-next/dist/BTable.vue_vue_type_script_setup_true_lang-BhFlxAjx.mjs","../../../../../../../node_modules/bootstrap-vue-next/dist/index-sLCKmIWG.mjs"],"sourcesContent":["const withBvnPrefix = (value, suffix = \"\") => {\n const suffixWithTrail = `${suffix}___`;\n return `___BVN__ID__${value}__${suffix ? suffixWithTrail : \"\"}`;\n};\nconst createBvnInjectionKey = (name) => withBvnPrefix(name);\nconst createBvnPluginInjectionKey = (name) => withBvnPrefix(`${name}__plugin`);\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 globalShowHideStorageInjectionKey = createBvnPluginInjectionKey(\"globalShowHideStorage\");\nconst dropdownInjectionKey = createBvnInjectionKey(\"dropdown\");\nconst navbarInjectionKey = createBvnInjectionKey(\"navbar\");\nconst rtlPluginKey = createBvnPluginInjectionKey(\"rtl\");\nconst breadcrumbPluginKey = createBvnPluginInjectionKey(\"breadcrumbPlugin\");\nconst modalManagerPluginKey = createBvnPluginInjectionKey(\"modalManager\");\nconst defaultsKey = createBvnPluginInjectionKey(\"defaults\");\nconst inputGroupKey = createBvnInjectionKey(\"inputGroup\");\nconst buttonGroupKey = createBvnInjectionKey(\"buttonGroup\");\nconst toastPluginKey = createBvnPluginInjectionKey(\"toast\");\nconst modalControllerPluginKey = createBvnPluginInjectionKey(\"modalController\");\nconst popoverPluginKey = createBvnPluginInjectionKey(\"popover\");\nconst formGroupPluginKey = createBvnInjectionKey(\"formGroupPlugin\");\nexport {\n modalManagerPluginKey as a,\n breadcrumbPluginKey as b,\n collapseInjectionKey as c,\n defaultsKey as d,\n accordionInjectionKey as e,\n avatarGroupInjectionKey as f,\n globalShowHideStorageInjectionKey as g,\n buttonGroupKey as h,\n checkboxGroupKey as i,\n formGroupPluginKey as j,\n radioGroupKey as k,\n inputGroupKey as l,\n modalControllerPluginKey as m,\n navbarInjectionKey as n,\n listGroupInjectionKey as o,\n popoverPluginKey as p,\n progressInjectionKey as q,\n rtlPluginKey as r,\n tabsInjectionKey as s,\n toastPluginKey as t,\n carouselInjectionKey as u,\n dropdownInjectionKey as v,\n withBvnPrefix as w\n};\n//# sourceMappingURL=keys-DeiCXkdV.mjs.map\n","import { ref, isRef, watch, computed, getCurrentScope, onScopeDispose, effectScope, unref, readonly, toRef as toRef$1, customRef, onMounted, nextTick, getCurrentInstance } from \"vue\";\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\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}\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}\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\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 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 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 const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _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 if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\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) {\n const isActive = ref(true);\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 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 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 getLifeCycleTarget(target) {\n return getCurrentInstance();\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 useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\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 ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\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 = ref(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,\n pause,\n resume\n };\n}\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 resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\nexport {\n isObject as a,\n tryOnScopeDispose as b,\n notNullish as c,\n increaseWithUnit as d,\n toRef as e,\n tryOnMounted as f,\n timestamp as g,\n useIntervalFn as h,\n isIOS as i,\n camelize as j,\n isClient as k,\n useThrottleFn as l,\n makeDestructurable as m,\n noop as n,\n useDebounceFn as o,\n createSharedComposable as p,\n syncRef as s,\n toValue as t,\n useToNumber as u,\n watchPausable as w\n};\n//# sourceMappingURL=index-D3jGjWWk.mjs.map\n","import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, renderSlot, unref, useSlots, ref, watch, createBlock, normalizeProps, guardReactiveProps, withCtx, withDirectives, createVNode, Fragment, renderList, mergeProps, createTextVNode, toDisplayString, createCommentVNode, vShow, createElementVNode, mergeModels, useModel, onMounted, createSlots } from \"vue\";\nimport { g as get, p as pick, s as set } from \"./object-DIbMZaP9.mjs\";\nimport { _ as _sfc_main$8 } from \"./BTableSimple.vue_vue_type_script_setup_true_lang-DOAS4KSP.mjs\";\nimport { u as useDefaults } from \"./useDefaults-C92La0nf.mjs\";\nimport { t as titleCase, s as startCase } from \"./stringUtils-BCx12BQM.mjs\";\nimport { u as useToNumber } from \"./index-D3jGjWWk.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$7 = /* @__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$3 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$3 = { key: 0 };\nconst _sfc_main$6 = /* @__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 const scope = computed(() => props.colspan ? \"colspan\" : props.rowspan ? \"rowspan\" : \"col\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"td\", {\n scope: scope.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 ? (openBlock(), createElementBlock(\"div\", _hoisted_2$3, [\n renderSlot(_ctx.$slots, \"default\")\n ])) : renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 10, _hoisted_1$3);\n };\n }\n});\nconst _sfc_main$5 = /* @__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$2 = [\"scope\", \"colspan\", \"rowspan\", \"data-label\"];\nconst _hoisted_2$2 = { key: 0 };\nconst _sfc_main$4 = /* @__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 },\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 scope = computed(() => props.colspan ? \"colspan\" : props.rowspan ? \"rowspan\" : \"col\");\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"th\", {\n scope: scope.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$2);\n };\n }\n});\nconst _sfc_main$3 = /* @__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$2 = /* @__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 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 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$1 = {\n key: 0,\n class: \"b-table-stacked-label\"\n};\nconst _hoisted_2$1 = { class: \"d-inline-flex flex-nowrap align-items-center gap-1\" };\nconst _hoisted_3$1 = { key: 2 };\nconst _sfc_main$1 = /* @__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 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 (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: props.stacked === true ? { \"data-label\": label } : void 0\n };\n });\n }\n return [{ key: \"\", _noHeader: true }];\n }\n return props.fields.map((f) => {\n if (isTableField(f)) {\n return {\n ...f,\n tdAttr: props.stacked === true ? { \"data-label\": startCase(f.key), ...f.tdAttr } : f.tdAttr\n };\n }\n const label = startCase(f);\n return {\n key: f,\n label,\n tdAttr: props.stacked === true ? { \"data-label\": label } : void 0\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,\n class: props.tfootClass\n }));\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 var _a, _b;\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) ? (_a = tr._cellVariants) == null ? void 0 : _a[field.key] : false) ? `table-${(_b = tr._cellVariants) == null ? void 0 : _b[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 computedSimpleProps = computed(() => ({\n ...pick(props, btableSimpleProps),\n tableClass: computedTableClasses.value\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$8, normalizeProps(guardReactiveProps(computedSimpleProps.value)), {\n default: withCtx(() => [\n withDirectives(createVNode(_sfc_main$3, {\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$2, {\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$4, mergeProps({\n key: field.key,\n scope: \"col\",\n class: getFieldColumnClasses(field),\n title: field.headerTitle,\n variant: field.variant,\n abbr: field.headerAbbr,\n style: field.thStyle,\n ref_for: true\n }, callThAttr(null, field, \"top\"), {\n onClick: ($event) => headerClicked(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, [\"class\", \"title\", \"variant\", \"abbr\", \"style\", \"onClick\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"]),\n slots[\"thead-sub\"] ? (openBlock(), createBlock(_sfc_main$2, { key: 0 }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$6, {\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$7, {\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$2, 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) : itemIndex\n }, [\n createVNode(_sfc_main$2, mergeProps({\n class: getRowClasses(item, \"row\"),\n variant: unref(isTableItem)(item) ? item._rowVariant : void 0,\n ref_for: true\n }, 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 }), {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n var _a;\n return openBlock(), createBlock(_sfc_main$6, mergeProps({\n key: field.key,\n variant: (unref(isTableItem)(item) ? (_a = item._cellVariants) == null ? void 0 : _a[field.key] : false) ? null : field.variant,\n class: getFieldRowClasses(field, item),\n ref_for: true\n }, itemAttributes(item, String(field.key), field.tdAttr)), {\n default: withCtx(() => [\n unref(props).stacked && unref(props).labelStacked ? (openBlock(), createElementBlock(\"label\", _hoisted_1$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, [\"class\", \"variant\", \"onClick\", \"onDblclick\", \"onContextmenu\", \"onMouseenter\", \"onMouseleave\", \"onMousedown\"]),\n unref(isTableItem)(item) && detailsMap.value.get(item) === true && slots[\"row-details\"] ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createVNode(_sfc_main$2, {\n \"aria-hidden\": \"true\",\n role: \"presentation\",\n class: \"d-none\"\n }),\n createVNode(_sfc_main$2, mergeProps({\n class: getRowClasses(item, \"row-details\"),\n variant: item._rowVariant,\n ref_for: true\n }, callTbodyTrAttrs(item, \"row-details\")), {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\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$2, 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$5, normalizeProps(mergeProps({ key: 0 }, footerProps.value)), {\n default: withCtx(() => [\n createVNode(_sfc_main$2, {\n variant: unref(props).footRowVariant,\n class: normalizeClass(unref(props).tfootTrClass)\n }, {\n default: withCtx(() => [\n (openBlock(true), createElementBlock(Fragment, null, renderList(computedFields.value, (field) => {\n return openBlock(), createBlock(_sfc_main$4, 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 ref_for: true\n }, callThAttr(null, field, \"bottom\"), {\n onClick: ($event) => headerClicked(field, $event, true)\n }), {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_2$1, [\n createElementVNode(\"div\", null, [\n renderSlot(\n _ctx.$slots,\n slots[`foot(${String(field.key)})`] ? `foot(${String(field.key)})` : \"foot()\",\n {\n label: field.label,\n column: field.key,\n field,\n isFoot: true\n },\n () => [\n createTextVNode(toDisplayString(unref(getTableFieldHeadLabel)(field)), 1)\n ]\n )\n ])\n ])\n ]),\n _: 2\n }, 1040, [\"class\", \"title\", \"abbr\", \"style\", \"variant\", \"onClick\"]);\n }), 128))\n ]),\n _: 3\n }, 8, [\"variant\", \"class\"])\n ]),\n _: 3\n }, 16)) : slots[\"custom-foot\"] ? (openBlock(), createBlock(_sfc_main$5, normalizeProps(mergeProps({ key: 1 }, 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_3$1, [\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 = {\n style: { opacity: 0.4 },\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-up-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n};\nconst _hoisted_2 = {\n role: \"alert\",\n \"aria-live\": \"polite\"\n};\nconst _hoisted_3 = { class: \"text-center my-2\" };\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"BTable\",\n props: /* @__PURE__ */ mergeModels({\n provider: { 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 mustSort: { type: [Boolean, Array], default: false },\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 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 }, {\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\", \"head-clicked\", \"row-clicked\", \"row-dblclicked\", \"row-contextmenu\", \"row-hovered\", \"row-unhovered\", \"row-middle-clicked\", \"row-selected\", \"row-unselected\", \"sorted\", \"change\"], [\"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 selectedItemsToSet = computed({\n get: () => /* @__PURE__ */ 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 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 computedFields = computed(\n () => props.fields.map((el) => {\n var _a;\n if (!isTableField(el)) {\n const label = startCase(el);\n return {\n key: el,\n label,\n tdAttr: props.stacked === true ? { \"data-label\": label } : void 0\n };\n }\n const value = (_a = sortByModel.value) == null ? void 0 : _a.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 }));\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 computedItems = computed(() => {\n const sortItems = (items) => {\n var _a;\n const sortByItems = (_a = sortByModel.value) == null ? void 0 : _a.filter((el) => !!el.order);\n if (!sortByItems || sortByItems.length === 0) return items;\n return [...items].sort((a, b) => {\n for (let i = 0; i < (sortByItems.length ?? 0); i++) {\n const sortOption = sortByItems[i];\n const realVal = (ob) => {\n if (!isTableItem(ob)) return String(ob);\n const sortField = computedFields.value.find((el) => {\n if (isTableField(el)) return el.key === sortOption.key;\n return false;\n });\n const val = get(ob, sortOption.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 == null ? void 0 : val.toString()) ?? \"\";\n };\n const aValue = realVal(a);\n const bValue = realVal(b);\n const comparison = sortOption.comparer ? sortOption.comparer(aValue, bValue) : aValue.localeCompare(bValue, void 0, { numeric: true });\n if (comparison !== 0) {\n return sortOption.order === \"asc\" ? comparison : -comparison;\n }\n }\n return 0;\n });\n };\n const filterItems = (items) => items.filter(\n (item) => isTableItem(item) ? Object.entries(item).some(([key, val]) => {\n var _a, _b, _c;\n if (val === null || val === void 0 || key[0] === \"_\" || !((_a = props.filterable) == null ? void 0 : _a.includes(key)) && !!((_b = props.filterable) == null ? void 0 : _b.length))\n return false;\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(((_c = props.filter) == null ? void 0 : _c.toLowerCase()) ?? \"\");\n }) : true\n );\n let mappedItems = usesProvider.value ? internalItems.value : props.items;\n mappedItems = mappedItems.map((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 if (isFilterableTable.value === true && !usesProvider.value || isFilterableTable.value === true && usesProvider.value && props.noProviderFiltering) {\n mappedItems = filterItems(mappedItems);\n }\n if (isSortable.value === true && !usesProvider.value && !props.noLocalSorting || isSortable.value === true && usesProvider.value && props.noProviderSorting) {\n mappedItems = sortItems(mappedItems);\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 onRowClick = (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 const handleFieldSorting = (field) => {\n var _a, _b;\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 resolveOrder = (val) => {\n if (val === \"asc\") return \"desc\";\n if (val === void 0) return \"asc\";\n if (props.mustSort === true || Array.isArray(props.mustSort) && props.mustSort.includes(fieldKey))\n return \"asc\";\n return void 0;\n };\n const index = ((_a = sortByModel.value) == null ? void 0 : _a.findIndex((el) => el.key === fieldKey)) ?? -1;\n const originalValue = (_b = sortByModel.value) == null ? void 0 : _b[index];\n const updatedValue = (\n // If value is new, we default to ascending\n // Otherwise we make a temp copy of the value\n index === -1 || !originalValue ? { key: fieldKey, order: \"asc\" } : { ...originalValue }\n );\n const handleMultiSort = () => {\n var _a2, _b2;\n let val = updatedValue;\n if (index === -1) {\n sortByModel.value = [...sortByModel.value ?? [], updatedValue];\n } else {\n const order = resolveOrder(updatedValue.order);\n val = { ...updatedValue, order };\n sortByModel.value = order ? (_a2 = sortByModel.value) == null ? void 0 : _a2.map((el) => el.key === val.key ? val : el) : (_b2 = sortByModel.value) == null ? void 0 : _b2.filter((el) => el.key !== val.key);\n }\n return val;\n };\n const handleSingleSort = () => {\n const val = {\n ...updatedValue,\n order: index === -1 ? updatedValue.order : resolveOrder(updatedValue.order)\n };\n sortByModel.value = [val];\n return val;\n };\n emit(\"sorted\", props.multisort === true ? handleMultiSort() : handleSingleSort());\n };\n const onFieldHeadClick = (fieldKey, field, event, isFooter = false) => {\n emit(\"head-clicked\", fieldKey, field, event, isFooter);\n handleFieldSorting(field);\n };\n const callItemsProvider = async () => {\n if (!usesProvider.value || props.provider === void 0 || busyModel.value) return;\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 });\n try {\n const items = response instanceof Promise ? await response : response;\n if (items === void 0) return;\n internalItems.value = items;\n } finally {\n busyModel.value = false;\n }\n };\n const providerPropsWatch = async (prop, val, oldVal) => {\n if (val === oldVal) return;\n const inNoProvider = (key) => {\n var _a;\n return ((_a = props.noProvider) == null ? void 0 : _a.includes(key)) === true;\n };\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 callItemsProvider();\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) return;\n selectedItemsToSet.value = /* @__PURE__ */ 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 selectedItemsSetUtilities.add(item);\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 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 }));\n __expose({\n // The row selection methods are really for compat. Users should probably use the v-model though\n ...exposedSelectableUtilities,\n refresh: callItemsProvider\n });\n return (_ctx, _cache) => {\n return openBlock(), createBlock(_sfc_main$1, mergeProps(computedLiteProps.value, {\n onHeadClicked: onFieldHeadClick,\n onRowClicked: onRowClick,\n onRowDblclicked: _cache[0] || (_cache[0] = (row, index, e) => {\n emit(\"row-dblclicked\", row, index, e);\n }),\n onRowContextmenu: _cache[1] || (_cache[1] = (row, index, e) => {\n emit(\"row-contextmenu\", row, index, e);\n }),\n onRowHovered: _cache[2] || (_cache[2] = (row, index, e) => {\n emit(\"row-hovered\", row, index, e);\n }),\n onRowUnhovered: _cache[3] || (_cache[3] = (row, index, e) => {\n emit(\"row-unhovered\", row, index, e);\n }),\n onRowMiddleClicked: _cache[4] || (_cache[4] = (row, index, e) => {\n emit(\"row-middle-clicked\", row, index, e);\n })\n }), createSlots({\n \"custom-body\": withCtx((scope) => [\n busyModel.value && slots[\"table-busy\"] ? (openBlock(), createBlock(_sfc_main$2, {\n key: 0,\n class: normalizeClass([\"b-table-busy-slot\", getBusyRowClasses.value])\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\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$2, {\n key: 1,\n class: \"b-table-empty-row\"\n }, {\n default: withCtx(() => [\n createVNode(_sfc_main$6, {\n colspan: computedFields.value.length\n }, {\n default: withCtx(() => [\n createElementVNode(\"div\", _hoisted_2, [\n createElementVNode(\"div\", _hoisted_3, [\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[\"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: \"0\"\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: \"1\"\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: \"2\"\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: (index = scope.index) => exposedSelectableUtilities.selectRow(index),\n unselectRow: (index = scope.index) => exposedSelectableUtilities.unselectRow(index),\n rowSelected: exposedSelectableUtilities.isRowSelected(scope.index)\n }))\n ]),\n key: \"3\"\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: \"4\"\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: \"5\"\n } : void 0,\n slots[\"table-caption\"] ? {\n name: \"table-caption\",\n fn: withCtx(() => [\n renderSlot(_ctx.$slots, \"table-caption\")\n ]),\n key: \"6\"\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: (index = scope.index) => exposedSelectableUtilities.selectRow(index),\n unselectRow: (index = scope.index) => exposedSelectableUtilities.unselectRow(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 var _a, _b, _c, _d;\n return [\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 ((_b = (_a = sortByModel.value) == null ? void 0 : _a.find((el) => el.key === scope.field.key)) == null ? void 0 : _b.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 _cache[5] || (_cache[5] = createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-up-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"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\"\n })\n ], -1))\n ]\n ) : ((_d = (_c = sortByModel.value) == null ? void 0 : _c.find((el) => el.key === scope.field.key)) == null ? void 0 : _d.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 _cache[6] || (_cache[6] = createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n fill: \"currentColor\",\n class: \"bi bi-arrow-down-short\",\n viewBox: \"0 0 16 16\",\n \"aria-hidden\": \"\"\n }, [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"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\"\n })\n ], -1))\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 (openBlock(), createElementBlock(\"svg\", _hoisted_1, _cache[7] || (_cache[7] = [\n createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n d: \"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\"\n }, null, -1)\n ])))\n ]\n )\n ], 64)) : createCommentVNode(\"\", true)\n ];\n })\n };\n })\n ]), 1040);\n };\n }\n});\nexport {\n _sfc_main as _,\n _sfc_main$1 as a,\n _sfc_main$7 as b,\n _sfc_main$6 as c,\n _sfc_main$5 as d,\n _sfc_main$4 as e,\n _sfc_main$3 as f,\n _sfc_main$2 as g\n};\n//# sourceMappingURL=BTable.vue_vue_type_script_setup_true_lang-BhFlxAjx.mjs.map\n","const componentsWithExternalPath = {\n BAccordion: \"/components/BAccordion\",\n BAccordionItem: \"/components/BAccordion\",\n BAlert: \"/components/BAlert\",\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 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 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/useModalController\",\n useScrollspy: \"/composables/useScrollspy\",\n useToastController: \"/composables/useToastController\",\n usePopoverController: \"/composables/usePopoverController\"\n};\nconst composableNames = Object.freeze(\n Object.keys(composablesWithExternalPath)\n);\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 componentsWithExternalPath as a,\n composableNames as b,\n componentNames as c,\n composablesWithExternalPath as d,\n directiveNames as e,\n directivesWithExternalPath as f,\n index as i\n};\n//# sourceMappingURL=index-sLCKmIWG.mjs.map\n"],"names":["withBvnPrefix","value","suffix","suffixWithTrail","createBvnInjectionKey","name","createBvnPluginInjectionKey","progressInjectionKey","collapseInjectionKey","globalShowHideStorageInjectionKey","navbarInjectionKey","rtlPluginKey","breadcrumbPluginKey","modalManagerPluginKey","defaultsKey","toastPluginKey","modalControllerPluginKey","popoverPluginKey","tryOnScopeDispose","fn","getCurrentScope","onScopeDispose","createSharedComposable","composable","subscribers","state","scope","dispose","args","effectScope","toValue","r","unref","isClient","notNullish","val","toString","isObject","timestamp","noop","isIOS","getIsIOS","_a","_b","createFilterWrapper","filter","wrapper","resolve","reject","throttleFilter","lastExec","timer","isLeading","lastRejector","lastValue","ms","trailing","leading","rejectOnCancel","isRef","clear","_invoke","duration","elapsed","invoke","toRef","toRef$1","readonly","customRef","ref","useThrottleFn","useIntervalFn","cb","interval","options","immediate","immediateCallback","isActive","clean","pause","resume","intervalValue","stopWatch","watch","useToNumber","method","radix","nanToZero","computed","resolved","componentsWithExternalPath","componentNames","directivesWithExternalPath","directiveNames","composablesWithExternalPath","bvKey","parseActiveImports","values","all","others","valuesCopy","el","merge","usedComponents","usedDirectives","aliases","directives","components","compImports","map","dirImports","directive","key","destination","aliasDestination","prefixedName"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,9 @@
1
+ import{u as xe,a8 as Le,a6 as je,a5 as Me,w as k,r as N,l as E,a9 as Ze,W as Q,U as K,aa as Qe,o as me,k as Je,S as et,Q as tt,M as nt,m as ot}from"./filter-Bx-PU1OL.js";const Ke=(n,e="")=>{const t=`${e}___`;return`___BVN__ID__${n}__${e?t:""}`},be=n=>Ke(n),P=n=>Ke(`${n}__plugin`),cn=be("progress"),un=be("collapse"),dn=P("globalShowHideStorage"),fn=be("navbar"),vn=P("rtl"),pn=P("breadcrumbPlugin"),mn=P("modalManager"),bn=P("defaults"),hn=P("toast"),Bn=P("modalController"),yn=P("popover");function R(n){return Le()?(je(n),!0):!1}function rt(n){let e=0,t,o;const i=()=>{e-=1,o&&e<=0&&(o.stop(),t=void 0,o=void 0)};return(...a)=>(e+=1,o||(o=Ze(!0),t=o.run(()=>n(...a))),R(i),t)}function S(n){return typeof n=="function"?n():xe(n)}const J=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const at=n=>n!=null,it=Object.prototype.toString,st=n=>it.call(n)==="[object Object]",Ne=()=>+Date.now(),ee=()=>{},Se=lt();function lt(){var n,e;return J&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ct(n,e){function t(...o){return new Promise((i,a)=>{Promise.resolve(n(()=>e.apply(this,o),{fn:e,thisArg:this,args:o})).then(i).catch(a)})}return t}function ut(...n){let e=0,t,o=!0,i=ee,a,r,d,l,u;!Me(n[0])&&typeof n[0]=="object"?{delay:r,trailing:d=!0,leading:l=!0,rejectOnCancel:u=!1}=n[0]:[r,d=!0,l=!0,u=!1]=n;const f=()=>{t&&(clearTimeout(t),t=void 0,i(),i=ee)};return p=>{const y=S(r),C=Date.now()-e,L=()=>a=p();return f(),y<=0?(e=Date.now(),L()):(C>y&&(l||!o)?(e=Date.now(),L()):d&&(a=new Promise((G,j)=>{i=u?j:G,t=setTimeout(()=>{e=Date.now(),o=!0,G(L()),f()},Math.max(0,y-C))})),!l&&!t&&(t=setTimeout(()=>o=!0,y)),o=!1,a)}}function dt(...n){if(n.length!==1)return Q(...n);const e=n[0];return typeof e=="function"?K(Qe(()=>({get:e,set:ee}))):N(e)}function gn(n,e=200,t=!1,o=!0,i=!1){return ct(ut(e,t,o,i),n)}function ft(n,e=1e3,t={}){const{immediate:o=!0,immediateCallback:i=!1}=t;let a=null;const r=N(!1);function d(){a&&(clearInterval(a),a=null)}function l(){r.value=!1,d()}function u(){const f=S(e);f<=0||(r.value=!0,i&&n(),d(),r.value&&(a=setInterval(n,f)))}if(o&&J&&u(),Me(e)||typeof e=="function"){const f=k(e,()=>{r.value&&J&&u()});R(f)}return R(l),{isActive:r,pause:l,resume:u}}function wn(n,e={}){const{method:t="parseFloat",radix:o,nanToZero:i}=e;return E(()=>{let a=S(n);return typeof a=="string"&&(a=Number[t](a,o)),i&&Number.isNaN(a)&&(a=0),a})}const U=J?window:void 0;function he(n){var e;const t=S(n);return(e=t==null?void 0:t.$el)!=null?e:t}function _(...n){let e,t,o,i;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,o,i]=n,e=U):[e,t,o,i]=n,!e)return ee;Array.isArray(t)||(t=[t]),Array.isArray(o)||(o=[o]);const a=[],r=()=>{a.forEach(f=>f()),a.length=0},d=(f,m,p,y)=>(f.addEventListener(m,p,y),()=>f.removeEventListener(m,p,y)),l=k(()=>[he(e),S(i)],([f,m])=>{if(r(),!f)return;const p=st(m)?{...m}:m;a.push(...t.flatMap(y=>o.map(C=>d(f,y,C,p))))},{immediate:!0,flush:"post"}),u=()=>{l(),r()};return R(u),u}function vt(n){return typeof n=="function"?n:typeof n=="string"?e=>e.key===n:Array.isArray(n)?e=>n.includes(e.key):()=>!0}function Tn(...n){let e,t,o={};n.length===3?(e=n[0],t=n[1],o=n[2]):n.length===2?typeof n[1]=="object"?(e=!0,t=n[0],o=n[1]):(e=n[0],t=n[1]):(e=!0,t=n[0]);const{target:i=U,eventName:a="keydown",passive:r=!1,dedupe:d=!1}=o,l=vt(e);return _(i,a,f=>{f.repeat&&S(d)||l(f)&&t(f)},r)}function pt(){const n=N(!1),e=Je();return e&&me(()=>{n.value=!0},e),n}function mt(n){const e=pt();return E(()=>(e.value,!!n()))}function bt(n,e,t={}){const{window:o=U,...i}=t;let a;const r=mt(()=>o&&"MutationObserver"in o),d=()=>{a&&(a.disconnect(),a=void 0)},l=E(()=>{const p=S(n),y=(Array.isArray(p)?p:[p]).map(he).filter(at);return new Set(y)}),u=k(()=>l.value,p=>{d(),r.value&&p.size&&(a=new MutationObserver(e),p.forEach(y=>a.observe(y,i)))},{immediate:!0,flush:"post"}),f=()=>a==null?void 0:a.takeRecords(),m=()=>{u(),d()};return R(m),{isSupported:r,stop:m,takeRecords:f}}function ht(n,e={}){const{immediate:t=!0,fpsLimit:o=void 0,window:i=U}=e,a=N(!1),r=o?1e3/o:null;let d=0,l=null;function u(p){if(!a.value||!i)return;d||(d=p);const y=p-d;if(r&&y<r){l=i.requestAnimationFrame(u);return}d=p,n({delta:y,timestamp:p}),l=i.requestAnimationFrame(u)}function f(){!a.value&&i&&(a.value=!0,d=0,l=i.requestAnimationFrame(u))}function m(){a.value=!1,l!=null&&i&&(i.cancelAnimationFrame(l),l=null)}return t&&f(),R(m),{isActive:K(a),pause:m,resume:f}}const z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Y="__vueuse_ssr_handlers__",Bt=yt();function yt(){return Y in z||(z[Y]=z[Y]||{}),z[Y]}function Fn(n,e){return Bt[n]||e}function Cn(n,e={}){const{delayEnter:t=0,delayLeave:o=0,window:i=U}=e,a=N(!1);let r;const d=l=>{const u=l?t:o;r&&(clearTimeout(r),r=void 0),u?r=setTimeout(()=>a.value=l,u):a.value=l};return i&&(_(n,"mouseenter",()=>d(!0),{passive:!0}),_(n,"mouseleave",()=>d(!1),{passive:!0})),a}function Nn(n,e={}){const{initialValue:t=!1,focusVisible:o=!1,preventScroll:i=!1}=e,a=N(!1),r=E(()=>he(n));_(r,"focus",l=>{var u,f;(!o||(f=(u=l.target).matches)!=null&&f.call(u,":focus-visible"))&&(a.value=!0)}),_(r,"blur",()=>a.value=!1);const d=E({get:()=>a.value,set(l){var u,f;!l&&a.value?(u=r.value)==null||u.blur():l&&!a.value&&((f=r.value)==null||f.focus({preventScroll:i}))}});return k(r,()=>{d.value=t},{immediate:!0,flush:"post"}),{focused:d}}function le(n){return typeof Window<"u"&&n instanceof Window?n.document.documentElement:typeof Document<"u"&&n instanceof Document?n.documentElement:n}function _e(n){const e=window.getComputedStyle(n);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&n.clientWidth<n.scrollWidth||e.overflowY==="auto"&&n.clientHeight<n.scrollHeight)return!0;{const t=n.parentNode;return!t||t.tagName==="BODY"?!1:_e(t)}}function gt(n){const e=n||window.event,t=e.target;return _e(t)?!1:e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)}const ce=new WeakMap;function wt(n,e=!1){const t=N(e);let o=null,i="";k(dt(n),d=>{const l=le(S(d));if(l){const u=l;if(ce.get(u)||ce.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(i=u.style.overflow),u.style.overflow==="hidden")return t.value=!0;if(t.value)return u.style.overflow="hidden"}},{immediate:!0});const a=()=>{const d=le(S(n));!d||t.value||(Se&&(o=_(d,"touchmove",l=>{gt(l)},{passive:!1})),d.style.overflow="hidden",t.value=!0)},r=()=>{const d=le(S(n));!d||!t.value||(Se&&(o==null||o()),d.style.overflow=i,ce.delete(d),t.value=!1)};return R(r),E({get(){return t.value},set(d){d?a():r()}})}function Sn(n={}){const{controls:e=!1,offset:t=0,immediate:o=!0,interval:i="requestAnimationFrame",callback:a}=n,r=N(Ne()+t),d=()=>r.value=Ne()+t,l=a?()=>{d(),a(r.value)}:d,u=i==="requestAnimationFrame"?ht(l,{immediate:o}):ft(l,i,{immediate:o});return e?{timestamp:r,...u}:r}function Tt(n){return Le()?(je(n),!0):!1}function fe(n){return typeof n=="function"?n():xe(n)}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ft=n=>n!=null;function Ct(n){var e;const t=fe(n);return(e=t==null?void 0:t.$el)!=null?e:t}/*!
2
+ * tabbable 6.2.0
3
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
4
+ */var Ge=["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])"],te=Ge.join(","),We=typeof Element>"u",x=We?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ne=!We&&Element.prototype.getRootNode?function(n){var e;return n==null||(e=n.getRootNode)===null||e===void 0?void 0:e.call(n)}:function(n){return n==null?void 0:n.ownerDocument},oe=function n(e,t){var o;t===void 0&&(t=!0);var i=e==null||(o=e.getAttribute)===null||o===void 0?void 0:o.call(e,"inert"),a=i===""||i==="true",r=a||t&&e&&n(e.parentNode);return r},Nt=function(e){var t,o=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return o===""||o==="true"},$e=function(e,t,o){if(oe(e))return[];var i=Array.prototype.slice.apply(e.querySelectorAll(te));return t&&x.call(e,te)&&i.unshift(e),i=i.filter(o),i},Ve=function n(e,t,o){for(var i=[],a=Array.from(e);a.length;){var r=a.shift();if(!oe(r,!1))if(r.tagName==="SLOT"){var d=r.assignedElements(),l=d.length?d:r.children,u=n(l,!0,o);o.flatten?i.push.apply(i,u):i.push({scopeParent:r,candidates:u})}else{var f=x.call(r,te);f&&o.filter(r)&&(t||!e.includes(r))&&i.push(r);var m=r.shadowRoot||typeof o.getShadowRoot=="function"&&o.getShadowRoot(r),p=!oe(m,!1)&&(!o.shadowRootFilter||o.shadowRootFilter(r));if(m&&p){var y=n(m===!0?r.children:m.children,!0,o);o.flatten?i.push.apply(i,y):i.push({scopeParent:r,candidates:y})}else a.unshift.apply(a,r.children)}}return i},qe=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},O=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Nt(e))&&!qe(e)?0:e.tabIndex},St=function(e,t){var o=O(e);return o<0&&t&&!qe(e)?0:o},kt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},He=function(e){return e.tagName==="INPUT"},At=function(e){return He(e)&&e.type==="hidden"},Et=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(o){return o.tagName==="SUMMARY"});return t},Pt=function(e,t){for(var o=0;o<e.length;o++)if(e[o].checked&&e[o].form===t)return e[o]},Dt=function(e){if(!e.name)return!0;var t=e.form||ne(e),o=function(d){return t.querySelectorAll('input[type="radio"][name="'+d+'"]')},i;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")i=o(window.CSS.escape(e.name));else try{i=o(e.name)}catch(r){return 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",r.message),!1}var a=Pt(i,e.form);return!a||a===e},It=function(e){return He(e)&&e.type==="radio"},Ot=function(e){return It(e)&&!Dt(e)},Rt=function(e){var t,o=e&&ne(e),i=(t=o)===null||t===void 0?void 0:t.host,a=!1;if(o&&o!==e){var r,d,l;for(a=!!((r=i)!==null&&r!==void 0&&(d=r.ownerDocument)!==null&&d!==void 0&&d.contains(i)||e!=null&&(l=e.ownerDocument)!==null&&l!==void 0&&l.contains(e));!a&&i;){var u,f,m;o=ne(i),i=(u=o)===null||u===void 0?void 0:u.host,a=!!((f=i)!==null&&f!==void 0&&(m=f.ownerDocument)!==null&&m!==void 0&&m.contains(i))}}return a},ke=function(e){var t=e.getBoundingClientRect(),o=t.width,i=t.height;return o===0&&i===0},xt=function(e,t){var o=t.displayCheck,i=t.getShadowRoot;if(getComputedStyle(e).visibility==="hidden")return!0;var a=x.call(e,"details>summary:first-of-type"),r=a?e.parentElement:e;if(x.call(r,"details:not([open]) *"))return!0;if(!o||o==="full"||o==="legacy-full"){if(typeof i=="function"){for(var d=e;e;){var l=e.parentElement,u=ne(e);if(l&&!l.shadowRoot&&i(l)===!0)return ke(e);e.assignedSlot?e=e.assignedSlot:!l&&u!==e.ownerDocument?e=u.host:e=l}e=d}if(Rt(e))return!e.getClientRects().length;if(o!=="legacy-full")return!0}else if(o==="non-zero-area")return ke(e);return!1},Lt=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var o=0;o<t.children.length;o++){var i=t.children.item(o);if(i.tagName==="LEGEND")return x.call(t,"fieldset[disabled] *")?!0:!i.contains(e)}return!0}t=t.parentElement}return!1},re=function(e,t){return!(t.disabled||oe(t)||At(t)||xt(t,e)||Et(t)||Lt(t))},ve=function(e,t){return!(Ot(t)||O(t)<0||!re(e,t))},jt=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return!!(isNaN(t)||t>=0)},Mt=function n(e){var t=[],o=[];return e.forEach(function(i,a){var r=!!i.scopeParent,d=r?i.scopeParent:i,l=St(d,r),u=r?n(i.candidates):d;l===0?r?t.push.apply(t,u):t.push(d):o.push({documentOrder:a,tabIndex:l,item:i,isScope:r,content:u})}),o.sort(kt).reduce(function(i,a){return a.isScope?i.push.apply(i,a.content):i.push(a.content),i},[]).concat(t)},Kt=function(e,t){t=t||{};var o;return t.getShadowRoot?o=Ve([e],t.includeContainer,{filter:ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:jt}):o=$e(e,t.includeContainer,ve.bind(null,t)),Mt(o)},_t=function(e,t){t=t||{};var o;return t.getShadowRoot?o=Ve([e],t.includeContainer,{filter:re.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):o=$e(e,t.includeContainer,re.bind(null,t)),o},M=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return x.call(e,te)===!1?!1:ve(t,e)},Gt=Ge.concat("iframe").join(","),ue=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return x.call(e,Gt)===!1?!1:re(t,e)};/*!
5
+ * focus-trap 7.6.2
6
+ * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
7
+ */function pe(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,o=Array(e);t<e;t++)o[t]=n[t];return o}function Wt(n){if(Array.isArray(n))return pe(n)}function $t(n,e,t){return(e=zt(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Vt(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function qt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ae(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,o)}return t}function Ee(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ae(Object(t),!0).forEach(function(o){$t(n,o,t[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ae(Object(t)).forEach(function(o){Object.defineProperty(n,o,Object.getOwnPropertyDescriptor(t,o))})}return n}function Ht(n){return Wt(n)||Vt(n)||Yt(n)||qt()}function Ut(n,e){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var o=t.call(n,e);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function zt(n){var e=Ut(n,"string");return typeof e=="symbol"?e:e+""}function Yt(n,e){if(n){if(typeof n=="string")return pe(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?pe(n,e):void 0}}var Pe={activateTrap:function(e,t){if(e.length>0){var o=e[e.length-1];o!==t&&o.pause()}var i=e.indexOf(t);i===-1||e.splice(i,1),e.push(t)},deactivateTrap:function(e,t){var o=e.indexOf(t);o!==-1&&e.splice(o,1),e.length>0&&e[e.length-1].unpause()}},Xt=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Zt=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},H=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Qt=function(e){return H(e)&&!e.shiftKey},Jt=function(e){return H(e)&&e.shiftKey},De=function(e){return setTimeout(e,0)},q=function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=arguments[i];return typeof e=="function"?e.apply(void 0,o):e},X=function(e){return e.target.shadowRoot&&typeof e.composedPath=="function"?e.composedPath()[0]:e.target},en=[],tn=function(e,t){var o=(t==null?void 0:t.document)||document,i=(t==null?void 0:t.trapStack)||en,a=Ee({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,isKeyForward:Qt,isKeyBackward:Jt},t),r={containers:[],containerGroups:[],tabbableGroups:[],nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},d,l=function(s,c,v){return s&&s[c]!==void 0?s[c]:a[v||c]},u=function(s,c){var v=typeof(c==null?void 0:c.composedPath)=="function"?c.composedPath():void 0;return r.containerGroups.findIndex(function(h){var B=h.container,w=h.tabbableNodes;return B.contains(s)||(v==null?void 0:v.includes(B))||w.find(function(b){return b===s})})},f=function(s){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},v=c.hasFallback,h=v===void 0?!1:v,B=c.params,w=B===void 0?[]:B,b=a[s];if(typeof b=="function"&&(b=b.apply(void 0,Ht(w))),b===!0&&(b=void 0),!b){if(b===void 0||b===!1)return b;throw new Error("`".concat(s,"` was specified but was not a node, or did not return a node"))}var T=b;if(typeof b=="string"){try{T=o.querySelector(b)}catch(F){throw new Error("`".concat(s,'` appears to be an invalid selector; error="').concat(F.message,'"'))}if(!T&&!h)throw new Error("`".concat(s,"` as selector refers to no known node"))}return T},m=function(){var s=f("initialFocus",{hasFallback:!0});if(s===!1)return!1;if(s===void 0||s&&!ue(s,a.tabbableOptions))if(u(o.activeElement)>=0)s=o.activeElement;else{var c=r.tabbableGroups[0],v=c&&c.firstTabbableNode;s=v||f("fallbackFocus")}else s===null&&(s=f("fallbackFocus"));if(!s)throw new Error("Your focus-trap needs to have at least one focusable element");return s},p=function(){if(r.containerGroups=r.containers.map(function(s){var c=Kt(s,a.tabbableOptions),v=_t(s,a.tabbableOptions),h=c.length>0?c[0]:void 0,B=c.length>0?c[c.length-1]:void 0,w=v.find(function(F){return M(F)}),b=v.slice().reverse().find(function(F){return M(F)}),T=!!c.find(function(F){return O(F)>0});return{container:s,tabbableNodes:c,focusableNodes:v,posTabIndexesFound:T,firstTabbableNode:h,lastTabbableNode:B,firstDomTabbableNode:w,lastDomTabbableNode:b,nextTabbableNode:function(D){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,A=c.indexOf(D);return A<0?$?v.slice(v.indexOf(D)+1).find(function(V){return M(V)}):v.slice(0,v.indexOf(D)).reverse().find(function(V){return M(V)}):c[A+($?1:-1)]}}}),r.tabbableGroups=r.containerGroups.filter(function(s){return s.tabbableNodes.length>0}),r.tabbableGroups.length<=0&&!f("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(r.containerGroups.find(function(s){return s.posTabIndexesFound})&&r.containerGroups.length>1)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.")},y=function(s){var c=s.activeElement;if(c)return c.shadowRoot&&c.shadowRoot.activeElement!==null?y(c.shadowRoot):c},C=function(s){if(s!==!1&&s!==y(document)){if(!s||!s.focus){C(m());return}s.focus({preventScroll:!!a.preventScroll}),r.mostRecentlyFocusedNode=s,Xt(s)&&s.select()}},L=function(s){var c=f("setReturnFocus",{params:[s]});return c||(c===!1?!1:s)},G=function(s){var c=s.target,v=s.event,h=s.isBackward,B=h===void 0?!1:h;c=c||X(v),p();var w=null;if(r.tabbableGroups.length>0){var b=u(c,v),T=b>=0?r.containerGroups[b]:void 0;if(b<0)B?w=r.tabbableGroups[r.tabbableGroups.length-1].lastTabbableNode:w=r.tabbableGroups[0].firstTabbableNode;else if(B){var F=r.tabbableGroups.findIndex(function(ie){var se=ie.firstTabbableNode;return c===se});if(F<0&&(T.container===c||ue(c,a.tabbableOptions)&&!M(c,a.tabbableOptions)&&!T.nextTabbableNode(c,!1))&&(F=b),F>=0){var D=F===0?r.tabbableGroups.length-1:F-1,$=r.tabbableGroups[D];w=O(c)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else H(v)||(w=T.nextTabbableNode(c,!1))}else{var A=r.tabbableGroups.findIndex(function(ie){var se=ie.lastTabbableNode;return c===se});if(A<0&&(T.container===c||ue(c,a.tabbableOptions)&&!M(c,a.tabbableOptions)&&!T.nextTabbableNode(c))&&(A=b),A>=0){var V=A===r.tabbableGroups.length-1?0:A+1,Ce=r.tabbableGroups[V];w=O(c)>=0?Ce.firstTabbableNode:Ce.firstDomTabbableNode}else H(v)||(w=T.nextTabbableNode(c))}}else w=f("fallbackFocus");return w},j=function(s){var c=X(s);if(!(u(c,s)>=0)){if(q(a.clickOutsideDeactivates,s)){d.deactivate({returnFocus:a.returnFocusOnDeactivate});return}q(a.allowOutsideClick,s)||s.preventDefault()}},Be=function(s){var c=X(s),v=u(c,s)>=0;if(v||c instanceof Document)v&&(r.mostRecentlyFocusedNode=c);else{s.stopImmediatePropagation();var h,B=!0;if(r.mostRecentlyFocusedNode)if(O(r.mostRecentlyFocusedNode)>0){var w=u(r.mostRecentlyFocusedNode),b=r.containerGroups[w].tabbableNodes;if(b.length>0){var T=b.findIndex(function(F){return F===r.mostRecentlyFocusedNode});T>=0&&(a.isKeyForward(r.recentNavEvent)?T+1<b.length&&(h=b[T+1],B=!1):T-1>=0&&(h=b[T-1],B=!1))}}else r.containerGroups.some(function(F){return F.tabbableNodes.some(function(D){return O(D)>0})})||(B=!1);else B=!1;B&&(h=G({target:r.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(r.recentNavEvent)})),C(h||r.mostRecentlyFocusedNode||m())}r.recentNavEvent=void 0},Ye=function(s){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;r.recentNavEvent=s;var v=G({event:s,isBackward:c});v&&(H(s)&&s.preventDefault(),C(v))},ye=function(s){(a.isKeyForward(s)||a.isKeyBackward(s))&&Ye(s,a.isKeyBackward(s))},ge=function(s){Zt(s)&&q(a.escapeDeactivates,s)!==!1&&(s.preventDefault(),d.deactivate())},we=function(s){var c=X(s);u(c,s)>=0||q(a.clickOutsideDeactivates,s)||q(a.allowOutsideClick,s)||(s.preventDefault(),s.stopImmediatePropagation())},Te=function(){if(r.active)return Pe.activateTrap(i,d),r.delayInitialFocusTimer=a.delayInitialFocus?De(function(){C(m())}):C(m()),o.addEventListener("focusin",Be,!0),o.addEventListener("mousedown",j,{capture:!0,passive:!1}),o.addEventListener("touchstart",j,{capture:!0,passive:!1}),o.addEventListener("click",we,{capture:!0,passive:!1}),o.addEventListener("keydown",ye,{capture:!0,passive:!1}),o.addEventListener("keydown",ge),d},Fe=function(){if(r.active)return o.removeEventListener("focusin",Be,!0),o.removeEventListener("mousedown",j,!0),o.removeEventListener("touchstart",j,!0),o.removeEventListener("click",we,!0),o.removeEventListener("keydown",ye,!0),o.removeEventListener("keydown",ge),d},Xe=function(s){var c=s.some(function(v){var h=Array.from(v.removedNodes);return h.some(function(B){return B===r.mostRecentlyFocusedNode})});c&&C(m())},ae=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(Xe):void 0,W=function(){ae&&(ae.disconnect(),r.active&&!r.paused&&r.containers.map(function(s){ae.observe(s,{subtree:!0,childList:!0})}))};return d={get active(){return r.active},get paused(){return r.paused},activate:function(s){if(r.active)return this;var c=l(s,"onActivate"),v=l(s,"onPostActivate"),h=l(s,"checkCanFocusTrap");h||p(),r.active=!0,r.paused=!1,r.nodeFocusedBeforeActivation=o.activeElement,c==null||c();var B=function(){h&&p(),Te(),W(),v==null||v()};return h?(h(r.containers.concat()).then(B,B),this):(B(),this)},deactivate:function(s){if(!r.active)return this;var c=Ee({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},s);clearTimeout(r.delayInitialFocusTimer),r.delayInitialFocusTimer=void 0,Fe(),r.active=!1,r.paused=!1,W(),Pe.deactivateTrap(i,d);var v=l(c,"onDeactivate"),h=l(c,"onPostDeactivate"),B=l(c,"checkCanReturnFocus"),w=l(c,"returnFocus","returnFocusOnDeactivate");v==null||v();var b=function(){De(function(){w&&C(L(r.nodeFocusedBeforeActivation)),h==null||h()})};return w&&B?(B(L(r.nodeFocusedBeforeActivation)).then(b,b),this):(b(),this)},pause:function(s){if(r.paused||!r.active)return this;var c=l(s,"onPause"),v=l(s,"onPostPause");return r.paused=!0,c==null||c(),Fe(),W(),v==null||v(),this},unpause:function(s){if(!r.paused||!r.active)return this;var c=l(s,"onUnpause"),v=l(s,"onPostUnpause");return r.paused=!1,c==null||c(),p(),Te(),W(),v==null||v(),this},updateContainerElements:function(s){var c=[].concat(s).filter(Boolean);return r.containers=c.map(function(v){return typeof v=="string"?o.querySelector(v):v}),r.active&&p(),W(),this}},d.updateContainerElements(e),d};function nn(n,e={}){let t;const{immediate:o,...i}=e,a=N(!1),r=N(!1),d=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),u=()=>{t&&(t.pause(),r.value=!0)},f=()=>{t&&(t.unpause(),r.value=!1)},m=E(()=>{const p=fe(n);return(Array.isArray(p)?p:[p]).map(y=>{const C=fe(y);return typeof C=="string"?C:Ct(C)}).filter(Ft)});return k(m,p=>{p.length&&(t=tn(p,{...i,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),o&&d())},{flush:"post"}),Tt(()=>l()),{hasFocus:a,isPaused:r,activate:d,deactivate:l,pause:u,unpause:f}}const kn=({element:n,isActive:e,noTrap:t,fallbackFocus:o},i={allowOutsideClick:!0,fallbackFocus:o.ref.value??void 0,escapeDeactivates:!1})=>{const a=K(Q(e)),r=K(Q(t)),d=()=>{var f;const m=(f=n.value)==null?void 0:f.querySelectorAll(`a, button, input, select, textarea, [tabindex]:not([tabindex="-1"]):not(.${o.classSelector})`);return!m||m.length===0},l=N(d());me(()=>{bt(n,()=>{l.value=d()},{childList:!0,subtree:!0})});const u=nn(n,i);return k(a,async f=>{await et(),f&&r.value===!1?u.activate():u.deactivate()}),k(r,f=>{f===!0&&u.deactivate()}),{needsFallback:K(l)}},on=rt(wt);let Z="";const I=new Map,An=(n,e)=>{const t=K(Q(n)),o=tt(),i=E(()=>!ot(e)),a=on(typeof document<"u"?document.body:null,t.value&&i.value);me(()=>{typeof document>"u"||(I.set(o,!1),k([t,i],([r,d])=>{const l=window.innerWidth-document.documentElement.clientWidth,u=Array.from(I.values()).some(p=>p===!0),f=r&&d;I.set(o,f),f&&!u&&!a.value&&(a.value=!0,l>0&&(Z=document.body.style.paddingRight,document.body.style.paddingRight=`${l+Z}px`));const m=Array.from(I.values()).some(p=>p===!0);u&&!m&&(I.set(o,!1),a.value=!1,document.body.style.paddingRight=Z)},{immediate:!0}))}),nt(()=>{I.delete(o),Array.from(I.values()).some(d=>d===!0)||(document.body.style.paddingRight=Z,a.value=!1)})};Object.freeze(Object.keys({bordered:0,borderless:0,borderVariant:0,captionTop:0,dark:0,fixed:0,hover:0,id:0,noBorderCollapse:0,outlined:0,responsive:0,small:0,stacked:0,stickyHeader:0,striped:0,stripedColumns:0,variant:0,tableAttrs:0,tableClass:0}));Object.freeze(Object.keys({align:0,caption:0,detailsTdClass:0,fieldColumnClass:0,fields:0,footClone:0,footRowVariant:0,footVariant:0,headRowVariant:0,headVariant:0,items:0,labelStacked:0,modelValue:0,primaryKey:0,tbodyClass:0,tbodyTrAttrs:0,tbodyTrClass:0,tfootClass:0,tfootTrClass:0,theadClass:0,theadTrClass:0}));const Ue={BAccordion:"/components/BAccordion",BAccordionItem:"/components/BAccordion",BAlert:"/components/BAlert",BAvatar:"/components/BAvatar",BAvatarGroup:"/components/BAvatar",BBadge:"/components/BBadge",BBreadcrumb:"/components/BBreadcrumb",BBreadcrumbItem:"/components/BBreadcrumb",BButton:"/components/BButton",BButtonGroup:"/components/BButton",BButtonToolbar:"/components/BButton",BCloseButton:"/components/BButton",BCard:"/components/BCard",BCardBody:"/components/BCard",BCardFooter:"/components/BCard",BCardGroup:"/components/BCard",BCardHeader:"/components/BCard",BCardImg:"/components/BCard",BCardSubtitle:"/components/BCard",BCardText:"/components/BCard",BCardTitle:"/components/BCard",BCarousel:"/components/BCarousel",BCarouselSlide:"/components/BCarousel",BCol:"/components/BContainer",BCollapse:"/components/BCollapse",BContainer:"/components/BContainer",BDropdown:"/components/BDropdown",BDropdownDivider:"/components/BDropdown",BDropdownForm:"/components/BDropdown",BDropdownGroup:"/components/BDropdown",BDropdownHeader:"/components/BDropdown",BDropdownItem:"/components/BDropdown",BDropdownItemButton:"/components/BDropdown",BDropdownText:"/components/BDropdown",BForm:"/components/BForm",BFormCheckbox:"/components/BFormCheckbox",BFormCheckboxGroup:"/components/BFormCheckbox",BFormDatalist:"/components/BForm",BFormFile:"/components/BFormFile",BFormFloatingLabel:"/components/BForm",BFormGroup:"/components/BFormGroup",BFormInput:"/components/BFormInput",BFormInvalidFeedback:"/components/BForm",BFormRadio:"/components/BFormRadio",BFormRadioGroup:"/components/BFormRadio",BFormRow:"/components/BForm",BFormSelect:"/components/BFormSelect",BFormSelectOption:"/components/BFormSelect",BFormSelectOptionGroup:"/components/BFormSelect",BFormSpinbutton:"/components/BFormSpinbutton",BFormTag:"/components/BFormTags",BFormTags:"/components/BFormTags",BFormText:"/components/BForm",BFormTextarea:"/components/BFormTextarea",BFormValidFeedback:"/components/BForm",BImg:"/components/BImg",BInput:"/components/BFormInput",BInputGroup:"/components/BInputGroup",BInputGroupText:"/components/BInputGroup",BListGroup:"/components/BListGroup",BListGroupItem:"/components/BListGroup",BModal:"/components/BModal",BModalOrchestrator:"/components/BModal",BNav:"/components/BNav",BNavForm:"/components/BNav",BNavItem:"/components/BNav",BNavItemDropdown:"/components/BNav",BNavText:"/components/BNav",BNavbar:"/components/BNavbar",BNavbarBrand:"/components/BNavbar",BNavbarNav:"/components/BNavbar",BNavbarToggle:"/components/BNavbar",BOffcanvas:"/components/BOffcanvas",BOverlay:"/components/BOverlay",BPagination:"/components/BPagination",BPlaceholder:"/components/BPlaceholder",BPlaceholderButton:"/components/BPlaceholder",BPlaceholderCard:"/components/BPlaceholder",BPlaceholderTable:"/components/BPlaceholder",BPlaceholderWrapper:"/components/BPlaceholder",BPopover:"/components/BPopover",BProgress:"/components/BProgress",BRow:"/components/BContainer",BSpinner:"/components/BSpinner",BTab:"/components/BTabs",BTabs:"/components/BTabs",BToast:"/components/BToast",BToastOrchestrator:"/components/BToast",BTooltip:"/components/BTooltip",BLink:"/components/BLink",BProgressBar:"/components/BProgress",BTableSimple:"/components/BTable",BTableLite:"/components/BTable",BTable:"/components/BTable",BTbody:"/components/BTable",BTd:"/components/BTable",BTh:"/components/BTable",BThead:"/components/BTable",BTfoot:"/components/BTable",BTr:"/components/BTable",BPopoverOrchestrator:"/components/BPopover"},rn=Object.freeze(Object.keys(Ue)),ze={vBColorMode:"/directives/BColorMode",vBModal:"/directives/BModal",vBPopover:"/directives/BPopover",vBScrollspy:"/directives/BScrollspy",vBToggle:"/directives/BToggle",vBTooltip:"/directives/BTooltip"},an=Object.freeze(Object.keys(ze)),sn={useBreadcrumb:"/composables/useBreadcrumb",useColorMode:"/composables/useColorMode",useModal:"/composables/useModal",useModalController:"/composables/useModalController",useScrollspy:"/composables/useScrollspy",useToastController:"/composables/useToastController",usePopoverController:"/composables/usePopoverController"};Object.freeze(Object.keys(sn));const Ie="bootstrap-vue-next",Oe=(n,e)=>{const{all:t,...o}=n,i={};t&&e.forEach(r=>{i[r]=t});const a={...i,...o};return Object.entries(a).filter(([r,d])=>!!d&&e.includes(r)).map(([r])=>r)},de=new Set,Re=new Set;Object.assign(({aliases:n={},directives:e=!0,components:t=!0}={})=>{const i=Oe(typeof t=="boolean"?{all:t}:t,rn).reduce((l,u)=>(l.set(u,`${Ie}${Ue[u]}`),l),new Map),r=Oe(typeof e=="boolean"?{all:e}:e,an).reduce((l,u)=>{const f=u.toLowerCase().startsWith("v")?u:`v${u}`;return l.set(f,`${Ie}${ze[f]}`),l},new Map);return[{type:"component",resolve(l){const u=i.get(l),f=i.get(n[l]);if(f){const m=n[l];return de.add(m),{name:m,from:f}}if(u)return de.add(l),{name:l,from:u}}},{type:"directive",resolve(l){const u=`v${l}`,f=r.get(u);if(f)return Re.add(u),{name:u,from:f}}}]},{__usedComponents:de,__usedDirectives:Re});export{kn as a,An as b,Nn as c,hn as d,bn as e,_ as f,Fn as g,gn as h,dn as i,un as j,Sn as k,Cn as l,mn as m,fn as n,Tn as o,cn as p,wn as q,pn as r,Bn as s,R as t,he as u,yn as v,Ke as w,vn as x};
9
+ //# sourceMappingURL=index-sLCKmIWG-Cb9lQq-c.js.map