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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
-
import { t as useId$1 } from "./useId-
|
|
3
|
-
import { t as BCloseButton_default } from "./BCloseButton-
|
|
4
|
-
import { t as useColorVariantClasses } from "./useColorVariantClasses-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
2
|
+
import { t as useId$1 } from "./useId-Fh-Arhb7.js";
|
|
3
|
+
import { t as BCloseButton_default } from "./BCloseButton-B3-IdpNp.js";
|
|
4
|
+
import { t as useColorVariantClasses } from "./useColorVariantClasses-DHQvLjek.js";
|
|
5
5
|
import { computed, createBlock, createCommentVNode, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, withCtx } from "vue";
|
|
6
6
|
//#region src/components/BFormTags/BFormTag.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
var _hoisted_1 = ["id"];
|
|
@@ -77,4 +77,4 @@ var BFormTag_default = /* @__PURE__ */ defineComponent({
|
|
|
77
77
|
//#endregion
|
|
78
78
|
export { BFormTag_default as t };
|
|
79
79
|
|
|
80
|
-
//# sourceMappingURL=BFormTag-
|
|
80
|
+
//# sourceMappingURL=BFormTag-DGSUfz7A.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BFormTag-
|
|
1
|
+
{"version":3,"file":"BFormTag-DGSUfz7A.js","names":[],"sources":["../src/components/BFormTags/BFormTag.vue","../src/components/BFormTags/BFormTag.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n :title=\"tagText\"\n class=\"badge b-form-tag d-inline-flex align-items-center mw-100\"\n :class=\"computedClasses\"\n :aria-labelledby=\"taglabelId\"\n >\n <span :id=\"taglabelId\" class=\"b-form-tag-content flex-grow-1 text-truncate\">\n <slot>{{ tagText }}</slot>\n </span>\n <BCloseButton\n v-if=\"!props.disabled && !props.noRemove\"\n aria-keyshortcuts=\"Delete\"\n :aria-label=\"props.removeLabel\"\n class=\"b-form-tag-remove\"\n :aria-describedby=\"taglabelId\"\n :aria-controls=\"props.id\"\n @click=\"emit('remove', tagText)\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTagEmits, BFormTagProps, BFormTagSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTagProps>(), {\n disabled: false,\n id: undefined,\n noRemove: false,\n pill: false,\n removeLabel: 'Remove tag',\n tag: 'span',\n title: undefined,\n variant: 'secondary',\n})\nconst props = useDefaults(_props, 'BFormTag')\nconst emit = defineEmits<BFormTagEmits>()\nconst slots = defineSlots<BFormTagSlots>()\n\nconst computedId = useId(() => props.id)\n\nconst tagText = computed(\n () => ((slots.default?.({})[0].children ?? '').toString() || props.title) ?? ''\n)\nconst taglabelId = computed(() => `${computedId.value}taglabel__`)\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'rounded-pill': props.pill,\n 'disabled': props.disabled,\n },\n])\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"computedId\"\n :title=\"tagText\"\n class=\"badge b-form-tag d-inline-flex align-items-center mw-100\"\n :class=\"computedClasses\"\n :aria-labelledby=\"taglabelId\"\n >\n <span :id=\"taglabelId\" class=\"b-form-tag-content flex-grow-1 text-truncate\">\n <slot>{{ tagText }}</slot>\n </span>\n <BCloseButton\n v-if=\"!props.disabled && !props.noRemove\"\n aria-keyshortcuts=\"Delete\"\n :aria-label=\"props.removeLabel\"\n class=\"b-form-tag-remove\"\n :aria-describedby=\"taglabelId\"\n :aria-controls=\"props.id\"\n @click=\"emit('remove', tagText)\"\n />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useId} from '../../composables/useId'\nimport BCloseButton from '../BButton/BCloseButton.vue'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTagEmits, BFormTagProps, BFormTagSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTagProps>(), {\n disabled: false,\n id: undefined,\n noRemove: false,\n pill: false,\n removeLabel: 'Remove tag',\n tag: 'span',\n title: undefined,\n variant: 'secondary',\n})\nconst props = useDefaults(_props, 'BFormTag')\nconst emit = defineEmits<BFormTagEmits>()\nconst slots = defineSlots<BFormTagSlots>()\n\nconst computedId = useId(() => props.id)\n\nconst tagText = computed(\n () => ((slots.default?.({})[0].children ?? '').toString() || props.title) ?? ''\n)\nconst taglabelId = computed(() => `${computedId.value}taglabel__`)\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'rounded-pill': props.pill,\n 'disabled': props.disabled,\n },\n])\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CA,MAAM,QAAQ,YAAY,SAAQ,UAAU;EAC5C,MAAM,OAAO;EACb,MAAM,QAAQ,SAAA;EAEd,MAAM,aAAa,cAAY,MAAM,EAAE;EAEvC,MAAM,UAAU,iBACN,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,GAAA,CAAI,SAAS,KAAK,MAAM,UAAU,EAC/E;EACA,MAAM,aAAa,eAAe,GAAG,WAAW,MAAM,WAAW;EAEjE,MAAM,eAAe,uBAAuB,KAAK;EACjD,MAAM,kBAAkB,eAAe,CACrC,aAAa,OACb;GACE,gBAAgB,MAAM;GACtB,YAAY,MAAM;EACpB,CACF,CAAC;;GA3DC,OAAA,UAAA,GAAA,YAoBY,wBAnBL,MAAA,KAAA,CAAK,CAAC,GAAG,GAAA;IACb,IAAI,MAAA,UAAA;IACJ,OAAO,QAAA;IACR,OAAK,eAAA,CAAC,4DACE,gBAAA,KAAe,CAAA;IACtB,mBAAiB,WAAA;;IAElB,SAAA,cAEO,CAFP,mBAEO,QAAA;KAFA,IAAI,WAAA;KAAY,OAAM;IAC3B,GAAA,CAAA,WAA0B,KAAA,QAAA,WAAA,CAAA,SAAA,CAAjB,gBAAA,gBAAA,QAAA,KAAO,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,GAAA,UAAA,GAGT,CAAA,MAAA,KAAA,CAAK,CAAC,YAAQ,CAAK,MAAA,KAAA,CAAK,CAAC,YADlC,UAAA,GAAA,YAQE,sBAAA;;KANA,qBAAkB;KACjB,cAAY,MAAA,KAAA,CAAK,CAAC;KACnB,OAAM;KACL,oBAAkB,WAAA;KAClB,iBAAe,MAAA,KAAA,CAAK,CAAC;KACrB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,QAAA,KAAO"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
1
|
+
import { S as useToNumber } from "./dist-DKc2ivHS.js";
|
|
2
|
+
import { a as onKeyStroke, m as useFocus } 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 { t as escapeRegExpChars } from "./stringUtils-CVySsg3y.js";
|
|
6
|
+
import { t as useStateClass } from "./useStateClass-BF7kf2zK.js";
|
|
7
|
+
import { t as BFormTag_default } from "./BFormTag-DGSUfz7A.js";
|
|
7
8
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useModel, useTemplateRef, withCtx } from "vue";
|
|
8
9
|
//#region src/components/BFormTags/BFormTags.vue?vue&type=script&setup=true&lang.ts
|
|
9
10
|
var _hoisted_1 = ["id"];
|
|
@@ -48,7 +49,7 @@ var _hoisted_13 = ["name", "value"];
|
|
|
48
49
|
//#region src/components/BFormTags/BFormTags.vue
|
|
49
50
|
var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
50
51
|
__name: "BFormTags",
|
|
51
|
-
props:
|
|
52
|
+
props: /*@__PURE__*/ mergeModels({
|
|
52
53
|
addButtonText: { default: "Add" },
|
|
53
54
|
addButtonVariant: { default: "outline-secondary" },
|
|
54
55
|
addOnChange: {
|
|
@@ -123,7 +124,7 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
123
124
|
"modelValue": { default: () => [] },
|
|
124
125
|
"modelModifiers": {}
|
|
125
126
|
}),
|
|
126
|
-
emits:
|
|
127
|
+
emits: /*@__PURE__*/ mergeModels([
|
|
127
128
|
"blur",
|
|
128
129
|
"focus",
|
|
129
130
|
"focusin",
|
|
@@ -141,25 +142,20 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
141
142
|
const input = useTemplateRef("_input");
|
|
142
143
|
const { focused } = useFocus(input, { initialValue: props.autofocus });
|
|
143
144
|
const _inputId = computed(() => props.inputId || `${computedId.value}input__`);
|
|
144
|
-
const tags = ref([...modelValue.value]);
|
|
145
145
|
const inputValue = ref("");
|
|
146
146
|
const shouldRemoveOnDelete = ref(modelValue.value.length > 0);
|
|
147
147
|
const lastRemovedTag = ref("");
|
|
148
148
|
const validTags = ref([]);
|
|
149
149
|
const invalidTags = ref([]);
|
|
150
150
|
const duplicateTags = ref([]);
|
|
151
|
-
syncRef(modelValue, tags, {
|
|
152
|
-
direction: "ltr",
|
|
153
|
-
transform: { ltr: (v) => [...v] }
|
|
154
|
-
});
|
|
155
151
|
const computedClasses = computed(() => [stateClass.value, {
|
|
156
152
|
[`form-control-${props.size}`]: props.size !== void 0,
|
|
157
153
|
disabled: props.disabled,
|
|
158
154
|
focus: focused.value
|
|
159
155
|
}]);
|
|
160
|
-
const isDuplicate = computed(() =>
|
|
156
|
+
const isDuplicate = computed(() => modelValue.value.includes(inputValue.value));
|
|
161
157
|
const isInvalid = computed(() => inputValue.value === "" ? false : !props.tagValidator(inputValue.value));
|
|
162
|
-
const isLimitReached = computed(() =>
|
|
158
|
+
const isLimitReached = computed(() => modelValue.value.length === limitNumber.value);
|
|
163
159
|
const disableAddButton = computed(() => !isInvalid.value && !isDuplicate.value);
|
|
164
160
|
const onFocusin = (e) => {
|
|
165
161
|
if (props.disabled) {
|
|
@@ -215,7 +211,7 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
215
211
|
addTag(inputValue.value);
|
|
216
212
|
return;
|
|
217
213
|
}
|
|
218
|
-
if ((e.key === "Backspace" || e.key === "Delete") && props.removeOnDelete && inputValue.value === "" && shouldRemoveOnDelete.value &&
|
|
214
|
+
if ((e.key === "Backspace" || e.key === "Delete") && props.removeOnDelete && inputValue.value === "" && shouldRemoveOnDelete.value && modelValue.value.length > 0) removeTag(modelValue.value[modelValue.value.length - 1]);
|
|
219
215
|
else shouldRemoveOnDelete.value = true;
|
|
220
216
|
};
|
|
221
217
|
onKeyStroke(onKeydown, {
|
|
@@ -247,10 +243,11 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
247
243
|
focused.value = true;
|
|
248
244
|
};
|
|
249
245
|
const removeTag = (tag) => {
|
|
250
|
-
const
|
|
246
|
+
const tagStr = tag?.toString() ?? "";
|
|
247
|
+
const tagIndex = modelValue.value.indexOf(tagStr);
|
|
251
248
|
if (tagIndex === -1) return;
|
|
252
|
-
lastRemovedTag.value =
|
|
253
|
-
modelValue.value =
|
|
249
|
+
lastRemovedTag.value = tagStr;
|
|
250
|
+
modelValue.value = [...modelValue.value.slice(0, tagIndex), ...modelValue.value.slice(tagIndex + 1)];
|
|
254
251
|
};
|
|
255
252
|
__expose({
|
|
256
253
|
blur: () => {
|
|
@@ -279,7 +276,7 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
279
276
|
"aria-live": unref(focused) ? "polite" : "off",
|
|
280
277
|
"aria-atomic": "true",
|
|
281
278
|
"aria-relevant": "additions"
|
|
282
|
-
}, toDisplayString(
|
|
279
|
+
}, toDisplayString(modelValue.value.join(", ")), 9, _hoisted_2),
|
|
283
280
|
createElementVNode("div", {
|
|
284
281
|
id: `${unref(computedId)}removed_tags__`,
|
|
285
282
|
role: "status",
|
|
@@ -329,13 +326,12 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
329
326
|
tagPills: unref(props).tagPills,
|
|
330
327
|
tagRemoveLabel: unref(props).tagRemoveLabel,
|
|
331
328
|
tagVariant: unref(props).tagVariant,
|
|
332
|
-
tags:
|
|
329
|
+
tags: [...modelValue.value]
|
|
333
330
|
}, () => [createElementVNode("ul", {
|
|
334
331
|
id: `${unref(computedId)}tag_list__`,
|
|
335
332
|
class: "b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center"
|
|
336
|
-
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(
|
|
333
|
+
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(modelValue.value, (tag, index) => {
|
|
337
334
|
return renderSlot(_ctx.$slots, "tag", {
|
|
338
|
-
key: index,
|
|
339
335
|
tag,
|
|
340
336
|
tagClass: unref(props).tagClass,
|
|
341
337
|
tagVariant: unref(props).tagVariant,
|
|
@@ -359,7 +355,7 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
359
355
|
"pill",
|
|
360
356
|
"no-remove",
|
|
361
357
|
"disabled"
|
|
362
|
-
]))]);
|
|
358
|
+
]))], void 0, index);
|
|
363
359
|
}), 128)), createElementVNode("li", {
|
|
364
360
|
role: "none",
|
|
365
361
|
"aria-live": "off",
|
|
@@ -401,9 +397,9 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
401
397
|
}, [
|
|
402
398
|
isInvalid.value ? (openBlock(), createElementBlock("div", _hoisted_10, toDisplayString(unref(props).invalidTagText) + ": " + toDisplayString(inputValue.value), 1)) : createCommentVNode("", true),
|
|
403
399
|
isDuplicate.value ? (openBlock(), createElementBlock("small", _hoisted_11, toDisplayString(unref(props).duplicateTagText) + ": " + toDisplayString(inputValue.value), 1)) : createCommentVNode("", true),
|
|
404
|
-
|
|
400
|
+
isLimitReached.value ? (openBlock(), createElementBlock("small", _hoisted_12, toDisplayString(unref(props).limitTagsText), 1)) : createCommentVNode("", true)
|
|
405
401
|
], 8, _hoisted_9)]),
|
|
406
|
-
unref(props).name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(
|
|
402
|
+
unref(props).name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(modelValue.value, (tag, index) => {
|
|
407
403
|
return openBlock(), createElementBlock("input", {
|
|
408
404
|
key: index,
|
|
409
405
|
type: "hidden",
|
|
@@ -418,4 +414,4 @@ var BFormTags_default = /* @__PURE__ */ defineComponent({
|
|
|
418
414
|
//#endregion
|
|
419
415
|
export { BFormTags_default as t };
|
|
420
416
|
|
|
421
|
-
//# sourceMappingURL=BFormTags-
|
|
417
|
+
//# sourceMappingURL=BFormTags-CUcyRTCK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BFormTags-CUcyRTCK.js","names":[],"sources":["../src/components/BFormTags/BFormTags.vue","../src/components/BFormTags/BFormTags.vue"],"sourcesContent":["<template>\n <div\n :id=\"computedId\"\n class=\"b-form-tags form-control h-auto\"\n :class=\"computedClasses\"\n role=\"group\"\n tabindex=\"-1\"\n @click=\"onClick\"\n @focusin=\"onFocusin\"\n @focusout=\"emit('focusout', $event)\"\n >\n <output\n :id=\"`${computedId}selected_tags__`\"\n class=\"visually-hidden\"\n :for=\"_inputId\"\n :aria-live=\"focused ? 'polite' : 'off'\"\n aria-atomic=\"true\"\n aria-relevant=\"additions\"\n >{{ modelValue.join(', ') }}</output\n >\n <div\n :id=\"`${computedId}removed_tags__`\"\n role=\"status\"\n :aria-live=\"focused ? 'assertive' : 'off'\"\n aria-atomic=\"true\"\n class=\"visually-hidden\"\n >\n ({{ props.tagRemovedLabel }}) {{ lastRemovedTag }}\n </div>\n\n <slot\n :add-button-text=\"props.addButtonText\"\n :add-button-variant=\"props.addButtonVariant\"\n :add-tag\n :disable-add-button=\"disableAddButton\"\n :disabled=\"props.disabled\"\n :duplicate-tag-text=\"props.duplicateTagText\"\n :duplicate-tags=\"duplicateTags\"\n :form=\"props.form\"\n :input-attrs=\"{\n ...props.inputAttrs,\n disabled: props.disabled,\n form: props.form,\n id: _inputId,\n value: inputValue,\n }\"\n :input-class=\"props.inputClass\"\n :input-handlers=\"{\n input: onInput,\n keydown: onKeydown,\n change: onChange,\n }\"\n :input-id=\"_inputId\"\n :input-type=\"props.inputType\"\n :invalid-tag-text=\"props.invalidTagText\"\n :invalid-tags\n :is-duplicate\n :is-invalid\n :is-limit-reached=\"isLimitReached\"\n :limit-tags-text=\"props.limitTagsText\"\n :limit=\"limitNumber\"\n :no-tag-remove=\"props.noTagRemove\"\n :placeholder=\"props.placeholder\"\n :remove-tag\n :required=\"props.required\"\n :separator=\"props.separator\"\n :size=\"props.size\"\n :state=\"props.state\"\n :tag-class=\"props.tagClass\"\n :tag-pills=\"props.tagPills\"\n :tag-remove-label=\"props.tagRemoveLabel\"\n :tag-variant=\"props.tagVariant\"\n :tags=\"[...modelValue]\"\n >\n <ul\n :id=\"`${computedId}tag_list__`\"\n class=\"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center\"\n >\n <template v-for=\"(tag, index) in modelValue\" :key=\"index\">\n <slot\n name=\"tag\"\n :tag=\"tag\"\n :tag-class=\"props.tagClass\"\n :tag-variant=\"props.tagVariant\"\n :tag-pills=\"props.tagPills\"\n :remove-tag=\"removeTag\"\n >\n <BFormTag\n :key=\"tag\"\n :class=\"props.tagClass\"\n tag=\"li\"\n :variant=\"props.tagVariant\"\n :pill=\"props.tagPills\"\n :no-remove=\"props.noTagRemove\"\n :disabled=\"props.disabled\"\n @remove=\"removeTag\"\n >{{ tag }}</BFormTag\n >\n </slot>\n </template>\n <li\n role=\"none\"\n aria-live=\"off\"\n class=\"b-from-tags-field flex-grow-1\"\n :aria-controls=\"`${computedId}tag_list__`\"\n >\n <div role=\"group\" class=\"d-flex\">\n <input\n :id=\"_inputId\"\n ref=\"_input\"\n :disabled=\"props.disabled\"\n :value=\"inputValue\"\n :type=\"props.inputType\"\n :placeholder=\"props.placeholder\"\n class=\"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0\"\n style=\"outline: currentcolor none 0; min-width: 5rem\"\n v-bind=\"props.inputAttrs\"\n :form=\"props.form\"\n :required=\"props.required || undefined\"\n :aria-required=\"props.required || undefined\"\n @input=\"onInput\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n />\n <button\n v-if=\"disableAddButton\"\n type=\"button\"\n class=\"btn b-form-tags-button py-0\"\n :class=\"[\n inputClass,\n {\n [`btn-${props.addButtonVariant}`]: props.addButtonVariant !== null,\n 'disabled invisible': inputValue.length === 0,\n },\n ]\"\n style=\"font-size: 90%\"\n :disabled=\"props.disabled || inputValue.length === 0 || isLimitReached\"\n @click=\"addTag(inputValue)\"\n >\n <slot name=\"add-button-text\">{{ props.addButtonText }}</slot>\n </button>\n </div>\n </li>\n </ul>\n <div :aria-live=\"props.feedbackAriaLive\" aria-atomic=\"true\">\n <div v-if=\"isInvalid\" class=\"d-block invalid-feedback\">\n {{ props.invalidTagText }}: {{ inputValue }}\n </div>\n <small v-if=\"isDuplicate\" class=\"form-text text-body-secondary\"\n >{{ props.duplicateTagText }}: {{ inputValue }}</small\n >\n <small v-if=\"isLimitReached\" class=\"form-text text-body-secondary\">\n {{ props.limitTagsText }}</small\n >\n </div>\n </slot>\n <template v-if=\"props.name\">\n <input\n v-for=\"(tag, index) in modelValue\"\n :key=\"index\"\n type=\"hidden\"\n :name=\"props.name\"\n :value=\"tag\"\n />\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, useFocus, useToNumber} from '@vueuse/core'\nimport {computed, ref, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {escapeRegExpChars} from '../../utils/stringUtils'\nimport BFormTag from './BFormTag.vue'\nimport {useId} from '../../composables/useId'\nimport {useStateClass} from '../../composables/useStateClass'\nimport type {BFormTagsEmits, BFormTagsProps, BFormTagsSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BFormTagsProps, 'modelValue'>>(), {\n addButtonText: 'Add',\n addButtonVariant: 'outline-secondary',\n addOnChange: false,\n autofocus: false,\n disabled: false,\n duplicateTagText: 'Duplicate tag(s)',\n feedbackAriaLive: 'assertive',\n form: undefined,\n ignoreInputFocusSelector: () => ['.b-form-tag', 'button', 'input', 'select'],\n inputAttrs: undefined,\n inputClass: undefined,\n inputId: undefined,\n inputType: 'text',\n invalidTagText: 'Invalid tag(s)',\n limit: undefined,\n limitTagsText: 'Tag limit reached',\n name: undefined,\n noAddOnEnter: false,\n noOuterFocus: false,\n noTagRemove: false,\n placeholder: 'Add tag...',\n removeOnDelete: false,\n required: false,\n separator: undefined,\n size: undefined,\n state: null,\n tagClass: undefined,\n tagPills: false,\n tagRemoveLabel: undefined,\n tagRemovedLabel: 'Tag removed',\n tagValidator: () => true,\n tagVariant: 'secondary',\n})\nconst props = useDefaults(_props, 'BFormTags')\nconst emit = defineEmits<BFormTagsEmits>()\ndefineSlots<BFormTagsSlots>()\n\nconst modelValue = defineModel<Exclude<BFormTagsProps['modelValue'], undefined>>({\n default: () => [],\n})\n\nconst computedId = useId()\n\nconst limitNumber = useToNumber(() => props.limit ?? Number.NaN)\n\nconst stateClass = useStateClass(() => props.state)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst _inputId = computed(() => props.inputId || `${computedId.value}input__`)\nconst inputValue = ref<string>('')\nconst shouldRemoveOnDelete = ref<boolean>(modelValue.value.length > 0)\nconst lastRemovedTag = ref<string>('')\nconst validTags = ref<string[]>([])\nconst invalidTags = ref<string[]>([])\nconst duplicateTags = ref<string[]>([])\n\nconst computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n disabled: props.disabled,\n focus: focused.value,\n },\n])\n\nconst isDuplicate = computed(() => modelValue.value.includes(inputValue.value))\nconst isInvalid = computed(() =>\n inputValue.value === '' ? false : !props.tagValidator(inputValue.value)\n)\nconst isLimitReached = computed(() => modelValue.value.length === limitNumber.value)\nconst disableAddButton = computed(() => !isInvalid.value && !isDuplicate.value)\n\nconst onFocusin = (e: Readonly<FocusEvent>): void => {\n if (props.disabled) {\n const target = e.target as HTMLDivElement\n target.blur()\n return\n }\n\n emit('focusin', e)\n}\n\nconst onClick = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.noOuterFocus) {\n return\n }\n\n const {target} = e\n const ignoreSelectors = props.ignoreInputFocusSelector\n if (ignoreSelectors && target instanceof Element) {\n const selector =\n typeof ignoreSelectors === 'string' ? ignoreSelectors : ignoreSelectors.join(',')\n\n if (selector && target.closest(selector)) {\n return\n }\n }\n\n focused.value = true\n}\n\nconst onFocus = (e: Readonly<FocusEvent>): void => {\n if (props.disabled || props.noOuterFocus) {\n return\n }\n\n focused.value = true\n emit('focus', e)\n}\n\nconst onBlur = (e: Readonly<FocusEvent>): void => {\n focused.value = false\n emit('blur', e)\n}\n\nconst onInput = (e: Readonly<Event> | string): void => {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value\n\n shouldRemoveOnDelete.value = false\n\n if (props.separator?.includes(value.charAt(0)) && value.length > 0) {\n if (input.value) {\n input.value.value = ''\n }\n return\n }\n\n inputValue.value = value\n\n if (props.separator?.includes(value.charAt(value.length - 1))) {\n addTag(value.slice(0, value.length - 1))\n return\n }\n\n validTags.value = props.tagValidator(value) && !isDuplicate.value ? [value] : []\n invalidTags.value = props.tagValidator(value) ? [] : [value]\n duplicateTags.value = isDuplicate.value ? [value] : []\n\n emit('tag-state', validTags.value, invalidTags.value, duplicateTags.value)\n}\n\nconst onChange = (e: Readonly<Event>): void => {\n if (props.addOnChange) {\n onInput(e)\n\n if (!isDuplicate.value) {\n addTag(inputValue.value)\n }\n }\n}\n\nconst onKeydown = (e: Readonly<KeyboardEvent>): void => {\n if ((e.key === 'Enter' || e.code === 'NumpadEnter') && !props.noAddOnEnter) {\n addTag(inputValue.value)\n return\n }\n\n if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n props.removeOnDelete &&\n inputValue.value === '' &&\n shouldRemoveOnDelete.value &&\n modelValue.value.length > 0\n ) {\n removeTag(modelValue.value[modelValue.value.length - 1])\n } else {\n shouldRemoveOnDelete.value = true\n }\n}\n\nonKeyStroke(onKeydown, {target: input, passive: true})\n\nconst separator = computed(() => {\n if (!props.separator) {\n return undefined\n }\n\n return typeof props.separator === 'string' ? props.separator : props.separator.join('')\n})\n\nconst separatorRegExp = computed(() => {\n if (!separator.value) {\n return undefined\n }\n\n return new RegExp(`[${escapeRegExpChars(separator.value)}]+`)\n})\n\nconst addTag = (tag?: string): void => {\n tag = (tag ?? inputValue.value).trim()\n\n const newTags = separatorRegExp.value\n ? tag.split(separatorRegExp.value).map((t) => t.trim())\n : [tag]\n const validTags: string[] = []\n\n for (const newTag of newTags) {\n if (newTag === '' || isDuplicate.value || !props.tagValidator(newTag)) {\n continue\n }\n\n if (limitNumber.value && isLimitReached.value) {\n break\n }\n\n validTags.push(newTag)\n }\n\n const newValue = [...modelValue.value, ...validTags]\n inputValue.value = ''\n shouldRemoveOnDelete.value = true\n modelValue.value = newValue\n if (validTags.length > 0) {\n emit('tag-added', validTags)\n }\n focused.value = true\n}\n\nconst removeTag = (tag?: string): void => {\n const tagStr = tag?.toString() ?? ''\n const tagIndex = modelValue.value.indexOf(tagStr)\n if (tagIndex === -1) return\n lastRemovedTag.value = tagStr\n modelValue.value = [\n ...modelValue.value.slice(0, tagIndex),\n ...modelValue.value.slice(tagIndex + 1),\n ]\n}\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n inputValue,\n})\n</script>\n","<template>\n <div\n :id=\"computedId\"\n class=\"b-form-tags form-control h-auto\"\n :class=\"computedClasses\"\n role=\"group\"\n tabindex=\"-1\"\n @click=\"onClick\"\n @focusin=\"onFocusin\"\n @focusout=\"emit('focusout', $event)\"\n >\n <output\n :id=\"`${computedId}selected_tags__`\"\n class=\"visually-hidden\"\n :for=\"_inputId\"\n :aria-live=\"focused ? 'polite' : 'off'\"\n aria-atomic=\"true\"\n aria-relevant=\"additions\"\n >{{ modelValue.join(', ') }}</output\n >\n <div\n :id=\"`${computedId}removed_tags__`\"\n role=\"status\"\n :aria-live=\"focused ? 'assertive' : 'off'\"\n aria-atomic=\"true\"\n class=\"visually-hidden\"\n >\n ({{ props.tagRemovedLabel }}) {{ lastRemovedTag }}\n </div>\n\n <slot\n :add-button-text=\"props.addButtonText\"\n :add-button-variant=\"props.addButtonVariant\"\n :add-tag\n :disable-add-button=\"disableAddButton\"\n :disabled=\"props.disabled\"\n :duplicate-tag-text=\"props.duplicateTagText\"\n :duplicate-tags=\"duplicateTags\"\n :form=\"props.form\"\n :input-attrs=\"{\n ...props.inputAttrs,\n disabled: props.disabled,\n form: props.form,\n id: _inputId,\n value: inputValue,\n }\"\n :input-class=\"props.inputClass\"\n :input-handlers=\"{\n input: onInput,\n keydown: onKeydown,\n change: onChange,\n }\"\n :input-id=\"_inputId\"\n :input-type=\"props.inputType\"\n :invalid-tag-text=\"props.invalidTagText\"\n :invalid-tags\n :is-duplicate\n :is-invalid\n :is-limit-reached=\"isLimitReached\"\n :limit-tags-text=\"props.limitTagsText\"\n :limit=\"limitNumber\"\n :no-tag-remove=\"props.noTagRemove\"\n :placeholder=\"props.placeholder\"\n :remove-tag\n :required=\"props.required\"\n :separator=\"props.separator\"\n :size=\"props.size\"\n :state=\"props.state\"\n :tag-class=\"props.tagClass\"\n :tag-pills=\"props.tagPills\"\n :tag-remove-label=\"props.tagRemoveLabel\"\n :tag-variant=\"props.tagVariant\"\n :tags=\"[...modelValue]\"\n >\n <ul\n :id=\"`${computedId}tag_list__`\"\n class=\"b-form-tags-list list-unstyled mb-0 d-flex flex-wrap align-items-center\"\n >\n <template v-for=\"(tag, index) in modelValue\" :key=\"index\">\n <slot\n name=\"tag\"\n :tag=\"tag\"\n :tag-class=\"props.tagClass\"\n :tag-variant=\"props.tagVariant\"\n :tag-pills=\"props.tagPills\"\n :remove-tag=\"removeTag\"\n >\n <BFormTag\n :key=\"tag\"\n :class=\"props.tagClass\"\n tag=\"li\"\n :variant=\"props.tagVariant\"\n :pill=\"props.tagPills\"\n :no-remove=\"props.noTagRemove\"\n :disabled=\"props.disabled\"\n @remove=\"removeTag\"\n >{{ tag }}</BFormTag\n >\n </slot>\n </template>\n <li\n role=\"none\"\n aria-live=\"off\"\n class=\"b-from-tags-field flex-grow-1\"\n :aria-controls=\"`${computedId}tag_list__`\"\n >\n <div role=\"group\" class=\"d-flex\">\n <input\n :id=\"_inputId\"\n ref=\"_input\"\n :disabled=\"props.disabled\"\n :value=\"inputValue\"\n :type=\"props.inputType\"\n :placeholder=\"props.placeholder\"\n class=\"b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0\"\n style=\"outline: currentcolor none 0; min-width: 5rem\"\n v-bind=\"props.inputAttrs\"\n :form=\"props.form\"\n :required=\"props.required || undefined\"\n :aria-required=\"props.required || undefined\"\n @input=\"onInput\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n />\n <button\n v-if=\"disableAddButton\"\n type=\"button\"\n class=\"btn b-form-tags-button py-0\"\n :class=\"[\n inputClass,\n {\n [`btn-${props.addButtonVariant}`]: props.addButtonVariant !== null,\n 'disabled invisible': inputValue.length === 0,\n },\n ]\"\n style=\"font-size: 90%\"\n :disabled=\"props.disabled || inputValue.length === 0 || isLimitReached\"\n @click=\"addTag(inputValue)\"\n >\n <slot name=\"add-button-text\">{{ props.addButtonText }}</slot>\n </button>\n </div>\n </li>\n </ul>\n <div :aria-live=\"props.feedbackAriaLive\" aria-atomic=\"true\">\n <div v-if=\"isInvalid\" class=\"d-block invalid-feedback\">\n {{ props.invalidTagText }}: {{ inputValue }}\n </div>\n <small v-if=\"isDuplicate\" class=\"form-text text-body-secondary\"\n >{{ props.duplicateTagText }}: {{ inputValue }}</small\n >\n <small v-if=\"isLimitReached\" class=\"form-text text-body-secondary\">\n {{ props.limitTagsText }}</small\n >\n </div>\n </slot>\n <template v-if=\"props.name\">\n <input\n v-for=\"(tag, index) in modelValue\"\n :key=\"index\"\n type=\"hidden\"\n :name=\"props.name\"\n :value=\"tag\"\n />\n </template>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {onKeyStroke, useFocus, useToNumber} from '@vueuse/core'\nimport {computed, ref, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {escapeRegExpChars} from '../../utils/stringUtils'\nimport BFormTag from './BFormTag.vue'\nimport {useId} from '../../composables/useId'\nimport {useStateClass} from '../../composables/useStateClass'\nimport type {BFormTagsEmits, BFormTagsProps, BFormTagsSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BFormTagsProps, 'modelValue'>>(), {\n addButtonText: 'Add',\n addButtonVariant: 'outline-secondary',\n addOnChange: false,\n autofocus: false,\n disabled: false,\n duplicateTagText: 'Duplicate tag(s)',\n feedbackAriaLive: 'assertive',\n form: undefined,\n ignoreInputFocusSelector: () => ['.b-form-tag', 'button', 'input', 'select'],\n inputAttrs: undefined,\n inputClass: undefined,\n inputId: undefined,\n inputType: 'text',\n invalidTagText: 'Invalid tag(s)',\n limit: undefined,\n limitTagsText: 'Tag limit reached',\n name: undefined,\n noAddOnEnter: false,\n noOuterFocus: false,\n noTagRemove: false,\n placeholder: 'Add tag...',\n removeOnDelete: false,\n required: false,\n separator: undefined,\n size: undefined,\n state: null,\n tagClass: undefined,\n tagPills: false,\n tagRemoveLabel: undefined,\n tagRemovedLabel: 'Tag removed',\n tagValidator: () => true,\n tagVariant: 'secondary',\n})\nconst props = useDefaults(_props, 'BFormTags')\nconst emit = defineEmits<BFormTagsEmits>()\ndefineSlots<BFormTagsSlots>()\n\nconst modelValue = defineModel<Exclude<BFormTagsProps['modelValue'], undefined>>({\n default: () => [],\n})\n\nconst computedId = useId()\n\nconst limitNumber = useToNumber(() => props.limit ?? Number.NaN)\n\nconst stateClass = useStateClass(() => props.state)\n\nconst input = useTemplateRef('_input')\n\nconst {focused} = useFocus(input, {\n initialValue: props.autofocus,\n})\n\nconst _inputId = computed(() => props.inputId || `${computedId.value}input__`)\nconst inputValue = ref<string>('')\nconst shouldRemoveOnDelete = ref<boolean>(modelValue.value.length > 0)\nconst lastRemovedTag = ref<string>('')\nconst validTags = ref<string[]>([])\nconst invalidTags = ref<string[]>([])\nconst duplicateTags = ref<string[]>([])\n\nconst computedClasses = computed(() => [\n stateClass.value,\n {\n [`form-control-${props.size}`]: props.size !== undefined,\n disabled: props.disabled,\n focus: focused.value,\n },\n])\n\nconst isDuplicate = computed(() => modelValue.value.includes(inputValue.value))\nconst isInvalid = computed(() =>\n inputValue.value === '' ? false : !props.tagValidator(inputValue.value)\n)\nconst isLimitReached = computed(() => modelValue.value.length === limitNumber.value)\nconst disableAddButton = computed(() => !isInvalid.value && !isDuplicate.value)\n\nconst onFocusin = (e: Readonly<FocusEvent>): void => {\n if (props.disabled) {\n const target = e.target as HTMLDivElement\n target.blur()\n return\n }\n\n emit('focusin', e)\n}\n\nconst onClick = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.noOuterFocus) {\n return\n }\n\n const {target} = e\n const ignoreSelectors = props.ignoreInputFocusSelector\n if (ignoreSelectors && target instanceof Element) {\n const selector =\n typeof ignoreSelectors === 'string' ? ignoreSelectors : ignoreSelectors.join(',')\n\n if (selector && target.closest(selector)) {\n return\n }\n }\n\n focused.value = true\n}\n\nconst onFocus = (e: Readonly<FocusEvent>): void => {\n if (props.disabled || props.noOuterFocus) {\n return\n }\n\n focused.value = true\n emit('focus', e)\n}\n\nconst onBlur = (e: Readonly<FocusEvent>): void => {\n focused.value = false\n emit('blur', e)\n}\n\nconst onInput = (e: Readonly<Event> | string): void => {\n const value = typeof e === 'string' ? e : (e.target as HTMLInputElement).value\n\n shouldRemoveOnDelete.value = false\n\n if (props.separator?.includes(value.charAt(0)) && value.length > 0) {\n if (input.value) {\n input.value.value = ''\n }\n return\n }\n\n inputValue.value = value\n\n if (props.separator?.includes(value.charAt(value.length - 1))) {\n addTag(value.slice(0, value.length - 1))\n return\n }\n\n validTags.value = props.tagValidator(value) && !isDuplicate.value ? [value] : []\n invalidTags.value = props.tagValidator(value) ? [] : [value]\n duplicateTags.value = isDuplicate.value ? [value] : []\n\n emit('tag-state', validTags.value, invalidTags.value, duplicateTags.value)\n}\n\nconst onChange = (e: Readonly<Event>): void => {\n if (props.addOnChange) {\n onInput(e)\n\n if (!isDuplicate.value) {\n addTag(inputValue.value)\n }\n }\n}\n\nconst onKeydown = (e: Readonly<KeyboardEvent>): void => {\n if ((e.key === 'Enter' || e.code === 'NumpadEnter') && !props.noAddOnEnter) {\n addTag(inputValue.value)\n return\n }\n\n if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n props.removeOnDelete &&\n inputValue.value === '' &&\n shouldRemoveOnDelete.value &&\n modelValue.value.length > 0\n ) {\n removeTag(modelValue.value[modelValue.value.length - 1])\n } else {\n shouldRemoveOnDelete.value = true\n }\n}\n\nonKeyStroke(onKeydown, {target: input, passive: true})\n\nconst separator = computed(() => {\n if (!props.separator) {\n return undefined\n }\n\n return typeof props.separator === 'string' ? props.separator : props.separator.join('')\n})\n\nconst separatorRegExp = computed(() => {\n if (!separator.value) {\n return undefined\n }\n\n return new RegExp(`[${escapeRegExpChars(separator.value)}]+`)\n})\n\nconst addTag = (tag?: string): void => {\n tag = (tag ?? inputValue.value).trim()\n\n const newTags = separatorRegExp.value\n ? tag.split(separatorRegExp.value).map((t) => t.trim())\n : [tag]\n const validTags: string[] = []\n\n for (const newTag of newTags) {\n if (newTag === '' || isDuplicate.value || !props.tagValidator(newTag)) {\n continue\n }\n\n if (limitNumber.value && isLimitReached.value) {\n break\n }\n\n validTags.push(newTag)\n }\n\n const newValue = [...modelValue.value, ...validTags]\n inputValue.value = ''\n shouldRemoveOnDelete.value = true\n modelValue.value = newValue\n if (validTags.length > 0) {\n emit('tag-added', validTags)\n }\n focused.value = true\n}\n\nconst removeTag = (tag?: string): void => {\n const tagStr = tag?.toString() ?? ''\n const tagIndex = modelValue.value.indexOf(tagStr)\n if (tagIndex === -1) return\n lastRemovedTag.value = tagStr\n modelValue.value = [\n ...modelValue.value.slice(0, tagIndex),\n ...modelValue.value.slice(tagIndex + 1),\n ]\n}\n\ndefineExpose({\n blur: () => {\n focused.value = false\n },\n element: input,\n focus: () => {\n focused.value = true\n },\n inputValue,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { s as isVisible } from "./dom-
|
|
3
|
-
import { t as useDefaults } from "./useDefaults-
|
|
4
|
-
import { n as normalizeInput, t as useFormInput } from "./useFormInput-
|
|
1
|
+
import { S as useToNumber } from "./dist-DKc2ivHS.js";
|
|
2
|
+
import { s as isVisible } from "./dom-BdUQrX99.js";
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
4
|
+
import { n as normalizeInput, t as useFormInput } from "./useFormInput-DZ_3ZH1o.js";
|
|
5
5
|
import { computed, createElementBlock, defineComponent, mergeModels, nextTick, normalizeClass, normalizeStyle, onMounted, openBlock, ref, toValue, unref, useModel, useTemplateRef } from "vue";
|
|
6
6
|
//#region src/composables/useTextareaResize.ts
|
|
7
7
|
var useTextareaResize = (input, { maxRows, noAutoShrink, rows }) => {
|
|
@@ -76,7 +76,7 @@ var _hoisted_1 = [
|
|
|
76
76
|
//#region src/components/BFormTextarea/BFormTextarea.vue
|
|
77
77
|
var BFormTextarea_default = /* @__PURE__ */ defineComponent({
|
|
78
78
|
__name: "BFormTextarea",
|
|
79
|
-
props:
|
|
79
|
+
props: /*@__PURE__*/ mergeModels({
|
|
80
80
|
noResize: {
|
|
81
81
|
type: Boolean,
|
|
82
82
|
default: false
|
|
@@ -194,4 +194,4 @@ var BFormTextarea_default = /* @__PURE__ */ defineComponent({
|
|
|
194
194
|
//#endregion
|
|
195
195
|
export { BFormTextarea_default as t };
|
|
196
196
|
|
|
197
|
-
//# sourceMappingURL=BFormTextarea-
|
|
197
|
+
//# sourceMappingURL=BFormTextarea-DlDe26DL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BFormTextarea-C3Cj0DWj.js","names":[],"sources":["../src/composables/useTextareaResize.ts","../src/components/BFormTextarea/BFormTextarea.vue","../src/components/BFormTextarea/BFormTextarea.vue"],"sourcesContent":["import {useToNumber} from '@vueuse/core'\nimport type {Numberish} from '../types/CommonTypes'\nimport {\n computed,\n type CSSProperties,\n type MaybeRefOrGetter,\n nextTick,\n onMounted,\n ref,\n type ShallowRef,\n toValue,\n} from 'vue'\nimport {isVisible} from '../utils/dom'\n\nexport const useTextareaResize = (\n input: Readonly<ShallowRef<HTMLTextAreaElement | null>>,\n {\n maxRows,\n noAutoShrink,\n rows,\n }: {\n rows: MaybeRefOrGetter<Numberish>\n maxRows: MaybeRefOrGetter<Numberish | undefined>\n noAutoShrink: MaybeRefOrGetter<boolean>\n }\n) => {\n const height = ref<number | null | string>(0)\n const maxRowsNumber = useToNumber(\n computed(() => toValue(maxRows) || Number.NaN),\n {\n method: 'parseInt',\n nanToZero: true,\n }\n )\n const rowsNumber = useToNumber(rows, {\n method: 'parseInt',\n nanToZero: true,\n })\n const computedMinRows = computed(() => Math.max(rowsNumber.value || 2, 2))\n const computedMaxRows = computed(() => Math.max(computedMinRows.value, maxRowsNumber.value || 0))\n const computedRows = computed(() =>\n computedMinRows.value === computedMaxRows.value ? computedMinRows.value : null\n )\n\n const handleHeightChange = async () => {\n // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n if (!input.value || !isVisible(input.value)) {\n height.value = null\n return\n }\n\n // Get current computed styles\n const computedStyle = getComputedStyle(input.value)\n // Height of one line of text in px\n const lineHeight = Number.parseFloat(computedStyle.lineHeight) || 1\n // Calculate height of border and padding\n const border =\n (Number.parseFloat(computedStyle.borderTopWidth) || 0) +\n (Number.parseFloat(computedStyle.borderBottomWidth) || 0)\n const padding =\n (Number.parseFloat(computedStyle.paddingTop) || 0) +\n (Number.parseFloat(computedStyle.paddingBottom) || 0)\n // Calculate offset\n const offset = border + padding\n // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n const minHeight = lineHeight * computedMinRows.value + offset\n\n // Get the current style height (with `px` units)\n const oldHeight = input.value.style.height || computedStyle.height\n // Probe scrollHeight by temporarily changing the height to `auto`\n height.value = 'auto'\n await nextTick() // We need to wait for the dom to update. These cannot be batched in the same tick\n // Re-check input.value after await since the element may have been unmounted\n // (e.g., during SSR hydration when BFormGroup re-renders its wrapper element)\n if (!input.value) return\n const {scrollHeight} = input.value\n // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n height.value = oldHeight\n await nextTick() // We need to wait for the dom to update. These cannot be batched in the same tick\n if (!input.value) return\n\n // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2)\n // Calculate number of rows to display (limited within min/max rows)\n const rows = Math.min(Math.max(contentRows, computedMinRows.value), computedMaxRows.value)\n // Calculate the required height of the textarea including border and padding (in pixels)\n const newHeight = Math.max(Math.ceil(rows * lineHeight + offset), minHeight)\n\n // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n if (toValue(noAutoShrink) && (Number.parseFloat(oldHeight.toString()) || 0) > newHeight) {\n height.value = oldHeight\n return\n }\n\n // Return the new computed CSS height in px units\n height.value = `${newHeight}px`\n }\n\n onMounted(handleHeightChange)\n\n const computedStyles = computed<CSSProperties>(() => ({\n resize: 'none',\n height:\n typeof height.value === 'string'\n ? height.value\n : height.value\n ? `${height.value}px`\n : undefined,\n }))\n\n return {\n onInput: handleHeightChange,\n computedStyles,\n computedRows,\n }\n}\n","<template>\n <textarea\n :id=\"computedId\"\n ref=\"_input\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :value=\"modelValue ?? undefined\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n :rows=\"computedRows || 2\"\n :style=\"computedStyles\"\n :wrap=\"props.wrap || undefined\"\n @input=\"\n (e) => {\n onInput(e)\n handleHeightChange()\n }\n \"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormTextareaProps} from '../../types'\nimport {computed, type CSSProperties, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {useTextareaResize} from '../../composables/useTextareaResize'\n\nconst _props = withDefaults(defineProps<Omit<BFormTextareaProps, 'modelValue'>>(), {\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 noResize: false,\n noAutoShrink: false,\n maxRows: undefined,\n rows: 2,\n wrap: 'soft',\n})\nconst props = useDefaults(_props, 'BFormTextarea')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormTextareaProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? 'form-control-plaintext' : 'form-control',\n {\n [`form-control-${props.size}`]: !!props.size,\n },\n])\n\nconst {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows,\n} = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink,\n})\n\nconst computedStyles = computed<CSSProperties>(() => ({\n resize: props.noResize ? 'none' : undefined,\n ...(props.maxRows || props.noAutoShrink ? resizeStyles.value : undefined),\n}))\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <textarea\n :id=\"computedId\"\n ref=\"_input\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :value=\"modelValue ?? undefined\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n :rows=\"computedRows || 2\"\n :style=\"computedStyles\"\n :wrap=\"props.wrap || undefined\"\n @input=\"\n (e) => {\n onInput(e)\n handleHeightChange()\n }\n \"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormTextareaProps} from '../../types'\nimport {computed, type CSSProperties, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {useTextareaResize} from '../../composables/useTextareaResize'\n\nconst _props = withDefaults(defineProps<Omit<BFormTextareaProps, 'modelValue'>>(), {\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 noResize: false,\n noAutoShrink: false,\n maxRows: undefined,\n rows: 2,\n wrap: 'soft',\n})\nconst props = useDefaults(_props, 'BFormTextarea')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormTextareaProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? 'form-control-plaintext' : 'form-control',\n {\n [`form-control-${props.size}`]: !!props.size,\n },\n])\n\nconst {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows,\n} = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink,\n})\n\nconst computedStyles = computed<CSSProperties>(() => ({\n resize: props.noResize ? 'none' : undefined,\n ...(props.maxRows || props.noAutoShrink ? resizeStyles.value : undefined),\n}))\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BFormTextarea-DlDe26DL.js","names":[],"sources":["../src/composables/useTextareaResize.ts","../src/components/BFormTextarea/BFormTextarea.vue","../src/components/BFormTextarea/BFormTextarea.vue"],"sourcesContent":["import {useToNumber} from '@vueuse/core'\nimport type {Numberish} from '../types/CommonTypes'\nimport {\n computed,\n type CSSProperties,\n type MaybeRefOrGetter,\n nextTick,\n onMounted,\n ref,\n type ShallowRef,\n toValue,\n} from 'vue'\nimport {isVisible} from '../utils/dom'\n\nexport const useTextareaResize = (\n input: Readonly<ShallowRef<HTMLTextAreaElement | null>>,\n {\n maxRows,\n noAutoShrink,\n rows,\n }: {\n rows: MaybeRefOrGetter<Numberish>\n maxRows: MaybeRefOrGetter<Numberish | undefined>\n noAutoShrink: MaybeRefOrGetter<boolean>\n }\n) => {\n const height = ref<number | null | string>(0)\n const maxRowsNumber = useToNumber(\n computed(() => toValue(maxRows) || Number.NaN),\n {\n method: 'parseInt',\n nanToZero: true,\n }\n )\n const rowsNumber = useToNumber(rows, {\n method: 'parseInt',\n nanToZero: true,\n })\n const computedMinRows = computed(() => Math.max(rowsNumber.value || 2, 2))\n const computedMaxRows = computed(() => Math.max(computedMinRows.value, maxRowsNumber.value || 0))\n const computedRows = computed(() =>\n computedMinRows.value === computedMaxRows.value ? computedMinRows.value : null\n )\n\n const handleHeightChange = async () => {\n // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n if (!input.value || !isVisible(input.value)) {\n height.value = null\n return\n }\n\n // Get current computed styles\n const computedStyle = getComputedStyle(input.value)\n // Height of one line of text in px\n const lineHeight = Number.parseFloat(computedStyle.lineHeight) || 1\n // Calculate height of border and padding\n const border =\n (Number.parseFloat(computedStyle.borderTopWidth) || 0) +\n (Number.parseFloat(computedStyle.borderBottomWidth) || 0)\n const padding =\n (Number.parseFloat(computedStyle.paddingTop) || 0) +\n (Number.parseFloat(computedStyle.paddingBottom) || 0)\n // Calculate offset\n const offset = border + padding\n // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n const minHeight = lineHeight * computedMinRows.value + offset\n\n // Get the current style height (with `px` units)\n const oldHeight = input.value.style.height || computedStyle.height\n // Probe scrollHeight by temporarily changing the height to `auto`\n height.value = 'auto'\n await nextTick() // We need to wait for the dom to update. These cannot be batched in the same tick\n // Re-check input.value after await since the element may have been unmounted\n // (e.g., during SSR hydration when BFormGroup re-renders its wrapper element)\n if (!input.value) return\n const {scrollHeight} = input.value\n // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n height.value = oldHeight\n await nextTick() // We need to wait for the dom to update. These cannot be batched in the same tick\n if (!input.value) return\n\n // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2)\n // Calculate number of rows to display (limited within min/max rows)\n const rows = Math.min(Math.max(contentRows, computedMinRows.value), computedMaxRows.value)\n // Calculate the required height of the textarea including border and padding (in pixels)\n const newHeight = Math.max(Math.ceil(rows * lineHeight + offset), minHeight)\n\n // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n if (toValue(noAutoShrink) && (Number.parseFloat(oldHeight.toString()) || 0) > newHeight) {\n height.value = oldHeight\n return\n }\n\n // Return the new computed CSS height in px units\n height.value = `${newHeight}px`\n }\n\n onMounted(handleHeightChange)\n\n const computedStyles = computed<CSSProperties>(() => ({\n resize: 'none',\n height:\n typeof height.value === 'string'\n ? height.value\n : height.value\n ? `${height.value}px`\n : undefined,\n }))\n\n return {\n onInput: handleHeightChange,\n computedStyles,\n computedRows,\n }\n}\n","<template>\n <textarea\n :id=\"computedId\"\n ref=\"_input\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :value=\"modelValue ?? undefined\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n :rows=\"computedRows || 2\"\n :style=\"computedStyles\"\n :wrap=\"props.wrap || undefined\"\n @input=\"\n (e) => {\n onInput(e)\n handleHeightChange()\n }\n \"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormTextareaProps} from '../../types'\nimport {computed, type CSSProperties, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {useTextareaResize} from '../../composables/useTextareaResize'\n\nconst _props = withDefaults(defineProps<Omit<BFormTextareaProps, 'modelValue'>>(), {\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 noResize: false,\n noAutoShrink: false,\n maxRows: undefined,\n rows: 2,\n wrap: 'soft',\n})\nconst props = useDefaults(_props, 'BFormTextarea')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormTextareaProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? 'form-control-plaintext' : 'form-control',\n {\n [`form-control-${props.size}`]: !!props.size,\n },\n])\n\nconst {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows,\n} = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink,\n})\n\nconst computedStyles = computed<CSSProperties>(() => ({\n resize: props.noResize ? 'none' : undefined,\n ...(props.maxRows || props.noAutoShrink ? resizeStyles.value : undefined),\n}))\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n","<template>\n <textarea\n :id=\"computedId\"\n ref=\"_input\"\n :class=\"computedClasses\"\n :name=\"props.name || undefined\"\n :form=\"props.form || undefined\"\n :value=\"modelValue ?? undefined\"\n :disabled=\"isDisabled\"\n :placeholder=\"props.placeholder\"\n :required=\"props.required || undefined\"\n :autocomplete=\"props.autocomplete || undefined\"\n :readonly=\"props.readonly || props.plaintext\"\n :aria-required=\"props.required || undefined\"\n :aria-invalid=\"computedAriaInvalid\"\n :rows=\"computedRows || 2\"\n :style=\"computedStyles\"\n :wrap=\"props.wrap || undefined\"\n @input=\"\n (e) => {\n onInput(e)\n handleHeightChange()\n }\n \"\n @change=\"onChange\"\n @blur=\"onBlur\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormTextareaProps} from '../../types'\nimport {computed, type CSSProperties, useTemplateRef} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {normalizeInput} from '../../utils/normalizeInput'\nimport {useFormInput} from '../../composables/useFormInput'\nimport {useTextareaResize} from '../../composables/useTextareaResize'\n\nconst _props = withDefaults(defineProps<Omit<BFormTextareaProps, 'modelValue'>>(), {\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 noResize: false,\n noAutoShrink: false,\n maxRows: undefined,\n rows: 2,\n wrap: 'soft',\n})\nconst props = useDefaults(_props, 'BFormTextarea')\n\nconst [modelValue, modelModifiers] = defineModel<\n Exclude<BFormTextareaProps['modelValue'], undefined>,\n 'trim' | 'lazy' | 'number'\n>({\n default: '',\n set: (v) => normalizeInput(v, modelModifiers),\n})\n\nconst input = useTemplateRef('_input')\n\nconst {\n computedId,\n computedAriaInvalid,\n onInput,\n stateClass,\n onChange,\n onBlur,\n focus,\n blur,\n isDisabled,\n} = useFormInput(props, input, modelValue, modelModifiers)\n\nconst computedClasses = computed(() => [\n stateClass.value,\n props.plaintext ? 'form-control-plaintext' : 'form-control',\n {\n [`form-control-${props.size}`]: !!props.size,\n },\n])\n\nconst {\n computedStyles: resizeStyles,\n onInput: handleHeightChange,\n computedRows,\n} = useTextareaResize(input, {\n maxRows: () => props.maxRows,\n rows: () => props.rows,\n noAutoShrink: () => props.noAutoShrink,\n})\n\nconst computedStyles = computed<CSSProperties>(() => ({\n resize: props.noResize ? 'none' : undefined,\n ...(props.maxRows || props.noAutoShrink ? resizeStyles.value : undefined),\n}))\n\ndefineExpose({\n blur,\n element: input,\n flushDebounce: onBlur,\n focus,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as formGroupKey } from "./keys-
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
-
import { t as useColorVariantClasses } from "./useColorVariantClasses-
|
|
1
|
+
import { d as formGroupKey } from "./keys-BgLwJbLV.js";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
3
|
+
import { t as useColorVariantClasses } from "./useColorVariantClasses-DHQvLjek.js";
|
|
4
4
|
import { computed, createBlock, createTextVNode, defineComponent, normalizeClass, onUnmounted, openBlock, provide, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, unref, withCtx } from "vue";
|
|
5
5
|
//#region src/composables/useProvideFormGroupData.ts
|
|
6
6
|
var useLabelTargetRegistry = () => {
|
|
@@ -190,4 +190,4 @@ var BFormValidFeedback_default = /* @__PURE__ */ defineComponent({
|
|
|
190
190
|
//#endregion
|
|
191
191
|
export { useProvideFormGroupData as a, BFormInvalidFeedback_default as i, BFormText_default as n, BFormRow_default as r, BFormValidFeedback_default as t };
|
|
192
192
|
|
|
193
|
-
//# sourceMappingURL=BFormValidFeedback-
|
|
193
|
+
//# sourceMappingURL=BFormValidFeedback-ClqLRxtH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BFormValidFeedback-Kwxh798d.js","names":[],"sources":["../src/composables/useProvideFormGroupData.ts","../src/components/BForm/BFormInvalidFeedback.vue","../src/components/BForm/BFormInvalidFeedback.vue","../src/components/BForm/BFormRow.vue","../src/components/BForm/BFormRow.vue","../src/components/BForm/BFormText.vue","../src/components/BForm/BFormText.vue","../src/components/BForm/BFormValidFeedback.vue","../src/components/BForm/BFormValidFeedback.vue"],"sourcesContent":["import {computed, onUnmounted, provide, type Ref, shallowRef} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\nimport {formGroupKey} from '../utils/keys'\n\nconst useLabelTargetRegistry = () => {\n const labelTargetIds = shallowRef<Readonly<Ref<string | null>>[]>([])\n\n // Track runs in the descendant's setup, so onUnmounted binds to the descendant.\n const track = (idRef: Readonly<Ref<string | null>>) => {\n labelTargetIds.value = [...labelTargetIds.value, idRef]\n onUnmounted(() => {\n labelTargetIds.value = labelTargetIds.value.filter((r: Readonly<Ref<string | null>>) => r !== idRef)\n })\n }\n\n return {labelTargetIds, track}\n}\n\n/**\n * Provides formGroupKey for descendant form controls. Each provider has its own isolated\n * label-target registry: BFormGroup uses the resulting `singleLabelTargetId` to drive its\n * label/legend rendering. Intermediate components (e.g. BFormFloatingLabel) call this with\n * passed-through state/disabled, acting as a boundary — their registry exists but is unused,\n * so descendant claims never reach an outer BFormGroup.\n */\nexport const useProvideFormGroupData = ({\n state,\n disabled,\n}: {\n state: Readonly<Ref<ValidationState | undefined>>\n disabled: Readonly<Ref<boolean>>\n}) => {\n const {labelTargetIds, track} = useLabelTargetRegistry()\n\n provide(formGroupKey, () => ({state, disabled, track}))\n\n // null unless exactly one distinct non-empty id is currently registered.\n const singleLabelTargetId = computed<string | null>(() => {\n let single: string | null = null\n for (const r of labelTargetIds.value) {\n const v = r.value\n if (!v) continue\n if (single !== null && single !== v) return null\n single = v\n }\n return single\n })\n\n return {singleLabelTargetId}\n}\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormInvalidFeedbackProps, BFormInvalidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormInvalidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormInvalidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow || props.state === false)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormInvalidFeedbackProps, BFormInvalidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormInvalidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormInvalidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow || props.state === false)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"row d-flex flex-wrap\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRowProps, BFormRowSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BFormRowProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BFormRow')\ndefineSlots<BFormRowSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"row d-flex flex-wrap\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRowProps, BFormRowSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BFormRowProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BFormRow')\ndefineSlots<BFormRowSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTextProps, BFormTextSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTextProps>(), {\n id: undefined,\n inline: false,\n tag: 'small',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BFormText')\ndefineSlots<BFormTextSlots>()\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'form-text': !props.inline,\n },\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTextProps, BFormTextSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTextProps>(), {\n id: undefined,\n inline: false,\n tag: 'small',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BFormText')\ndefineSlots<BFormTextSlots>()\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'form-text': !props.inline,\n },\n])\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormValidFeedbackProps, BFormValidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormValidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormValidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow === true || props.state === true)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormValidFeedbackProps, BFormValidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormValidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormValidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow === true || props.state === true)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n}))\n</script>\n"],"mappings":";;;;;;AAIA,IAAM,+BAA+B;CACnC,MAAM,kBAAA,GAAA,IAAA,YAA4D,EAAE,CAAC;CAGrE,MAAM,SAAS,UAAwC;AACrD,iBAAe,QAAQ,CAAC,GAAG,eAAe,OAAO,MAAM;AACvD,GAAA,GAAA,IAAA,mBAAkB;AAChB,kBAAe,QAAQ,eAAe,MAAM,QAAQ,MAAoC,MAAM,MAAM;IACpG;;AAGJ,QAAO;EAAC;EAAgB;EAAM;;;;;;;;;AAUhC,IAAa,2BAA2B,EACtC,OACA,eAII;CACJ,MAAM,EAAC,gBAAgB,UAAS,wBAAwB;AAExD,EAAA,GAAA,IAAA,SAAQ,aAAA,qBAAqB;EAAC;EAAO;EAAU;EAAM,EAAE;AAcvD,QAAO,EAAC,sBAAA,GAAA,IAAA,gBAXkD;EACxD,IAAI,SAAwB;AAC5B,OAAK,MAAM,KAAK,eAAe,OAAO;GACpC,MAAM,IAAI,EAAE;AACZ,OAAI,CAAC,EAAG;AACR,OAAI,WAAW,QAAQ,WAAW,EAAG,QAAO;AAC5C,YAAS;;AAEX,SAAO;GACP,EAE0B;;;;;;;;;;;;;;;;;;;;;;;;;;EClB9B,MAAM,QAAQ,oBAAA,YAVC,SAUmB,uBAAsB;EAGxD,MAAM,gBAAA,GAAA,IAAA,gBAA8B,MAAM,aAAa,MAAM,UAAU,MAAK;EAE5E,MAAM,mBAAA,GAAA,IAAA,iBAAkC;GACtC,WAAW,aAAa;GACxB,oBAAoB,CAAC,MAAM;GAC3B,mBAAmB,MAAM;GAC1B,EAAC;;qGArCO,MAAK,CAAC,IAAG,EAAA;IACb,KAAA,GAAA,IAAA,OAAI,MAAK,CAAC;IACV,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,cAAA,GAAA,IAAA,OAAW,MAAK,CAAC;IACjB,gBAAA,GAAA,IAAA,OAAa,MAAK,CAAC,WAAQ,OAAU,KAAA;IACrC,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAA;;oCAID,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;EEGnB,MAAM,QAAQ,oBAAA,YAHC,SAGmB,WAAU;;qGAZ1B,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,wBAAsB,EAAA;oCAC7C,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;EEmBZ,MAAM,QAAQ,oBAAA,YAPC,SAOmB,YAAW;EAG7C,MAAM,eAAe,+BAAA,uBAAuB,MAAK;EACjD,MAAM,mBAAA,GAAA,IAAA,gBAAiC,CACrC,aAAa,OACb,EACE,aAAa,CAAC,MAAM,QACrB,CACF,CAAA;;qGA7BiB,MAAK,CAAC,IAAG,EAAA;IAAG,KAAA,GAAA,IAAA,OAAI,MAAK,CAAC;IAAK,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAA;;oCAGzC,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EE2BnB,MAAM,QAAQ,oBAAA,YAVC,SAUmB,uBAAsB;EAGxD,MAAM,gBAAA,GAAA,IAAA,gBAA8B,MAAM,cAAc,QAAQ,MAAM,UAAU,KAAI;EAEpF,MAAM,mBAAA,GAAA,IAAA,iBAAkC;GACtC,WAAW,aAAa;GACxB,kBAAkB,CAAC,MAAM;GACzB,iBAAiB,MAAM;GACxB,EAAC;;qGArCO,MAAK,CAAC,IAAG,EAAA;IACb,KAAA,GAAA,IAAA,OAAI,MAAK,CAAC;IACV,OAAA,GAAA,IAAA,OAAM,MAAK,CAAC;IACZ,cAAA,GAAA,IAAA,OAAW,MAAK,CAAC;IACjB,gBAAA,GAAA,IAAA,OAAa,MAAK,CAAC,WAAQ,OAAU,KAAA;IACrC,QAAA,GAAA,IAAA,gBAAO,gBAAA,MAAA;;oCAID,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,WAAA,EAAA,QAAA,EAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,kBAAA,GAAA,IAAA,OADF,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"BFormValidFeedback-ClqLRxtH.js","names":[],"sources":["../src/composables/useProvideFormGroupData.ts","../src/components/BForm/BFormInvalidFeedback.vue","../src/components/BForm/BFormInvalidFeedback.vue","../src/components/BForm/BFormRow.vue","../src/components/BForm/BFormRow.vue","../src/components/BForm/BFormText.vue","../src/components/BForm/BFormText.vue","../src/components/BForm/BFormValidFeedback.vue","../src/components/BForm/BFormValidFeedback.vue"],"sourcesContent":["import {computed, onUnmounted, provide, type Ref, shallowRef} from 'vue'\nimport type {ValidationState} from '../types/CommonTypes'\nimport {formGroupKey} from '../utils/keys'\n\nconst useLabelTargetRegistry = () => {\n const labelTargetIds = shallowRef<Readonly<Ref<string | null>>[]>([])\n\n // Track runs in the descendant's setup, so onUnmounted binds to the descendant.\n const track = (idRef: Readonly<Ref<string | null>>) => {\n labelTargetIds.value = [...labelTargetIds.value, idRef]\n onUnmounted(() => {\n labelTargetIds.value = labelTargetIds.value.filter((r: Readonly<Ref<string | null>>) => r !== idRef)\n })\n }\n\n return {labelTargetIds, track}\n}\n\n/**\n * Provides formGroupKey for descendant form controls. Each provider has its own isolated\n * label-target registry: BFormGroup uses the resulting `singleLabelTargetId` to drive its\n * label/legend rendering. Intermediate components (e.g. BFormFloatingLabel) call this with\n * passed-through state/disabled, acting as a boundary — their registry exists but is unused,\n * so descendant claims never reach an outer BFormGroup.\n */\nexport const useProvideFormGroupData = ({\n state,\n disabled,\n}: {\n state: Readonly<Ref<ValidationState | undefined>>\n disabled: Readonly<Ref<boolean>>\n}) => {\n const {labelTargetIds, track} = useLabelTargetRegistry()\n\n provide(formGroupKey, () => ({state, disabled, track}))\n\n // null unless exactly one distinct non-empty id is currently registered.\n const singleLabelTargetId = computed<string | null>(() => {\n let single: string | null = null\n for (const r of labelTargetIds.value) {\n const v = r.value\n if (!v) continue\n if (single !== null && single !== v) return null\n single = v\n }\n return single\n })\n\n return {singleLabelTargetId}\n}\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormInvalidFeedbackProps, BFormInvalidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormInvalidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormInvalidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow || props.state === false)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormInvalidFeedbackProps, BFormInvalidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormInvalidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormInvalidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow || props.state === false)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"row d-flex flex-wrap\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRowProps, BFormRowSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BFormRowProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BFormRow')\ndefineSlots<BFormRowSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"row d-flex flex-wrap\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BFormRowProps, BFormRowSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BFormRowProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BFormRow')\ndefineSlots<BFormRowSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTextProps, BFormTextSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTextProps>(), {\n id: undefined,\n inline: false,\n tag: 'small',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BFormText')\ndefineSlots<BFormTextSlots>()\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'form-text': !props.inline,\n },\n])\n</script>\n","<template>\n <component :is=\"props.tag\" :id=\"props.id\" :class=\"computedClasses\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {useColorVariantClasses} from '../../composables/useColorVariantClasses'\nimport type {BFormTextProps, BFormTextSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormTextProps>(), {\n id: undefined,\n inline: false,\n tag: 'small',\n text: undefined,\n textVariant: 'body-secondary',\n})\nconst props = useDefaults(_props, 'BFormText')\ndefineSlots<BFormTextSlots>()\n\nconst colorClasses = useColorVariantClasses(props)\nconst computedClasses = computed(() => [\n colorClasses.value,\n {\n 'form-text': !props.inline,\n },\n])\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormValidFeedbackProps, BFormValidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormValidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormValidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow === true || props.state === true)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n}))\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :id=\"props.id\"\n :role=\"props.role\"\n :aria-live=\"props.ariaLive\"\n :aria-atomic=\"props.ariaLive ? true : undefined\"\n :class=\"computedClasses\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BFormValidFeedbackProps, BFormValidFeedbackSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BFormValidFeedbackProps>(), {\n ariaLive: undefined,\n forceShow: false,\n id: undefined,\n role: undefined,\n state: null,\n tag: 'div',\n text: undefined,\n tooltip: false,\n})\nconst props = useDefaults(_props, 'BFormInvalidFeedback')\ndefineSlots<BFormValidFeedbackSlots>()\n\nconst computedShow = computed(() => props.forceShow === true || props.state === true)\n\nconst computedClasses = computed(() => ({\n 'd-block': computedShow.value,\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n}))\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
-
import { r as isReadOnlyArray } from "./object-
|
|
4
|
-
import { t as useRadiusElementClasses } from "./useRadiusElementClasses-
|
|
1
|
+
import { S as useToNumber } from "./dist-DKc2ivHS.js";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
3
|
+
import { r as isReadOnlyArray } from "./object-C7YmCGEm.js";
|
|
4
|
+
import { t as useRadiusElementClasses } from "./useRadiusElementClasses-CKCJjpkK.js";
|
|
5
5
|
import { computed, createBlock, defineComponent, normalizeClass, openBlock, resolveDynamicComponent, unref } from "vue";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/components/BImg/BImg.vue
|
|
@@ -159,4 +159,4 @@ var BImg_default = /* @__PURE__ */ defineComponent({
|
|
|
159
159
|
//#endregion
|
|
160
160
|
export { BImg_default as t };
|
|
161
161
|
|
|
162
|
-
//# sourceMappingURL=BImg-
|
|
162
|
+
//# sourceMappingURL=BImg-knz2UZQE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BImg-JKJLgYYT.js","names":[],"sources":["../src/components/BImg/BImg.vue","../src/components/BImg/BImg.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ,oBAAA,YAvBC,SAuBmB,OAAM;EAExC,MAAM,eAAe,aAAA,kBAAkB,MAAM,UAAU,IAAU;EACjE,MAAM,cAAc,aAAA,kBAAkB,MAAM,SAAS,IAAU;EAE/D,MAAM,uBAAuB,gCAAA,+BAA+B;GAC1D,SAAS,MAAM;GACf,YAAY,MAAM;GAClB,eAAe,MAAM;GACrB,cAAc,MAAM;GACpB,YAAY,MAAM;GACnB,EAAC;EAEF,MAAM,kBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,WAAW,WACpB,MAAM,OACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,OAAM,GAC1B,MAAM,OAAO,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACtC,KAAA,EACR;EAEA,MAAM,iBAAA,GAAA,IAAA,gBACJ,OAAO,MAAM,UAAU,WACnB,MAAM,MACH,MAAM,IAAG,CACT,QAAQ,MAAM,EAAC,CACf,KAAK,IAAG,GACX,eAAA,gBAAgB,MAAM,MAAK,GACzB,MAAM,MAAM,QAAQ,MAAM,EAAE,CAAC,KAAK,IAAG,GACrC,KAAA,EACR;EAEA,MAAM,sBAAA,GAAA,IAAA,gBAA6F;GACjG,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,GAAG,KAAA,IAAY,YAAY;GACxE,MAAM,SAAS,OAAO,MAAM,aAAa,MAAM,GAAG,KAAA,IAAY,aAAa;AAC3E,OAAI,MAAM,OAAO;AACf,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAO;KAAK;AAC7E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC;KAAQ,OAAO;KAAM;AAC9E,QAAI,UAAU,KAAA,KAAa,WAAW,KAAA,EAAW,QAAO;KAAC,QAAQ;KAAG,OAAO;KAAC;;AAE9E,UAAO;IACL;IACA;IACF;IACD;EAED,MAAM,uBAAA,GAAA,IAAA,gBACJ,gBAAgB,mBAAmB,MAAM,OAAO,mBAAmB,MAAM,QAAQ,MAAM,WAAU,CACnG;EAEA,MAAM,qBAAA,GAAA,IAAA,iBAAoC;GACxC,eAAe,MAAM,cAAc;GACnC,aAAa,MAAM,cAAc;GACjC,WAAW,MAAM,cAAc;GAChC,EAAC;EAEF,MAAM,mBAAA,GAAA,IAAA,gBAAiC;GACrC,qBAAqB;GACrB,kBAAkB;GAClB;IACE,iBAAiB,MAAM;IACvB,aAAa,MAAM,SAAS,MAAM;IAClC,SAAS,MAAM;IACf,WAAW,MAAM,SAAS,MAAM,cAAc;;GAEjD,CAAA;EAED,MAAM,mBAAmB,OAA2B,QAA4B,UAC9E,oCAAoC,mBAAmB,eAAe,MAAM,YAAY,OAAO,oDAAoD,MAAM,GAAG,OAAO;mDAClH,MAAM;YAC7C;;qGApHH,MAAK,CAAC,IAAG,EAAA;IACb,QAAA,GAAA,IAAA,gBAAK,CAAE,gBAAA,OACF,QAAO,CAAA;IACZ,KAAG,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,SAAA,GAAA,IAAA,OAAQ,MAAK,CAAC,MAAM,oBAAA;IAChC,OAAO,mBAAA,MAAmB,SAAS,KAAA;IACnC,QAAQ,mBAAA,MAAmB,UAAU,KAAA;IACrC,QAAM,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,eAAA,QAAiB,KAAA;IACxC,OAAK,EAAA,GAAA,IAAA,OAAG,MAAK,CAAC,QAAQ,cAAA,QAAgB,KAAA;IACtC,UAAA,GAAA,IAAA,OAAS,MAAK,CAAC,OAAI,SAAA"}
|
|
1
|
+
{"version":3,"file":"BImg-knz2UZQE.js","names":[],"sources":["../src/components/BImg/BImg.vue","../src/components/BImg/BImg.vue"],"sourcesContent":["<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n","<template>\n <component\n :is=\"props.tag\"\n :class=\"computedClasses\"\n class=\"b-img\"\n :src=\"!props.blank ? props.src : computedBlankImgSrc\"\n :width=\"computedDimensions.width || undefined\"\n :height=\"computedDimensions.height || undefined\"\n :srcset=\"!props.blank ? computedSrcset : undefined\"\n :sizes=\"!props.blank ? computedSizes : undefined\"\n :loading=\"props.lazy ? 'lazy' : 'eager'\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport type {BImgProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed} from 'vue'\nimport {useToNumber} from '@vueuse/core'\nimport {useRadiusElementClasses} from '../../composables/useRadiusElementClasses'\nimport {isReadOnlyArray} from '../../utils/object'\n\nconst _props = withDefaults(defineProps<BImgProps>(), {\n blank: false,\n blankColor: 'transparent',\n block: false,\n fluid: false,\n fluidGrow: false,\n height: undefined,\n lazy: false,\n sizes: undefined,\n tag: 'img',\n src: undefined,\n srcset: undefined,\n placement: undefined,\n thumbnail: false,\n width: undefined,\n // RadiusElementExtendables props\n rounded: false,\n roundedBottom: undefined,\n roundedEnd: undefined,\n roundedStart: undefined,\n roundedTop: undefined,\n // End RadiusElementExtendables props\n})\nconst props = useDefaults(_props, 'BImg')\n\nconst heightNumber = useToNumber(() => props.height ?? Number.NaN)\nconst widthNumber = useToNumber(() => props.width ?? Number.NaN)\n\nconst radiusElementClasses = useRadiusElementClasses(() => ({\n rounded: props.rounded,\n roundedTop: props.roundedTop,\n roundedBottom: props.roundedBottom,\n roundedStart: props.roundedStart,\n roundedEnd: props.roundedEnd,\n}))\n\nconst computedSrcset = computed(() =>\n typeof props.srcset === 'string'\n ? props.srcset\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.srcset)\n ? props.srcset.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedSizes = computed(() =>\n typeof props.sizes === 'string'\n ? props.sizes\n .split(',')\n .filter((x) => x)\n .join(',')\n : isReadOnlyArray(props.sizes)\n ? props.sizes.filter((x) => x).join(',')\n : undefined\n)\n\nconst computedDimensions = computed<{height: number | undefined; width: number | undefined}>(() => {\n const width = Number.isNaN(widthNumber.value) ? undefined : widthNumber.value\n const height = Number.isNaN(heightNumber.value) ? undefined : heightNumber.value\n if (props.blank) {\n if (width !== undefined && height === undefined) return {height: width, width}\n if (width === undefined && height !== undefined) return {height, width: height}\n if (width === undefined && height === undefined) return {height: 1, width: 1}\n }\n return {\n width,\n height,\n }\n})\n\nconst computedBlankImgSrc = computed(() =>\n makeBlankImgSrc(computedDimensions.value.width, computedDimensions.value.height, props.blankColor)\n)\n\nconst computedAlignment = computed(() => ({\n 'float-start': props.placement === 'start',\n 'float-end': props.placement === 'end',\n 'mx-auto': props.placement === 'center',\n}))\n\nconst computedClasses = computed(() => [\n radiusElementClasses.value,\n computedAlignment.value,\n {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n 'd-block': props.block || props.placement === 'center',\n },\n])\n\nconst makeBlankImgSrc = (width: number | undefined, height: number | undefined, color: string) =>\n `data:image/svg+xml;charset=UTF-8,${encodeURIComponent(`<svg width=\"${width}\" height=\"${height}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 ${width} ${height}\" preserveAspectRatio=\"none\">\n <rect width=\"100%\" height=\"100%\" style=\"fill:${color};\"></rect>\n </svg>`)}`\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ,YAAY,SAAQ,MAAM;EAExC,MAAM,eAAe,kBAAkB,MAAM,UAAU,GAAU;EACjE,MAAM,cAAc,kBAAkB,MAAM,SAAS,GAAU;EAE/D,MAAM,uBAAuB,+BAA+B;GAC1D,SAAS,MAAM;GACf,YAAY,MAAM;GAClB,eAAe,MAAM;GACrB,cAAc,MAAM;GACpB,YAAY,MAAM;EACpB,EAAE;EAEF,MAAM,iBAAiB,eACrB,OAAO,MAAM,WAAW,WACpB,MAAM,OACH,MAAM,GAAG,CAAA,CACT,QAAQ,MAAM,CAAC,CAAA,CACf,KAAK,GAAG,IACX,gBAAgB,MAAM,MAAM,IAC1B,MAAM,OAAO,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACtC,KAAA,CACR;EAEA,MAAM,gBAAgB,eACpB,OAAO,MAAM,UAAU,WACnB,MAAM,MACH,MAAM,GAAG,CAAA,CACT,QAAQ,MAAM,CAAC,CAAA,CACf,KAAK,GAAG,IACX,gBAAgB,MAAM,KAAK,IACzB,MAAM,MAAM,QAAQ,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IACrC,KAAA,CACR;EAEA,MAAM,qBAAqB,eAAwE;GACjG,MAAM,QAAQ,OAAO,MAAM,YAAY,KAAK,IAAI,KAAA,IAAY,YAAY;GACxE,MAAM,SAAS,OAAO,MAAM,aAAa,KAAK,IAAI,KAAA,IAAY,aAAa;GAC3E,IAAI,MAAM,OAAO;IACf,IAAI,UAAU,KAAA,KAAa,WAAW,KAAA,GAAW,OAAO;KAAC,QAAQ;KAAO;IAAK;IAC7E,IAAI,UAAU,KAAA,KAAa,WAAW,KAAA,GAAW,OAAO;KAAC;KAAQ,OAAO;IAAM;IAC9E,IAAI,UAAU,KAAA,KAAa,WAAW,KAAA,GAAW,OAAO;KAAC,QAAQ;KAAG,OAAO;IAAC;GAC9E;GACA,OAAO;IACL;IACA;GACF;EACF,CAAC;EAED,MAAM,sBAAsB,eAC1B,gBAAgB,mBAAmB,MAAM,OAAO,mBAAmB,MAAM,QAAQ,MAAM,UAAU,CACnG;EAEA,MAAM,oBAAoB,gBAAgB;GACxC,eAAe,MAAM,cAAc;GACnC,aAAa,MAAM,cAAc;GACjC,WAAW,MAAM,cAAc;EACjC,EAAE;EAEF,MAAM,kBAAkB,eAAe;GACrC,qBAAqB;GACrB,kBAAkB;GAClB;IACE,iBAAiB,MAAM;IACvB,aAAa,MAAM,SAAS,MAAM;IAClC,SAAS,MAAM;IACf,WAAW,MAAM,SAAS,MAAM,cAAc;GAChD;EACF,CAAC;EAED,MAAM,mBAAmB,OAA2B,QAA4B,UAC9E,oCAAoC,mBAAmB,eAAe,MAAM,YAAY,OAAO,oDAAoD,MAAM,GAAG,OAAO;mDAClH,MAAM;WAC9C;;GArHT,OAAA,UAAA,GAAA,YAUE,wBATK,MAAA,KAAA,CAAK,CAAC,GAAG,GAAA;IACb,OAAK,eAAA,CAAE,gBAAA,OACF,OAAO,CAAA;IACZ,KAAG,CAAG,MAAA,KAAA,CAAK,CAAC,QAAQ,MAAA,KAAA,CAAK,CAAC,MAAM,oBAAA;IAChC,OAAO,mBAAA,MAAmB,SAAS,KAAA;IACnC,QAAQ,mBAAA,MAAmB,UAAU,KAAA;IACrC,QAAM,CAAG,MAAA,KAAA,CAAK,CAAC,QAAQ,eAAA,QAAiB,KAAA;IACxC,OAAK,CAAG,MAAA,KAAA,CAAK,CAAC,QAAQ,cAAA,QAAgB,KAAA;IACtC,SAAS,MAAA,KAAA,CAAK,CAAC,OAAI,SAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
-
import "./BInputGroup-X2Z53RJx.mjs";
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
3
2
|
import { createBlock, createTextVNode, defineComponent, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
3
|
//#endregion
|
|
5
4
|
//#region src/components/BInputGroup/BInputGroupText.vue
|
|
@@ -22,4 +21,4 @@ var BInputGroupText_default = /* @__PURE__ */ defineComponent({
|
|
|
22
21
|
//#endregion
|
|
23
22
|
export { BInputGroupText_default as t };
|
|
24
23
|
|
|
25
|
-
//# sourceMappingURL=BInputGroup-
|
|
24
|
+
//# sourceMappingURL=BInputGroup-Bjh7zXyI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BInputGroup-
|
|
1
|
+
{"version":3,"file":"BInputGroup-Bjh7zXyI.js","names":[],"sources":["../src/components/BInputGroup/BInputGroupText.vue","../src/components/BInputGroup/BInputGroupText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"input-group-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BInputGroupTextProps, BInputGroupTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BInputGroupTextProps>(), {\n tag: 'div',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BInputGroupText')\ndefineSlots<BInputGroupTextSlots>()\n</script>\n"],"mappings":";;;;;;;;;;;EAgBA,MAAM,QAAQ,YAAY,SAAQ,iBAAiB;;GAfjD,OAAA,UAAA,GAAA,YAIY,wBAJI,MAAA,KAAA,CAAK,CAAC,GAAG,GAAA,EAAE,OAAM,mBAAkB,GAAA;IACjD,SAAA,cAEO,CAFP,WAEO,KAAA,QAAA,WAAA,CAAA,SAAA,CADF,gBAAA,gBAAA,MAAA,KAAA,CAAK,CAAC,IAAI,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { p as inputGroupKey } from "./keys-
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
1
|
+
import { p as inputGroupKey } from "./keys-BgLwJbLV.js";
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-BzP4qZBu.js";
|
|
3
3
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, provide, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
4
|
//#region src/components/BInputGroup/BInputGroup.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = {
|
|
@@ -46,4 +46,4 @@ var BInputGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
46
46
|
//#endregion
|
|
47
47
|
export { BInputGroup_default as t };
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=BInputGroup-
|
|
49
|
+
//# sourceMappingURL=BInputGroup-DdoeSICR.js.map
|