ivt 0.7.2 → 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.
Files changed (315) hide show
  1. package/dist/accordion/index.mjs +13 -15
  2. package/dist/accordion/index.mjs.map +1 -1
  3. package/dist/accordion-table/index.mjs +26 -28
  4. package/dist/accordion-table/index.mjs.map +1 -1
  5. package/dist/alert/index.mjs +3 -3
  6. package/dist/alert-dialog/index.mjs +15 -17
  7. package/dist/alert-dialog/index.mjs.map +1 -1
  8. package/dist/aspect-ratio/index.mjs +42 -3
  9. package/dist/aspect-ratio/index.mjs.map +1 -1
  10. package/dist/auto-complete-multi-select/index.mjs +31 -33
  11. package/dist/auto-complete-multi-select/index.mjs.map +1 -1
  12. package/dist/avatar/index.mjs +130 -8
  13. package/dist/avatar/index.mjs.map +1 -1
  14. package/dist/badge/index.d.ts +1 -1
  15. package/dist/badge/index.mjs +3 -3
  16. package/dist/base/index.mjs +57 -142
  17. package/dist/base/index.mjs.map +1 -1
  18. package/dist/breadcrumb/index.mjs +5 -5
  19. package/dist/button/index.d.ts +1 -1
  20. package/dist/button/index.mjs +3 -3
  21. package/dist/button-group/index.mjs +3 -4
  22. package/dist/button-group/index.mjs.map +1 -1
  23. package/dist/calendar/index.mjs +9 -9
  24. package/dist/card/index.mjs +3 -3
  25. package/dist/carousel/index.mjs +4 -4
  26. package/dist/chart/index.mjs +2869 -1282
  27. package/dist/chart/index.mjs.map +1 -1
  28. package/dist/checkbox/index.mjs +12 -14
  29. package/dist/checkbox/index.mjs.map +1 -1
  30. package/dist/chunks/AutoComplete-qFuwmV53.mjs +95 -0
  31. package/dist/chunks/AutoComplete-qFuwmV53.mjs.map +1 -0
  32. package/dist/chunks/{CalendarRange-k63hDccF.mjs → CalendarRange-Ce7PiNfq.mjs} +8 -8
  33. package/dist/chunks/{CalendarRange-k63hDccF.mjs.map → CalendarRange-Ce7PiNfq.mjs.map} +1 -1
  34. package/dist/chunks/{ComboboxField-5Glf1Ozh.mjs → ComboboxField-DaRpRraW.mjs} +9 -9
  35. package/dist/chunks/{ComboboxField-5Glf1Ozh.mjs.map → ComboboxField-DaRpRraW.mjs.map} +1 -1
  36. package/dist/chunks/{Container-Cv6NG9kb.mjs → Container-DwaAaEiC.mjs} +2 -2
  37. package/dist/chunks/{Container-Cv6NG9kb.mjs.map → Container-DwaAaEiC.mjs.map} +1 -1
  38. package/dist/chunks/{DeleteConfirmationModal-DRseBzq7.mjs → DeleteConfirmationModal-BwTbbBAw.mjs} +4 -4
  39. package/dist/chunks/{DeleteConfirmationModal-DRseBzq7.mjs.map → DeleteConfirmationModal-BwTbbBAw.mjs.map} +1 -1
  40. package/dist/chunks/{ListItem-eGWDX0GP.mjs → ListItem-zxS4CZdq.mjs} +4 -4
  41. package/dist/chunks/{ListItem-eGWDX0GP.mjs.map → ListItem-zxS4CZdq.mjs.map} +1 -1
  42. package/dist/chunks/{TooltipIndicator-BjtHYQzo.mjs → TooltipIndicator-CwGGAeRz.mjs} +4 -4
  43. package/dist/chunks/{TooltipIndicator-BjtHYQzo.mjs.map → TooltipIndicator-CwGGAeRz.mjs.map} +1 -1
  44. package/dist/chunks/{_commonjsHelpers-D3vrMN3C.mjs → _commonjsHelpers-B2Be7UYW.mjs} +1 -1
  45. package/dist/chunks/_commonjsHelpers-B2Be7UYW.mjs.map +1 -0
  46. package/dist/chunks/{accordion-BsbSmZP2.mjs → accordion-D4JVALAO.mjs} +9 -11
  47. package/dist/chunks/{accordion-BsbSmZP2.mjs.map → accordion-D4JVALAO.mjs.map} +1 -1
  48. package/dist/chunks/{alert-Cw-E3eta.mjs → alert-D-E6nsVK.mjs} +2 -2
  49. package/dist/chunks/{alert-Cw-E3eta.mjs.map → alert-D-E6nsVK.mjs.map} +1 -1
  50. package/dist/chunks/{badge-DTn1AQbT.mjs → badge-C6mkl9yr.mjs} +2 -2
  51. package/dist/chunks/{badge-DTn1AQbT.mjs.map → badge-C6mkl9yr.mjs.map} +1 -1
  52. package/dist/chunks/{bundle-mjs-Lvc-Dri9.mjs → bundle-mjs-B1dpl-bk.mjs} +228 -154
  53. package/dist/chunks/bundle-mjs-B1dpl-bk.mjs.map +1 -0
  54. package/dist/chunks/{button-Cve1c7GQ.mjs → button-DsgJkgEz.mjs} +2 -2
  55. package/dist/chunks/{button-Cve1c7GQ.mjs.map → button-DsgJkgEz.mjs.map} +1 -1
  56. package/dist/chunks/{calendar-BTfcQ69r.mjs → calendar-Co99lCn4.mjs} +550 -166
  57. package/dist/chunks/calendar-Co99lCn4.mjs.map +1 -0
  58. package/dist/chunks/{calendar-days-D95Vh8Id.mjs → calendar-days-BF4GDmMr.mjs} +2 -2
  59. package/dist/chunks/{calendar-days-D95Vh8Id.mjs.map → calendar-days-BF4GDmMr.mjs.map} +1 -1
  60. package/dist/chunks/{card-BCce9vjU.mjs → card-Cuo7NL8y.mjs} +2 -2
  61. package/dist/chunks/{card-BCce9vjU.mjs.map → card-Cuo7NL8y.mjs.map} +1 -1
  62. package/dist/chunks/{check-F6R3Zyjv.mjs → check-CzKqQLNR.mjs} +2 -2
  63. package/dist/chunks/{check-F6R3Zyjv.mjs.map → check-CzKqQLNR.mjs.map} +1 -1
  64. package/dist/chunks/{checkbox-BONbXOR8.mjs → checkbox-C7RUdsIS.mjs} +9 -11
  65. package/dist/chunks/{checkbox-BONbXOR8.mjs.map → checkbox-C7RUdsIS.mjs.map} +1 -1
  66. package/dist/chunks/{chevron-down-CAAkkaxH.mjs → chevron-down-CZjN_vyX.mjs} +2 -2
  67. package/dist/chunks/{chevron-down-CAAkkaxH.mjs.map → chevron-down-CZjN_vyX.mjs.map} +1 -1
  68. package/dist/chunks/{chevron-left-D9H1SFsq.mjs → chevron-left-BpfBwM4S.mjs} +2 -2
  69. package/dist/chunks/{chevron-left-D9H1SFsq.mjs.map → chevron-left-BpfBwM4S.mjs.map} +1 -1
  70. package/dist/chunks/{chevron-right-BBzqWfgU.mjs → chevron-right-uq-O8rwC.mjs} +2 -2
  71. package/dist/chunks/{chevron-right-BBzqWfgU.mjs.map → chevron-right-uq-O8rwC.mjs.map} +1 -1
  72. package/dist/chunks/{chevrons-up-down-qNyleCLF.mjs → chevrons-up-down-DKM8h8j_.mjs} +2 -2
  73. package/dist/chunks/{chevrons-up-down-qNyleCLF.mjs.map → chevrons-up-down-DKM8h8j_.mjs.map} +1 -1
  74. package/dist/chunks/{command-IbA1nxIb.mjs → command-CAS791lb.mjs} +8 -8
  75. package/dist/chunks/{command-IbA1nxIb.mjs.map → command-CAS791lb.mjs.map} +1 -1
  76. package/dist/chunks/{createLucideIcon-0uwxvfEG.mjs → createLucideIcon-xkRZC0aJ.mjs} +1 -1
  77. package/dist/chunks/{createLucideIcon-0uwxvfEG.mjs.map → createLucideIcon-xkRZC0aJ.mjs.map} +1 -1
  78. package/dist/chunks/{date-BBTPAd8S.mjs → date-DYEUxjwi.mjs} +2 -2
  79. package/dist/chunks/{date-BBTPAd8S.mjs.map → date-DYEUxjwi.mjs.map} +1 -1
  80. package/dist/chunks/{dialog-B2DUrpTa.mjs → dialog-Dt_M700u.mjs} +4 -4
  81. package/dist/chunks/{dialog-B2DUrpTa.mjs.map → dialog-Dt_M700u.mjs.map} +1 -1
  82. package/dist/chunks/{ellipsis-DvX337aw.mjs → ellipsis-BcRZkfZw.mjs} +2 -2
  83. package/dist/chunks/{ellipsis-DvX337aw.mjs.map → ellipsis-BcRZkfZw.mjs.map} +1 -1
  84. package/dist/chunks/{form-CChLO9RR.mjs → form-CJnoOgoH.mjs} +299 -150
  85. package/dist/chunks/form-CJnoOgoH.mjs.map +1 -0
  86. package/dist/chunks/{format-4Jz4C5tC.mjs → format-BSPAt__h.mjs} +1 -1
  87. package/dist/chunks/{format-4Jz4C5tC.mjs.map → format-BSPAt__h.mjs.map} +1 -1
  88. package/dist/chunks/{format-numbers-BhgU0ZHz.mjs → format-numbers-BpGX211b.mjs} +2 -6
  89. package/dist/chunks/format-numbers-BpGX211b.mjs.map +1 -0
  90. package/dist/chunks/{hover-card-DX4d068Z.mjs → hover-card-DKMcpBnt.mjs} +9 -11
  91. package/dist/chunks/{hover-card-DX4d068Z.mjs.map → hover-card-DKMcpBnt.mjs.map} +1 -1
  92. package/dist/chunks/{index-6TVIC1_R.mjs → index-0DBJW078.mjs} +2 -2
  93. package/dist/chunks/{index-6TVIC1_R.mjs.map → index-0DBJW078.mjs.map} +1 -1
  94. package/dist/chunks/{index-Bx0xXTid.mjs → index-7wUPkpwA.mjs} +9 -11
  95. package/dist/chunks/{index-Bx0xXTid.mjs.map → index-7wUPkpwA.mjs.map} +1 -1
  96. package/dist/chunks/{index-Bewwph0a.mjs → index-9921_a2g.mjs} +1 -1
  97. package/dist/chunks/{index-Bewwph0a.mjs.map → index-9921_a2g.mjs.map} +1 -1
  98. package/dist/chunks/{index-CkRZ2gKz.mjs → index-B49Rv10M.mjs} +1 -1
  99. package/dist/chunks/{index-CkRZ2gKz.mjs.map → index-B49Rv10M.mjs.map} +1 -1
  100. package/dist/chunks/{index-na6H-GCB.mjs → index-B8pOe-bI.mjs} +13 -15
  101. package/dist/chunks/{index-na6H-GCB.mjs.map → index-B8pOe-bI.mjs.map} +1 -1
  102. package/dist/chunks/{index-DpW61g8q.mjs → index-B8zlei3I.mjs} +1 -1
  103. package/dist/chunks/{index-DpW61g8q.mjs.map → index-B8zlei3I.mjs.map} +1 -1
  104. package/dist/chunks/{index-CWI00LgK.mjs → index-BpZD69GD.mjs} +2 -2
  105. package/dist/chunks/{index-CWI00LgK.mjs.map → index-BpZD69GD.mjs.map} +1 -1
  106. package/dist/chunks/{index-BSGOnYAL.mjs → index-BtdTgi0_.mjs} +1 -1
  107. package/dist/chunks/{index-BSGOnYAL.mjs.map → index-BtdTgi0_.mjs.map} +1 -1
  108. package/dist/chunks/{index-YaCKvBnb.mjs → index-Cm5-jAR7.mjs} +38 -2
  109. package/dist/chunks/index-Cm5-jAR7.mjs.map +1 -0
  110. package/dist/chunks/{index-Ch8cepWA.mjs → index-CsC-dafu.mjs} +3 -3
  111. package/dist/chunks/{index-Ch8cepWA.mjs.map → index-CsC-dafu.mjs.map} +1 -1
  112. package/dist/chunks/{index-DR3ok_zE.mjs → index-CuEeN4AG.mjs} +6 -7
  113. package/dist/chunks/{index-DR3ok_zE.mjs.map → index-CuEeN4AG.mjs.map} +1 -1
  114. package/dist/chunks/{index-CO3WOWY2.mjs → index-CvWc6WZ4.mjs} +7 -9
  115. package/dist/chunks/{index-CO3WOWY2.mjs.map → index-CvWc6WZ4.mjs.map} +1 -1
  116. package/dist/chunks/{index-CYpZ8qGv.mjs → index-DSBOi0JP.mjs} +4 -5
  117. package/dist/chunks/{index-CYpZ8qGv.mjs.map → index-DSBOi0JP.mjs.map} +1 -1
  118. package/dist/chunks/{index-F1Vay3hL.mjs → index-DWtzT31F.mjs} +2 -2
  119. package/dist/chunks/{index-F1Vay3hL.mjs.map → index-DWtzT31F.mjs.map} +1 -1
  120. package/dist/chunks/{index-DCv7HM9c.mjs → index-DaifcY5X.mjs} +7 -9
  121. package/dist/chunks/{index-DCv7HM9c.mjs.map → index-DaifcY5X.mjs.map} +1 -1
  122. package/dist/chunks/{index-BrfogwJw.mjs → index-DjoMuta5.mjs} +1 -1
  123. package/dist/chunks/{index-BrfogwJw.mjs.map → index-DjoMuta5.mjs.map} +1 -1
  124. package/dist/chunks/{index-utzX5BKz.mjs → index-Dn87UbZu.mjs} +2 -2
  125. package/dist/chunks/{index-utzX5BKz.mjs.map → index-Dn87UbZu.mjs.map} +1 -1
  126. package/dist/chunks/{index-CrXpydfv.mjs → index-G8uUqzC7.mjs} +12 -2
  127. package/dist/chunks/index-G8uUqzC7.mjs.map +1 -0
  128. package/dist/chunks/{index-D2G_PixC.mjs → index-SJQIKyxi.mjs} +1 -1
  129. package/dist/chunks/{index-D2G_PixC.mjs.map → index-SJQIKyxi.mjs.map} +1 -1
  130. package/dist/chunks/{index-Dw0VFoXM.mjs → index-fcmnzZn6.mjs} +12 -5
  131. package/dist/chunks/index-fcmnzZn6.mjs.map +1 -0
  132. package/dist/chunks/{index-cxmuS08t.mjs → index-zv8c0UAU.mjs} +3 -3
  133. package/dist/chunks/{index-cxmuS08t.mjs.map → index-zv8c0UAU.mjs.map} +1 -1
  134. package/dist/chunks/index.module-B_Z75X1e.mjs +73 -0
  135. package/dist/chunks/index.module-B_Z75X1e.mjs.map +1 -0
  136. package/dist/chunks/{input-DA9gkhwB.mjs → input-NILUGijL.mjs} +2 -2
  137. package/dist/chunks/{input-DA9gkhwB.mjs.map → input-NILUGijL.mjs.map} +1 -1
  138. package/dist/chunks/input-otp-b-7MmY2H.mjs +455 -0
  139. package/dist/chunks/input-otp-b-7MmY2H.mjs.map +1 -0
  140. package/dist/chunks/{label-BgC413_9.mjs → label-81mjh4Q4.mjs} +44 -3
  141. package/dist/chunks/label-81mjh4Q4.mjs.map +1 -0
  142. package/dist/chunks/{loader-circle-CmQoMw39.mjs → loader-circle-sGBNpyP3.mjs} +2 -2
  143. package/dist/chunks/{loader-circle-CmQoMw39.mjs.map → loader-circle-sGBNpyP3.mjs.map} +1 -1
  144. package/dist/chunks/{menubar-DU7jMSAY.mjs → menubar-Dz5biTZv.mjs} +11 -13
  145. package/dist/chunks/{menubar-DU7jMSAY.mjs.map → menubar-Dz5biTZv.mjs.map} +1 -1
  146. package/dist/chunks/{multi-select-QKfLMC0m.mjs → multi-select-DeW-tL6j.mjs} +13 -13
  147. package/dist/chunks/{multi-select-QKfLMC0m.mjs.map → multi-select-DeW-tL6j.mjs.map} +1 -1
  148. package/dist/chunks/{pagination-zyJ5vFmL.mjs → pagination-0W2Kek6Z.mjs} +6 -6
  149. package/dist/chunks/{pagination-zyJ5vFmL.mjs.map → pagination-0W2Kek6Z.mjs.map} +1 -1
  150. package/dist/chunks/{popover-RcJ808cy.mjs → popover-ChoMUAP9.mjs} +11 -13
  151. package/dist/chunks/{popover-RcJ808cy.mjs.map → popover-ChoMUAP9.mjs.map} +1 -1
  152. package/dist/chunks/progress-zrBdDKEV.mjs +223 -0
  153. package/dist/chunks/progress-zrBdDKEV.mjs.map +1 -0
  154. package/dist/chunks/radio-group-r3ejuIom.mjs +258 -0
  155. package/dist/chunks/radio-group-r3ejuIom.mjs.map +1 -0
  156. package/dist/chunks/{react-number-format.es-CyaQTuwn.mjs → react-number-format.es-rRpdCutF.mjs} +1 -1
  157. package/dist/chunks/{react-number-format.es-CyaQTuwn.mjs.map → react-number-format.es-rRpdCutF.mjs.map} +1 -1
  158. package/dist/chunks/{scroll-area-DUSbQJic.mjs → scroll-area-DjtXX0pm.mjs} +9 -11
  159. package/dist/chunks/{scroll-area-DUSbQJic.mjs.map → scroll-area-DjtXX0pm.mjs.map} +1 -1
  160. package/dist/chunks/{select-DqpIJliN.mjs → select-CICQavYx.mjs} +5 -5
  161. package/dist/chunks/{select-DqpIJliN.mjs.map → select-CICQavYx.mjs.map} +1 -1
  162. package/dist/chunks/{separator-h4204yqZ.mjs → separator-CL28DVoA.mjs} +44 -3
  163. package/dist/chunks/separator-CL28DVoA.mjs.map +1 -0
  164. package/dist/chunks/{sheet-ChrvUpAV.mjs → sheet-BIN5Bwkz.mjs} +4 -4
  165. package/dist/chunks/{sheet-ChrvUpAV.mjs.map → sheet-BIN5Bwkz.mjs.map} +1 -1
  166. package/dist/chunks/{skeleton-DYRcDQga.mjs → skeleton-DEo09dsp.mjs} +2 -2
  167. package/dist/chunks/{skeleton-DYRcDQga.mjs.map → skeleton-DEo09dsp.mjs.map} +1 -1
  168. package/dist/chunks/slider-C_afdOBq.mjs +588 -0
  169. package/dist/chunks/slider-C_afdOBq.mjs.map +1 -0
  170. package/dist/chunks/{sortable-B9EKkKQQ.mjs → sortable-Hz2p-hG_.mjs} +3 -3
  171. package/dist/chunks/{sortable-B9EKkKQQ.mjs.map → sortable-Hz2p-hG_.mjs.map} +1 -1
  172. package/dist/chunks/styles-DQr_CtBg.mjs +6 -0
  173. package/dist/chunks/styles-DQr_CtBg.mjs.map +1 -0
  174. package/dist/chunks/switch-CoxjUYji.mjs +138 -0
  175. package/dist/chunks/switch-CoxjUYji.mjs.map +1 -0
  176. package/dist/chunks/{table-Bf_4RiC6.mjs → table-CaTzvnGO.mjs} +2 -2
  177. package/dist/chunks/{table-Bf_4RiC6.mjs.map → table-CaTzvnGO.mjs.map} +1 -1
  178. package/dist/chunks/{tabs-BH56W9Uk.mjs → tabs-DbcqE74l.mjs} +9 -10
  179. package/dist/chunks/{tabs-BH56W9Uk.mjs.map → tabs-DbcqE74l.mjs.map} +1 -1
  180. package/dist/chunks/{textarea-D1VTvn_8.mjs → textarea-C99bTFre.mjs} +2 -2
  181. package/dist/chunks/{textarea-D1VTvn_8.mjs.map → textarea-C99bTFre.mjs.map} +1 -1
  182. package/dist/chunks/{toggle-DPn3fWo1.mjs → toggle-x7-6JYvP.mjs} +4 -5
  183. package/dist/chunks/{toggle-DPn3fWo1.mjs.map → toggle-x7-6JYvP.mjs.map} +1 -1
  184. package/dist/chunks/{tooltip-DL6xVJHi.mjs → tooltip-aCFcTWvT.mjs} +11 -13
  185. package/dist/chunks/{tooltip-DL6xVJHi.mjs.map → tooltip-aCFcTWvT.mjs.map} +1 -1
  186. package/dist/chunks/{trash-2-B6-kuqxf.mjs → trash-2-BRTBRPsE.mjs} +2 -2
  187. package/dist/chunks/{trash-2-B6-kuqxf.mjs.map → trash-2-BRTBRPsE.mjs.map} +1 -1
  188. package/dist/chunks/{triangle-alert-Gr8soT6b.mjs → triangle-alert-DEr_0gbo.mjs} +2 -2
  189. package/dist/chunks/{triangle-alert-Gr8soT6b.mjs.map → triangle-alert-DEr_0gbo.mjs.map} +1 -1
  190. package/dist/chunks/{tslib.es6-Bf7t9JE-.mjs → tslib.es6-9fTryOSE.mjs} +1 -1
  191. package/dist/chunks/{tslib.es6-Bf7t9JE-.mjs.map → tslib.es6-9fTryOSE.mjs.map} +1 -1
  192. package/dist/chunks/{utils-BOlqGJrg.mjs → utils-M7D-rn0u.mjs} +2 -2
  193. package/dist/chunks/{utils-BOlqGJrg.mjs.map → utils-M7D-rn0u.mjs.map} +1 -1
  194. package/dist/chunks/{wand-sparkles-BOLdCXYe.mjs → wand-sparkles-cr6EaHA_.mjs} +2 -2
  195. package/dist/chunks/{wand-sparkles-BOLdCXYe.mjs.map → wand-sparkles-cr6EaHA_.mjs.map} +1 -1
  196. package/dist/chunks/{x-DWHixXf6.mjs → x-Heb3hHKJ.mjs} +2 -2
  197. package/dist/chunks/{x-DWHixXf6.mjs.map → x-Heb3hHKJ.mjs.map} +1 -1
  198. package/dist/collapsible/index.mjs +8 -10
  199. package/dist/collapsible/index.mjs.map +1 -1
  200. package/dist/combobox/index.mjs +25 -27
  201. package/dist/combobox/index.mjs.map +1 -1
  202. package/dist/command/index.mjs +19 -21
  203. package/dist/command/index.mjs.map +1 -1
  204. package/dist/context-menu/index.mjs +21 -23
  205. package/dist/context-menu/index.mjs.map +1 -1
  206. package/dist/dash/index.mjs +25 -26
  207. package/dist/dash/index.mjs.map +1 -1
  208. package/dist/data-table/index.mjs +33 -35
  209. package/dist/data-table/index.mjs.map +1 -1
  210. package/dist/date-picker/index.mjs +26 -28
  211. package/dist/date-picker/index.mjs.map +1 -1
  212. package/dist/dialog/index.mjs +18 -20
  213. package/dist/dialog/index.mjs.map +1 -1
  214. package/dist/drawer/index.mjs +15 -17
  215. package/dist/drawer/index.mjs.map +1 -1
  216. package/dist/dropdown-menu/index.mjs +21 -23
  217. package/dist/dropdown-menu/index.mjs.map +1 -1
  218. package/dist/dropzone/index.mjs +16 -18
  219. package/dist/dropzone/index.mjs.map +1 -1
  220. package/dist/editable-table/index.mjs +52 -30
  221. package/dist/editable-table/index.mjs.map +1 -1
  222. package/dist/empty/index.mjs +2 -2
  223. package/dist/field/index.mjs +4 -5
  224. package/dist/field/index.mjs.map +1 -1
  225. package/dist/form/index.mjs +4 -5
  226. package/dist/form/index.mjs.map +1 -1
  227. package/dist/form-fields/index.mjs +27 -29
  228. package/dist/form-fields/index.mjs.map +1 -1
  229. package/dist/form-layout/index.d.ts +85 -0
  230. package/dist/form-layout/index.mjs +534 -0
  231. package/dist/form-layout/index.mjs.map +1 -0
  232. package/dist/hover-card/index.mjs +14 -16
  233. package/dist/hover-card/index.mjs.map +1 -1
  234. package/dist/icon/index.mjs +1 -1
  235. package/dist/index.css +1 -1
  236. package/dist/input/index.mjs +3 -3
  237. package/dist/input-group/index.mjs +5 -5
  238. package/dist/input-otp/index.mjs +5 -455
  239. package/dist/input-otp/index.mjs.map +1 -1
  240. package/dist/item/index.mjs +3 -4
  241. package/dist/item/index.mjs.map +1 -1
  242. package/dist/ivt.css +1 -1
  243. package/dist/kbd/index.mjs +2 -2
  244. package/dist/label/index.mjs +3 -4
  245. package/dist/label/index.mjs.map +1 -1
  246. package/dist/layout/index.mjs +22 -24
  247. package/dist/layout/index.mjs.map +1 -1
  248. package/dist/menubar/index.mjs +22 -24
  249. package/dist/menubar/index.mjs.map +1 -1
  250. package/dist/multi-input-list/index.d.ts +0 -1
  251. package/dist/multi-input-list/index.mjs +31 -39
  252. package/dist/multi-input-list/index.mjs.map +1 -1
  253. package/dist/multi-select/index.mjs +32 -34
  254. package/dist/multi-select/index.mjs.map +1 -1
  255. package/dist/navigation-menu/index.mjs +15 -17
  256. package/dist/navigation-menu/index.mjs.map +1 -1
  257. package/dist/pagination/index.mjs +8 -8
  258. package/dist/popover/index.mjs +17 -19
  259. package/dist/popover/index.mjs.map +1 -1
  260. package/dist/progress/index.mjs +3 -5
  261. package/dist/progress/index.mjs.map +1 -1
  262. package/dist/radio-group/index.mjs +18 -264
  263. package/dist/radio-group/index.mjs.map +1 -1
  264. package/dist/resizable/index.mjs +3 -3
  265. package/dist/scroll-area/index.mjs +10 -12
  266. package/dist/scroll-area/index.mjs.map +1 -1
  267. package/dist/select/index.mjs +6 -6
  268. package/dist/separator/index.mjs +3 -4
  269. package/dist/separator/index.mjs.map +1 -1
  270. package/dist/shared/index.mjs +5 -5
  271. package/dist/sheet/index.mjs +18 -20
  272. package/dist/sheet/index.mjs.map +1 -1
  273. package/dist/sidebar/index.mjs +26 -28
  274. package/dist/sidebar/index.mjs.map +1 -1
  275. package/dist/skeleton/index.mjs +3 -3
  276. package/dist/skeleton-component/index.mjs +4 -4
  277. package/dist/slider/index.mjs +14 -591
  278. package/dist/slider/index.mjs.map +1 -1
  279. package/dist/sortable/index.mjs +4 -4
  280. package/dist/spinner/index.mjs +4 -4
  281. package/dist/switch/index.mjs +11 -141
  282. package/dist/switch/index.mjs.map +1 -1
  283. package/dist/table/index.mjs +3 -3
  284. package/dist/table-filter/index.mjs +53 -54
  285. package/dist/table-filter/index.mjs.map +1 -1
  286. package/dist/tabs/index.mjs +14 -16
  287. package/dist/tabs/index.mjs.map +1 -1
  288. package/dist/textarea/index.mjs +3 -3
  289. package/dist/toast/index.mjs +13 -15
  290. package/dist/toast/index.mjs.map +1 -1
  291. package/dist/toggle/index.mjs +6 -7
  292. package/dist/toggle/index.mjs.map +1 -1
  293. package/dist/toggle-group/index.mjs +11 -13
  294. package/dist/toggle-group/index.mjs.map +1 -1
  295. package/dist/tooltip/index.mjs +16 -18
  296. package/dist/tooltip/index.mjs.map +1 -1
  297. package/package.json +475 -470
  298. package/dist/chunks/_commonjsHelpers-D3vrMN3C.mjs.map +0 -1
  299. package/dist/chunks/bundle-mjs-Lvc-Dri9.mjs.map +0 -1
  300. package/dist/chunks/calendar-BTfcQ69r.mjs.map +0 -1
  301. package/dist/chunks/form-CChLO9RR.mjs.map +0 -1
  302. package/dist/chunks/format-numbers-BhgU0ZHz.mjs.map +0 -1
  303. package/dist/chunks/index-BeWMIyGj.mjs +0 -12
  304. package/dist/chunks/index-BeWMIyGj.mjs.map +0 -1
  305. package/dist/chunks/index-CrXpydfv.mjs.map +0 -1
  306. package/dist/chunks/index-D5BJ_0bf.mjs +0 -40
  307. package/dist/chunks/index-D5BJ_0bf.mjs.map +0 -1
  308. package/dist/chunks/index-Dw0VFoXM.mjs.map +0 -1
  309. package/dist/chunks/index-YaCKvBnb.mjs.map +0 -1
  310. package/dist/chunks/index.module-DOV7zOvH.mjs +0 -68
  311. package/dist/chunks/index.module-DOV7zOvH.mjs.map +0 -1
  312. package/dist/chunks/label-BgC413_9.mjs.map +0 -1
  313. package/dist/chunks/progress-BcHalZVV.mjs +0 -99
  314. package/dist/chunks/progress-BcHalZVV.mjs.map +0 -1
  315. package/dist/chunks/separator-h4204yqZ.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
- const classParts = className.split(CLASS_PART_SEPARATOR);
7
- // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.
8
- if (classParts[0] === '' && classParts.length !== 1) {
9
- classParts.shift();
33
+ if (className.startsWith('[') && className.endsWith(']')) {
34
+ return getGroupIdForArbitraryProperty(className);
10
35
  }
11
- return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
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
- const conflicts = conflictingClassGroups[classGroupId] || [];
15
- if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
16
- return [
17
- ...conflicts,
18
- ...conflictingClassGroupModifiers[classGroupId]
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 conflicts;
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
- if (classParts.length === 0) {
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[0];
68
+ const currentClassPart = classParts[startIndex];
33
69
  const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
34
- const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
35
- if (classGroupFromNextClassPart) {
36
- return classGroupFromNextClassPart;
70
+ if (nextClassPartObject) {
71
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
72
+ if (result) return result;
37
73
  }
38
- if (classPartObject.validators.length === 0) {
74
+ const validators = classPartObject.validators;
75
+ if (validators === null) {
39
76
  return undefined;
40
77
  }
41
- const classRest = classParts.join(CLASS_PART_SEPARATOR);
42
- return classPartObject.validators.find(({ validator })=>validator(classRest))?.classGroupId;
43
- };
44
- const arbitraryPropertyRegex = /^\[(.+)\]$/;
45
- const getGroupIdForArbitraryProperty = (className)=>{
46
- if (arbitraryPropertyRegex.test(className)) {
47
- const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
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
- const classMap = {
60
- nextPart: new Map(),
61
- validators: []
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
- processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);
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.forEach((classDefinition)=>{
70
- if (typeof classDefinition === 'string') {
71
- const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
72
- classPartObjectToEdit.classGroupId = classGroupId;
73
- return;
74
- }
75
- if (typeof classDefinition === 'function') {
76
- if (isThemeGetter(classDefinition)) {
77
- processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
78
- return;
79
- }
80
- classPartObject.validators.push({
81
- validator: classDefinition,
82
- classGroupId
83
- });
84
- return;
85
- }
86
- Object.entries(classDefinition).forEach(([key, classGroup])=>{
87
- processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
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 currentClassPartObject = classPartObject;
93
- path.split(CLASS_PART_SEPARATOR).forEach((pathPart)=>{
94
- if (!currentClassPartObject.nextPart.has(pathPart)) {
95
- currentClassPartObject.nextPart.set(pathPart, {
96
- nextPart: new Map(),
97
- validators: []
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
- currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
101
- });
102
- return currentClassPartObject;
166
+ current = next;
167
+ }
168
+ return current;
103
169
  };
104
- const isThemeGetter = (func)=>func.isThemeGetter;
105
- // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
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 = new Map();
115
- let previousCache = new Map();
181
+ let cache = Object.create(null);
182
+ let previousCache = Object.create(null);
116
183
  const update = (key, value)=>{
117
- cache.set(key, value);
184
+ cache[key] = value;
118
185
  cacheSize++;
119
186
  if (cacheSize > maxCacheSize) {
120
187
  cacheSize = 0;
121
188
  previousCache = cache;
122
- cache = new Map();
189
+ cache = Object.create(null);
123
190
  }
124
191
  };
125
192
  return {
126
193
  get (key) {
127
- let value = cache.get(key);
194
+ let value = cache[key];
128
195
  if (value !== undefined) {
129
196
  return value;
130
197
  }
131
- if ((value = previousCache.get(key)) !== undefined) {
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.has(key)) {
138
- cache.set(key, value);
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 MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;
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
- for(let index = 0; index < className.length; index++){
162
- let currentCharacter = className[index];
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 + MODIFIER_SEPARATOR_LENGTH;
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
- bracketDepth++;
176
- } else if (currentCharacter === ']') {
177
- bracketDepth--;
178
- } else if (currentCharacter === '(') {
179
- parenDepth++;
180
- } else if (currentCharacter === ')') {
181
- parenDepth--;
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.substring(fullPrefix.length)) : {
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
- const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map((modifier)=>[
233
- modifier,
234
- true
235
- ]));
236
- const sortModifiers = (modifiers)=>{
237
- if (modifiers.length <= 1) {
238
- return modifiers;
239
- }
240
- const sortedModifiers = [];
241
- let unsortedModifiers = [];
242
- modifiers.forEach((modifier)=>{
243
- const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];
244
- if (isPositionSensitive) {
245
- sortedModifiers.push(...unsortedModifiers.sort(), modifier);
246
- unsortedModifiers = [];
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
- unsortedModifiers.push(modifier);
316
+ // Regular modifier - add to current segment for batch sorting
317
+ currentSegment.push(modifier);
249
318
  }
250
- });
251
- sortedModifiers.push(...unsortedModifiers.sort());
252
- return sortedModifiers;
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
- const variantModifier = sortModifiers(modifiers).join(':');
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.includes(classId)) {
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
- */ function twJoin() {
395
+ */ const twJoin = (...classLists)=>{
323
396
  let index = 0;
324
397
  let argument;
325
398
  let resolvedValue;
326
399
  let string = '';
327
- while(index < arguments.length){
328
- if (argument = arguments[index++]) {
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
- function createTailwindMerge(createConfigFirst, ...createConfigRest) {
427
+ const createTailwindMerge = (createConfigFirst, ...createConfigRest)=>{
354
428
  let configUtils;
355
429
  let cacheGet;
356
430
  let cacheSet;
357
- let functionToCall = initTailwindMerge;
358
- function initTailwindMerge(classList) {
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
- function tailwindMerge(classList) {
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-Lvc-Dri9.mjs.map
4565
+ //# sourceMappingURL=bundle-mjs-B1dpl-bk.mjs.map