ivt 0.7.3 → 0.7.4
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/accordion/index.mjs +13 -15
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/accordion-table/index.mjs +26 -28
- package/dist/accordion-table/index.mjs.map +1 -1
- package/dist/alert/index.mjs +3 -3
- package/dist/alert-dialog/index.mjs +15 -17
- package/dist/alert-dialog/index.mjs.map +1 -1
- package/dist/aspect-ratio/index.mjs +42 -3
- package/dist/aspect-ratio/index.mjs.map +1 -1
- package/dist/auto-complete-multi-select/index.mjs +31 -33
- package/dist/auto-complete-multi-select/index.mjs.map +1 -1
- package/dist/avatar/index.mjs +130 -8
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/badge/index.mjs +3 -3
- package/dist/base/index.mjs +57 -142
- package/dist/base/index.mjs.map +1 -1
- package/dist/breadcrumb/index.mjs +5 -5
- package/dist/button/index.mjs +3 -3
- package/dist/button-group/index.mjs +3 -4
- package/dist/button-group/index.mjs.map +1 -1
- package/dist/calendar/index.mjs +9 -9
- package/dist/card/index.mjs +3 -3
- package/dist/carousel/index.mjs +4 -4
- package/dist/chart/index.mjs +2869 -1282
- package/dist/chart/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +12 -14
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chunks/AutoComplete-qFuwmV53.mjs +95 -0
- package/dist/chunks/AutoComplete-qFuwmV53.mjs.map +1 -0
- package/dist/chunks/{CalendarRange-C6BJ_i8D.mjs → CalendarRange-Ce7PiNfq.mjs} +8 -8
- package/dist/chunks/{CalendarRange-C6BJ_i8D.mjs.map → CalendarRange-Ce7PiNfq.mjs.map} +1 -1
- package/dist/chunks/{ComboboxField-DFqOZmlN.mjs → ComboboxField-DaRpRraW.mjs} +9 -9
- package/dist/chunks/{ComboboxField-DFqOZmlN.mjs.map → ComboboxField-DaRpRraW.mjs.map} +1 -1
- package/dist/chunks/{Container-BFnURH_3.mjs → Container-DwaAaEiC.mjs} +2 -2
- package/dist/chunks/{Container-BFnURH_3.mjs.map → Container-DwaAaEiC.mjs.map} +1 -1
- package/dist/chunks/{DeleteConfirmationModal-3tgFcxyU.mjs → DeleteConfirmationModal-BwTbbBAw.mjs} +4 -4
- package/dist/chunks/{DeleteConfirmationModal-3tgFcxyU.mjs.map → DeleteConfirmationModal-BwTbbBAw.mjs.map} +1 -1
- package/dist/chunks/{ListItem-Dhdqegoz.mjs → ListItem-zxS4CZdq.mjs} +4 -4
- package/dist/chunks/{ListItem-Dhdqegoz.mjs.map → ListItem-zxS4CZdq.mjs.map} +1 -1
- package/dist/chunks/{TooltipIndicator-tYIvoK3x.mjs → TooltipIndicator-CwGGAeRz.mjs} +4 -4
- package/dist/chunks/{TooltipIndicator-tYIvoK3x.mjs.map → TooltipIndicator-CwGGAeRz.mjs.map} +1 -1
- package/dist/chunks/{_commonjsHelpers-CDajFLDm.mjs → _commonjsHelpers-B2Be7UYW.mjs} +1 -1
- package/dist/chunks/_commonjsHelpers-B2Be7UYW.mjs.map +1 -0
- package/dist/chunks/{accordion-Dig0Vyew.mjs → accordion-D4JVALAO.mjs} +9 -11
- package/dist/chunks/{accordion-Dig0Vyew.mjs.map → accordion-D4JVALAO.mjs.map} +1 -1
- package/dist/chunks/{alert-CtNiMMMm.mjs → alert-D-E6nsVK.mjs} +2 -2
- package/dist/chunks/{alert-CtNiMMMm.mjs.map → alert-D-E6nsVK.mjs.map} +1 -1
- package/dist/chunks/{badge-CMepcgQ2.mjs → badge-C6mkl9yr.mjs} +2 -2
- package/dist/chunks/{badge-CMepcgQ2.mjs.map → badge-C6mkl9yr.mjs.map} +1 -1
- package/dist/chunks/{bundle-mjs-ByJyReDu.mjs → bundle-mjs-B1dpl-bk.mjs} +228 -154
- package/dist/chunks/bundle-mjs-B1dpl-bk.mjs.map +1 -0
- package/dist/chunks/{button-DHQrVlqk.mjs → button-DsgJkgEz.mjs} +2 -2
- package/dist/chunks/{button-DHQrVlqk.mjs.map → button-DsgJkgEz.mjs.map} +1 -1
- package/dist/chunks/{calendar-DtKpXGXO.mjs → calendar-Co99lCn4.mjs} +550 -166
- package/dist/chunks/calendar-Co99lCn4.mjs.map +1 -0
- package/dist/chunks/{calendar-days-5V8H0_Qn.mjs → calendar-days-BF4GDmMr.mjs} +2 -2
- package/dist/chunks/{calendar-days-5V8H0_Qn.mjs.map → calendar-days-BF4GDmMr.mjs.map} +1 -1
- package/dist/chunks/{card-DgO3JDtX.mjs → card-Cuo7NL8y.mjs} +2 -2
- package/dist/chunks/{card-DgO3JDtX.mjs.map → card-Cuo7NL8y.mjs.map} +1 -1
- package/dist/chunks/{check-yo43z6YO.mjs → check-CzKqQLNR.mjs} +2 -2
- package/dist/chunks/{check-yo43z6YO.mjs.map → check-CzKqQLNR.mjs.map} +1 -1
- package/dist/chunks/{checkbox-B3xoUcaP.mjs → checkbox-C7RUdsIS.mjs} +9 -11
- package/dist/chunks/{checkbox-B3xoUcaP.mjs.map → checkbox-C7RUdsIS.mjs.map} +1 -1
- package/dist/chunks/{chevron-down-gO34wzc7.mjs → chevron-down-CZjN_vyX.mjs} +2 -2
- package/dist/chunks/{chevron-down-gO34wzc7.mjs.map → chevron-down-CZjN_vyX.mjs.map} +1 -1
- package/dist/chunks/{chevron-left-DGlHB7Nw.mjs → chevron-left-BpfBwM4S.mjs} +2 -2
- package/dist/chunks/{chevron-left-DGlHB7Nw.mjs.map → chevron-left-BpfBwM4S.mjs.map} +1 -1
- package/dist/chunks/{chevron-right-B6bwFEdI.mjs → chevron-right-uq-O8rwC.mjs} +2 -2
- package/dist/chunks/{chevron-right-B6bwFEdI.mjs.map → chevron-right-uq-O8rwC.mjs.map} +1 -1
- package/dist/chunks/{chevrons-up-down-StzXyb6Z.mjs → chevrons-up-down-DKM8h8j_.mjs} +2 -2
- package/dist/chunks/{chevrons-up-down-StzXyb6Z.mjs.map → chevrons-up-down-DKM8h8j_.mjs.map} +1 -1
- package/dist/chunks/{command-BUHV178P.mjs → command-CAS791lb.mjs} +8 -8
- package/dist/chunks/{command-BUHV178P.mjs.map → command-CAS791lb.mjs.map} +1 -1
- package/dist/chunks/{createLucideIcon-BrIj5xiA.mjs → createLucideIcon-xkRZC0aJ.mjs} +1 -1
- package/dist/chunks/{createLucideIcon-BrIj5xiA.mjs.map → createLucideIcon-xkRZC0aJ.mjs.map} +1 -1
- package/dist/chunks/{date-re6oTh_O.mjs → date-DYEUxjwi.mjs} +2 -2
- package/dist/chunks/{date-re6oTh_O.mjs.map → date-DYEUxjwi.mjs.map} +1 -1
- package/dist/chunks/{dialog-CsH0QGEc.mjs → dialog-Dt_M700u.mjs} +4 -4
- package/dist/chunks/{dialog-CsH0QGEc.mjs.map → dialog-Dt_M700u.mjs.map} +1 -1
- package/dist/chunks/{ellipsis-BED2L1d7.mjs → ellipsis-BcRZkfZw.mjs} +2 -2
- package/dist/chunks/{ellipsis-BED2L1d7.mjs.map → ellipsis-BcRZkfZw.mjs.map} +1 -1
- package/dist/chunks/{form-B4-N-eE1.mjs → form-CJnoOgoH.mjs} +299 -150
- package/dist/chunks/form-CJnoOgoH.mjs.map +1 -0
- package/dist/chunks/{format-C24_9AKp.mjs → format-BSPAt__h.mjs} +1 -1
- package/dist/chunks/{format-C24_9AKp.mjs.map → format-BSPAt__h.mjs.map} +1 -1
- package/dist/chunks/{format-numbers-CksgR7yb.mjs → format-numbers-BpGX211b.mjs} +2 -6
- package/dist/chunks/format-numbers-BpGX211b.mjs.map +1 -0
- package/dist/chunks/{hover-card-Dke495v-.mjs → hover-card-DKMcpBnt.mjs} +9 -11
- package/dist/chunks/{hover-card-Dke495v-.mjs.map → hover-card-DKMcpBnt.mjs.map} +1 -1
- package/dist/chunks/{index-Bn9j4jd_.mjs → index-0DBJW078.mjs} +2 -2
- package/dist/chunks/{index-Bn9j4jd_.mjs.map → index-0DBJW078.mjs.map} +1 -1
- package/dist/chunks/{index-DmwGzaYt.mjs → index-7wUPkpwA.mjs} +9 -11
- package/dist/chunks/{index-DmwGzaYt.mjs.map → index-7wUPkpwA.mjs.map} +1 -1
- package/dist/chunks/{index-BrOFvz7z.mjs → index-9921_a2g.mjs} +1 -1
- package/dist/chunks/{index-BrOFvz7z.mjs.map → index-9921_a2g.mjs.map} +1 -1
- package/dist/chunks/{index-DjiiXdCh.mjs → index-B49Rv10M.mjs} +1 -1
- package/dist/chunks/{index-DjiiXdCh.mjs.map → index-B49Rv10M.mjs.map} +1 -1
- package/dist/chunks/{index-7SNyMh-j.mjs → index-B8pOe-bI.mjs} +13 -15
- package/dist/chunks/{index-7SNyMh-j.mjs.map → index-B8pOe-bI.mjs.map} +1 -1
- package/dist/chunks/{index-VN9qcZ4P.mjs → index-B8zlei3I.mjs} +1 -1
- package/dist/chunks/{index-VN9qcZ4P.mjs.map → index-B8zlei3I.mjs.map} +1 -1
- package/dist/chunks/{index-DmLyVVSA.mjs → index-BpZD69GD.mjs} +2 -2
- package/dist/chunks/{index-DmLyVVSA.mjs.map → index-BpZD69GD.mjs.map} +1 -1
- package/dist/chunks/{index-C-ZwjB4k.mjs → index-BtdTgi0_.mjs} +1 -1
- package/dist/chunks/{index-C-ZwjB4k.mjs.map → index-BtdTgi0_.mjs.map} +1 -1
- package/dist/chunks/{index-C8cUOEOO.mjs → index-Cm5-jAR7.mjs} +38 -2
- package/dist/chunks/index-Cm5-jAR7.mjs.map +1 -0
- package/dist/chunks/{index-DHpiwknP.mjs → index-CsC-dafu.mjs} +3 -3
- package/dist/chunks/{index-DHpiwknP.mjs.map → index-CsC-dafu.mjs.map} +1 -1
- package/dist/chunks/{index-rXTYYoI9.mjs → index-CuEeN4AG.mjs} +6 -7
- package/dist/chunks/{index-rXTYYoI9.mjs.map → index-CuEeN4AG.mjs.map} +1 -1
- package/dist/chunks/{index-BElPX9xn.mjs → index-CvWc6WZ4.mjs} +7 -9
- package/dist/chunks/{index-BElPX9xn.mjs.map → index-CvWc6WZ4.mjs.map} +1 -1
- package/dist/chunks/{index-D7mBTwC1.mjs → index-DSBOi0JP.mjs} +4 -5
- package/dist/chunks/{index-D7mBTwC1.mjs.map → index-DSBOi0JP.mjs.map} +1 -1
- package/dist/chunks/{index-B8RPmvRI.mjs → index-DWtzT31F.mjs} +2 -2
- package/dist/chunks/{index-B8RPmvRI.mjs.map → index-DWtzT31F.mjs.map} +1 -1
- package/dist/chunks/{index-DLAC_TU-.mjs → index-DaifcY5X.mjs} +7 -9
- package/dist/chunks/{index-DLAC_TU-.mjs.map → index-DaifcY5X.mjs.map} +1 -1
- package/dist/chunks/{index-DIkcxop-.mjs → index-DjoMuta5.mjs} +1 -1
- package/dist/chunks/{index-DIkcxop-.mjs.map → index-DjoMuta5.mjs.map} +1 -1
- package/dist/chunks/{index-DY9hLs8O.mjs → index-Dn87UbZu.mjs} +2 -2
- package/dist/chunks/{index-DY9hLs8O.mjs.map → index-Dn87UbZu.mjs.map} +1 -1
- package/dist/chunks/{index-BKxnMSY9.mjs → index-G8uUqzC7.mjs} +12 -2
- package/dist/chunks/index-G8uUqzC7.mjs.map +1 -0
- package/dist/chunks/{index-CFaMr67I.mjs → index-SJQIKyxi.mjs} +1 -1
- package/dist/chunks/{index-CFaMr67I.mjs.map → index-SJQIKyxi.mjs.map} +1 -1
- package/dist/chunks/{index-BP00_xoF.mjs → index-fcmnzZn6.mjs} +12 -5
- package/dist/chunks/index-fcmnzZn6.mjs.map +1 -0
- package/dist/chunks/{index-BXScVxAr.mjs → index-zv8c0UAU.mjs} +3 -3
- package/dist/chunks/{index-BXScVxAr.mjs.map → index-zv8c0UAU.mjs.map} +1 -1
- package/dist/chunks/index.module-B_Z75X1e.mjs +73 -0
- package/dist/chunks/index.module-B_Z75X1e.mjs.map +1 -0
- package/dist/chunks/{input-Beaky41D.mjs → input-NILUGijL.mjs} +2 -2
- package/dist/chunks/{input-Beaky41D.mjs.map → input-NILUGijL.mjs.map} +1 -1
- package/dist/chunks/input-otp-b-7MmY2H.mjs +455 -0
- package/dist/chunks/input-otp-b-7MmY2H.mjs.map +1 -0
- package/dist/chunks/{label-n_pPs58q.mjs → label-81mjh4Q4.mjs} +44 -3
- package/dist/chunks/label-81mjh4Q4.mjs.map +1 -0
- package/dist/chunks/{loader-circle-CEDL1CbD.mjs → loader-circle-sGBNpyP3.mjs} +2 -2
- package/dist/chunks/{loader-circle-CEDL1CbD.mjs.map → loader-circle-sGBNpyP3.mjs.map} +1 -1
- package/dist/chunks/{menubar-C8VLP8-v.mjs → menubar-Dz5biTZv.mjs} +11 -13
- package/dist/chunks/{menubar-C8VLP8-v.mjs.map → menubar-Dz5biTZv.mjs.map} +1 -1
- package/dist/chunks/{multi-select-fLsOx7-e.mjs → multi-select-DeW-tL6j.mjs} +13 -13
- package/dist/chunks/{multi-select-fLsOx7-e.mjs.map → multi-select-DeW-tL6j.mjs.map} +1 -1
- package/dist/chunks/{pagination-iwqbmQ5Q.mjs → pagination-0W2Kek6Z.mjs} +6 -6
- package/dist/chunks/{pagination-iwqbmQ5Q.mjs.map → pagination-0W2Kek6Z.mjs.map} +1 -1
- package/dist/chunks/{popover-Cpht2GgQ.mjs → popover-ChoMUAP9.mjs} +11 -13
- package/dist/chunks/{popover-Cpht2GgQ.mjs.map → popover-ChoMUAP9.mjs.map} +1 -1
- package/dist/chunks/progress-zrBdDKEV.mjs +223 -0
- package/dist/chunks/progress-zrBdDKEV.mjs.map +1 -0
- package/dist/chunks/radio-group-r3ejuIom.mjs +258 -0
- package/dist/chunks/radio-group-r3ejuIom.mjs.map +1 -0
- package/dist/chunks/{react-number-format.es-CcgVtYyo.mjs → react-number-format.es-rRpdCutF.mjs} +1 -1
- package/dist/chunks/{react-number-format.es-CcgVtYyo.mjs.map → react-number-format.es-rRpdCutF.mjs.map} +1 -1
- package/dist/chunks/{scroll-area-DuO1U-ha.mjs → scroll-area-DjtXX0pm.mjs} +9 -11
- package/dist/chunks/{scroll-area-DuO1U-ha.mjs.map → scroll-area-DjtXX0pm.mjs.map} +1 -1
- package/dist/chunks/{select-D5DzfQ8s.mjs → select-CICQavYx.mjs} +5 -5
- package/dist/chunks/{select-D5DzfQ8s.mjs.map → select-CICQavYx.mjs.map} +1 -1
- package/dist/chunks/{separator-DHnqygnd.mjs → separator-CL28DVoA.mjs} +44 -3
- package/dist/chunks/separator-CL28DVoA.mjs.map +1 -0
- package/dist/chunks/{sheet-CXvwS4r9.mjs → sheet-BIN5Bwkz.mjs} +4 -4
- package/dist/chunks/{sheet-CXvwS4r9.mjs.map → sheet-BIN5Bwkz.mjs.map} +1 -1
- package/dist/chunks/{skeleton-CuuvHTlE.mjs → skeleton-DEo09dsp.mjs} +2 -2
- package/dist/chunks/{skeleton-CuuvHTlE.mjs.map → skeleton-DEo09dsp.mjs.map} +1 -1
- package/dist/chunks/slider-C_afdOBq.mjs +588 -0
- package/dist/chunks/slider-C_afdOBq.mjs.map +1 -0
- package/dist/chunks/{sortable-Dc-PXgOX.mjs → sortable-Hz2p-hG_.mjs} +3 -3
- package/dist/chunks/{sortable-Dc-PXgOX.mjs.map → sortable-Hz2p-hG_.mjs.map} +1 -1
- package/dist/chunks/styles-DQr_CtBg.mjs +6 -0
- package/dist/chunks/styles-DQr_CtBg.mjs.map +1 -0
- package/dist/chunks/switch-CoxjUYji.mjs +138 -0
- package/dist/chunks/switch-CoxjUYji.mjs.map +1 -0
- package/dist/chunks/{table-CsRWNDTp.mjs → table-CaTzvnGO.mjs} +2 -2
- package/dist/chunks/{table-CsRWNDTp.mjs.map → table-CaTzvnGO.mjs.map} +1 -1
- package/dist/chunks/{tabs-Bw6ByWDS.mjs → tabs-DbcqE74l.mjs} +9 -10
- package/dist/chunks/{tabs-Bw6ByWDS.mjs.map → tabs-DbcqE74l.mjs.map} +1 -1
- package/dist/chunks/{textarea-C7CkvJ9p.mjs → textarea-C99bTFre.mjs} +2 -2
- package/dist/chunks/{textarea-C7CkvJ9p.mjs.map → textarea-C99bTFre.mjs.map} +1 -1
- package/dist/chunks/{toggle-BRsNuICy.mjs → toggle-x7-6JYvP.mjs} +4 -5
- package/dist/chunks/{toggle-BRsNuICy.mjs.map → toggle-x7-6JYvP.mjs.map} +1 -1
- package/dist/chunks/{tooltip-DXG_UtcS.mjs → tooltip-aCFcTWvT.mjs} +11 -13
- package/dist/chunks/{tooltip-DXG_UtcS.mjs.map → tooltip-aCFcTWvT.mjs.map} +1 -1
- package/dist/chunks/{trash-2-DSHxuneu.mjs → trash-2-BRTBRPsE.mjs} +2 -2
- package/dist/chunks/{trash-2-DSHxuneu.mjs.map → trash-2-BRTBRPsE.mjs.map} +1 -1
- package/dist/chunks/{triangle-alert-8sDAvjNW.mjs → triangle-alert-DEr_0gbo.mjs} +2 -2
- package/dist/chunks/{triangle-alert-8sDAvjNW.mjs.map → triangle-alert-DEr_0gbo.mjs.map} +1 -1
- package/dist/chunks/{tslib.es6-WVUvgLYj.mjs → tslib.es6-9fTryOSE.mjs} +1 -1
- package/dist/chunks/{tslib.es6-WVUvgLYj.mjs.map → tslib.es6-9fTryOSE.mjs.map} +1 -1
- package/dist/chunks/{utils-BqIRZT53.mjs → utils-M7D-rn0u.mjs} +2 -2
- package/dist/chunks/{utils-BqIRZT53.mjs.map → utils-M7D-rn0u.mjs.map} +1 -1
- package/dist/chunks/{wand-sparkles-BjK8VloB.mjs → wand-sparkles-cr6EaHA_.mjs} +2 -2
- package/dist/chunks/{wand-sparkles-BjK8VloB.mjs.map → wand-sparkles-cr6EaHA_.mjs.map} +1 -1
- package/dist/chunks/{x-D7oIZ9hK.mjs → x-Heb3hHKJ.mjs} +2 -2
- package/dist/chunks/{x-D7oIZ9hK.mjs.map → x-Heb3hHKJ.mjs.map} +1 -1
- package/dist/collapsible/index.mjs +8 -10
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/combobox/index.mjs +25 -27
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +19 -21
- package/dist/command/index.mjs.map +1 -1
- package/dist/context-menu/index.mjs +21 -23
- package/dist/context-menu/index.mjs.map +1 -1
- package/dist/dash/index.mjs +25 -26
- package/dist/dash/index.mjs.map +1 -1
- package/dist/data-table/index.mjs +33 -35
- package/dist/data-table/index.mjs.map +1 -1
- package/dist/date-picker/index.mjs +26 -28
- package/dist/date-picker/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +18 -20
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/drawer/index.mjs +15 -17
- package/dist/drawer/index.mjs.map +1 -1
- package/dist/dropdown-menu/index.mjs +21 -23
- package/dist/dropdown-menu/index.mjs.map +1 -1
- package/dist/dropzone/index.mjs +16 -18
- package/dist/dropzone/index.mjs.map +1 -1
- package/dist/editable-table/index.mjs +18 -20
- package/dist/editable-table/index.mjs.map +1 -1
- package/dist/empty/index.mjs +2 -2
- package/dist/field/index.mjs +4 -5
- package/dist/field/index.mjs.map +1 -1
- package/dist/form/index.mjs +4 -5
- package/dist/form/index.mjs.map +1 -1
- package/dist/form-fields/index.mjs +27 -29
- package/dist/form-fields/index.mjs.map +1 -1
- package/dist/form-layout/index.d.ts +85 -0
- package/dist/form-layout/index.mjs +534 -0
- package/dist/form-layout/index.mjs.map +1 -0
- package/dist/hover-card/index.mjs +14 -16
- package/dist/hover-card/index.mjs.map +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/index.css +1 -1
- package/dist/input/index.mjs +3 -3
- package/dist/input-group/index.mjs +5 -5
- package/dist/input-otp/index.mjs +5 -455
- package/dist/input-otp/index.mjs.map +1 -1
- package/dist/item/index.mjs +3 -4
- package/dist/item/index.mjs.map +1 -1
- package/dist/ivt.css +1 -1
- package/dist/kbd/index.mjs +2 -2
- package/dist/label/index.mjs +3 -4
- package/dist/label/index.mjs.map +1 -1
- package/dist/layout/index.mjs +22 -24
- package/dist/layout/index.mjs.map +1 -1
- package/dist/menubar/index.mjs +22 -24
- package/dist/menubar/index.mjs.map +1 -1
- package/dist/multi-input-list/index.mjs +28 -30
- package/dist/multi-input-list/index.mjs.map +1 -1
- package/dist/multi-select/index.mjs +32 -34
- package/dist/multi-select/index.mjs.map +1 -1
- package/dist/navigation-menu/index.mjs +15 -17
- package/dist/navigation-menu/index.mjs.map +1 -1
- package/dist/pagination/index.mjs +8 -8
- package/dist/popover/index.mjs +17 -19
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +3 -5
- package/dist/progress/index.mjs.map +1 -1
- package/dist/radio-group/index.mjs +18 -264
- package/dist/radio-group/index.mjs.map +1 -1
- package/dist/resizable/index.mjs +3 -3
- package/dist/scroll-area/index.mjs +10 -12
- package/dist/scroll-area/index.mjs.map +1 -1
- package/dist/select/index.mjs +6 -6
- package/dist/separator/index.mjs +3 -4
- package/dist/separator/index.mjs.map +1 -1
- package/dist/shared/index.mjs +5 -5
- package/dist/sheet/index.mjs +18 -20
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/sidebar/index.mjs +26 -28
- package/dist/sidebar/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +3 -3
- package/dist/skeleton-component/index.mjs +4 -4
- package/dist/slider/index.mjs +14 -591
- package/dist/slider/index.mjs.map +1 -1
- package/dist/sortable/index.mjs +4 -4
- package/dist/spinner/index.mjs +4 -4
- package/dist/switch/index.mjs +11 -141
- package/dist/switch/index.mjs.map +1 -1
- package/dist/table/index.mjs +3 -3
- package/dist/table-filter/index.mjs +53 -54
- package/dist/table-filter/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +14 -16
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.mjs +3 -3
- package/dist/toast/index.mjs +13 -15
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toggle/index.mjs +6 -7
- package/dist/toggle/index.mjs.map +1 -1
- package/dist/toggle-group/index.mjs +11 -13
- package/dist/toggle-group/index.mjs.map +1 -1
- package/dist/tooltip/index.mjs +16 -18
- package/dist/tooltip/index.mjs.map +1 -1
- package/package.json +6 -1
- package/dist/chunks/_commonjsHelpers-CDajFLDm.mjs.map +0 -1
- package/dist/chunks/bundle-mjs-ByJyReDu.mjs.map +0 -1
- package/dist/chunks/calendar-DtKpXGXO.mjs.map +0 -1
- package/dist/chunks/form-B4-N-eE1.mjs.map +0 -1
- package/dist/chunks/format-numbers-CksgR7yb.mjs.map +0 -1
- package/dist/chunks/index-5s6ltgHF.mjs +0 -40
- package/dist/chunks/index-5s6ltgHF.mjs.map +0 -1
- package/dist/chunks/index-BKxnMSY9.mjs.map +0 -1
- package/dist/chunks/index-BP00_xoF.mjs.map +0 -1
- package/dist/chunks/index-C8cUOEOO.mjs.map +0 -1
- package/dist/chunks/index-DUoETH03.mjs +0 -12
- package/dist/chunks/index-DUoETH03.mjs.map +0 -1
- package/dist/chunks/index.module-acmtZqFz.mjs +0 -68
- package/dist/chunks/index.module-acmtZqFz.mjs.map +0 -1
- package/dist/chunks/label-n_pPs58q.mjs.map +0 -1
- package/dist/chunks/progress-CZnyHYXZ.mjs +0 -99
- package/dist/chunks/progress-CZnyHYXZ.mjs.map +0 -1
- package/dist/chunks/separator-DHnqygnd.mjs.map +0 -1
|
@@ -1,108 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Concatenates two arrays faster than the array spread operator.
|
|
3
|
+
*/ const concatArrays = (array1, array2)=>{
|
|
4
|
+
// Pre-allocate for better V8 optimization
|
|
5
|
+
const combinedArray = new Array(array1.length + array2.length);
|
|
6
|
+
for(let i = 0; i < array1.length; i++){
|
|
7
|
+
combinedArray[i] = array1[i];
|
|
8
|
+
}
|
|
9
|
+
for(let i = 0; i < array2.length; i++){
|
|
10
|
+
combinedArray[array1.length + i] = array2[i];
|
|
11
|
+
}
|
|
12
|
+
return combinedArray;
|
|
13
|
+
};
|
|
14
|
+
// Factory function ensures consistent object shapes
|
|
15
|
+
const createClassValidatorObject = (classGroupId, validator)=>({
|
|
16
|
+
classGroupId,
|
|
17
|
+
validator
|
|
18
|
+
});
|
|
19
|
+
// Factory ensures consistent ClassPartObject shape
|
|
20
|
+
const createClassPartObject = (nextPart = new Map(), validators = null, classGroupId)=>({
|
|
21
|
+
nextPart,
|
|
22
|
+
validators,
|
|
23
|
+
classGroupId
|
|
24
|
+
});
|
|
1
25
|
const CLASS_PART_SEPARATOR = '-';
|
|
26
|
+
const EMPTY_CONFLICTS = [];
|
|
27
|
+
// I use two dots here because one dot is used as prefix for class groups in plugins
|
|
28
|
+
const ARBITRARY_PROPERTY_PREFIX = 'arbitrary..';
|
|
2
29
|
const createClassGroupUtils = (config)=>{
|
|
3
30
|
const classMap = createClassMap(config);
|
|
4
31
|
const { conflictingClassGroups, conflictingClassGroupModifiers } = config;
|
|
5
32
|
const getClassGroupId = (className)=>{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (classParts[0] === '' && classParts.length !== 1) {
|
|
9
|
-
classParts.shift();
|
|
33
|
+
if (className.startsWith('[') && className.endsWith(']')) {
|
|
34
|
+
return getGroupIdForArbitraryProperty(className);
|
|
10
35
|
}
|
|
11
|
-
|
|
36
|
+
const classParts = className.split(CLASS_PART_SEPARATOR);
|
|
37
|
+
// Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.
|
|
38
|
+
const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0;
|
|
39
|
+
return getGroupRecursive(classParts, startIndex, classMap);
|
|
12
40
|
};
|
|
13
41
|
const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier)=>{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
42
|
+
if (hasPostfixModifier) {
|
|
43
|
+
const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
|
|
44
|
+
const baseConflicts = conflictingClassGroups[classGroupId];
|
|
45
|
+
if (modifierConflicts) {
|
|
46
|
+
if (baseConflicts) {
|
|
47
|
+
// Merge base conflicts with modifier conflicts
|
|
48
|
+
return concatArrays(baseConflicts, modifierConflicts);
|
|
49
|
+
}
|
|
50
|
+
// Only modifier conflicts
|
|
51
|
+
return modifierConflicts;
|
|
52
|
+
}
|
|
53
|
+
// Fall back to without postfix if no modifier conflicts
|
|
54
|
+
return baseConflicts || EMPTY_CONFLICTS;
|
|
20
55
|
}
|
|
21
|
-
return
|
|
56
|
+
return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
|
|
22
57
|
};
|
|
23
58
|
return {
|
|
24
59
|
getClassGroupId,
|
|
25
60
|
getConflictingClassGroupIds
|
|
26
61
|
};
|
|
27
62
|
};
|
|
28
|
-
const getGroupRecursive = (classParts, classPartObject)=>{
|
|
29
|
-
|
|
63
|
+
const getGroupRecursive = (classParts, startIndex, classPartObject)=>{
|
|
64
|
+
const classPathsLength = classParts.length - startIndex;
|
|
65
|
+
if (classPathsLength === 0) {
|
|
30
66
|
return classPartObject.classGroupId;
|
|
31
67
|
}
|
|
32
|
-
const currentClassPart = classParts[
|
|
68
|
+
const currentClassPart = classParts[startIndex];
|
|
33
69
|
const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return
|
|
70
|
+
if (nextClassPartObject) {
|
|
71
|
+
const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
|
|
72
|
+
if (result) return result;
|
|
37
73
|
}
|
|
38
|
-
|
|
74
|
+
const validators = classPartObject.validators;
|
|
75
|
+
if (validators === null) {
|
|
39
76
|
return undefined;
|
|
40
77
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
|
|
49
|
-
if (property) {
|
|
50
|
-
// I use two dots here because one dot is used as prefix for class groups in plugins
|
|
51
|
-
return 'arbitrary..' + property;
|
|
78
|
+
// Build classRest string efficiently by joining from startIndex onwards
|
|
79
|
+
const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
|
|
80
|
+
const validatorsLength = validators.length;
|
|
81
|
+
for(let i = 0; i < validatorsLength; i++){
|
|
82
|
+
const validatorObj = validators[i];
|
|
83
|
+
if (validatorObj.validator(classRest)) {
|
|
84
|
+
return validatorObj.classGroupId;
|
|
52
85
|
}
|
|
53
86
|
}
|
|
87
|
+
return undefined;
|
|
54
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* Get the class group ID for an arbitrary property.
|
|
91
|
+
*
|
|
92
|
+
* @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.
|
|
93
|
+
*/ const getGroupIdForArbitraryProperty = (className)=>className.slice(1, -1).indexOf(':') === -1 ? undefined : (()=>{
|
|
94
|
+
const content = className.slice(1, -1);
|
|
95
|
+
const colonIndex = content.indexOf(':');
|
|
96
|
+
const property = content.slice(0, colonIndex);
|
|
97
|
+
return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;
|
|
98
|
+
})();
|
|
55
99
|
/**
|
|
56
100
|
* Exported for testing only
|
|
57
101
|
*/ const createClassMap = (config)=>{
|
|
58
102
|
const { theme, classGroups } = config;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
103
|
+
return processClassGroups(classGroups, theme);
|
|
104
|
+
};
|
|
105
|
+
// Split into separate functions to maintain monomorphic call sites
|
|
106
|
+
const processClassGroups = (classGroups, theme)=>{
|
|
107
|
+
const classMap = createClassPartObject();
|
|
63
108
|
for(const classGroupId in classGroups){
|
|
64
|
-
|
|
109
|
+
const group = classGroups[classGroupId];
|
|
110
|
+
processClassesRecursively(group, classMap, classGroupId, theme);
|
|
65
111
|
}
|
|
66
112
|
return classMap;
|
|
67
113
|
};
|
|
68
114
|
const processClassesRecursively = (classGroup, classPartObject, classGroupId, theme)=>{
|
|
69
|
-
classGroup.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
115
|
+
const len = classGroup.length;
|
|
116
|
+
for(let i = 0; i < len; i++){
|
|
117
|
+
const classDefinition = classGroup[i];
|
|
118
|
+
processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
// Split into separate functions for each type to maintain monomorphic call sites
|
|
122
|
+
const processClassDefinition = (classDefinition, classPartObject, classGroupId, theme)=>{
|
|
123
|
+
if (typeof classDefinition === 'string') {
|
|
124
|
+
processStringDefinition(classDefinition, classPartObject, classGroupId);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (typeof classDefinition === 'function') {
|
|
128
|
+
processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
|
|
132
|
+
};
|
|
133
|
+
const processStringDefinition = (classDefinition, classPartObject, classGroupId)=>{
|
|
134
|
+
const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
|
|
135
|
+
classPartObjectToEdit.classGroupId = classGroupId;
|
|
136
|
+
};
|
|
137
|
+
const processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme)=>{
|
|
138
|
+
if (isThemeGetter(classDefinition)) {
|
|
139
|
+
processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (classPartObject.validators === null) {
|
|
143
|
+
classPartObject.validators = [];
|
|
144
|
+
}
|
|
145
|
+
classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
|
|
146
|
+
};
|
|
147
|
+
const processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme)=>{
|
|
148
|
+
const entries = Object.entries(classDefinition);
|
|
149
|
+
const len = entries.length;
|
|
150
|
+
for(let i = 0; i < len; i++){
|
|
151
|
+
const [key, value] = entries[i];
|
|
152
|
+
processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
|
|
153
|
+
}
|
|
90
154
|
};
|
|
91
155
|
const getPart = (classPartObject, path)=>{
|
|
92
|
-
let
|
|
93
|
-
path.split(CLASS_PART_SEPARATOR)
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
156
|
+
let current = classPartObject;
|
|
157
|
+
const parts = path.split(CLASS_PART_SEPARATOR);
|
|
158
|
+
const len = parts.length;
|
|
159
|
+
for(let i = 0; i < len; i++){
|
|
160
|
+
const part = parts[i];
|
|
161
|
+
let next = current.nextPart.get(part);
|
|
162
|
+
if (!next) {
|
|
163
|
+
next = createClassPartObject();
|
|
164
|
+
current.nextPart.set(part, next);
|
|
99
165
|
}
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
return
|
|
166
|
+
current = next;
|
|
167
|
+
}
|
|
168
|
+
return current;
|
|
103
169
|
};
|
|
104
|
-
|
|
105
|
-
|
|
170
|
+
// Type guard maintains monomorphic check
|
|
171
|
+
const isThemeGetter = (func)=>'isThemeGetter' in func && func.isThemeGetter === true;
|
|
172
|
+
// LRU cache implementation using plain objects for simplicity
|
|
106
173
|
const createLruCache = (maxCacheSize)=>{
|
|
107
174
|
if (maxCacheSize < 1) {
|
|
108
175
|
return {
|
|
@@ -111,31 +178,31 @@ const createLruCache = (maxCacheSize)=>{
|
|
|
111
178
|
};
|
|
112
179
|
}
|
|
113
180
|
let cacheSize = 0;
|
|
114
|
-
let cache =
|
|
115
|
-
let previousCache =
|
|
181
|
+
let cache = Object.create(null);
|
|
182
|
+
let previousCache = Object.create(null);
|
|
116
183
|
const update = (key, value)=>{
|
|
117
|
-
cache
|
|
184
|
+
cache[key] = value;
|
|
118
185
|
cacheSize++;
|
|
119
186
|
if (cacheSize > maxCacheSize) {
|
|
120
187
|
cacheSize = 0;
|
|
121
188
|
previousCache = cache;
|
|
122
|
-
cache =
|
|
189
|
+
cache = Object.create(null);
|
|
123
190
|
}
|
|
124
191
|
};
|
|
125
192
|
return {
|
|
126
193
|
get (key) {
|
|
127
|
-
let value = cache
|
|
194
|
+
let value = cache[key];
|
|
128
195
|
if (value !== undefined) {
|
|
129
196
|
return value;
|
|
130
197
|
}
|
|
131
|
-
if ((value = previousCache
|
|
198
|
+
if ((value = previousCache[key]) !== undefined) {
|
|
132
199
|
update(key, value);
|
|
133
200
|
return value;
|
|
134
201
|
}
|
|
135
202
|
},
|
|
136
203
|
set (key, value) {
|
|
137
|
-
if (cache
|
|
138
|
-
cache
|
|
204
|
+
if (key in cache) {
|
|
205
|
+
cache[key] = value;
|
|
139
206
|
} else {
|
|
140
207
|
update(key, value);
|
|
141
208
|
}
|
|
@@ -144,7 +211,15 @@ const createLruCache = (maxCacheSize)=>{
|
|
|
144
211
|
};
|
|
145
212
|
const IMPORTANT_MODIFIER = '!';
|
|
146
213
|
const MODIFIER_SEPARATOR = ':';
|
|
147
|
-
const
|
|
214
|
+
const EMPTY_MODIFIERS = [];
|
|
215
|
+
// Pre-allocated result object shape for consistency
|
|
216
|
+
const createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal)=>({
|
|
217
|
+
modifiers,
|
|
218
|
+
hasImportantModifier,
|
|
219
|
+
baseClassName,
|
|
220
|
+
maybePostfixModifierPosition,
|
|
221
|
+
isExternal
|
|
222
|
+
});
|
|
148
223
|
const createParseClassName = (config)=>{
|
|
149
224
|
const { prefix, experimentalParseClassName } = config;
|
|
150
225
|
/**
|
|
@@ -153,17 +228,19 @@ const createParseClassName = (config)=>{
|
|
|
153
228
|
* Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
|
|
154
229
|
* @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
|
|
155
230
|
*/ let parseClassName = (className)=>{
|
|
231
|
+
// Use simple array with push for better performance
|
|
156
232
|
const modifiers = [];
|
|
157
233
|
let bracketDepth = 0;
|
|
158
234
|
let parenDepth = 0;
|
|
159
235
|
let modifierStart = 0;
|
|
160
236
|
let postfixModifierPosition;
|
|
161
|
-
|
|
162
|
-
|
|
237
|
+
const len = className.length;
|
|
238
|
+
for(let index = 0; index < len; index++){
|
|
239
|
+
const currentCharacter = className[index];
|
|
163
240
|
if (bracketDepth === 0 && parenDepth === 0) {
|
|
164
241
|
if (currentCharacter === MODIFIER_SEPARATOR) {
|
|
165
242
|
modifiers.push(className.slice(modifierStart, index));
|
|
166
|
-
modifierStart = index +
|
|
243
|
+
modifierStart = index + 1;
|
|
167
244
|
continue;
|
|
168
245
|
}
|
|
169
246
|
if (currentCharacter === '/') {
|
|
@@ -171,37 +248,32 @@ const createParseClassName = (config)=>{
|
|
|
171
248
|
continue;
|
|
172
249
|
}
|
|
173
250
|
}
|
|
174
|
-
if (currentCharacter === '[')
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
251
|
+
if (currentCharacter === '[') bracketDepth++;
|
|
252
|
+
else if (currentCharacter === ']') bracketDepth--;
|
|
253
|
+
else if (currentCharacter === '(') parenDepth++;
|
|
254
|
+
else if (currentCharacter === ')') parenDepth--;
|
|
255
|
+
}
|
|
256
|
+
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
|
|
257
|
+
// Inline important modifier check
|
|
258
|
+
let baseClassName = baseClassNameWithImportantModifier;
|
|
259
|
+
let hasImportantModifier = false;
|
|
260
|
+
if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
|
|
261
|
+
baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
|
|
262
|
+
hasImportantModifier = true;
|
|
263
|
+
} else if (/**
|
|
264
|
+
* In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
|
|
265
|
+
* @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
|
|
266
|
+
*/ baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {
|
|
267
|
+
baseClassName = baseClassNameWithImportantModifier.slice(1);
|
|
268
|
+
hasImportantModifier = true;
|
|
183
269
|
}
|
|
184
|
-
const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
|
|
185
|
-
const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);
|
|
186
|
-
const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;
|
|
187
270
|
const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
|
|
188
|
-
return
|
|
189
|
-
modifiers,
|
|
190
|
-
hasImportantModifier,
|
|
191
|
-
baseClassName,
|
|
192
|
-
maybePostfixModifierPosition
|
|
193
|
-
};
|
|
271
|
+
return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
|
|
194
272
|
};
|
|
195
273
|
if (prefix) {
|
|
196
274
|
const fullPrefix = prefix + MODIFIER_SEPARATOR;
|
|
197
275
|
const parseClassNameOriginal = parseClassName;
|
|
198
|
-
parseClassName = (className)=>className.startsWith(fullPrefix) ? parseClassNameOriginal(className.
|
|
199
|
-
isExternal: true,
|
|
200
|
-
modifiers: [],
|
|
201
|
-
hasImportantModifier: false,
|
|
202
|
-
baseClassName: className,
|
|
203
|
-
maybePostfixModifierPosition: undefined
|
|
204
|
-
};
|
|
276
|
+
parseClassName = (className)=>className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);
|
|
205
277
|
}
|
|
206
278
|
if (experimentalParseClassName) {
|
|
207
279
|
const parseClassNameOriginal = parseClassName;
|
|
@@ -212,46 +284,46 @@ const createParseClassName = (config)=>{
|
|
|
212
284
|
}
|
|
213
285
|
return parseClassName;
|
|
214
286
|
};
|
|
215
|
-
const stripImportantModifier = (baseClassName)=>{
|
|
216
|
-
if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {
|
|
217
|
-
return baseClassName.substring(0, baseClassName.length - 1);
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
|
|
221
|
-
* @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
|
|
222
|
-
*/ if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {
|
|
223
|
-
return baseClassName.substring(1);
|
|
224
|
-
}
|
|
225
|
-
return baseClassName;
|
|
226
|
-
};
|
|
227
287
|
/**
|
|
228
288
|
* Sorts modifiers according to following schema:
|
|
229
289
|
* - Predefined modifiers are sorted alphabetically
|
|
230
290
|
* - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
|
|
231
291
|
*/ const createSortModifiers = (config)=>{
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
modifiers.
|
|
243
|
-
const
|
|
244
|
-
if (
|
|
245
|
-
|
|
246
|
-
|
|
292
|
+
// Pre-compute weights for all known modifiers for O(1) comparison
|
|
293
|
+
const modifierWeights = new Map();
|
|
294
|
+
// Assign weights to sensitive modifiers (highest priority, but preserve order)
|
|
295
|
+
config.orderSensitiveModifiers.forEach((mod, index)=>{
|
|
296
|
+
modifierWeights.set(mod, 1000000 + index); // High weights for sensitive mods
|
|
297
|
+
});
|
|
298
|
+
return (modifiers)=>{
|
|
299
|
+
const result = [];
|
|
300
|
+
let currentSegment = [];
|
|
301
|
+
// Process modifiers in one pass
|
|
302
|
+
for(let i = 0; i < modifiers.length; i++){
|
|
303
|
+
const modifier = modifiers[i];
|
|
304
|
+
// Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)
|
|
305
|
+
const isArbitrary = modifier[0] === '[';
|
|
306
|
+
const isOrderSensitive = modifierWeights.has(modifier);
|
|
307
|
+
if (isArbitrary || isOrderSensitive) {
|
|
308
|
+
// Sort and flush current segment alphabetically
|
|
309
|
+
if (currentSegment.length > 0) {
|
|
310
|
+
currentSegment.sort();
|
|
311
|
+
result.push(...currentSegment);
|
|
312
|
+
currentSegment = [];
|
|
313
|
+
}
|
|
314
|
+
result.push(modifier);
|
|
247
315
|
} else {
|
|
248
|
-
|
|
316
|
+
// Regular modifier - add to current segment for batch sorting
|
|
317
|
+
currentSegment.push(modifier);
|
|
249
318
|
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
|
|
319
|
+
}
|
|
320
|
+
// Sort and add any remaining segment items
|
|
321
|
+
if (currentSegment.length > 0) {
|
|
322
|
+
currentSegment.sort();
|
|
323
|
+
result.push(...currentSegment);
|
|
324
|
+
}
|
|
325
|
+
return result;
|
|
253
326
|
};
|
|
254
|
-
return sortModifiers;
|
|
255
327
|
};
|
|
256
328
|
const createConfigUtils = (config)=>({
|
|
257
329
|
cache: createLruCache(config.cacheSize),
|
|
@@ -294,10 +366,11 @@ const mergeClassList = (classList, configUtils)=>{
|
|
|
294
366
|
}
|
|
295
367
|
hasPostfixModifier = false;
|
|
296
368
|
}
|
|
297
|
-
|
|
369
|
+
// Fast path: skip sorting for empty or single modifier
|
|
370
|
+
const variantModifier = modifiers.length === 0 ? '' : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(':');
|
|
298
371
|
const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
|
|
299
372
|
const classId = modifierId + classGroupId;
|
|
300
|
-
if (classGroupsInConflict.
|
|
373
|
+
if (classGroupsInConflict.indexOf(classId) > -1) {
|
|
301
374
|
continue;
|
|
302
375
|
}
|
|
303
376
|
classGroupsInConflict.push(classId);
|
|
@@ -319,13 +392,13 @@ const mergeClassList = (classList, configUtils)=>{
|
|
|
319
392
|
* - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
|
|
320
393
|
*
|
|
321
394
|
* Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
322
|
-
*/
|
|
395
|
+
*/ const twJoin = (...classLists)=>{
|
|
323
396
|
let index = 0;
|
|
324
397
|
let argument;
|
|
325
398
|
let resolvedValue;
|
|
326
399
|
let string = '';
|
|
327
|
-
while(index <
|
|
328
|
-
if (argument =
|
|
400
|
+
while(index < classLists.length){
|
|
401
|
+
if (argument = classLists[index++]) {
|
|
329
402
|
if (resolvedValue = toValue(argument)) {
|
|
330
403
|
string && (string += ' ');
|
|
331
404
|
string += resolvedValue;
|
|
@@ -333,8 +406,9 @@ const mergeClassList = (classList, configUtils)=>{
|
|
|
333
406
|
}
|
|
334
407
|
}
|
|
335
408
|
return string;
|
|
336
|
-
}
|
|
409
|
+
};
|
|
337
410
|
const toValue = (mix)=>{
|
|
411
|
+
// Fast path for strings
|
|
338
412
|
if (typeof mix === 'string') {
|
|
339
413
|
return mix;
|
|
340
414
|
}
|
|
@@ -350,20 +424,20 @@ const toValue = (mix)=>{
|
|
|
350
424
|
}
|
|
351
425
|
return string;
|
|
352
426
|
};
|
|
353
|
-
|
|
427
|
+
const createTailwindMerge = (createConfigFirst, ...createConfigRest)=>{
|
|
354
428
|
let configUtils;
|
|
355
429
|
let cacheGet;
|
|
356
430
|
let cacheSet;
|
|
357
|
-
let functionToCall
|
|
358
|
-
|
|
431
|
+
let functionToCall;
|
|
432
|
+
const initTailwindMerge = (classList)=>{
|
|
359
433
|
const config = createConfigRest.reduce((previousConfig, createConfigCurrent)=>createConfigCurrent(previousConfig), createConfigFirst());
|
|
360
434
|
configUtils = createConfigUtils(config);
|
|
361
435
|
cacheGet = configUtils.cache.get;
|
|
362
436
|
cacheSet = configUtils.cache.set;
|
|
363
437
|
functionToCall = tailwindMerge;
|
|
364
438
|
return tailwindMerge(classList);
|
|
365
|
-
}
|
|
366
|
-
|
|
439
|
+
};
|
|
440
|
+
const tailwindMerge = (classList)=>{
|
|
367
441
|
const cachedResult = cacheGet(classList);
|
|
368
442
|
if (cachedResult) {
|
|
369
443
|
return cachedResult;
|
|
@@ -371,13 +445,13 @@ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
|
|
|
371
445
|
const result = mergeClassList(classList, configUtils);
|
|
372
446
|
cacheSet(classList, result);
|
|
373
447
|
return result;
|
|
374
|
-
}
|
|
375
|
-
return function callTailwindMerge() {
|
|
376
|
-
return functionToCall(twJoin.apply(null, arguments));
|
|
377
448
|
};
|
|
378
|
-
|
|
449
|
+
functionToCall = initTailwindMerge;
|
|
450
|
+
return (...args)=>functionToCall(twJoin(...args));
|
|
451
|
+
};
|
|
452
|
+
const fallbackThemeArr = [];
|
|
379
453
|
const fromTheme = (key)=>{
|
|
380
|
-
const themeGetter = (theme)=>theme[key] ||
|
|
454
|
+
const themeGetter = (theme)=>theme[key] || fallbackThemeArr;
|
|
381
455
|
themeGetter.isThemeGetter = true;
|
|
382
456
|
return themeGetter;
|
|
383
457
|
};
|
|
@@ -4488,4 +4562,4 @@ const getDefaultConfig = ()=>{
|
|
|
4488
4562
|
const twMerge = /*#__PURE__*/ createTailwindMerge(getDefaultConfig);
|
|
4489
4563
|
|
|
4490
4564
|
export { twMerge as t };
|
|
4491
|
-
//# sourceMappingURL=bundle-mjs-
|
|
4565
|
+
//# sourceMappingURL=bundle-mjs-B1dpl-bk.mjs.map
|