bootstrap-vue-next 0.45.9 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.vue.d.mts +2 -1
- package/dist/App.vue.d.ts +2 -1
- package/dist/{BAccordion-D51b9HVD.mjs → BAccordion-FuQ6sMFy.js} +33 -31
- package/dist/BAccordion-FuQ6sMFy.js.map +1 -0
- package/dist/{BAlert-Ce2uxrJi.mjs → BAlert-C9Mi4RDx.js} +20 -13
- package/dist/BAlert-C9Mi4RDx.js.map +1 -0
- package/dist/{BApp-B-fUrnpK.mjs → BApp-GXR1wS6K.js} +53 -51
- package/dist/BApp-GXR1wS6K.js.map +1 -0
- package/dist/{BAspect-wfiXM4KA.mjs → BAspect-BPR6DH5W.js} +2 -2
- package/dist/{BAspect-CUIU48Ck.js.map → BAspect-BPR6DH5W.js.map} +1 -1
- package/dist/{BAutocomplete-CH-bQzME.mjs → BAutocomplete-DGvKY7-D.js} +195 -101
- package/dist/BAutocomplete-DGvKY7-D.js.map +1 -0
- package/dist/{BAvatar-iALHbqVk.mjs → BAvatar-BsStQrBF.js} +13 -13
- package/dist/BAvatar-BsStQrBF.js.map +1 -0
- package/dist/{BBadge-Cx_CdauK.mjs → BBadge-BaZ13wE_.js} +5 -5
- package/dist/{BBadge-Db6SEnzy.js.map → BBadge-BaZ13wE_.js.map} +1 -1
- package/dist/{BBreadcrumb-BxADbg0O.mjs → BBreadcrumb-C-SsS3hM.js} +4 -4
- package/dist/{BBreadcrumb-B9ra7vg2.js.map → BBreadcrumb-C-SsS3hM.js.map} +1 -1
- package/dist/{BButton-BSa7LfL5.mjs → BButton-Cc2gd95Z.js} +5 -7
- package/dist/{BButton-DRRlzkyK.js.map → BButton-Cc2gd95Z.js.map} +1 -1
- package/dist/{BButton-PY7AANXJ.mjs → BButton-KZu5jczf.js} +9 -9
- package/dist/{BButton-aYtMnyHu.js.map → BButton-KZu5jczf.js.map} +1 -1
- package/dist/{BCard-BWoruisp.mjs → BCard-D2GEiXan.js} +2 -3
- package/dist/{BCard-Bh8RLMo_.js.map → BCard-D2GEiXan.js.map} +1 -1
- package/dist/{BCard-CHbKv2OR.mjs → BCard-nRj1JWtQ.js} +9 -9
- package/dist/{BCard-DwNYhVmg.js.map → BCard-nRj1JWtQ.js.map} +1 -1
- package/dist/{BCarousel-B6_bgQpl.mjs → BCarousel-DQgfW4DN.js} +11 -10
- package/dist/{BCarousel-2JB21Pcu.js.map → BCarousel-DQgfW4DN.js.map} +1 -1
- package/dist/{BCloseButton-CKTKr4PS.mjs → BCloseButton-B3-IdpNp.js} +2 -2
- package/dist/{BCloseButton-D42zHRLP.js.map → BCloseButton-B3-IdpNp.js.map} +1 -1
- package/dist/{BCol-B3VeEk9z.mjs → BCol-DiZFbqU5.js} +3 -3
- package/dist/{BCol-Ck9VydHj.js.map → BCol-DiZFbqU5.js.map} +1 -1
- package/dist/{BCollapse-kqhe4AmL.mjs → BCollapse-B9fnWSzA.js} +15 -9
- package/dist/BCollapse-B9fnWSzA.js.map +1 -0
- package/dist/{BContainer-ATfhaxTc.mjs → BContainer-D-bZVPwa.js} +2 -4
- package/dist/{BContainer-CcF6dgtI.js.map → BContainer-D-bZVPwa.js.map} +1 -1
- package/dist/{BDateField-CccP3H1R.mjs → BDateField-Bj-Jz7u4.js} +27 -22
- package/dist/BDateField-Bj-Jz7u4.js.map +1 -0
- package/dist/{BDatePicker-BnwnSkBg.mjs → BDatePicker-AVTYcVLy.js} +232 -148
- package/dist/BDatePicker-AVTYcVLy.js.map +1 -0
- package/dist/{BDropdown-B1DbvVzm.mjs → BDropdown-CnxUzs42.js} +55 -46
- package/dist/BDropdown-CnxUzs42.js.map +1 -0
- package/dist/{BDropdown-0E8x5kk6.mjs → BDropdown-D4VSJJxu.js} +5 -6
- package/dist/{BDropdown-DKCgBzYS.js.map → BDropdown-D4VSJJxu.js.map} +1 -1
- package/dist/{BForm-BVfW08s5.mjs → BForm-BOoX6AAr.js} +2 -2
- package/dist/{BForm-cnRpggt9.js.map → BForm-BOoX6AAr.js.map} +1 -1
- package/dist/{BForm-DJu2hDV_.mjs → BForm-C5PR2ust.js} +7 -8
- package/dist/{BForm-6JlWdQMO.js.map → BForm-C5PR2ust.js.map} +1 -1
- package/dist/{BFormCheckbox-Baf_9BSc.mjs → BFormCheckbox-BMhyR-J5.js} +12 -13
- package/dist/BFormCheckbox-BMhyR-J5.js.map +1 -0
- package/dist/{BFormFile-CZebm0Cp.mjs → BFormFile-BVrDprWL.js} +8 -8
- package/dist/{BFormFile-MISLntyJ.js.map → BFormFile-BVrDprWL.js.map} +1 -1
- package/dist/{BFormGroup-vysRPb99.mjs → BFormGroup-BE5tGz_g.js} +40 -24
- package/dist/BFormGroup-BE5tGz_g.js.map +1 -0
- package/dist/{BFormInput-sEfU3CuN.mjs → BFormInput-BwvdFGDu.js} +5 -5
- package/dist/{BFormInput-CBwwDjfC.js.map → BFormInput-BwvdFGDu.js.map} +1 -1
- package/dist/{BFormOtp-C8X3u1od.mjs → BFormOtp-I1t8dqPS.js} +63 -22
- package/dist/BFormOtp-I1t8dqPS.js.map +1 -0
- package/dist/{BFormRadio-COc_IbxC.mjs → BFormRadio-DRViMh6V.js} +24 -13
- package/dist/BFormRadio-DRViMh6V.js.map +1 -0
- package/dist/{BFormRating-CIgPVsH_.mjs → BFormRating-AEiF8K8T.js} +23 -17
- package/dist/BFormRating-AEiF8K8T.js.map +1 -0
- package/dist/{BFormSelect-P-InkOm-.mjs → BFormSelect-DdjH8482.js} +23 -12
- package/dist/BFormSelect-DdjH8482.js.map +1 -0
- package/dist/{BFormSelectOption-DFN4lPRh.mjs → BFormSelectOption-C8orMj24.js} +3 -3
- package/dist/{BFormSelectOption-DrwJucNf.js.map → BFormSelectOption-C8orMj24.js.map} +1 -1
- package/dist/{BFormSpinbutton-6qkTBF_4.mjs → BFormSpinbutton-Bt590uT6.js} +10 -9
- package/dist/{BFormSpinbutton-1gTz4nTo.js.map → BFormSpinbutton-Bt590uT6.js.map} +1 -1
- package/dist/{BFormTag-CnzI39y9.mjs → BFormTag-DGSUfz7A.js} +5 -5
- package/dist/{BFormTag-CeV0MSRC.js.map → BFormTag-DGSUfz7A.js.map} +1 -1
- package/dist/{BFormTags-BMltSaKL.mjs → BFormTags-CUcyRTCK.js} +23 -27
- package/dist/BFormTags-CUcyRTCK.js.map +1 -0
- package/dist/{BFormTextarea-DN1gAfSo.mjs → BFormTextarea-DlDe26DL.js} +6 -6
- package/dist/{BFormTextarea-C3Cj0DWj.js.map → BFormTextarea-DlDe26DL.js.map} +1 -1
- package/dist/{BFormValidFeedback-CBYxQLDz.mjs → BFormValidFeedback-ClqLRxtH.js} +4 -4
- package/dist/{BFormValidFeedback-Kwxh798d.js.map → BFormValidFeedback-ClqLRxtH.js.map} +1 -1
- package/dist/{BImg-QBS2ECBc.mjs → BImg-knz2UZQE.js} +5 -5
- package/dist/{BImg-JKJLgYYT.js.map → BImg-knz2UZQE.js.map} +1 -1
- package/dist/{BInputGroup-DiTSexkT.mjs → BInputGroup-Bjh7zXyI.js} +2 -3
- package/dist/{BInputGroup-D4fW324B.js.map → BInputGroup-Bjh7zXyI.js.map} +1 -1
- package/dist/{BInputGroup-X2Z53RJx.mjs → BInputGroup-DdoeSICR.js} +3 -3
- package/dist/{BInputGroup-Bvlfv6VD.js.map → BInputGroup-DdoeSICR.js.map} +1 -1
- package/dist/{BLink-Dfgte6dQ.mjs → BLink-mdwZsC7b.js} +5 -5
- package/dist/{BLink-kLEjleB1.js.map → BLink-mdwZsC7b.js.map} +1 -1
- package/dist/{BListGroup-DwTLpNiD.mjs → BListGroup-CQedMbI8.js} +4 -4
- package/dist/{BListGroup-C8JOzHTz.js.map → BListGroup-CQedMbI8.js.map} +1 -1
- package/dist/{BModal-C-ZCau2E.mjs → BModal-NPsCBNo7.js} +25 -18
- package/dist/BModal-NPsCBNo7.js.map +1 -0
- package/dist/{BNav-DfYvjfRK.mjs → BNav-CjXS9tQ5.js} +9 -9
- package/dist/{BNav-DCLambmM.js.map → BNav-CjXS9tQ5.js.map} +1 -1
- package/dist/{BNavbar-xYaikQVY.mjs → BNavbar-DRqkdxTk.js} +12 -9
- package/dist/{BNavbar-BLWaZJRP.js.map → BNavbar-DRqkdxTk.js.map} +1 -1
- package/dist/{BOffcanvas-CF-dWeez.mjs → BOffcanvas-BndaBJoP.js} +22 -16
- package/dist/BOffcanvas-BndaBJoP.js.map +1 -0
- package/dist/{BOverlay-Bh2PIN_q.mjs → BOverlay-CJfy_f6O.js} +6 -6
- package/dist/{BOverlay-Bh4ldxgt.js.map → BOverlay-CJfy_f6O.js.map} +1 -1
- package/dist/{BPagination-D75q-ZNg.mjs → BPagination-D_Hfk6OF.js} +29 -27
- package/dist/{BPagination-fbjFAtxu.js.map → BPagination-D_Hfk6OF.js.map} +1 -1
- package/dist/{BPlaceholder-DPQ6mCLN.mjs → BPlaceholder-DvOCnqDh.js} +11 -11
- package/dist/{BPlaceholder-B3rs_39w.js.map → BPlaceholder-DvOCnqDh.js.map} +1 -1
- package/dist/{BProgress-BZlrPYhA.mjs → BProgress-BNxYppi-.js} +5 -5
- package/dist/{BProgress-th0-eZWo.js.map → BProgress-BNxYppi-.js.map} +1 -1
- package/dist/{BRow-eGSUYGCW.mjs → BRow-CoBI89xF.js} +4 -4
- package/dist/{BRow-7AOuFiSy.js.map → BRow-CoBI89xF.js.map} +1 -1
- package/dist/{BSpinner-CUfGqviV.mjs → BSpinner-H1DZOmiM.js} +4 -4
- package/dist/{BSpinner-DbYIp-C7.js.map → BSpinner-H1DZOmiM.js.map} +1 -1
- package/dist/{BTable-DUHxxWv5.mjs → BTable-BZxX17YU.js} +40 -33
- package/dist/BTable-BZxX17YU.js.map +1 -0
- package/dist/{BTableSimple-C-jn9Nwh.mjs → BTableSimple-2Z7ssnuG.js} +5 -5
- package/dist/{BTableSimple-BkdGAAKb.js.map → BTableSimple-2Z7ssnuG.js.map} +1 -1
- package/dist/{BTabs-D_vWlBjT.mjs → BTabs-BVcu9DPg.js} +19 -17
- package/dist/{BTabs-CvecFg5N.js.map → BTabs-BVcu9DPg.js.map} +1 -1
- package/dist/{BTimeField-BSDaZogC.mjs → BTimeField-CbRGjaI6.js} +24 -19
- package/dist/BTimeField-CbRGjaI6.js.map +1 -0
- package/dist/{BToast-Y8BayxES.mjs → BToast-Di9HwBOV.js} +21 -14
- package/dist/BToast-Di9HwBOV.js.map +1 -0
- package/dist/{BTooltip-CVP8HdkU.mjs → BTooltip-BxaUtV4m.js} +5 -5
- package/dist/{BTooltip-DPLYtaL1.js.map → BTooltip-BxaUtV4m.js.map} +1 -1
- package/dist/{BootstrapVueOptions-Dt1TQdih.mjs → BootstrapVueOptions-DH79gHKG.js} +1 -4
- package/dist/BootstrapVueOptions-DH79gHKG.js.map +1 -0
- package/dist/{ConditionalTeleport-B4KYZIM6.mjs → ConditionalTeleport-BCKPLEun.js} +1 -1
- package/dist/{ConditionalTeleport-BDWcebyD.js.map → ConditionalTeleport-BCKPLEun.js.map} +1 -1
- package/dist/{ConditionalWrapper-Dbc_O6qe.mjs → ConditionalWrapper-CCIk52zt.js} +1 -1
- package/dist/{ConditionalWrapper-DZH_VSwb.js.map → ConditionalWrapper-CCIk52zt.js.map} +1 -1
- package/dist/{DateRangeFieldInput-B86VEz0H.mjs → DateRangeFieldInput-Cbzjg8iF.js} +45 -22
- package/dist/DateRangeFieldInput-Cbzjg8iF.js.map +1 -0
- package/dist/{PopperContent-DmSgsjSC.mjs → PopperContent-C9eeL6LH.js} +395 -100
- package/dist/PopperContent-C9eeL6LH.js.map +1 -0
- package/dist/{VisuallyHidden-C4sXnc-k.mjs → VisuallyHidden-BYzyjJiY.js} +23 -15
- package/dist/VisuallyHidden-BYzyjJiY.js.map +1 -0
- package/dist/{VisuallyHiddenInput-DKIzxsQR.mjs → VisuallyHiddenInput-CUrc8XXa.js} +46 -7
- package/dist/VisuallyHiddenInput-CUrc8XXa.js.map +1 -0
- package/dist/bootstrap-vue-next.mjs +65 -65
- package/dist/{classes-B0E5Y78Y.mjs → classes-BEWWGbj5.js} +1 -1
- package/dist/{classes-D5wrmmVs.js.map → classes-BEWWGbj5.js.map} +1 -1
- package/dist/components/BAccordion/BAccordion.vue.d.mts +9 -13
- package/dist/components/BAccordion/BAccordion.vue.d.ts +9 -13
- package/dist/components/BAccordion/BAccordionItem.vue.d.mts +16 -24
- package/dist/components/BAccordion/BAccordionItem.vue.d.ts +16 -24
- package/dist/components/BAlert/BAlert.vue.d.mts +26 -34
- package/dist/components/BAlert/BAlert.vue.d.ts +26 -34
- package/dist/components/BApp/BApp.vue.d.mts +8 -12
- package/dist/components/BApp/BApp.vue.d.ts +8 -12
- package/dist/components/BApp/BOrchestrator.vue.d.mts +2 -1
- package/dist/components/BApp/BOrchestrator.vue.d.ts +2 -1
- package/dist/components/BAspect/BAspect.vue.d.mts +5 -10
- package/dist/components/BAspect/BAspect.vue.d.ts +5 -10
- package/dist/components/BAutocomplete/BAutocomplete.vue.d.mts +12 -270
- package/dist/components/BAutocomplete/BAutocomplete.vue.d.ts +12 -270
- package/dist/components/BAvatar/BAvatar.vue.d.mts +20 -25
- package/dist/components/BAvatar/BAvatar.vue.d.ts +20 -25
- package/dist/components/BAvatar/BAvatarGroup.vue.d.mts +8 -13
- package/dist/components/BAvatar/BAvatarGroup.vue.d.ts +8 -13
- package/dist/components/BBadge/BBadge.vue.d.mts +13 -18
- package/dist/components/BBadge/BBadge.vue.d.ts +13 -18
- package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.mts +6 -11
- package/dist/components/BBreadcrumb/BBreadcrumb.vue.d.ts +6 -11
- package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.mts +13 -18
- package/dist/components/BBreadcrumb/BBreadcrumbItem.vue.d.ts +13 -18
- package/dist/components/BButton/BButton.vue.d.mts +17 -25
- package/dist/components/BButton/BButton.vue.d.ts +17 -25
- package/dist/components/BButton/BButtonGroup.vue.d.mts +5 -10
- package/dist/components/BButton/BButtonGroup.vue.d.ts +5 -10
- package/dist/components/BButton/BButtonToolbar.vue.d.mts +7 -16
- package/dist/components/BButton/BButtonToolbar.vue.d.ts +7 -16
- package/dist/components/BButton/BCloseButton.vue.d.mts +4 -3
- package/dist/components/BButton/BCloseButton.vue.d.ts +4 -3
- package/dist/components/BCard/BCard.vue.d.mts +21 -26
- package/dist/components/BCard/BCard.vue.d.ts +21 -26
- package/dist/components/BCard/BCardBody.vue.d.mts +9 -14
- package/dist/components/BCard/BCardBody.vue.d.ts +9 -14
- package/dist/components/BCard/BCardFooter.vue.d.mts +7 -11
- package/dist/components/BCard/BCardFooter.vue.d.ts +7 -11
- package/dist/components/BCard/BCardGroup.vue.d.mts +5 -10
- package/dist/components/BCard/BCardGroup.vue.d.ts +5 -10
- package/dist/components/BCard/BCardHeader.vue.d.mts +7 -12
- package/dist/components/BCard/BCardHeader.vue.d.ts +7 -12
- package/dist/components/BCard/BCardImg.vue.d.mts +7 -6
- package/dist/components/BCard/BCardImg.vue.d.ts +7 -6
- package/dist/components/BCard/BCardSubtitle.vue.d.mts +6 -11
- package/dist/components/BCard/BCardSubtitle.vue.d.ts +6 -11
- package/dist/components/BCard/BCardText.vue.d.mts +5 -10
- package/dist/components/BCard/BCardText.vue.d.ts +5 -10
- package/dist/components/BCard/BCardTitle.vue.d.mts +5 -10
- package/dist/components/BCard/BCardTitle.vue.d.ts +5 -10
- package/dist/components/BCardHeadFoot.vue.d.mts +6 -11
- package/dist/components/BCardHeadFoot.vue.d.ts +6 -11
- package/dist/components/BCarousel/BCarousel.vue.d.mts +12 -24
- package/dist/components/BCarousel/BCarousel.vue.d.ts +12 -24
- package/dist/components/BCarousel/BCarouselSlide.vue.d.mts +7 -12
- package/dist/components/BCarousel/BCarouselSlide.vue.d.ts +7 -12
- package/dist/components/BCollapse/BCollapse.vue.d.mts +13 -21
- package/dist/components/BCollapse/BCollapse.vue.d.ts +13 -21
- package/dist/components/BContainer/BCol.vue.d.mts +8 -13
- package/dist/components/BContainer/BCol.vue.d.ts +8 -13
- package/dist/components/BContainer/BContainer.vue.d.mts +5 -10
- package/dist/components/BContainer/BContainer.vue.d.ts +5 -10
- package/dist/components/BContainer/BRow.vue.d.mts +6 -11
- package/dist/components/BContainer/BRow.vue.d.ts +6 -11
- package/dist/components/BDateField/BDateField.vue.d.mts +8 -12
- package/dist/components/BDateField/BDateField.vue.d.ts +8 -12
- package/dist/components/BDateField/BDateRangeField.vue.d.mts +8 -12
- package/dist/components/BDateField/BDateRangeField.vue.d.ts +8 -12
- package/dist/components/BDateField/BTimeRangeField.vue.d.mts +9 -13
- package/dist/components/BDateField/BTimeRangeField.vue.d.ts +9 -13
- package/dist/components/BDatePicker/BDatePicker.vue.d.mts +9 -13
- package/dist/components/BDatePicker/BDatePicker.vue.d.ts +9 -13
- package/dist/components/BDatePicker/BDateRangePicker.vue.d.mts +9 -13
- package/dist/components/BDatePicker/BDateRangePicker.vue.d.ts +9 -13
- package/dist/components/BDropdown/BDropdown.vue.d.mts +24 -957
- package/dist/components/BDropdown/BDropdown.vue.d.ts +24 -957
- package/dist/components/BDropdown/BDropdownDivider.vue.d.mts +3 -2
- package/dist/components/BDropdown/BDropdownDivider.vue.d.ts +3 -2
- package/dist/components/BDropdown/BDropdownForm.vue.d.mts +6 -11
- package/dist/components/BDropdown/BDropdownForm.vue.d.ts +6 -11
- package/dist/components/BDropdown/BDropdownGroup.vue.d.mts +5 -10
- package/dist/components/BDropdown/BDropdownGroup.vue.d.ts +5 -10
- package/dist/components/BDropdown/BDropdownHeader.vue.d.mts +7 -12
- package/dist/components/BDropdown/BDropdownHeader.vue.d.ts +7 -12
- package/dist/components/BDropdown/BDropdownItem.vue.d.mts +12 -17
- package/dist/components/BDropdown/BDropdownItem.vue.d.ts +12 -17
- package/dist/components/BDropdown/BDropdownItemButton.vue.d.mts +6 -11
- package/dist/components/BDropdown/BDropdownItemButton.vue.d.ts +6 -11
- package/dist/components/BDropdown/BDropdownText.vue.d.mts +6 -11
- package/dist/components/BDropdown/BDropdownText.vue.d.ts +6 -11
- package/dist/components/BForm/BForm.vue.d.mts +8 -17
- package/dist/components/BForm/BForm.vue.d.ts +8 -17
- package/dist/components/BForm/BFormDatalist.vue.d.mts +12 -7
- package/dist/components/BForm/BFormDatalist.vue.d.ts +12 -7
- package/dist/components/BForm/BFormDatalistBase.vue.d.mts +20 -22
- package/dist/components/BForm/BFormDatalistBase.vue.d.ts +20 -22
- package/dist/components/BForm/BFormFloatingLabel.vue.d.mts +6 -11
- package/dist/components/BForm/BFormFloatingLabel.vue.d.ts +6 -11
- package/dist/components/BForm/BFormInvalidFeedback.vue.d.mts +6 -11
- package/dist/components/BForm/BFormInvalidFeedback.vue.d.ts +6 -11
- package/dist/components/BForm/BFormRow.vue.d.mts +5 -10
- package/dist/components/BForm/BFormRow.vue.d.ts +5 -10
- package/dist/components/BForm/BFormText.vue.d.mts +6 -11
- package/dist/components/BForm/BFormText.vue.d.ts +6 -11
- package/dist/components/BForm/BFormValidFeedback.vue.d.mts +6 -11
- package/dist/components/BForm/BFormValidFeedback.vue.d.ts +6 -11
- package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.mts +14 -22
- package/dist/components/BFormCheckbox/BFormCheckbox.vue.d.ts +14 -22
- package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.mts +16 -11
- package/dist/components/BFormCheckbox/BFormCheckboxGroup.vue.d.ts +16 -11
- package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.mts +22 -27
- package/dist/components/BFormCheckbox/BFormCheckboxGroupBase.vue.d.ts +22 -27
- package/dist/components/BFormFile/BFormFile.vue.d.mts +9 -25
- package/dist/components/BFormFile/BFormFile.vue.d.ts +9 -25
- package/dist/components/BFormGroup/BFormGroup.vue.d.mts +14 -23
- package/dist/components/BFormGroup/BFormGroup.vue.d.ts +14 -23
- package/dist/components/BFormGroupContent.vue.d.mts +8 -17
- package/dist/components/BFormGroupContent.vue.d.ts +8 -17
- package/dist/components/BFormGroupLabel.vue.d.mts +6 -13
- package/dist/components/BFormGroupLabel.vue.d.ts +6 -13
- package/dist/components/BFormInput/BFormInput.vue.d.mts +10 -10
- package/dist/components/BFormInput/BFormInput.vue.d.ts +10 -10
- package/dist/components/BFormOtp/BFormOtp.vue.d.mts +7 -5
- package/dist/components/BFormOtp/BFormOtp.vue.d.ts +7 -5
- package/dist/components/BFormRadio/BFormRadio.vue.d.mts +13 -21
- package/dist/components/BFormRadio/BFormRadio.vue.d.ts +13 -21
- package/dist/components/BFormRadio/BFormRadioGroup.vue.d.mts +21 -14
- package/dist/components/BFormRadio/BFormRadioGroup.vue.d.ts +21 -14
- package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.mts +14 -22
- package/dist/components/BFormRadio/BFormRadioGroupBase.vue.d.ts +14 -22
- package/dist/components/BFormRating/BFormRating.vue.d.mts +10 -12
- package/dist/components/BFormRating/BFormRating.vue.d.ts +10 -12
- package/dist/components/BFormSelect/BFormSelect.vue.d.mts +16 -11
- package/dist/components/BFormSelect/BFormSelect.vue.d.ts +16 -11
- package/dist/components/BFormSelect/BFormSelectBase.vue.d.mts +24 -29
- package/dist/components/BFormSelect/BFormSelectBase.vue.d.ts +24 -29
- package/dist/components/BFormSelect/BFormSelectOption.vue.d.mts +12 -7
- package/dist/components/BFormSelect/BFormSelectOption.vue.d.ts +12 -7
- package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.mts +12 -7
- package/dist/components/BFormSelect/BFormSelectOptionGroup.vue.d.ts +12 -7
- package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.mts +11 -12
- package/dist/components/BFormSpinbutton/BFormSpinbutton.vue.d.ts +11 -12
- package/dist/components/BFormTags/BFormTag.vue.d.mts +7 -12
- package/dist/components/BFormTags/BFormTag.vue.d.ts +7 -12
- package/dist/components/BFormTags/BFormTags.vue.d.mts +12 -20
- package/dist/components/BFormTags/BFormTags.vue.d.ts +12 -20
- package/dist/components/BFormTextarea/BFormTextarea.vue.d.mts +12 -12
- package/dist/components/BFormTextarea/BFormTextarea.vue.d.ts +12 -12
- package/dist/components/BImg/BImg.vue.d.mts +7 -6
- package/dist/components/BImg/BImg.vue.d.ts +7 -6
- package/dist/components/BInputGroup/BInputGroup.vue.d.mts +5 -10
- package/dist/components/BInputGroup/BInputGroup.vue.d.ts +5 -10
- package/dist/components/BInputGroup/BInputGroupText.vue.d.mts +5 -10
- package/dist/components/BInputGroup/BInputGroupText.vue.d.ts +5 -10
- package/dist/components/BLink/BLink.vue.d.mts +12 -17
- package/dist/components/BLink/BLink.vue.d.ts +12 -17
- package/dist/components/BListGroup/BListGroup.vue.d.mts +5 -10
- package/dist/components/BListGroup/BListGroup.vue.d.ts +5 -10
- package/dist/components/BListGroup/BListGroupItem.vue.d.mts +13 -18
- package/dist/components/BListGroup/BListGroupItem.vue.d.ts +13 -18
- package/dist/components/BModal/BModal.vue.d.mts +47 -1026
- package/dist/components/BModal/BModal.vue.d.ts +47 -1026
- package/dist/components/BNav/BNav.vue.d.mts +7 -12
- package/dist/components/BNav/BNav.vue.d.ts +7 -12
- package/dist/components/BNav/BNavForm.vue.d.mts +8 -13
- package/dist/components/BNav/BNavForm.vue.d.ts +8 -13
- package/dist/components/BNav/BNavItem.vue.d.mts +12 -17
- package/dist/components/BNav/BNavItem.vue.d.ts +12 -17
- package/dist/components/BNav/BNavItemDropdown.vue.d.mts +20 -1660
- package/dist/components/BNav/BNavItemDropdown.vue.d.ts +20 -1660
- package/dist/components/BNav/BNavText.vue.d.mts +6 -11
- package/dist/components/BNav/BNavText.vue.d.ts +6 -11
- package/dist/components/BNavbar/BNavbar.vue.d.mts +6 -11
- package/dist/components/BNavbar/BNavbar.vue.d.ts +6 -11
- package/dist/components/BNavbar/BNavbarBrand.vue.d.mts +11 -16
- package/dist/components/BNavbar/BNavbarBrand.vue.d.ts +11 -16
- package/dist/components/BNavbar/BNavbarNav.vue.d.mts +7 -12
- package/dist/components/BNavbar/BNavbarNav.vue.d.ts +7 -12
- package/dist/components/BNavbar/BNavbarToggle.vue.d.mts +7 -12
- package/dist/components/BNavbar/BNavbarToggle.vue.d.ts +7 -12
- package/dist/components/BOffcanvas/BOffcanvas.vue.d.mts +28 -82
- package/dist/components/BOffcanvas/BOffcanvas.vue.d.ts +28 -82
- package/dist/components/BOverlay/BOverlay.vue.d.mts +17 -22
- package/dist/components/BOverlay/BOverlay.vue.d.ts +17 -22
- package/dist/components/BPagination/BPagination.vue.d.mts +9 -10
- package/dist/components/BPagination/BPagination.vue.d.ts +9 -10
- package/dist/components/BPlaceholder/BPlaceholder.vue.d.mts +3 -2
- package/dist/components/BPlaceholder/BPlaceholder.vue.d.ts +3 -2
- package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.mts +3 -2
- package/dist/components/BPlaceholder/BPlaceholderButton.vue.d.ts +3 -2
- package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.mts +8 -13
- package/dist/components/BPlaceholder/BPlaceholderCard.vue.d.ts +8 -13
- package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.mts +8 -13
- package/dist/components/BPlaceholder/BPlaceholderTable.vue.d.ts +8 -13
- package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.mts +5 -10
- package/dist/components/BPlaceholder/BPlaceholderWrapper.vue.d.ts +5 -10
- package/dist/components/BPopover/BPopover.vue.d.mts +35 -49
- package/dist/components/BPopover/BPopover.vue.d.ts +35 -49
- package/dist/components/BProgress/BProgress.vue.d.mts +10 -15
- package/dist/components/BProgress/BProgress.vue.d.ts +10 -15
- package/dist/components/BProgress/BProgressBar.vue.d.mts +9 -14
- package/dist/components/BProgress/BProgressBar.vue.d.ts +9 -14
- package/dist/components/BSpinner/BSpinner.vue.d.mts +7 -12
- package/dist/components/BSpinner/BSpinner.vue.d.ts +7 -12
- package/dist/components/BTable/BTable.vue.d.mts +35 -30
- package/dist/components/BTable/BTable.vue.d.ts +35 -30
- package/dist/components/BTable/BTableLite.vue.d.mts +24 -19
- package/dist/components/BTable/BTableLite.vue.d.ts +24 -19
- package/dist/components/BTable/BTableSimple.vue.d.mts +9 -14
- package/dist/components/BTable/BTableSimple.vue.d.ts +9 -14
- package/dist/components/BTable/BTbody.vue.d.mts +6 -11
- package/dist/components/BTable/BTbody.vue.d.ts +6 -11
- package/dist/components/BTable/BTd.vue.d.mts +6 -11
- package/dist/components/BTable/BTd.vue.d.ts +6 -11
- package/dist/components/BTable/BTfoot.vue.d.mts +6 -11
- package/dist/components/BTable/BTfoot.vue.d.ts +6 -11
- package/dist/components/BTable/BTh.vue.d.mts +6 -11
- package/dist/components/BTable/BTh.vue.d.ts +6 -11
- package/dist/components/BTable/BThead.vue.d.mts +6 -11
- package/dist/components/BTable/BThead.vue.d.ts +6 -11
- package/dist/components/BTable/BTr.vue.d.mts +6 -11
- package/dist/components/BTable/BTr.vue.d.ts +6 -11
- package/dist/components/BTabs/BTab.vue.d.mts +10 -18
- package/dist/components/BTabs/BTab.vue.d.ts +10 -18
- package/dist/components/BTabs/BTabs.vue.d.mts +10 -14
- package/dist/components/BTabs/BTabs.vue.d.ts +10 -14
- package/dist/components/BTabsTabContent.vue.d.mts +7 -15
- package/dist/components/BTabsTabContent.vue.d.ts +7 -15
- package/dist/components/BTimeField/BTimeField.vue.d.mts +8 -12
- package/dist/components/BTimeField/BTimeField.vue.d.ts +8 -12
- package/dist/components/BToast/BToast.vue.d.mts +25 -33
- package/dist/components/BToast/BToast.vue.d.ts +25 -33
- package/dist/components/BTooltip/BTooltip.vue.d.mts +32 -732
- package/dist/components/BTooltip/BTooltip.vue.d.ts +32 -732
- package/dist/components/ConditionalTeleport.vue.d.mts +3 -2
- package/dist/components/ConditionalTeleport.vue.d.ts +3 -2
- package/dist/components/ConditionalWrapper.vue.d.mts +3 -2
- package/dist/components/ConditionalWrapper.vue.d.ts +3 -2
- package/dist/composables/index.d.mts +3 -3
- package/dist/composables/index.d.ts +3 -3
- package/dist/composables/orchestratorShared/index.d.mts +25 -14
- package/dist/composables/orchestratorShared/index.d.ts +25 -14
- package/dist/composables/useBLinkHelper.d.mts +1 -1
- package/dist/composables/useBLinkHelper.d.ts +1 -1
- package/dist/composables/useModal/index.d.mts +8 -33
- package/dist/composables/useModal/index.d.ts +8 -33
- package/dist/composables/usePopover/index.d.mts +332 -4532
- package/dist/composables/usePopover/index.d.ts +332 -4532
- package/dist/composables/useShowHide.d.mts +21 -15
- package/dist/composables/useShowHide.d.ts +21 -15
- package/dist/composables/useToast/index.d.mts +7 -18
- package/dist/composables/useToast/index.d.ts +7 -18
- package/dist/console-DaUCJgpk.js +15 -0
- package/dist/console-DaUCJgpk.js.map +1 -0
- package/dist/{constants-Ba9iJn2H.mjs → constants-Cap5sNf8.js} +1 -1
- package/dist/{constants-BLIvvaat.js.map → constants-Cap5sNf8.js.map} +1 -1
- package/dist/{debounce-DHxNfjan.mjs → debounce-Xj7wsAmR.js} +2 -2
- package/dist/{debounce-D6kifS6w.js.map → debounce-Xj7wsAmR.js.map} +1 -1
- package/dist/{dist-Dk9C_HFS.mjs → dist-9-XTMhb-.js} +5 -539
- package/dist/dist-9-XTMhb-.js.map +1 -0
- package/dist/dist-B-regXAP.js +123 -0
- package/dist/dist-B-regXAP.js.map +1 -0
- package/dist/dist-DKc2ivHS.js +411 -0
- package/dist/dist-DKc2ivHS.js.map +1 -0
- package/dist/{dom-AhkaSoh8.mjs → dom-BdUQrX99.js} +3 -2
- package/dist/dom-BdUQrX99.js.map +1 -0
- package/dist/{flattenFragments-ClbLQGqR.mjs → flattenFragments-B15oMVs-.js} +1 -1
- package/dist/{flattenFragments-C1WWqm25.js.map → flattenFragments-B15oMVs-.js.map} +1 -1
- package/dist/{floating-ui.vue-CH2o_mZU.mjs → floating-ui.dom-C7UZexJK.js} +114 -338
- package/dist/floating-ui.dom-C7UZexJK.js.map +1 -0
- package/dist/{floatingUi-62aeQtAb.mjs → floatingUi-BlKoACvc.js} +194 -27
- package/dist/floatingUi-BlKoACvc.js.map +1 -0
- package/dist/{functions-BcMenQqL.mjs → functions-BUZ1y9RA.js} +1 -1
- package/dist/functions-BUZ1y9RA.js.map +1 -0
- package/dist/{getClasses-COokMI60.mjs → getClasses-BlbbSJNl.js} +1 -1
- package/dist/{getClasses-8P0iBind.js.map → getClasses-BlbbSJNl.js.map} +1 -1
- package/dist/{getElement-D2Jr1cbp.mjs → getElement-uvhh1lgL.js} +2 -2
- package/dist/{getElement-DWGFJn0w.js.map → getElement-uvhh1lgL.js.map} +1 -1
- package/dist/{keys-DU7sQgl3.mjs → keys-BgLwJbLV.js} +1 -1
- package/dist/keys-BgLwJbLV.js.map +1 -0
- package/dist/{object-CHQkkner.mjs → object-C7YmCGEm.js} +10 -6
- package/dist/object-C7YmCGEm.js.map +1 -0
- package/dist/{registryAccess-BkJDdh-3.mjs → registryAccess-YFj5ZD5T.js} +1 -1
- package/dist/{registryAccess-B9QDQwV8.js.map → registryAccess-YFj5ZD5T.js.map} +1 -1
- package/dist/src/components/BAccordion/index.mjs +1 -1
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BApp/index.mjs +1 -1
- package/dist/src/components/BAspect/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBreadcrumb/index.mjs +1 -1
- package/dist/src/components/BButton/index.mjs +3 -3
- package/dist/src/components/BCard/index.mjs +2 -2
- package/dist/src/components/BCarousel/index.mjs +1 -1
- package/dist/src/components/BCol/index.mjs +1 -1
- package/dist/src/components/BCollapse/index.mjs +1 -1
- package/dist/src/components/BContainer/index.mjs +3 -3
- package/dist/src/components/BDateField/index.mjs +1 -1
- package/dist/src/components/BDatePicker/index.mjs +1 -1
- package/dist/src/components/BDropdown/index.mjs +2 -2
- package/dist/src/components/BForm/index.mjs +3 -3
- package/dist/src/components/BFormCheckbox/index.mjs +1 -1
- package/dist/src/components/BFormFile/index.mjs +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormInput/index.mjs +1 -1
- package/dist/src/components/BFormOtp/index.mjs +1 -1
- package/dist/src/components/BFormRadio/index.mjs +1 -1
- package/dist/src/components/BFormRating/index.mjs +1 -1
- package/dist/src/components/BFormSelect/index.mjs +2 -2
- package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
- package/dist/src/components/BFormTags/index.mjs +2 -2
- package/dist/src/components/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BImg/index.mjs +1 -1
- package/dist/src/components/BInputGroup/index.mjs +2 -2
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOverlay/index.mjs +1 -1
- package/dist/src/components/BPagination/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPopover/index.mjs +1 -1
- package/dist/src/components/BProgress/index.mjs +1 -1
- package/dist/src/components/BRow/index.mjs +1 -1
- package/dist/src/components/BSpinner/index.mjs +1 -1
- package/dist/src/components/BTable/index.mjs +2 -2
- package/dist/src/components/BTabs/index.mjs +1 -1
- package/dist/src/components/BTimeField/index.mjs +1 -1
- package/dist/src/components/BToast/index.mjs +1 -1
- package/dist/src/components/BTooltip/index.mjs +1 -1
- package/dist/src/components/index.mjs +60 -68
- package/dist/src/composables/index.mjs +5 -8
- package/dist/src/composables/index.mjs.map +1 -1
- package/dist/src/composables/orchestratorShared/index.mjs +79 -82
- package/dist/src/composables/orchestratorShared/index.mjs.map +1 -1
- package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
- package/dist/src/composables/useBreadcrumb/index.mjs.map +1 -1
- package/dist/src/composables/useColorMode/index.mjs +2 -2
- package/dist/src/composables/useColorMode/index.mjs.map +1 -1
- package/dist/src/composables/useModal/index.mjs +65 -64
- package/dist/src/composables/useModal/index.mjs.map +1 -1
- package/dist/src/composables/usePopover/index.mjs +51 -68
- package/dist/src/composables/usePopover/index.mjs.map +1 -1
- package/dist/src/composables/useProvideDefaults/index.mjs +4 -3
- package/dist/src/composables/useProvideDefaults/index.mjs.map +1 -1
- package/dist/src/composables/useRegistry/index.mjs +5 -3
- package/dist/src/composables/useRegistry/index.mjs.map +1 -1
- package/dist/src/composables/useScrollLock/index.mjs +2 -1
- package/dist/src/composables/useScrollLock/index.mjs.map +1 -1
- package/dist/src/composables/useScrollspy/index.mjs +16 -13
- package/dist/src/composables/useScrollspy/index.mjs.map +1 -1
- package/dist/src/composables/useToast/index.mjs +45 -66
- package/dist/src/composables/useToast/index.mjs.map +1 -1
- package/dist/src/composables/useToggle/index.mjs +5 -3
- package/dist/src/composables/useToggle/index.mjs.map +1 -1
- package/dist/src/directives/BColorMode/index.mjs.map +1 -1
- package/dist/src/directives/BPopover/index.mjs +2 -2
- package/dist/src/directives/BPopover/index.mjs.map +1 -1
- package/dist/src/directives/BScrollspy/index.mjs +3 -3
- package/dist/src/directives/BScrollspy/index.mjs.map +1 -1
- package/dist/src/directives/BToggle/index.mjs +8 -6
- package/dist/src/directives/BToggle/index.mjs.map +1 -1
- package/dist/src/directives/BTooltip/index.mjs +2 -2
- package/dist/src/directives/BTooltip/index.mjs.map +1 -1
- package/dist/src/directives/index.mjs +1 -2
- package/dist/src/plugins/createBootstrap/index.mjs +1 -1
- package/dist/src/plugins/createBootstrap/index.mjs.map +1 -1
- package/dist/src/plugins/index.mjs +1 -1
- package/dist/src/plugins/orchestrator/index.mjs +1 -1
- package/dist/src/plugins/orchestrator/index.mjs.map +1 -1
- package/dist/src/plugins/registry/index.mjs +1 -1
- package/dist/src/plugins/registry/index.mjs.map +1 -1
- package/dist/src/plugins/rtl/index.mjs +1 -1
- package/dist/src/plugins/rtl/index.mjs.map +1 -1
- package/dist/src/resolvers/index.mjs +2 -2
- package/dist/src/resolvers/index.mjs.map +1 -1
- package/dist/src/types/index.mjs +2 -2
- package/dist/src/utils/index.mjs +2 -2
- package/dist/{stringUtils-D4eEDlt1.mjs → stringUtils-CVySsg3y.js} +2 -2
- package/dist/{stringUtils-68ZN_GRt.js.map → stringUtils-CVySsg3y.js.map} +1 -1
- package/dist/types/BootstrapVueOptions.d.mts +1 -4
- package/dist/types/BootstrapVueOptions.d.ts +1 -4
- package/dist/types/ComponentOrchestratorTypes.d.mts +62 -186
- package/dist/types/ComponentOrchestratorTypes.d.ts +62 -186
- package/dist/types/ComponentProps.d.mts +2 -0
- package/dist/types/ComponentProps.d.ts +2 -0
- package/dist/types/ComponentSlots.d.mts +1 -1
- package/dist/types/ComponentSlots.d.ts +1 -1
- package/dist/{useAlignment-DuR8ymKI.mjs → useAlignment-DaP-psIh.js} +1 -1
- package/dist/{useAlignment-oKolnDpb.js.map → useAlignment-DaP-psIh.js.map} +1 -1
- package/dist/{useAriaInvalid-apOwgexm.mjs → useAriaInvalid-CRUhkD2V.js} +1 -1
- package/dist/{useAriaInvalid-CHHPHNLU.js.map → useAriaInvalid-CRUhkD2V.js.map} +1 -1
- package/dist/{useColorVariantClasses-CqeXHjRh.mjs → useColorVariantClasses-DHQvLjek.js} +1 -1
- package/dist/{useColorVariantClasses-Dq0sOYDL.js.map → useColorVariantClasses-DHQvLjek.js.map} +1 -1
- package/dist/{useCountdownHover-C3NXiAaF.mjs → useCountdownHover-BN8vJIQW.js} +4 -3
- package/dist/{useCountdownHover-DbVhE-N0.js.map → useCountdownHover-BN8vJIQW.js.map} +1 -1
- package/dist/{useDateField-CJKgollJ.mjs → useDateField-CQZb799C.js} +680 -627
- package/dist/useDateField-CQZb799C.js.map +1 -0
- package/dist/{useDefaults-DseelK6y.mjs → useDefaults-BzP4qZBu.js} +2 -2
- package/dist/{useDefaults-C0CYry78.js.map → useDefaults-BzP4qZBu.js.map} +1 -1
- package/dist/{useFormCheck-BKXrwS3g.mjs → useFormCheck-fArncQY5.js} +3 -3
- package/dist/{useFormCheck-DYjLG4WA.js.map → useFormCheck-fArncQY5.js.map} +1 -1
- package/dist/{useFormInput-CXl8rpD0.mjs → useFormInput-DZ_3ZH1o.js} +8 -7
- package/dist/{useFormInput-ip9hN2AU.js.map → useFormInput-DZ_3ZH1o.js.map} +1 -1
- package/dist/{useFormSelect-BM0rsjni.mjs → useFormSelect-CwS8YuiQ.js} +3 -3
- package/dist/{useFormSelect-ClmzGzOy.js.map → useFormSelect-CwS8YuiQ.js.map} +1 -1
- package/dist/{useForwardExpose-Cob6LlGd.mjs → useForwardExpose-DDvk7mir.js} +5 -13
- package/dist/useForwardExpose-DDvk7mir.js.map +1 -0
- package/dist/{useId-D1sqXtwx.mjs → useId-Fh-Arhb7.js} +2 -2
- package/dist/{useId-BkAY2oh6.js.map → useId-Fh-Arhb7.js.map} +1 -1
- package/dist/{useKbd-DfmgFov6.mjs → useKbd-DRsaFU_f.js} +6 -18
- package/dist/useKbd-DRsaFU_f.js.map +1 -0
- package/dist/{useNumberishToStyle-DgS1slD3.mjs → useNumberishToStyle-DCnYcI6A.js} +2 -2
- package/dist/{useNumberishToStyle-BtMa0R27.js.map → useNumberishToStyle-DCnYcI6A.js.map} +1 -1
- package/dist/{useRadiusElementClasses-BW832F7F.mjs → useRadiusElementClasses-CKCJjpkK.js} +1 -1
- package/dist/{useRadiusElementClasses-DWiUVgex.js.map → useRadiusElementClasses-CKCJjpkK.js.map} +1 -1
- package/dist/{useRtl-CGoXBxNo.mjs → useRtl-FeLayV4k.js} +3 -3
- package/dist/{useRtl-BSgvbs5F.js.map → useRtl-FeLayV4k.js.map} +1 -1
- package/dist/{useSafeScrollLock-Me5LyqjD.mjs → useSafeScrollLock-PVgSASYu.js} +136 -216
- package/dist/useSafeScrollLock-PVgSASYu.js.map +1 -0
- package/dist/{useShowHide-CBFt1_EW.mjs → useShowHide-C95Y9EKL.js} +15 -14
- package/dist/useShowHide-C95Y9EKL.js.map +1 -0
- package/dist/{useStateClass-DxlL_m2E.mjs → useStateClass-BF7kf2zK.js} +1 -1
- package/dist/{useStateClass-CXK3nCg9.js.map → useStateClass-BF7kf2zK.js.map} +1 -1
- package/dist/utils/console.d.mts +2 -0
- package/dist/utils/console.d.ts +2 -0
- package/dist/utils/keys.d.mts +12 -4
- package/dist/utils/keys.d.ts +12 -4
- package/dist/{utils-CWvndqPg.mjs → utils-nRGGHA_i.js} +14 -10
- package/dist/utils-nRGGHA_i.js.map +1 -0
- package/package.json +65 -136
- package/dist/BAccordion-D51b9HVD.mjs.map +0 -1
- package/dist/BAccordion-DYmuqZIG.js +0 -360
- package/dist/BAccordion-DYmuqZIG.js.map +0 -1
- package/dist/BAlert-Ce2uxrJi.mjs.map +0 -1
- package/dist/BAlert-croEtrQu.js +0 -297
- package/dist/BAlert-croEtrQu.js.map +0 -1
- package/dist/BApp-B-fUrnpK.mjs.map +0 -1
- package/dist/BApp-DOvEe1jo.js +0 -181
- package/dist/BApp-DOvEe1jo.js.map +0 -1
- package/dist/BAspect-CUIU48Ck.js +0 -50
- package/dist/BAspect-wfiXM4KA.mjs.map +0 -1
- package/dist/BAutocomplete-CH-bQzME.mjs.map +0 -1
- package/dist/BAutocomplete-DLDFAV5_.js +0 -2402
- package/dist/BAutocomplete-DLDFAV5_.js.map +0 -1
- package/dist/BAvatar-FGK0dK0x.js +0 -386
- package/dist/BAvatar-FGK0dK0x.js.map +0 -1
- package/dist/BAvatar-iALHbqVk.mjs.map +0 -1
- package/dist/BBadge-Cx_CdauK.mjs.map +0 -1
- package/dist/BBadge-Db6SEnzy.js +0 -145
- package/dist/BBreadcrumb-B9ra7vg2.js +0 -166
- package/dist/BBreadcrumb-BxADbg0O.mjs.map +0 -1
- package/dist/BButton-BSa7LfL5.mjs.map +0 -1
- package/dist/BButton-DRRlzkyK.js +0 -156
- package/dist/BButton-PY7AANXJ.mjs.map +0 -1
- package/dist/BButton-aYtMnyHu.js +0 -190
- package/dist/BCard-BWoruisp.mjs.map +0 -1
- package/dist/BCard-Bh8RLMo_.js +0 -52
- package/dist/BCard-CHbKv2OR.mjs.map +0 -1
- package/dist/BCard-DwNYhVmg.js +0 -444
- package/dist/BCarousel-2JB21Pcu.js +0 -427
- package/dist/BCarousel-B6_bgQpl.mjs.map +0 -1
- package/dist/BCloseButton-CKTKr4PS.mjs.map +0 -1
- package/dist/BCloseButton-D42zHRLP.js +0 -45
- package/dist/BCol-B3VeEk9z.mjs.map +0 -1
- package/dist/BCol-Ck9VydHj.js +0 -140
- package/dist/BCollapse-CDLYLSZo.js +0 -183
- package/dist/BCollapse-CDLYLSZo.js.map +0 -1
- package/dist/BCollapse-kqhe4AmL.mjs.map +0 -1
- package/dist/BContainer-ATfhaxTc.mjs.map +0 -1
- package/dist/BContainer-CcF6dgtI.js +0 -44
- package/dist/BDateField-CccP3H1R.mjs.map +0 -1
- package/dist/BDateField-DzZw5FRX.js +0 -919
- package/dist/BDateField-DzZw5FRX.js.map +0 -1
- package/dist/BDatePicker-BDkzkOcm.js +0 -5138
- package/dist/BDatePicker-BDkzkOcm.js.map +0 -1
- package/dist/BDatePicker-BnwnSkBg.mjs.map +0 -1
- package/dist/BDropdown-0E8x5kk6.mjs.map +0 -1
- package/dist/BDropdown-B1DbvVzm.mjs.map +0 -1
- package/dist/BDropdown-BPFtkX3p.js +0 -403
- package/dist/BDropdown-BPFtkX3p.js.map +0 -1
- package/dist/BDropdown-DKCgBzYS.js +0 -415
- package/dist/BForm-6JlWdQMO.js +0 -126
- package/dist/BForm-BVfW08s5.mjs.map +0 -1
- package/dist/BForm-DJu2hDV_.mjs.map +0 -1
- package/dist/BForm-cnRpggt9.js +0 -51
- package/dist/BFormCheckbox-Baf_9BSc.mjs.map +0 -1
- package/dist/BFormCheckbox-D5ySHMJ8.js +0 -489
- package/dist/BFormCheckbox-D5ySHMJ8.js.map +0 -1
- package/dist/BFormFile-CZebm0Cp.mjs.map +0 -1
- package/dist/BFormFile-MISLntyJ.js +0 -423
- package/dist/BFormGroup-Bk1t-D1N.js +0 -490
- package/dist/BFormGroup-Bk1t-D1N.js.map +0 -1
- package/dist/BFormGroup-vysRPb99.mjs.map +0 -1
- package/dist/BFormInput-CBwwDjfC.js +0 -142
- package/dist/BFormInput-sEfU3CuN.mjs.map +0 -1
- package/dist/BFormOtp-C8X3u1od.mjs.map +0 -1
- package/dist/BFormOtp-CLrQJRPe.js +0 -542
- package/dist/BFormOtp-CLrQJRPe.js.map +0 -1
- package/dist/BFormRadio-B2yu-o2v.js +0 -432
- package/dist/BFormRadio-B2yu-o2v.js.map +0 -1
- package/dist/BFormRadio-COc_IbxC.mjs.map +0 -1
- package/dist/BFormRating-CIgPVsH_.mjs.map +0 -1
- package/dist/BFormRating-CSdRxN5z.js +0 -263
- package/dist/BFormRating-CSdRxN5z.js.map +0 -1
- package/dist/BFormSelect-CI92Dv27.js +0 -310
- package/dist/BFormSelect-CI92Dv27.js.map +0 -1
- package/dist/BFormSelect-P-InkOm-.mjs.map +0 -1
- package/dist/BFormSelectOption-DFN4lPRh.mjs.map +0 -1
- package/dist/BFormSelectOption-DrwJucNf.js +0 -46
- package/dist/BFormSpinbutton-1gTz4nTo.js +0 -447
- package/dist/BFormSpinbutton-6qkTBF_4.mjs.map +0 -1
- package/dist/BFormTag-CeV0MSRC.js +0 -86
- package/dist/BFormTag-CnzI39y9.mjs.map +0 -1
- package/dist/BFormTags-BMltSaKL.mjs.map +0 -1
- package/dist/BFormTags-BhO60uiL.js +0 -427
- package/dist/BFormTags-BhO60uiL.js.map +0 -1
- package/dist/BFormTextarea-C3Cj0DWj.js +0 -203
- package/dist/BFormTextarea-DN1gAfSo.mjs.map +0 -1
- package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +0 -1
- package/dist/BFormValidFeedback-Kwxh798d.js +0 -223
- package/dist/BImg-JKJLgYYT.js +0 -168
- package/dist/BImg-QBS2ECBc.mjs.map +0 -1
- package/dist/BInputGroup-Bvlfv6VD.js +0 -55
- package/dist/BInputGroup-D4fW324B.js +0 -31
- package/dist/BInputGroup-DiTSexkT.mjs.map +0 -1
- package/dist/BInputGroup-X2Z53RJx.mjs.map +0 -1
- package/dist/BLink-Dfgte6dQ.mjs.map +0 -1
- package/dist/BLink-kLEjleB1.js +0 -276
- package/dist/BListGroup-C8JOzHTz.js +0 -167
- package/dist/BListGroup-DwTLpNiD.mjs.map +0 -1
- package/dist/BModal-C-ZCau2E.mjs.map +0 -1
- package/dist/BModal-VstTwEq9.js +0 -521
- package/dist/BModal-VstTwEq9.js.map +0 -1
- package/dist/BNav-DCLambmM.js +0 -453
- package/dist/BNav-DfYvjfRK.mjs.map +0 -1
- package/dist/BNavbar-BLWaZJRP.js +0 -245
- package/dist/BNavbar-xYaikQVY.mjs.map +0 -1
- package/dist/BOffcanvas-C7HenFW0.js +0 -331
- package/dist/BOffcanvas-C7HenFW0.js.map +0 -1
- package/dist/BOffcanvas-CF-dWeez.mjs.map +0 -1
- package/dist/BOverlay-Bh2PIN_q.mjs.map +0 -1
- package/dist/BOverlay-Bh4ldxgt.js +0 -203
- package/dist/BPagination-D75q-ZNg.mjs.map +0 -1
- package/dist/BPagination-fbjFAtxu.js +0 -446
- package/dist/BPlaceholder-B3rs_39w.js +0 -326
- package/dist/BPlaceholder-DPQ6mCLN.mjs.map +0 -1
- package/dist/BProgress-BZlrPYhA.mjs.map +0 -1
- package/dist/BProgress-th0-eZWo.js +0 -147
- package/dist/BRow-7AOuFiSy.js +0 -70
- package/dist/BRow-eGSUYGCW.mjs.map +0 -1
- package/dist/BSpinner-CUfGqviV.mjs.map +0 -1
- package/dist/BSpinner-DbYIp-C7.js +0 -60
- package/dist/BTable-BCWW00u_.js +0 -1903
- package/dist/BTable-BCWW00u_.js.map +0 -1
- package/dist/BTable-DUHxxWv5.mjs.map +0 -1
- package/dist/BTableSimple-BkdGAAKb.js +0 -137
- package/dist/BTableSimple-C-jn9Nwh.mjs.map +0 -1
- package/dist/BTabs-CvecFg5N.js +0 -607
- package/dist/BTabs-D_vWlBjT.mjs.map +0 -1
- package/dist/BTimeField-BSDaZogC.mjs.map +0 -1
- package/dist/BTimeField-BT5HXecp.js +0 -517
- package/dist/BTimeField-BT5HXecp.js.map +0 -1
- package/dist/BToast-DR0pek4W.js +0 -308
- package/dist/BToast-DR0pek4W.js.map +0 -1
- package/dist/BToast-Y8BayxES.mjs.map +0 -1
- package/dist/BTooltip-CVP8HdkU.mjs.map +0 -1
- package/dist/BTooltip-DPLYtaL1.js +0 -213
- package/dist/BootstrapVueOptions-DeViqxoD.js +0 -179
- package/dist/BootstrapVueOptions-DeViqxoD.js.map +0 -1
- package/dist/BootstrapVueOptions-Dt1TQdih.mjs.map +0 -1
- package/dist/ConditionalTeleport-B4KYZIM6.mjs.map +0 -1
- package/dist/ConditionalTeleport-BDWcebyD.js +0 -34
- package/dist/ConditionalWrapper-DZH_VSwb.js +0 -31
- package/dist/ConditionalWrapper-Dbc_O6qe.mjs.map +0 -1
- package/dist/DateRangeFieldInput-B86VEz0H.mjs.map +0 -1
- package/dist/DateRangeFieldInput-HvvI2You.js +0 -762
- package/dist/DateRangeFieldInput-HvvI2You.js.map +0 -1
- package/dist/PopperContent-BS_eKjzD.js +0 -1515
- package/dist/PopperContent-BS_eKjzD.js.map +0 -1
- package/dist/PopperContent-DmSgsjSC.mjs.map +0 -1
- package/dist/VisuallyHidden-C4sXnc-k.mjs.map +0 -1
- package/dist/VisuallyHidden-Cx0phlXT.js +0 -222
- package/dist/VisuallyHidden-Cx0phlXT.js.map +0 -1
- package/dist/VisuallyHiddenInput-BNrInt6d.js +0 -147
- package/dist/VisuallyHiddenInput-BNrInt6d.js.map +0 -1
- package/dist/VisuallyHiddenInput-DKIzxsQR.mjs.map +0 -1
- package/dist/bootstrap-vue-next.umd.js +0 -275
- package/dist/chunk-CoQrYLCe.js +0 -50
- package/dist/classes-B0E5Y78Y.mjs.map +0 -1
- package/dist/classes-D5wrmmVs.js +0 -92
- package/dist/constants-BLIvvaat.js +0 -123
- package/dist/constants-Ba9iJn2H.mjs.map +0 -1
- package/dist/debounce-D6kifS6w.js +0 -88
- package/dist/debounce-DHxNfjan.mjs.map +0 -1
- package/dist/dist-DiXKLh_W.js +0 -2064
- package/dist/dist-DiXKLh_W.js.map +0 -1
- package/dist/dist-Dk9C_HFS.mjs.map +0 -1
- package/dist/dom-AhkaSoh8.mjs.map +0 -1
- package/dist/dom-Bs6DzM72.js +0 -98
- package/dist/dom-Bs6DzM72.js.map +0 -1
- package/dist/flattenFragments-C1WWqm25.js +0 -18
- package/dist/flattenFragments-ClbLQGqR.mjs.map +0 -1
- package/dist/floating-ui.vue-CH2o_mZU.mjs.map +0 -1
- package/dist/floating-ui.vue-DDOIU2nS.js +0 -1773
- package/dist/floating-ui.vue-DDOIU2nS.js.map +0 -1
- package/dist/floatingUi-62aeQtAb.mjs.map +0 -1
- package/dist/floatingUi-DQ5bHmy3.js +0 -598
- package/dist/floatingUi-DQ5bHmy3.js.map +0 -1
- package/dist/functions-BcMenQqL.mjs.map +0 -1
- package/dist/functions-Bx1HDqMv.js +0 -11
- package/dist/functions-Bx1HDqMv.js.map +0 -1
- package/dist/getClasses-8P0iBind.js +0 -19
- package/dist/getClasses-COokMI60.mjs.map +0 -1
- package/dist/getElement-D2Jr1cbp.mjs.map +0 -1
- package/dist/getElement-DWGFJn0w.js +0 -19
- package/dist/keys-BMye8nSf.js +0 -187
- package/dist/keys-BMye8nSf.js.map +0 -1
- package/dist/keys-DU7sQgl3.mjs.map +0 -1
- package/dist/object-BN7QwMcz.js +0 -140
- package/dist/object-BN7QwMcz.js.map +0 -1
- package/dist/object-CHQkkner.mjs.map +0 -1
- package/dist/registryAccess-B9QDQwV8.js +0 -39
- package/dist/registryAccess-BkJDdh-3.mjs.map +0 -1
- package/dist/src/components/BAccordion/index.umd.js +0 -4
- package/dist/src/components/BAlert/index.umd.js +0 -3
- package/dist/src/components/BApp/index.umd.js +0 -4
- package/dist/src/components/BAspect/index.umd.js +0 -3
- package/dist/src/components/BAutocomplete/index.umd.js +0 -3
- package/dist/src/components/BAvatar/index.umd.js +0 -4
- package/dist/src/components/BBadge/index.umd.js +0 -3
- package/dist/src/components/BBreadcrumb/index.umd.js +0 -4
- package/dist/src/components/BButton/index.umd.js +0 -8
- package/dist/src/components/BCard/index.umd.js +0 -12
- package/dist/src/components/BCarousel/index.umd.js +0 -4
- package/dist/src/components/BCol/index.umd.js +0 -3
- package/dist/src/components/BCollapse/index.umd.js +0 -3
- package/dist/src/components/BContainer/index.umd.js +0 -7
- package/dist/src/components/BDateField/index.umd.js +0 -5
- package/dist/src/components/BDatePicker/index.umd.js +0 -4
- package/dist/src/components/BDropdown/index.umd.js +0 -11
- package/dist/src/components/BForm/index.umd.js +0 -11
- package/dist/src/components/BFormCheckbox/index.umd.js +0 -4
- package/dist/src/components/BFormFile/index.umd.js +0 -3
- package/dist/src/components/BFormGroup/index.umd.js +0 -3
- package/dist/src/components/BFormInput/index.umd.js +0 -4
- package/dist/src/components/BFormOtp/index.umd.js +0 -3
- package/dist/src/components/BFormRadio/index.umd.js +0 -4
- package/dist/src/components/BFormRating/index.umd.js +0 -3
- package/dist/src/components/BFormSelect/index.umd.js +0 -6
- package/dist/src/components/BFormSpinbutton/index.umd.js +0 -3
- package/dist/src/components/BFormTags/index.umd.js +0 -5
- package/dist/src/components/BFormTextarea/index.umd.js +0 -3
- package/dist/src/components/BImg/index.umd.js +0 -3
- package/dist/src/components/BInputGroup/index.umd.js +0 -5
- package/dist/src/components/BLink/index.umd.js +0 -3
- package/dist/src/components/BListGroup/index.umd.js +0 -4
- package/dist/src/components/BModal/index.umd.js +0 -3
- package/dist/src/components/BNav/index.umd.js +0 -7
- package/dist/src/components/BNavbar/index.umd.js +0 -6
- package/dist/src/components/BOffcanvas/index.umd.js +0 -3
- package/dist/src/components/BOverlay/index.umd.js +0 -3
- package/dist/src/components/BPagination/index.umd.js +0 -3
- package/dist/src/components/BPlaceholder/index.umd.js +0 -7
- package/dist/src/components/BPopover/index.umd.js +0 -3
- package/dist/src/components/BProgress/index.umd.js +0 -4
- package/dist/src/components/BRow/index.umd.js +0 -3
- package/dist/src/components/BSpinner/index.umd.js +0 -3
- package/dist/src/components/BTable/index.umd.js +0 -12
- package/dist/src/components/BTabs/index.umd.js +0 -4
- package/dist/src/components/BTimeField/index.umd.js +0 -3
- package/dist/src/components/BToast/index.umd.js +0 -3
- package/dist/src/components/BTooltip/index.umd.js +0 -3
- package/dist/src/components/index.umd.js +0 -301
- package/dist/src/components/index.umd.js.map +0 -1
- package/dist/src/composables/index.umd.js +0 -53
- package/dist/src/composables/index.umd.js.map +0 -1
- package/dist/src/composables/orchestratorShared/index.umd.js +0 -114
- package/dist/src/composables/orchestratorShared/index.umd.js.map +0 -1
- package/dist/src/composables/useBreadcrumb/index.umd.js +0 -37
- package/dist/src/composables/useBreadcrumb/index.umd.js.map +0 -1
- package/dist/src/composables/useColorMode/index.umd.js +0 -18
- package/dist/src/composables/useColorMode/index.umd.js.map +0 -1
- package/dist/src/composables/useModal/index.umd.js +0 -176
- package/dist/src/composables/useModal/index.umd.js.map +0 -1
- package/dist/src/composables/usePopover/index.umd.js +0 -90
- package/dist/src/composables/usePopover/index.umd.js.map +0 -1
- package/dist/src/composables/useProvideDefaults/index.umd.js +0 -42
- package/dist/src/composables/useProvideDefaults/index.umd.js.map +0 -1
- package/dist/src/composables/useRegistry/index.umd.js +0 -135
- package/dist/src/composables/useRegistry/index.umd.js.map +0 -1
- package/dist/src/composables/useScrollLock/index.umd.js +0 -8
- package/dist/src/composables/useScrollLock/index.umd.js.map +0 -1
- package/dist/src/composables/useScrollspy/index.umd.js +0 -144
- package/dist/src/composables/useScrollspy/index.umd.js.map +0 -1
- package/dist/src/composables/useToast/index.umd.js +0 -90
- package/dist/src/composables/useToast/index.umd.js.map +0 -1
- package/dist/src/composables/useToggle/index.umd.js +0 -34
- package/dist/src/composables/useToggle/index.umd.js.map +0 -1
- package/dist/src/directives/BColorMode/index.umd.js +0 -15
- package/dist/src/directives/BColorMode/index.umd.js.map +0 -1
- package/dist/src/directives/BModal/index.umd.js +0 -3
- package/dist/src/directives/BPopover/index.umd.js +0 -14
- package/dist/src/directives/BPopover/index.umd.js.map +0 -1
- package/dist/src/directives/BScrollspy/index.umd.js +0 -35
- package/dist/src/directives/BScrollspy/index.umd.js.map +0 -1
- package/dist/src/directives/BToggle/index.umd.js +0 -77
- package/dist/src/directives/BToggle/index.umd.js.map +0 -1
- package/dist/src/directives/BTooltip/index.umd.js +0 -16
- package/dist/src/directives/BTooltip/index.umd.js.map +0 -1
- package/dist/src/directives/index.umd.js +0 -32
- package/dist/src/directives/index.umd.js.map +0 -1
- package/dist/src/plugins/createBootstrap/index.umd.js +0 -19
- package/dist/src/plugins/createBootstrap/index.umd.js.map +0 -1
- package/dist/src/plugins/index.umd.js +0 -26
- package/dist/src/plugins/index.umd.js.map +0 -1
- package/dist/src/plugins/orchestrator/index.umd.js +0 -13
- package/dist/src/plugins/orchestrator/index.umd.js.map +0 -1
- package/dist/src/plugins/registry/index.umd.js +0 -62
- package/dist/src/plugins/registry/index.umd.js.map +0 -1
- package/dist/src/plugins/rtl/index.umd.js +0 -21
- package/dist/src/plugins/rtl/index.umd.js.map +0 -1
- package/dist/src/resolvers/index.umd.js +0 -94
- package/dist/src/resolvers/index.umd.js.map +0 -1
- package/dist/src/types/index.umd.js +0 -27
- package/dist/src/types/index.umd.js.map +0 -1
- package/dist/src/utils/index.umd.js +0 -21
- package/dist/src/utils/index.umd.js.map +0 -1
- package/dist/stringUtils-68ZN_GRt.js +0 -71
- package/dist/stringUtils-D4eEDlt1.mjs.map +0 -1
- package/dist/useAlignment-DuR8ymKI.mjs.map +0 -1
- package/dist/useAlignment-oKolnDpb.js +0 -16
- package/dist/useAriaInvalid-CHHPHNLU.js +0 -17
- package/dist/useAriaInvalid-apOwgexm.mjs.map +0 -1
- package/dist/useColorVariantClasses-CqeXHjRh.mjs.map +0 -1
- package/dist/useColorVariantClasses-Dq0sOYDL.js +0 -27
- package/dist/useCountdownHover-C3NXiAaF.mjs.map +0 -1
- package/dist/useCountdownHover-DbVhE-N0.js +0 -104
- package/dist/useDateField-CJKgollJ.mjs.map +0 -1
- package/dist/useDateField-DWv3600o.js +0 -3872
- package/dist/useDateField-DWv3600o.js.map +0 -1
- package/dist/useDefaults-C0CYry78.js +0 -76
- package/dist/useDefaults-DseelK6y.mjs.map +0 -1
- package/dist/useFormCheck-BKXrwS3g.mjs.map +0 -1
- package/dist/useFormCheck-DYjLG4WA.js +0 -82
- package/dist/useFormInput-CXl8rpD0.mjs.map +0 -1
- package/dist/useFormInput-ip9hN2AU.js +0 -117
- package/dist/useFormSelect-BM0rsjni.mjs.map +0 -1
- package/dist/useFormSelect-ClmzGzOy.js +0 -58
- package/dist/useForwardExpose-BpZJluPs.js +0 -80
- package/dist/useForwardExpose-BpZJluPs.js.map +0 -1
- package/dist/useForwardExpose-Cob6LlGd.mjs.map +0 -1
- package/dist/useId-BkAY2oh6.js +0 -17
- package/dist/useId-D1sqXtwx.mjs.map +0 -1
- package/dist/useKbd-DfmgFov6.mjs.map +0 -1
- package/dist/useKbd-sqDCJtXL.js +0 -105
- package/dist/useKbd-sqDCJtXL.js.map +0 -1
- package/dist/useNumberishToStyle-BtMa0R27.js +0 -18
- package/dist/useNumberishToStyle-DgS1slD3.mjs.map +0 -1
- package/dist/useRadiusElementClasses-BW832F7F.mjs.map +0 -1
- package/dist/useRadiusElementClasses-DWiUVgex.js +0 -28
- package/dist/useRtl-BSgvbs5F.js +0 -26
- package/dist/useRtl-CGoXBxNo.mjs.map +0 -1
- package/dist/useSafeScrollLock-7wmPH_Hy.js +0 -1418
- package/dist/useSafeScrollLock-7wmPH_Hy.js.map +0 -1
- package/dist/useSafeScrollLock-Me5LyqjD.mjs.map +0 -1
- package/dist/useShowHide-CBFt1_EW.mjs.map +0 -1
- package/dist/useShowHide-CHm2uUep.js +0 -436
- package/dist/useShowHide-CHm2uUep.js.map +0 -1
- package/dist/useStateClass-CXK3nCg9.js +0 -16
- package/dist/useStateClass-DxlL_m2E.mjs.map +0 -1
- package/dist/utils-CWvndqPg.mjs.map +0 -1
- package/dist/utils-Dk9yAtbs.js +0 -186
- package/dist/utils-Dk9yAtbs.js.map +0 -1
- /package/dist/{chunk-D1SwGrFN.mjs → rolldown-runtime-BBjsoOtd.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BFormGroup-BE5tGz_g.js","names":["$attrs"],"sources":["../src/utils/props.ts","../src/components/BFormGroupContent.vue","../src/components/BFormGroupContent.vue","../src/components/BFormGroupLabel.vue","../src/components/BFormGroupLabel.vue","../src/components/BFormGroup/BFormGroup.vue","../src/components/BFormGroup/BFormGroup.vue"],"sourcesContent":["// Suffix can be a falsey value so nothing is appended to string\n// (helps when looping over props & some shouldn't change)\n\nimport {upperFirst} from './stringUtils'\n\n/**\n * Use data last parameters to allow for currying\n *\n * @param suffix\n * @param value\n * @returns\n */\nexport const suffixPropName = (suffix: string, value: string): string =>\n value + (suffix ? upperFirst(suffix) : '')\n","<template>\n <BFormInvalidFeedback\n v-if=\"hasInvalidFeedbackSlot || invalidFeedback\"\n :id=\"invalidFeedbackId\"\n :aria-live=\"feedbackAriaLive\"\n :state=\"state\"\n :tooltip=\"tooltip\"\n >\n <slot name=\"invalid-feedback\">{{ invalidFeedback }}</slot>\n </BFormInvalidFeedback>\n <BFormValidFeedback\n v-if=\"hasValidFeedbackSlot || validFeedback\"\n :id=\"validFeedbackId\"\n :aria-live=\"feedbackAriaLive\"\n :state=\"state\"\n :tooltip=\"tooltip\"\n >\n <slot name=\"valid-feedback\">{{ validFeedback }}</slot>\n </BFormValidFeedback>\n <BFormText v-if=\"hasDescriptionSlot || description\" :id=\"descriptionId\">\n <slot name=\"description\">{{ description }}</slot>\n </BFormText>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useSlots} from 'vue'\nimport type {ValidationState} from '../types'\nimport BFormInvalidFeedback from './BForm/BFormInvalidFeedback.vue'\nimport BFormValidFeedback from './BForm/BFormValidFeedback.vue'\nimport BFormText from './BForm/BFormText.vue'\n\ndefineProps<{\n invalidFeedback: string | undefined\n validFeedback: string | undefined\n description: string | undefined\n feedbackAriaLive: string | undefined\n state: ValidationState | undefined\n tooltip: boolean | undefined\n invalidFeedbackId: string | undefined\n validFeedbackId: string | undefined\n descriptionId: string | undefined\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n 'invalid-feedback'?: (props: Record<string, never>) => any\n 'valid-feedback'?: (props: Record<string, never>) => any\n 'description'?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst slots = useSlots()\nconst hasInvalidFeedbackSlot = computed(() => !!slots['invalid-feedback'])\nconst hasValidFeedbackSlot = computed(() => !!slots['valid-feedback'])\nconst hasDescriptionSlot = computed(() => !!slots['description'])\n</script>\n","<template>\n <BFormInvalidFeedback\n v-if=\"hasInvalidFeedbackSlot || invalidFeedback\"\n :id=\"invalidFeedbackId\"\n :aria-live=\"feedbackAriaLive\"\n :state=\"state\"\n :tooltip=\"tooltip\"\n >\n <slot name=\"invalid-feedback\">{{ invalidFeedback }}</slot>\n </BFormInvalidFeedback>\n <BFormValidFeedback\n v-if=\"hasValidFeedbackSlot || validFeedback\"\n :id=\"validFeedbackId\"\n :aria-live=\"feedbackAriaLive\"\n :state=\"state\"\n :tooltip=\"tooltip\"\n >\n <slot name=\"valid-feedback\">{{ validFeedback }}</slot>\n </BFormValidFeedback>\n <BFormText v-if=\"hasDescriptionSlot || description\" :id=\"descriptionId\">\n <slot name=\"description\">{{ description }}</slot>\n </BFormText>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useSlots} from 'vue'\nimport type {ValidationState} from '../types'\nimport BFormInvalidFeedback from './BForm/BFormInvalidFeedback.vue'\nimport BFormValidFeedback from './BForm/BFormValidFeedback.vue'\nimport BFormText from './BForm/BFormText.vue'\n\ndefineProps<{\n invalidFeedback: string | undefined\n validFeedback: string | undefined\n description: string | undefined\n feedbackAriaLive: string | undefined\n state: ValidationState | undefined\n tooltip: boolean | undefined\n invalidFeedbackId: string | undefined\n validFeedbackId: string | undefined\n descriptionId: string | undefined\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n 'invalid-feedback'?: (props: Record<string, never>) => any\n 'valid-feedback'?: (props: Record<string, never>) => any\n 'description'?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst slots = useSlots()\nconst hasInvalidFeedbackSlot = computed(() => !!slots['invalid-feedback'])\nconst hasValidFeedbackSlot = computed(() => !!slots['valid-feedback'])\nconst hasDescriptionSlot = computed(() => !!slots['description'])\n</script>\n","<template>\n <BCol\n v-if=\"isHorizontal\"\n v-bind=\"labelColProps\"\n :id=\"labelId\"\n :tag=\"labelTag\"\n :for=\"computedLabelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"[labelAlignClasses, labelClasses]\"\n @click=\"isFieldset ? (e: MouseEvent) => emit('legendClick', e) : undefined\"\n >\n <slot name=\"label\">{{ label }}</slot>\n </BCol>\n <component\n :is=\"labelTag\"\n v-else\n :id=\"labelId\"\n :for=\"computedLabelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? (e: MouseEvent) => emit('legendClick', e) : undefined\"\n >\n <slot name=\"label\">{{ label }}</slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\nimport BCol from './BContainer/BCol.vue'\n\ndefineProps<{\n label: string | undefined\n labelTag: string\n labelId: string | undefined\n computedLabelFor: string | null\n isFieldset: boolean\n isHorizontal: boolean\n labelColProps: Record<string, unknown>\n labelAlignClasses: string[]\n labelClasses: ClassValue\n}>()\n\nconst emit = defineEmits<{\n legendClick: [event: MouseEvent]\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n label?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <BCol\n v-if=\"isHorizontal\"\n v-bind=\"labelColProps\"\n :id=\"labelId\"\n :tag=\"labelTag\"\n :for=\"computedLabelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"[labelAlignClasses, labelClasses]\"\n @click=\"isFieldset ? (e: MouseEvent) => emit('legendClick', e) : undefined\"\n >\n <slot name=\"label\">{{ label }}</slot>\n </BCol>\n <component\n :is=\"labelTag\"\n v-else\n :id=\"labelId\"\n :for=\"computedLabelFor || null\"\n :tabindex=\"isFieldset ? '-1' : null\"\n :class=\"labelClasses\"\n @click=\"isFieldset ? (e: MouseEvent) => emit('legendClick', e) : undefined\"\n >\n <slot name=\"label\">{{ label }}</slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {ClassValue} from '../types/AnyValuedAttributes'\nimport BCol from './BContainer/BCol.vue'\n\ndefineProps<{\n label: string | undefined\n labelTag: string\n labelId: string | undefined\n computedLabelFor: string | null\n isFieldset: boolean\n isHorizontal: boolean\n labelColProps: Record<string, unknown>\n labelAlignClasses: string[]\n labelClasses: ClassValue\n}>()\n\nconst emit = defineEmits<{\n legendClick: [event: MouseEvent]\n}>()\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ndefineSlots<{\n label?: (props: Record<string, never>) => any\n}>()\n/* eslint-enable @typescript-eslint/no-explicit-any */\n</script>\n","<template>\n <fieldset\n :id=\"computedId\"\n :disabled=\"props.disabled\"\n :aria-invalid=\"computedAriaInvalid\"\n :aria-labelledby=\"isFieldset && isHorizontal ? labelId : undefined\"\n v-bind=\"$attrs\"\n :class=\"[stateClass, {'was-validated': props.validated}]\"\n class=\"b-form-group\"\n >\n <!-- End of definitions -->\n <BFormRow v-if=\"isHorizontal\">\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <BCol v-bind=\"contentColProps\" ref=\"_content\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </BCol>\n </BFormRow>\n <template v-else>\n <div v-if=\"isFloating\" ref=\"_content\" class=\"form-floating\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </div>\n <template v-else>\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </template>\n </template>\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, toRef, useTemplateRef} from 'vue'\nimport {useAriaInvalid} from '../../composables/useAriaInvalid'\nimport {attemptFocus, isVisible} from '../../utils/dom'\nimport BCol from '../BContainer/BCol.vue'\nimport BFormRow from '../BForm/BFormRow.vue'\nimport {suffixPropName} from '../../utils/props'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {useId} from '../../composables/useId'\nimport type {BFormGroupProps, BFormGroupSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport BFormGroupContent from '../BFormGroupContent.vue'\nimport BFormGroupLabel from '../BFormGroupLabel.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst INPUTS = ['input', 'select', 'textarea']\n\nconst _props = withDefaults(defineProps<BFormGroupProps>(), {\n ariaInvalid: undefined,\n contentCols: undefined,\n contentColsLg: undefined,\n contentColsMd: undefined,\n contentColsSm: undefined,\n contentColsXl: undefined,\n description: undefined,\n disabled: false,\n feedbackAriaLive: 'assertive',\n floating: false,\n id: undefined,\n invalidFeedback: undefined,\n label: undefined,\n labelAlign: undefined,\n labelAlignLg: undefined,\n labelAlignMd: undefined,\n labelAlignSm: undefined,\n labelAlignXl: undefined,\n labelClass: undefined,\n labelCols: undefined,\n labelColsLg: undefined,\n labelColsMd: undefined,\n labelColsSm: undefined,\n labelColsXl: undefined,\n labelFor: undefined,\n labelSize: undefined,\n labelVisuallyHidden: false,\n state: null,\n tooltip: false,\n validFeedback: undefined,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormGroup')\nconst slots = defineSlots<BFormGroupSlots>()\n\nconst computedState = toRef(() => props.state)\nconst computedDisabled = toRef(() => props.disabled)\nconst {singleLabelTargetId} = useProvideFormGroupData({\n state: computedState,\n disabled: computedDisabled,\n})\nconst computedLabelFor = computed(() => props.labelFor ?? singleLabelTargetId.value)\n\nconst breakPoints = ['xs', 'sm', 'md', 'lg', 'xl']\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getColProps = (props: any, prefix: string) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result: any, breakpoint: string) => {\n const suffix = suffixPropName(breakpoint === 'xs' ? '' : breakpoint, `${prefix}Cols`)\n let propValue = props[suffix]\n propValue = propValue === '' ? true : propValue || false\n\n if (!(typeof propValue === 'boolean') && propValue !== 'auto') {\n const val = Number.parseInt(propValue)\n propValue = Number.isNaN(val) ? 0 : val\n propValue = propValue > 0 ? propValue : false\n }\n\n if (propValue) {\n if (breakpoint === 'xs') {\n result[typeof propValue === 'boolean' ? 'col' : 'cols'] = propValue\n } else {\n result[breakpoint || (typeof propValue === 'boolean' ? 'col' : 'cols')] = propValue\n }\n }\n return result\n }, {})\n\nconst content = useTemplateRef<HTMLDivElement | InstanceType<typeof BCol> | null>('_content')\n\nconst contentColProps = computed(() => getColProps(props, 'content'))\nconst labelAlignClasses = computed(() =>\n ((props: BFormGroupProps, prefix: string) =>\n breakPoints.reduce((result: string[], breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === 'xs' ? '' : breakpoint,\n `${prefix}Align`\n ) as keyof BFormGroupProps\n const propValue: string = props[suffix] || null\n if (propValue) {\n if (breakpoint === 'xs') {\n result.push(`text-${propValue}`)\n } else {\n result.push(`text-${breakpoint}-${propValue}`)\n }\n }\n return result\n }, []))(props, 'label')\n)\nconst labelColProps = computed(() => getColProps(props, 'label'))\nconst isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n)\nconst isFloating = computed(() => props.floating && !isHorizontal.value)\n\nconst stateClass = useStateClass(computedState)\nconst computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState)\n\nconst onLegendClick = (event: Readonly<MouseEvent>) => {\n if (computedLabelFor.value || content.value === null) return\n\n const {target} = event\n const tagName = target ? (target as HTMLElement).tagName : ''\n\n if ([...INPUTS, 'a', 'button', 'label'].indexOf(tagName) !== -1) return\n\n // In horizontal mode, content.value is a BCol component instance, not a DOM element\n // Access the DOM element via $el property\n const contentElement =\n isHorizontal.value && content.value && '$el' in content.value\n ? (content.value.$el as HTMLElement)\n : (content.value as HTMLDivElement | null)\n if (!contentElement) return\n\n const inputs = [\n ...contentElement.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join()),\n ].filter(isVisible)\n const [inp] = inputs\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp)\n }\n}\n\nconst computedId = useId(() => props.id)\nconst labelId = useId(undefined, '_BV_label_')\nconst labelTag = computed(() => (!isFieldset.value ? 'label' : 'legend'))\nconst labelClasses = computed(() => [\n isHorizontal.value ? 'col-form-label' : 'form-label',\n {\n 'bv-no-focus-ring': !isFloating.value && !computedLabelFor.value,\n 'col-form-label': isHorizontal.value || (!isFloating.value && !computedLabelFor.value),\n 'pt-0': !isHorizontal.value && !isFloating.value && !computedLabelFor.value,\n 'd-block': !isHorizontal.value && (isFloating.value || !!computedLabelFor.value),\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n 'visually-hidden': props.labelVisuallyHidden,\n },\n isHorizontal.value ? null : labelAlignClasses.value,\n props.labelClass,\n])\n\nconst invalidFeedbackId = useId(undefined, '_BV_feedback_invalid_')\n\nconst validFeedbackId = useId(undefined, '_BV_feedback_valid_')\nconst descriptionId = useId(undefined, '_BV_description_')\n\nconst isFieldset = computed(() => !isFloating.value && !computedLabelFor.value)\n\nconst hasDescription = computed(() => !!slots.description || !!props.description)\nconst hasInvalidFeedback = computed(() => !!slots['invalid-feedback'] || !!props.invalidFeedback)\nconst hasValidFeedback = computed(() => !!slots['valid-feedback'] || !!props.validFeedback)\n\nconst computedAriaDescribedby = computed<string | null>(() => {\n const ids: string[] = []\n if (hasDescription.value) ids.push(descriptionId.value)\n if (computedState.value === false && hasInvalidFeedback.value) ids.push(invalidFeedbackId.value)\n if (computedState.value === true && hasValidFeedback.value) ids.push(validFeedbackId.value)\n return ids.length > 0 ? ids.join(' ') : null\n})\n\nconst labelShowing = computed(() => !!slots.label || !!props.label || isHorizontal.value)\n\nconst labelComponentProps = computed(() => ({\n label: props.label,\n labelTag: labelTag.value,\n labelId: labelId.value,\n computedLabelFor: computedLabelFor.value,\n isFieldset: isFieldset.value,\n isHorizontal: isHorizontal.value,\n labelColProps: labelColProps.value,\n labelAlignClasses: labelAlignClasses.value,\n labelClasses: labelClasses.value,\n}))\n\nconst contentComponentProps = computed(() => ({\n invalidFeedback: props.invalidFeedback,\n validFeedback: props.validFeedback,\n description: props.description,\n feedbackAriaLive: props.feedbackAriaLive,\n state: computedState.value,\n tooltip: props.tooltip,\n invalidFeedbackId: invalidFeedbackId.value,\n validFeedbackId: validFeedbackId.value,\n descriptionId: descriptionId.value,\n}))\n</script>\n","<template>\n <fieldset\n :id=\"computedId\"\n :disabled=\"props.disabled\"\n :aria-invalid=\"computedAriaInvalid\"\n :aria-labelledby=\"isFieldset && isHorizontal ? labelId : undefined\"\n v-bind=\"$attrs\"\n :class=\"[stateClass, {'was-validated': props.validated}]\"\n class=\"b-form-group\"\n >\n <!-- End of definitions -->\n <BFormRow v-if=\"isHorizontal\">\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <BCol v-bind=\"contentColProps\" ref=\"_content\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </BCol>\n </BFormRow>\n <template v-else>\n <div v-if=\"isFloating\" ref=\"_content\" class=\"form-floating\">\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </div>\n <template v-else>\n <BFormGroupLabel\n v-if=\"labelShowing\"\n v-bind=\"labelComponentProps\"\n @legend-click=\"onLegendClick\"\n >\n <template v-if=\"slots.label\" #label>\n <slot name=\"label\" />\n </template>\n </BFormGroupLabel>\n <slot\n :id=\"computedId\"\n :aria-describedby=\"computedAriaDescribedby\"\n :description-id=\"descriptionId\"\n :label-id=\"labelId\"\n />\n <BFormGroupContent v-bind=\"contentComponentProps\">\n <template v-if=\"slots['invalid-feedback']\" #invalid-feedback>\n <slot name=\"invalid-feedback\" />\n </template>\n <template v-if=\"slots['valid-feedback']\" #valid-feedback>\n <slot name=\"valid-feedback\" />\n </template>\n <template v-if=\"slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </BFormGroupContent>\n </template>\n </template>\n </fieldset>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, toRef, useTemplateRef} from 'vue'\nimport {useAriaInvalid} from '../../composables/useAriaInvalid'\nimport {attemptFocus, isVisible} from '../../utils/dom'\nimport BCol from '../BContainer/BCol.vue'\nimport BFormRow from '../BForm/BFormRow.vue'\nimport {suffixPropName} from '../../utils/props'\nimport {useStateClass} from '../../composables/useStateClass'\nimport {useId} from '../../composables/useId'\nimport type {BFormGroupProps, BFormGroupSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useProvideFormGroupData} from '../../composables/useProvideFormGroupData'\nimport BFormGroupContent from '../BFormGroupContent.vue'\nimport BFormGroupLabel from '../BFormGroupLabel.vue'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst INPUTS = ['input', 'select', 'textarea']\n\nconst _props = withDefaults(defineProps<BFormGroupProps>(), {\n ariaInvalid: undefined,\n contentCols: undefined,\n contentColsLg: undefined,\n contentColsMd: undefined,\n contentColsSm: undefined,\n contentColsXl: undefined,\n description: undefined,\n disabled: false,\n feedbackAriaLive: 'assertive',\n floating: false,\n id: undefined,\n invalidFeedback: undefined,\n label: undefined,\n labelAlign: undefined,\n labelAlignLg: undefined,\n labelAlignMd: undefined,\n labelAlignSm: undefined,\n labelAlignXl: undefined,\n labelClass: undefined,\n labelCols: undefined,\n labelColsLg: undefined,\n labelColsMd: undefined,\n labelColsSm: undefined,\n labelColsXl: undefined,\n labelFor: undefined,\n labelSize: undefined,\n labelVisuallyHidden: false,\n state: null,\n tooltip: false,\n validFeedback: undefined,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormGroup')\nconst slots = defineSlots<BFormGroupSlots>()\n\nconst computedState = toRef(() => props.state)\nconst computedDisabled = toRef(() => props.disabled)\nconst {singleLabelTargetId} = useProvideFormGroupData({\n state: computedState,\n disabled: computedDisabled,\n})\nconst computedLabelFor = computed(() => props.labelFor ?? singleLabelTargetId.value)\n\nconst breakPoints = ['xs', 'sm', 'md', 'lg', 'xl']\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getColProps = (props: any, prefix: string) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n breakPoints.reduce((result: any, breakpoint: string) => {\n const suffix = suffixPropName(breakpoint === 'xs' ? '' : breakpoint, `${prefix}Cols`)\n let propValue = props[suffix]\n propValue = propValue === '' ? true : propValue || false\n\n if (!(typeof propValue === 'boolean') && propValue !== 'auto') {\n const val = Number.parseInt(propValue)\n propValue = Number.isNaN(val) ? 0 : val\n propValue = propValue > 0 ? propValue : false\n }\n\n if (propValue) {\n if (breakpoint === 'xs') {\n result[typeof propValue === 'boolean' ? 'col' : 'cols'] = propValue\n } else {\n result[breakpoint || (typeof propValue === 'boolean' ? 'col' : 'cols')] = propValue\n }\n }\n return result\n }, {})\n\nconst content = useTemplateRef<HTMLDivElement | InstanceType<typeof BCol> | null>('_content')\n\nconst contentColProps = computed(() => getColProps(props, 'content'))\nconst labelAlignClasses = computed(() =>\n ((props: BFormGroupProps, prefix: string) =>\n breakPoints.reduce((result: string[], breakpoint) => {\n const suffix = suffixPropName(\n breakpoint === 'xs' ? '' : breakpoint,\n `${prefix}Align`\n ) as keyof BFormGroupProps\n const propValue: string = props[suffix] || null\n if (propValue) {\n if (breakpoint === 'xs') {\n result.push(`text-${propValue}`)\n } else {\n result.push(`text-${breakpoint}-${propValue}`)\n }\n }\n return result\n }, []))(props, 'label')\n)\nconst labelColProps = computed(() => getColProps(props, 'label'))\nconst isHorizontal = computed(\n () => Object.keys(contentColProps.value).length > 0 || Object.keys(labelColProps.value).length > 0\n)\nconst isFloating = computed(() => props.floating && !isHorizontal.value)\n\nconst stateClass = useStateClass(computedState)\nconst computedAriaInvalid = useAriaInvalid(() => props.ariaInvalid, computedState)\n\nconst onLegendClick = (event: Readonly<MouseEvent>) => {\n if (computedLabelFor.value || content.value === null) return\n\n const {target} = event\n const tagName = target ? (target as HTMLElement).tagName : ''\n\n if ([...INPUTS, 'a', 'button', 'label'].indexOf(tagName) !== -1) return\n\n // In horizontal mode, content.value is a BCol component instance, not a DOM element\n // Access the DOM element via $el property\n const contentElement =\n isHorizontal.value && content.value && '$el' in content.value\n ? (content.value.$el as HTMLElement)\n : (content.value as HTMLDivElement | null)\n if (!contentElement) return\n\n const inputs = [\n ...contentElement.querySelectorAll(INPUTS.map((v) => `${v}:not([disabled])`).join()),\n ].filter(isVisible)\n const [inp] = inputs\n if (inputs.length === 1 && inp instanceof HTMLElement) {\n attemptFocus(inp)\n }\n}\n\nconst computedId = useId(() => props.id)\nconst labelId = useId(undefined, '_BV_label_')\nconst labelTag = computed(() => (!isFieldset.value ? 'label' : 'legend'))\nconst labelClasses = computed(() => [\n isHorizontal.value ? 'col-form-label' : 'form-label',\n {\n 'bv-no-focus-ring': !isFloating.value && !computedLabelFor.value,\n 'col-form-label': isHorizontal.value || (!isFloating.value && !computedLabelFor.value),\n 'pt-0': !isHorizontal.value && !isFloating.value && !computedLabelFor.value,\n 'd-block': !isHorizontal.value && (isFloating.value || !!computedLabelFor.value),\n [`col-form-label-${props.labelSize}`]: !!props.labelSize,\n 'visually-hidden': props.labelVisuallyHidden,\n },\n isHorizontal.value ? null : labelAlignClasses.value,\n props.labelClass,\n])\n\nconst invalidFeedbackId = useId(undefined, '_BV_feedback_invalid_')\n\nconst validFeedbackId = useId(undefined, '_BV_feedback_valid_')\nconst descriptionId = useId(undefined, '_BV_description_')\n\nconst isFieldset = computed(() => !isFloating.value && !computedLabelFor.value)\n\nconst hasDescription = computed(() => !!slots.description || !!props.description)\nconst hasInvalidFeedback = computed(() => !!slots['invalid-feedback'] || !!props.invalidFeedback)\nconst hasValidFeedback = computed(() => !!slots['valid-feedback'] || !!props.validFeedback)\n\nconst computedAriaDescribedby = computed<string | null>(() => {\n const ids: string[] = []\n if (hasDescription.value) ids.push(descriptionId.value)\n if (computedState.value === false && hasInvalidFeedback.value) ids.push(invalidFeedbackId.value)\n if (computedState.value === true && hasValidFeedback.value) ids.push(validFeedbackId.value)\n return ids.length > 0 ? ids.join(' ') : null\n})\n\nconst labelShowing = computed(() => !!slots.label || !!props.label || isHorizontal.value)\n\nconst labelComponentProps = computed(() => ({\n label: props.label,\n labelTag: labelTag.value,\n labelId: labelId.value,\n computedLabelFor: computedLabelFor.value,\n isFieldset: isFieldset.value,\n isHorizontal: isHorizontal.value,\n labelColProps: labelColProps.value,\n labelAlignClasses: labelAlignClasses.value,\n labelClasses: labelClasses.value,\n}))\n\nconst contentComponentProps = computed(() => ({\n invalidFeedback: props.invalidFeedback,\n validFeedback: props.validFeedback,\n description: props.description,\n feedbackAriaLive: props.feedbackAriaLive,\n state: computedState.value,\n tooltip: props.tooltip,\n invalidFeedbackId: invalidFeedbackId.value,\n validFeedbackId: validFeedbackId.value,\n descriptionId: descriptionId.value,\n}))\n</script>\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { p as inputGroupKey } from "./keys-
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
-
import { n as normalizeInput, t as useFormInput } from "./useFormInput-
|
|
1
|
+
import { p as inputGroupKey } from "./keys-BgLwJbLV.js";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
3
|
+
import { n as normalizeInput, t as useFormInput } from "./useFormInput-DZ_3ZH1o.js";
|
|
4
4
|
import { computed, createElementBlock, defineComponent, inject, mergeModels, normalizeClass, openBlock, unref, useModel, useTemplateRef } from "vue";
|
|
5
5
|
//#region src/components/BFormInput/BFormInput.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = [
|
|
@@ -25,7 +25,7 @@ var _hoisted_1 = [
|
|
|
25
25
|
//#region src/components/BFormInput/BFormInput.vue
|
|
26
26
|
var BFormInput_default = /* @__PURE__ */ defineComponent({
|
|
27
27
|
__name: "BFormInput",
|
|
28
|
-
props:
|
|
28
|
+
props: /*@__PURE__*/ mergeModels({
|
|
29
29
|
max: { default: void 0 },
|
|
30
30
|
min: { default: void 0 },
|
|
31
31
|
step: { default: void 0 },
|
|
@@ -133,4 +133,4 @@ var BFormInput_default = /* @__PURE__ */ defineComponent({
|
|
|
133
133
|
//#endregion
|
|
134
134
|
export { BFormInput_default as t };
|
|
135
135
|
|
|
136
|
-
//# sourceMappingURL=BFormInput-
|
|
136
|
+
//# sourceMappingURL=BFormInput-BwvdFGDu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BFormInput-
|
|
1
|
+
{"version":3,"file":"BFormInput-BwvdFGDu.js","names":[],"sources":["../src/components/BFormInput/BFormInput.vue","../src/components/BFormInput/BFormInput.vue"],"sourcesContent":["<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <input\n :id=\"computedId\"\n ref=\"_input\"\n :value=\"modelValue\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :type=\"props.type\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :min=\"props.min\"\n :max=\"props.max\"\n :step=\"props.step\"\n :list=\"props.type !== 'password' ? props.list : undefined\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n @input=\"onInput\"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport type {BFormInputProps} from '../../types'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {inputGroupKey} from '../../utils/keys'\n\nconst _props = withDefaults(defineProps<Omit<BFormInputProps, 'modelValue'>>(), {\n max: undefined,\n min: undefined,\n step: undefined,\n type: 'text',\n // CommonInputProps\n ariaInvalid: undefined,\n autocomplete: undefined,\n autofocus: false,\n debounce: 0,\n debounceMaxWait: Number.NaN,\n disabled: false,\n form: undefined,\n formatter: undefined,\n id: undefined,\n lazyFormatter: false,\n list: undefined,\n modelValue: '',\n name: undefined,\n placeholder: undefined,\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: undefined,\n // End CommonInputProps\n})\nconst props = useDefaults(_props, 'BFormInput')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormInputProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst inInputGroup = inject(inputGroupKey, false)\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n onChange,\n onBlur,\n stateClass,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => {\n const isRange = props.type === 'range'\n const isColor = props.type === 'color'\n return [\n stateClass.value,\n {\n 'form-range': isRange,\n 'form-control': isColor || (!props.plaintext && !isRange) || (isRange && inInputGroup),\n 'form-control-color': isColor,\n 'form-control-plaintext': props.plaintext && !isRange && !isColor,\n [`form-control-${props.size}`]: !!props.size,\n },\n ]\n})\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6DA,MAAM,QAAQ,YAAY,SAAQ,YAAY;EAE9C,MAAM,CAAC,YAAY,kBAAkB,SAGpC,SAAA,cAAC,EAEA,MAAM,MAAM,eAAe,GAAG,cAAc,EAC9C,CAAC;EAED,MAAM,QAAQ,eAAe,QAAQ;EAErC,MAAM,eAAe,OAAO,eAAe,KAAK;EAEhD,MAAM,EACJ,YACA,qBACA,SACA,UACA,QACA,YACA,OACA,MACA,eACE,aAAa,OAAO,OAAO,YAAY,cAAc;EAEzD,MAAM,kBAAkB,eAAe;GACrC,MAAM,UAAU,MAAM,SAAS;GAC/B,MAAM,UAAU,MAAM,SAAS;GAC/B,OAAO,CACL,WAAW,OACX;IACE,cAAc;IACd,gBAAgB,WAAY,CAAC,MAAM,aAAa,CAAC,WAAa,WAAW;IACzE,sBAAsB;IACtB,0BAA0B,MAAM,aAAa,CAAC,WAAW,CAAC;KACzD,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM;GAC1C,CACF;EACF,CAAC;EAED,SAAa;GACX;GACA,SAAS;GACT,eAAe;GACf;EACF,CAAC;;GA1GC,OAAA,UAAA,GAAA,mBAsBE,SAAA;IArBC,IAAI,MAAA,UAAA;IACL,KAAI;IACH,OAAO,MAAA,UAAA;IACP,OAAK,eAAE,gBAAA,KAAe;IACtB,MAAM,MAAA,KAAA,CAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,KAAA,CAAK,CAAC,QAAQ,KAAA;IACpB,MAAM,MAAA,KAAA,CAAK,CAAC;IACZ,UAAU,MAAA,UAAA;IACV,aAAa,MAAA,KAAA,CAAK,CAAC;IACnB,UAAU,MAAA,KAAA,CAAK,CAAC,YAAY,KAAA;IAC5B,cAAc,MAAA,KAAA,CAAK,CAAC,gBAAgB,KAAA;IACpC,UAAU,MAAA,KAAA,CAAK,CAAC,YAAY,MAAA,KAAA,CAAK,CAAC;IAClC,KAAK,MAAA,KAAA,CAAK,CAAC;IACX,KAAK,MAAA,KAAA,CAAK,CAAC;IACX,MAAM,MAAA,KAAA,CAAK,CAAC;IACZ,MAAM,MAAA,KAAA,CAAK,CAAC,SAAI,aAAkB,MAAA,KAAA,CAAK,CAAC,OAAO,KAAA;IAC/C,iBAAe,MAAA,KAAA,CAAK,CAAC,YAAY,KAAA;IACjC,gBAAc,MAAA,mBAAA;IACd,SAAK,OAAA,OAAA,OAAA,MAAE,GAAA,SAAA,MAAA,OAAA,KAAA,MAAA,OAAA,CAAA,CAAA,GAAA,IAAA;IACP,UAAM,OAAA,OAAA,OAAA,MAAE,GAAA,SAAA,MAAA,QAAA,KAAA,MAAA,QAAA,CAAA,CAAA,GAAA,IAAA;IACR,QAAI,OAAA,OAAA,OAAA,MAAE,GAAA,SAAA,MAAA,MAAA,KAAA,MAAA,MAAA,CAAA,CAAA,GAAA,IAAA"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { t as VisuallyHiddenInput_default } from "./VisuallyHiddenInput-
|
|
7
|
-
import { t as
|
|
1
|
+
import { S as useToNumber } from "./dist-DKc2ivHS.js";
|
|
2
|
+
import { S as useVModel } from "./dist-9-XTMhb-.js";
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
4
|
+
import { t as useId$1 } from "./useId-Fh-Arhb7.js";
|
|
5
|
+
import { a as useDirection, c as getActiveElement, l as createContext, n as usePrimitiveElement, r as Primitive } from "./VisuallyHidden-BYzyjJiY.js";
|
|
6
|
+
import { n as useComposing, t as VisuallyHiddenInput_default } from "./VisuallyHiddenInput-CUrc8XXa.js";
|
|
7
|
+
import { t as useForwardExpose } from "./useForwardExpose-DDvk7mir.js";
|
|
8
|
+
import { t as BFormInput_default } from "./BFormInput-BwvdFGDu.js";
|
|
8
9
|
import { Fragment, computed, createBlock, createElementBlock, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, toRefs, unref, useModel, watch, withCtx, withKeys } from "vue";
|
|
9
|
-
//#region ../../node_modules/.pnpm/reka-ui@2.
|
|
10
|
+
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/shared/useArrowNavigation.js
|
|
10
11
|
var ignoredElement = ["INPUT", "TEXTAREA"];
|
|
11
12
|
/**
|
|
12
13
|
* Allow arrow navigation for every html element with data-reka-collection-item tag
|
|
@@ -65,8 +66,8 @@ function findNextFocusableElement(elements, currentElement, options, iterations
|
|
|
65
66
|
return candidate;
|
|
66
67
|
}
|
|
67
68
|
//#endregion
|
|
68
|
-
//#region ../../node_modules/.pnpm/reka-ui@2.
|
|
69
|
-
var [injectPinInputRootContext, providePinInputRootContext] = createContext("PinInputRoot");
|
|
69
|
+
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/PinInput/PinInputRoot.js
|
|
70
|
+
var [injectPinInputRootContext, providePinInputRootContext] = /*#__PURE__*/ createContext("PinInputRoot");
|
|
70
71
|
var PinInputRoot_default = /* @__PURE__ */ defineComponent({
|
|
71
72
|
inheritAttrs: false,
|
|
72
73
|
__name: "PinInputRoot",
|
|
@@ -198,7 +199,7 @@ var PinInputRoot_default = /* @__PURE__ */ defineComponent({
|
|
|
198
199
|
}
|
|
199
200
|
});
|
|
200
201
|
//#endregion
|
|
201
|
-
//#region ../../node_modules/.pnpm/reka-ui@2.
|
|
202
|
+
//#region ../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/PinInput/PinInputInput.js
|
|
202
203
|
var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
203
204
|
__name: "PinInputInput",
|
|
204
205
|
props: {
|
|
@@ -223,20 +224,51 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
223
224
|
setup(__props) {
|
|
224
225
|
const props = __props;
|
|
225
226
|
const context = injectPinInputRootContext();
|
|
226
|
-
const inputElements = computed(() =>
|
|
227
|
+
const inputElements = computed(() => [...context.inputElements.value]);
|
|
227
228
|
const currentValue = computed(() => context.currentModelValue.value[props.index]);
|
|
228
229
|
const disabled = computed(() => props.disabled || context.disabled.value);
|
|
229
230
|
const isOtpMode = computed(() => context.otp.value);
|
|
230
231
|
const isPasswordMode = computed(() => context.mask.value);
|
|
232
|
+
const NUMBER_REG = /^\d*$/;
|
|
233
|
+
const NON_NUMBER_REG = /\D/g;
|
|
231
234
|
const { primitiveElement, currentElement } = usePrimitiveElement();
|
|
235
|
+
const { isComposing, handleCompositionStart, handleCompositionEnd } = useComposing((event) => {
|
|
236
|
+
const target = event.target;
|
|
237
|
+
const value = event.data || target.value;
|
|
238
|
+
if (context.isNumericMode.value) {
|
|
239
|
+
const filtered = value.replace(NON_NUMBER_REG, "");
|
|
240
|
+
if (!filtered) {
|
|
241
|
+
target.value = "";
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
if (filtered.length > 1) {
|
|
245
|
+
handleMultipleCharacter(filtered);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
target.value = filtered;
|
|
249
|
+
updateModelValueAt(props.index, filtered);
|
|
250
|
+
const nextEl$1 = inputElements.value[props.index + 1];
|
|
251
|
+
if (nextEl$1) nextEl$1.focus();
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
if (value.length > 1) {
|
|
255
|
+
handleMultipleCharacter(value);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
target.value = value;
|
|
259
|
+
updateModelValueAt(props.index, value);
|
|
260
|
+
const nextEl = inputElements.value[props.index + 1];
|
|
261
|
+
if (nextEl) nextEl.focus();
|
|
262
|
+
});
|
|
232
263
|
function handleInput(event) {
|
|
264
|
+
if (isComposing.value || event.isComposing) return;
|
|
233
265
|
const target = event.target;
|
|
234
266
|
if ((event.data?.length ?? 0) > 1) {
|
|
235
267
|
handleMultipleCharacter(target.value);
|
|
236
268
|
return;
|
|
237
269
|
}
|
|
238
|
-
if (context.isNumericMode.value &&
|
|
239
|
-
target.value = target.value.replace(
|
|
270
|
+
if (context.isNumericMode.value && !NUMBER_REG.test(target.value)) {
|
|
271
|
+
target.value = target.value.replace(NON_NUMBER_REG, "");
|
|
240
272
|
return;
|
|
241
273
|
}
|
|
242
274
|
target.value = event.data || target.value.slice(-1);
|
|
@@ -253,6 +285,7 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
253
285
|
});
|
|
254
286
|
}
|
|
255
287
|
function handleKeydown(event) {
|
|
288
|
+
if (isComposing.value || event.isComposing) return;
|
|
256
289
|
useArrowNavigation(event, getActiveElement(), void 0, {
|
|
257
290
|
itemsArray: inputElements.value,
|
|
258
291
|
focus: true,
|
|
@@ -296,7 +329,8 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
296
329
|
event.preventDefault();
|
|
297
330
|
const clipboardData = event.clipboardData;
|
|
298
331
|
if (!clipboardData) return;
|
|
299
|
-
|
|
332
|
+
const rawValues = clipboardData.getData("text");
|
|
333
|
+
handleMultipleCharacter(context.isNumericMode.value ? rawValues.replace(NON_NUMBER_REG, "") : rawValues);
|
|
300
334
|
}
|
|
301
335
|
function handleMultipleCharacter(values) {
|
|
302
336
|
const tempModelValue = [...context.currentModelValue.value];
|
|
@@ -305,8 +339,11 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
305
339
|
for (let i = initialIndex; i < lastIndex; i++) {
|
|
306
340
|
const input = inputElements.value[i];
|
|
307
341
|
const value = values[i - initialIndex];
|
|
308
|
-
if (context.isNumericMode.value
|
|
309
|
-
|
|
342
|
+
if (context.isNumericMode.value) {
|
|
343
|
+
const num = Number.parseInt(value);
|
|
344
|
+
if (Number.isNaN(num)) continue;
|
|
345
|
+
tempModelValue[i] = num;
|
|
346
|
+
} else tempModelValue[i] = value;
|
|
310
347
|
input.focus();
|
|
311
348
|
}
|
|
312
349
|
context.modelValue.value = tempModelValue;
|
|
@@ -368,7 +405,9 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
368
405
|
],
|
|
369
406
|
onFocus: handleFocus,
|
|
370
407
|
onBlur: handleBlur,
|
|
371
|
-
onPaste: handlePaste
|
|
408
|
+
onPaste: handlePaste,
|
|
409
|
+
onCompositionstart: unref(handleCompositionStart),
|
|
410
|
+
onCompositionend: unref(handleCompositionEnd)
|
|
372
411
|
}, {
|
|
373
412
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
374
413
|
_: 3
|
|
@@ -384,7 +423,9 @@ var PinInputInput_default = /* @__PURE__ */ defineComponent({
|
|
|
384
423
|
"disabled",
|
|
385
424
|
"data-disabled",
|
|
386
425
|
"data-complete",
|
|
387
|
-
"aria-label"
|
|
426
|
+
"aria-label",
|
|
427
|
+
"onCompositionstart",
|
|
428
|
+
"onCompositionend"
|
|
388
429
|
]);
|
|
389
430
|
};
|
|
390
431
|
}
|
|
@@ -396,7 +437,7 @@ var lengthDefault = 6;
|
|
|
396
437
|
//#region src/components/BFormOtp/BFormOtp.vue
|
|
397
438
|
var BFormOtp_default = /* @__PURE__ */ defineComponent({
|
|
398
439
|
__name: "BFormOtp",
|
|
399
|
-
props:
|
|
440
|
+
props: /*@__PURE__*/ mergeModels({
|
|
400
441
|
ariaInvalid: {
|
|
401
442
|
type: [Boolean, String],
|
|
402
443
|
default: void 0
|
|
@@ -447,7 +488,7 @@ var BFormOtp_default = /* @__PURE__ */ defineComponent({
|
|
|
447
488
|
"modelValue": { default: () => [] },
|
|
448
489
|
"modelModifiers": {}
|
|
449
490
|
}),
|
|
450
|
-
emits:
|
|
491
|
+
emits: /*@__PURE__*/ mergeModels(["complete"], ["update:modelValue"]),
|
|
451
492
|
setup(__props, { emit: __emit }) {
|
|
452
493
|
const props = useDefaults(__props, "BFormOtp");
|
|
453
494
|
const emit = __emit;
|
|
@@ -533,4 +574,4 @@ var BFormOtp_default = /* @__PURE__ */ defineComponent({
|
|
|
533
574
|
//#endregion
|
|
534
575
|
export { BFormOtp_default as t };
|
|
535
576
|
|
|
536
|
-
//# sourceMappingURL=BFormOtp-
|
|
577
|
+
//# sourceMappingURL=BFormOtp-I1t8dqPS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BFormOtp-I1t8dqPS.js","names":[],"sources":["../../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/shared/useArrowNavigation.js","../../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/PinInput/PinInputRoot.js","../../../node_modules/.pnpm/reka-ui@2.10.3_vue@3.5.41_typescript@5.9.3_/node_modules/reka-ui/dist/PinInput/PinInputInput.js","../src/components/BFormOtp/BFormOtp.vue","../src/components/BFormOtp/BFormOtp.vue"],"sourcesContent":["//#region src/shared/useArrowNavigation.ts\nconst ignoredElement = [\"INPUT\", \"TEXTAREA\"];\n/**\n* Allow arrow navigation for every html element with data-reka-collection-item tag\n*\n* @param e Keyboard event\n* @param currentElement Event initiator element or any element that wants to handle the navigation\n* @param parentElement Parent element where contains all the collection items, this will collect every item to be used when nav\n* @param options further options\n* @returns the navigated html element or null if none\n*/\nfunction useArrowNavigation(e, currentElement, parentElement, options = {}) {\n\tif (!currentElement || options.enableIgnoredElement && ignoredElement.includes(currentElement.nodeName)) return null;\n\tconst { arrowKeyOptions = \"both\", attributeName = \"[data-reka-collection-item]\", itemsArray = [], loop = true, dir = \"ltr\", preventScroll = true, focus = false } = options;\n\tconst [right, left, up, down, home, end] = [\n\t\te.key === \"ArrowRight\",\n\t\te.key === \"ArrowLeft\",\n\t\te.key === \"ArrowUp\",\n\t\te.key === \"ArrowDown\",\n\t\te.key === \"Home\",\n\t\te.key === \"End\"\n\t];\n\tconst goingVertical = up || down;\n\tconst goingHorizontal = right || left;\n\tif (!home && !end && (!goingVertical && !goingHorizontal || arrowKeyOptions === \"vertical\" && goingHorizontal || arrowKeyOptions === \"horizontal\" && goingVertical)) return null;\n\tconst allCollectionItems = parentElement ? Array.from(parentElement.querySelectorAll(attributeName)) : itemsArray;\n\tif (!allCollectionItems.length) return null;\n\tif (preventScroll) e.preventDefault();\n\tlet item = null;\n\tif (goingHorizontal || goingVertical) {\n\t\tconst goForward = goingVertical ? down : dir === \"ltr\" ? right : left;\n\t\titem = findNextFocusableElement(allCollectionItems, currentElement, {\n\t\t\tgoForward,\n\t\t\tloop\n\t\t});\n\t} else if (home) item = allCollectionItems.at(0) || null;\n\telse if (end) item = allCollectionItems.at(-1) || null;\n\tif (focus) item?.focus();\n\treturn item;\n}\n/**\n* Recursive function to find the next focusable element to avoid disabled elements\n*\n* @param elements Elements to navigate\n* @param currentElement Current active element\n* @param options\n* @returns next focusable element\n*/\nfunction findNextFocusableElement(elements, currentElement, options, iterations = !elements.includes(currentElement) ? elements.length + 1 : elements.length) {\n\tif (--iterations === 0) return null;\n\tconst index = elements.indexOf(currentElement);\n\tlet newIndex;\n\tif (index === -1) newIndex = options.goForward ? 0 : elements.length - 1;\n\telse newIndex = options.goForward ? index + 1 : index - 1;\n\tif (!options.loop && (newIndex < 0 || newIndex >= elements.length)) return null;\n\tconst adjustedNewIndex = (newIndex + elements.length) % elements.length;\n\tconst candidate = elements[adjustedNewIndex];\n\tif (!candidate) return null;\n\tconst isDisabled = candidate.hasAttribute(\"disabled\") && candidate.getAttribute(\"disabled\") !== \"false\";\n\tif (isDisabled) return findNextFocusableElement(elements, candidate, options, iterations);\n\treturn candidate;\n}\n\n//#endregion\nexport { useArrowNavigation };\n//# sourceMappingURL=useArrowNavigation.js.map","import { createContext } from \"../shared/createContext.js\";\nimport { useDirection } from \"../shared/useDirection.js\";\nimport { useForwardExpose } from \"../shared/useForwardExpose.js\";\nimport { Primitive } from \"../Primitive/Primitive.js\";\nimport { VisuallyHiddenInput_default } from \"../VisuallyHidden/VisuallyHiddenInput.js\";\nimport { computed, createBlock, createVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toRefs, unref, watch, withCtx } from \"vue\";\nimport { useVModel } from \"@vueuse/core\";\n\n//#region src/PinInput/PinInputRoot.vue?vue&type=script&setup=true&lang.ts\nconst [injectPinInputRootContext, providePinInputRootContext] = /*#__PURE__*/ createContext(\"PinInputRoot\");\nvar PinInputRoot_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\tinheritAttrs: false,\n\t__name: \"PinInputRoot\",\n\tprops: {\n\t\tmodelValue: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tdefaultValue: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: \"\"\n\t\t},\n\t\tmask: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\totp: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\ttype: {\n\t\t\ttype: null,\n\t\t\trequired: false,\n\t\t\tdefault: \"text\"\n\t\t},\n\t\tdir: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t}\n\t},\n\temits: [\"update:modelValue\", \"complete\"],\n\tsetup(__props, { emit: __emit }) {\n\t\tconst props = __props;\n\t\tconst emits = __emit;\n\t\tconst { mask, otp, placeholder, type, disabled, dir: propDir } = toRefs(props);\n\t\tconst { forwardRef } = useForwardExpose();\n\t\tconst dir = useDirection(propDir);\n\t\tconst modelValue = useVModel(props, \"modelValue\", emits, {\n\t\t\tdefaultValue: props.defaultValue ?? [],\n\t\t\tpassive: true,\n\t\t\tdeep: true\n\t\t});\n\t\tconst currentModelValue = computed(() => Array.isArray(modelValue.value) ? [...modelValue.value] : []);\n\t\tconst inputElements = ref(/* @__PURE__ */ new Set());\n\t\tfunction onInputElementChange(el) {\n\t\t\tinputElements.value.add(el);\n\t\t}\n\t\tconst isNumericMode = computed(() => props.type === \"number\");\n\t\tconst isCompleted = computed(() => {\n\t\t\tconst modelValues = currentModelValue.value.filter((i) => !!i || isNumericMode.value && i === 0);\n\t\t\treturn modelValues.length === inputElements.value.size;\n\t\t});\n\t\twatch(modelValue, () => {\n\t\t\tif (isCompleted.value) emits(\"complete\", modelValue.value);\n\t\t}, { deep: true });\n\t\tprovidePinInputRootContext({\n\t\t\tmodelValue,\n\t\t\tcurrentModelValue,\n\t\t\tmask,\n\t\t\totp,\n\t\t\tplaceholder,\n\t\t\ttype,\n\t\t\tdir,\n\t\t\tdisabled,\n\t\t\tisCompleted,\n\t\t\tinputElements,\n\t\t\tonInputElementChange,\n\t\t\tisNumericMode\n\t\t});\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), mergeProps(_ctx.$attrs, {\n\t\t\t\tref: unref(forwardRef),\n\t\t\t\tdir: unref(dir),\n\t\t\t\t\"data-complete\": isCompleted.value ? \"\" : void 0,\n\t\t\t\t\"data-disabled\": unref(disabled) ? \"\" : void 0\n\t\t\t}), {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\", { modelValue: unref(modelValue) }), createVNode(VisuallyHiddenInput_default, {\n\t\t\t\t\tid: _ctx.id,\n\t\t\t\t\tas: \"input\",\n\t\t\t\t\tfeature: \"focusable\",\n\t\t\t\t\ttabindex: \"-1\",\n\t\t\t\t\tvalue: currentModelValue.value.join(\"\"),\n\t\t\t\t\tname: _ctx.name ?? \"\",\n\t\t\t\t\tdisabled: unref(disabled),\n\t\t\t\t\trequired: _ctx.required,\n\t\t\t\t\tonFocus: _cache[0] || (_cache[0] = ($event) => Array.from(inputElements.value)?.[0]?.focus())\n\t\t\t\t}, null, 8, [\n\t\t\t\t\t\"id\",\n\t\t\t\t\t\"value\",\n\t\t\t\t\t\"name\",\n\t\t\t\t\t\"disabled\",\n\t\t\t\t\t\"required\"\n\t\t\t\t])]),\n\t\t\t\t_: 3\n\t\t\t}, 16, [\n\t\t\t\t\"dir\",\n\t\t\t\t\"data-complete\",\n\t\t\t\t\"data-disabled\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/PinInput/PinInputRoot.vue\nvar PinInputRoot_default = PinInputRoot_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { PinInputRoot_default, injectPinInputRootContext };\n//# sourceMappingURL=PinInputRoot.js.map","import { getActiveElement } from \"../shared/getActiveElement.js\";\nimport { useArrowNavigation } from \"../shared/useArrowNavigation.js\";\nimport { useComposing } from \"../shared/useComposing.js\";\nimport { Primitive } from \"../Primitive/Primitive.js\";\nimport { usePrimitiveElement } from \"../Primitive/usePrimitiveElement.js\";\nimport { injectPinInputRootContext } from \"./PinInputRoot.js\";\nimport { computed, createBlock, defineComponent, nextTick, onMounted, onUnmounted, openBlock, renderSlot, unref, watch, withCtx, withKeys } from \"vue\";\n\n//#region src/PinInput/PinInputInput.vue?vue&type=script&setup=true&lang.ts\nvar PinInputInput_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({\n\t__name: \"PinInputInput\",\n\tprops: {\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\trequired: true\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tasChild: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false\n\t\t},\n\t\tas: {\n\t\t\ttype: null,\n\t\t\trequired: false,\n\t\t\tdefault: \"input\"\n\t\t}\n\t},\n\tsetup(__props) {\n\t\tconst props = __props;\n\t\tconst context = injectPinInputRootContext();\n\t\tconst inputElements = computed(() => [...context.inputElements.value]);\n\t\tconst currentValue = computed(() => context.currentModelValue.value[props.index]);\n\t\tconst disabled = computed(() => props.disabled || context.disabled.value);\n\t\tconst isOtpMode = computed(() => context.otp.value);\n\t\tconst isPasswordMode = computed(() => context.mask.value);\n\t\tconst NUMBER_REG = /^\\d*$/;\n\t\tconst NON_NUMBER_REG = /\\D/g;\n\t\tconst { primitiveElement, currentElement } = usePrimitiveElement();\n\t\tconst { isComposing, handleCompositionStart, handleCompositionEnd } = useComposing((event) => {\n\t\t\tconst target = event.target;\n\t\t\tconst value = event.data || target.value;\n\t\t\tif (context.isNumericMode.value) {\n\t\t\t\tconst filtered = value.replace(NON_NUMBER_REG, \"\");\n\t\t\t\tif (!filtered) {\n\t\t\t\t\ttarget.value = \"\";\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (filtered.length > 1) {\n\t\t\t\t\thandleMultipleCharacter(filtered);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttarget.value = filtered;\n\t\t\t\tupdateModelValueAt(props.index, filtered);\n\t\t\t\tconst nextEl$1 = inputElements.value[props.index + 1];\n\t\t\t\tif (nextEl$1) nextEl$1.focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (value.length > 1) {\n\t\t\t\thandleMultipleCharacter(value);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttarget.value = value;\n\t\t\tupdateModelValueAt(props.index, value);\n\t\t\tconst nextEl = inputElements.value[props.index + 1];\n\t\t\tif (nextEl) nextEl.focus();\n\t\t});\n\t\tfunction handleInput(event) {\n\t\t\tif (isComposing.value || event.isComposing) return;\n\t\t\tconst target = event.target;\n\t\t\tif ((event.data?.length ?? 0) > 1) {\n\t\t\t\thandleMultipleCharacter(target.value);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (context.isNumericMode.value && !NUMBER_REG.test(target.value)) {\n\t\t\t\ttarget.value = target.value.replace(NON_NUMBER_REG, \"\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttarget.value = event.data || target.value.slice(-1);\n\t\t\tupdateModelValueAt(props.index, target.value);\n\t\t\tconst nextEl = inputElements.value[props.index + 1];\n\t\t\tif (nextEl) nextEl.focus();\n\t\t}\n\t\tfunction updatePlaceholder() {\n\t\t\tnextTick(() => {\n\t\t\t\tconst target = currentElement.value;\n\t\t\t\tif (!target) return;\n\t\t\t\tif (!target.value && target === getActiveElement()) target.placeholder = \"\";\n\t\t\t\telse target.placeholder = context.placeholder.value;\n\t\t\t});\n\t\t}\n\t\tfunction handleKeydown(event) {\n\t\t\tif (isComposing.value || event.isComposing) return;\n\t\t\tuseArrowNavigation(event, getActiveElement(), void 0, {\n\t\t\t\titemsArray: inputElements.value,\n\t\t\t\tfocus: true,\n\t\t\t\tloop: false,\n\t\t\t\tarrowKeyOptions: \"horizontal\",\n\t\t\t\tdir: context.dir.value\n\t\t\t});\n\t\t}\n\t\tfunction handleBackspace(event) {\n\t\t\tevent.preventDefault();\n\t\t\tconst target = event.target;\n\t\t\tconst value = target.value;\n\t\t\tif (value) updateModelValueAt(props.index, \"\");\n\t\t\telse {\n\t\t\t\tconst prevEl = inputElements.value[props.index - 1];\n\t\t\t\tif (prevEl) {\n\t\t\t\t\tprevEl.focus();\n\t\t\t\t\tupdateModelValueAt(props.index - 1, \"\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfunction handleDelete(event) {\n\t\t\tif (event.key === \"Delete\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tupdateModelValueAt(props.index, \"\");\n\t\t\t}\n\t\t}\n\t\tfunction handleFocus(event) {\n\t\t\tif (context.otp.value) {\n\t\t\t\tconst firstEmptyInputIdx = inputElements.value.findIndex((_, idx) => context.currentModelValue.value[idx] === \"\" || context.currentModelValue.value[idx] === void 0);\n\t\t\t\tif (firstEmptyInputIdx !== -1 && firstEmptyInputIdx < props.index) {\n\t\t\t\t\tinputElements.value[firstEmptyInputIdx].focus();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst target = event.target;\n\t\t\ttarget.setSelectionRange(1, 1);\n\t\t\tupdatePlaceholder();\n\t\t}\n\t\tfunction handleBlur(event) {\n\t\t\tupdatePlaceholder();\n\t\t}\n\t\tfunction handlePaste(event) {\n\t\t\tevent.preventDefault();\n\t\t\tconst clipboardData = event.clipboardData;\n\t\t\tif (!clipboardData) return;\n\t\t\tconst rawValues = clipboardData.getData(\"text\");\n\t\t\tconst values = context.isNumericMode.value ? rawValues.replace(NON_NUMBER_REG, \"\") : rawValues;\n\t\t\thandleMultipleCharacter(values);\n\t\t}\n\t\tfunction handleMultipleCharacter(values) {\n\t\t\tconst tempModelValue = [...context.currentModelValue.value];\n\t\t\tconst initialIndex = values.length >= inputElements.value.length ? 0 : props.index;\n\t\t\tconst lastIndex = Math.min(initialIndex + values.length, inputElements.value.length);\n\t\t\tfor (let i = initialIndex; i < lastIndex; i++) {\n\t\t\t\tconst input = inputElements.value[i];\n\t\t\t\tconst value = values[i - initialIndex];\n\t\t\t\tif (context.isNumericMode.value) {\n\t\t\t\t\tconst num = Number.parseInt(value);\n\t\t\t\t\tif (Number.isNaN(num)) continue;\n\t\t\t\t\ttempModelValue[i] = num;\n\t\t\t\t} else tempModelValue[i] = value;\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t\tcontext.modelValue.value = tempModelValue;\n\t\t\tinputElements.value[lastIndex]?.focus();\n\t\t}\n\t\tfunction removeTrailingEmptyStrings(input) {\n\t\t\tlet i = input.length - 1;\n\t\t\twhile (i >= 0 && input[i] === \"\") {\n\t\t\t\tinput.pop();\n\t\t\t\ti--;\n\t\t\t}\n\t\t\treturn input;\n\t\t}\n\t\tfunction updateModelValueAt(index, value) {\n\t\t\tconst tempModelValue = [...context.currentModelValue.value];\n\t\t\tif (context.isNumericMode.value) {\n\t\t\t\tconst num = +value;\n\t\t\t\tif (value === \"\" || isNaN(num)) delete tempModelValue[index];\n\t\t\t\telse tempModelValue[index] = num;\n\t\t\t} else tempModelValue[index] = value;\n\t\t\tcontext.modelValue.value = removeTrailingEmptyStrings(tempModelValue);\n\t\t}\n\t\twatch(currentValue, updatePlaceholder);\n\t\tonMounted(() => {\n\t\t\tcontext.onInputElementChange(currentElement.value);\n\t\t});\n\t\tonUnmounted(() => {\n\t\t\tcontext.inputElements?.value.delete(currentElement.value);\n\t\t});\n\t\treturn (_ctx, _cache) => {\n\t\t\treturn openBlock(), createBlock(unref(Primitive), {\n\t\t\t\tref_key: \"primitiveElement\",\n\t\t\t\tref: primitiveElement,\n\t\t\t\tautocapitalize: \"none\",\n\t\t\t\tas: _ctx.as,\n\t\t\t\t\"as-child\": _ctx.asChild,\n\t\t\t\tautocomplete: isOtpMode.value ? \"one-time-code\" : \"false\",\n\t\t\t\ttype: isPasswordMode.value ? \"password\" : \"text\",\n\t\t\t\tinputmode: unref(context).isNumericMode.value ? \"numeric\" : \"text\",\n\t\t\t\tpattern: unref(context).isNumericMode.value ? \"[0-9]*\" : void 0,\n\t\t\t\tplaceholder: unref(context).placeholder.value,\n\t\t\t\tvalue: currentValue.value,\n\t\t\t\tdisabled: disabled.value,\n\t\t\t\t\"data-disabled\": disabled.value ? \"\" : void 0,\n\t\t\t\t\"data-complete\": unref(context).isCompleted.value ? \"\" : void 0,\n\t\t\t\t\"aria-label\": `pin input ${_ctx.index + 1} of ${inputElements.value.length}`,\n\t\t\t\tonInput: _cache[0] || (_cache[0] = ($event) => handleInput($event)),\n\t\t\t\tonKeydown: [\n\t\t\t\t\twithKeys(handleKeydown, [\n\t\t\t\t\t\t\"left\",\n\t\t\t\t\t\t\"right\",\n\t\t\t\t\t\t\"up\",\n\t\t\t\t\t\t\"down\",\n\t\t\t\t\t\t\"home\",\n\t\t\t\t\t\t\"end\"\n\t\t\t\t\t]),\n\t\t\t\t\twithKeys(handleBackspace, [\"backspace\"]),\n\t\t\t\t\twithKeys(handleDelete, [\"delete\"])\n\t\t\t\t],\n\t\t\t\tonFocus: handleFocus,\n\t\t\t\tonBlur: handleBlur,\n\t\t\t\tonPaste: handlePaste,\n\t\t\t\tonCompositionstart: unref(handleCompositionStart),\n\t\t\t\tonCompositionend: unref(handleCompositionEnd)\n\t\t\t}, {\n\t\t\t\tdefault: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n\t\t\t\t_: 3\n\t\t\t}, 8, [\n\t\t\t\t\"as\",\n\t\t\t\t\"as-child\",\n\t\t\t\t\"autocomplete\",\n\t\t\t\t\"type\",\n\t\t\t\t\"inputmode\",\n\t\t\t\t\"pattern\",\n\t\t\t\t\"placeholder\",\n\t\t\t\t\"value\",\n\t\t\t\t\"disabled\",\n\t\t\t\t\"data-disabled\",\n\t\t\t\t\"data-complete\",\n\t\t\t\t\"aria-label\",\n\t\t\t\t\"onCompositionstart\",\n\t\t\t\t\"onCompositionend\"\n\t\t\t]);\n\t\t};\n\t}\n});\n\n//#endregion\n//#region src/PinInput/PinInputInput.vue\nvar PinInputInput_default = PinInputInput_vue_vue_type_script_setup_true_lang_default;\n\n//#endregion\nexport { PinInputInput_default };\n//# sourceMappingURL=PinInputInput.js.map","<template>\n <PinInputRoot\n :id=\"computedId\"\n v-model=\"modelValue\"\n :class=\"rootClasses\"\n :disabled=\"props.disabled\"\n :dir=\"props.dir\"\n :mask=\"props.mask\"\n :name=\"props.name\"\n :otp=\"props.otp\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required\"\n :type=\"props.type\"\n @complete=\"emit('complete', $event)\"\n >\n <PinInputInput\n v-for=\"(_, i) in computedLength\"\n :key=\"i\"\n :index=\"i\"\n :disabled=\"props.disabled\"\n as-child\n >\n <BFormInput\n class=\"b-form-otp-field\"\n :aria-label=\"`${props.ariaLabel || 'Pin'} ${i + 1} of ${computedLength}`\"\n :aria-invalid=\"props.ariaInvalid\"\n :autofocus=\"props.autofocus && i === 0\"\n :disabled=\"props.disabled\"\n :form=\"props.form\"\n :plaintext=\"props.plaintext\"\n :readonly=\"props.readonly\"\n :size=\"props.size\"\n :state=\"props.state\"\n />\n </PinInputInput>\n </PinInputRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {PinInputInput, PinInputRoot} from 'reka-ui'\nimport type {BFormOtpProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BFormInput from '../BFormInput/BFormInput.vue'\n\nconst lengthDefault = 6\nconst _props = withDefaults(defineProps<Omit<BFormOtpProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n ariaLabel: undefined,\n autofocus: false,\n dir: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n length: lengthDefault,\n mask: false,\n name: undefined,\n otp: false,\n placeholder: '',\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n type: 'text',\n})\nconst props = useDefaults(_props, 'BFormOtp')\nconst emit = defineEmits<{\n complete: [value: string[]]\n}>()\n\nconst modelValue = defineModel<BFormOtpProps['modelValue']>({default: () => []})\n\nconst computedId = useId(() => props.id)\nconst lengthNumber = useToNumber(() => props.length, {nanToZero: true, method: 'parseInt'})\nconst computedLength = computed(() => (lengthNumber.value > 0 ? lengthNumber.value : lengthDefault))\n\nconst rootClasses = computed(() => [\n 'b-form-otp',\n 'd-flex',\n 'gap-2',\n 'align-items-center',\n {\n [`b-form-otp-${props.size}`]: !!props.size,\n },\n])\n</script>\n","<template>\n <PinInputRoot\n :id=\"computedId\"\n v-model=\"modelValue\"\n :class=\"rootClasses\"\n :disabled=\"props.disabled\"\n :dir=\"props.dir\"\n :mask=\"props.mask\"\n :name=\"props.name\"\n :otp=\"props.otp\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required\"\n :type=\"props.type\"\n @complete=\"emit('complete', $event)\"\n >\n <PinInputInput\n v-for=\"(_, i) in computedLength\"\n :key=\"i\"\n :index=\"i\"\n :disabled=\"props.disabled\"\n as-child\n >\n <BFormInput\n class=\"b-form-otp-field\"\n :aria-label=\"`${props.ariaLabel || 'Pin'} ${i + 1} of ${computedLength}`\"\n :aria-invalid=\"props.ariaInvalid\"\n :autofocus=\"props.autofocus && i === 0\"\n :disabled=\"props.disabled\"\n :form=\"props.form\"\n :plaintext=\"props.plaintext\"\n :readonly=\"props.readonly\"\n :size=\"props.size\"\n :state=\"props.state\"\n />\n </PinInputInput>\n </PinInputRoot>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {PinInputInput, PinInputRoot} from 'reka-ui'\nimport type {BFormOtpProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BFormInput from '../BFormInput/BFormInput.vue'\n\nconst lengthDefault = 6\nconst _props = withDefaults(defineProps<Omit<BFormOtpProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n ariaLabel: undefined,\n autofocus: false,\n dir: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n length: lengthDefault,\n mask: false,\n name: undefined,\n otp: false,\n placeholder: '',\n plaintext: false,\n readonly: false,\n required: false,\n size: undefined,\n state: null,\n type: 'text',\n})\nconst props = useDefaults(_props, 'BFormOtp')\nconst emit = defineEmits<{\n complete: [value: string[]]\n}>()\n\nconst modelValue = defineModel<BFormOtpProps['modelValue']>({default: () => []})\n\nconst computedId = useId(() => props.id)\nconst lengthNumber = useToNumber(() => props.length, {nanToZero: true, method: 'parseInt'})\nconst computedLength = computed(() => (lengthNumber.value > 0 ? lengthNumber.value : lengthDefault))\n\nconst rootClasses = computed(() => [\n 'b-form-otp',\n 'd-flex',\n 'gap-2',\n 'align-items-center',\n {\n [`b-form-otp-${props.size}`]: !!props.size,\n },\n])\n</script>\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d as formGroupKey, y as radioGroupKey } from "./keys-
|
|
2
|
-
import { m as useFocus } from "./dist-
|
|
3
|
-
import { o as isEmptySlot } from "./dom-
|
|
4
|
-
import { t as useDefaults } from "./useDefaults-
|
|
5
|
-
import { t as useId$1 } from "./useId-
|
|
6
|
-
import { t as ConditionalWrapper_default } from "./ConditionalWrapper-
|
|
7
|
-
import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-
|
|
1
|
+
import { d as formGroupKey, y as radioGroupKey } from "./keys-BgLwJbLV.js";
|
|
2
|
+
import { m as useFocus } from "./dist-9-XTMhb-.js";
|
|
3
|
+
import { o as isEmptySlot } from "./dom-BdUQrX99.js";
|
|
4
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
5
|
+
import { t as useId$1 } from "./useId-Fh-Arhb7.js";
|
|
6
|
+
import { t as ConditionalWrapper_default } from "./ConditionalWrapper-CCIk52zt.js";
|
|
7
|
+
import { a as getLabelClasses, i as getInputClasses, n as getGroupAttr, r as getGroupClasses, t as getClasses } from "./useFormCheck-fArncQY5.js";
|
|
8
8
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, guardReactiveProps, inject, mergeModels, mergeProps, normalizeClass, normalizeProps, openBlock, provide, renderList, renderSlot, toDisplayString, toRef, unref, useModel, useSlots, useTemplateRef, vModelRadio, withCtx, withDirectives } from "vue";
|
|
9
9
|
//#region src/components/BFormRadio/BFormRadio.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var _hoisted_1$1 = [
|
|
@@ -24,7 +24,7 @@ var _hoisted_2 = ["for"];
|
|
|
24
24
|
var BFormRadio_default = /* @__PURE__ */ defineComponent({
|
|
25
25
|
inheritAttrs: false,
|
|
26
26
|
__name: "BFormRadio",
|
|
27
|
-
props:
|
|
27
|
+
props: /*@__PURE__*/ mergeModels({
|
|
28
28
|
ariaLabel: { default: void 0 },
|
|
29
29
|
ariaLabelledby: { default: void 0 },
|
|
30
30
|
autofocus: {
|
|
@@ -190,7 +190,7 @@ var _hoisted_1 = ["id"];
|
|
|
190
190
|
//#region src/components/BFormRadio/BFormRadioGroupBase.vue
|
|
191
191
|
var BFormRadioGroupBase_default = /* @__PURE__ */ defineComponent({
|
|
192
192
|
__name: "BFormRadioGroupBase",
|
|
193
|
-
props:
|
|
193
|
+
props: /*@__PURE__*/ mergeModels({
|
|
194
194
|
ariaInvalid: {
|
|
195
195
|
type: [Boolean, String],
|
|
196
196
|
default: void 0
|
|
@@ -238,7 +238,17 @@ var BFormRadioGroupBase_default = /* @__PURE__ */ defineComponent({
|
|
|
238
238
|
default: false
|
|
239
239
|
}
|
|
240
240
|
}, {
|
|
241
|
-
"modelValue": {
|
|
241
|
+
"modelValue": {
|
|
242
|
+
type: [
|
|
243
|
+
Boolean,
|
|
244
|
+
String,
|
|
245
|
+
Array,
|
|
246
|
+
Object,
|
|
247
|
+
Number,
|
|
248
|
+
null
|
|
249
|
+
],
|
|
250
|
+
default: null
|
|
251
|
+
},
|
|
242
252
|
"modelModifiers": {}
|
|
243
253
|
}),
|
|
244
254
|
emits: ["update:modelValue"],
|
|
@@ -247,7 +257,8 @@ var BFormRadioGroupBase_default = /* @__PURE__ */ defineComponent({
|
|
|
247
257
|
const modelValue = useModel(__props, "modelValue");
|
|
248
258
|
const computedId = useId$1(() => props.id, "radio");
|
|
249
259
|
const computedName = useId$1(() => props.name, "radio");
|
|
250
|
-
const
|
|
260
|
+
const element = useTemplateRef("_element");
|
|
261
|
+
const { focused } = useFocus(element, { initialValue: props.autofocus });
|
|
251
262
|
const normalizedOptions = computed(() => props.options.map((option) => {
|
|
252
263
|
if (typeof option === "object" && option !== null) return {
|
|
253
264
|
...option,
|
|
@@ -316,7 +327,7 @@ var BFormRadioGroupBase_default = /* @__PURE__ */ defineComponent({
|
|
|
316
327
|
//#region src/components/BFormRadio/BFormRadioGroup.vue
|
|
317
328
|
var BFormRadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
318
329
|
__name: "BFormRadioGroup",
|
|
319
|
-
props:
|
|
330
|
+
props: /*@__PURE__*/ mergeModels({
|
|
320
331
|
ariaInvalid: {
|
|
321
332
|
type: [Boolean, String],
|
|
322
333
|
default: void 0
|
|
@@ -417,4 +428,4 @@ var BFormRadioGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
417
428
|
//#endregion
|
|
418
429
|
export { BFormRadio_default as n, BFormRadioGroup_default as t };
|
|
419
430
|
|
|
420
|
-
//# sourceMappingURL=BFormRadio-
|
|
431
|
+
//# sourceMappingURL=BFormRadio-DRViMh6V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BFormRadio-DRViMh6V.js","names":["$attrs"],"sources":["../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadio.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroupBase.vue","../src/components/BFormRadio/BFormRadioGroup.vue","../src/components/BFormRadio/BFormRadioGroup.vue"],"sourcesContent":["<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasOwnLabel\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioProps, BFormRadioSlots, RadioValue} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\nconst hasOwnLabel = computed(() => hasDefaultSlot.value || !resolvedPlain.value)\n\nconst labelTargetId = computed(() => (hasOwnLabel.value ? null : computedId.value))\nconst formGroupData = inject(formGroupKey, null)?.()\nformGroupData?.track(labelTargetId)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <ConditionalWrapper :skip=\"isButtonGroup\" :class=\"computedClasses\">\n <input\n :id=\"computedId\"\n v-bind=\"$attrs\"\n ref=\"_input\"\n v-model=\"localValue\"\n :class=\"inputClasses\"\n type=\"radio\"\n :disabled=\"props.disabled || parentData?.disabled.value || formGroupData?.disabled.value\"\n :required=\"computedRequired || undefined\"\n :name=\"props.name || parentData?.name.value\"\n :form=\"props.form || parentData?.form.value\"\n :aria-label=\"props.ariaLabel\"\n :aria-labelledby=\"props.ariaLabelledby\"\n :value=\"props.value\"\n :aria-required=\"computedRequired || undefined\"\n />\n <label v-if=\"hasOwnLabel\" :for=\"computedId\" :class=\"labelClasses\">\n <slot />\n </label>\n </ConditionalWrapper>\n</template>\n\n<script setup lang=\"ts\">\nimport {useFocus} from '@vueuse/core'\nimport {computed, inject, useTemplateRef} from 'vue'\nimport {getClasses, getInputClasses, getLabelClasses} from '../../composables/useFormCheck'\nimport {isEmptySlot} from '../../utils/dom'\nimport ConditionalWrapper from '../ConditionalWrapper.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport {formGroupKey, radioGroupKey} from '../../utils/keys'\nimport type {BFormRadioProps, BFormRadioSlots, RadioValue} from '../../types'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst _props = withDefaults(defineProps<Omit<BFormRadioProps, 'modelValue'>>(), {\n ariaLabel: undefined,\n ariaLabelledby: undefined,\n autofocus: false,\n button: undefined,\n buttonGroup: false,\n buttonVariant: undefined,\n disabled: false,\n form: undefined,\n id: undefined,\n inline: undefined,\n name: undefined,\n plain: undefined,\n required: false,\n reverse: undefined,\n size: undefined,\n state: undefined,\n value: true,\n})\nconst props = useDefaults(_props, 'BFormRadio')\nconst slots = defineSlots<BFormRadioSlots>()\n\nconst modelValue = defineModel<BFormRadioProps['modelValue']>({\n default: undefined,\n})\n\nconst computedId = useId(() => props.id, 'form-check')\n\nconst parentData = inject(radioGroupKey, null)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst hasDefaultSlot = computed(() => !isEmptySlot(slots.default))\n\n// True default values for props that are undefined to support inheritance\nconst propDefaults = {\n plain: false,\n button: false,\n inline: false,\n reverse: false,\n size: undefined,\n buttonVariant: 'secondary' as const,\n state: null,\n}\n\n// Single source of truth for resolved prop values with parent inheritance and defaults\nconst resolvedProps = computed(() => ({\n plain: props.plain ?? parentData?.plain.value ?? propDefaults.plain,\n button: props.button ?? parentData?.buttons.value ?? propDefaults.button,\n inline: props.inline ?? parentData?.inline.value ?? propDefaults.inline,\n reverse: props.reverse ?? parentData?.reverse.value ?? propDefaults.reverse,\n state: props.state ?? parentData?.state.value ?? propDefaults.state,\n size: props.size ?? parentData?.size.value ?? propDefaults.size,\n buttonVariant:\n props.buttonVariant ?? parentData?.buttonVariant.value ?? propDefaults.buttonVariant,\n}))\n\n// Shorthand for template usage\nconst resolvedPlain = computed(() => resolvedProps.value.plain)\nconst hasOwnLabel = computed(() => hasDefaultSlot.value || !resolvedPlain.value)\n\nconst labelTargetId = computed(() => (hasOwnLabel.value ? null : computedId.value))\nconst formGroupData = inject(formGroupKey, null)?.()\nformGroupData?.track(labelTargetId)\n\nconst localValue = computed({\n get: () => (parentData ? parentData.modelValue.value : modelValue.value),\n set: (newValue) => {\n if (newValue === undefined) return\n if (parentData !== null) {\n parentData.modelValue.value = newValue as RadioValue\n return\n }\n modelValue.value = newValue as RadioValue\n },\n})\n\nconst computedRequired = computed(\n () => !!(props.name ?? parentData?.name.value) && (props.required || parentData?.required.value)\n)\n\nconst isButtonGroup = computed(() => props.buttonGroup || (parentData?.buttons.value ?? false))\n\nconst classesObject = computed(() => ({\n ...resolvedProps.value,\n hasDefaultSlot: hasDefaultSlot.value,\n}))\nconst computedClasses = getClasses(classesObject)\nconst inputClasses = getInputClasses(classesObject)\nconst labelClasses = getLabelClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupBaseProps, BFormRadioGroupSlots} from '../../types'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<BFormRadioGroupBaseProps['modelValue']>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <div\n v-bind=\"computedAttrs\"\n :id=\"computedId\"\n ref=\"_element\"\n role=\"radiogroup\"\n :class=\"computedClasses\"\n class=\"bv-no-focus-ring\"\n tabindex=\"-1\"\n >\n <slot name=\"first\" />\n <BFormRadio v-for=\"(item, index) in normalizedOptions\" :key=\"index\" v-bind=\"item\">\n <slot name=\"option\" v-bind=\"item\">\n {{ item.text }}\n </slot>\n </BFormRadio>\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, provide, toRef, useTemplateRef} from 'vue'\nimport {radioGroupKey} from '../../utils/keys'\nimport BFormRadio from './BFormRadio.vue'\nimport {getGroupAttr, getGroupClasses} from '../../composables/useFormCheck'\nimport {useFocus} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport type {BFormRadioGroupBaseProps, BFormRadioGroupSlots} from '../../types'\n\n/**\n * Internal base component for BFormRadioGroup.\n * This component is non-generic and uses useDefaults for complete default support.\n * Users should use BFormRadioGroup (the type-safe wrapper) instead.\n * @internal\n */\nconst _props = withDefaults(defineProps<Omit<BFormRadioGroupBaseProps, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [],\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n validated: false,\n})\nconst props = useDefaults(_props, 'BFormRadioGroup')\ndefineSlots<BFormRadioGroupSlots>()\n\nconst modelValue = defineModel<BFormRadioGroupBaseProps['modelValue']>({\n default: null,\n})\n\nconst computedId = useId(() => props.id, 'radio')\nconst computedName = useId(() => props.name, 'radio')\n\nconst element = useTemplateRef('_element')\n\nconst {focused} = useFocus(element, {\n initialValue: props.autofocus,\n})\n\n// Normalize options to always be objects with text/value fields\nconst normalizedOptions = computed(() =>\n props.options.map((option) => {\n if (typeof option === 'object' && option !== null) {\n // Ensure disabled respects group-level disabled taking precedence\n return {\n ...option,\n disabled: props.disabled ? true : (option.disabled ?? false),\n }\n }\n // Primitive value - normalize to {text, value}, with group disabled taking precedence\n return {\n text: String(option),\n value: option,\n disabled: props.disabled,\n }\n })\n)\n\nprovide(radioGroupKey, {\n modelValue: modelValue as import('vue').Ref<import('../../types/RadioTypes').RadioValue>,\n buttonVariant: toRef(() => props.buttonVariant),\n form: toRef(() => props.form),\n name: computedName,\n buttons: toRef(() => props.buttons),\n state: toRef(() => props.state),\n plain: toRef(() => props.plain),\n size: toRef(() => props.size),\n inline: toRef(() => !props.stacked),\n reverse: toRef(() => props.reverse),\n required: toRef(() => props.required),\n disabled: toRef(() => props.disabled),\n})\n\nconst classesObject = computed(() => ({\n required: props.required,\n ariaInvalid: props.ariaInvalid,\n state: props.state,\n validated: props.validated,\n buttons: props.buttons,\n stacked: props.stacked,\n size: props.size,\n}))\nconst computedAttrs = getGroupAttr(classesObject)\nconst computedClasses = getGroupClasses(classesObject)\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n focus: () => {\n focused.value = true\n },\n})\n</script>\n","<template>\n <BFormRadioGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as any\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps, OptionsValues, RadioOption} from '../../types'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n","<template>\n <BFormRadioGroupBase\n v-bind=\"forwardedProps\"\n v-model=\"modelValue as any\"\n :options=\"normalizedOptions\"\n >\n <!-- Forward all slots -->\n <template #first>\n <slot name=\"first\" />\n </template>\n\n <template #option=\"slotProps\">\n <slot name=\"option\" v-bind=\"slotProps\" />\n </template>\n\n <slot />\n </BFormRadioGroupBase>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n Options extends readonly (object | string | number | boolean)[] = readonly (\n | object\n | string\n | number\n | boolean\n )[]\n \"\n>\nimport type {BFormRadioGroupProps, OptionsValues, RadioOption} from '../../types'\nimport {computed} from 'vue'\nimport BFormRadioGroupBase from './BFormRadioGroupBase.vue'\n\n/**\n * Type-safe wrapper component for BFormRadioGroup.\n * Provides generic type safety for options array and strongly-typed modelValue.\n * Uses Options array generic to extract union of all possible values.\n * Normalizes typed options and forwards to BFormRadioGroupBase for rendering.\n * Supports both complex objects and simple scalar types (string, number, boolean).\n *\n * For strongly-typed modelValue:\n * - Primitive arrays: modelValue is union of those values\n * - Object arrays with 'value' field: modelValue is union of value field types\n * - Use 'as const' on options for literal type inference\n */\nconst props = withDefaults(defineProps<Omit<BFormRadioGroupProps<Options>, 'modelValue'>>(), {\n ariaInvalid: undefined,\n autofocus: false,\n buttonVariant: 'secondary',\n buttons: false,\n disabled: false,\n disabledField: 'disabled',\n form: undefined,\n id: undefined,\n name: undefined,\n options: () => [] as unknown as Options,\n plain: false,\n required: false,\n reverse: false,\n size: undefined,\n stacked: false,\n state: null,\n textField: 'text',\n validated: false,\n valueField: 'value',\n})\n\n// Type-safe model value - extracts union from options.\n// NOTE: OptionsValues assumes a static \"value\" key; custom valueField is not\n// reflected in the type — modelValue falls back to unknown in that case.\nconst modelValue = defineModel<OptionsValues<Options> | undefined>({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n default: undefined as any,\n})\n\n// Type-safe normalization of options\nconst normalizedOptions = computed(\n () =>\n (props.options ?? []).map((el) =>\n typeof el === 'string' || typeof el === 'number' || typeof el === 'boolean'\n ? {\n value: el,\n disabled: props.disabled,\n text: el.toString(),\n }\n : {\n value: (el as Record<string, unknown>)[props.valueField as string],\n disabled:\n props.disabled ||\n (((el as Record<string, unknown>)[props.disabledField as string] as\n | boolean\n | undefined) ??\n false),\n text:\n ((el as Record<string, unknown>)[props.textField as string] as string | undefined) ??\n '',\n }\n ) as RadioOption[]\n)\n\n// Forward all non-option-related props to base component\nconst forwardedProps = computed(() => ({\n id: props.id,\n name: props.name,\n size: props.size,\n state: props.state,\n buttonVariant: props.buttonVariant,\n buttons: props.buttons,\n stacked: props.stacked,\n disabled: props.disabled,\n required: props.required,\n validated: props.validated,\n autofocus: props.autofocus,\n form: props.form,\n ariaInvalid: props.ariaInvalid,\n plain: props.plain,\n reverse: props.reverse,\n}))\n</script>\n"],"mappings":"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"}
|