bromcom-ui 2.12.1-test.1 → 3.0.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/dist/bromcom-ui/bromcom-ui.css +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  3. package/dist/bromcom-ui/p-0125212b.entry.js +5 -0
  4. package/dist/bromcom-ui/{p-91b72db1.js → p-014f7aa2.js} +1 -1
  5. package/dist/bromcom-ui/{p-c66192fb.entry.js → p-0167c2cc.entry.js} +1 -1
  6. package/dist/bromcom-ui/p-033f2926.entry.js +5 -0
  7. package/dist/bromcom-ui/{p-7d18ce0e.entry.js → p-0c494f44.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-3440e8b9.js → p-0e65fd54.js} +1 -1
  9. package/dist/bromcom-ui/p-14ed2c86.js +5 -0
  10. package/dist/bromcom-ui/{p-7c5763cc.entry.js → p-1ca7e1a1.entry.js} +1 -1
  11. package/dist/bromcom-ui/{p-053dc717.entry.js → p-1d577d30.entry.js} +1 -1
  12. package/dist/bromcom-ui/p-2032843f.entry.js +5 -0
  13. package/dist/bromcom-ui/{p-2aaeb247.entry.js → p-23c01e93.entry.js} +1 -1
  14. package/dist/bromcom-ui/p-2663c49f.entry.js +5 -0
  15. package/dist/bromcom-ui/{p-bdc78a44.entry.js → p-2903e611.entry.js} +1 -1
  16. package/dist/bromcom-ui/p-2ecb8899.entry.js +5 -0
  17. package/dist/bromcom-ui/p-31368d21.entry.js +5 -0
  18. package/dist/bromcom-ui/p-370b6020.entry.js +5 -0
  19. package/dist/bromcom-ui/{p-9850cbce.js → p-397c1438.js} +1 -1
  20. package/dist/bromcom-ui/p-3a944947.entry.js +5 -0
  21. package/dist/bromcom-ui/{p-9e755088.entry.js → p-3aa7e1ce.entry.js} +1 -1
  22. package/dist/bromcom-ui/{p-4e5491bc.entry.js → p-3db88841.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-d6dd26f2.entry.js → p-3f4d5368.entry.js} +1 -1
  24. package/dist/bromcom-ui/{p-bcf286cb.js → p-403d3912.js} +1 -1
  25. package/dist/bromcom-ui/p-40871628.js +5 -0
  26. package/dist/bromcom-ui/p-4254234c.entry.js +5 -0
  27. package/dist/bromcom-ui/p-42a7244e.entry.js +5 -0
  28. package/dist/bromcom-ui/p-4c5168fe.js +5 -0
  29. package/dist/bromcom-ui/{p-69260d36.entry.js → p-51341d24.entry.js} +1 -1
  30. package/dist/bromcom-ui/{p-0bda558d.js → p-588ba8fc.js} +1 -1
  31. package/dist/bromcom-ui/{p-678b25bb.entry.js → p-58fa6ecf.entry.js} +1 -1
  32. package/dist/bromcom-ui/p-5a65b538.js +5 -0
  33. package/dist/bromcom-ui/p-5f74f707.js +5 -0
  34. package/dist/bromcom-ui/{p-35f2e15a.js → p-5fbbf611.js} +1 -1
  35. package/dist/bromcom-ui/p-66d74084.js +5 -0
  36. package/dist/bromcom-ui/p-74912375.js +5 -0
  37. package/dist/bromcom-ui/p-7fa410eb.entry.js +5 -0
  38. package/dist/bromcom-ui/{p-626b805d.entry.js → p-87291a4f.entry.js} +1 -1
  39. package/dist/bromcom-ui/p-8d2e1aea.entry.js +5 -0
  40. package/dist/bromcom-ui/p-9acc7a1c.entry.js +5 -0
  41. package/dist/bromcom-ui/p-9f913f3e.entry.js +5 -0
  42. package/dist/bromcom-ui/{p-0def72fe.entry.js → p-a02650af.entry.js} +1 -1
  43. package/dist/bromcom-ui/p-aa370552.js +5 -0
  44. package/dist/bromcom-ui/{p-ef04fd6b.entry.js → p-ac200139.entry.js} +1 -1
  45. package/dist/bromcom-ui/p-afe35470.entry.js +16 -0
  46. package/dist/bromcom-ui/p-affe097a.entry.js +5 -0
  47. package/dist/bromcom-ui/{p-0ce727a4.entry.js → p-b702f1e5.entry.js} +1 -1
  48. package/dist/bromcom-ui/p-bc6ecf66.entry.js +5 -0
  49. package/dist/bromcom-ui/{p-9f8aed8c.entry.js → p-bdda1f76.entry.js} +1 -1
  50. package/dist/bromcom-ui/p-bde34843.entry.js +5 -0
  51. package/dist/bromcom-ui/{p-f0e30624.entry.js → p-c187994f.entry.js} +1 -1
  52. package/dist/bromcom-ui/p-cc583dbc.js +5 -0
  53. package/dist/bromcom-ui/p-ccc61045.js +5 -0
  54. package/dist/bromcom-ui/{p-67343ad8.entry.js → p-cd12ef44.entry.js} +1 -1
  55. package/dist/bromcom-ui/p-cf164584.js +5 -0
  56. package/dist/bromcom-ui/{p-594a57c3.entry.js → p-cfb0bdbe.entry.js} +1 -1
  57. package/dist/bromcom-ui/{p-d551a51d.entry.js → p-dc23865f.entry.js} +1 -1
  58. package/dist/bromcom-ui/p-ddf90943.entry.js +5 -0
  59. package/dist/bromcom-ui/{p-170cf07d.js → p-e3ce7150.js} +2 -2
  60. package/dist/bromcom-ui/p-e45072df.entry.js +5 -0
  61. package/dist/bromcom-ui/p-e747137c.entry.js +5 -0
  62. package/dist/bromcom-ui/{p-ba9eff2a.entry.js → p-e8f7282a.entry.js} +1 -1
  63. package/dist/bromcom-ui/{p-1c9314bd.entry.js → p-e9672b15.entry.js} +1 -1
  64. package/dist/bromcom-ui/p-ef34f278.entry.js +5 -0
  65. package/dist/bromcom-ui/{p-9a92e61e.entry.js → p-ef84ca66.entry.js} +1 -1
  66. package/dist/bromcom-ui/{p-38b02377.entry.js → p-ef8636fe.entry.js} +1 -1
  67. package/dist/bromcom-ui/p-f530cf23.js +5 -0
  68. package/dist/bromcom-ui/{p-5dea2654.entry.js → p-f65dae79.entry.js} +1 -1
  69. package/dist/bromcom-ui/p-f68a946f.js +5 -0
  70. package/dist/bromcom-ui/p-f9e5528f.entry.js +5 -0
  71. package/dist/bromcom-ui/{p-db2551ef.entry.js → p-fa1eae97.entry.js} +1 -1
  72. package/dist/bromcom-ui/{p-1c801d0c.entry.js → p-fb083e20.entry.js} +1 -1
  73. package/dist/bromcom-ui/p-fb490a1f.entry.js +5 -0
  74. package/dist/cjs/{bcm-1d1fcf21.js → bcm-51d38d17.js} +7 -1
  75. package/dist/cjs/{bcm-accordion_63.cjs.entry.js → bcm-accordion_68.cjs.entry.js} +2641 -1319
  76. package/dist/cjs/bcm-alert.cjs.entry.js +89 -75
  77. package/dist/cjs/bcm-arrow.cjs.entry.js +34 -0
  78. package/dist/cjs/bcm-attendance-actions-comment.cjs.entry.js +10 -9
  79. package/dist/cjs/bcm-attendance-actions-dropdown.cjs.entry.js +10 -9
  80. package/dist/cjs/bcm-autocomplete.cjs.entry.js +1 -1
  81. package/dist/cjs/bcm-box.cjs.entry.js +1 -1
  82. package/dist/cjs/bcm-breadcrumb.cjs.entry.js +3 -3
  83. package/dist/cjs/bcm-caption.cjs.entry.js +10 -9
  84. package/dist/cjs/bcm-card.cjs.entry.js +6 -6
  85. package/dist/cjs/bcm-chip-group.cjs.entry.js +15 -19
  86. package/dist/cjs/bcm-colorpicker.cjs.entry.js +1 -1
  87. package/dist/cjs/bcm-content.cjs.entry.js +1 -1
  88. package/dist/cjs/bcm-date-picker.cjs.entry.js +5 -5
  89. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +9 -9
  90. package/dist/cjs/bcm-default.cjs.entry.js +3 -3
  91. package/dist/cjs/bcm-error-layout.cjs.entry.js +1 -1
  92. package/dist/cjs/bcm-form-2.cjs.entry.js +6 -6
  93. package/dist/cjs/bcm-form-group.cjs.entry.js +1 -1
  94. package/dist/cjs/bcm-input-custom.cjs.entry.js +3 -3
  95. package/dist/cjs/bcm-input-dropdown.cjs.entry.js +10 -10
  96. package/dist/cjs/bcm-message.cjs.entry.js +1 -1
  97. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +8 -7
  98. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +8 -7
  99. package/dist/cjs/bcm-modal-2.cjs.entry.js +8 -7
  100. package/dist/cjs/bcm-notification.cjs.entry.js +1 -1
  101. package/dist/cjs/bcm-number-input.cjs.entry.js +12 -12
  102. package/dist/cjs/bcm-overlay_2.cjs.entry.js +1 -1
  103. package/dist/cjs/bcm-popconfirm-box-v2.cjs.entry.js +109 -0
  104. package/dist/cjs/bcm-popconfirm-host.cjs.entry.js +135 -0
  105. package/dist/cjs/bcm-range.cjs.entry.js +4 -4
  106. package/dist/cjs/bcm-react-number.cjs.entry.js +1 -1
  107. package/dist/cjs/bcm-resizable-pane.cjs.entry.js +42 -0
  108. package/dist/cjs/bcm-result-footer.cjs.entry.js +39 -0
  109. package/dist/cjs/bcm-result.cjs.entry.js +16 -47
  110. package/dist/cjs/bcm-segment-picker-item.cjs.entry.js +33 -0
  111. package/dist/cjs/bcm-segment-picker.cjs.entry.js +67 -0
  112. package/dist/cjs/bcm-select-group.cjs.entry.js +1 -1
  113. package/dist/cjs/bcm-select-option.cjs.entry.js +1 -1
  114. package/dist/cjs/bcm-skeleton.cjs.entry.js +8 -8
  115. package/dist/cjs/bcm-tab-pane.cjs.entry.js +1 -1
  116. package/dist/cjs/bcm-table.cjs.entry.js +9 -8
  117. package/dist/cjs/bcm-tabs-content.cjs.entry.js +1 -1
  118. package/dist/cjs/bcm-tag.cjs.entry.js +5 -5
  119. package/dist/cjs/bcm-time-picker.cjs.entry.js +5 -5
  120. package/dist/cjs/bcm-timeline-item.cjs.entry.js +1 -1
  121. package/dist/cjs/bcm-timeline.cjs.entry.js +1 -1
  122. package/dist/cjs/bcm-toast.cjs.entry.js +198 -42
  123. package/dist/cjs/bcm-treeview-group.cjs.entry.js +1 -1
  124. package/dist/cjs/bromcom-ui.cjs.js +4 -4
  125. package/dist/cjs/{caption-template-85a18b6d.js → caption-template-1ba40085.js} +10 -10
  126. package/dist/cjs/floating-ui-4c31473e.js +101 -0
  127. package/dist/{esm/floating-ui-3f4394da.js → cjs/floating-ui.dom.esm-f0638c44.js} +8 -93
  128. package/dist/cjs/{generate-920aff8f.js → generate-eda14f12.js} +13 -36
  129. package/dist/cjs/{global-1526173b.js → global-971b32f6.js} +2 -2
  130. package/dist/cjs/{index-c591ecec.js → index-bb6ac306.js} +3 -0
  131. package/dist/cjs/{index-5279dea2.js → index-d3b89435.js} +386 -347
  132. package/dist/cjs/{input.style-b5676e6a.js → input.style-3e8b7803.js} +16 -15
  133. package/dist/cjs/{is-load-decorator-15036f37.js → is-load-decorator-60805e8b.js} +1 -1
  134. package/dist/cjs/{label-template-e83447b5.js → label-template-540044c9.js} +8 -7
  135. package/dist/cjs/loader.cjs.js +4 -4
  136. package/dist/cjs/{number-helper-a99f8b57.js → number-helper-d14c9546.js} +1 -1
  137. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +10 -9
  138. package/dist/cjs/old-bcm-popover.cjs.entry.js +4 -4
  139. package/dist/cjs/{package-fc8c9633.js → package-f644e6eb.js} +1 -1
  140. package/dist/cjs/{popover-placement-d1aa81f0.js → popover-placement-3c0ad75e.js} +1 -1
  141. package/dist/cjs/popover.style-e390b5a1.js +108 -0
  142. package/dist/cjs/result.style-f58d0ac4.js +56 -0
  143. package/dist/cjs/segment-picker.style-ce057603.js +55 -0
  144. package/dist/cjs/{slot-template-29229e8f.js → slot-template-d02ae4e4.js} +2 -2
  145. package/dist/cjs/{string-helper-1ee6dc21.js → string-helper-cc89c9d6.js} +1 -1
  146. package/dist/cjs/types-e4c4d1b2.js +175 -0
  147. package/dist/collection/collection-manifest.json +15 -5
  148. package/dist/collection/components/atoms/{icon/icon.css → avatar/avatar.css} +4 -2
  149. package/dist/collection/components/atoms/avatar/avatar.js +13 -3
  150. package/dist/collection/components/atoms/avatar/avatar.style.js +6 -6
  151. package/dist/collection/components/{molecules/accordion/accordion.css → atoms/badge/badge.css} +3 -2
  152. package/dist/collection/components/atoms/badge/badge.js +10 -0
  153. package/dist/collection/components/atoms/badge/badge.style.js +10 -10
  154. package/dist/collection/components/atoms/button/button.css +11 -332
  155. package/dist/collection/components/atoms/button/button.js +429 -241
  156. package/dist/collection/components/atoms/button/button.style.js +89 -0
  157. package/dist/collection/components/atoms/chip/chip-group.js +2 -14
  158. package/dist/collection/components/atoms/chip/chip.css +11 -87
  159. package/dist/collection/components/atoms/chip/chip.js +84 -45
  160. package/dist/collection/components/atoms/chip/chip.style.js +99 -0
  161. package/dist/collection/components/atoms/divider/divider.js +7 -38
  162. package/dist/collection/components/atoms/divider/divider.style.js +19 -0
  163. package/dist/collection/components/atoms/icon/icon.js +14 -37
  164. package/dist/collection/components/atoms/label/label.js +21 -2
  165. package/dist/collection/components/atoms/link/link.js +132 -58
  166. package/dist/collection/components/atoms/link/link.style.js +39 -0
  167. package/dist/collection/components/molecules/accordion/accordion.js +3 -13
  168. package/dist/collection/components/molecules/alert/alert.js +118 -137
  169. package/dist/collection/components/molecules/alert/alert.style.js +65 -0
  170. package/dist/collection/components/molecules/checkbox/checkbox.css +10 -317
  171. package/dist/collection/components/molecules/checkbox/checkbox.js +119 -142
  172. package/dist/collection/components/molecules/checkbox/checkbox.style.js +156 -0
  173. package/dist/collection/components/molecules/{checkbox/group.js → checkbox-group/checkbox-group.js} +23 -40
  174. package/dist/collection/components/molecules/checkbox-group/checkbox-group.style.js +40 -0
  175. package/dist/collection/components/molecules/color-input/color-input.js +3 -1
  176. package/dist/collection/components/molecules/color-input/color-input.style.js +17 -0
  177. package/dist/collection/components/molecules/drawer/drawer.css +0 -81
  178. package/dist/collection/components/molecules/drawer/drawer.js +7 -13
  179. package/dist/collection/components/molecules/drawer/drawer.style.js +55 -0
  180. package/dist/collection/components/molecules/dropdown/dropdown.js +13 -7
  181. package/dist/collection/components/molecules/empty/empty.js +91 -3
  182. package/dist/collection/components/molecules/empty/empty.style.js +64 -0
  183. package/dist/collection/components/molecules/expansion-panel/bcm-expansion-panel-description.js +16 -0
  184. package/dist/collection/components/molecules/expansion-panel/bcm-expansion-panel-extra.js +16 -0
  185. package/dist/collection/components/molecules/expansion-panel/bcm-expansion-panel-header.js +16 -0
  186. package/dist/collection/components/molecules/expansion-panel/expansion-panel.js +91 -57
  187. package/dist/collection/components/molecules/expansion-panel/expansion-panel.style.js +91 -0
  188. package/dist/collection/components/molecules/input/input.js +78 -66
  189. package/dist/collection/components/molecules/input/input.style.js +15 -14
  190. package/dist/collection/components/molecules/menu/menu.js +14 -0
  191. package/dist/collection/components/molecules/modal/modal-footer.js +41 -0
  192. package/dist/collection/components/molecules/modal/modal-header.js +39 -0
  193. package/dist/collection/components/molecules/modal/modal.css +1 -139
  194. package/dist/collection/components/molecules/modal/modal.js +9 -16
  195. package/dist/collection/components/molecules/modal/modal.style.js +111 -0
  196. package/dist/collection/components/molecules/number-input/number-input.js +1 -1
  197. package/dist/collection/components/molecules/number-input/react-input.js +1 -1
  198. package/dist/collection/components/molecules/popconfirm/popconfirm-box.css +22 -6
  199. package/dist/collection/components/molecules/popconfirm/popconfirm-box.js +11 -9
  200. package/dist/collection/components/molecules/popconfirm-v2/pop-confirm-host.js +309 -0
  201. package/dist/collection/components/molecules/popconfirm-v2/popconf.style.js +57 -0
  202. package/dist/collection/components/molecules/popconfirm-v2/popconfirm-v2.js +201 -0
  203. package/dist/collection/components/molecules/popover/popover.js +3 -1
  204. package/dist/collection/components/molecules/popover/popover.style.js +42 -0
  205. package/dist/collection/components/molecules/radio/radio-group.js +6 -2
  206. package/dist/collection/components/molecules/radio/radio-group.style.js +37 -0
  207. package/dist/collection/components/{atoms/chip/chip-group.css → molecules/radio/radio.css} +9 -2
  208. package/dist/collection/components/molecules/radio/radio.js +21 -22
  209. package/dist/collection/components/molecules/radio/radio.style.js +67 -0
  210. package/dist/collection/components/molecules/result/result-footer.js +41 -0
  211. package/dist/collection/components/molecules/result/result.js +36 -65
  212. package/dist/collection/components/molecules/result/result.style.js +51 -0
  213. package/dist/collection/components/molecules/search/search.js +10 -13
  214. package/dist/collection/components/molecules/stepper/stepper.css +41 -35
  215. package/dist/collection/components/molecules/switch/switch.js +11 -24
  216. package/dist/collection/components/molecules/switch/switch.style.js +182 -0
  217. package/dist/collection/components/molecules/tab-group/tab-group.js +3 -28
  218. package/dist/collection/components/molecules/tab-group/tab-group.syle.js +63 -0
  219. package/dist/collection/components/molecules/tab-group/tab-item-header.js +7 -32
  220. package/dist/collection/components/molecules/tab-group/tab-item.js +7 -6
  221. package/dist/collection/components/molecules/textarea/textarea.js +55 -44
  222. package/dist/collection/components/molecules/textarea/textarea.style.js +122 -0
  223. package/dist/collection/components/molecules/tooltip/tooltip.js +5 -3
  224. package/dist/collection/components/molecules/tooltip/tooltip.style.js +38 -0
  225. package/dist/collection/components/organism/datetime-picker/datetime-picker.css +20 -20
  226. package/dist/collection/components/organism/list/list.css +73 -324
  227. package/dist/collection/components/organism/list/list.js +2 -2
  228. package/dist/collection/components/{molecules/checkbox/group.css → other/arrow/arrow.css} +24 -31
  229. package/dist/collection/components/other/arrow/arrow.js +70 -0
  230. package/dist/collection/components/other/resizable-pane/resizable-pane.js +79 -0
  231. package/dist/collection/components/other/segment-picker/segment-picker-item.js +158 -0
  232. package/dist/collection/components/other/segment-picker/segment-picker.js +252 -0
  233. package/dist/collection/components/other/segment-picker/segment-picker.style.js +50 -0
  234. package/dist/collection/components/other/shortcut/shortcut.js +12 -6
  235. package/dist/collection/components/other/shortcut/shortcut.style.js +38 -0
  236. package/dist/collection/components/other/toast/toast.js +15 -31
  237. package/dist/collection/components/other/toast/toast.style.js +176 -0
  238. package/dist/collection/components/other_deprecated/listbox/listbox-item.js +1 -1
  239. package/dist/collection/components/other_deprecated/listbox/listbox.js +1 -1
  240. package/dist/collection/components/other_deprecated/old-input/old-input.css +38 -24
  241. package/dist/collection/components/other_deprecated/old-input/old-input.js +4 -2
  242. package/dist/collection/components/other_deprecated/old-popover/old-popover-box.css +3 -2
  243. package/dist/collection/components/third-parts/colorful/colorful.css +0 -242
  244. package/dist/collection/components/third-parts/rc-picker/rc-picker.css +31 -27
  245. package/dist/collection/helper/generate.js +11 -16
  246. package/dist/collection/helper/index.js +1 -0
  247. package/dist/collection/helper/pop-confirm-helper.js +76 -0
  248. package/dist/collection/helper/popover-helper.js +8 -7
  249. package/dist/collection/helper/tooltip-helper.js +3 -15
  250. package/dist/collection/models/bcm.js +9 -1
  251. package/dist/collection/templates/caption-template.js +9 -9
  252. package/dist/collection/templates/checkbox-template.js +11 -16
  253. package/dist/collection/templates/icon-template.js +4 -19
  254. package/dist/collection/templates/info-footer-template.js +1 -1
  255. package/dist/collection/templates/label-template.js +6 -5
  256. package/dist/collection/templates/list-item-template.js +3 -2
  257. package/dist/components/avatar.js +17 -20
  258. package/dist/components/badge.js +16 -13
  259. package/dist/components/bcm-accordion.js +3 -6
  260. package/dist/components/bcm-alert.js +99 -88
  261. package/dist/components/{bcm-input-2.d.ts → bcm-arrow.d.ts} +4 -4
  262. package/dist/components/bcm-arrow.js +47 -0
  263. package/dist/components/bcm-attendance-actions-comment.js +3 -3
  264. package/dist/components/bcm-attendance-actions-dropdown.js +3 -3
  265. package/dist/components/bcm-attendance-actions.js +3 -3
  266. package/dist/components/bcm-autocomplete.js +6 -12
  267. package/dist/components/bcm-button-group.js +1 -1
  268. package/dist/components/bcm-caption.js +3 -2
  269. package/dist/components/bcm-checkbox-group.js +62 -40
  270. package/dist/components/bcm-chip-group.js +6 -9
  271. package/dist/components/bcm-color-input.js +17 -2
  272. package/dist/components/bcm-date-picker.js +2 -2
  273. package/dist/components/bcm-date.js +3 -2
  274. package/dist/components/bcm-drawer.js +61 -29
  275. package/dist/components/bcm-dropdown.js +3 -3
  276. package/dist/components/bcm-expansion-panel-description.d.ts +11 -0
  277. package/dist/components/bcm-expansion-panel-description.js +36 -0
  278. package/dist/components/bcm-expansion-panel-extra.d.ts +11 -0
  279. package/dist/components/bcm-expansion-panel-extra.js +36 -0
  280. package/dist/components/bcm-expansion-panel-header.d.ts +11 -0
  281. package/dist/components/bcm-expansion-panel-header.js +36 -0
  282. package/dist/components/bcm-expansion-panel.js +118 -52
  283. package/dist/components/bcm-form-2.js +1 -1
  284. package/dist/components/bcm-input-dropdown.js +4 -3
  285. package/dist/components/bcm-item.js +1 -1
  286. package/dist/components/bcm-modal-2-footer.js +1 -1
  287. package/dist/components/bcm-modal-2-header.js +1 -1
  288. package/dist/components/bcm-modal-2.js +2 -2
  289. package/dist/components/bcm-modal-footer.d.ts +11 -0
  290. package/dist/components/bcm-modal-footer.js +47 -0
  291. package/dist/components/bcm-modal-header.d.ts +11 -0
  292. package/dist/components/bcm-modal-header.js +45 -0
  293. package/dist/components/bcm-modal.js +12 -25
  294. package/dist/components/bcm-number-input.js +4 -3
  295. package/dist/components/bcm-popconfirm-box-v2.d.ts +11 -0
  296. package/dist/components/bcm-popconfirm-box-v2.js +132 -0
  297. package/dist/components/bcm-popconfirm-host.d.ts +11 -0
  298. package/dist/components/bcm-popconfirm-host.js +158 -0
  299. package/dist/components/bcm-popconfirm.js +5 -17
  300. package/dist/components/bcm-popover.js +11 -10
  301. package/dist/components/bcm-progress.js +1 -1
  302. package/dist/components/bcm-radio-group.js +43 -4
  303. package/dist/components/bcm-range.js +1 -1
  304. package/dist/components/bcm-resizable-pane.d.ts +11 -0
  305. package/dist/components/bcm-resizable-pane.js +60 -0
  306. package/dist/components/{bcm-checkbox-lite.d.ts → bcm-result-footer.d.ts} +4 -4
  307. package/dist/components/bcm-result-footer.js +47 -0
  308. package/dist/components/bcm-result.js +20 -61
  309. package/dist/components/bcm-segment-picker-item.d.ts +11 -0
  310. package/dist/components/bcm-segment-picker-item.js +51 -0
  311. package/dist/components/bcm-segment-picker.d.ts +11 -0
  312. package/dist/components/bcm-segment-picker.js +87 -0
  313. package/dist/components/bcm-select.js +6 -12
  314. package/dist/components/bcm-shortcut.js +48 -8
  315. package/dist/components/bcm-stepper.js +4 -3
  316. package/dist/components/bcm-switch.js +189 -17
  317. package/dist/components/bcm-tab-group.js +5 -13
  318. package/dist/components/bcm-tab-item-header.js +9 -17
  319. package/dist/components/bcm-tab-item.js +8 -7
  320. package/dist/components/bcm-table.js +2 -1
  321. package/dist/components/bcm-tag.js +1 -1
  322. package/dist/components/bcm-time-picker.js +1 -1
  323. package/dist/components/bcm-toast.js +188 -32
  324. package/dist/components/bcm.js +8 -2
  325. package/dist/components/button.js +232 -184
  326. package/dist/components/caption-template.js +9 -9
  327. package/dist/components/checkbox.js +94 -104
  328. package/dist/components/checkbox.style.js +159 -0
  329. package/dist/components/chip.js +152 -40
  330. package/dist/components/colorful.js +1 -1
  331. package/dist/components/datetime-picker.js +3 -3
  332. package/dist/components/divider.js +21 -13
  333. package/dist/components/empty.js +75 -3
  334. package/dist/{cjs/floating-ui-5b396838.js → components/floating-ui.dom.esm.js} +1 -96
  335. package/dist/components/floating-ui.js +2 -1407
  336. package/dist/components/generate.js +14 -37
  337. package/dist/components/icon.js +14 -13
  338. package/dist/components/index.d.ts +14 -4
  339. package/dist/components/index.js +12 -2
  340. package/dist/components/index4.js +2590 -173
  341. package/dist/components/index5.js +171 -2549
  342. package/dist/components/input.js +77 -54
  343. package/dist/components/input.style.js +16 -15
  344. package/dist/components/label.js +12 -9
  345. package/dist/components/link.js +83 -39
  346. package/dist/components/linked.js +2 -2
  347. package/dist/components/list.js +28 -33
  348. package/dist/components/listbox-item.js +21 -9
  349. package/dist/components/listbox.js +7 -13
  350. package/dist/components/menu.js +15 -1
  351. package/dist/components/modal.style.js +114 -0
  352. package/dist/components/old-bcm-popover.js +1 -1
  353. package/dist/components/old-input.js +5 -3
  354. package/dist/components/old-popover-box.js +1 -1
  355. package/dist/components/popconfirm-box.js +12 -22
  356. package/dist/components/popover.style.js +108 -0
  357. package/dist/components/radio.js +79 -24
  358. package/dist/components/rc-overflow.js +1 -1
  359. package/dist/components/rc-picker.js +2 -2
  360. package/dist/components/result.style.js +54 -0
  361. package/dist/components/search.js +14 -16
  362. package/dist/components/segment-picker.style.js +53 -0
  363. package/dist/components/select-box.js +6 -12
  364. package/dist/components/skeleton.js +2 -2
  365. package/dist/components/step.js +1 -1
  366. package/dist/components/string-helper.js +1 -1
  367. package/dist/components/tab-group.syle.js +66 -0
  368. package/dist/components/textarea.js +152 -36
  369. package/dist/components/tooltip-helper.js +3 -16
  370. package/dist/components/tooltip.js +5 -4
  371. package/dist/esm/{bcm-a50d55ba.js → bcm-7f07539b.js} +7 -1
  372. package/dist/esm/{bcm-accordion_63.entry.js → bcm-accordion_68.entry.js} +2198 -881
  373. package/dist/esm/bcm-alert.entry.js +89 -75
  374. package/dist/esm/bcm-arrow.entry.js +30 -0
  375. package/dist/esm/bcm-attendance-actions-comment.entry.js +10 -9
  376. package/dist/esm/bcm-attendance-actions-dropdown.entry.js +10 -9
  377. package/dist/esm/bcm-autocomplete.entry.js +1 -1
  378. package/dist/esm/bcm-box.entry.js +1 -1
  379. package/dist/esm/bcm-breadcrumb.entry.js +3 -3
  380. package/dist/esm/bcm-caption.entry.js +10 -9
  381. package/dist/esm/bcm-card.entry.js +6 -6
  382. package/dist/esm/bcm-chip-group.entry.js +15 -19
  383. package/dist/esm/bcm-colorpicker.entry.js +1 -1
  384. package/dist/esm/bcm-content.entry.js +1 -1
  385. package/dist/esm/bcm-date-picker.entry.js +5 -5
  386. package/dist/esm/bcm-datetime-picker.entry.js +9 -9
  387. package/dist/esm/bcm-default.entry.js +3 -3
  388. package/dist/esm/bcm-error-layout.entry.js +1 -1
  389. package/dist/esm/bcm-form-2.entry.js +6 -6
  390. package/dist/esm/bcm-form-group.entry.js +1 -1
  391. package/dist/esm/bcm-input-custom.entry.js +3 -3
  392. package/dist/esm/bcm-input-dropdown.entry.js +10 -10
  393. package/dist/esm/bcm-message.entry.js +1 -1
  394. package/dist/esm/bcm-modal-2-footer.entry.js +8 -7
  395. package/dist/esm/bcm-modal-2-header.entry.js +8 -7
  396. package/dist/esm/bcm-modal-2.entry.js +8 -7
  397. package/dist/esm/bcm-notification.entry.js +1 -1
  398. package/dist/esm/bcm-number-input.entry.js +12 -12
  399. package/dist/esm/bcm-overlay_2.entry.js +1 -1
  400. package/dist/esm/bcm-popconfirm-box-v2.entry.js +105 -0
  401. package/dist/esm/bcm-popconfirm-host.entry.js +131 -0
  402. package/dist/esm/bcm-range.entry.js +4 -4
  403. package/dist/esm/bcm-react-number.entry.js +1 -1
  404. package/dist/esm/bcm-resizable-pane.entry.js +38 -0
  405. package/dist/esm/bcm-result-footer.entry.js +35 -0
  406. package/dist/esm/bcm-result.entry.js +16 -47
  407. package/dist/esm/bcm-segment-picker-item.entry.js +29 -0
  408. package/dist/esm/bcm-segment-picker.entry.js +63 -0
  409. package/dist/esm/bcm-select-group.entry.js +1 -1
  410. package/dist/esm/bcm-select-option.entry.js +1 -1
  411. package/dist/esm/bcm-skeleton.entry.js +8 -8
  412. package/dist/esm/bcm-tab-pane.entry.js +1 -1
  413. package/dist/esm/bcm-table.entry.js +9 -8
  414. package/dist/esm/bcm-tabs-content.entry.js +1 -1
  415. package/dist/esm/bcm-tag.entry.js +5 -5
  416. package/dist/esm/bcm-time-picker.entry.js +5 -5
  417. package/dist/esm/bcm-timeline-item.entry.js +1 -1
  418. package/dist/esm/bcm-timeline.entry.js +1 -1
  419. package/dist/esm/bcm-toast.entry.js +192 -36
  420. package/dist/esm/bcm-treeview-group.entry.js +1 -1
  421. package/dist/esm/bromcom-ui.js +5 -5
  422. package/dist/esm/{caption-template-3cd42c3b.js → caption-template-56977835.js} +10 -10
  423. package/dist/esm/floating-ui-4016b544.js +99 -0
  424. package/dist/esm/floating-ui.dom.esm-40a07b59.js +1411 -0
  425. package/dist/esm/{generate-d71d0301.js → generate-8470dd6c.js} +14 -37
  426. package/dist/esm/{global-80fedcf7.js → global-e694da71.js} +2 -2
  427. package/dist/esm/{index-0615c2b8.js → index-15387314.js} +3 -1
  428. package/dist/esm/{index-3bc8c6e3.js → index-9f698d35.js} +386 -347
  429. package/dist/esm/{input.style-e855c0f3.js → input.style-fe41ebc8.js} +16 -15
  430. package/dist/esm/{is-load-decorator-8277e3b8.js → is-load-decorator-5b0610df.js} +1 -1
  431. package/dist/esm/{label-template-ef97aadb.js → label-template-c7e70e5f.js} +8 -7
  432. package/dist/esm/loader.js +5 -5
  433. package/dist/esm/{number-helper-407e89d0.js → number-helper-56061510.js} +1 -1
  434. package/dist/esm/old-bcm-popover-box.entry.js +10 -9
  435. package/dist/esm/old-bcm-popover.entry.js +4 -4
  436. package/dist/esm/{package-dec9ed1a.js → package-387afefd.js} +1 -1
  437. package/dist/esm/{popover-placement-1b15cc99.js → popover-placement-6391b815.js} +1 -1
  438. package/dist/esm/popover.style-be349acc.js +104 -0
  439. package/dist/esm/result.style-de3bc950.js +54 -0
  440. package/dist/esm/segment-picker.style-1e837fe7.js +53 -0
  441. package/dist/esm/{slot-template-0d958dcc.js → slot-template-250f6ed4.js} +2 -2
  442. package/dist/esm/{string-helper-b4602002.js → string-helper-243b3e1d.js} +1 -1
  443. package/dist/esm/types-ec7dcf4f.js +173 -0
  444. package/dist/types/components/atoms/avatar/avatar.style.d.ts +21 -21
  445. package/dist/types/components/atoms/button/button.d.ts +32 -20
  446. package/dist/types/components/atoms/button/button.style.d.ts +334 -0
  447. package/dist/types/components/atoms/chip/chip.d.ts +4 -14
  448. package/dist/types/components/atoms/chip/chip.style.d.ts +387 -0
  449. package/dist/types/components/atoms/divider/divider.d.ts +1 -2
  450. package/dist/types/components/atoms/divider/divider.style.d.ts +42 -0
  451. package/dist/types/components/atoms/icon/icon.d.ts +0 -2
  452. package/dist/types/components/atoms/label/label.d.ts +1 -0
  453. package/dist/types/components/atoms/link/link.d.ts +10 -6
  454. package/dist/types/components/atoms/link/link.style.d.ts +171 -0
  455. package/dist/types/components/molecules/alert/alert.d.ts +15 -17
  456. package/dist/types/components/molecules/alert/alert.style.d.ts +331 -0
  457. package/dist/types/components/molecules/checkbox/checkbox.d.ts +16 -29
  458. package/dist/types/components/molecules/checkbox/checkbox.style.d.ts +498 -0
  459. package/dist/types/components/molecules/checkbox-group/checkbox-group.style.d.ts +108 -0
  460. package/dist/types/components/molecules/color-input/color-input.d.ts +0 -1
  461. package/dist/types/components/molecules/color-input/color-input.style.d.ts +10 -0
  462. package/dist/types/components/molecules/drawer/drawer.style.d.ts +252 -0
  463. package/dist/types/components/molecules/dropdown/dropdown.d.ts +2 -2
  464. package/dist/types/components/molecules/empty/empty.d.ts +6 -0
  465. package/dist/types/components/molecules/empty/empty.style.d.ts +296 -0
  466. package/dist/types/components/molecules/expansion-panel/bcm-expansion-panel-description.d.ts +6 -0
  467. package/dist/types/components/molecules/expansion-panel/bcm-expansion-panel-extra.d.ts +6 -0
  468. package/dist/types/components/molecules/expansion-panel/bcm-expansion-panel-header.d.ts +6 -0
  469. package/dist/types/components/molecules/expansion-panel/expansion-panel.d.ts +6 -5
  470. package/dist/types/components/molecules/expansion-panel/expansion-panel.style.d.ts +437 -0
  471. package/dist/types/components/molecules/input/input.d.ts +2 -2
  472. package/dist/types/components/molecules/modal/modal-footer.d.ts +7 -0
  473. package/dist/types/components/molecules/modal/modal-header.d.ts +7 -0
  474. package/dist/types/components/molecules/modal/modal.style.d.ts +364 -0
  475. package/dist/types/components/molecules/popconfirm/popconfirm-box.d.ts +1 -1
  476. package/dist/types/components/molecules/popconfirm-v2/pop-confirm-host.d.ts +26 -0
  477. package/dist/types/components/molecules/popconfirm-v2/popconf.style.d.ts +277 -0
  478. package/dist/types/components/molecules/popconfirm-v2/popconfirm-v2.d.ts +15 -0
  479. package/dist/types/components/molecules/popover/popover.style.d.ts +103 -0
  480. package/dist/types/components/molecules/radio/radio-group.style.d.ts +108 -0
  481. package/dist/types/components/molecules/radio/radio.style.d.ts +202 -0
  482. package/dist/types/components/molecules/result/result-footer.d.ts +7 -0
  483. package/dist/types/components/molecules/result/result.d.ts +3 -7
  484. package/dist/types/components/molecules/result/result.style.d.ts +180 -0
  485. package/dist/types/components/molecules/switch/switch.style.d.ts +537 -0
  486. package/dist/types/components/molecules/tab-group/tab-group.d.ts +0 -1
  487. package/dist/types/components/molecules/tab-group/tab-group.syle.d.ts +236 -0
  488. package/dist/types/components/molecules/tab-group/tab-item-header.d.ts +0 -1
  489. package/dist/types/components/molecules/textarea/textarea.d.ts +2 -2
  490. package/dist/types/components/molecules/textarea/textarea.style.d.ts +610 -0
  491. package/dist/types/components/molecules/tooltip/tooltip.style.d.ts +94 -0
  492. package/dist/types/components/other/arrow/arrow.d.ts +7 -0
  493. package/dist/types/components/other/resizable-pane/resizable-pane.d.ts +11 -0
  494. package/dist/types/components/other/segment-picker/segment-picker-item.d.ts +12 -0
  495. package/dist/types/components/other/segment-picker/segment-picker.d.ts +35 -0
  496. package/dist/types/components/other/segment-picker/segment-picker.style.d.ts +150 -0
  497. package/dist/types/components/other/shortcut/shortcut.style.d.ts +91 -0
  498. package/dist/types/components/other/toast/toast.style.d.ts +539 -0
  499. package/dist/types/components.d.ts +448 -278
  500. package/dist/types/helper/generate.d.ts +0 -3
  501. package/dist/types/helper/index.d.ts +1 -0
  502. package/dist/types/helper/pop-confirm-helper.d.ts +23 -0
  503. package/dist/types/helper/tooltip-helper.d.ts +0 -1
  504. package/dist/types/models/bcm-types.d.ts +3 -2
  505. package/dist/types/models/bcm.d.ts +7 -1
  506. package/dist/types/templates/icon-template.d.ts +2 -2
  507. package/dist/types/templates/label-template.d.ts +1 -0
  508. package/package.json +2 -2
  509. package/dist/bromcom-ui/p-01d5ea34.entry.js +0 -5
  510. package/dist/bromcom-ui/p-08c75801.js +0 -5
  511. package/dist/bromcom-ui/p-0c1ab9c7.entry.js +0 -5
  512. package/dist/bromcom-ui/p-228c74e9.entry.js +0 -5
  513. package/dist/bromcom-ui/p-23922dab.entry.js +0 -5
  514. package/dist/bromcom-ui/p-3238bf36.js +0 -5
  515. package/dist/bromcom-ui/p-3575cff5.js +0 -5
  516. package/dist/bromcom-ui/p-3fac58f7.js +0 -5
  517. package/dist/bromcom-ui/p-42111a9b.entry.js +0 -5
  518. package/dist/bromcom-ui/p-43c578cf.js +0 -5
  519. package/dist/bromcom-ui/p-44545e3c.entry.js +0 -16
  520. package/dist/bromcom-ui/p-641977db.entry.js +0 -5
  521. package/dist/bromcom-ui/p-6e5f5f36.js +0 -5
  522. package/dist/bromcom-ui/p-74e6d2b6.js +0 -5
  523. package/dist/bromcom-ui/p-7e608148.entry.js +0 -5
  524. package/dist/bromcom-ui/p-8811428c.entry.js +0 -5
  525. package/dist/bromcom-ui/p-8e683b32.js +0 -5
  526. package/dist/bromcom-ui/p-8f76ddd6.entry.js +0 -5
  527. package/dist/bromcom-ui/p-9a906583.entry.js +0 -5
  528. package/dist/bromcom-ui/p-a2324032.entry.js +0 -5
  529. package/dist/bromcom-ui/p-a313fba6.js +0 -5
  530. package/dist/bromcom-ui/p-a959de89.entry.js +0 -5
  531. package/dist/bromcom-ui/p-ae57f046.entry.js +0 -5
  532. package/dist/bromcom-ui/p-c1d7db8f.entry.js +0 -5
  533. package/dist/bromcom-ui/p-d1298c40.js +0 -5
  534. package/dist/bromcom-ui/p-d5931cf3.entry.js +0 -5
  535. package/dist/bromcom-ui/p-e896ce94.entry.js +0 -5
  536. package/dist/bromcom-ui/p-e9c348e7.js +0 -5
  537. package/dist/bromcom-ui/p-ece578ef.entry.js +0 -5
  538. package/dist/bromcom-ui/p-f8a795ec.entry.js +0 -5
  539. package/dist/cjs/bcm-input-2.cjs.entry.js +0 -153
  540. package/dist/cjs/bcm-popover.cjs.entry.js +0 -230
  541. package/dist/cjs/index-d321de96.js +0 -193
  542. package/dist/cjs/types-cc4adee7.js +0 -19
  543. package/dist/cjs/validators-aafcc99c.js +0 -33
  544. package/dist/collection/components/atoms/divider/divider.css +0 -142
  545. package/dist/collection/components/atoms/link/link.css +0 -175
  546. package/dist/collection/components/atoms/states/button.states.js +0 -31
  547. package/dist/collection/components/molecules/alert/alert.css +0 -191
  548. package/dist/collection/components/molecules/alert/types.js +0 -23
  549. package/dist/collection/components/molecules/checkbox/checkbox-lite.js +0 -236
  550. package/dist/collection/components/molecules/expansion-panel/expansion-panel.css +0 -238
  551. package/dist/collection/components/molecules/input/input.css +0 -365
  552. package/dist/collection/components/molecules/input/input2.js +0 -918
  553. package/dist/collection/components/molecules/result/result.css +0 -164
  554. package/dist/collection/components/molecules/result/types.js +0 -22
  555. package/dist/collection/components/molecules/search/search.css +0 -365
  556. package/dist/collection/components/molecules/states/alert.states.js +0 -25
  557. package/dist/collection/components/molecules/switch/switch.css +0 -434
  558. package/dist/collection/components/molecules/textarea/textarea.css +0 -365
  559. package/dist/collection/components/molecules/textarea/types.js +0 -13
  560. package/dist/collection/global/components/_checkbox.css +0 -378
  561. package/dist/components/bcm-checkbox-lite.js +0 -10
  562. package/dist/components/bcm-input-2.js +0 -225
  563. package/dist/components/checkbox-lite.js +0 -97
  564. package/dist/components/input-template.js +0 -90
  565. package/dist/components/validators.js +0 -35
  566. package/dist/esm/bcm-input-2.entry.js +0 -149
  567. package/dist/esm/bcm-popover.entry.js +0 -226
  568. package/dist/esm/index-7e71bbc8.js +0 -191
  569. package/dist/esm/types-6f06fa1a.js +0 -19
  570. package/dist/esm/validators-2cce19e1.js +0 -31
  571. package/dist/types/components/atoms/states/button.states.d.ts +0 -7
  572. package/dist/types/components/molecules/alert/types.d.ts +0 -25
  573. package/dist/types/components/molecules/checkbox/checkbox-lite.d.ts +0 -14
  574. package/dist/types/components/molecules/input/input2.d.ts +0 -64
  575. package/dist/types/components/molecules/result/types.d.ts +0 -19
  576. package/dist/types/components/molecules/states/alert.states.d.ts +0 -7
  577. package/dist/types/components/molecules/textarea/types.d.ts +0 -9
  578. /package/dist/collection/components/{third-parts/rc-picker → organism/date}/date.js +0 -0
  579. /package/dist/types/components/molecules/{checkbox/group.d.ts → checkbox-group/checkbox-group.d.ts} +0 -0
  580. /package/dist/types/components/{third-parts/rc-picker → organism/date}/date.d.ts +0 -0
@@ -2,190 +2,2607 @@
2
2
  * Built with Stencil
3
3
  * Copyright (c) Bromcom.
4
4
  */
5
- import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
5
+ import { c as createCommonjsModule } from './_commonjsHelpers.js';
6
6
 
7
- const appendToMap = (map, propName, value) => {
8
- const items = map.get(propName);
9
- if (!items) {
10
- map.set(propName, [value]);
11
- }
12
- else if (!items.includes(value)) {
13
- items.push(value);
14
- }
15
- };
16
- const debounce = (fn, ms) => {
17
- let timeoutId;
18
- return (...args) => {
19
- if (timeoutId) {
20
- clearTimeout(timeoutId);
21
- }
22
- timeoutId = setTimeout(() => {
23
- timeoutId = 0;
24
- fn(...args);
25
- }, ms);
26
- };
27
- };
7
+ var l=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,u=e=>!e||typeof e!="object"||Object.keys(e).length===0,x=(e,o)=>JSON.stringify(e)===JSON.stringify(o);function i(e,o){e.forEach(function(r){Array.isArray(r)?i(r,o):o.push(r);});}function y(e){let o=[];return i(e,o),o}var a=(...e)=>y(e).filter(Boolean),p=(e,o)=>{let r={},c=Object.keys(e),f=Object.keys(o);for(let t of c)if(f.includes(t)){let s=e[t],n=o[t];typeof s=="object"&&typeof n=="object"?r[t]=p(s,n):Array.isArray(s)||Array.isArray(n)?r[t]=a(n,s):r[t]=n+" "+s;}else r[t]=e[t];for(let t of f)c.includes(t)||(r[t]=o[t]);return r},g=e=>!e||typeof e!="string"?e:e.replace(/\s+/g," ").trim();
8
+
9
+ var bundleCjs = createCommonjsModule(function (module, exports) {
28
10
 
11
+ Object.defineProperty(exports, Symbol.toStringTag, {
12
+ value: 'Module'
13
+ });
14
+ const CLASS_PART_SEPARATOR = '-';
15
+ function createClassUtils(config) {
16
+ const classMap = createClassMap(config);
17
+ const {
18
+ conflictingClassGroups,
19
+ conflictingClassGroupModifiers
20
+ } = config;
21
+ function getClassGroupId(className) {
22
+ const classParts = className.split(CLASS_PART_SEPARATOR);
23
+ // 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.
24
+ if (classParts[0] === '' && classParts.length !== 1) {
25
+ classParts.shift();
26
+ }
27
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
28
+ }
29
+ function getConflictingClassGroupIds(classGroupId, hasPostfixModifier) {
30
+ const conflicts = conflictingClassGroups[classGroupId] || [];
31
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
32
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
33
+ }
34
+ return conflicts;
35
+ }
36
+ return {
37
+ getClassGroupId,
38
+ getConflictingClassGroupIds
39
+ };
40
+ }
41
+ function getGroupRecursive(classParts, classPartObject) {
42
+ if (classParts.length === 0) {
43
+ return classPartObject.classGroupId;
44
+ }
45
+ const currentClassPart = classParts[0];
46
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
47
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;
48
+ if (classGroupFromNextClassPart) {
49
+ return classGroupFromNextClassPart;
50
+ }
51
+ if (classPartObject.validators.length === 0) {
52
+ return undefined;
53
+ }
54
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
55
+ return classPartObject.validators.find(({
56
+ validator
57
+ }) => validator(classRest))?.classGroupId;
58
+ }
59
+ const arbitraryPropertyRegex = /^\[(.+)\]$/;
60
+ function getGroupIdForArbitraryProperty(className) {
61
+ if (arbitraryPropertyRegex.test(className)) {
62
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
63
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));
64
+ if (property) {
65
+ // I use two dots here because one dot is used as prefix for class groups in plugins
66
+ return 'arbitrary..' + property;
67
+ }
68
+ }
69
+ }
29
70
  /**
30
- * Check if a possible element isConnected.
31
- * The property might not be there, so we check for it.
32
- *
33
- * We want it to return true if isConnected is not a property,
34
- * otherwise we would remove these elements and would not update.
35
- *
36
- * Better leak in Edge than to be useless.
71
+ * Exported for testing only
37
72
  */
38
- const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
39
- const cleanupElements = debounce((map) => {
40
- for (let key of map.keys()) {
41
- map.set(key, map.get(key).filter(isConnected));
42
- }
43
- }, 2000);
44
- const stencilSubscription = () => {
45
- if (typeof getRenderingRef !== 'function') {
46
- // If we are not in a stencil project, we do nothing.
47
- // This function is not really exported by @stencil/core.
48
- return {};
49
- }
50
- const elmsToUpdate = new Map();
51
- return {
52
- dispose: () => elmsToUpdate.clear(),
53
- get: (propName) => {
54
- const elm = getRenderingRef();
55
- if (elm) {
56
- appendToMap(elmsToUpdate, propName, elm);
57
- }
58
- },
59
- set: (propName) => {
60
- const elements = elmsToUpdate.get(propName);
61
- if (elements) {
62
- elmsToUpdate.set(propName, elements.filter(forceUpdate));
63
- }
64
- cleanupElements(elmsToUpdate);
65
- },
66
- reset: () => {
67
- elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
68
- cleanupElements(elmsToUpdate);
69
- },
70
- };
71
- };
73
+ function createClassMap(config) {
74
+ const {
75
+ theme,
76
+ prefix
77
+ } = config;
78
+ const classMap = {
79
+ nextPart: new Map(),
80
+ validators: []
81
+ };
82
+ const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
83
+ prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
84
+ processClassesRecursively(classGroup, classMap, classGroupId, theme);
85
+ });
86
+ return classMap;
87
+ }
88
+ function processClassesRecursively(classGroup, classPartObject, classGroupId, theme) {
89
+ classGroup.forEach(classDefinition => {
90
+ if (typeof classDefinition === 'string') {
91
+ const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);
92
+ classPartObjectToEdit.classGroupId = classGroupId;
93
+ return;
94
+ }
95
+ if (typeof classDefinition === 'function') {
96
+ if (isThemeGetter(classDefinition)) {
97
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
98
+ return;
99
+ }
100
+ classPartObject.validators.push({
101
+ validator: classDefinition,
102
+ classGroupId
103
+ });
104
+ return;
105
+ }
106
+ Object.entries(classDefinition).forEach(([key, classGroup]) => {
107
+ processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);
108
+ });
109
+ });
110
+ }
111
+ function getPart(classPartObject, path) {
112
+ let currentClassPartObject = classPartObject;
113
+ path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {
114
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
115
+ currentClassPartObject.nextPart.set(pathPart, {
116
+ nextPart: new Map(),
117
+ validators: []
118
+ });
119
+ }
120
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
121
+ });
122
+ return currentClassPartObject;
123
+ }
124
+ function isThemeGetter(func) {
125
+ return func.isThemeGetter;
126
+ }
127
+ function getPrefixedClassGroupEntries(classGroupEntries, prefix) {
128
+ if (!prefix) {
129
+ return classGroupEntries;
130
+ }
131
+ return classGroupEntries.map(([classGroupId, classGroup]) => {
132
+ const prefixedClassGroup = classGroup.map(classDefinition => {
133
+ if (typeof classDefinition === 'string') {
134
+ return prefix + classDefinition;
135
+ }
136
+ if (typeof classDefinition === 'object') {
137
+ return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
138
+ }
139
+ return classDefinition;
140
+ });
141
+ return [classGroupId, prefixedClassGroup];
142
+ });
143
+ }
72
144
 
73
- const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
74
- let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));
75
- const handlers = {
76
- dispose: [],
77
- get: [],
78
- set: [],
79
- reset: [],
80
- };
81
- const reset = () => {
82
- states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));
83
- handlers.reset.forEach((cb) => cb());
84
- };
85
- const dispose = () => {
86
- // Call first dispose as resetting the state would
87
- // cause less updates ;)
88
- handlers.dispose.forEach((cb) => cb());
89
- reset();
90
- };
91
- const get = (propName) => {
92
- handlers.get.forEach((cb) => cb(propName));
93
- return states.get(propName);
145
+ // LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance
146
+ function createLruCache(maxCacheSize) {
147
+ if (maxCacheSize < 1) {
148
+ return {
149
+ get: () => undefined,
150
+ set: () => {}
94
151
  };
95
- const set = (propName, value) => {
96
- const oldValue = states.get(propName);
97
- if (shouldUpdate(value, oldValue, propName)) {
98
- states.set(propName, value);
99
- handlers.set.forEach((cb) => cb(propName, value, oldValue));
152
+ }
153
+ let cacheSize = 0;
154
+ let cache = new Map();
155
+ let previousCache = new Map();
156
+ function update(key, value) {
157
+ cache.set(key, value);
158
+ cacheSize++;
159
+ if (cacheSize > maxCacheSize) {
160
+ cacheSize = 0;
161
+ previousCache = cache;
162
+ cache = new Map();
163
+ }
164
+ }
165
+ return {
166
+ get(key) {
167
+ let value = cache.get(key);
168
+ if (value !== undefined) {
169
+ return value;
170
+ }
171
+ if ((value = previousCache.get(key)) !== undefined) {
172
+ update(key, value);
173
+ return value;
174
+ }
175
+ },
176
+ set(key, value) {
177
+ if (cache.has(key)) {
178
+ cache.set(key, value);
179
+ } else {
180
+ update(key, value);
181
+ }
182
+ }
183
+ };
184
+ }
185
+ const IMPORTANT_MODIFIER = '!';
186
+ function createSplitModifiers(config) {
187
+ const separator = config.separator;
188
+ const isSeparatorSingleCharacter = separator.length === 1;
189
+ const firstSeparatorCharacter = separator[0];
190
+ const separatorLength = separator.length;
191
+ // splitModifiers inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
192
+ return function splitModifiers(className) {
193
+ const modifiers = [];
194
+ let bracketDepth = 0;
195
+ let modifierStart = 0;
196
+ let postfixModifierPosition;
197
+ for (let index = 0; index < className.length; index++) {
198
+ let currentCharacter = className[index];
199
+ if (bracketDepth === 0) {
200
+ if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
201
+ modifiers.push(className.slice(modifierStart, index));
202
+ modifierStart = index + separatorLength;
203
+ continue;
204
+ }
205
+ if (currentCharacter === '/') {
206
+ postfixModifierPosition = index;
207
+ continue;
100
208
  }
209
+ }
210
+ if (currentCharacter === '[') {
211
+ bracketDepth++;
212
+ } else if (currentCharacter === ']') {
213
+ bracketDepth--;
214
+ }
215
+ }
216
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
217
+ const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
218
+ const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
219
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
220
+ return {
221
+ modifiers,
222
+ hasImportantModifier,
223
+ baseClassName,
224
+ maybePostfixModifierPosition
101
225
  };
102
- const state = (typeof Proxy === 'undefined'
103
- ? {}
104
- : new Proxy(defaultState, {
105
- get(_, propName) {
106
- return get(propName);
107
- },
108
- ownKeys(_) {
109
- return Array.from(states.keys());
110
- },
111
- getOwnPropertyDescriptor() {
112
- return {
113
- enumerable: true,
114
- configurable: true,
115
- };
116
- },
117
- has(_, propName) {
118
- return states.has(propName);
119
- },
120
- set(_, propName, value) {
121
- set(propName, value);
122
- return true;
123
- },
124
- }));
125
- const on = (eventName, callback) => {
126
- handlers[eventName].push(callback);
127
- return () => {
128
- removeFromArray(handlers[eventName], callback);
226
+ };
227
+ }
228
+ /**
229
+ * Sorts modifiers according to following schema:
230
+ * - Predefined modifiers are sorted alphabetically
231
+ * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
232
+ */
233
+ function sortModifiers(modifiers) {
234
+ if (modifiers.length <= 1) {
235
+ return modifiers;
236
+ }
237
+ const sortedModifiers = [];
238
+ let unsortedModifiers = [];
239
+ modifiers.forEach(modifier => {
240
+ const isArbitraryVariant = modifier[0] === '[';
241
+ if (isArbitraryVariant) {
242
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
243
+ unsortedModifiers = [];
244
+ } else {
245
+ unsortedModifiers.push(modifier);
246
+ }
247
+ });
248
+ sortedModifiers.push(...unsortedModifiers.sort());
249
+ return sortedModifiers;
250
+ }
251
+ function createConfigUtils(config) {
252
+ return {
253
+ cache: createLruCache(config.cacheSize),
254
+ splitModifiers: createSplitModifiers(config),
255
+ ...createClassUtils(config)
256
+ };
257
+ }
258
+ const SPLIT_CLASSES_REGEX = /\s+/;
259
+ function mergeClassList(classList, configUtils) {
260
+ const {
261
+ splitModifiers,
262
+ getClassGroupId,
263
+ getConflictingClassGroupIds
264
+ } = configUtils;
265
+ /**
266
+ * Set of classGroupIds in following format:
267
+ * `{importantModifier}{variantModifiers}{classGroupId}`
268
+ * @example 'float'
269
+ * @example 'hover:focus:bg-color'
270
+ * @example 'md:!pr'
271
+ */
272
+ const classGroupsInConflict = new Set();
273
+ return classList.trim().split(SPLIT_CLASSES_REGEX).map(originalClassName => {
274
+ const {
275
+ modifiers,
276
+ hasImportantModifier,
277
+ baseClassName,
278
+ maybePostfixModifierPosition
279
+ } = splitModifiers(originalClassName);
280
+ let classGroupId = getClassGroupId(maybePostfixModifierPosition ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
281
+ let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
282
+ if (!classGroupId) {
283
+ if (!maybePostfixModifierPosition) {
284
+ return {
285
+ isTailwindClass: false,
286
+ originalClassName
129
287
  };
130
- };
131
- const onChange = (propName, cb) => {
132
- const unSet = on('set', (key, newValue) => {
133
- if (key === propName) {
134
- cb(newValue);
135
- }
136
- });
137
- const unReset = on('reset', () => cb(defaultState[propName]));
138
- return () => {
139
- unSet();
140
- unReset();
288
+ }
289
+ classGroupId = getClassGroupId(baseClassName);
290
+ if (!classGroupId) {
291
+ return {
292
+ isTailwindClass: false,
293
+ originalClassName
141
294
  };
142
- };
143
- const use = (...subscriptions) => {
144
- const unsubs = subscriptions.reduce((unsubs, subscription) => {
145
- if (subscription.set) {
146
- unsubs.push(on('set', subscription.set));
147
- }
148
- if (subscription.get) {
149
- unsubs.push(on('get', subscription.get));
150
- }
151
- if (subscription.reset) {
152
- unsubs.push(on('reset', subscription.reset));
153
- }
154
- if (subscription.dispose) {
155
- unsubs.push(on('dispose', subscription.dispose));
156
- }
157
- return unsubs;
158
- }, []);
159
- return () => unsubs.forEach((unsub) => unsub());
160
- };
161
- const forceUpdate = (key) => {
162
- const oldValue = states.get(key);
163
- handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
164
- };
295
+ }
296
+ hasPostfixModifier = false;
297
+ }
298
+ const variantModifier = sortModifiers(modifiers).join(':');
299
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
165
300
  return {
166
- state,
167
- get,
168
- set,
169
- on,
170
- onChange,
171
- use,
172
- dispose,
173
- reset,
174
- forceUpdate,
301
+ isTailwindClass: true,
302
+ modifierId,
303
+ classGroupId,
304
+ originalClassName,
305
+ hasPostfixModifier
175
306
  };
176
- };
177
- const removeFromArray = (array, item) => {
178
- const index = array.indexOf(item);
179
- if (index >= 0) {
180
- array[index] = array[array.length - 1];
181
- array.length--;
182
- }
183
- };
307
+ }).reverse()
308
+ // Last class in conflict wins, so we need to filter conflicting classes in reverse order.
309
+ .filter(parsed => {
310
+ if (!parsed.isTailwindClass) {
311
+ return true;
312
+ }
313
+ const {
314
+ modifierId,
315
+ classGroupId,
316
+ hasPostfixModifier
317
+ } = parsed;
318
+ const classId = modifierId + classGroupId;
319
+ if (classGroupsInConflict.has(classId)) {
320
+ return false;
321
+ }
322
+ classGroupsInConflict.add(classId);
323
+ getConflictingClassGroupIds(classGroupId, hasPostfixModifier).forEach(group => classGroupsInConflict.add(modifierId + group));
324
+ return true;
325
+ }).reverse().map(parsed => parsed.originalClassName).join(' ');
326
+ }
327
+
328
+ /**
329
+ * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
330
+ *
331
+ * Specifically:
332
+ * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
333
+ * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
334
+ *
335
+ * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
336
+ */
337
+ function twJoin() {
338
+ let index = 0;
339
+ let argument;
340
+ let resolvedValue;
341
+ let string = '';
342
+ while (index < arguments.length) {
343
+ if (argument = arguments[index++]) {
344
+ if (resolvedValue = toValue(argument)) {
345
+ string && (string += ' ');
346
+ string += resolvedValue;
347
+ }
348
+ }
349
+ }
350
+ return string;
351
+ }
352
+ function toValue(mix) {
353
+ if (typeof mix === 'string') {
354
+ return mix;
355
+ }
356
+ let resolvedValue;
357
+ let string = '';
358
+ for (let k = 0; k < mix.length; k++) {
359
+ if (mix[k]) {
360
+ if (resolvedValue = toValue(mix[k])) {
361
+ string && (string += ' ');
362
+ string += resolvedValue;
363
+ }
364
+ }
365
+ }
366
+ return string;
367
+ }
368
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
369
+ let configUtils;
370
+ let cacheGet;
371
+ let cacheSet;
372
+ let functionToCall = initTailwindMerge;
373
+ function initTailwindMerge(classList) {
374
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
375
+ configUtils = createConfigUtils(config);
376
+ cacheGet = configUtils.cache.get;
377
+ cacheSet = configUtils.cache.set;
378
+ functionToCall = tailwindMerge;
379
+ return tailwindMerge(classList);
380
+ }
381
+ function tailwindMerge(classList) {
382
+ const cachedResult = cacheGet(classList);
383
+ if (cachedResult) {
384
+ return cachedResult;
385
+ }
386
+ const result = mergeClassList(classList, configUtils);
387
+ cacheSet(classList, result);
388
+ return result;
389
+ }
390
+ return function callTailwindMerge() {
391
+ return functionToCall(twJoin.apply(null, arguments));
392
+ };
393
+ }
394
+ function fromTheme(key) {
395
+ const themeGetter = theme => theme[key] || [];
396
+ themeGetter.isThemeGetter = true;
397
+ return themeGetter;
398
+ }
399
+ const arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
400
+ const fractionRegex = /^\d+\/\d+$/;
401
+ const stringLengths = /*#__PURE__*/new Set(['px', 'full', 'screen']);
402
+ const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
403
+ const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
404
+ const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
405
+ // Shadow always begins with x and y offset separated by underscore optionally prepended by inset
406
+ const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
407
+ const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
408
+ function isLength(value) {
409
+ return isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
410
+ }
411
+ function isArbitraryLength(value) {
412
+ return getIsArbitraryValue(value, 'length', isLengthOnly);
413
+ }
414
+ function isNumber(value) {
415
+ return Boolean(value) && !Number.isNaN(Number(value));
416
+ }
417
+ function isArbitraryNumber(value) {
418
+ return getIsArbitraryValue(value, 'number', isNumber);
419
+ }
420
+ function isInteger(value) {
421
+ return Boolean(value) && Number.isInteger(Number(value));
422
+ }
423
+ function isPercent(value) {
424
+ return value.endsWith('%') && isNumber(value.slice(0, -1));
425
+ }
426
+ function isArbitraryValue(value) {
427
+ return arbitraryValueRegex.test(value);
428
+ }
429
+ function isTshirtSize(value) {
430
+ return tshirtUnitRegex.test(value);
431
+ }
432
+ const sizeLabels = /*#__PURE__*/new Set(['length', 'size', 'percentage']);
433
+ function isArbitrarySize(value) {
434
+ return getIsArbitraryValue(value, sizeLabels, isNever);
435
+ }
436
+ function isArbitraryPosition(value) {
437
+ return getIsArbitraryValue(value, 'position', isNever);
438
+ }
439
+ const imageLabels = /*#__PURE__*/new Set(['image', 'url']);
440
+ function isArbitraryImage(value) {
441
+ return getIsArbitraryValue(value, imageLabels, isImage);
442
+ }
443
+ function isArbitraryShadow(value) {
444
+ return getIsArbitraryValue(value, '', isShadow);
445
+ }
446
+ function isAny() {
447
+ return true;
448
+ }
449
+ function getIsArbitraryValue(value, label, testValue) {
450
+ const result = arbitraryValueRegex.exec(value);
451
+ if (result) {
452
+ if (result[1]) {
453
+ return typeof label === 'string' ? result[1] === label : label.has(result[1]);
454
+ }
455
+ return testValue(result[2]);
456
+ }
457
+ return false;
458
+ }
459
+ function isLengthOnly(value) {
460
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
461
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
462
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
463
+ return lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
464
+ }
465
+ function isNever() {
466
+ return false;
467
+ }
468
+ function isShadow(value) {
469
+ return shadowRegex.test(value);
470
+ }
471
+ function isImage(value) {
472
+ return imageRegex.test(value);
473
+ }
474
+ const validators = /*#__PURE__*/Object.defineProperty({
475
+ __proto__: null,
476
+ isAny,
477
+ isArbitraryImage,
478
+ isArbitraryLength,
479
+ isArbitraryNumber,
480
+ isArbitraryPosition,
481
+ isArbitraryShadow,
482
+ isArbitrarySize,
483
+ isArbitraryValue,
484
+ isInteger,
485
+ isLength,
486
+ isNumber,
487
+ isPercent,
488
+ isTshirtSize
489
+ }, Symbol.toStringTag, {
490
+ value: 'Module'
491
+ });
492
+ function getDefaultConfig() {
493
+ const colors = fromTheme('colors');
494
+ const spacing = fromTheme('spacing');
495
+ const blur = fromTheme('blur');
496
+ const brightness = fromTheme('brightness');
497
+ const borderColor = fromTheme('borderColor');
498
+ const borderRadius = fromTheme('borderRadius');
499
+ const borderSpacing = fromTheme('borderSpacing');
500
+ const borderWidth = fromTheme('borderWidth');
501
+ const contrast = fromTheme('contrast');
502
+ const grayscale = fromTheme('grayscale');
503
+ const hueRotate = fromTheme('hueRotate');
504
+ const invert = fromTheme('invert');
505
+ const gap = fromTheme('gap');
506
+ const gradientColorStops = fromTheme('gradientColorStops');
507
+ const gradientColorStopPositions = fromTheme('gradientColorStopPositions');
508
+ const inset = fromTheme('inset');
509
+ const margin = fromTheme('margin');
510
+ const opacity = fromTheme('opacity');
511
+ const padding = fromTheme('padding');
512
+ const saturate = fromTheme('saturate');
513
+ const scale = fromTheme('scale');
514
+ const sepia = fromTheme('sepia');
515
+ const skew = fromTheme('skew');
516
+ const space = fromTheme('space');
517
+ const translate = fromTheme('translate');
518
+ const getOverscroll = () => ['auto', 'contain', 'none'];
519
+ const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];
520
+ const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing];
521
+ const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
522
+ const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength];
523
+ const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue];
524
+ const getPositions = () => ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];
525
+ const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'];
526
+ const getBlendModes = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity', 'plus-lighter'];
527
+ const getAlign = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];
528
+ const getZeroAndEmpty = () => ['', '0', isArbitraryValue];
529
+ const getBreaks = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];
530
+ const getNumber = () => [isNumber, isArbitraryNumber];
531
+ const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
532
+ return {
533
+ cacheSize: 500,
534
+ separator: ':',
535
+ theme: {
536
+ colors: [isAny],
537
+ spacing: [isLength, isArbitraryLength],
538
+ blur: ['none', '', isTshirtSize, isArbitraryValue],
539
+ brightness: getNumber(),
540
+ borderColor: [colors],
541
+ borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],
542
+ borderSpacing: getSpacingWithArbitrary(),
543
+ borderWidth: getLengthWithEmptyAndArbitrary(),
544
+ contrast: getNumber(),
545
+ grayscale: getZeroAndEmpty(),
546
+ hueRotate: getNumberAndArbitrary(),
547
+ invert: getZeroAndEmpty(),
548
+ gap: getSpacingWithArbitrary(),
549
+ gradientColorStops: [colors],
550
+ gradientColorStopPositions: [isPercent, isArbitraryLength],
551
+ inset: getSpacingWithAutoAndArbitrary(),
552
+ margin: getSpacingWithAutoAndArbitrary(),
553
+ opacity: getNumber(),
554
+ padding: getSpacingWithArbitrary(),
555
+ saturate: getNumber(),
556
+ scale: getNumber(),
557
+ sepia: getZeroAndEmpty(),
558
+ skew: getNumberAndArbitrary(),
559
+ space: getSpacingWithArbitrary(),
560
+ translate: getSpacingWithArbitrary()
561
+ },
562
+ classGroups: {
563
+ // Layout
564
+ /**
565
+ * Aspect Ratio
566
+ * @see https://tailwindcss.com/docs/aspect-ratio
567
+ */
568
+ aspect: [{
569
+ aspect: ['auto', 'square', 'video', isArbitraryValue]
570
+ }],
571
+ /**
572
+ * Container
573
+ * @see https://tailwindcss.com/docs/container
574
+ */
575
+ container: ['container'],
576
+ /**
577
+ * Columns
578
+ * @see https://tailwindcss.com/docs/columns
579
+ */
580
+ columns: [{
581
+ columns: [isTshirtSize]
582
+ }],
583
+ /**
584
+ * Break After
585
+ * @see https://tailwindcss.com/docs/break-after
586
+ */
587
+ 'break-after': [{
588
+ 'break-after': getBreaks()
589
+ }],
590
+ /**
591
+ * Break Before
592
+ * @see https://tailwindcss.com/docs/break-before
593
+ */
594
+ 'break-before': [{
595
+ 'break-before': getBreaks()
596
+ }],
597
+ /**
598
+ * Break Inside
599
+ * @see https://tailwindcss.com/docs/break-inside
600
+ */
601
+ 'break-inside': [{
602
+ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']
603
+ }],
604
+ /**
605
+ * Box Decoration Break
606
+ * @see https://tailwindcss.com/docs/box-decoration-break
607
+ */
608
+ 'box-decoration': [{
609
+ 'box-decoration': ['slice', 'clone']
610
+ }],
611
+ /**
612
+ * Box Sizing
613
+ * @see https://tailwindcss.com/docs/box-sizing
614
+ */
615
+ box: [{
616
+ box: ['border', 'content']
617
+ }],
618
+ /**
619
+ * Display
620
+ * @see https://tailwindcss.com/docs/display
621
+ */
622
+ display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],
623
+ /**
624
+ * Floats
625
+ * @see https://tailwindcss.com/docs/float
626
+ */
627
+ float: [{
628
+ float: ['right', 'left', 'none', 'start', 'end']
629
+ }],
630
+ /**
631
+ * Clear
632
+ * @see https://tailwindcss.com/docs/clear
633
+ */
634
+ clear: [{
635
+ clear: ['left', 'right', 'both', 'none', 'start', 'end']
636
+ }],
637
+ /**
638
+ * Isolation
639
+ * @see https://tailwindcss.com/docs/isolation
640
+ */
641
+ isolation: ['isolate', 'isolation-auto'],
642
+ /**
643
+ * Object Fit
644
+ * @see https://tailwindcss.com/docs/object-fit
645
+ */
646
+ 'object-fit': [{
647
+ object: ['contain', 'cover', 'fill', 'none', 'scale-down']
648
+ }],
649
+ /**
650
+ * Object Position
651
+ * @see https://tailwindcss.com/docs/object-position
652
+ */
653
+ 'object-position': [{
654
+ object: [...getPositions(), isArbitraryValue]
655
+ }],
656
+ /**
657
+ * Overflow
658
+ * @see https://tailwindcss.com/docs/overflow
659
+ */
660
+ overflow: [{
661
+ overflow: getOverflow()
662
+ }],
663
+ /**
664
+ * Overflow X
665
+ * @see https://tailwindcss.com/docs/overflow
666
+ */
667
+ 'overflow-x': [{
668
+ 'overflow-x': getOverflow()
669
+ }],
670
+ /**
671
+ * Overflow Y
672
+ * @see https://tailwindcss.com/docs/overflow
673
+ */
674
+ 'overflow-y': [{
675
+ 'overflow-y': getOverflow()
676
+ }],
677
+ /**
678
+ * Overscroll Behavior
679
+ * @see https://tailwindcss.com/docs/overscroll-behavior
680
+ */
681
+ overscroll: [{
682
+ overscroll: getOverscroll()
683
+ }],
684
+ /**
685
+ * Overscroll Behavior X
686
+ * @see https://tailwindcss.com/docs/overscroll-behavior
687
+ */
688
+ 'overscroll-x': [{
689
+ 'overscroll-x': getOverscroll()
690
+ }],
691
+ /**
692
+ * Overscroll Behavior Y
693
+ * @see https://tailwindcss.com/docs/overscroll-behavior
694
+ */
695
+ 'overscroll-y': [{
696
+ 'overscroll-y': getOverscroll()
697
+ }],
698
+ /**
699
+ * Position
700
+ * @see https://tailwindcss.com/docs/position
701
+ */
702
+ position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],
703
+ /**
704
+ * Top / Right / Bottom / Left
705
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
706
+ */
707
+ inset: [{
708
+ inset: [inset]
709
+ }],
710
+ /**
711
+ * Right / Left
712
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
713
+ */
714
+ 'inset-x': [{
715
+ 'inset-x': [inset]
716
+ }],
717
+ /**
718
+ * Top / Bottom
719
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
720
+ */
721
+ 'inset-y': [{
722
+ 'inset-y': [inset]
723
+ }],
724
+ /**
725
+ * Start
726
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
727
+ */
728
+ start: [{
729
+ start: [inset]
730
+ }],
731
+ /**
732
+ * End
733
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
734
+ */
735
+ end: [{
736
+ end: [inset]
737
+ }],
738
+ /**
739
+ * Top
740
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
741
+ */
742
+ top: [{
743
+ top: [inset]
744
+ }],
745
+ /**
746
+ * Right
747
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
748
+ */
749
+ right: [{
750
+ right: [inset]
751
+ }],
752
+ /**
753
+ * Bottom
754
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
755
+ */
756
+ bottom: [{
757
+ bottom: [inset]
758
+ }],
759
+ /**
760
+ * Left
761
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
762
+ */
763
+ left: [{
764
+ left: [inset]
765
+ }],
766
+ /**
767
+ * Visibility
768
+ * @see https://tailwindcss.com/docs/visibility
769
+ */
770
+ visibility: ['visible', 'invisible', 'collapse'],
771
+ /**
772
+ * Z-Index
773
+ * @see https://tailwindcss.com/docs/z-index
774
+ */
775
+ z: [{
776
+ z: ['auto', isInteger, isArbitraryValue]
777
+ }],
778
+ // Flexbox and Grid
779
+ /**
780
+ * Flex Basis
781
+ * @see https://tailwindcss.com/docs/flex-basis
782
+ */
783
+ basis: [{
784
+ basis: getSpacingWithAutoAndArbitrary()
785
+ }],
786
+ /**
787
+ * Flex Direction
788
+ * @see https://tailwindcss.com/docs/flex-direction
789
+ */
790
+ 'flex-direction': [{
791
+ flex: ['row', 'row-reverse', 'col', 'col-reverse']
792
+ }],
793
+ /**
794
+ * Flex Wrap
795
+ * @see https://tailwindcss.com/docs/flex-wrap
796
+ */
797
+ 'flex-wrap': [{
798
+ flex: ['wrap', 'wrap-reverse', 'nowrap']
799
+ }],
800
+ /**
801
+ * Flex
802
+ * @see https://tailwindcss.com/docs/flex
803
+ */
804
+ flex: [{
805
+ flex: ['1', 'auto', 'initial', 'none', isArbitraryValue]
806
+ }],
807
+ /**
808
+ * Flex Grow
809
+ * @see https://tailwindcss.com/docs/flex-grow
810
+ */
811
+ grow: [{
812
+ grow: getZeroAndEmpty()
813
+ }],
814
+ /**
815
+ * Flex Shrink
816
+ * @see https://tailwindcss.com/docs/flex-shrink
817
+ */
818
+ shrink: [{
819
+ shrink: getZeroAndEmpty()
820
+ }],
821
+ /**
822
+ * Order
823
+ * @see https://tailwindcss.com/docs/order
824
+ */
825
+ order: [{
826
+ order: ['first', 'last', 'none', isInteger, isArbitraryValue]
827
+ }],
828
+ /**
829
+ * Grid Template Columns
830
+ * @see https://tailwindcss.com/docs/grid-template-columns
831
+ */
832
+ 'grid-cols': [{
833
+ 'grid-cols': [isAny]
834
+ }],
835
+ /**
836
+ * Grid Column Start / End
837
+ * @see https://tailwindcss.com/docs/grid-column
838
+ */
839
+ 'col-start-end': [{
840
+ col: ['auto', {
841
+ span: ['full', isInteger, isArbitraryValue]
842
+ }, isArbitraryValue]
843
+ }],
844
+ /**
845
+ * Grid Column Start
846
+ * @see https://tailwindcss.com/docs/grid-column
847
+ */
848
+ 'col-start': [{
849
+ 'col-start': getNumberWithAutoAndArbitrary()
850
+ }],
851
+ /**
852
+ * Grid Column End
853
+ * @see https://tailwindcss.com/docs/grid-column
854
+ */
855
+ 'col-end': [{
856
+ 'col-end': getNumberWithAutoAndArbitrary()
857
+ }],
858
+ /**
859
+ * Grid Template Rows
860
+ * @see https://tailwindcss.com/docs/grid-template-rows
861
+ */
862
+ 'grid-rows': [{
863
+ 'grid-rows': [isAny]
864
+ }],
865
+ /**
866
+ * Grid Row Start / End
867
+ * @see https://tailwindcss.com/docs/grid-row
868
+ */
869
+ 'row-start-end': [{
870
+ row: ['auto', {
871
+ span: [isInteger, isArbitraryValue]
872
+ }, isArbitraryValue]
873
+ }],
874
+ /**
875
+ * Grid Row Start
876
+ * @see https://tailwindcss.com/docs/grid-row
877
+ */
878
+ 'row-start': [{
879
+ 'row-start': getNumberWithAutoAndArbitrary()
880
+ }],
881
+ /**
882
+ * Grid Row End
883
+ * @see https://tailwindcss.com/docs/grid-row
884
+ */
885
+ 'row-end': [{
886
+ 'row-end': getNumberWithAutoAndArbitrary()
887
+ }],
888
+ /**
889
+ * Grid Auto Flow
890
+ * @see https://tailwindcss.com/docs/grid-auto-flow
891
+ */
892
+ 'grid-flow': [{
893
+ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']
894
+ }],
895
+ /**
896
+ * Grid Auto Columns
897
+ * @see https://tailwindcss.com/docs/grid-auto-columns
898
+ */
899
+ 'auto-cols': [{
900
+ 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue]
901
+ }],
902
+ /**
903
+ * Grid Auto Rows
904
+ * @see https://tailwindcss.com/docs/grid-auto-rows
905
+ */
906
+ 'auto-rows': [{
907
+ 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue]
908
+ }],
909
+ /**
910
+ * Gap
911
+ * @see https://tailwindcss.com/docs/gap
912
+ */
913
+ gap: [{
914
+ gap: [gap]
915
+ }],
916
+ /**
917
+ * Gap X
918
+ * @see https://tailwindcss.com/docs/gap
919
+ */
920
+ 'gap-x': [{
921
+ 'gap-x': [gap]
922
+ }],
923
+ /**
924
+ * Gap Y
925
+ * @see https://tailwindcss.com/docs/gap
926
+ */
927
+ 'gap-y': [{
928
+ 'gap-y': [gap]
929
+ }],
930
+ /**
931
+ * Justify Content
932
+ * @see https://tailwindcss.com/docs/justify-content
933
+ */
934
+ 'justify-content': [{
935
+ justify: ['normal', ...getAlign()]
936
+ }],
937
+ /**
938
+ * Justify Items
939
+ * @see https://tailwindcss.com/docs/justify-items
940
+ */
941
+ 'justify-items': [{
942
+ 'justify-items': ['start', 'end', 'center', 'stretch']
943
+ }],
944
+ /**
945
+ * Justify Self
946
+ * @see https://tailwindcss.com/docs/justify-self
947
+ */
948
+ 'justify-self': [{
949
+ 'justify-self': ['auto', 'start', 'end', 'center', 'stretch']
950
+ }],
951
+ /**
952
+ * Align Content
953
+ * @see https://tailwindcss.com/docs/align-content
954
+ */
955
+ 'align-content': [{
956
+ content: ['normal', ...getAlign(), 'baseline']
957
+ }],
958
+ /**
959
+ * Align Items
960
+ * @see https://tailwindcss.com/docs/align-items
961
+ */
962
+ 'align-items': [{
963
+ items: ['start', 'end', 'center', 'baseline', 'stretch']
964
+ }],
965
+ /**
966
+ * Align Self
967
+ * @see https://tailwindcss.com/docs/align-self
968
+ */
969
+ 'align-self': [{
970
+ self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline']
971
+ }],
972
+ /**
973
+ * Place Content
974
+ * @see https://tailwindcss.com/docs/place-content
975
+ */
976
+ 'place-content': [{
977
+ 'place-content': [...getAlign(), 'baseline']
978
+ }],
979
+ /**
980
+ * Place Items
981
+ * @see https://tailwindcss.com/docs/place-items
982
+ */
983
+ 'place-items': [{
984
+ 'place-items': ['start', 'end', 'center', 'baseline', 'stretch']
985
+ }],
986
+ /**
987
+ * Place Self
988
+ * @see https://tailwindcss.com/docs/place-self
989
+ */
990
+ 'place-self': [{
991
+ 'place-self': ['auto', 'start', 'end', 'center', 'stretch']
992
+ }],
993
+ // Spacing
994
+ /**
995
+ * Padding
996
+ * @see https://tailwindcss.com/docs/padding
997
+ */
998
+ p: [{
999
+ p: [padding]
1000
+ }],
1001
+ /**
1002
+ * Padding X
1003
+ * @see https://tailwindcss.com/docs/padding
1004
+ */
1005
+ px: [{
1006
+ px: [padding]
1007
+ }],
1008
+ /**
1009
+ * Padding Y
1010
+ * @see https://tailwindcss.com/docs/padding
1011
+ */
1012
+ py: [{
1013
+ py: [padding]
1014
+ }],
1015
+ /**
1016
+ * Padding Start
1017
+ * @see https://tailwindcss.com/docs/padding
1018
+ */
1019
+ ps: [{
1020
+ ps: [padding]
1021
+ }],
1022
+ /**
1023
+ * Padding End
1024
+ * @see https://tailwindcss.com/docs/padding
1025
+ */
1026
+ pe: [{
1027
+ pe: [padding]
1028
+ }],
1029
+ /**
1030
+ * Padding Top
1031
+ * @see https://tailwindcss.com/docs/padding
1032
+ */
1033
+ pt: [{
1034
+ pt: [padding]
1035
+ }],
1036
+ /**
1037
+ * Padding Right
1038
+ * @see https://tailwindcss.com/docs/padding
1039
+ */
1040
+ pr: [{
1041
+ pr: [padding]
1042
+ }],
1043
+ /**
1044
+ * Padding Bottom
1045
+ * @see https://tailwindcss.com/docs/padding
1046
+ */
1047
+ pb: [{
1048
+ pb: [padding]
1049
+ }],
1050
+ /**
1051
+ * Padding Left
1052
+ * @see https://tailwindcss.com/docs/padding
1053
+ */
1054
+ pl: [{
1055
+ pl: [padding]
1056
+ }],
1057
+ /**
1058
+ * Margin
1059
+ * @see https://tailwindcss.com/docs/margin
1060
+ */
1061
+ m: [{
1062
+ m: [margin]
1063
+ }],
1064
+ /**
1065
+ * Margin X
1066
+ * @see https://tailwindcss.com/docs/margin
1067
+ */
1068
+ mx: [{
1069
+ mx: [margin]
1070
+ }],
1071
+ /**
1072
+ * Margin Y
1073
+ * @see https://tailwindcss.com/docs/margin
1074
+ */
1075
+ my: [{
1076
+ my: [margin]
1077
+ }],
1078
+ /**
1079
+ * Margin Start
1080
+ * @see https://tailwindcss.com/docs/margin
1081
+ */
1082
+ ms: [{
1083
+ ms: [margin]
1084
+ }],
1085
+ /**
1086
+ * Margin End
1087
+ * @see https://tailwindcss.com/docs/margin
1088
+ */
1089
+ me: [{
1090
+ me: [margin]
1091
+ }],
1092
+ /**
1093
+ * Margin Top
1094
+ * @see https://tailwindcss.com/docs/margin
1095
+ */
1096
+ mt: [{
1097
+ mt: [margin]
1098
+ }],
1099
+ /**
1100
+ * Margin Right
1101
+ * @see https://tailwindcss.com/docs/margin
1102
+ */
1103
+ mr: [{
1104
+ mr: [margin]
1105
+ }],
1106
+ /**
1107
+ * Margin Bottom
1108
+ * @see https://tailwindcss.com/docs/margin
1109
+ */
1110
+ mb: [{
1111
+ mb: [margin]
1112
+ }],
1113
+ /**
1114
+ * Margin Left
1115
+ * @see https://tailwindcss.com/docs/margin
1116
+ */
1117
+ ml: [{
1118
+ ml: [margin]
1119
+ }],
1120
+ /**
1121
+ * Space Between X
1122
+ * @see https://tailwindcss.com/docs/space
1123
+ */
1124
+ 'space-x': [{
1125
+ 'space-x': [space]
1126
+ }],
1127
+ /**
1128
+ * Space Between X Reverse
1129
+ * @see https://tailwindcss.com/docs/space
1130
+ */
1131
+ 'space-x-reverse': ['space-x-reverse'],
1132
+ /**
1133
+ * Space Between Y
1134
+ * @see https://tailwindcss.com/docs/space
1135
+ */
1136
+ 'space-y': [{
1137
+ 'space-y': [space]
1138
+ }],
1139
+ /**
1140
+ * Space Between Y Reverse
1141
+ * @see https://tailwindcss.com/docs/space
1142
+ */
1143
+ 'space-y-reverse': ['space-y-reverse'],
1144
+ // Sizing
1145
+ /**
1146
+ * Width
1147
+ * @see https://tailwindcss.com/docs/width
1148
+ */
1149
+ w: [{
1150
+ w: ['auto', 'min', 'max', 'fit', 'svw', 'lvw', 'dvw', isArbitraryValue, spacing]
1151
+ }],
1152
+ /**
1153
+ * Min-Width
1154
+ * @see https://tailwindcss.com/docs/min-width
1155
+ */
1156
+ 'min-w': [{
1157
+ 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit']
1158
+ }],
1159
+ /**
1160
+ * Max-Width
1161
+ * @see https://tailwindcss.com/docs/max-width
1162
+ */
1163
+ 'max-w': [{
1164
+ 'max-w': [isArbitraryValue, spacing, 'none', 'full', 'min', 'max', 'fit', 'prose', {
1165
+ screen: [isTshirtSize]
1166
+ }, isTshirtSize]
1167
+ }],
1168
+ /**
1169
+ * Height
1170
+ * @see https://tailwindcss.com/docs/height
1171
+ */
1172
+ h: [{
1173
+ h: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']
1174
+ }],
1175
+ /**
1176
+ * Min-Height
1177
+ * @see https://tailwindcss.com/docs/min-height
1178
+ */
1179
+ 'min-h': [{
1180
+ 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']
1181
+ }],
1182
+ /**
1183
+ * Max-Height
1184
+ * @see https://tailwindcss.com/docs/max-height
1185
+ */
1186
+ 'max-h': [{
1187
+ 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']
1188
+ }],
1189
+ /**
1190
+ * Size
1191
+ * @see https://tailwindcss.com/docs/size
1192
+ */
1193
+ size: [{
1194
+ size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit']
1195
+ }],
1196
+ // Typography
1197
+ /**
1198
+ * Font Size
1199
+ * @see https://tailwindcss.com/docs/font-size
1200
+ */
1201
+ 'font-size': [{
1202
+ text: ['base', isTshirtSize, isArbitraryLength]
1203
+ }],
1204
+ /**
1205
+ * Font Smoothing
1206
+ * @see https://tailwindcss.com/docs/font-smoothing
1207
+ */
1208
+ 'font-smoothing': ['antialiased', 'subpixel-antialiased'],
1209
+ /**
1210
+ * Font Style
1211
+ * @see https://tailwindcss.com/docs/font-style
1212
+ */
1213
+ 'font-style': ['italic', 'not-italic'],
1214
+ /**
1215
+ * Font Weight
1216
+ * @see https://tailwindcss.com/docs/font-weight
1217
+ */
1218
+ 'font-weight': [{
1219
+ font: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black', isArbitraryNumber]
1220
+ }],
1221
+ /**
1222
+ * Font Family
1223
+ * @see https://tailwindcss.com/docs/font-family
1224
+ */
1225
+ 'font-family': [{
1226
+ font: [isAny]
1227
+ }],
1228
+ /**
1229
+ * Font Variant Numeric
1230
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1231
+ */
1232
+ 'fvn-normal': ['normal-nums'],
1233
+ /**
1234
+ * Font Variant Numeric
1235
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1236
+ */
1237
+ 'fvn-ordinal': ['ordinal'],
1238
+ /**
1239
+ * Font Variant Numeric
1240
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1241
+ */
1242
+ 'fvn-slashed-zero': ['slashed-zero'],
1243
+ /**
1244
+ * Font Variant Numeric
1245
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1246
+ */
1247
+ 'fvn-figure': ['lining-nums', 'oldstyle-nums'],
1248
+ /**
1249
+ * Font Variant Numeric
1250
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1251
+ */
1252
+ 'fvn-spacing': ['proportional-nums', 'tabular-nums'],
1253
+ /**
1254
+ * Font Variant Numeric
1255
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1256
+ */
1257
+ 'fvn-fraction': ['diagonal-fractions', 'stacked-fractons'],
1258
+ /**
1259
+ * Letter Spacing
1260
+ * @see https://tailwindcss.com/docs/letter-spacing
1261
+ */
1262
+ tracking: [{
1263
+ tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest', isArbitraryValue]
1264
+ }],
1265
+ /**
1266
+ * Line Clamp
1267
+ * @see https://tailwindcss.com/docs/line-clamp
1268
+ */
1269
+ 'line-clamp': [{
1270
+ 'line-clamp': ['none', isNumber, isArbitraryNumber]
1271
+ }],
1272
+ /**
1273
+ * Line Height
1274
+ * @see https://tailwindcss.com/docs/line-height
1275
+ */
1276
+ leading: [{
1277
+ leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isLength, isArbitraryValue]
1278
+ }],
1279
+ /**
1280
+ * List Style Image
1281
+ * @see https://tailwindcss.com/docs/list-style-image
1282
+ */
1283
+ 'list-image': [{
1284
+ 'list-image': ['none', isArbitraryValue]
1285
+ }],
1286
+ /**
1287
+ * List Style Type
1288
+ * @see https://tailwindcss.com/docs/list-style-type
1289
+ */
1290
+ 'list-style-type': [{
1291
+ list: ['none', 'disc', 'decimal', isArbitraryValue]
1292
+ }],
1293
+ /**
1294
+ * List Style Position
1295
+ * @see https://tailwindcss.com/docs/list-style-position
1296
+ */
1297
+ 'list-style-position': [{
1298
+ list: ['inside', 'outside']
1299
+ }],
1300
+ /**
1301
+ * Placeholder Color
1302
+ * @deprecated since Tailwind CSS v3.0.0
1303
+ * @see https://tailwindcss.com/docs/placeholder-color
1304
+ */
1305
+ 'placeholder-color': [{
1306
+ placeholder: [colors]
1307
+ }],
1308
+ /**
1309
+ * Placeholder Opacity
1310
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1311
+ */
1312
+ 'placeholder-opacity': [{
1313
+ 'placeholder-opacity': [opacity]
1314
+ }],
1315
+ /**
1316
+ * Text Alignment
1317
+ * @see https://tailwindcss.com/docs/text-align
1318
+ */
1319
+ 'text-alignment': [{
1320
+ text: ['left', 'center', 'right', 'justify', 'start', 'end']
1321
+ }],
1322
+ /**
1323
+ * Text Color
1324
+ * @see https://tailwindcss.com/docs/text-color
1325
+ */
1326
+ 'text-color': [{
1327
+ text: [colors]
1328
+ }],
1329
+ /**
1330
+ * Text Opacity
1331
+ * @see https://tailwindcss.com/docs/text-opacity
1332
+ */
1333
+ 'text-opacity': [{
1334
+ 'text-opacity': [opacity]
1335
+ }],
1336
+ /**
1337
+ * Text Decoration
1338
+ * @see https://tailwindcss.com/docs/text-decoration
1339
+ */
1340
+ 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],
1341
+ /**
1342
+ * Text Decoration Style
1343
+ * @see https://tailwindcss.com/docs/text-decoration-style
1344
+ */
1345
+ 'text-decoration-style': [{
1346
+ decoration: [...getLineStyles(), 'wavy']
1347
+ }],
1348
+ /**
1349
+ * Text Decoration Thickness
1350
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1351
+ */
1352
+ 'text-decoration-thickness': [{
1353
+ decoration: ['auto', 'from-font', isLength, isArbitraryLength]
1354
+ }],
1355
+ /**
1356
+ * Text Underline Offset
1357
+ * @see https://tailwindcss.com/docs/text-underline-offset
1358
+ */
1359
+ 'underline-offset': [{
1360
+ 'underline-offset': ['auto', isLength, isArbitraryValue]
1361
+ }],
1362
+ /**
1363
+ * Text Decoration Color
1364
+ * @see https://tailwindcss.com/docs/text-decoration-color
1365
+ */
1366
+ 'text-decoration-color': [{
1367
+ decoration: [colors]
1368
+ }],
1369
+ /**
1370
+ * Text Transform
1371
+ * @see https://tailwindcss.com/docs/text-transform
1372
+ */
1373
+ 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],
1374
+ /**
1375
+ * Text Overflow
1376
+ * @see https://tailwindcss.com/docs/text-overflow
1377
+ */
1378
+ 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],
1379
+ /**
1380
+ * Text Wrap
1381
+ * @see https://tailwindcss.com/docs/text-wrap
1382
+ */
1383
+ 'text-wrap': [{
1384
+ text: ['wrap', 'nowrap', 'balance', 'pretty']
1385
+ }],
1386
+ /**
1387
+ * Text Indent
1388
+ * @see https://tailwindcss.com/docs/text-indent
1389
+ */
1390
+ indent: [{
1391
+ indent: getSpacingWithArbitrary()
1392
+ }],
1393
+ /**
1394
+ * Vertical Alignment
1395
+ * @see https://tailwindcss.com/docs/vertical-align
1396
+ */
1397
+ 'vertical-align': [{
1398
+ align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryValue]
1399
+ }],
1400
+ /**
1401
+ * Whitespace
1402
+ * @see https://tailwindcss.com/docs/whitespace
1403
+ */
1404
+ whitespace: [{
1405
+ whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']
1406
+ }],
1407
+ /**
1408
+ * Word Break
1409
+ * @see https://tailwindcss.com/docs/word-break
1410
+ */
1411
+ break: [{
1412
+ break: ['normal', 'words', 'all', 'keep']
1413
+ }],
1414
+ /**
1415
+ * Hyphens
1416
+ * @see https://tailwindcss.com/docs/hyphens
1417
+ */
1418
+ hyphens: [{
1419
+ hyphens: ['none', 'manual', 'auto']
1420
+ }],
1421
+ /**
1422
+ * Content
1423
+ * @see https://tailwindcss.com/docs/content
1424
+ */
1425
+ content: [{
1426
+ content: ['none', isArbitraryValue]
1427
+ }],
1428
+ // Backgrounds
1429
+ /**
1430
+ * Background Attachment
1431
+ * @see https://tailwindcss.com/docs/background-attachment
1432
+ */
1433
+ 'bg-attachment': [{
1434
+ bg: ['fixed', 'local', 'scroll']
1435
+ }],
1436
+ /**
1437
+ * Background Clip
1438
+ * @see https://tailwindcss.com/docs/background-clip
1439
+ */
1440
+ 'bg-clip': [{
1441
+ 'bg-clip': ['border', 'padding', 'content', 'text']
1442
+ }],
1443
+ /**
1444
+ * Background Opacity
1445
+ * @deprecated since Tailwind CSS v3.0.0
1446
+ * @see https://tailwindcss.com/docs/background-opacity
1447
+ */
1448
+ 'bg-opacity': [{
1449
+ 'bg-opacity': [opacity]
1450
+ }],
1451
+ /**
1452
+ * Background Origin
1453
+ * @see https://tailwindcss.com/docs/background-origin
1454
+ */
1455
+ 'bg-origin': [{
1456
+ 'bg-origin': ['border', 'padding', 'content']
1457
+ }],
1458
+ /**
1459
+ * Background Position
1460
+ * @see https://tailwindcss.com/docs/background-position
1461
+ */
1462
+ 'bg-position': [{
1463
+ bg: [...getPositions(), isArbitraryPosition]
1464
+ }],
1465
+ /**
1466
+ * Background Repeat
1467
+ * @see https://tailwindcss.com/docs/background-repeat
1468
+ */
1469
+ 'bg-repeat': [{
1470
+ bg: ['no-repeat', {
1471
+ repeat: ['', 'x', 'y', 'round', 'space']
1472
+ }]
1473
+ }],
1474
+ /**
1475
+ * Background Size
1476
+ * @see https://tailwindcss.com/docs/background-size
1477
+ */
1478
+ 'bg-size': [{
1479
+ bg: ['auto', 'cover', 'contain', isArbitrarySize]
1480
+ }],
1481
+ /**
1482
+ * Background Image
1483
+ * @see https://tailwindcss.com/docs/background-image
1484
+ */
1485
+ 'bg-image': [{
1486
+ bg: ['none', {
1487
+ 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']
1488
+ }, isArbitraryImage]
1489
+ }],
1490
+ /**
1491
+ * Background Color
1492
+ * @see https://tailwindcss.com/docs/background-color
1493
+ */
1494
+ 'bg-color': [{
1495
+ bg: [colors]
1496
+ }],
1497
+ /**
1498
+ * Gradient Color Stops From Position
1499
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1500
+ */
1501
+ 'gradient-from-pos': [{
1502
+ from: [gradientColorStopPositions]
1503
+ }],
1504
+ /**
1505
+ * Gradient Color Stops Via Position
1506
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1507
+ */
1508
+ 'gradient-via-pos': [{
1509
+ via: [gradientColorStopPositions]
1510
+ }],
1511
+ /**
1512
+ * Gradient Color Stops To Position
1513
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1514
+ */
1515
+ 'gradient-to-pos': [{
1516
+ to: [gradientColorStopPositions]
1517
+ }],
1518
+ /**
1519
+ * Gradient Color Stops From
1520
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1521
+ */
1522
+ 'gradient-from': [{
1523
+ from: [gradientColorStops]
1524
+ }],
1525
+ /**
1526
+ * Gradient Color Stops Via
1527
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1528
+ */
1529
+ 'gradient-via': [{
1530
+ via: [gradientColorStops]
1531
+ }],
1532
+ /**
1533
+ * Gradient Color Stops To
1534
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1535
+ */
1536
+ 'gradient-to': [{
1537
+ to: [gradientColorStops]
1538
+ }],
1539
+ // Borders
1540
+ /**
1541
+ * Border Radius
1542
+ * @see https://tailwindcss.com/docs/border-radius
1543
+ */
1544
+ rounded: [{
1545
+ rounded: [borderRadius]
1546
+ }],
1547
+ /**
1548
+ * Border Radius Start
1549
+ * @see https://tailwindcss.com/docs/border-radius
1550
+ */
1551
+ 'rounded-s': [{
1552
+ 'rounded-s': [borderRadius]
1553
+ }],
1554
+ /**
1555
+ * Border Radius End
1556
+ * @see https://tailwindcss.com/docs/border-radius
1557
+ */
1558
+ 'rounded-e': [{
1559
+ 'rounded-e': [borderRadius]
1560
+ }],
1561
+ /**
1562
+ * Border Radius Top
1563
+ * @see https://tailwindcss.com/docs/border-radius
1564
+ */
1565
+ 'rounded-t': [{
1566
+ 'rounded-t': [borderRadius]
1567
+ }],
1568
+ /**
1569
+ * Border Radius Right
1570
+ * @see https://tailwindcss.com/docs/border-radius
1571
+ */
1572
+ 'rounded-r': [{
1573
+ 'rounded-r': [borderRadius]
1574
+ }],
1575
+ /**
1576
+ * Border Radius Bottom
1577
+ * @see https://tailwindcss.com/docs/border-radius
1578
+ */
1579
+ 'rounded-b': [{
1580
+ 'rounded-b': [borderRadius]
1581
+ }],
1582
+ /**
1583
+ * Border Radius Left
1584
+ * @see https://tailwindcss.com/docs/border-radius
1585
+ */
1586
+ 'rounded-l': [{
1587
+ 'rounded-l': [borderRadius]
1588
+ }],
1589
+ /**
1590
+ * Border Radius Start Start
1591
+ * @see https://tailwindcss.com/docs/border-radius
1592
+ */
1593
+ 'rounded-ss': [{
1594
+ 'rounded-ss': [borderRadius]
1595
+ }],
1596
+ /**
1597
+ * Border Radius Start End
1598
+ * @see https://tailwindcss.com/docs/border-radius
1599
+ */
1600
+ 'rounded-se': [{
1601
+ 'rounded-se': [borderRadius]
1602
+ }],
1603
+ /**
1604
+ * Border Radius End End
1605
+ * @see https://tailwindcss.com/docs/border-radius
1606
+ */
1607
+ 'rounded-ee': [{
1608
+ 'rounded-ee': [borderRadius]
1609
+ }],
1610
+ /**
1611
+ * Border Radius End Start
1612
+ * @see https://tailwindcss.com/docs/border-radius
1613
+ */
1614
+ 'rounded-es': [{
1615
+ 'rounded-es': [borderRadius]
1616
+ }],
1617
+ /**
1618
+ * Border Radius Top Left
1619
+ * @see https://tailwindcss.com/docs/border-radius
1620
+ */
1621
+ 'rounded-tl': [{
1622
+ 'rounded-tl': [borderRadius]
1623
+ }],
1624
+ /**
1625
+ * Border Radius Top Right
1626
+ * @see https://tailwindcss.com/docs/border-radius
1627
+ */
1628
+ 'rounded-tr': [{
1629
+ 'rounded-tr': [borderRadius]
1630
+ }],
1631
+ /**
1632
+ * Border Radius Bottom Right
1633
+ * @see https://tailwindcss.com/docs/border-radius
1634
+ */
1635
+ 'rounded-br': [{
1636
+ 'rounded-br': [borderRadius]
1637
+ }],
1638
+ /**
1639
+ * Border Radius Bottom Left
1640
+ * @see https://tailwindcss.com/docs/border-radius
1641
+ */
1642
+ 'rounded-bl': [{
1643
+ 'rounded-bl': [borderRadius]
1644
+ }],
1645
+ /**
1646
+ * Border Width
1647
+ * @see https://tailwindcss.com/docs/border-width
1648
+ */
1649
+ 'border-w': [{
1650
+ border: [borderWidth]
1651
+ }],
1652
+ /**
1653
+ * Border Width X
1654
+ * @see https://tailwindcss.com/docs/border-width
1655
+ */
1656
+ 'border-w-x': [{
1657
+ 'border-x': [borderWidth]
1658
+ }],
1659
+ /**
1660
+ * Border Width Y
1661
+ * @see https://tailwindcss.com/docs/border-width
1662
+ */
1663
+ 'border-w-y': [{
1664
+ 'border-y': [borderWidth]
1665
+ }],
1666
+ /**
1667
+ * Border Width Start
1668
+ * @see https://tailwindcss.com/docs/border-width
1669
+ */
1670
+ 'border-w-s': [{
1671
+ 'border-s': [borderWidth]
1672
+ }],
1673
+ /**
1674
+ * Border Width End
1675
+ * @see https://tailwindcss.com/docs/border-width
1676
+ */
1677
+ 'border-w-e': [{
1678
+ 'border-e': [borderWidth]
1679
+ }],
1680
+ /**
1681
+ * Border Width Top
1682
+ * @see https://tailwindcss.com/docs/border-width
1683
+ */
1684
+ 'border-w-t': [{
1685
+ 'border-t': [borderWidth]
1686
+ }],
1687
+ /**
1688
+ * Border Width Right
1689
+ * @see https://tailwindcss.com/docs/border-width
1690
+ */
1691
+ 'border-w-r': [{
1692
+ 'border-r': [borderWidth]
1693
+ }],
1694
+ /**
1695
+ * Border Width Bottom
1696
+ * @see https://tailwindcss.com/docs/border-width
1697
+ */
1698
+ 'border-w-b': [{
1699
+ 'border-b': [borderWidth]
1700
+ }],
1701
+ /**
1702
+ * Border Width Left
1703
+ * @see https://tailwindcss.com/docs/border-width
1704
+ */
1705
+ 'border-w-l': [{
1706
+ 'border-l': [borderWidth]
1707
+ }],
1708
+ /**
1709
+ * Border Opacity
1710
+ * @see https://tailwindcss.com/docs/border-opacity
1711
+ */
1712
+ 'border-opacity': [{
1713
+ 'border-opacity': [opacity]
1714
+ }],
1715
+ /**
1716
+ * Border Style
1717
+ * @see https://tailwindcss.com/docs/border-style
1718
+ */
1719
+ 'border-style': [{
1720
+ border: [...getLineStyles(), 'hidden']
1721
+ }],
1722
+ /**
1723
+ * Divide Width X
1724
+ * @see https://tailwindcss.com/docs/divide-width
1725
+ */
1726
+ 'divide-x': [{
1727
+ 'divide-x': [borderWidth]
1728
+ }],
1729
+ /**
1730
+ * Divide Width X Reverse
1731
+ * @see https://tailwindcss.com/docs/divide-width
1732
+ */
1733
+ 'divide-x-reverse': ['divide-x-reverse'],
1734
+ /**
1735
+ * Divide Width Y
1736
+ * @see https://tailwindcss.com/docs/divide-width
1737
+ */
1738
+ 'divide-y': [{
1739
+ 'divide-y': [borderWidth]
1740
+ }],
1741
+ /**
1742
+ * Divide Width Y Reverse
1743
+ * @see https://tailwindcss.com/docs/divide-width
1744
+ */
1745
+ 'divide-y-reverse': ['divide-y-reverse'],
1746
+ /**
1747
+ * Divide Opacity
1748
+ * @see https://tailwindcss.com/docs/divide-opacity
1749
+ */
1750
+ 'divide-opacity': [{
1751
+ 'divide-opacity': [opacity]
1752
+ }],
1753
+ /**
1754
+ * Divide Style
1755
+ * @see https://tailwindcss.com/docs/divide-style
1756
+ */
1757
+ 'divide-style': [{
1758
+ divide: getLineStyles()
1759
+ }],
1760
+ /**
1761
+ * Border Color
1762
+ * @see https://tailwindcss.com/docs/border-color
1763
+ */
1764
+ 'border-color': [{
1765
+ border: [borderColor]
1766
+ }],
1767
+ /**
1768
+ * Border Color X
1769
+ * @see https://tailwindcss.com/docs/border-color
1770
+ */
1771
+ 'border-color-x': [{
1772
+ 'border-x': [borderColor]
1773
+ }],
1774
+ /**
1775
+ * Border Color Y
1776
+ * @see https://tailwindcss.com/docs/border-color
1777
+ */
1778
+ 'border-color-y': [{
1779
+ 'border-y': [borderColor]
1780
+ }],
1781
+ /**
1782
+ * Border Color Top
1783
+ * @see https://tailwindcss.com/docs/border-color
1784
+ */
1785
+ 'border-color-t': [{
1786
+ 'border-t': [borderColor]
1787
+ }],
1788
+ /**
1789
+ * Border Color Right
1790
+ * @see https://tailwindcss.com/docs/border-color
1791
+ */
1792
+ 'border-color-r': [{
1793
+ 'border-r': [borderColor]
1794
+ }],
1795
+ /**
1796
+ * Border Color Bottom
1797
+ * @see https://tailwindcss.com/docs/border-color
1798
+ */
1799
+ 'border-color-b': [{
1800
+ 'border-b': [borderColor]
1801
+ }],
1802
+ /**
1803
+ * Border Color Left
1804
+ * @see https://tailwindcss.com/docs/border-color
1805
+ */
1806
+ 'border-color-l': [{
1807
+ 'border-l': [borderColor]
1808
+ }],
1809
+ /**
1810
+ * Divide Color
1811
+ * @see https://tailwindcss.com/docs/divide-color
1812
+ */
1813
+ 'divide-color': [{
1814
+ divide: [borderColor]
1815
+ }],
1816
+ /**
1817
+ * Outline Style
1818
+ * @see https://tailwindcss.com/docs/outline-style
1819
+ */
1820
+ 'outline-style': [{
1821
+ outline: ['', ...getLineStyles()]
1822
+ }],
1823
+ /**
1824
+ * Outline Offset
1825
+ * @see https://tailwindcss.com/docs/outline-offset
1826
+ */
1827
+ 'outline-offset': [{
1828
+ 'outline-offset': [isLength, isArbitraryValue]
1829
+ }],
1830
+ /**
1831
+ * Outline Width
1832
+ * @see https://tailwindcss.com/docs/outline-width
1833
+ */
1834
+ 'outline-w': [{
1835
+ outline: [isLength, isArbitraryLength]
1836
+ }],
1837
+ /**
1838
+ * Outline Color
1839
+ * @see https://tailwindcss.com/docs/outline-color
1840
+ */
1841
+ 'outline-color': [{
1842
+ outline: [colors]
1843
+ }],
1844
+ /**
1845
+ * Ring Width
1846
+ * @see https://tailwindcss.com/docs/ring-width
1847
+ */
1848
+ 'ring-w': [{
1849
+ ring: getLengthWithEmptyAndArbitrary()
1850
+ }],
1851
+ /**
1852
+ * Ring Width Inset
1853
+ * @see https://tailwindcss.com/docs/ring-width
1854
+ */
1855
+ 'ring-w-inset': ['ring-inset'],
1856
+ /**
1857
+ * Ring Color
1858
+ * @see https://tailwindcss.com/docs/ring-color
1859
+ */
1860
+ 'ring-color': [{
1861
+ ring: [colors]
1862
+ }],
1863
+ /**
1864
+ * Ring Opacity
1865
+ * @see https://tailwindcss.com/docs/ring-opacity
1866
+ */
1867
+ 'ring-opacity': [{
1868
+ 'ring-opacity': [opacity]
1869
+ }],
1870
+ /**
1871
+ * Ring Offset Width
1872
+ * @see https://tailwindcss.com/docs/ring-offset-width
1873
+ */
1874
+ 'ring-offset-w': [{
1875
+ 'ring-offset': [isLength, isArbitraryLength]
1876
+ }],
1877
+ /**
1878
+ * Ring Offset Color
1879
+ * @see https://tailwindcss.com/docs/ring-offset-color
1880
+ */
1881
+ 'ring-offset-color': [{
1882
+ 'ring-offset': [colors]
1883
+ }],
1884
+ // Effects
1885
+ /**
1886
+ * Box Shadow
1887
+ * @see https://tailwindcss.com/docs/box-shadow
1888
+ */
1889
+ shadow: [{
1890
+ shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow]
1891
+ }],
1892
+ /**
1893
+ * Box Shadow Color
1894
+ * @see https://tailwindcss.com/docs/box-shadow-color
1895
+ */
1896
+ 'shadow-color': [{
1897
+ shadow: [isAny]
1898
+ }],
1899
+ /**
1900
+ * Opacity
1901
+ * @see https://tailwindcss.com/docs/opacity
1902
+ */
1903
+ opacity: [{
1904
+ opacity: [opacity]
1905
+ }],
1906
+ /**
1907
+ * Mix Blend Mode
1908
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1909
+ */
1910
+ 'mix-blend': [{
1911
+ 'mix-blend': getBlendModes()
1912
+ }],
1913
+ /**
1914
+ * Background Blend Mode
1915
+ * @see https://tailwindcss.com/docs/background-blend-mode
1916
+ */
1917
+ 'bg-blend': [{
1918
+ 'bg-blend': getBlendModes()
1919
+ }],
1920
+ // Filters
1921
+ /**
1922
+ * Filter
1923
+ * @deprecated since Tailwind CSS v3.0.0
1924
+ * @see https://tailwindcss.com/docs/filter
1925
+ */
1926
+ filter: [{
1927
+ filter: ['', 'none']
1928
+ }],
1929
+ /**
1930
+ * Blur
1931
+ * @see https://tailwindcss.com/docs/blur
1932
+ */
1933
+ blur: [{
1934
+ blur: [blur]
1935
+ }],
1936
+ /**
1937
+ * Brightness
1938
+ * @see https://tailwindcss.com/docs/brightness
1939
+ */
1940
+ brightness: [{
1941
+ brightness: [brightness]
1942
+ }],
1943
+ /**
1944
+ * Contrast
1945
+ * @see https://tailwindcss.com/docs/contrast
1946
+ */
1947
+ contrast: [{
1948
+ contrast: [contrast]
1949
+ }],
1950
+ /**
1951
+ * Drop Shadow
1952
+ * @see https://tailwindcss.com/docs/drop-shadow
1953
+ */
1954
+ 'drop-shadow': [{
1955
+ 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue]
1956
+ }],
1957
+ /**
1958
+ * Grayscale
1959
+ * @see https://tailwindcss.com/docs/grayscale
1960
+ */
1961
+ grayscale: [{
1962
+ grayscale: [grayscale]
1963
+ }],
1964
+ /**
1965
+ * Hue Rotate
1966
+ * @see https://tailwindcss.com/docs/hue-rotate
1967
+ */
1968
+ 'hue-rotate': [{
1969
+ 'hue-rotate': [hueRotate]
1970
+ }],
1971
+ /**
1972
+ * Invert
1973
+ * @see https://tailwindcss.com/docs/invert
1974
+ */
1975
+ invert: [{
1976
+ invert: [invert]
1977
+ }],
1978
+ /**
1979
+ * Saturate
1980
+ * @see https://tailwindcss.com/docs/saturate
1981
+ */
1982
+ saturate: [{
1983
+ saturate: [saturate]
1984
+ }],
1985
+ /**
1986
+ * Sepia
1987
+ * @see https://tailwindcss.com/docs/sepia
1988
+ */
1989
+ sepia: [{
1990
+ sepia: [sepia]
1991
+ }],
1992
+ /**
1993
+ * Backdrop Filter
1994
+ * @deprecated since Tailwind CSS v3.0.0
1995
+ * @see https://tailwindcss.com/docs/backdrop-filter
1996
+ */
1997
+ 'backdrop-filter': [{
1998
+ 'backdrop-filter': ['', 'none']
1999
+ }],
2000
+ /**
2001
+ * Backdrop Blur
2002
+ * @see https://tailwindcss.com/docs/backdrop-blur
2003
+ */
2004
+ 'backdrop-blur': [{
2005
+ 'backdrop-blur': [blur]
2006
+ }],
2007
+ /**
2008
+ * Backdrop Brightness
2009
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2010
+ */
2011
+ 'backdrop-brightness': [{
2012
+ 'backdrop-brightness': [brightness]
2013
+ }],
2014
+ /**
2015
+ * Backdrop Contrast
2016
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2017
+ */
2018
+ 'backdrop-contrast': [{
2019
+ 'backdrop-contrast': [contrast]
2020
+ }],
2021
+ /**
2022
+ * Backdrop Grayscale
2023
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2024
+ */
2025
+ 'backdrop-grayscale': [{
2026
+ 'backdrop-grayscale': [grayscale]
2027
+ }],
2028
+ /**
2029
+ * Backdrop Hue Rotate
2030
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2031
+ */
2032
+ 'backdrop-hue-rotate': [{
2033
+ 'backdrop-hue-rotate': [hueRotate]
2034
+ }],
2035
+ /**
2036
+ * Backdrop Invert
2037
+ * @see https://tailwindcss.com/docs/backdrop-invert
2038
+ */
2039
+ 'backdrop-invert': [{
2040
+ 'backdrop-invert': [invert]
2041
+ }],
2042
+ /**
2043
+ * Backdrop Opacity
2044
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2045
+ */
2046
+ 'backdrop-opacity': [{
2047
+ 'backdrop-opacity': [opacity]
2048
+ }],
2049
+ /**
2050
+ * Backdrop Saturate
2051
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2052
+ */
2053
+ 'backdrop-saturate': [{
2054
+ 'backdrop-saturate': [saturate]
2055
+ }],
2056
+ /**
2057
+ * Backdrop Sepia
2058
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2059
+ */
2060
+ 'backdrop-sepia': [{
2061
+ 'backdrop-sepia': [sepia]
2062
+ }],
2063
+ // Tables
2064
+ /**
2065
+ * Border Collapse
2066
+ * @see https://tailwindcss.com/docs/border-collapse
2067
+ */
2068
+ 'border-collapse': [{
2069
+ border: ['collapse', 'separate']
2070
+ }],
2071
+ /**
2072
+ * Border Spacing
2073
+ * @see https://tailwindcss.com/docs/border-spacing
2074
+ */
2075
+ 'border-spacing': [{
2076
+ 'border-spacing': [borderSpacing]
2077
+ }],
2078
+ /**
2079
+ * Border Spacing X
2080
+ * @see https://tailwindcss.com/docs/border-spacing
2081
+ */
2082
+ 'border-spacing-x': [{
2083
+ 'border-spacing-x': [borderSpacing]
2084
+ }],
2085
+ /**
2086
+ * Border Spacing Y
2087
+ * @see https://tailwindcss.com/docs/border-spacing
2088
+ */
2089
+ 'border-spacing-y': [{
2090
+ 'border-spacing-y': [borderSpacing]
2091
+ }],
2092
+ /**
2093
+ * Table Layout
2094
+ * @see https://tailwindcss.com/docs/table-layout
2095
+ */
2096
+ 'table-layout': [{
2097
+ table: ['auto', 'fixed']
2098
+ }],
2099
+ /**
2100
+ * Caption Side
2101
+ * @see https://tailwindcss.com/docs/caption-side
2102
+ */
2103
+ caption: [{
2104
+ caption: ['top', 'bottom']
2105
+ }],
2106
+ // Transitions and Animation
2107
+ /**
2108
+ * Tranisition Property
2109
+ * @see https://tailwindcss.com/docs/transition-property
2110
+ */
2111
+ transition: [{
2112
+ transition: ['none', 'all', '', 'colors', 'opacity', 'shadow', 'transform', isArbitraryValue]
2113
+ }],
2114
+ /**
2115
+ * Transition Duration
2116
+ * @see https://tailwindcss.com/docs/transition-duration
2117
+ */
2118
+ duration: [{
2119
+ duration: getNumberAndArbitrary()
2120
+ }],
2121
+ /**
2122
+ * Transition Timing Function
2123
+ * @see https://tailwindcss.com/docs/transition-timing-function
2124
+ */
2125
+ ease: [{
2126
+ ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue]
2127
+ }],
2128
+ /**
2129
+ * Transition Delay
2130
+ * @see https://tailwindcss.com/docs/transition-delay
2131
+ */
2132
+ delay: [{
2133
+ delay: getNumberAndArbitrary()
2134
+ }],
2135
+ /**
2136
+ * Animation
2137
+ * @see https://tailwindcss.com/docs/animation
2138
+ */
2139
+ animate: [{
2140
+ animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue]
2141
+ }],
2142
+ // Transforms
2143
+ /**
2144
+ * Transform
2145
+ * @see https://tailwindcss.com/docs/transform
2146
+ */
2147
+ transform: [{
2148
+ transform: ['', 'gpu', 'none']
2149
+ }],
2150
+ /**
2151
+ * Scale
2152
+ * @see https://tailwindcss.com/docs/scale
2153
+ */
2154
+ scale: [{
2155
+ scale: [scale]
2156
+ }],
2157
+ /**
2158
+ * Scale X
2159
+ * @see https://tailwindcss.com/docs/scale
2160
+ */
2161
+ 'scale-x': [{
2162
+ 'scale-x': [scale]
2163
+ }],
2164
+ /**
2165
+ * Scale Y
2166
+ * @see https://tailwindcss.com/docs/scale
2167
+ */
2168
+ 'scale-y': [{
2169
+ 'scale-y': [scale]
2170
+ }],
2171
+ /**
2172
+ * Rotate
2173
+ * @see https://tailwindcss.com/docs/rotate
2174
+ */
2175
+ rotate: [{
2176
+ rotate: [isInteger, isArbitraryValue]
2177
+ }],
2178
+ /**
2179
+ * Translate X
2180
+ * @see https://tailwindcss.com/docs/translate
2181
+ */
2182
+ 'translate-x': [{
2183
+ 'translate-x': [translate]
2184
+ }],
2185
+ /**
2186
+ * Translate Y
2187
+ * @see https://tailwindcss.com/docs/translate
2188
+ */
2189
+ 'translate-y': [{
2190
+ 'translate-y': [translate]
2191
+ }],
2192
+ /**
2193
+ * Skew X
2194
+ * @see https://tailwindcss.com/docs/skew
2195
+ */
2196
+ 'skew-x': [{
2197
+ 'skew-x': [skew]
2198
+ }],
2199
+ /**
2200
+ * Skew Y
2201
+ * @see https://tailwindcss.com/docs/skew
2202
+ */
2203
+ 'skew-y': [{
2204
+ 'skew-y': [skew]
2205
+ }],
2206
+ /**
2207
+ * Transform Origin
2208
+ * @see https://tailwindcss.com/docs/transform-origin
2209
+ */
2210
+ 'transform-origin': [{
2211
+ origin: ['center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryValue]
2212
+ }],
2213
+ // Interactivity
2214
+ /**
2215
+ * Accent Color
2216
+ * @see https://tailwindcss.com/docs/accent-color
2217
+ */
2218
+ accent: [{
2219
+ accent: ['auto', colors]
2220
+ }],
2221
+ /**
2222
+ * Appearance
2223
+ * @see https://tailwindcss.com/docs/appearance
2224
+ */
2225
+ appearance: [{
2226
+ appearance: ['none', 'auto']
2227
+ }],
2228
+ /**
2229
+ * Cursor
2230
+ * @see https://tailwindcss.com/docs/cursor
2231
+ */
2232
+ cursor: [{
2233
+ cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryValue]
2234
+ }],
2235
+ /**
2236
+ * Caret Color
2237
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2238
+ */
2239
+ 'caret-color': [{
2240
+ caret: [colors]
2241
+ }],
2242
+ /**
2243
+ * Pointer Events
2244
+ * @see https://tailwindcss.com/docs/pointer-events
2245
+ */
2246
+ 'pointer-events': [{
2247
+ 'pointer-events': ['none', 'auto']
2248
+ }],
2249
+ /**
2250
+ * Resize
2251
+ * @see https://tailwindcss.com/docs/resize
2252
+ */
2253
+ resize: [{
2254
+ resize: ['none', 'y', 'x', '']
2255
+ }],
2256
+ /**
2257
+ * Scroll Behavior
2258
+ * @see https://tailwindcss.com/docs/scroll-behavior
2259
+ */
2260
+ 'scroll-behavior': [{
2261
+ scroll: ['auto', 'smooth']
2262
+ }],
2263
+ /**
2264
+ * Scroll Margin
2265
+ * @see https://tailwindcss.com/docs/scroll-margin
2266
+ */
2267
+ 'scroll-m': [{
2268
+ 'scroll-m': getSpacingWithArbitrary()
2269
+ }],
2270
+ /**
2271
+ * Scroll Margin X
2272
+ * @see https://tailwindcss.com/docs/scroll-margin
2273
+ */
2274
+ 'scroll-mx': [{
2275
+ 'scroll-mx': getSpacingWithArbitrary()
2276
+ }],
2277
+ /**
2278
+ * Scroll Margin Y
2279
+ * @see https://tailwindcss.com/docs/scroll-margin
2280
+ */
2281
+ 'scroll-my': [{
2282
+ 'scroll-my': getSpacingWithArbitrary()
2283
+ }],
2284
+ /**
2285
+ * Scroll Margin Start
2286
+ * @see https://tailwindcss.com/docs/scroll-margin
2287
+ */
2288
+ 'scroll-ms': [{
2289
+ 'scroll-ms': getSpacingWithArbitrary()
2290
+ }],
2291
+ /**
2292
+ * Scroll Margin End
2293
+ * @see https://tailwindcss.com/docs/scroll-margin
2294
+ */
2295
+ 'scroll-me': [{
2296
+ 'scroll-me': getSpacingWithArbitrary()
2297
+ }],
2298
+ /**
2299
+ * Scroll Margin Top
2300
+ * @see https://tailwindcss.com/docs/scroll-margin
2301
+ */
2302
+ 'scroll-mt': [{
2303
+ 'scroll-mt': getSpacingWithArbitrary()
2304
+ }],
2305
+ /**
2306
+ * Scroll Margin Right
2307
+ * @see https://tailwindcss.com/docs/scroll-margin
2308
+ */
2309
+ 'scroll-mr': [{
2310
+ 'scroll-mr': getSpacingWithArbitrary()
2311
+ }],
2312
+ /**
2313
+ * Scroll Margin Bottom
2314
+ * @see https://tailwindcss.com/docs/scroll-margin
2315
+ */
2316
+ 'scroll-mb': [{
2317
+ 'scroll-mb': getSpacingWithArbitrary()
2318
+ }],
2319
+ /**
2320
+ * Scroll Margin Left
2321
+ * @see https://tailwindcss.com/docs/scroll-margin
2322
+ */
2323
+ 'scroll-ml': [{
2324
+ 'scroll-ml': getSpacingWithArbitrary()
2325
+ }],
2326
+ /**
2327
+ * Scroll Padding
2328
+ * @see https://tailwindcss.com/docs/scroll-padding
2329
+ */
2330
+ 'scroll-p': [{
2331
+ 'scroll-p': getSpacingWithArbitrary()
2332
+ }],
2333
+ /**
2334
+ * Scroll Padding X
2335
+ * @see https://tailwindcss.com/docs/scroll-padding
2336
+ */
2337
+ 'scroll-px': [{
2338
+ 'scroll-px': getSpacingWithArbitrary()
2339
+ }],
2340
+ /**
2341
+ * Scroll Padding Y
2342
+ * @see https://tailwindcss.com/docs/scroll-padding
2343
+ */
2344
+ 'scroll-py': [{
2345
+ 'scroll-py': getSpacingWithArbitrary()
2346
+ }],
2347
+ /**
2348
+ * Scroll Padding Start
2349
+ * @see https://tailwindcss.com/docs/scroll-padding
2350
+ */
2351
+ 'scroll-ps': [{
2352
+ 'scroll-ps': getSpacingWithArbitrary()
2353
+ }],
2354
+ /**
2355
+ * Scroll Padding End
2356
+ * @see https://tailwindcss.com/docs/scroll-padding
2357
+ */
2358
+ 'scroll-pe': [{
2359
+ 'scroll-pe': getSpacingWithArbitrary()
2360
+ }],
2361
+ /**
2362
+ * Scroll Padding Top
2363
+ * @see https://tailwindcss.com/docs/scroll-padding
2364
+ */
2365
+ 'scroll-pt': [{
2366
+ 'scroll-pt': getSpacingWithArbitrary()
2367
+ }],
2368
+ /**
2369
+ * Scroll Padding Right
2370
+ * @see https://tailwindcss.com/docs/scroll-padding
2371
+ */
2372
+ 'scroll-pr': [{
2373
+ 'scroll-pr': getSpacingWithArbitrary()
2374
+ }],
2375
+ /**
2376
+ * Scroll Padding Bottom
2377
+ * @see https://tailwindcss.com/docs/scroll-padding
2378
+ */
2379
+ 'scroll-pb': [{
2380
+ 'scroll-pb': getSpacingWithArbitrary()
2381
+ }],
2382
+ /**
2383
+ * Scroll Padding Left
2384
+ * @see https://tailwindcss.com/docs/scroll-padding
2385
+ */
2386
+ 'scroll-pl': [{
2387
+ 'scroll-pl': getSpacingWithArbitrary()
2388
+ }],
2389
+ /**
2390
+ * Scroll Snap Align
2391
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2392
+ */
2393
+ 'snap-align': [{
2394
+ snap: ['start', 'end', 'center', 'align-none']
2395
+ }],
2396
+ /**
2397
+ * Scroll Snap Stop
2398
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2399
+ */
2400
+ 'snap-stop': [{
2401
+ snap: ['normal', 'always']
2402
+ }],
2403
+ /**
2404
+ * Scroll Snap Type
2405
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2406
+ */
2407
+ 'snap-type': [{
2408
+ snap: ['none', 'x', 'y', 'both']
2409
+ }],
2410
+ /**
2411
+ * Scroll Snap Type Strictness
2412
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2413
+ */
2414
+ 'snap-strictness': [{
2415
+ snap: ['mandatory', 'proximity']
2416
+ }],
2417
+ /**
2418
+ * Touch Action
2419
+ * @see https://tailwindcss.com/docs/touch-action
2420
+ */
2421
+ touch: [{
2422
+ touch: ['auto', 'none', 'manipulation']
2423
+ }],
2424
+ /**
2425
+ * Touch Action X
2426
+ * @see https://tailwindcss.com/docs/touch-action
2427
+ */
2428
+ 'touch-x': [{
2429
+ 'touch-pan': ['x', 'left', 'right']
2430
+ }],
2431
+ /**
2432
+ * Touch Action Y
2433
+ * @see https://tailwindcss.com/docs/touch-action
2434
+ */
2435
+ 'touch-y': [{
2436
+ 'touch-pan': ['y', 'up', 'down']
2437
+ }],
2438
+ /**
2439
+ * Touch Action Pinch Zoom
2440
+ * @see https://tailwindcss.com/docs/touch-action
2441
+ */
2442
+ 'touch-pz': ['touch-pinch-zoom'],
2443
+ /**
2444
+ * User Select
2445
+ * @see https://tailwindcss.com/docs/user-select
2446
+ */
2447
+ select: [{
2448
+ select: ['none', 'text', 'all', 'auto']
2449
+ }],
2450
+ /**
2451
+ * Will Change
2452
+ * @see https://tailwindcss.com/docs/will-change
2453
+ */
2454
+ 'will-change': [{
2455
+ 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue]
2456
+ }],
2457
+ // SVG
2458
+ /**
2459
+ * Fill
2460
+ * @see https://tailwindcss.com/docs/fill
2461
+ */
2462
+ fill: [{
2463
+ fill: [colors, 'none']
2464
+ }],
2465
+ /**
2466
+ * Stroke Width
2467
+ * @see https://tailwindcss.com/docs/stroke-width
2468
+ */
2469
+ 'stroke-w': [{
2470
+ stroke: [isLength, isArbitraryLength, isArbitraryNumber]
2471
+ }],
2472
+ /**
2473
+ * Stroke
2474
+ * @see https://tailwindcss.com/docs/stroke
2475
+ */
2476
+ stroke: [{
2477
+ stroke: [colors, 'none']
2478
+ }],
2479
+ // Accessibility
2480
+ /**
2481
+ * Screen Readers
2482
+ * @see https://tailwindcss.com/docs/screen-readers
2483
+ */
2484
+ sr: ['sr-only', 'not-sr-only'],
2485
+ /**
2486
+ * Forced Color Adjust
2487
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2488
+ */
2489
+ 'forced-color-adjust': [{
2490
+ 'forced-color-adjust': ['auto', 'none']
2491
+ }]
2492
+ },
2493
+ conflictingClassGroups: {
2494
+ overflow: ['overflow-x', 'overflow-y'],
2495
+ overscroll: ['overscroll-x', 'overscroll-y'],
2496
+ inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],
2497
+ 'inset-x': ['right', 'left'],
2498
+ 'inset-y': ['top', 'bottom'],
2499
+ flex: ['basis', 'grow', 'shrink'],
2500
+ gap: ['gap-x', 'gap-y'],
2501
+ p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],
2502
+ px: ['pr', 'pl'],
2503
+ py: ['pt', 'pb'],
2504
+ m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],
2505
+ mx: ['mr', 'ml'],
2506
+ my: ['mt', 'mb'],
2507
+ size: ['w', 'h'],
2508
+ 'font-size': ['leading'],
2509
+ 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],
2510
+ 'fvn-ordinal': ['fvn-normal'],
2511
+ 'fvn-slashed-zero': ['fvn-normal'],
2512
+ 'fvn-figure': ['fvn-normal'],
2513
+ 'fvn-spacing': ['fvn-normal'],
2514
+ 'fvn-fraction': ['fvn-normal'],
2515
+ 'line-clamp': ['display', 'overflow'],
2516
+ rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],
2517
+ 'rounded-s': ['rounded-ss', 'rounded-es'],
2518
+ 'rounded-e': ['rounded-se', 'rounded-ee'],
2519
+ 'rounded-t': ['rounded-tl', 'rounded-tr'],
2520
+ 'rounded-r': ['rounded-tr', 'rounded-br'],
2521
+ 'rounded-b': ['rounded-br', 'rounded-bl'],
2522
+ 'rounded-l': ['rounded-tl', 'rounded-bl'],
2523
+ 'border-spacing': ['border-spacing-x', 'border-spacing-y'],
2524
+ 'border-w': ['border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],
2525
+ 'border-w-x': ['border-w-r', 'border-w-l'],
2526
+ 'border-w-y': ['border-w-t', 'border-w-b'],
2527
+ 'border-color': ['border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],
2528
+ 'border-color-x': ['border-color-r', 'border-color-l'],
2529
+ 'border-color-y': ['border-color-t', 'border-color-b'],
2530
+ 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],
2531
+ 'scroll-mx': ['scroll-mr', 'scroll-ml'],
2532
+ 'scroll-my': ['scroll-mt', 'scroll-mb'],
2533
+ 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],
2534
+ 'scroll-px': ['scroll-pr', 'scroll-pl'],
2535
+ 'scroll-py': ['scroll-pt', 'scroll-pb'],
2536
+ touch: ['touch-x', 'touch-y', 'touch-pz'],
2537
+ 'touch-x': ['touch'],
2538
+ 'touch-y': ['touch'],
2539
+ 'touch-pz': ['touch']
2540
+ },
2541
+ conflictingClassGroupModifiers: {
2542
+ 'font-size': ['leading']
2543
+ }
2544
+ };
2545
+ }
2546
+
2547
+ /**
2548
+ * @param baseConfig Config where other config will be merged into. This object will be mutated.
2549
+ * @param configExtension Partial config to merge into the `baseConfig`.
2550
+ */
2551
+ function mergeConfigs(baseConfig, {
2552
+ cacheSize,
2553
+ prefix,
2554
+ separator,
2555
+ extend = {},
2556
+ override = {}
2557
+ }) {
2558
+ overrideProperty(baseConfig, 'cacheSize', cacheSize);
2559
+ overrideProperty(baseConfig, 'prefix', prefix);
2560
+ overrideProperty(baseConfig, 'separator', separator);
2561
+ for (const configKey in override) {
2562
+ overrideConfigProperties(baseConfig[configKey], override[configKey]);
2563
+ }
2564
+ for (const key in extend) {
2565
+ mergeConfigProperties(baseConfig[key], extend[key]);
2566
+ }
2567
+ return baseConfig;
2568
+ }
2569
+ function overrideProperty(baseObject, overrideKey, overrideValue) {
2570
+ if (overrideValue !== undefined) {
2571
+ baseObject[overrideKey] = overrideValue;
2572
+ }
2573
+ }
2574
+ function overrideConfigProperties(baseObject, overrideObject) {
2575
+ if (overrideObject) {
2576
+ for (const key in overrideObject) {
2577
+ overrideProperty(baseObject, key, overrideObject[key]);
2578
+ }
2579
+ }
2580
+ }
2581
+ function mergeConfigProperties(baseObject, mergeObject) {
2582
+ if (mergeObject) {
2583
+ for (const key in mergeObject) {
2584
+ const mergeValue = mergeObject[key];
2585
+ if (mergeValue !== undefined) {
2586
+ baseObject[key] = (baseObject[key] || []).concat(mergeValue);
2587
+ }
2588
+ }
2589
+ }
2590
+ }
2591
+ function extendTailwindMerge(configExtension, ...createConfig) {
2592
+ return typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
2593
+ }
2594
+ const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
2595
+ exports.createTailwindMerge = createTailwindMerge;
2596
+ exports.extendTailwindMerge = extendTailwindMerge;
2597
+ exports.fromTheme = fromTheme;
2598
+ exports.getDefaultConfig = getDefaultConfig;
2599
+ exports.mergeConfigs = mergeConfigs;
2600
+ exports.twJoin = twJoin;
2601
+ exports.twMerge = twMerge;
2602
+ exports.validators = validators;
2603
+ //# sourceMappingURL=bundle-cjs.js.map
2604
+ });
184
2605
 
185
- const createStore = (defaultState, shouldUpdate) => {
186
- const map = createObservableMap(defaultState, shouldUpdate);
187
- map.use(stencilSubscription());
188
- return map;
189
- };
2606
+ var ie={twMerge:!0,twMergeConfig:{},responsiveVariants:!1},_=s=>s||void 0,M=(...s)=>_(y(s).filter(Boolean).join(" ")),R=null,v={},q=!1,j=(...s)=>b$1=>b$1.twMerge?((!R||q)&&(q=!1,R=u(v)?bundleCjs.twMerge:bundleCjs.extendTailwindMerge({...v,extend:{theme:v.theme,classGroups:v.classGroups,conflictingClassGroupModifiers:v.conflictingClassGroupModifiers,conflictingClassGroups:v.conflictingClassGroups,...v.extend}})),_(R(M(s)))):M(s),Z=(s,b)=>{for(let e in b)s.hasOwnProperty(e)?s[e]=M(s[e],b[e]):s[e]=b[e];return s},ce=(s,b$1)=>{let{extend:e=null,slots:N={},variants:F={},compoundVariants:U=[],compoundSlots:C=[],defaultVariants:W={}}=s,m={...ie,...b$1},S=e!=null&&e.base?M(e.base,s==null?void 0:s.base):s==null?void 0:s.base,g$1=e!=null&&e.variants&&!u(e.variants)?p(F,e.variants):F,A=e!=null&&e.defaultVariants&&!u(e.defaultVariants)?{...e.defaultVariants,...W}:W;!u(m.twMergeConfig)&&!x(m.twMergeConfig,v)&&(q=!0,v=m.twMergeConfig);let O=u(e==null?void 0:e.slots),$=u(N)?{}:{base:M(s==null?void 0:s.base,O&&(e==null?void 0:e.base)),...N},w=O?$:Z({...e==null?void 0:e.slots},u($)?{base:s==null?void 0:s.base}:$),h$1=u(e==null?void 0:e.compoundVariants)?U:a(e==null?void 0:e.compoundVariants,U),V=f=>{if(u(g$1)&&u(N)&&O)return j(S,f==null?void 0:f.class,f==null?void 0:f.className)(m);if(h$1&&!Array.isArray(h$1))throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof h$1}`);if(C&&!Array.isArray(C))throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof C}`);let K=(t,n,a=[],i)=>{let r=a;if(typeof n=="string")r=r.concat(g(n).split(" ").map(o=>`${t}:${o}`));else if(Array.isArray(n))r=r.concat(n.reduce((o,c)=>o.concat(`${t}:${c}`),[]));else if(typeof n=="object"&&typeof i=="string"){for(let o in n)if(n.hasOwnProperty(o)&&o===i){let c=n[o];if(c&&typeof c=="string"){let l=g(c);r[i]?r[i]=r[i].concat(l.split(" ").map(u=>`${t}:${u}`)):r[i]=l.split(" ").map(u=>`${t}:${u}`);}else Array.isArray(c)&&c.length>0&&(r[i]=c.reduce((l,u)=>l.concat(`${t}:${u}`),[]));}}return r},z=(t,n=g$1,a$1=null,i=null)=>{var J;let r=n[t];if(!r||u(r))return null;let o=(J=i==null?void 0:i[t])!=null?J:f==null?void 0:f[t];if(o===null)return null;let c=l(o),l$1=Array.isArray(m.responsiveVariants)&&m.responsiveVariants.length>0||m.responsiveVariants===!0,u$1=A==null?void 0:A[t],d=[];if(typeof c=="object"&&l$1)for(let[T,L]of Object.entries(c)){let ne=r[L];if(T==="initial"){u$1=L;continue}Array.isArray(m.responsiveVariants)&&!m.responsiveVariants.includes(T)||(d=K(T,ne,d,a$1));}let ae=c!=null&&typeof c!="object"?c:l(u$1),k=r[ae||"false"];return typeof d=="object"&&typeof a$1=="string"&&d[a$1]?Z(d,k):d.length>0?(d.push(k),d):k},P=()=>g$1?Object.keys(g$1).map(t=>z(t,g$1)):null,p=(t,n)=>{if(!g$1||typeof g$1!="object")return null;let a=new Array;for(let i in g$1){let r=z(i,g$1,t,n),o=t==="base"&&typeof r=="string"?r:r&&r[t];o&&(a[a.length]=o);}return a},D={};for(let t in f)f[t]!==void 0&&(D[t]=f[t]);let H=(t,n)=>{var i;let a=typeof(f==null?void 0:f[t])=="object"?{[t]:(i=f[t])==null?void 0:i.initial}:{};return {...A,...D,...a,...n}},I=(t=[],n)=>{let a=[];for(let{class:i,className:r,...o}of t){let c=!0;for(let[l,u]of Object.entries(o)){let d=H(l,n);if(Array.isArray(u)){if(!u.includes(d[l])){c=!1;break}}else if(d[l]!==u){c=!1;break}}c&&(i&&a.push(i),r&&a.push(r));}return a},ee=t=>{let n=I(h$1,t);if(!Array.isArray(n))return n;let a={};for(let i of n)if(typeof i=="string"&&(a.base=j(a.base,i)(m)),typeof i=="object")for(let[r,o]of Object.entries(i))a[r]=j(a[r],o)(m);return a},te=t=>{if(C.length<1)return null;let n={};for(let{slots:a=[],class:i,className:r,...o}of C){if(!u(o)){let c=!0;for(let l of Object.keys(o)){let u=H(l,t)[l];if(u===void 0||(Array.isArray(o[l])?!o[l].includes(u):o[l]!==u)){c=!1;break}}if(!c)continue}for(let c of a)n[c]=n[c]||[],n[c].push([i,r]);}return n};if(!u(N)||!O){let t={};if(typeof w=="object"&&!u(w))for(let n of Object.keys(w))t[n]=a=>{var i,r;return j(w[n],p(n,a),((i=ee(a))!=null?i:[])[n],((r=te(a))!=null?r:[])[n],a==null?void 0:a.class,a==null?void 0:a.className)(m)};return t}return j(S,P(),I(h$1),f==null?void 0:f.class,f==null?void 0:f.className)(m)},x$1=()=>{if(!(!g$1||typeof g$1!="object"))return Object.keys(g$1)};return V.variantKeys=x$1(),V.extend=e,V.base=S,V.slots=w,V.variants=g$1,V.defaultVariants=A,V.compoundSlots=C,V.compoundVariants=h$1,V};
190
2607
 
191
- export { createStore as c };
2608
+ export { ce as c };