bootstrap-vue-next 0.45.5 → 0.45.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BAccordion-Gz2SpRmq.mjs → BAccordion-D51b9HVD.mjs} +5 -5
- package/dist/{BAccordion-Gz2SpRmq.mjs.map → BAccordion-D51b9HVD.mjs.map} +1 -1
- package/dist/{BAccordion-DgXJMqdG.js → BAccordion-DYmuqZIG.js} +5 -5
- package/dist/{BAccordion-DgXJMqdG.js.map → BAccordion-DYmuqZIG.js.map} +1 -1
- package/dist/{BAlert-BFPBalmr.mjs → BAlert-Ce2uxrJi.mjs} +8 -8
- package/dist/{BAlert-BFPBalmr.mjs.map → BAlert-Ce2uxrJi.mjs.map} +1 -1
- package/dist/{BAlert-Dk3rgEOI.js → BAlert-croEtrQu.js} +8 -8
- package/dist/{BAlert-Dk3rgEOI.js.map → BAlert-croEtrQu.js.map} +1 -1
- package/dist/{BApp-CIu-zI8K.mjs → BApp-B-fUrnpK.mjs} +2 -2
- package/dist/{BApp-CIu-zI8K.mjs.map → BApp-B-fUrnpK.mjs.map} +1 -1
- package/dist/{BApp-cBKQc5Dd.js → BApp-DOvEe1jo.js} +2 -2
- package/dist/{BApp-cBKQc5Dd.js.map → BApp-DOvEe1jo.js.map} +1 -1
- package/dist/{BAspect-BULTO240.js → BAspect-CUIU48Ck.js} +2 -2
- package/dist/{BAspect-BULTO240.js.map → BAspect-CUIU48Ck.js.map} +1 -1
- package/dist/{BAspect-CwokVvvn.mjs → BAspect-wfiXM4KA.mjs} +2 -2
- package/dist/{BAspect-CwokVvvn.mjs.map → BAspect-wfiXM4KA.mjs.map} +1 -1
- package/dist/{BAutocomplete-DRzLhACU.mjs → BAutocomplete-CH-bQzME.mjs} +8 -8
- package/dist/{BAutocomplete-DRzLhACU.mjs.map → BAutocomplete-CH-bQzME.mjs.map} +1 -1
- package/dist/{BAutocomplete-D8Qkcqcy.js → BAutocomplete-DLDFAV5_.js} +8 -8
- package/dist/{BAutocomplete-D8Qkcqcy.js.map → BAutocomplete-DLDFAV5_.js.map} +1 -1
- package/dist/{BAvatar-CZn0MQHY.js → BAvatar-FGK0dK0x.js} +5 -5
- package/dist/{BAvatar-CZn0MQHY.js.map → BAvatar-FGK0dK0x.js.map} +1 -1
- package/dist/{BAvatar-DODGnQMY.mjs → BAvatar-iALHbqVk.mjs} +5 -5
- package/dist/{BAvatar-DODGnQMY.mjs.map → BAvatar-iALHbqVk.mjs.map} +1 -1
- package/dist/{BBadge-CZ219I7a.mjs → BBadge-Cx_CdauK.mjs} +3 -3
- package/dist/{BBadge-CZ219I7a.mjs.map → BBadge-Cx_CdauK.mjs.map} +1 -1
- package/dist/{BBadge-DTJcCo9u.js → BBadge-Db6SEnzy.js} +3 -3
- package/dist/{BBadge-DTJcCo9u.js.map → BBadge-Db6SEnzy.js.map} +1 -1
- package/dist/{BBreadcrumb-DFG2Qxl9.js → BBreadcrumb-B9ra7vg2.js} +3 -3
- package/dist/{BBreadcrumb-DFG2Qxl9.js.map → BBreadcrumb-B9ra7vg2.js.map} +1 -1
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs → BBreadcrumb-BxADbg0O.mjs} +3 -3
- package/dist/{BBreadcrumb-Dk4ia-9c.mjs.map → BBreadcrumb-BxADbg0O.mjs.map} +1 -1
- package/dist/{BButton-C0Ylhonf.mjs → BButton-BSa7LfL5.mjs} +5 -5
- package/dist/{BButton-C0Ylhonf.mjs.map → BButton-BSa7LfL5.mjs.map} +1 -1
- package/dist/{BButton-BZ9eI3ZX.js → BButton-DRRlzkyK.js} +5 -5
- package/dist/{BButton-BZ9eI3ZX.js.map → BButton-DRRlzkyK.js.map} +1 -1
- package/dist/{BButton-D_sCrjpg.mjs → BButton-PY7AANXJ.mjs} +4 -4
- package/dist/{BButton-D_sCrjpg.mjs.map → BButton-PY7AANXJ.mjs.map} +1 -1
- package/dist/{BButton-Dr-RadYQ.js → BButton-aYtMnyHu.js} +4 -4
- package/dist/{BButton-Dr-RadYQ.js.map → BButton-aYtMnyHu.js.map} +1 -1
- package/dist/{BCard-cj8_dIcz.mjs → BCard-BWoruisp.mjs} +3 -3
- package/dist/{BCard-cj8_dIcz.mjs.map → BCard-BWoruisp.mjs.map} +1 -1
- package/dist/{BCard-BjQkY783.js → BCard-Bh8RLMo_.js} +3 -3
- package/dist/{BCard-BjQkY783.js.map → BCard-Bh8RLMo_.js.map} +1 -1
- package/dist/{BCard-TS8DtOwm.mjs → BCard-CHbKv2OR.mjs} +3 -3
- package/dist/{BCard-TS8DtOwm.mjs.map → BCard-CHbKv2OR.mjs.map} +1 -1
- package/dist/{BCard-BkvG5Zzw.js → BCard-DwNYhVmg.js} +3 -3
- package/dist/{BCard-BkvG5Zzw.js.map → BCard-DwNYhVmg.js.map} +1 -1
- package/dist/{BCarousel-D23rApAX.js → BCarousel-2JB21Pcu.js} +5 -5
- package/dist/{BCarousel-D23rApAX.js.map → BCarousel-2JB21Pcu.js.map} +1 -1
- package/dist/{BCarousel-VL1gVXpt.mjs → BCarousel-B6_bgQpl.mjs} +5 -5
- package/dist/{BCarousel-VL1gVXpt.mjs.map → BCarousel-B6_bgQpl.mjs.map} +1 -1
- package/dist/{BCloseButton-CCdRwLDo.mjs → BCloseButton-CKTKr4PS.mjs} +2 -2
- package/dist/{BCloseButton-CCdRwLDo.mjs.map → BCloseButton-CKTKr4PS.mjs.map} +1 -1
- package/dist/{BCloseButton-fw5ONnhr.js → BCloseButton-D42zHRLP.js} +2 -2
- package/dist/{BCloseButton-fw5ONnhr.js.map → BCloseButton-D42zHRLP.js.map} +1 -1
- package/dist/{BCol-VPaTVLsM.mjs → BCol-B3VeEk9z.mjs} +2 -2
- package/dist/{BCol-VPaTVLsM.mjs.map → BCol-B3VeEk9z.mjs.map} +1 -1
- package/dist/{BCol-CArTYHqb.js → BCol-Ck9VydHj.js} +2 -2
- package/dist/{BCol-CArTYHqb.js.map → BCol-Ck9VydHj.js.map} +1 -1
- package/dist/{BCollapse-CZlDVTpI.js → BCollapse-CDLYLSZo.js} +5 -5
- package/dist/{BCollapse-CZlDVTpI.js.map → BCollapse-CDLYLSZo.js.map} +1 -1
- package/dist/{BCollapse-CTvK48kB.mjs → BCollapse-kqhe4AmL.mjs} +5 -5
- package/dist/{BCollapse-CTvK48kB.mjs.map → BCollapse-kqhe4AmL.mjs.map} +1 -1
- package/dist/{BContainer-CeHyMYb_.mjs → BContainer-ATfhaxTc.mjs} +4 -4
- package/dist/{BContainer-CeHyMYb_.mjs.map → BContainer-ATfhaxTc.mjs.map} +1 -1
- package/dist/{BContainer-CNmEk2mi.js → BContainer-CcF6dgtI.js} +4 -4
- package/dist/{BContainer-CNmEk2mi.js.map → BContainer-CcF6dgtI.js.map} +1 -1
- package/dist/{BDateField-gRWIwMnA.mjs → BDateField-CccP3H1R.mjs} +3 -3
- package/dist/{BDateField-gRWIwMnA.mjs.map → BDateField-CccP3H1R.mjs.map} +1 -1
- package/dist/{BDateField-B4yL8Pju.js → BDateField-DzZw5FRX.js} +3 -3
- package/dist/{BDateField-B4yL8Pju.js.map → BDateField-DzZw5FRX.js.map} +1 -1
- package/dist/{BDatePicker-m2drV1fl.js → BDatePicker-BDkzkOcm.js} +3 -3
- package/dist/{BDatePicker-m2drV1fl.js.map → BDatePicker-BDkzkOcm.js.map} +1 -1
- package/dist/{BDatePicker-ZuMpgD91.mjs → BDatePicker-BnwnSkBg.mjs} +3 -3
- package/dist/{BDatePicker-ZuMpgD91.mjs.map → BDatePicker-BnwnSkBg.mjs.map} +1 -1
- package/dist/{BDropdown-D2ep4wKG.mjs → BDropdown-0E8x5kk6.mjs} +5 -5
- package/dist/{BDropdown-D2ep4wKG.mjs.map → BDropdown-0E8x5kk6.mjs.map} +1 -1
- package/dist/{BDropdown-B2vWJ-u0.mjs → BDropdown-B1DbvVzm.mjs} +7 -7
- package/dist/{BDropdown-B2vWJ-u0.mjs.map → BDropdown-B1DbvVzm.mjs.map} +1 -1
- package/dist/{BDropdown-BSCasYDc.js → BDropdown-BPFtkX3p.js} +7 -7
- package/dist/{BDropdown-BSCasYDc.js.map → BDropdown-BPFtkX3p.js.map} +1 -1
- package/dist/{BDropdown-CL-erjq8.js → BDropdown-DKCgBzYS.js} +5 -5
- package/dist/{BDropdown-CL-erjq8.js.map → BDropdown-DKCgBzYS.js.map} +1 -1
- package/dist/{BForm-B0bPQ4kx.js → BForm-6JlWdQMO.js} +9 -6
- package/dist/{BForm-B0bPQ4kx.js.map → BForm-6JlWdQMO.js.map} +1 -1
- package/dist/{BForm-CpNuvbIt.mjs → BForm-BVfW08s5.mjs} +2 -2
- package/dist/{BForm-CpNuvbIt.mjs.map → BForm-BVfW08s5.mjs.map} +1 -1
- package/dist/{BForm-CoQKIJzv.mjs → BForm-DJu2hDV_.mjs} +10 -7
- package/dist/{BForm-CoQKIJzv.mjs.map → BForm-DJu2hDV_.mjs.map} +1 -1
- package/dist/{BForm-K67Ciyza.js → BForm-cnRpggt9.js} +2 -2
- package/dist/{BForm-K67Ciyza.js.map → BForm-cnRpggt9.js.map} +1 -1
- package/dist/{BFormCheckbox-xN7AQw4O.mjs → BFormCheckbox-Baf_9BSc.mjs} +9 -6
- package/dist/BFormCheckbox-Baf_9BSc.mjs.map +1 -0
- package/dist/{BFormCheckbox-g7gtIrhy.js → BFormCheckbox-D5ySHMJ8.js} +9 -6
- package/dist/BFormCheckbox-D5ySHMJ8.js.map +1 -0
- package/dist/{BFormFile-DXdAyYmv.mjs → BFormFile-CZebm0Cp.mjs} +8 -3
- package/dist/BFormFile-CZebm0Cp.mjs.map +1 -0
- package/dist/{BFormFile-DC-x9wQo.js → BFormFile-MISLntyJ.js} +8 -3
- package/dist/BFormFile-MISLntyJ.js.map +1 -0
- package/dist/{BFormGroup-DZTiChgT.js → BFormGroup-Bk1t-D1N.js} +89 -104
- package/dist/BFormGroup-Bk1t-D1N.js.map +1 -0
- package/dist/{BFormGroup-ayltvQts.mjs → BFormGroup-vysRPb99.mjs} +90 -105
- package/dist/BFormGroup-vysRPb99.mjs.map +1 -0
- package/dist/{BFormInput-DNuvqbFQ.js → BFormInput-CBwwDjfC.js} +4 -4
- package/dist/{BFormInput-DNuvqbFQ.js.map → BFormInput-CBwwDjfC.js.map} +1 -1
- package/dist/{BFormInput-NKko58M2.mjs → BFormInput-sEfU3CuN.mjs} +4 -4
- package/dist/{BFormInput-NKko58M2.mjs.map → BFormInput-sEfU3CuN.mjs.map} +1 -1
- package/dist/{BFormOtp-B4al7MJf.mjs → BFormOtp-C8X3u1od.mjs} +4 -4
- package/dist/{BFormOtp-B4al7MJf.mjs.map → BFormOtp-C8X3u1od.mjs.map} +1 -1
- package/dist/{BFormOtp-UcLR9oFd.js → BFormOtp-CLrQJRPe.js} +4 -4
- package/dist/{BFormOtp-UcLR9oFd.js.map → BFormOtp-CLrQJRPe.js.map} +1 -1
- package/dist/{BFormRadio-DX-gM5Rc.js → BFormRadio-B2yu-o2v.js} +9 -6
- package/dist/BFormRadio-B2yu-o2v.js.map +1 -0
- package/dist/{BFormRadio-DHx68AdL.mjs → BFormRadio-COc_IbxC.mjs} +9 -6
- package/dist/BFormRadio-COc_IbxC.mjs.map +1 -0
- package/dist/{BFormRating-BR7RMvZG.mjs → BFormRating-CIgPVsH_.mjs} +4 -4
- package/dist/{BFormRating-BR7RMvZG.mjs.map → BFormRating-CIgPVsH_.mjs.map} +1 -1
- package/dist/{BFormRating-CF-x5qkB.js → BFormRating-CSdRxN5z.js} +4 -4
- package/dist/{BFormRating-CF-x5qkB.js.map → BFormRating-CSdRxN5z.js.map} +1 -1
- package/dist/{BFormSelect-CtcsnTlz.js → BFormSelect-CI92Dv27.js} +7 -6
- package/dist/BFormSelect-CI92Dv27.js.map +1 -0
- package/dist/{BFormSelect-eS-C3M0J.mjs → BFormSelect-P-InkOm-.mjs} +7 -6
- package/dist/BFormSelect-P-InkOm-.mjs.map +1 -0
- package/dist/{BFormSelectOption-B3BO50XB.mjs → BFormSelectOption-DFN4lPRh.mjs} +3 -3
- package/dist/{BFormSelectOption-B3BO50XB.mjs.map → BFormSelectOption-DFN4lPRh.mjs.map} +1 -1
- package/dist/{BFormSelectOption-CQ3j1Q5j.js → BFormSelectOption-DrwJucNf.js} +3 -3
- package/dist/{BFormSelectOption-CQ3j1Q5j.js.map → BFormSelectOption-DrwJucNf.js.map} +1 -1
- package/dist/{BFormSpinbutton-DPCXum9q.js → BFormSpinbutton-1gTz4nTo.js} +4 -4
- package/dist/{BFormSpinbutton-DPCXum9q.js.map → BFormSpinbutton-1gTz4nTo.js.map} +1 -1
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs → BFormSpinbutton-6qkTBF_4.mjs} +4 -4
- package/dist/{BFormSpinbutton-CPsVUIh9.mjs.map → BFormSpinbutton-6qkTBF_4.mjs.map} +1 -1
- package/dist/{BFormTag-Bsy6Znok.js → BFormTag-CeV0MSRC.js} +4 -4
- package/dist/{BFormTag-Bsy6Znok.js.map → BFormTag-CeV0MSRC.js.map} +1 -1
- package/dist/{BFormTag-Cjg1R-Lj.mjs → BFormTag-CnzI39y9.mjs} +4 -4
- package/dist/{BFormTag-Cjg1R-Lj.mjs.map → BFormTag-CnzI39y9.mjs.map} +1 -1
- package/dist/{BFormTags-D2Dk598Q.mjs → BFormTags-BMltSaKL.mjs} +4 -4
- package/dist/{BFormTags-D2Dk598Q.mjs.map → BFormTags-BMltSaKL.mjs.map} +1 -1
- package/dist/{BFormTags-BIZyBseI.js → BFormTags-BhO60uiL.js} +4 -4
- package/dist/{BFormTags-BIZyBseI.js.map → BFormTags-BhO60uiL.js.map} +1 -1
- package/dist/{BFormTextarea-CYh47SxL.js → BFormTextarea-C3Cj0DWj.js} +3 -3
- package/dist/{BFormTextarea-CYh47SxL.js.map → BFormTextarea-C3Cj0DWj.js.map} +1 -1
- package/dist/{BFormTextarea-M21mholw.mjs → BFormTextarea-DN1gAfSo.mjs} +3 -3
- package/dist/{BFormTextarea-M21mholw.mjs.map → BFormTextarea-DN1gAfSo.mjs.map} +1 -1
- package/dist/{BFormValidFeedback-DWkakzVO.mjs → BFormValidFeedback-CBYxQLDz.mjs} +44 -4
- package/dist/BFormValidFeedback-CBYxQLDz.mjs.map +1 -0
- package/dist/{BFormValidFeedback-BhkEhSa0.js → BFormValidFeedback-Kwxh798d.js} +48 -2
- package/dist/BFormValidFeedback-Kwxh798d.js.map +1 -0
- package/dist/{BImg-DFiJSy66.js → BImg-JKJLgYYT.js} +2 -2
- package/dist/{BImg-DFiJSy66.js.map → BImg-JKJLgYYT.js.map} +1 -1
- package/dist/{BImg-UUMOpbK0.mjs → BImg-QBS2ECBc.mjs} +2 -2
- package/dist/{BImg-UUMOpbK0.mjs.map → BImg-QBS2ECBc.mjs.map} +1 -1
- package/dist/{BInputGroup-BAC-B_UM.js → BInputGroup-Bvlfv6VD.js} +3 -3
- package/dist/{BInputGroup-BAC-B_UM.js.map → BInputGroup-Bvlfv6VD.js.map} +1 -1
- package/dist/{BInputGroup-CiKwWBSu.js → BInputGroup-D4fW324B.js} +3 -3
- package/dist/{BInputGroup-CiKwWBSu.js.map → BInputGroup-D4fW324B.js.map} +1 -1
- package/dist/{BInputGroup-CfELrPhK.mjs → BInputGroup-DiTSexkT.mjs} +3 -3
- package/dist/{BInputGroup-CfELrPhK.mjs.map → BInputGroup-DiTSexkT.mjs.map} +1 -1
- package/dist/{BInputGroup-3AVRA3U7.mjs → BInputGroup-X2Z53RJx.mjs} +3 -3
- package/dist/{BInputGroup-3AVRA3U7.mjs.map → BInputGroup-X2Z53RJx.mjs.map} +1 -1
- package/dist/{BLink-CNFWSz0D.mjs → BLink-Dfgte6dQ.mjs} +3 -3
- package/dist/{BLink-CNFWSz0D.mjs.map → BLink-Dfgte6dQ.mjs.map} +1 -1
- package/dist/{BLink-uLjtY3bY.js → BLink-kLEjleB1.js} +3 -3
- package/dist/{BLink-uLjtY3bY.js.map → BLink-kLEjleB1.js.map} +1 -1
- package/dist/{BListGroup-CeXKZio1.js → BListGroup-C8JOzHTz.js} +4 -4
- package/dist/{BListGroup-CeXKZio1.js.map → BListGroup-C8JOzHTz.js.map} +1 -1
- package/dist/{BListGroup-CGxa7ZEu.mjs → BListGroup-DwTLpNiD.mjs} +4 -4
- package/dist/{BListGroup-CGxa7ZEu.mjs.map → BListGroup-DwTLpNiD.mjs.map} +1 -1
- package/dist/{BModal-BEmloby5.mjs → BModal-C-ZCau2E.mjs} +7 -7
- package/dist/{BModal-BEmloby5.mjs.map → BModal-C-ZCau2E.mjs.map} +1 -1
- package/dist/{BModal-6hh-azT8.js → BModal-VstTwEq9.js} +7 -7
- package/dist/{BModal-6hh-azT8.js.map → BModal-VstTwEq9.js.map} +1 -1
- package/dist/{BNav-u9QwSGj3.js → BNav-DCLambmM.js} +5 -5
- package/dist/{BNav-u9QwSGj3.js.map → BNav-DCLambmM.js.map} +1 -1
- package/dist/{BNav-EHHlEg1E.mjs → BNav-DfYvjfRK.mjs} +5 -5
- package/dist/{BNav-EHHlEg1E.mjs.map → BNav-DfYvjfRK.mjs.map} +1 -1
- package/dist/{BNavbar-s8yvmhyz.js → BNavbar-BLWaZJRP.js} +4 -4
- package/dist/{BNavbar-s8yvmhyz.js.map → BNavbar-BLWaZJRP.js.map} +1 -1
- package/dist/{BNavbar-kgHIo_Gr.mjs → BNavbar-xYaikQVY.mjs} +4 -4
- package/dist/{BNavbar-kgHIo_Gr.mjs.map → BNavbar-xYaikQVY.mjs.map} +1 -1
- package/dist/{BOffcanvas-CwH0DqSG.mjs → BOffcanvas-CQb9XNvS.mjs} +6 -6
- package/dist/{BOffcanvas-CwH0DqSG.mjs.map → BOffcanvas-CQb9XNvS.mjs.map} +1 -1
- package/dist/{BOffcanvas-DdiP19Xz.js → BOffcanvas-DTRiZzwN.js} +6 -6
- package/dist/{BOffcanvas-DdiP19Xz.js.map → BOffcanvas-DTRiZzwN.js.map} +1 -1
- package/dist/{BOverlay-DSUoseNJ.mjs → BOverlay-Bh2PIN_q.mjs} +3 -3
- package/dist/{BOverlay-DSUoseNJ.mjs.map → BOverlay-Bh2PIN_q.mjs.map} +1 -1
- package/dist/{BOverlay--gZBEMlX.js → BOverlay-Bh4ldxgt.js} +3 -3
- package/dist/{BOverlay--gZBEMlX.js.map → BOverlay-Bh4ldxgt.js.map} +1 -1
- package/dist/{BPagination-C7MKOk8h.mjs → BPagination-D75q-ZNg.mjs} +2 -2
- package/dist/{BPagination-C7MKOk8h.mjs.map → BPagination-D75q-ZNg.mjs.map} +1 -1
- package/dist/{BPagination-D6W1LdgK.js → BPagination-fbjFAtxu.js} +2 -2
- package/dist/{BPagination-D6W1LdgK.js.map → BPagination-fbjFAtxu.js.map} +1 -1
- package/dist/{BPlaceholder-Ckvq3tMu.js → BPlaceholder-B3rs_39w.js} +4 -4
- package/dist/{BPlaceholder-Ckvq3tMu.js.map → BPlaceholder-B3rs_39w.js.map} +1 -1
- package/dist/{BPlaceholder-D__hNPyQ.mjs → BPlaceholder-DPQ6mCLN.mjs} +4 -4
- package/dist/{BPlaceholder-D__hNPyQ.mjs.map → BPlaceholder-DPQ6mCLN.mjs.map} +1 -1
- package/dist/{BProgress-I1ucNlpA.mjs → BProgress-BZlrPYhA.mjs} +3 -3
- package/dist/{BProgress-I1ucNlpA.mjs.map → BProgress-BZlrPYhA.mjs.map} +1 -1
- package/dist/{BProgress-ySlPjpRn.js → BProgress-th0-eZWo.js} +3 -3
- package/dist/{BProgress-ySlPjpRn.js.map → BProgress-th0-eZWo.js.map} +1 -1
- package/dist/{BRow-CmKiMcMZ.js → BRow-7AOuFiSy.js} +2 -2
- package/dist/{BRow-CmKiMcMZ.js.map → BRow-7AOuFiSy.js.map} +1 -1
- package/dist/{BRow-U3L8AcKV.mjs → BRow-eGSUYGCW.mjs} +2 -2
- package/dist/{BRow-U3L8AcKV.mjs.map → BRow-eGSUYGCW.mjs.map} +1 -1
- package/dist/{BSpinner-CAo-XD04.mjs → BSpinner-CUfGqviV.mjs} +2 -2
- package/dist/{BSpinner-CAo-XD04.mjs.map → BSpinner-CUfGqviV.mjs.map} +1 -1
- package/dist/{BSpinner-C1bm8U4-.js → BSpinner-DbYIp-C7.js} +2 -2
- package/dist/{BSpinner-C1bm8U4-.js.map → BSpinner-DbYIp-C7.js.map} +1 -1
- package/dist/{BTable-Bt75vbNu.mjs → BTable-CzMtFdt5.mjs} +5 -5
- package/dist/{BTable-Bt75vbNu.mjs.map → BTable-CzMtFdt5.mjs.map} +1 -1
- package/dist/{BTable-CXxJl2ps.js → BTable-DOpSWDaC.js} +5 -5
- package/dist/{BTable-CXxJl2ps.js.map → BTable-DOpSWDaC.js.map} +1 -1
- package/dist/{BTableSimple-pyz_6D4s.js → BTableSimple-BkdGAAKb.js} +3 -3
- package/dist/{BTableSimple-pyz_6D4s.js.map → BTableSimple-BkdGAAKb.js.map} +1 -1
- package/dist/{BTableSimple-CThwYBVl.mjs → BTableSimple-C-jn9Nwh.mjs} +3 -3
- package/dist/{BTableSimple-CThwYBVl.mjs.map → BTableSimple-C-jn9Nwh.mjs.map} +1 -1
- package/dist/{BTabs-C8rUY0Lx.js → BTabs-CvecFg5N.js} +4 -4
- package/dist/{BTabs-C8rUY0Lx.js.map → BTabs-CvecFg5N.js.map} +1 -1
- package/dist/{BTabs-Krs_Lv-R.mjs → BTabs-D_vWlBjT.mjs} +4 -4
- package/dist/{BTabs-Krs_Lv-R.mjs.map → BTabs-D_vWlBjT.mjs.map} +1 -1
- package/dist/{BTimeField-DSf4cMpN.mjs → BTimeField-BSDaZogC.mjs} +3 -3
- package/dist/{BTimeField-DSf4cMpN.mjs.map → BTimeField-BSDaZogC.mjs.map} +1 -1
- package/dist/{BTimeField-W2LqGCjB.js → BTimeField-BT5HXecp.js} +3 -3
- package/dist/{BTimeField-W2LqGCjB.js.map → BTimeField-BT5HXecp.js.map} +1 -1
- package/dist/{BToast-DZuxMDbe.js → BToast-DR0pek4W.js} +8 -8
- package/dist/{BToast-DZuxMDbe.js.map → BToast-DR0pek4W.js.map} +1 -1
- package/dist/{BToast-Dcfnqbxt.mjs → BToast-Y8BayxES.mjs} +8 -8
- package/dist/{BToast-Dcfnqbxt.mjs.map → BToast-Y8BayxES.mjs.map} +1 -1
- package/dist/{BTooltip-BWij0hjE.mjs → BTooltip-CVP8HdkU.mjs} +3 -3
- package/dist/{BTooltip-BWij0hjE.mjs.map → BTooltip-CVP8HdkU.mjs.map} +1 -1
- package/dist/{BTooltip-BGTjsV1z.js → BTooltip-DPLYtaL1.js} +3 -3
- package/dist/{BTooltip-BGTjsV1z.js.map → BTooltip-DPLYtaL1.js.map} +1 -1
- package/dist/bootstrap-vue-next.mjs +59 -59
- package/dist/bootstrap-vue-next.umd.js +59 -59
- package/dist/components/BFormFile/BFormFile.vue.d.mts +2 -1
- package/dist/components/BFormFile/BFormFile.vue.d.ts +2 -1
- package/dist/composables/useProvideFormGroupData.d.mts +15 -0
- package/dist/composables/useProvideFormGroupData.d.ts +15 -0
- package/dist/{floatingUi-8xXp54zf.mjs → floatingUi-62aeQtAb.mjs} +4 -4
- package/dist/{floatingUi-8xXp54zf.mjs.map → floatingUi-62aeQtAb.mjs.map} +1 -1
- package/dist/{floatingUi-9SWu8BgZ.js → floatingUi-DQ5bHmy3.js} +4 -4
- package/dist/{floatingUi-9SWu8BgZ.js.map → floatingUi-DQ5bHmy3.js.map} +1 -1
- package/dist/{keys-durSVUrO.js → keys-BMye8nSf.js} +10 -1
- package/dist/{keys-durSVUrO.js.map → keys-BMye8nSf.js.map} +1 -1
- package/dist/{keys-CQKrwmvN.mjs → keys-DU7sQgl3.mjs} +10 -1
- package/dist/{keys-CQKrwmvN.mjs.map → keys-DU7sQgl3.mjs.map} +1 -1
- package/dist/src/components/BAccordion/index.mjs +1 -1
- package/dist/src/components/BAccordion/index.umd.js +1 -1
- package/dist/src/components/BAlert/index.mjs +1 -1
- package/dist/src/components/BAlert/index.umd.js +1 -1
- package/dist/src/components/BApp/index.mjs +1 -1
- package/dist/src/components/BApp/index.umd.js +1 -1
- package/dist/src/components/BAspect/index.mjs +1 -1
- package/dist/src/components/BAspect/index.umd.js +1 -1
- package/dist/src/components/BAutocomplete/index.mjs +1 -1
- package/dist/src/components/BAutocomplete/index.umd.js +1 -1
- package/dist/src/components/BAvatar/index.mjs +1 -1
- package/dist/src/components/BAvatar/index.umd.js +1 -1
- package/dist/src/components/BBadge/index.mjs +1 -1
- package/dist/src/components/BBadge/index.umd.js +1 -1
- package/dist/src/components/BBreadcrumb/index.mjs +1 -1
- package/dist/src/components/BBreadcrumb/index.umd.js +1 -1
- package/dist/src/components/BButton/index.mjs +3 -3
- package/dist/src/components/BButton/index.umd.js +3 -3
- package/dist/src/components/BCard/index.mjs +2 -2
- package/dist/src/components/BCard/index.umd.js +2 -2
- package/dist/src/components/BCarousel/index.mjs +1 -1
- package/dist/src/components/BCarousel/index.umd.js +1 -1
- package/dist/src/components/BCol/index.mjs +1 -1
- package/dist/src/components/BCol/index.umd.js +1 -1
- package/dist/src/components/BCollapse/index.mjs +1 -1
- package/dist/src/components/BCollapse/index.umd.js +1 -1
- package/dist/src/components/BContainer/index.mjs +3 -3
- package/dist/src/components/BContainer/index.umd.js +3 -3
- package/dist/src/components/BDateField/index.mjs +1 -1
- package/dist/src/components/BDateField/index.umd.js +1 -1
- package/dist/src/components/BDatePicker/index.mjs +1 -1
- package/dist/src/components/BDatePicker/index.umd.js +1 -1
- package/dist/src/components/BDropdown/index.mjs +2 -2
- package/dist/src/components/BDropdown/index.umd.js +2 -2
- package/dist/src/components/BForm/index.mjs +3 -3
- package/dist/src/components/BForm/index.umd.js +3 -3
- package/dist/src/components/BFormCheckbox/index.mjs +1 -1
- package/dist/src/components/BFormCheckbox/index.umd.js +1 -1
- package/dist/src/components/BFormFile/index.mjs +1 -1
- package/dist/src/components/BFormFile/index.umd.js +1 -1
- package/dist/src/components/BFormGroup/index.mjs +1 -1
- package/dist/src/components/BFormGroup/index.umd.js +1 -1
- package/dist/src/components/BFormInput/index.mjs +1 -1
- package/dist/src/components/BFormInput/index.umd.js +1 -1
- package/dist/src/components/BFormOtp/index.mjs +1 -1
- package/dist/src/components/BFormOtp/index.umd.js +1 -1
- package/dist/src/components/BFormRadio/index.mjs +1 -1
- package/dist/src/components/BFormRadio/index.umd.js +1 -1
- package/dist/src/components/BFormRating/index.mjs +1 -1
- package/dist/src/components/BFormRating/index.umd.js +1 -1
- package/dist/src/components/BFormSelect/index.mjs +2 -2
- package/dist/src/components/BFormSelect/index.umd.js +2 -2
- package/dist/src/components/BFormSpinbutton/index.mjs +1 -1
- package/dist/src/components/BFormSpinbutton/index.umd.js +1 -1
- package/dist/src/components/BFormTags/index.mjs +2 -2
- package/dist/src/components/BFormTags/index.umd.js +2 -2
- package/dist/src/components/BFormTextarea/index.mjs +1 -1
- package/dist/src/components/BFormTextarea/index.umd.js +1 -1
- package/dist/src/components/BImg/index.mjs +1 -1
- package/dist/src/components/BImg/index.umd.js +1 -1
- package/dist/src/components/BInputGroup/index.mjs +2 -2
- package/dist/src/components/BInputGroup/index.umd.js +2 -2
- package/dist/src/components/BLink/index.mjs +1 -1
- package/dist/src/components/BLink/index.umd.js +1 -1
- package/dist/src/components/BListGroup/index.mjs +1 -1
- package/dist/src/components/BListGroup/index.umd.js +1 -1
- package/dist/src/components/BModal/index.mjs +1 -1
- package/dist/src/components/BModal/index.umd.js +1 -1
- package/dist/src/components/BNav/index.mjs +1 -1
- package/dist/src/components/BNav/index.umd.js +1 -1
- package/dist/src/components/BNavbar/index.mjs +1 -1
- package/dist/src/components/BNavbar/index.umd.js +1 -1
- package/dist/src/components/BOffcanvas/index.mjs +1 -1
- package/dist/src/components/BOffcanvas/index.umd.js +1 -1
- package/dist/src/components/BOverlay/index.mjs +1 -1
- package/dist/src/components/BOverlay/index.umd.js +1 -1
- package/dist/src/components/BPagination/index.mjs +1 -1
- package/dist/src/components/BPagination/index.umd.js +1 -1
- package/dist/src/components/BPlaceholder/index.mjs +1 -1
- package/dist/src/components/BPlaceholder/index.umd.js +1 -1
- package/dist/src/components/BPopover/index.mjs +1 -1
- package/dist/src/components/BPopover/index.umd.js +1 -1
- package/dist/src/components/BProgress/index.mjs +1 -1
- package/dist/src/components/BProgress/index.umd.js +1 -1
- package/dist/src/components/BRow/index.mjs +1 -1
- package/dist/src/components/BRow/index.umd.js +1 -1
- package/dist/src/components/BSpinner/index.mjs +1 -1
- package/dist/src/components/BSpinner/index.umd.js +1 -1
- package/dist/src/components/BTable/index.mjs +2 -2
- package/dist/src/components/BTable/index.umd.js +2 -2
- package/dist/src/components/BTabs/index.mjs +1 -1
- package/dist/src/components/BTabs/index.umd.js +1 -1
- package/dist/src/components/BTimeField/index.mjs +1 -1
- package/dist/src/components/BTimeField/index.umd.js +1 -1
- package/dist/src/components/BToast/index.mjs +1 -1
- package/dist/src/components/BToast/index.umd.js +1 -1
- package/dist/src/components/BTooltip/index.mjs +1 -1
- package/dist/src/components/BTooltip/index.umd.js +1 -1
- package/dist/src/components/index.mjs +59 -59
- package/dist/src/components/index.umd.js +59 -59
- package/dist/src/composables/orchestratorShared/index.mjs +1 -1
- package/dist/src/composables/orchestratorShared/index.umd.js +1 -1
- package/dist/src/composables/useBreadcrumb/index.mjs +1 -1
- package/dist/src/composables/useBreadcrumb/index.umd.js +1 -1
- package/dist/src/composables/useModal/index.mjs +2 -2
- package/dist/src/composables/useModal/index.umd.js +2 -2
- package/dist/src/composables/usePopover/index.mjs +3 -3
- package/dist/src/composables/usePopover/index.umd.js +3 -3
- package/dist/src/composables/useProvideDefaults/index.mjs +1 -1
- package/dist/src/composables/useProvideDefaults/index.umd.js +1 -1
- package/dist/src/composables/useRegistry/index.mjs +1 -1
- package/dist/src/composables/useRegistry/index.umd.js +1 -1
- package/dist/src/composables/useToast/index.mjs +2 -2
- package/dist/src/composables/useToast/index.umd.js +2 -2
- package/dist/src/composables/useToggle/index.mjs +1 -1
- package/dist/src/composables/useToggle/index.umd.js +1 -1
- package/dist/src/directives/BPopover/index.mjs +2 -2
- package/dist/src/directives/BPopover/index.umd.js +2 -2
- package/dist/src/directives/BScrollspy/index.mjs +1 -1
- package/dist/src/directives/BScrollspy/index.umd.js +1 -1
- package/dist/src/directives/BToggle/index.mjs +2 -2
- package/dist/src/directives/BToggle/index.umd.js +2 -2
- package/dist/src/directives/BTooltip/index.mjs +2 -2
- package/dist/src/directives/BTooltip/index.umd.js +2 -2
- package/dist/src/plugins/createBootstrap/index.mjs +1 -1
- package/dist/src/plugins/createBootstrap/index.umd.js +1 -1
- package/dist/src/plugins/orchestrator/index.mjs +1 -1
- package/dist/src/plugins/orchestrator/index.umd.js +1 -1
- package/dist/src/plugins/registry/index.mjs +1 -1
- package/dist/src/plugins/registry/index.umd.js +1 -1
- package/dist/src/plugins/rtl/index.mjs +1 -1
- package/dist/src/plugins/rtl/index.umd.js +1 -1
- package/dist/types/ComponentProps.d.mts +7 -0
- package/dist/types/ComponentProps.d.ts +7 -0
- package/dist/{useDefaults-DsLf4iRY.js → useDefaults-C0CYry78.js} +2 -2
- package/dist/{useDefaults-DsLf4iRY.js.map → useDefaults-C0CYry78.js.map} +1 -1
- package/dist/{useDefaults-BKgBaqOV.mjs → useDefaults-DseelK6y.mjs} +2 -2
- package/dist/{useDefaults-BKgBaqOV.mjs.map → useDefaults-DseelK6y.mjs.map} +1 -1
- package/dist/{useFormInput-CA4FYoV7.mjs → useFormInput-CXl8rpD0.mjs} +5 -4
- package/dist/useFormInput-CXl8rpD0.mjs.map +1 -0
- package/dist/{useFormInput-D31FCDxr.js → useFormInput-ip9hN2AU.js} +5 -4
- package/dist/useFormInput-ip9hN2AU.js.map +1 -0
- package/dist/{useId-DHrBgM7P.js → useId-BkAY2oh6.js} +2 -2
- package/dist/{useId-DHrBgM7P.js.map → useId-BkAY2oh6.js.map} +1 -1
- package/dist/{useId-BKZFSYm8.mjs → useId-D1sqXtwx.mjs} +2 -2
- package/dist/{useId-BKZFSYm8.mjs.map → useId-D1sqXtwx.mjs.map} +1 -1
- package/dist/{useRtl-DDPRnA7g.js → useRtl-BSgvbs5F.js} +2 -2
- package/dist/{useRtl-DDPRnA7g.js.map → useRtl-BSgvbs5F.js.map} +1 -1
- package/dist/{useRtl-VR3M2Txg.mjs → useRtl-CGoXBxNo.mjs} +2 -2
- package/dist/{useRtl-VR3M2Txg.mjs.map → useRtl-CGoXBxNo.mjs.map} +1 -1
- package/dist/{useShowHide-DKdljnpv.mjs → useShowHide-CBFt1_EW.mjs} +2 -2
- package/dist/{useShowHide-DKdljnpv.mjs.map → useShowHide-CBFt1_EW.mjs.map} +1 -1
- package/dist/{useShowHide-BhdrR1wG.js → useShowHide-CHm2uUep.js} +2 -2
- package/dist/{useShowHide-BhdrR1wG.js.map → useShowHide-CHm2uUep.js.map} +1 -1
- package/dist/utils/keys.d.mts +11 -1
- package/dist/utils/keys.d.ts +11 -1
- package/dist/{utils-BbYwYPyP.mjs → utils-CWvndqPg.mjs} +3 -3
- package/dist/{utils-BbYwYPyP.mjs.map → utils-CWvndqPg.mjs.map} +1 -1
- package/dist/{utils-ePxMJ7rd.js → utils-Dk9yAtbs.js} +3 -3
- package/dist/{utils-ePxMJ7rd.js.map → utils-Dk9yAtbs.js.map} +1 -1
- package/package.json +1 -1
- package/dist/BFormCheckbox-g7gtIrhy.js.map +0 -1
- package/dist/BFormCheckbox-xN7AQw4O.mjs.map +0 -1
- package/dist/BFormFile-DC-x9wQo.js.map +0 -1
- package/dist/BFormFile-DXdAyYmv.mjs.map +0 -1
- package/dist/BFormGroup-DZTiChgT.js.map +0 -1
- package/dist/BFormGroup-ayltvQts.mjs.map +0 -1
- package/dist/BFormRadio-DHx68AdL.mjs.map +0 -1
- package/dist/BFormRadio-DX-gM5Rc.js.map +0 -1
- package/dist/BFormSelect-CtcsnTlz.js.map +0 -1
- package/dist/BFormSelect-eS-C3M0J.mjs.map +0 -1
- package/dist/BFormValidFeedback-BhkEhSa0.js.map +0 -1
- package/dist/BFormValidFeedback-DWkakzVO.mjs.map +0 -1
- package/dist/useFormInput-CA4FYoV7.mjs.map +0 -1
- package/dist/useFormInput-D31FCDxr.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BBreadcrumb-Dk4ia-9c.mjs","names":[],"sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemProps, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemProps, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BBreadcrumbProps, BBreadcrumbSlots, BreadcrumbItem} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n items: undefined,\n id: undefined,\n olAttrs: undefined,\n olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n return localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n})\n</script>\n","<template>\n <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BBreadcrumbProps, BBreadcrumbSlots, BreadcrumbItem} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n items: undefined,\n id: undefined,\n olAttrs: undefined,\n olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n return localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDA,MAAM,QAAQ,YA5BC,SA4BmB,kBAAiB;EACnD,MAAM,OAAO;EAGb,MAAM,kBAAkB,gBAAgB,EACtC,QAAQ,MAAM,QACf,EAAC;EAEF,MAAM,cAAc,eAAgB,MAAM,SAAS,SAAS,cAAM;EAElE,MAAM,sBAAsB,eAAgB,MAAM,SAAS,MAAM,cAAc,KAAA,EAAU;EAEzF,MAAM,oBAAoB,eACxB,YAAY,UAAU,SAClB,KAAK,OAAO;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAA,GACD,EAAC,CACP;EAEA,MAAM,WAAW,MAAkC;AACjD,OAAI,MAAM,YAAY,MAAM,QAAQ;AAClC,MAAE,gBAAe;AACjB,MAAE,0BAAyB;AAC3B;;AAEF,OAAI,CAAC,MAAM,SAAU,MAAK,SAAS,EAAC;;;uBAnGpC,mBAWK,MAAA,EAXD,OAAK,eAAA,CAAC,mBAA0B,gBAAA,MAAe,CAAA,EAAA,EAAA,EAAA,WAAA,EACjD,YASY,wBARL,YAAA,MAAW,EADlB,WASY,EAPT,gBAAc,oBAAA,OAAmB,EAC1B,kBAAA,OAAiB,EACxB,SAAO,SAAO,CAAA,EAAA;2BAIR,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;EEiBrB,MAAM,QAAQ,YANC,SAMmB,cAAa;EAG/C,MAAM,aAAa,oBAAoB,MAAM,MAAM,KAAI;EAEvD,MAAM,wBAAwB,eAAiC;GAC7D,MAAM,aAAa,MAAM,SAAS,WAAW,OAAO,SAAS,EAAC;GAC9D,IAAI,gBAAgB;AACpB,UAAO,WAAW,KAAK,MAAM,QAAQ;AACnC,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAO,EAAC,MAAM,MAAI;AAClB,SAAI,MAAM,WAAW,SAAS,EAAG,MAAK,OAAO;;AAE/C,QAAI,KAAK,OAAQ,iBAAgB;AAGjC,QAAI,CAAC,KAAK,UAAU,CAAC,cACnB,MAAK,SAAS,MAAM,MAAM,WAAW;AAEvC,WAAO;KACR;IACF;;uBA9CC,mBASM,OAAA;IATA,IAAI,MAAA,MAAK,CAAC;IAAI,cAAW;OAC7B,mBAOK,MAPL,WAOK,EAPD,OAAK,CAAC,cAAqB,MAAA,MAAK,CAAC,QAAO,EAAA,EAAU,MAAA,MAAK,CAAC,QAAO,EAAA;IACjE,WAAuB,KAAA,QAAA,UAAA;sBACvB,mBAEkB,UAAA,MAAA,WAFmB,sBAAA,QAAZ,MAAM,MAAC;yBAAhC,YAEkB,yBAFlB,WAEkB,EAF2C,KAAK,GAAC,EAAA,EAAA,SAAA,MAAA,EAAU,KAAI,EAAA;6BAChE,CAAA,gBAAA,gBAAZ,KAAK,KAAI,EAAA,EAAA,CAAA,CAAA;;;;IAEd,WAAQ,KAAA,QAAA,UAAA;IACR,WAAsB,KAAA,QAAA,SAAA"}
|
|
1
|
+
{"version":3,"file":"BBreadcrumb-BxADbg0O.mjs","names":[],"sources":["../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumbItem.vue","../src/components/BBreadcrumb/BBreadcrumb.vue","../src/components/BBreadcrumb/BBreadcrumb.vue"],"sourcesContent":["<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemProps, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <li class=\"breadcrumb-item\" :class=\"computedClasses\">\n <component\n :is=\"computedTag\"\n :aria-current=\"computedAriaCurrent\"\n v-bind=\"computedLinkProps\"\n @click=\"clicked\"\n >\n <slot>\n {{ props.text }}\n </slot>\n </component>\n </li>\n</template>\n\n<script setup lang=\"ts\">\nimport {pick} from '../../utils/object'\nimport {computed} from 'vue'\nimport BLink from '../BLink/BLink.vue'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BBreadcrumbItemEmits, BBreadcrumbItemProps, BBreadcrumbItemSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbItemProps>(), {\n ariaCurrent: 'location',\n text: undefined,\n // Link props\n active: false, // Why is this active: false?\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n href: undefined,\n icon: undefined,\n opacity: undefined,\n opacityHover: undefined,\n stretched: false,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: undefined,\n variant: undefined,\n // End link props\n})\nconst props = useDefaults(_props, 'BBreadcrumbItem')\nconst emit = defineEmits<BBreadcrumbItemEmits>()\ndefineSlots<BBreadcrumbItemSlots>()\n\nconst computedClasses = computed(() => ({\n active: props.active,\n}))\n\nconst computedTag = computed(() => (props.active ? 'span' : BLink))\n\nconst computedAriaCurrent = computed(() => (props.active ? props.ariaCurrent : undefined))\n\nconst computedLinkProps = computed(() =>\n computedTag.value !== 'span'\n ? pick(props, [\n 'active',\n 'activeClass',\n 'disabled',\n 'exactActiveClass',\n 'href',\n 'icon',\n 'noRel',\n 'opacity',\n 'opacityHover',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n 'rel',\n 'replace',\n 'routerComponentName',\n 'stretched',\n 'target',\n 'to',\n 'underlineOffset',\n 'underlineOffsetHover',\n 'underlineOpacity',\n 'underlineOpacityHover',\n 'underlineVariant',\n 'variant',\n ])\n : {}\n)\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled || props.active) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return\n }\n if (!props.disabled) emit('click', e)\n}\n</script>\n","<template>\n <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BBreadcrumbProps, BBreadcrumbSlots, BreadcrumbItem} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n items: undefined,\n id: undefined,\n olAttrs: undefined,\n olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n return localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n})\n</script>\n","<template>\n <nav :id=\"props.id\" aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\" :class=\"props.olClass\" v-bind=\"props.olAttrs\">\n <slot name=\"prepend\" />\n <BBreadcrumbItem v-for=\"(item, i) in breadcrumbItemObjects\" :key=\"i\" v-bind=\"item\">\n {{ item.text }}\n </BBreadcrumbItem>\n <slot />\n <slot name=\"append\" />\n </ol>\n </nav>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed} from 'vue'\nimport {useBreadcrumb} from '../../composables/useBreadcrumb'\nimport {useDefaults} from '../../composables/useDefaults'\nimport BBreadcrumbItem from './BBreadcrumbItem.vue'\nimport type {BBreadcrumbProps, BBreadcrumbSlots, BreadcrumbItem} from '../../types'\n\nconst _props = withDefaults(defineProps<BBreadcrumbProps>(), {\n items: undefined,\n id: undefined,\n olAttrs: undefined,\n olClass: undefined,\n})\nconst props = useDefaults(_props, 'BBreadcrumb')\ndefineSlots<BBreadcrumbSlots>()\n\nconst breadcrumb = useBreadcrumb(() => props.id || null)\n\nconst breadcrumbItemObjects = computed<BreadcrumbItem[]>(() => {\n const localItems = props.items || breadcrumb.items?.value || []\n let activeDefined = false\n return localItems.map((item, idx) => {\n if (typeof item === 'string') {\n item = {text: item}\n if (idx < localItems.length - 1) item.href = '#'\n }\n if (item.active) activeDefined = true\n\n // Auto-detect active by position in list\n if (!item.active && !activeDefined) {\n item.active = idx + 1 === localItems.length\n }\n return item\n })\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDA,MAAM,QAAQ,YA5BC,SA4BmB,kBAAiB;EACnD,MAAM,OAAO;EAGb,MAAM,kBAAkB,gBAAgB,EACtC,QAAQ,MAAM,QACf,EAAC;EAEF,MAAM,cAAc,eAAgB,MAAM,SAAS,SAAS,cAAM;EAElE,MAAM,sBAAsB,eAAgB,MAAM,SAAS,MAAM,cAAc,KAAA,EAAU;EAEzF,MAAM,oBAAoB,eACxB,YAAY,UAAU,SAClB,KAAK,OAAO;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAA,GACD,EAAC,CACP;EAEA,MAAM,WAAW,MAAkC;AACjD,OAAI,MAAM,YAAY,MAAM,QAAQ;AAClC,MAAE,gBAAe;AACjB,MAAE,0BAAyB;AAC3B;;AAEF,OAAI,CAAC,MAAM,SAAU,MAAK,SAAS,EAAC;;;uBAnGpC,mBAWK,MAAA,EAXD,OAAK,eAAA,CAAC,mBAA0B,gBAAA,MAAe,CAAA,EAAA,EAAA,EAAA,WAAA,EACjD,YASY,wBARL,YAAA,MAAW,EADlB,WASY,EAPT,gBAAc,oBAAA,OAAmB,EAC1B,kBAAA,OAAiB,EACxB,SAAO,SAAO,CAAA,EAAA;2BAIR,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;EEiBrB,MAAM,QAAQ,YANC,SAMmB,cAAa;EAG/C,MAAM,aAAa,oBAAoB,MAAM,MAAM,KAAI;EAEvD,MAAM,wBAAwB,eAAiC;GAC7D,MAAM,aAAa,MAAM,SAAS,WAAW,OAAO,SAAS,EAAC;GAC9D,IAAI,gBAAgB;AACpB,UAAO,WAAW,KAAK,MAAM,QAAQ;AACnC,QAAI,OAAO,SAAS,UAAU;AAC5B,YAAO,EAAC,MAAM,MAAI;AAClB,SAAI,MAAM,WAAW,SAAS,EAAG,MAAK,OAAO;;AAE/C,QAAI,KAAK,OAAQ,iBAAgB;AAGjC,QAAI,CAAC,KAAK,UAAU,CAAC,cACnB,MAAK,SAAS,MAAM,MAAM,WAAW;AAEvC,WAAO;KACR;IACF;;uBA9CC,mBASM,OAAA;IATA,IAAI,MAAA,MAAK,CAAC;IAAI,cAAW;OAC7B,mBAOK,MAPL,WAOK,EAPD,OAAK,CAAC,cAAqB,MAAA,MAAK,CAAC,QAAO,EAAA,EAAU,MAAA,MAAK,CAAC,QAAO,EAAA;IACjE,WAAuB,KAAA,QAAA,UAAA;sBACvB,mBAEkB,UAAA,MAAA,WAFmB,sBAAA,QAAZ,MAAM,MAAC;yBAAhC,YAEkB,yBAFlB,WAEkB,EAF2C,KAAK,GAAC,EAAA,EAAA,SAAA,MAAA,EAAU,KAAI,EAAA;6BAChE,CAAA,gBAAA,gBAAZ,KAAK,KAAI,EAAA,EAAA,CAAA,CAAA;;;;IAEd,WAAQ,KAAA,QAAA,UAAA;IACR,WAAsB,KAAA,QAAA,SAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a as buttonGroupKey } from "./keys-
|
|
1
|
+
import { a as buttonGroupKey } from "./keys-DU7sQgl3.mjs";
|
|
2
2
|
import { a as getSafeWindow, n as getActiveElement } from "./dom-AhkaSoh8.mjs";
|
|
3
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
4
4
|
import "./constants-Ba9iJn2H.mjs";
|
|
5
|
-
import "./BCloseButton-
|
|
6
|
-
import "./BButton-
|
|
5
|
+
import "./BCloseButton-CKTKr4PS.mjs";
|
|
6
|
+
import "./BButton-PY7AANXJ.mjs";
|
|
7
7
|
import { computed, createBlock, createElementBlock, defineComponent, nextTick, normalizeClass, openBlock, provide, renderSlot, resolveDynamicComponent, unref, useTemplateRef, withCtx } from "vue";
|
|
8
8
|
//#endregion
|
|
9
9
|
//#region src/components/BButton/BButtonGroup.vue
|
|
@@ -141,4 +141,4 @@ var BButtonToolbar_default = /* @__PURE__ */ defineComponent({
|
|
|
141
141
|
//#endregion
|
|
142
142
|
export { BButtonGroup_default as n, BButtonToolbar_default as t };
|
|
143
143
|
|
|
144
|
-
//# sourceMappingURL=BButton-
|
|
144
|
+
//# sourceMappingURL=BButton-BSa7LfL5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton-C0Ylhonf.mjs","names":[],"sources":["../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonToolbar.vue","../src/components/BButton/BButtonToolbar.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BButton-BSa7LfL5.mjs","names":[],"sources":["../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonToolbar.vue","../src/components/BButton/BButtonToolbar.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_keys = require("./keys-
|
|
2
|
+
const require_keys = require("./keys-BMye8nSf.js");
|
|
3
3
|
const require_dom = require("./dom-Bs6DzM72.js");
|
|
4
|
-
const require_useDefaults = require("./useDefaults-
|
|
4
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
5
5
|
require("./constants-BLIvvaat.js");
|
|
6
|
-
require("./BCloseButton-
|
|
7
|
-
require("./BButton-
|
|
6
|
+
require("./BCloseButton-D42zHRLP.js");
|
|
7
|
+
require("./BButton-aYtMnyHu.js");
|
|
8
8
|
let vue = require("vue");
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/components/BButton/BButtonGroup.vue
|
|
@@ -153,4 +153,4 @@ Object.defineProperty(exports, "BButtonToolbar_default", {
|
|
|
153
153
|
}
|
|
154
154
|
});
|
|
155
155
|
|
|
156
|
-
//# sourceMappingURL=BButton-
|
|
156
|
+
//# sourceMappingURL=BButton-DRRlzkyK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton-BZ9eI3ZX.js","names":[],"sources":["../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonToolbar.vue","../src/components/BButton/BButtonToolbar.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BButton-DRRlzkyK.js","names":[],"sources":["../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonGroup.vue","../src/components/BButton/BButtonToolbar.vue","../src/components/BButton/BButtonToolbar.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <component :is=\"props.tag\" :class=\"computedClasses\" role=\"group\" :aria-label=\"props.ariaLabel\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, provide} from 'vue'\nimport {buttonGroupKey} from '../../utils/keys'\nimport type {BButtonGroupProps, BButtonGroupSlots} from '../../types'\n\nprovide(buttonGroupKey, true)\n\nconst _props = withDefaults(defineProps<BButtonGroupProps>(), {\n ariaLabel: 'Group',\n size: undefined,\n tag: 'div',\n vertical: false,\n})\nconst props = useDefaults(_props, 'BButtonGroup')\ndefineSlots<BButtonGroupSlots>()\n\nconst computedClasses = computed(() => ({\n 'btn-group': !props.vertical,\n [`btn-group-${props.size}`]: props.size !== undefined,\n 'btn-group-vertical': props.vertical,\n}))\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n","<template>\n <div\n ref=\"toolbarRef\"\n :class=\"computedClasses\"\n class=\"btn-toolbar\"\n :role=\"props.role\"\n :aria-label=\"props.ariaLabel\"\n @keydown=\"handleKeyNav\"\n >\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BButtonToolbarSlots, BButtonToolbarProps} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\nimport {computed, nextTick, useTemplateRef} from 'vue'\nimport {CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_UP} from '../../utils/constants'\nimport {getActiveElement, getSafeWindow} from '../../utils/dom'\n\nconst _props = withDefaults(defineProps<BButtonToolbarProps>(), {\n ariaLabel: 'Group',\n justify: false,\n keyNav: false,\n role: 'toolbar',\n})\nconst props = useDefaults(_props, 'BButtonToolbar')\ndefineSlots<BButtonToolbarSlots>()\n\nconst toolbarRef = useTemplateRef<HTMLElement>('toolbarRef')\n\nconst computedClasses = computed(() => ({\n 'justify-content-between': props.justify,\n}))\n\n// Get all focusable elements within the toolbar\nconst getFocusableElements = (): HTMLElement[] => {\n if (!toolbarRef.value) return []\n\n const selector =\n 'button:not(:disabled), [href]:not(:disabled), input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"]):not(:disabled)'\n const elements = Array.from(toolbarRef.value.querySelectorAll(selector)) as HTMLElement[]\n\n // Filter out elements that are not visible or have display:none\n return elements.filter((el) => {\n const style = getSafeWindow()?.getComputedStyle(el)\n return style && style.display !== 'none' && style.visibility !== 'hidden'\n })\n}\n\nconst isDisabled = (element: HTMLElement): boolean =>\n element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true'\n\nconst focusFirst = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const firstEnabled = elements.find((el) => !isDisabled(el))\n firstEnabled?.focus()\n })\n}\n\nconst focusLast = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const lastEnabled = elements.reverse().find((el) => !isDisabled(el))\n lastEnabled?.focus()\n })\n}\n\nconst focusPrev = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex > 0) {\n // Look backwards for the first non-disabled element\n for (let i = currentIndex - 1; i >= 0; i--) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst focusNext = () => {\n nextTick(() => {\n const elements = getFocusableElements()\n const activeElement = getActiveElement() as HTMLElement\n const currentIndex = elements.indexOf(activeElement)\n\n if (currentIndex < elements.length - 1) {\n // Look forwards for the first non-disabled element\n for (let i = currentIndex + 1; i < elements.length; i++) {\n const el = elements[i]\n if (el !== undefined && !isDisabled(el)) {\n elements[i]?.focus()\n break\n }\n }\n }\n })\n}\n\nconst handleKeyNav = (event: KeyboardEvent) => {\n if (!props.keyNav) return\n\n const {code, shiftKey} = event\n\n if (code === CODE_LEFT || code === CODE_UP) {\n event.preventDefault()\n if (shiftKey) {\n focusFirst()\n } else {\n focusPrev()\n }\n } else if (code === CODE_RIGHT || code === CODE_DOWN) {\n event.preventDefault()\n if (shiftKey) {\n focusLast()\n } else {\n focusNext()\n }\n } else if (code === CODE_HOME) {\n event.preventDefault()\n focusFirst()\n } else if (code === CODE_END) {\n event.preventDefault()\n focusLast()\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as onKeyStroke } from "./dist-Dk9C_HFS.mjs";
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
3
|
-
import { n as useLinkClasses, r as useBLinkHelper, t as BLink_default } from "./BLink-
|
|
4
|
-
import { t as BSpinner_default } from "./BSpinner-
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
|
+
import { n as useLinkClasses, r as useBLinkHelper, t as BLink_default } from "./BLink-Dfgte6dQ.mjs";
|
|
4
|
+
import { t as BSpinner_default } from "./BSpinner-CUfGqviV.mjs";
|
|
5
5
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, mergeModels, mergeProps, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useModel, useTemplateRef, withCtx } from "vue";
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/components/BButton/BButton.vue
|
|
@@ -181,4 +181,4 @@ var BButton_default = /* @__PURE__ */ defineComponent({
|
|
|
181
181
|
//#endregion
|
|
182
182
|
export { BButton_default as t };
|
|
183
183
|
|
|
184
|
-
//# sourceMappingURL=BButton-
|
|
184
|
+
//# sourceMappingURL=BButton-PY7AANXJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton-D_sCrjpg.mjs","names":[],"sources":["../src/components/BButton/BButton.vue","../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n","<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BButton-PY7AANXJ.mjs","names":[],"sources":["../src/components/BButton/BButton.vue","../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n","<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
2
|
const require_dist = require("./dist-DiXKLh_W.js");
|
|
3
|
-
const require_useDefaults = require("./useDefaults-
|
|
4
|
-
const require_BLink = require("./BLink-
|
|
5
|
-
const require_BSpinner = require("./BSpinner-
|
|
3
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
4
|
+
const require_BLink = require("./BLink-kLEjleB1.js");
|
|
5
|
+
const require_BSpinner = require("./BSpinner-DbYIp-C7.js");
|
|
6
6
|
let vue = require("vue");
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/components/BButton/BButton.vue
|
|
@@ -187,4 +187,4 @@ Object.defineProperty(exports, "BButton_default", {
|
|
|
187
187
|
}
|
|
188
188
|
});
|
|
189
189
|
|
|
190
|
-
//# sourceMappingURL=BButton-
|
|
190
|
+
//# sourceMappingURL=BButton-aYtMnyHu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BButton-Dr-RadYQ.js","names":[],"sources":["../src/components/BButton/BButton.vue","../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n","<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BButton-aYtMnyHu.js","names":[],"sources":["../src/components/BButton/BButton.vue","../src/components/BButton/BButton.vue"],"sourcesContent":["<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n","<template>\n <component\n :is=\"computedTag\"\n ref=\"_element\"\n class=\"btn\"\n v-bind=\"linkProps\"\n :class=\"computedClasses\"\n :aria-disabled=\"computedAriaDisabled\"\n :aria-pressed=\"isToggle ? pressedValue : null\"\n :autocomplete=\"isToggle ? 'off' : null\"\n :disabled=\"isButton ? props.disabled : null\"\n :href=\"props.href\"\n :rel=\"computedLink ? props.rel : null\"\n :role=\"nonStandardTag || computedLink ? 'button' : null\"\n :target=\"computedLink ? props.target : null\"\n :type=\"isButton ? props.type : null\"\n :to=\"!isButton ? props.to : null\"\n @click=\"clicked\"\n >\n <slot v-if=\"props.loading\" name=\"loading\">\n <template v-if=\"!props.loadingFill\">\n {{ props.loadingText }}\n </template>\n <slot name=\"loading-spinner\">\n <BSpinner\n :small=\"props.size !== 'lg'\"\n :label=\"props.loadingFill ? props.loadingText : undefined\"\n />\n </slot>\n </slot>\n <slot v-else />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {computed, useTemplateRef} from 'vue'\nimport BSpinner from '../BSpinner/BSpinner.vue'\nimport {useBLinkHelper} from '../../composables/useBLinkHelper'\nimport BLink from '../BLink/BLink.vue'\nimport {useLinkClasses} from '../../composables/useLinkClasses'\nimport {onKeyStroke} from '@vueuse/core'\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BButtonEmits, BButtonProps, BButtonSlots, ColorVariant} from '../../types'\n\nconst _props = withDefaults(defineProps<Omit<BButtonProps, 'pressed'>>(), {\n loading: false,\n loadingFill: false,\n loadingText: 'Loading...',\n pill: false,\n size: undefined,\n squared: false,\n tag: 'button',\n type: 'button',\n // Link props\n active: false, // Why is this active: false?\n variant: 'secondary',\n // All others use defaults\n activeClass: undefined,\n disabled: undefined,\n exactActiveClass: undefined,\n stretched: false,\n href: undefined,\n icon: false,\n opacity: undefined,\n opacityHover: undefined,\n rel: undefined,\n replace: undefined,\n routerComponentName: undefined,\n routerTag: undefined,\n target: undefined,\n to: undefined,\n underlineOffset: undefined,\n underlineOffsetHover: undefined,\n underlineOpacity: undefined,\n underlineOpacityHover: undefined,\n underlineVariant: null,\n // End link props\n})\nconst props = useDefaults(_props, 'BButton')\nconst emit = defineEmits<BButtonEmits>()\ndefineSlots<BButtonSlots>()\n\nconst element = useTemplateRef<HTMLButtonElement | null>('_element')\n\nconst pressedValue = defineModel<BButtonProps['pressed']>('pressed', {default: undefined})\n\nconst {computedLink, computedLinkProps} = useBLinkHelper(props, [\n 'activeClass',\n 'exactActiveClass',\n 'replace',\n 'routerComponentName',\n 'routerTag',\n 'noPrefetch',\n 'prefetch',\n 'prefetchOn',\n 'prefetchedClass',\n])\n\nconst isToggle = computed(() => typeof pressedValue.value === 'boolean')\nconst isButton = computed(\n () => props.tag === 'button' && props.href === undefined && props.to === undefined\n)\nconst isBLink = computed(() => props.to !== undefined)\nconst nonStandardTag = computed(() => (props.href !== undefined ? false : !isButton.value))\n\nconst linkProps = computed(() => (isBLink.value ? computedLinkProps.value : []))\nconst computedAriaDisabled = computed(() => {\n if (props.href === '#' && props.disabled) return true\n\n return nonStandardTag.value ? props.disabled : null\n})\n\nconst variantIsLinkType = computed(() => props.variant?.startsWith('link') || false)\nconst variantIsLinkTypeSubset = computed(() => props.variant?.startsWith('link-') || false)\nconst linkValueClasses = useLinkClasses(\n computed(() => ({\n ...(variantIsLinkType.value\n ? {\n icon: props.icon,\n opacity: props.opacity,\n opacityHover: props.opacityHover,\n underlineOffset: props.underlineOffset,\n underlineOffsetHover: props.underlineOffsetHover,\n underlineOpacity: props.underlineOpacity,\n underlineOpacityHover: props.underlineOpacityHover,\n underlineVariant: props.underlineVariant,\n variant:\n variantIsLinkTypeSubset.value === true\n ? (props.variant?.slice(5) as ColorVariant)\n : null,\n }\n : undefined),\n }))\n)\nconst computedClasses = computed(() => [\n variantIsLinkType.value === true && computedLink.value === false\n ? linkValueClasses.value\n : undefined,\n {\n [`btn-${props.size}`]: props.size !== undefined,\n [`btn-${props.variant}`]: props.variant !== null && variantIsLinkTypeSubset.value === false,\n 'active': props.active || pressedValue.value,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared,\n 'disabled': props.disabled,\n },\n])\n\nconst computedTag = computed(() => (isBLink.value ? BLink : props.href ? 'a' : props.tag))\n\nconst clicked = (e: Readonly<MouseEvent>): void => {\n if (props.disabled) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n emit('click', e)\n if (isToggle.value) pressedValue.value = !pressedValue.value\n}\n\nonKeyStroke(\n [' ', 'enter'],\n (e) => {\n if (props.href === '#') {\n e.preventDefault()\n element.value?.click()\n }\n },\n {target: element}\n)\n</script>\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
-
import "./BCard-
|
|
1
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
2
|
+
import "./BCard-CHbKv2OR.mjs";
|
|
3
3
|
import { createBlock, createTextVNode, defineComponent, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, withCtx } from "vue";
|
|
4
4
|
//#endregion
|
|
5
5
|
//#region src/components/BCard/BCardGroup.vue
|
|
@@ -37,4 +37,4 @@ var BCardText_default = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
//#endregion
|
|
38
38
|
export { BCardGroup_default as n, BCardText_default as t };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=BCard-
|
|
40
|
+
//# sourceMappingURL=BCard-BWoruisp.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BCard-
|
|
1
|
+
{"version":3,"file":"BCard-BWoruisp.mjs","names":[],"sources":["../src/components/BCard/BCardGroup.vue","../src/components/BCard/BCardGroup.vue","../src/components/BCard/BCardText.vue","../src/components/BCard/BCardText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"card-group\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardGroupProps, BCardGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardGroupProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BCardGroup')\ndefineSlots<BCardGroupSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-group\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardGroupProps, BCardGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardGroupProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BCardGroup')\ndefineSlots<BCardGroupSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTextProps, BCardTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTextProps>(), {\n tag: 'p',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardText')\ndefineSlots<BCardTextSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTextProps, BCardTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTextProps>(), {\n tag: 'p',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardText')\ndefineSlots<BCardTextSlots>()\n</script>\n"],"mappings":";;;;;;;;;EAaA,MAAM,QAAQ,YAHC,SAGmB,aAAY;;uBAZ5C,YAEY,wBAFI,MAAA,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,cAAY,EAAA;2BACnC,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;EEcZ,MAAM,QAAQ,YAJC,SAImB,YAAW;;uBAf3C,YAIY,wBAJI,MAAA,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,aAAW,EAAA;2BAGnC,CAFP,WAEO,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,MAAA,MAAK,CAAC,KAAI,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./chunk-CoQrYLCe.js");
|
|
2
|
-
const require_useDefaults = require("./useDefaults-
|
|
3
|
-
require("./BCard-
|
|
2
|
+
const require_useDefaults = require("./useDefaults-C0CYry78.js");
|
|
3
|
+
require("./BCard-DwNYhVmg.js");
|
|
4
4
|
let vue = require("vue");
|
|
5
5
|
//#endregion
|
|
6
6
|
//#region src/components/BCard/BCardGroup.vue
|
|
@@ -49,4 +49,4 @@ Object.defineProperty(exports, "BCardText_default", {
|
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=BCard-
|
|
52
|
+
//# sourceMappingURL=BCard-Bh8RLMo_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BCard-
|
|
1
|
+
{"version":3,"file":"BCard-Bh8RLMo_.js","names":[],"sources":["../src/components/BCard/BCardGroup.vue","../src/components/BCard/BCardGroup.vue","../src/components/BCard/BCardText.vue","../src/components/BCard/BCardText.vue"],"sourcesContent":["<template>\n <component :is=\"props.tag\" class=\"card-group\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardGroupProps, BCardGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardGroupProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BCardGroup')\ndefineSlots<BCardGroupSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-group\">\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport {useDefaults} from '../../composables/useDefaults'\nimport type {BCardGroupProps, BCardGroupSlots} from '../../types'\n\nconst _props = withDefaults(defineProps<BCardGroupProps>(), {\n tag: 'div',\n})\nconst props = useDefaults(_props, 'BCardGroup')\ndefineSlots<BCardGroupSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTextProps, BCardTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTextProps>(), {\n tag: 'p',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardText')\ndefineSlots<BCardTextSlots>()\n</script>\n","<template>\n <component :is=\"props.tag\" class=\"card-text\">\n <slot>\n {{ props.text }}\n </slot>\n </component>\n</template>\n\n<script setup lang=\"ts\">\nimport type {BCardTextProps, BCardTextSlots} from '../../types'\nimport {useDefaults} from '../../composables/useDefaults'\n\nconst _props = withDefaults(defineProps<BCardTextProps>(), {\n tag: 'p',\n text: undefined,\n})\nconst props = useDefaults(_props, 'BCardText')\ndefineSlots<BCardTextSlots>()\n</script>\n"],"mappings":";;;;;;;;;;EAaA,MAAM,QAAQ,oBAAA,YAHC,SAGmB,aAAY;;qGAZ5B,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,cAAY,EAAA;oCACnC,EAAA,GAAA,IAAA,YAAA,KAAA,QAAA,UAAA,CAAA,CAAA;;;;;;;;;;;;;;;EEcZ,MAAM,QAAQ,oBAAA,YAJC,SAImB,YAAW;;qGAf3B,MAAK,CAAC,IAAG,EAAA,EAAE,OAAM,aAAW,EAAA;oCAGnC,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,8 +1,8 @@
|
|
|
1
1
|
import { o as isEmptySlot } from "./dom-AhkaSoh8.mjs";
|
|
2
|
-
import { t as useDefaults } from "./useDefaults-
|
|
2
|
+
import { t as useDefaults } from "./useDefaults-DseelK6y.mjs";
|
|
3
3
|
import { i as omit } from "./object-CHQkkner.mjs";
|
|
4
4
|
import { t as useColorVariantClasses } from "./useColorVariantClasses-CqeXHjRh.mjs";
|
|
5
|
-
import { t as BImg_default } from "./BImg-
|
|
5
|
+
import { t as BImg_default } from "./BImg-QBS2ECBc.mjs";
|
|
6
6
|
import { computed, createBlock, createCommentVNode, createTextVNode, defineComponent, mergeProps, normalizeClass, normalizeProps, openBlock, renderSlot, resolveDynamicComponent, toDisplayString, unref, useSlots, withCtx } from "vue";
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/components/BCard/BCardImg.vue
|
|
@@ -399,4 +399,4 @@ var BCard_default = /* @__PURE__ */ defineComponent({
|
|
|
399
399
|
//#endregion
|
|
400
400
|
export { BCardTitle_default as a, BCardSubtitle_default as i, BCardFooter_default as n, BCardHeader_default as o, BCardBody_default as r, BCardImg_default as s, BCard_default as t };
|
|
401
401
|
|
|
402
|
-
//# sourceMappingURL=BCard-
|
|
402
|
+
//# sourceMappingURL=BCard-CHbKv2OR.mjs.map
|