@maizzle/framework 6.0.0-rc.9 → 6.0.1

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 (624) hide show
  1. package/README.md +3 -3
  2. package/bin/maizzle.mjs +1 -1
  3. package/dist/build.d.ts +38 -0
  4. package/dist/build.d.ts.map +1 -0
  5. package/dist/build.js +234 -0
  6. package/dist/build.js.map +1 -0
  7. package/dist/components/Body.vue +32 -3
  8. package/dist/components/Button.vue +91 -62
  9. package/dist/components/CodeBlock.vue +6 -4
  10. package/dist/components/CodeInline.vue +77 -6
  11. package/dist/components/Column.vue +67 -31
  12. package/dist/components/Container.vue +73 -12
  13. package/dist/components/Font.vue +96 -0
  14. package/dist/components/Head.vue +1 -1
  15. package/dist/components/Heading.vue +1 -1
  16. package/dist/components/Hr.vue +33 -0
  17. package/dist/components/Html.vue +36 -3
  18. package/dist/components/Img.vue +332 -0
  19. package/dist/components/Layout.vue +73 -21
  20. package/dist/components/Link.vue +1 -1
  21. package/dist/components/Markdown.vue +51 -24
  22. package/dist/components/MarkdownLayout.vue +39 -0
  23. package/dist/components/NotPlaintext.vue +14 -0
  24. package/dist/components/Outlook.vue +38 -11
  25. package/dist/components/OutlookBg.vue +241 -0
  26. package/dist/components/Plaintext.vue +14 -0
  27. package/dist/components/Preheader.vue +35 -10
  28. package/dist/components/QrCode.vue +157 -0
  29. package/dist/components/Raw.vue +28 -0
  30. package/dist/components/Row.vue +115 -22
  31. package/dist/components/Section.vue +65 -26
  32. package/dist/components/Spacer.vue +35 -29
  33. package/dist/components/Tailwind.vue +45 -0
  34. package/dist/components/Text.vue +3 -3
  35. package/dist/components/Vml.vue +207 -94
  36. package/dist/components/utils.d.ts +53 -0
  37. package/dist/components/utils.d.ts.map +1 -0
  38. package/dist/components/utils.js +80 -0
  39. package/dist/components/utils.js.map +1 -0
  40. package/dist/components/utils.ts +102 -0
  41. package/dist/composables/defineConfig.d.ts +13 -0
  42. package/dist/composables/defineConfig.d.ts.map +1 -0
  43. package/dist/composables/{defineConfig.mjs → defineConfig.js} +7 -9
  44. package/dist/composables/defineConfig.js.map +1 -0
  45. package/dist/composables/renderContext.d.ts +37 -0
  46. package/dist/composables/renderContext.d.ts.map +1 -0
  47. package/dist/composables/renderContext.js +6 -0
  48. package/dist/composables/renderContext.js.map +1 -0
  49. package/dist/composables/useBaseUrl.d.ts +19 -0
  50. package/dist/composables/useBaseUrl.d.ts.map +1 -0
  51. package/dist/composables/useBaseUrl.js +26 -0
  52. package/dist/composables/useBaseUrl.js.map +1 -0
  53. package/dist/composables/useConfig.d.ts +16 -0
  54. package/dist/composables/useConfig.d.ts.map +1 -0
  55. package/dist/composables/useConfig.js +19 -0
  56. package/dist/composables/useConfig.js.map +1 -0
  57. package/dist/composables/useCurrentTemplate.d.ts +31 -0
  58. package/dist/composables/useCurrentTemplate.d.ts.map +1 -0
  59. package/dist/composables/useCurrentTemplate.js +42 -0
  60. package/dist/composables/useCurrentTemplate.js.map +1 -0
  61. package/dist/composables/{useDoctype.d.mts → useDoctype.d.ts} +1 -1
  62. package/dist/composables/useDoctype.d.ts.map +1 -0
  63. package/dist/composables/{useDoctype.mjs → useDoctype.js} +3 -4
  64. package/dist/composables/useDoctype.js.map +1 -0
  65. package/dist/composables/{useEvent.d.mts → useEvent.d.ts} +3 -3
  66. package/dist/composables/useEvent.d.ts.map +1 -0
  67. package/dist/composables/{useEvent.mjs → useEvent.js} +4 -5
  68. package/dist/composables/useEvent.js.map +1 -0
  69. package/dist/composables/useFont.d.ts +50 -0
  70. package/dist/composables/useFont.d.ts.map +1 -0
  71. package/dist/composables/useFont.js +92 -0
  72. package/dist/composables/useFont.js.map +1 -0
  73. package/dist/composables/useOutlookFallback.d.ts +21 -0
  74. package/dist/composables/useOutlookFallback.d.ts.map +1 -0
  75. package/dist/composables/useOutlookFallback.js +29 -0
  76. package/dist/composables/useOutlookFallback.js.map +1 -0
  77. package/dist/composables/useOutputPath.d.ts +17 -0
  78. package/dist/composables/useOutputPath.d.ts.map +1 -0
  79. package/dist/composables/useOutputPath.js +23 -0
  80. package/dist/composables/useOutputPath.js.map +1 -0
  81. package/dist/composables/{usePlaintext.d.mts → usePlaintext.d.ts} +3 -1
  82. package/dist/composables/usePlaintext.d.ts.map +1 -0
  83. package/dist/composables/{usePlaintext.mjs → usePlaintext.js} +4 -4
  84. package/dist/composables/usePlaintext.js.map +1 -0
  85. package/dist/composables/usePreheader.d.ts +25 -0
  86. package/dist/composables/usePreheader.d.ts.map +1 -0
  87. package/dist/composables/usePreheader.js +28 -0
  88. package/dist/composables/usePreheader.js.map +1 -0
  89. package/dist/composables/useTransformers.d.ts +34 -0
  90. package/dist/composables/useTransformers.d.ts.map +1 -0
  91. package/dist/composables/useTransformers.js +48 -0
  92. package/dist/composables/useTransformers.js.map +1 -0
  93. package/dist/composables/useUrlQuery.d.ts +19 -0
  94. package/dist/composables/useUrlQuery.d.ts.map +1 -0
  95. package/dist/composables/useUrlQuery.js +26 -0
  96. package/dist/composables/useUrlQuery.js.map +1 -0
  97. package/dist/config/{defaults.d.mts → defaults.d.ts} +2 -2
  98. package/dist/config/defaults.d.ts.map +1 -0
  99. package/dist/config/{defaults.mjs → defaults.js} +10 -6
  100. package/dist/config/defaults.js.map +1 -0
  101. package/dist/config/index.d.ts +33 -0
  102. package/dist/config/index.d.ts.map +1 -0
  103. package/dist/config/index.js +136 -0
  104. package/dist/config/index.js.map +1 -0
  105. package/dist/events/{index.d.mts → index.d.ts} +35 -12
  106. package/dist/events/index.d.ts.map +1 -0
  107. package/dist/events/{index.mjs → index.js} +31 -13
  108. package/dist/events/index.js.map +1 -0
  109. package/dist/index.d.ts +41 -0
  110. package/dist/index.js +40 -0
  111. package/dist/{plaintext.d.mts → plaintext.d.ts} +1 -1
  112. package/dist/plaintext.d.ts.map +1 -0
  113. package/dist/{plaintext.mjs → plaintext.js} +4 -5
  114. package/dist/plaintext.js.map +1 -0
  115. package/dist/{plugin.d.mts → plugin.d.ts} +2 -2
  116. package/dist/plugin.d.ts.map +1 -0
  117. package/dist/{plugin.mjs → plugin.js} +8 -9
  118. package/dist/plugin.js.map +1 -0
  119. package/dist/plugins/postcss/{mergeMediaQueries.d.mts → mergeMediaQueries.d.ts} +2 -2
  120. package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -0
  121. package/dist/plugins/postcss/{mergeMediaQueries.mjs → mergeMediaQueries.js} +2 -3
  122. package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -0
  123. package/dist/plugins/postcss/{pruneVars.d.mts → pruneVars.d.ts} +1 -1
  124. package/dist/plugins/postcss/pruneVars.d.ts.map +1 -0
  125. package/dist/plugins/postcss/{pruneVars.mjs → pruneVars.js} +2 -2
  126. package/dist/plugins/postcss/pruneVars.js.map +1 -0
  127. package/dist/plugins/postcss/quoteFontFamilies.d.ts +13 -0
  128. package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -0
  129. package/dist/plugins/postcss/quoteFontFamilies.js +84 -0
  130. package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -0
  131. package/dist/plugins/postcss/{removeDeclarations.d.mts → removeDeclarations.d.ts} +1 -1
  132. package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -0
  133. package/dist/plugins/postcss/{removeDeclarations.mjs → removeDeclarations.js} +2 -2
  134. package/dist/plugins/postcss/removeDeclarations.js.map +1 -0
  135. package/dist/plugins/postcss/resolveMaizzleImports.d.ts +16 -0
  136. package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -0
  137. package/dist/plugins/postcss/resolveMaizzleImports.js +39 -0
  138. package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -0
  139. package/dist/plugins/postcss/resolveProps.d.ts +8 -0
  140. package/dist/plugins/postcss/resolveProps.d.ts.map +1 -0
  141. package/dist/plugins/postcss/resolveProps.js +155 -0
  142. package/dist/plugins/postcss/resolveProps.js.map +1 -0
  143. package/dist/plugins/postcss/{tailwindCleanup.d.mts → tailwindCleanup.d.ts} +2 -2
  144. package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -0
  145. package/dist/plugins/postcss/{tailwindCleanup.mjs → tailwindCleanup.js} +5 -3
  146. package/dist/plugins/postcss/tailwindCleanup.js.map +1 -0
  147. package/dist/prepare.d.ts +17 -0
  148. package/dist/prepare.d.ts.map +1 -0
  149. package/dist/prepare.js +44 -0
  150. package/dist/prepare.js.map +1 -0
  151. package/dist/render/active.d.ts +8 -0
  152. package/dist/render/active.d.ts.map +1 -0
  153. package/dist/render/active.js +12 -0
  154. package/dist/render/active.js.map +1 -0
  155. package/dist/render/buildTemplate.d.ts +49 -0
  156. package/dist/render/buildTemplate.d.ts.map +1 -0
  157. package/dist/render/buildTemplate.js +141 -0
  158. package/dist/render/buildTemplate.js.map +1 -0
  159. package/dist/render/{createRenderer.d.mts → createRenderer.d.ts} +14 -6
  160. package/dist/render/createRenderer.d.ts.map +1 -0
  161. package/dist/render/createRenderer.js +468 -0
  162. package/dist/render/createRenderer.js.map +1 -0
  163. package/dist/render/index.d.ts +18 -0
  164. package/dist/render/index.d.ts.map +1 -0
  165. package/dist/render/index.js +59 -0
  166. package/dist/render/index.js.map +1 -0
  167. package/dist/render/injectFonts.d.ts +15 -0
  168. package/dist/render/injectFonts.d.ts.map +1 -0
  169. package/dist/render/injectFonts.js +45 -0
  170. package/dist/render/injectFonts.js.map +1 -0
  171. package/dist/render/parallel/buildWorker.d.ts +31 -0
  172. package/dist/render/parallel/buildWorker.d.ts.map +1 -0
  173. package/dist/render/parallel/buildWorker.js +66 -0
  174. package/dist/render/parallel/buildWorker.js.map +1 -0
  175. package/dist/render/parallel/worker.mjs +28 -0
  176. package/dist/render/plugins/codeBlockExtract.d.ts +14 -0
  177. package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -0
  178. package/dist/render/plugins/codeBlockExtract.js +38 -0
  179. package/dist/render/plugins/codeBlockExtract.js.map +1 -0
  180. package/dist/render/plugins/markdownExtract.d.ts +12 -0
  181. package/dist/render/plugins/markdownExtract.d.ts.map +1 -0
  182. package/dist/render/plugins/markdownExtract.js +49 -0
  183. package/dist/render/plugins/markdownExtract.js.map +1 -0
  184. package/dist/render/plugins/rawExtract.d.ts +14 -0
  185. package/dist/render/plugins/rawExtract.d.ts.map +1 -0
  186. package/dist/render/plugins/rawExtract.js +34 -0
  187. package/dist/render/plugins/rawExtract.js.map +1 -0
  188. package/dist/render/plugins/rowSourceLocation.d.ts +18 -0
  189. package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -0
  190. package/dist/render/plugins/rowSourceLocation.js +45 -0
  191. package/dist/render/plugins/rowSourceLocation.js.map +1 -0
  192. package/dist/{serve.d.mts → serve.d.ts} +5 -3
  193. package/dist/serve.d.ts.map +1 -0
  194. package/dist/{serve.mjs → serve.js} +248 -119
  195. package/dist/serve.js.map +1 -0
  196. package/dist/server/compatibility.d.ts +59 -0
  197. package/dist/server/compatibility.d.ts.map +1 -0
  198. package/dist/server/compatibility.js +959 -0
  199. package/dist/server/compatibility.js.map +1 -0
  200. package/dist/server/{email.d.mts → email.d.ts} +2 -2
  201. package/dist/server/email.d.ts.map +1 -0
  202. package/dist/server/{email.mjs → email.js} +2 -3
  203. package/dist/server/email.js.map +1 -0
  204. package/dist/server/linter.d.ts +20 -0
  205. package/dist/server/linter.d.ts.map +1 -0
  206. package/dist/server/linter.js +345 -0
  207. package/dist/server/linter.js.map +1 -0
  208. package/dist/server/sfc-utils.d.ts +21 -0
  209. package/dist/server/sfc-utils.d.ts.map +1 -0
  210. package/dist/server/sfc-utils.js +198 -0
  211. package/dist/server/sfc-utils.js.map +1 -0
  212. package/dist/server/ui/.vite/deps/@lucide_vue.js +44967 -0
  213. package/dist/server/ui/.vite/deps/@lucide_vue.js.map +1 -0
  214. package/dist/server/ui/.vite/deps/@vueuse_core.js +8155 -0
  215. package/dist/server/ui/.vite/deps/@vueuse_core.js.map +1 -0
  216. package/dist/server/ui/.vite/deps/@vueuse_shared.js +1859 -0
  217. package/dist/server/ui/.vite/deps/@vueuse_shared.js.map +1 -0
  218. package/dist/server/ui/.vite/deps/_metadata.json +78 -0
  219. package/dist/server/ui/.vite/deps/chunk-EAsCxrDo.js +14 -0
  220. package/dist/server/ui/.vite/deps/class-variance-authority.js +57 -0
  221. package/dist/server/ui/.vite/deps/class-variance-authority.js.map +1 -0
  222. package/dist/server/ui/.vite/deps/clsx.js +18 -0
  223. package/dist/server/ui/.vite/deps/clsx.js.map +1 -0
  224. package/dist/server/ui/.vite/deps/culori.js +4312 -0
  225. package/dist/server/ui/.vite/deps/culori.js.map +1 -0
  226. package/dist/server/ui/.vite/deps/package.json +3 -0
  227. package/dist/server/ui/.vite/deps/reka-ui.js +44464 -0
  228. package/dist/server/ui/.vite/deps/reka-ui.js.map +1 -0
  229. package/dist/server/ui/.vite/deps/tailwind-merge.js +3458 -0
  230. package/dist/server/ui/.vite/deps/tailwind-merge.js.map +1 -0
  231. package/dist/server/ui/.vite/deps/vue-router.js +6383 -0
  232. package/dist/server/ui/.vite/deps/vue-router.js.map +1 -0
  233. package/dist/server/ui/.vite/deps/vue.js +2 -0
  234. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js +8800 -0
  235. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js.map +1 -0
  236. package/dist/server/ui/App.vue +106 -66
  237. package/dist/server/ui/components/SidebarClose.vue +12 -0
  238. package/dist/server/ui/components/ui/checkbox/Checkbox.vue +1 -1
  239. package/dist/server/ui/components/ui/command/Command.vue +5 -1
  240. package/dist/server/ui/components/ui/command/CommandInput.vue +2 -2
  241. package/dist/server/ui/components/ui/dialog/DialogContent.vue +1 -1
  242. package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +1 -1
  243. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -1
  244. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
  245. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -1
  246. package/dist/server/ui/components/ui/input/Input.vue +1 -1
  247. package/dist/server/ui/components/ui/sheet/SheetContent.vue +1 -1
  248. package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +2 -2
  249. package/dist/server/ui/components/ui/tags-input/TagsInputInput.vue +1 -1
  250. package/dist/server/ui/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
  251. package/dist/server/ui/lib/emulated-dark-mode.ts +146 -0
  252. package/dist/server/ui/main.css +25 -0
  253. package/dist/server/ui/pages/Home.vue +1 -1
  254. package/dist/server/ui/pages/Preview.vue +377 -186
  255. package/dist/server/ui/vite-env.d.ts +1 -0
  256. package/dist/tests/render/_helpers.d.ts +6 -0
  257. package/dist/tests/render/_helpers.d.ts.map +1 -0
  258. package/dist/tests/render/_helpers.js +16 -0
  259. package/dist/tests/render/_helpers.js.map +1 -0
  260. package/dist/transformers/addAttributes.d.ts +42 -0
  261. package/dist/transformers/addAttributes.d.ts.map +1 -0
  262. package/dist/transformers/{addAttributes.mjs → addAttributes.js} +40 -24
  263. package/dist/transformers/addAttributes.js.map +1 -0
  264. package/dist/transformers/attributeToStyle.d.ts +38 -0
  265. package/dist/transformers/attributeToStyle.d.ts.map +1 -0
  266. package/dist/transformers/attributeToStyle.js +94 -0
  267. package/dist/transformers/attributeToStyle.js.map +1 -0
  268. package/dist/transformers/base.d.ts +71 -0
  269. package/dist/transformers/base.d.ts.map +1 -0
  270. package/dist/transformers/{base.mjs → base.js} +65 -40
  271. package/dist/transformers/base.js.map +1 -0
  272. package/dist/transformers/columnWidth.d.ts +31 -0
  273. package/dist/transformers/columnWidth.d.ts.map +1 -0
  274. package/dist/transformers/columnWidth.js +527 -0
  275. package/dist/transformers/columnWidth.js.map +1 -0
  276. package/dist/transformers/entities.d.ts +37 -0
  277. package/dist/transformers/entities.d.ts.map +1 -0
  278. package/dist/transformers/entities.js +74 -0
  279. package/dist/transformers/entities.js.map +1 -0
  280. package/dist/transformers/filters/{defaults.d.mts → defaults.d.ts} +1 -1
  281. package/dist/transformers/filters/defaults.d.ts.map +1 -0
  282. package/dist/transformers/filters/{defaults.mjs → defaults.js} +2 -2
  283. package/dist/transformers/filters/defaults.js.map +1 -0
  284. package/dist/transformers/filters/index.d.ts +43 -0
  285. package/dist/transformers/filters/index.d.ts.map +1 -0
  286. package/dist/transformers/filters/index.js +89 -0
  287. package/dist/transformers/filters/index.js.map +1 -0
  288. package/dist/transformers/format.d.ts +22 -0
  289. package/dist/transformers/format.d.ts.map +1 -0
  290. package/dist/transformers/format.js +30 -0
  291. package/dist/transformers/format.js.map +1 -0
  292. package/dist/transformers/imgWidth.d.ts +20 -0
  293. package/dist/transformers/imgWidth.d.ts.map +1 -0
  294. package/dist/transformers/imgWidth.js +76 -0
  295. package/dist/transformers/imgWidth.js.map +1 -0
  296. package/dist/transformers/{index.d.mts → index.d.ts} +4 -3
  297. package/dist/transformers/index.d.ts.map +1 -0
  298. package/dist/transformers/index.js +163 -0
  299. package/dist/transformers/index.js.map +1 -0
  300. package/dist/transformers/inlineCss.d.ts +85 -0
  301. package/dist/transformers/inlineCss.d.ts.map +1 -0
  302. package/dist/transformers/inlineCss.js +112 -0
  303. package/dist/transformers/inlineCss.js.map +1 -0
  304. package/dist/transformers/inlineLink.d.ts +35 -0
  305. package/dist/transformers/inlineLink.d.ts.map +1 -0
  306. package/dist/transformers/{inlineLink.mjs → inlineLink.js} +35 -11
  307. package/dist/transformers/inlineLink.js.map +1 -0
  308. package/dist/transformers/minify.d.ts +21 -0
  309. package/dist/transformers/minify.d.ts.map +1 -0
  310. package/dist/transformers/minify.js +25 -0
  311. package/dist/transformers/minify.js.map +1 -0
  312. package/dist/transformers/minifyCodeInline.d.ts +29 -0
  313. package/dist/transformers/minifyCodeInline.d.ts.map +1 -0
  314. package/dist/transformers/minifyCodeInline.js +36 -0
  315. package/dist/transformers/minifyCodeInline.js.map +1 -0
  316. package/dist/transformers/msoPlaceholders.d.ts +33 -0
  317. package/dist/transformers/msoPlaceholders.d.ts.map +1 -0
  318. package/dist/transformers/msoPlaceholders.js +114 -0
  319. package/dist/transformers/msoPlaceholders.js.map +1 -0
  320. package/dist/transformers/purgeCss.d.ts +43 -0
  321. package/dist/transformers/purgeCss.d.ts.map +1 -0
  322. package/dist/transformers/purgeCss.js +207 -0
  323. package/dist/transformers/purgeCss.js.map +1 -0
  324. package/dist/transformers/removeAttributes.d.ts +54 -0
  325. package/dist/transformers/removeAttributes.d.ts.map +1 -0
  326. package/dist/transformers/removeAttributes.js +72 -0
  327. package/dist/transformers/removeAttributes.js.map +1 -0
  328. package/dist/transformers/{replaceStrings.d.mts → replaceStrings.d.ts} +2 -2
  329. package/dist/transformers/replaceStrings.d.ts.map +1 -0
  330. package/dist/transformers/{replaceStrings.mjs → replaceStrings.js} +2 -2
  331. package/dist/transformers/replaceStrings.js.map +1 -0
  332. package/dist/transformers/safeSelectors.d.ts +37 -0
  333. package/dist/transformers/safeSelectors.d.ts.map +1 -0
  334. package/dist/transformers/{safeClassNames.mjs → safeSelectors.js} +40 -10
  335. package/dist/transformers/safeSelectors.js.map +1 -0
  336. package/dist/transformers/shorthandCss.d.ts +47 -0
  337. package/dist/transformers/shorthandCss.d.ts.map +1 -0
  338. package/dist/transformers/shorthandCss.js +92 -0
  339. package/dist/transformers/shorthandCss.js.map +1 -0
  340. package/dist/transformers/sixHex.d.ts +25 -0
  341. package/dist/transformers/sixHex.d.ts.map +1 -0
  342. package/dist/transformers/sixHex.js +42 -0
  343. package/dist/transformers/sixHex.js.map +1 -0
  344. package/dist/transformers/tailwindComponent.d.ts +16 -0
  345. package/dist/transformers/tailwindComponent.d.ts.map +1 -0
  346. package/dist/transformers/tailwindComponent.js +101 -0
  347. package/dist/transformers/tailwindComponent.js.map +1 -0
  348. package/dist/transformers/{tailwindcss.d.mts → tailwindcss.d.ts} +2 -2
  349. package/dist/transformers/tailwindcss.d.ts.map +1 -0
  350. package/dist/transformers/{tailwindcss.mjs → tailwindcss.js} +33 -74
  351. package/dist/transformers/tailwindcss.js.map +1 -0
  352. package/dist/transformers/urlQuery.d.ts +36 -0
  353. package/dist/transformers/urlQuery.d.ts.map +1 -0
  354. package/dist/transformers/urlQuery.js +77 -0
  355. package/dist/transformers/urlQuery.js.map +1 -0
  356. package/dist/types/{config.d.mts → config.d.ts} +231 -46
  357. package/dist/types/config.d.ts.map +1 -0
  358. package/dist/types/config.js +1 -0
  359. package/dist/types/index.d.ts +2 -0
  360. package/dist/types/index.js +1 -0
  361. package/dist/utils/ast/index.d.ts +4 -0
  362. package/dist/utils/ast/index.js +4 -0
  363. package/dist/utils/ast/{parser.d.mts → parser.d.ts} +1 -1
  364. package/dist/utils/ast/parser.d.ts.map +1 -0
  365. package/dist/utils/ast/{parser.mjs → parser.js} +2 -3
  366. package/dist/utils/ast/parser.js.map +1 -0
  367. package/dist/utils/ast/{serializer.d.mts → serializer.d.ts} +1 -1
  368. package/dist/utils/ast/serializer.d.ts.map +1 -0
  369. package/dist/utils/ast/serializer.js +46 -0
  370. package/dist/utils/ast/serializer.js.map +1 -0
  371. package/dist/utils/ast/{walker.d.mts → walker.d.ts} +1 -1
  372. package/dist/utils/ast/walker.d.ts.map +1 -0
  373. package/dist/utils/ast/{walker.mjs → walker.js} +2 -2
  374. package/dist/utils/ast/walker.js.map +1 -0
  375. package/dist/utils/cloneConfig.d.ts +13 -0
  376. package/dist/utils/cloneConfig.d.ts.map +1 -0
  377. package/dist/utils/cloneConfig.js +21 -0
  378. package/dist/utils/cloneConfig.js.map +1 -0
  379. package/dist/utils/compileTailwindCss.d.ts +16 -0
  380. package/dist/utils/compileTailwindCss.d.ts.map +1 -0
  381. package/dist/utils/compileTailwindCss.js +55 -0
  382. package/dist/utils/compileTailwindCss.js.map +1 -0
  383. package/dist/utils/componentSources.d.ts +50 -0
  384. package/dist/utils/componentSources.d.ts.map +1 -0
  385. package/dist/utils/componentSources.js +50 -0
  386. package/dist/utils/componentSources.js.map +1 -0
  387. package/dist/utils/cssBox.d.ts +42 -0
  388. package/dist/utils/cssBox.d.ts.map +1 -0
  389. package/dist/utils/cssBox.js +151 -0
  390. package/dist/utils/cssBox.js.map +1 -0
  391. package/dist/utils/decodeStyleEntities.d.ts +15 -0
  392. package/dist/utils/decodeStyleEntities.d.ts.map +1 -0
  393. package/dist/utils/decodeStyleEntities.js +18 -0
  394. package/dist/utils/decodeStyleEntities.js.map +1 -0
  395. package/dist/utils/{detect.d.mts → detect.d.ts} +1 -1
  396. package/dist/utils/detect.d.ts.map +1 -0
  397. package/dist/utils/{detect.mjs → detect.js} +2 -3
  398. package/dist/utils/detect.js.map +1 -0
  399. package/dist/utils/output-markers.d.ts +29 -0
  400. package/dist/utils/output-markers.d.ts.map +1 -0
  401. package/dist/utils/output-markers.js +68 -0
  402. package/dist/utils/output-markers.js.map +1 -0
  403. package/dist/utils/{url.d.mts → url.d.ts} +1 -1
  404. package/dist/utils/url.d.ts.map +1 -0
  405. package/dist/utils/{url.mjs → url.js} +2 -3
  406. package/dist/utils/url.js.map +1 -0
  407. package/dist/utils/watchPaths.d.ts +11 -0
  408. package/dist/utils/watchPaths.d.ts.map +1 -0
  409. package/dist/utils/watchPaths.js +19 -0
  410. package/dist/utils/watchPaths.js.map +1 -0
  411. package/node_modules/@clack/core/CHANGELOG.md +44 -0
  412. package/node_modules/@clack/core/dist/index.d.mts +125 -5
  413. package/node_modules/@clack/core/dist/index.mjs +972 -11
  414. package/node_modules/@clack/core/package.json +6 -2
  415. package/node_modules/@clack/prompts/CHANGELOG.md +70 -0
  416. package/node_modules/@clack/prompts/README.md +129 -3
  417. package/node_modules/@clack/prompts/dist/index.d.mts +567 -33
  418. package/node_modules/@clack/prompts/dist/index.mjs +1378 -133
  419. package/node_modules/@clack/prompts/package.json +7 -4
  420. package/node_modules/fast-string-truncated-width/dist/index.js +36 -96
  421. package/node_modules/fast-string-truncated-width/dist/types.d.ts +0 -3
  422. package/node_modules/fast-string-truncated-width/dist/utils.d.ts +3 -3
  423. package/node_modules/fast-string-truncated-width/dist/utils.js +14 -9
  424. package/node_modules/fast-string-truncated-width/package.json +1 -1
  425. package/node_modules/fast-string-truncated-width/readme.md +2 -3
  426. package/node_modules/fast-string-width/package.json +2 -2
  427. package/node_modules/fast-string-width/readme.md +0 -3
  428. package/node_modules/fast-wrap-ansi/lib/main.js +4 -2
  429. package/node_modules/fast-wrap-ansi/package.json +11 -11
  430. package/node_modules/maizzle/README.md +24 -0
  431. package/node_modules/maizzle/dist/commands/make/component.mjs +1 -1
  432. package/node_modules/maizzle/dist/commands/make/config.mjs +8 -7
  433. package/node_modules/maizzle/dist/commands/make/layout.mjs +3 -3
  434. package/node_modules/maizzle/dist/commands/make/scaffold.mjs +1 -1
  435. package/node_modules/maizzle/dist/commands/make/stubs/Layout.vue +146 -0
  436. package/node_modules/maizzle/dist/commands/make/stubs/component.vue +2 -4
  437. package/node_modules/maizzle/dist/commands/make/stubs/config.ts +1 -5
  438. package/node_modules/maizzle/dist/commands/make/template.mjs +1 -1
  439. package/node_modules/maizzle/dist/commands/new.mjs +46 -135
  440. package/node_modules/maizzle/dist/index.d.mts +1 -0
  441. package/node_modules/maizzle/dist/index.mjs +30 -7
  442. package/node_modules/maizzle/package.json +5 -4
  443. package/node_modules/nypm/dist/cli.mjs +28 -5
  444. package/node_modules/nypm/dist/index.d.mts +0 -8
  445. package/node_modules/nypm/dist/index.mjs +27 -4
  446. package/node_modules/nypm/package.json +12 -12
  447. package/node_modules/tinyexec/README.md +9 -1
  448. package/node_modules/tinyexec/dist/main.d.mts +22 -7
  449. package/node_modules/tinyexec/dist/main.mjs +189 -491
  450. package/node_modules/tinyexec/package.json +14 -16
  451. package/package.json +38 -31
  452. package/dist/_virtual/_rolldown/runtime.mjs +0 -32
  453. package/dist/build.d.mts +0 -19
  454. package/dist/build.d.mts.map +0 -1
  455. package/dist/build.mjs +0 -141
  456. package/dist/build.mjs.map +0 -1
  457. package/dist/components/Divider.vue +0 -133
  458. package/dist/components/Image.vue +0 -70
  459. package/dist/components/Overlap.vue +0 -80
  460. package/dist/components/utils.d.mts +0 -5
  461. package/dist/components/utils.d.mts.map +0 -1
  462. package/dist/components/utils.mjs +0 -9
  463. package/dist/components/utils.mjs.map +0 -1
  464. package/dist/composables/defineConfig.d.mts +0 -14
  465. package/dist/composables/defineConfig.d.mts.map +0 -1
  466. package/dist/composables/defineConfig.mjs.map +0 -1
  467. package/dist/composables/renderContext.d.mts +0 -24
  468. package/dist/composables/renderContext.d.mts.map +0 -1
  469. package/dist/composables/renderContext.mjs +0 -6
  470. package/dist/composables/renderContext.mjs.map +0 -1
  471. package/dist/composables/useConfig.d.mts +0 -9
  472. package/dist/composables/useConfig.d.mts.map +0 -1
  473. package/dist/composables/useConfig.mjs +0 -13
  474. package/dist/composables/useConfig.mjs.map +0 -1
  475. package/dist/composables/useDoctype.d.mts.map +0 -1
  476. package/dist/composables/useDoctype.mjs.map +0 -1
  477. package/dist/composables/useEvent.d.mts.map +0 -1
  478. package/dist/composables/useEvent.mjs.map +0 -1
  479. package/dist/composables/usePlaintext.d.mts.map +0 -1
  480. package/dist/composables/usePlaintext.mjs.map +0 -1
  481. package/dist/composables/usePreviewText.d.mts +0 -24
  482. package/dist/composables/usePreviewText.d.mts.map +0 -1
  483. package/dist/composables/usePreviewText.mjs +0 -29
  484. package/dist/composables/usePreviewText.mjs.map +0 -1
  485. package/dist/config/defaults.d.mts.map +0 -1
  486. package/dist/config/defaults.mjs.map +0 -1
  487. package/dist/config/index.d.mts +0 -15
  488. package/dist/config/index.d.mts.map +0 -1
  489. package/dist/config/index.mjs +0 -71
  490. package/dist/config/index.mjs.map +0 -1
  491. package/dist/events/index.d.mts.map +0 -1
  492. package/dist/events/index.mjs.map +0 -1
  493. package/dist/index.d.mts +0 -31
  494. package/dist/index.mjs +0 -31
  495. package/dist/node_modules/picomatch/index.mjs +0 -13
  496. package/dist/node_modules/picomatch/index.mjs.map +0 -1
  497. package/dist/node_modules/picomatch/lib/constants.mjs +0 -174
  498. package/dist/node_modules/picomatch/lib/constants.mjs.map +0 -1
  499. package/dist/node_modules/picomatch/lib/parse.mjs +0 -1067
  500. package/dist/node_modules/picomatch/lib/parse.mjs.map +0 -1
  501. package/dist/node_modules/picomatch/lib/picomatch.mjs +0 -304
  502. package/dist/node_modules/picomatch/lib/picomatch.mjs.map +0 -1
  503. package/dist/node_modules/picomatch/lib/scan.mjs +0 -296
  504. package/dist/node_modules/picomatch/lib/scan.mjs.map +0 -1
  505. package/dist/node_modules/picomatch/lib/utils.mjs +0 -53
  506. package/dist/node_modules/picomatch/lib/utils.mjs.map +0 -1
  507. package/dist/plaintext.d.mts.map +0 -1
  508. package/dist/plaintext.mjs.map +0 -1
  509. package/dist/plugin.d.mts.map +0 -1
  510. package/dist/plugin.mjs.map +0 -1
  511. package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +0 -1
  512. package/dist/plugins/postcss/mergeMediaQueries.mjs.map +0 -1
  513. package/dist/plugins/postcss/pruneVars.d.mts.map +0 -1
  514. package/dist/plugins/postcss/pruneVars.mjs.map +0 -1
  515. package/dist/plugins/postcss/removeDeclarations.d.mts.map +0 -1
  516. package/dist/plugins/postcss/removeDeclarations.mjs.map +0 -1
  517. package/dist/plugins/postcss/tailwindCleanup.d.mts.map +0 -1
  518. package/dist/plugins/postcss/tailwindCleanup.mjs.map +0 -1
  519. package/dist/render/createRenderer.d.mts.map +0 -1
  520. package/dist/render/createRenderer.mjs +0 -286
  521. package/dist/render/createRenderer.mjs.map +0 -1
  522. package/dist/render/index.d.mts +0 -26
  523. package/dist/render/index.d.mts.map +0 -1
  524. package/dist/render/index.mjs +0 -46
  525. package/dist/render/index.mjs.map +0 -1
  526. package/dist/serve.d.mts.map +0 -1
  527. package/dist/serve.mjs.map +0 -1
  528. package/dist/server/compatibility.d.mts +0 -5
  529. package/dist/server/compatibility.d.mts.map +0 -1
  530. package/dist/server/compatibility.mjs +0 -97
  531. package/dist/server/compatibility.mjs.map +0 -1
  532. package/dist/server/email.d.mts.map +0 -1
  533. package/dist/server/email.mjs.map +0 -1
  534. package/dist/server/linter.d.mts +0 -5
  535. package/dist/server/linter.d.mts.map +0 -1
  536. package/dist/server/linter.mjs +0 -189
  537. package/dist/server/linter.mjs.map +0 -1
  538. package/dist/transformers/addAttributes.d.mts +0 -32
  539. package/dist/transformers/addAttributes.d.mts.map +0 -1
  540. package/dist/transformers/addAttributes.mjs.map +0 -1
  541. package/dist/transformers/attributeToStyle.d.mts +0 -25
  542. package/dist/transformers/attributeToStyle.d.mts.map +0 -1
  543. package/dist/transformers/attributeToStyle.mjs +0 -80
  544. package/dist/transformers/attributeToStyle.mjs.map +0 -1
  545. package/dist/transformers/base.d.mts +0 -8
  546. package/dist/transformers/base.d.mts.map +0 -1
  547. package/dist/transformers/base.mjs.map +0 -1
  548. package/dist/transformers/entities.d.mts +0 -8
  549. package/dist/transformers/entities.d.mts.map +0 -1
  550. package/dist/transformers/entities.mjs +0 -41
  551. package/dist/transformers/entities.mjs.map +0 -1
  552. package/dist/transformers/filters/defaults.d.mts.map +0 -1
  553. package/dist/transformers/filters/defaults.mjs.map +0 -1
  554. package/dist/transformers/filters/index.d.mts +0 -22
  555. package/dist/transformers/filters/index.d.mts.map +0 -1
  556. package/dist/transformers/filters/index.mjs +0 -67
  557. package/dist/transformers/filters/index.mjs.map +0 -1
  558. package/dist/transformers/format.d.mts +0 -15
  559. package/dist/transformers/format.d.mts.map +0 -1
  560. package/dist/transformers/format.mjs +0 -26
  561. package/dist/transformers/format.mjs.map +0 -1
  562. package/dist/transformers/index.d.mts.map +0 -1
  563. package/dist/transformers/index.mjs +0 -81
  564. package/dist/transformers/index.mjs.map +0 -1
  565. package/dist/transformers/inlineCSS.d.mts +0 -17
  566. package/dist/transformers/inlineCSS.d.mts.map +0 -1
  567. package/dist/transformers/inlineCSS.mjs +0 -70
  568. package/dist/transformers/inlineCSS.mjs.map +0 -1
  569. package/dist/transformers/inlineLink.d.mts +0 -14
  570. package/dist/transformers/inlineLink.d.mts.map +0 -1
  571. package/dist/transformers/inlineLink.mjs.map +0 -1
  572. package/dist/transformers/minify.d.mts +0 -17
  573. package/dist/transformers/minify.d.mts.map +0 -1
  574. package/dist/transformers/minify.mjs +0 -24
  575. package/dist/transformers/minify.mjs.map +0 -1
  576. package/dist/transformers/purgeCSS.d.mts +0 -23
  577. package/dist/transformers/purgeCSS.d.mts.map +0 -1
  578. package/dist/transformers/purgeCSS.mjs +0 -132
  579. package/dist/transformers/purgeCSS.mjs.map +0 -1
  580. package/dist/transformers/removeAttributes.d.mts +0 -31
  581. package/dist/transformers/removeAttributes.d.mts.map +0 -1
  582. package/dist/transformers/removeAttributes.mjs +0 -63
  583. package/dist/transformers/removeAttributes.mjs.map +0 -1
  584. package/dist/transformers/replaceStrings.d.mts.map +0 -1
  585. package/dist/transformers/replaceStrings.mjs.map +0 -1
  586. package/dist/transformers/safeClassNames.d.mts +0 -22
  587. package/dist/transformers/safeClassNames.d.mts.map +0 -1
  588. package/dist/transformers/safeClassNames.mjs.map +0 -1
  589. package/dist/transformers/shorthandCSS.d.mts +0 -24
  590. package/dist/transformers/shorthandCSS.d.mts.map +0 -1
  591. package/dist/transformers/shorthandCSS.mjs +0 -48
  592. package/dist/transformers/shorthandCSS.mjs.map +0 -1
  593. package/dist/transformers/sixHex.d.mts +0 -16
  594. package/dist/transformers/sixHex.d.mts.map +0 -1
  595. package/dist/transformers/sixHex.mjs +0 -30
  596. package/dist/transformers/sixHex.mjs.map +0 -1
  597. package/dist/transformers/tailwindcss.d.mts.map +0 -1
  598. package/dist/transformers/tailwindcss.mjs.map +0 -1
  599. package/dist/transformers/urlQuery.d.mts +0 -24
  600. package/dist/transformers/urlQuery.d.mts.map +0 -1
  601. package/dist/transformers/urlQuery.mjs +0 -65
  602. package/dist/transformers/urlQuery.mjs.map +0 -1
  603. package/dist/types/config.d.mts.map +0 -1
  604. package/dist/types/config.mjs +0 -1
  605. package/dist/types/index.d.mts +0 -2
  606. package/dist/types/index.mjs +0 -1
  607. package/dist/utils/ast/index.d.mts +0 -4
  608. package/dist/utils/ast/index.mjs +0 -5
  609. package/dist/utils/ast/parser.d.mts.map +0 -1
  610. package/dist/utils/ast/parser.mjs.map +0 -1
  611. package/dist/utils/ast/serializer.d.mts.map +0 -1
  612. package/dist/utils/ast/serializer.mjs +0 -37
  613. package/dist/utils/ast/serializer.mjs.map +0 -1
  614. package/dist/utils/ast/walker.d.mts.map +0 -1
  615. package/dist/utils/ast/walker.mjs.map +0 -1
  616. package/dist/utils/detect.d.mts.map +0 -1
  617. package/dist/utils/detect.mjs.map +0 -1
  618. package/dist/utils/url.d.mts.map +0 -1
  619. package/dist/utils/url.mjs.map +0 -1
  620. package/node_modules/@clack/core/dist/index.mjs.map +0 -1
  621. package/node_modules/@clack/prompts/dist/index.mjs.map +0 -1
  622. package/node_modules/fast-wrap-ansi/lib/main.js.map +0 -1
  623. package/node_modules/maizzle/dist/commands/make/stubs/layout.vue +0 -39
  624. package/node_modules/tinyexec/dist/LICENSES.txt +0 -83
@@ -0,0 +1,3458 @@
1
+ import { t as __commonJSMin } from "./chunk-EAsCxrDo.js";
2
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/tailwind-merge/dist/bundle-cjs.js
3
+ var require_bundle_cjs = /* @__PURE__ */ __commonJSMin(((exports) => {
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
5
+ /**
6
+ * Concatenates two arrays faster than the array spread operator.
7
+ */
8
+ var concatArrays = (array1, array2) => {
9
+ const combinedArray = new Array(array1.length + array2.length);
10
+ for (let i = 0; i < array1.length; i++) combinedArray[i] = array1[i];
11
+ for (let i = 0; i < array2.length; i++) combinedArray[array1.length + i] = array2[i];
12
+ return combinedArray;
13
+ };
14
+ var createClassValidatorObject = (classGroupId, validator) => ({
15
+ classGroupId,
16
+ validator
17
+ });
18
+ var createClassPartObject = (nextPart = /* @__PURE__ */ new Map(), validators = null, classGroupId) => ({
19
+ nextPart,
20
+ validators,
21
+ classGroupId
22
+ });
23
+ var CLASS_PART_SEPARATOR = "-";
24
+ var EMPTY_CONFLICTS = [];
25
+ var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
26
+ var createClassGroupUtils = (config) => {
27
+ const classMap = createClassMap(config);
28
+ const { conflictingClassGroups, conflictingClassGroupModifiers } = config;
29
+ const getClassGroupId = (className) => {
30
+ if (className.startsWith("[") && className.endsWith("]")) return getGroupIdForArbitraryProperty(className);
31
+ const classParts = className.split(CLASS_PART_SEPARATOR);
32
+ return getGroupRecursive(classParts, classParts[0] === "" && classParts.length > 1 ? 1 : 0, classMap);
33
+ };
34
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
35
+ if (hasPostfixModifier) {
36
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
37
+ const baseConflicts = conflictingClassGroups[classGroupId];
38
+ if (modifierConflicts) {
39
+ if (baseConflicts) return concatArrays(baseConflicts, modifierConflicts);
40
+ return modifierConflicts;
41
+ }
42
+ return baseConflicts || EMPTY_CONFLICTS;
43
+ }
44
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
45
+ };
46
+ return {
47
+ getClassGroupId,
48
+ getConflictingClassGroupIds
49
+ };
50
+ };
51
+ var getGroupRecursive = (classParts, startIndex, classPartObject) => {
52
+ if (classParts.length - startIndex === 0) return classPartObject.classGroupId;
53
+ const currentClassPart = classParts[startIndex];
54
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
55
+ if (nextClassPartObject) {
56
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
57
+ if (result) return result;
58
+ }
59
+ const validators = classPartObject.validators;
60
+ if (validators === null) return;
61
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
62
+ const validatorsLength = validators.length;
63
+ for (let i = 0; i < validatorsLength; i++) {
64
+ const validatorObj = validators[i];
65
+ if (validatorObj.validator(classRest)) return validatorObj.classGroupId;
66
+ }
67
+ };
68
+ /**
69
+ * Get the class group ID for an arbitrary property.
70
+ *
71
+ * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.
72
+ */
73
+ var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
74
+ const content = className.slice(1, -1);
75
+ const colonIndex = content.indexOf(":");
76
+ const property = content.slice(0, colonIndex);
77
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : void 0;
78
+ })();
79
+ /**
80
+ * Exported for testing only
81
+ */
82
+ var createClassMap = (config) => {
83
+ const { theme, classGroups } = config;
84
+ return processClassGroups(classGroups, theme);
85
+ };
86
+ var processClassGroups = (classGroups, theme) => {
87
+ const classMap = createClassPartObject();
88
+ for (const classGroupId in classGroups) {
89
+ const group = classGroups[classGroupId];
90
+ processClassesRecursively(group, classMap, classGroupId, theme);
91
+ }
92
+ return classMap;
93
+ };
94
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
95
+ const len = classGroup.length;
96
+ for (let i = 0; i < len; i++) {
97
+ const classDefinition = classGroup[i];
98
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
99
+ }
100
+ };
101
+ var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
102
+ if (typeof classDefinition === "string") {
103
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
104
+ return;
105
+ }
106
+ if (typeof classDefinition === "function") {
107
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
108
+ return;
109
+ }
110
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
111
+ };
112
+ var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
113
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
114
+ classPartObjectToEdit.classGroupId = classGroupId;
115
+ };
116
+ var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
117
+ if (isThemeGetter(classDefinition)) {
118
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
119
+ return;
120
+ }
121
+ if (classPartObject.validators === null) classPartObject.validators = [];
122
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
123
+ };
124
+ var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
125
+ const entries = Object.entries(classDefinition);
126
+ const len = entries.length;
127
+ for (let i = 0; i < len; i++) {
128
+ const [key, value] = entries[i];
129
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
130
+ }
131
+ };
132
+ var getPart = (classPartObject, path) => {
133
+ let current = classPartObject;
134
+ const parts = path.split(CLASS_PART_SEPARATOR);
135
+ const len = parts.length;
136
+ for (let i = 0; i < len; i++) {
137
+ const part = parts[i];
138
+ let next = current.nextPart.get(part);
139
+ if (!next) {
140
+ next = createClassPartObject();
141
+ current.nextPart.set(part, next);
142
+ }
143
+ current = next;
144
+ }
145
+ return current;
146
+ };
147
+ var isThemeGetter = (func) => "isThemeGetter" in func && func.isThemeGetter === true;
148
+ var createLruCache = (maxCacheSize) => {
149
+ if (maxCacheSize < 1) return {
150
+ get: () => void 0,
151
+ set: () => {}
152
+ };
153
+ let cacheSize = 0;
154
+ let cache = Object.create(null);
155
+ let previousCache = Object.create(null);
156
+ const update = (key, value) => {
157
+ cache[key] = value;
158
+ cacheSize++;
159
+ if (cacheSize > maxCacheSize) {
160
+ cacheSize = 0;
161
+ previousCache = cache;
162
+ cache = Object.create(null);
163
+ }
164
+ };
165
+ return {
166
+ get(key) {
167
+ let value = cache[key];
168
+ if (value !== void 0) return value;
169
+ if ((value = previousCache[key]) !== void 0) {
170
+ update(key, value);
171
+ return value;
172
+ }
173
+ },
174
+ set(key, value) {
175
+ if (key in cache) cache[key] = value;
176
+ else update(key, value);
177
+ }
178
+ };
179
+ };
180
+ var IMPORTANT_MODIFIER = "!";
181
+ var MODIFIER_SEPARATOR = ":";
182
+ var EMPTY_MODIFIERS = [];
183
+ var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
184
+ modifiers,
185
+ hasImportantModifier,
186
+ baseClassName,
187
+ maybePostfixModifierPosition,
188
+ isExternal
189
+ });
190
+ var createParseClassName = (config) => {
191
+ const { prefix, experimentalParseClassName } = config;
192
+ /**
193
+ * Parse class name into parts.
194
+ *
195
+ * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS
196
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js
197
+ */
198
+ let parseClassName = (className) => {
199
+ const modifiers = [];
200
+ let bracketDepth = 0;
201
+ let parenDepth = 0;
202
+ let modifierStart = 0;
203
+ let postfixModifierPosition;
204
+ const len = className.length;
205
+ for (let index = 0; index < len; index++) {
206
+ const currentCharacter = className[index];
207
+ if (bracketDepth === 0 && parenDepth === 0) {
208
+ if (currentCharacter === MODIFIER_SEPARATOR) {
209
+ modifiers.push(className.slice(modifierStart, index));
210
+ modifierStart = index + 1;
211
+ continue;
212
+ }
213
+ if (currentCharacter === "/") {
214
+ postfixModifierPosition = index;
215
+ continue;
216
+ }
217
+ }
218
+ if (currentCharacter === "[") bracketDepth++;
219
+ else if (currentCharacter === "]") bracketDepth--;
220
+ else if (currentCharacter === "(") parenDepth++;
221
+ else if (currentCharacter === ")") parenDepth--;
222
+ }
223
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
224
+ let baseClassName = baseClassNameWithImportantModifier;
225
+ let hasImportantModifier = false;
226
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
227
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
228
+ hasImportantModifier = true;
229
+ } else if (baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {
230
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
231
+ hasImportantModifier = true;
232
+ }
233
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
234
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
235
+ };
236
+ if (prefix) {
237
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
238
+ const parseClassNameOriginal = parseClassName;
239
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, void 0, true);
240
+ }
241
+ if (experimentalParseClassName) {
242
+ const parseClassNameOriginal = parseClassName;
243
+ parseClassName = (className) => experimentalParseClassName({
244
+ className,
245
+ parseClassName: parseClassNameOriginal
246
+ });
247
+ }
248
+ return parseClassName;
249
+ };
250
+ /**
251
+ * Sorts modifiers according to following schema:
252
+ * - Predefined modifiers are sorted alphabetically
253
+ * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it
254
+ */
255
+ var createSortModifiers = (config) => {
256
+ const modifierWeights = /* @__PURE__ */ new Map();
257
+ config.orderSensitiveModifiers.forEach((mod, index) => {
258
+ modifierWeights.set(mod, 1e6 + index);
259
+ });
260
+ return (modifiers) => {
261
+ const result = [];
262
+ let currentSegment = [];
263
+ for (let i = 0; i < modifiers.length; i++) {
264
+ const modifier = modifiers[i];
265
+ const isArbitrary = modifier[0] === "[";
266
+ const isOrderSensitive = modifierWeights.has(modifier);
267
+ if (isArbitrary || isOrderSensitive) {
268
+ if (currentSegment.length > 0) {
269
+ currentSegment.sort();
270
+ result.push(...currentSegment);
271
+ currentSegment = [];
272
+ }
273
+ result.push(modifier);
274
+ } else currentSegment.push(modifier);
275
+ }
276
+ if (currentSegment.length > 0) {
277
+ currentSegment.sort();
278
+ result.push(...currentSegment);
279
+ }
280
+ return result;
281
+ };
282
+ };
283
+ var createConfigUtils = (config) => ({
284
+ cache: createLruCache(config.cacheSize),
285
+ parseClassName: createParseClassName(config),
286
+ sortModifiers: createSortModifiers(config),
287
+ postfixLookupClassGroupIds: createPostfixLookupClassGroupIds(config),
288
+ ...createClassGroupUtils(config)
289
+ });
290
+ var createPostfixLookupClassGroupIds = (config) => {
291
+ const lookup = Object.create(null);
292
+ const classGroupIds = config.postfixLookupClassGroups;
293
+ if (classGroupIds) for (let i = 0; i < classGroupIds.length; i++) lookup[classGroupIds[i]] = true;
294
+ return lookup;
295
+ };
296
+ var SPLIT_CLASSES_REGEX = /\s+/;
297
+ var mergeClassList = (classList, configUtils) => {
298
+ const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers, postfixLookupClassGroupIds } = configUtils;
299
+ /**
300
+ * Set of classGroupIds in following format:
301
+ * `{importantModifier}{variantModifiers}{classGroupId}`
302
+ * @example 'float'
303
+ * @example 'hover:focus:bg-color'
304
+ * @example 'md:!pr'
305
+ */
306
+ const classGroupsInConflict = [];
307
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
308
+ let result = "";
309
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
310
+ const originalClassName = classNames[index];
311
+ const { isExternal, modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition } = parseClassName(originalClassName);
312
+ if (isExternal) {
313
+ result = originalClassName + (result.length > 0 ? " " + result : result);
314
+ continue;
315
+ }
316
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
317
+ let classGroupId;
318
+ if (hasPostfixModifier) {
319
+ classGroupId = getClassGroupId(baseClassName.substring(0, maybePostfixModifierPosition));
320
+ const classGroupIdWithPostfix = classGroupId && postfixLookupClassGroupIds[classGroupId] ? getClassGroupId(baseClassName) : void 0;
321
+ if (classGroupIdWithPostfix && classGroupIdWithPostfix !== classGroupId) {
322
+ classGroupId = classGroupIdWithPostfix;
323
+ hasPostfixModifier = false;
324
+ }
325
+ } else classGroupId = getClassGroupId(baseClassName);
326
+ if (!classGroupId) {
327
+ if (!hasPostfixModifier) {
328
+ result = originalClassName + (result.length > 0 ? " " + result : result);
329
+ continue;
330
+ }
331
+ classGroupId = getClassGroupId(baseClassName);
332
+ if (!classGroupId) {
333
+ result = originalClassName + (result.length > 0 ? " " + result : result);
334
+ continue;
335
+ }
336
+ hasPostfixModifier = false;
337
+ }
338
+ const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
339
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
340
+ const classId = modifierId + classGroupId;
341
+ if (classGroupsInConflict.indexOf(classId) > -1) continue;
342
+ classGroupsInConflict.push(classId);
343
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
344
+ for (let i = 0; i < conflictGroups.length; ++i) {
345
+ const group = conflictGroups[i];
346
+ classGroupsInConflict.push(modifierId + group);
347
+ }
348
+ result = originalClassName + (result.length > 0 ? " " + result : result);
349
+ }
350
+ return result;
351
+ };
352
+ /**
353
+ * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.
354
+ *
355
+ * Specifically:
356
+ * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js
357
+ * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts
358
+ *
359
+ * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
360
+ */
361
+ var twJoin = (...classLists) => {
362
+ let index = 0;
363
+ let argument;
364
+ let resolvedValue;
365
+ let string = "";
366
+ while (index < classLists.length) if (argument = classLists[index++]) {
367
+ if (resolvedValue = toValue(argument)) {
368
+ string && (string += " ");
369
+ string += resolvedValue;
370
+ }
371
+ }
372
+ return string;
373
+ };
374
+ var toValue = (mix) => {
375
+ if (typeof mix === "string") return mix;
376
+ let resolvedValue;
377
+ let string = "";
378
+ for (let k = 0; k < mix.length; k++) if (mix[k]) {
379
+ if (resolvedValue = toValue(mix[k])) {
380
+ string && (string += " ");
381
+ string += resolvedValue;
382
+ }
383
+ }
384
+ return string;
385
+ };
386
+ var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
387
+ let configUtils;
388
+ let cacheGet;
389
+ let cacheSet;
390
+ let functionToCall;
391
+ const initTailwindMerge = (classList) => {
392
+ configUtils = createConfigUtils(createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst()));
393
+ cacheGet = configUtils.cache.get;
394
+ cacheSet = configUtils.cache.set;
395
+ functionToCall = tailwindMerge;
396
+ return tailwindMerge(classList);
397
+ };
398
+ const tailwindMerge = (classList) => {
399
+ const cachedResult = cacheGet(classList);
400
+ if (cachedResult) return cachedResult;
401
+ const result = mergeClassList(classList, configUtils);
402
+ cacheSet(classList, result);
403
+ return result;
404
+ };
405
+ functionToCall = initTailwindMerge;
406
+ return (...args) => functionToCall(twJoin(...args));
407
+ };
408
+ var fallbackThemeArr = [];
409
+ var fromTheme = (key) => {
410
+ const themeGetter = (theme) => theme[key] || fallbackThemeArr;
411
+ themeGetter.isThemeGetter = true;
412
+ return themeGetter;
413
+ };
414
+ var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
415
+ var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
416
+ var fractionRegex = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/;
417
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
418
+ var 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$/;
419
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
420
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
421
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
422
+ var isFraction = (value) => fractionRegex.test(value);
423
+ var isNumber = (value) => !!value && !Number.isNaN(Number(value));
424
+ var isInteger = (value) => !!value && Number.isInteger(Number(value));
425
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
426
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
427
+ var isAny = () => true;
428
+ var isLengthOnly = (value) => lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
429
+ var isNever = () => false;
430
+ var isShadow = (value) => shadowRegex.test(value);
431
+ var isImage = (value) => imageRegex.test(value);
432
+ var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
433
+ var isNamedContainerQuery = (value) => value.startsWith("@container") && (value[10] === "/" && value[11] !== void 0 || value[11] === "s" && value[16] !== void 0 && value.startsWith("-size/", 10) || value[11] === "n" && value[18] !== void 0 && value.startsWith("-normal/", 10));
434
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
435
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
436
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
437
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
438
+ var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);
439
+ var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);
440
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
441
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
442
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
443
+ var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
444
+ var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
445
+ var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
446
+ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
447
+ var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
448
+ var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
449
+ var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
450
+ var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);
451
+ var getIsArbitraryValue = (value, testLabel, testValue) => {
452
+ const result = arbitraryValueRegex.exec(value);
453
+ if (result) {
454
+ if (result[1]) return testLabel(result[1]);
455
+ return testValue(result[2]);
456
+ }
457
+ return false;
458
+ };
459
+ var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
460
+ const result = arbitraryVariableRegex.exec(value);
461
+ if (result) {
462
+ if (result[1]) return testLabel(result[1]);
463
+ return shouldMatchNoLabel;
464
+ }
465
+ return false;
466
+ };
467
+ var isLabelPosition = (label) => label === "position" || label === "percentage";
468
+ var isLabelImage = (label) => label === "image" || label === "url";
469
+ var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
470
+ var isLabelLength = (label) => label === "length";
471
+ var isLabelNumber = (label) => label === "number";
472
+ var isLabelFamilyName = (label) => label === "family-name";
473
+ var isLabelWeight = (label) => label === "number" || label === "weight";
474
+ var isLabelShadow = (label) => label === "shadow";
475
+ var validators = /*#__PURE__*/ Object.defineProperty({
476
+ __proto__: null,
477
+ isAny,
478
+ isAnyNonArbitrary,
479
+ isArbitraryFamilyName,
480
+ isArbitraryImage,
481
+ isArbitraryLength,
482
+ isArbitraryNumber,
483
+ isArbitraryPosition,
484
+ isArbitraryShadow,
485
+ isArbitrarySize,
486
+ isArbitraryValue,
487
+ isArbitraryVariable,
488
+ isArbitraryVariableFamilyName,
489
+ isArbitraryVariableImage,
490
+ isArbitraryVariableLength,
491
+ isArbitraryVariablePosition,
492
+ isArbitraryVariableShadow,
493
+ isArbitraryVariableSize,
494
+ isArbitraryVariableWeight,
495
+ isArbitraryWeight,
496
+ isFraction,
497
+ isInteger,
498
+ isNamedContainerQuery,
499
+ isNumber,
500
+ isPercent,
501
+ isTshirtSize
502
+ }, Symbol.toStringTag, { value: "Module" });
503
+ var getDefaultConfig = () => {
504
+ /**
505
+ * Theme getters for theme variable namespaces
506
+ * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces
507
+ */
508
+ const themeColor = fromTheme("color");
509
+ const themeFont = fromTheme("font");
510
+ const themeText = fromTheme("text");
511
+ const themeFontWeight = fromTheme("font-weight");
512
+ const themeTracking = fromTheme("tracking");
513
+ const themeLeading = fromTheme("leading");
514
+ const themeBreakpoint = fromTheme("breakpoint");
515
+ const themeContainer = fromTheme("container");
516
+ const themeSpacing = fromTheme("spacing");
517
+ const themeRadius = fromTheme("radius");
518
+ const themeShadow = fromTheme("shadow");
519
+ const themeInsetShadow = fromTheme("inset-shadow");
520
+ const themeTextShadow = fromTheme("text-shadow");
521
+ const themeDropShadow = fromTheme("drop-shadow");
522
+ const themeBlur = fromTheme("blur");
523
+ const themePerspective = fromTheme("perspective");
524
+ const themeAspect = fromTheme("aspect");
525
+ const themeEase = fromTheme("ease");
526
+ const themeAnimate = fromTheme("animate");
527
+ /**
528
+ * Helpers to avoid repeating the same scales
529
+ *
530
+ * We use functions that create a new array every time they're called instead of static arrays.
531
+ * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.
532
+ */
533
+ const scaleBreak = () => [
534
+ "auto",
535
+ "avoid",
536
+ "all",
537
+ "avoid-page",
538
+ "page",
539
+ "left",
540
+ "right",
541
+ "column"
542
+ ];
543
+ const scalePosition = () => [
544
+ "center",
545
+ "top",
546
+ "bottom",
547
+ "left",
548
+ "right",
549
+ "top-left",
550
+ "left-top",
551
+ "top-right",
552
+ "right-top",
553
+ "bottom-right",
554
+ "right-bottom",
555
+ "bottom-left",
556
+ "left-bottom"
557
+ ];
558
+ const scalePositionWithArbitrary = () => [
559
+ ...scalePosition(),
560
+ isArbitraryVariable,
561
+ isArbitraryValue
562
+ ];
563
+ const scaleOverflow = () => [
564
+ "auto",
565
+ "hidden",
566
+ "clip",
567
+ "visible",
568
+ "scroll"
569
+ ];
570
+ const scaleOverscroll = () => [
571
+ "auto",
572
+ "contain",
573
+ "none"
574
+ ];
575
+ const scaleUnambiguousSpacing = () => [
576
+ isArbitraryVariable,
577
+ isArbitraryValue,
578
+ themeSpacing
579
+ ];
580
+ const scaleInset = () => [
581
+ isFraction,
582
+ "full",
583
+ "auto",
584
+ ...scaleUnambiguousSpacing()
585
+ ];
586
+ const scaleGridTemplateColsRows = () => [
587
+ isInteger,
588
+ "none",
589
+ "subgrid",
590
+ isArbitraryVariable,
591
+ isArbitraryValue
592
+ ];
593
+ const scaleGridColRowStartAndEnd = () => [
594
+ "auto",
595
+ { span: [
596
+ "full",
597
+ isInteger,
598
+ isArbitraryVariable,
599
+ isArbitraryValue
600
+ ] },
601
+ isInteger,
602
+ isArbitraryVariable,
603
+ isArbitraryValue
604
+ ];
605
+ const scaleGridColRowStartOrEnd = () => [
606
+ isInteger,
607
+ "auto",
608
+ isArbitraryVariable,
609
+ isArbitraryValue
610
+ ];
611
+ const scaleGridAutoColsRows = () => [
612
+ "auto",
613
+ "min",
614
+ "max",
615
+ "fr",
616
+ isArbitraryVariable,
617
+ isArbitraryValue
618
+ ];
619
+ const scaleAlignPrimaryAxis = () => [
620
+ "start",
621
+ "end",
622
+ "center",
623
+ "between",
624
+ "around",
625
+ "evenly",
626
+ "stretch",
627
+ "baseline",
628
+ "center-safe",
629
+ "end-safe"
630
+ ];
631
+ const scaleAlignSecondaryAxis = () => [
632
+ "start",
633
+ "end",
634
+ "center",
635
+ "stretch",
636
+ "center-safe",
637
+ "end-safe"
638
+ ];
639
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
640
+ const scaleSizing = () => [
641
+ isFraction,
642
+ "auto",
643
+ "full",
644
+ "dvw",
645
+ "dvh",
646
+ "lvw",
647
+ "lvh",
648
+ "svw",
649
+ "svh",
650
+ "min",
651
+ "max",
652
+ "fit",
653
+ ...scaleUnambiguousSpacing()
654
+ ];
655
+ const scaleSizingInline = () => [
656
+ isFraction,
657
+ "screen",
658
+ "full",
659
+ "dvw",
660
+ "lvw",
661
+ "svw",
662
+ "min",
663
+ "max",
664
+ "fit",
665
+ ...scaleUnambiguousSpacing()
666
+ ];
667
+ const scaleSizingBlock = () => [
668
+ isFraction,
669
+ "screen",
670
+ "full",
671
+ "lh",
672
+ "dvh",
673
+ "lvh",
674
+ "svh",
675
+ "min",
676
+ "max",
677
+ "fit",
678
+ ...scaleUnambiguousSpacing()
679
+ ];
680
+ const scaleColor = () => [
681
+ themeColor,
682
+ isArbitraryVariable,
683
+ isArbitraryValue
684
+ ];
685
+ const scaleBgPosition = () => [
686
+ ...scalePosition(),
687
+ isArbitraryVariablePosition,
688
+ isArbitraryPosition,
689
+ { position: [isArbitraryVariable, isArbitraryValue] }
690
+ ];
691
+ const scaleBgRepeat = () => ["no-repeat", { repeat: [
692
+ "",
693
+ "x",
694
+ "y",
695
+ "space",
696
+ "round"
697
+ ] }];
698
+ const scaleBgSize = () => [
699
+ "auto",
700
+ "cover",
701
+ "contain",
702
+ isArbitraryVariableSize,
703
+ isArbitrarySize,
704
+ { size: [isArbitraryVariable, isArbitraryValue] }
705
+ ];
706
+ const scaleGradientStopPosition = () => [
707
+ isPercent,
708
+ isArbitraryVariableLength,
709
+ isArbitraryLength
710
+ ];
711
+ const scaleRadius = () => [
712
+ "",
713
+ "none",
714
+ "full",
715
+ themeRadius,
716
+ isArbitraryVariable,
717
+ isArbitraryValue
718
+ ];
719
+ const scaleBorderWidth = () => [
720
+ "",
721
+ isNumber,
722
+ isArbitraryVariableLength,
723
+ isArbitraryLength
724
+ ];
725
+ const scaleLineStyle = () => [
726
+ "solid",
727
+ "dashed",
728
+ "dotted",
729
+ "double"
730
+ ];
731
+ const scaleBlendMode = () => [
732
+ "normal",
733
+ "multiply",
734
+ "screen",
735
+ "overlay",
736
+ "darken",
737
+ "lighten",
738
+ "color-dodge",
739
+ "color-burn",
740
+ "hard-light",
741
+ "soft-light",
742
+ "difference",
743
+ "exclusion",
744
+ "hue",
745
+ "saturation",
746
+ "color",
747
+ "luminosity"
748
+ ];
749
+ const scaleMaskImagePosition = () => [
750
+ isNumber,
751
+ isPercent,
752
+ isArbitraryVariablePosition,
753
+ isArbitraryPosition
754
+ ];
755
+ const scaleBlur = () => [
756
+ "",
757
+ "none",
758
+ themeBlur,
759
+ isArbitraryVariable,
760
+ isArbitraryValue
761
+ ];
762
+ const scaleRotate = () => [
763
+ "none",
764
+ isNumber,
765
+ isArbitraryVariable,
766
+ isArbitraryValue
767
+ ];
768
+ const scaleScale = () => [
769
+ "none",
770
+ isNumber,
771
+ isArbitraryVariable,
772
+ isArbitraryValue
773
+ ];
774
+ const scaleSkew = () => [
775
+ isNumber,
776
+ isArbitraryVariable,
777
+ isArbitraryValue
778
+ ];
779
+ const scaleTranslate = () => [
780
+ isFraction,
781
+ "full",
782
+ ...scaleUnambiguousSpacing()
783
+ ];
784
+ return {
785
+ cacheSize: 500,
786
+ theme: {
787
+ animate: [
788
+ "spin",
789
+ "ping",
790
+ "pulse",
791
+ "bounce"
792
+ ],
793
+ aspect: ["video"],
794
+ blur: [isTshirtSize],
795
+ breakpoint: [isTshirtSize],
796
+ color: [isAny],
797
+ container: [isTshirtSize],
798
+ "drop-shadow": [isTshirtSize],
799
+ ease: [
800
+ "in",
801
+ "out",
802
+ "in-out"
803
+ ],
804
+ font: [isAnyNonArbitrary],
805
+ "font-weight": [
806
+ "thin",
807
+ "extralight",
808
+ "light",
809
+ "normal",
810
+ "medium",
811
+ "semibold",
812
+ "bold",
813
+ "extrabold",
814
+ "black"
815
+ ],
816
+ "inset-shadow": [isTshirtSize],
817
+ leading: [
818
+ "none",
819
+ "tight",
820
+ "snug",
821
+ "normal",
822
+ "relaxed",
823
+ "loose"
824
+ ],
825
+ perspective: [
826
+ "dramatic",
827
+ "near",
828
+ "normal",
829
+ "midrange",
830
+ "distant",
831
+ "none"
832
+ ],
833
+ radius: [isTshirtSize],
834
+ shadow: [isTshirtSize],
835
+ spacing: ["px", isNumber],
836
+ text: [isTshirtSize],
837
+ "text-shadow": [isTshirtSize],
838
+ tracking: [
839
+ "tighter",
840
+ "tight",
841
+ "normal",
842
+ "wide",
843
+ "wider",
844
+ "widest"
845
+ ]
846
+ },
847
+ classGroups: {
848
+ /**
849
+ * Aspect Ratio
850
+ * @see https://tailwindcss.com/docs/aspect-ratio
851
+ */
852
+ aspect: [{ aspect: [
853
+ "auto",
854
+ "square",
855
+ isFraction,
856
+ isArbitraryValue,
857
+ isArbitraryVariable,
858
+ themeAspect
859
+ ] }],
860
+ /**
861
+ * Container
862
+ * @see https://tailwindcss.com/docs/container
863
+ * @deprecated since Tailwind CSS v4.0.0
864
+ */
865
+ container: ["container"],
866
+ /**
867
+ * Container Type
868
+ * @see https://tailwindcss.com/docs/responsive-design#container-queries
869
+ */
870
+ "container-type": [{ "@container": [
871
+ "",
872
+ "normal",
873
+ "size",
874
+ isArbitraryVariable,
875
+ isArbitraryValue
876
+ ] }],
877
+ /**
878
+ * Container Name
879
+ * @see https://tailwindcss.com/docs/responsive-design#named-containers
880
+ */
881
+ "container-named": [isNamedContainerQuery],
882
+ /**
883
+ * Columns
884
+ * @see https://tailwindcss.com/docs/columns
885
+ */
886
+ columns: [{ columns: [
887
+ isNumber,
888
+ isArbitraryValue,
889
+ isArbitraryVariable,
890
+ themeContainer
891
+ ] }],
892
+ /**
893
+ * Break After
894
+ * @see https://tailwindcss.com/docs/break-after
895
+ */
896
+ "break-after": [{ "break-after": scaleBreak() }],
897
+ /**
898
+ * Break Before
899
+ * @see https://tailwindcss.com/docs/break-before
900
+ */
901
+ "break-before": [{ "break-before": scaleBreak() }],
902
+ /**
903
+ * Break Inside
904
+ * @see https://tailwindcss.com/docs/break-inside
905
+ */
906
+ "break-inside": [{ "break-inside": [
907
+ "auto",
908
+ "avoid",
909
+ "avoid-page",
910
+ "avoid-column"
911
+ ] }],
912
+ /**
913
+ * Box Decoration Break
914
+ * @see https://tailwindcss.com/docs/box-decoration-break
915
+ */
916
+ "box-decoration": [{ "box-decoration": ["slice", "clone"] }],
917
+ /**
918
+ * Box Sizing
919
+ * @see https://tailwindcss.com/docs/box-sizing
920
+ */
921
+ box: [{ box: ["border", "content"] }],
922
+ /**
923
+ * Display
924
+ * @see https://tailwindcss.com/docs/display
925
+ */
926
+ display: [
927
+ "block",
928
+ "inline-block",
929
+ "inline",
930
+ "flex",
931
+ "inline-flex",
932
+ "table",
933
+ "inline-table",
934
+ "table-caption",
935
+ "table-cell",
936
+ "table-column",
937
+ "table-column-group",
938
+ "table-footer-group",
939
+ "table-header-group",
940
+ "table-row-group",
941
+ "table-row",
942
+ "flow-root",
943
+ "grid",
944
+ "inline-grid",
945
+ "contents",
946
+ "list-item",
947
+ "hidden"
948
+ ],
949
+ /**
950
+ * Screen Reader Only
951
+ * @see https://tailwindcss.com/docs/display#screen-reader-only
952
+ */
953
+ sr: ["sr-only", "not-sr-only"],
954
+ /**
955
+ * Floats
956
+ * @see https://tailwindcss.com/docs/float
957
+ */
958
+ float: [{ float: [
959
+ "right",
960
+ "left",
961
+ "none",
962
+ "start",
963
+ "end"
964
+ ] }],
965
+ /**
966
+ * Clear
967
+ * @see https://tailwindcss.com/docs/clear
968
+ */
969
+ clear: [{ clear: [
970
+ "left",
971
+ "right",
972
+ "both",
973
+ "none",
974
+ "start",
975
+ "end"
976
+ ] }],
977
+ /**
978
+ * Isolation
979
+ * @see https://tailwindcss.com/docs/isolation
980
+ */
981
+ isolation: ["isolate", "isolation-auto"],
982
+ /**
983
+ * Object Fit
984
+ * @see https://tailwindcss.com/docs/object-fit
985
+ */
986
+ "object-fit": [{ object: [
987
+ "contain",
988
+ "cover",
989
+ "fill",
990
+ "none",
991
+ "scale-down"
992
+ ] }],
993
+ /**
994
+ * Object Position
995
+ * @see https://tailwindcss.com/docs/object-position
996
+ */
997
+ "object-position": [{ object: scalePositionWithArbitrary() }],
998
+ /**
999
+ * Overflow
1000
+ * @see https://tailwindcss.com/docs/overflow
1001
+ */
1002
+ overflow: [{ overflow: scaleOverflow() }],
1003
+ /**
1004
+ * Overflow X
1005
+ * @see https://tailwindcss.com/docs/overflow
1006
+ */
1007
+ "overflow-x": [{ "overflow-x": scaleOverflow() }],
1008
+ /**
1009
+ * Overflow Y
1010
+ * @see https://tailwindcss.com/docs/overflow
1011
+ */
1012
+ "overflow-y": [{ "overflow-y": scaleOverflow() }],
1013
+ /**
1014
+ * Overscroll Behavior
1015
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1016
+ */
1017
+ overscroll: [{ overscroll: scaleOverscroll() }],
1018
+ /**
1019
+ * Overscroll Behavior X
1020
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1021
+ */
1022
+ "overscroll-x": [{ "overscroll-x": scaleOverscroll() }],
1023
+ /**
1024
+ * Overscroll Behavior Y
1025
+ * @see https://tailwindcss.com/docs/overscroll-behavior
1026
+ */
1027
+ "overscroll-y": [{ "overscroll-y": scaleOverscroll() }],
1028
+ /**
1029
+ * Position
1030
+ * @see https://tailwindcss.com/docs/position
1031
+ */
1032
+ position: [
1033
+ "static",
1034
+ "fixed",
1035
+ "absolute",
1036
+ "relative",
1037
+ "sticky"
1038
+ ],
1039
+ /**
1040
+ * Inset
1041
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1042
+ */
1043
+ inset: [{ inset: scaleInset() }],
1044
+ /**
1045
+ * Inset Inline
1046
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1047
+ */
1048
+ "inset-x": [{ "inset-x": scaleInset() }],
1049
+ /**
1050
+ * Inset Block
1051
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1052
+ */
1053
+ "inset-y": [{ "inset-y": scaleInset() }],
1054
+ /**
1055
+ * Inset Inline Start
1056
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1057
+ * @todo class group will be renamed to `inset-s` in next major release
1058
+ */
1059
+ start: [{
1060
+ "inset-s": scaleInset(),
1061
+ /**
1062
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.
1063
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
1064
+ */
1065
+ start: scaleInset()
1066
+ }],
1067
+ /**
1068
+ * Inset Inline End
1069
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1070
+ * @todo class group will be renamed to `inset-e` in next major release
1071
+ */
1072
+ end: [{
1073
+ "inset-e": scaleInset(),
1074
+ /**
1075
+ * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.
1076
+ * @see https://github.com/tailwindlabs/tailwindcss/pull/19613
1077
+ */
1078
+ end: scaleInset()
1079
+ }],
1080
+ /**
1081
+ * Inset Block Start
1082
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1083
+ */
1084
+ "inset-bs": [{ "inset-bs": scaleInset() }],
1085
+ /**
1086
+ * Inset Block End
1087
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1088
+ */
1089
+ "inset-be": [{ "inset-be": scaleInset() }],
1090
+ /**
1091
+ * Top
1092
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1093
+ */
1094
+ top: [{ top: scaleInset() }],
1095
+ /**
1096
+ * Right
1097
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1098
+ */
1099
+ right: [{ right: scaleInset() }],
1100
+ /**
1101
+ * Bottom
1102
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1103
+ */
1104
+ bottom: [{ bottom: scaleInset() }],
1105
+ /**
1106
+ * Left
1107
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
1108
+ */
1109
+ left: [{ left: scaleInset() }],
1110
+ /**
1111
+ * Visibility
1112
+ * @see https://tailwindcss.com/docs/visibility
1113
+ */
1114
+ visibility: [
1115
+ "visible",
1116
+ "invisible",
1117
+ "collapse"
1118
+ ],
1119
+ /**
1120
+ * Z-Index
1121
+ * @see https://tailwindcss.com/docs/z-index
1122
+ */
1123
+ z: [{ z: [
1124
+ isInteger,
1125
+ "auto",
1126
+ isArbitraryVariable,
1127
+ isArbitraryValue
1128
+ ] }],
1129
+ /**
1130
+ * Flex Basis
1131
+ * @see https://tailwindcss.com/docs/flex-basis
1132
+ */
1133
+ basis: [{ basis: [
1134
+ isFraction,
1135
+ "full",
1136
+ "auto",
1137
+ themeContainer,
1138
+ ...scaleUnambiguousSpacing()
1139
+ ] }],
1140
+ /**
1141
+ * Flex Direction
1142
+ * @see https://tailwindcss.com/docs/flex-direction
1143
+ */
1144
+ "flex-direction": [{ flex: [
1145
+ "row",
1146
+ "row-reverse",
1147
+ "col",
1148
+ "col-reverse"
1149
+ ] }],
1150
+ /**
1151
+ * Flex Wrap
1152
+ * @see https://tailwindcss.com/docs/flex-wrap
1153
+ */
1154
+ "flex-wrap": [{ flex: [
1155
+ "nowrap",
1156
+ "wrap",
1157
+ "wrap-reverse"
1158
+ ] }],
1159
+ /**
1160
+ * Flex
1161
+ * @see https://tailwindcss.com/docs/flex
1162
+ */
1163
+ flex: [{ flex: [
1164
+ isNumber,
1165
+ isFraction,
1166
+ "auto",
1167
+ "initial",
1168
+ "none",
1169
+ isArbitraryValue
1170
+ ] }],
1171
+ /**
1172
+ * Flex Grow
1173
+ * @see https://tailwindcss.com/docs/flex-grow
1174
+ */
1175
+ grow: [{ grow: [
1176
+ "",
1177
+ isNumber,
1178
+ isArbitraryVariable,
1179
+ isArbitraryValue
1180
+ ] }],
1181
+ /**
1182
+ * Flex Shrink
1183
+ * @see https://tailwindcss.com/docs/flex-shrink
1184
+ */
1185
+ shrink: [{ shrink: [
1186
+ "",
1187
+ isNumber,
1188
+ isArbitraryVariable,
1189
+ isArbitraryValue
1190
+ ] }],
1191
+ /**
1192
+ * Order
1193
+ * @see https://tailwindcss.com/docs/order
1194
+ */
1195
+ order: [{ order: [
1196
+ isInteger,
1197
+ "first",
1198
+ "last",
1199
+ "none",
1200
+ isArbitraryVariable,
1201
+ isArbitraryValue
1202
+ ] }],
1203
+ /**
1204
+ * Grid Template Columns
1205
+ * @see https://tailwindcss.com/docs/grid-template-columns
1206
+ */
1207
+ "grid-cols": [{ "grid-cols": scaleGridTemplateColsRows() }],
1208
+ /**
1209
+ * Grid Column Start / End
1210
+ * @see https://tailwindcss.com/docs/grid-column
1211
+ */
1212
+ "col-start-end": [{ col: scaleGridColRowStartAndEnd() }],
1213
+ /**
1214
+ * Grid Column Start
1215
+ * @see https://tailwindcss.com/docs/grid-column
1216
+ */
1217
+ "col-start": [{ "col-start": scaleGridColRowStartOrEnd() }],
1218
+ /**
1219
+ * Grid Column End
1220
+ * @see https://tailwindcss.com/docs/grid-column
1221
+ */
1222
+ "col-end": [{ "col-end": scaleGridColRowStartOrEnd() }],
1223
+ /**
1224
+ * Grid Template Rows
1225
+ * @see https://tailwindcss.com/docs/grid-template-rows
1226
+ */
1227
+ "grid-rows": [{ "grid-rows": scaleGridTemplateColsRows() }],
1228
+ /**
1229
+ * Grid Row Start / End
1230
+ * @see https://tailwindcss.com/docs/grid-row
1231
+ */
1232
+ "row-start-end": [{ row: scaleGridColRowStartAndEnd() }],
1233
+ /**
1234
+ * Grid Row Start
1235
+ * @see https://tailwindcss.com/docs/grid-row
1236
+ */
1237
+ "row-start": [{ "row-start": scaleGridColRowStartOrEnd() }],
1238
+ /**
1239
+ * Grid Row End
1240
+ * @see https://tailwindcss.com/docs/grid-row
1241
+ */
1242
+ "row-end": [{ "row-end": scaleGridColRowStartOrEnd() }],
1243
+ /**
1244
+ * Grid Auto Flow
1245
+ * @see https://tailwindcss.com/docs/grid-auto-flow
1246
+ */
1247
+ "grid-flow": [{ "grid-flow": [
1248
+ "row",
1249
+ "col",
1250
+ "dense",
1251
+ "row-dense",
1252
+ "col-dense"
1253
+ ] }],
1254
+ /**
1255
+ * Grid Auto Columns
1256
+ * @see https://tailwindcss.com/docs/grid-auto-columns
1257
+ */
1258
+ "auto-cols": [{ "auto-cols": scaleGridAutoColsRows() }],
1259
+ /**
1260
+ * Grid Auto Rows
1261
+ * @see https://tailwindcss.com/docs/grid-auto-rows
1262
+ */
1263
+ "auto-rows": [{ "auto-rows": scaleGridAutoColsRows() }],
1264
+ /**
1265
+ * Gap
1266
+ * @see https://tailwindcss.com/docs/gap
1267
+ */
1268
+ gap: [{ gap: scaleUnambiguousSpacing() }],
1269
+ /**
1270
+ * Gap X
1271
+ * @see https://tailwindcss.com/docs/gap
1272
+ */
1273
+ "gap-x": [{ "gap-x": scaleUnambiguousSpacing() }],
1274
+ /**
1275
+ * Gap Y
1276
+ * @see https://tailwindcss.com/docs/gap
1277
+ */
1278
+ "gap-y": [{ "gap-y": scaleUnambiguousSpacing() }],
1279
+ /**
1280
+ * Justify Content
1281
+ * @see https://tailwindcss.com/docs/justify-content
1282
+ */
1283
+ "justify-content": [{ justify: [...scaleAlignPrimaryAxis(), "normal"] }],
1284
+ /**
1285
+ * Justify Items
1286
+ * @see https://tailwindcss.com/docs/justify-items
1287
+ */
1288
+ "justify-items": [{ "justify-items": [...scaleAlignSecondaryAxis(), "normal"] }],
1289
+ /**
1290
+ * Justify Self
1291
+ * @see https://tailwindcss.com/docs/justify-self
1292
+ */
1293
+ "justify-self": [{ "justify-self": ["auto", ...scaleAlignSecondaryAxis()] }],
1294
+ /**
1295
+ * Align Content
1296
+ * @see https://tailwindcss.com/docs/align-content
1297
+ */
1298
+ "align-content": [{ content: ["normal", ...scaleAlignPrimaryAxis()] }],
1299
+ /**
1300
+ * Align Items
1301
+ * @see https://tailwindcss.com/docs/align-items
1302
+ */
1303
+ "align-items": [{ items: [...scaleAlignSecondaryAxis(), { baseline: ["", "last"] }] }],
1304
+ /**
1305
+ * Align Self
1306
+ * @see https://tailwindcss.com/docs/align-self
1307
+ */
1308
+ "align-self": [{ self: [
1309
+ "auto",
1310
+ ...scaleAlignSecondaryAxis(),
1311
+ { baseline: ["", "last"] }
1312
+ ] }],
1313
+ /**
1314
+ * Place Content
1315
+ * @see https://tailwindcss.com/docs/place-content
1316
+ */
1317
+ "place-content": [{ "place-content": scaleAlignPrimaryAxis() }],
1318
+ /**
1319
+ * Place Items
1320
+ * @see https://tailwindcss.com/docs/place-items
1321
+ */
1322
+ "place-items": [{ "place-items": [...scaleAlignSecondaryAxis(), "baseline"] }],
1323
+ /**
1324
+ * Place Self
1325
+ * @see https://tailwindcss.com/docs/place-self
1326
+ */
1327
+ "place-self": [{ "place-self": ["auto", ...scaleAlignSecondaryAxis()] }],
1328
+ /**
1329
+ * Padding
1330
+ * @see https://tailwindcss.com/docs/padding
1331
+ */
1332
+ p: [{ p: scaleUnambiguousSpacing() }],
1333
+ /**
1334
+ * Padding Inline
1335
+ * @see https://tailwindcss.com/docs/padding
1336
+ */
1337
+ px: [{ px: scaleUnambiguousSpacing() }],
1338
+ /**
1339
+ * Padding Block
1340
+ * @see https://tailwindcss.com/docs/padding
1341
+ */
1342
+ py: [{ py: scaleUnambiguousSpacing() }],
1343
+ /**
1344
+ * Padding Inline Start
1345
+ * @see https://tailwindcss.com/docs/padding
1346
+ */
1347
+ ps: [{ ps: scaleUnambiguousSpacing() }],
1348
+ /**
1349
+ * Padding Inline End
1350
+ * @see https://tailwindcss.com/docs/padding
1351
+ */
1352
+ pe: [{ pe: scaleUnambiguousSpacing() }],
1353
+ /**
1354
+ * Padding Block Start
1355
+ * @see https://tailwindcss.com/docs/padding
1356
+ */
1357
+ pbs: [{ pbs: scaleUnambiguousSpacing() }],
1358
+ /**
1359
+ * Padding Block End
1360
+ * @see https://tailwindcss.com/docs/padding
1361
+ */
1362
+ pbe: [{ pbe: scaleUnambiguousSpacing() }],
1363
+ /**
1364
+ * Padding Top
1365
+ * @see https://tailwindcss.com/docs/padding
1366
+ */
1367
+ pt: [{ pt: scaleUnambiguousSpacing() }],
1368
+ /**
1369
+ * Padding Right
1370
+ * @see https://tailwindcss.com/docs/padding
1371
+ */
1372
+ pr: [{ pr: scaleUnambiguousSpacing() }],
1373
+ /**
1374
+ * Padding Bottom
1375
+ * @see https://tailwindcss.com/docs/padding
1376
+ */
1377
+ pb: [{ pb: scaleUnambiguousSpacing() }],
1378
+ /**
1379
+ * Padding Left
1380
+ * @see https://tailwindcss.com/docs/padding
1381
+ */
1382
+ pl: [{ pl: scaleUnambiguousSpacing() }],
1383
+ /**
1384
+ * Margin
1385
+ * @see https://tailwindcss.com/docs/margin
1386
+ */
1387
+ m: [{ m: scaleMargin() }],
1388
+ /**
1389
+ * Margin Inline
1390
+ * @see https://tailwindcss.com/docs/margin
1391
+ */
1392
+ mx: [{ mx: scaleMargin() }],
1393
+ /**
1394
+ * Margin Block
1395
+ * @see https://tailwindcss.com/docs/margin
1396
+ */
1397
+ my: [{ my: scaleMargin() }],
1398
+ /**
1399
+ * Margin Inline Start
1400
+ * @see https://tailwindcss.com/docs/margin
1401
+ */
1402
+ ms: [{ ms: scaleMargin() }],
1403
+ /**
1404
+ * Margin Inline End
1405
+ * @see https://tailwindcss.com/docs/margin
1406
+ */
1407
+ me: [{ me: scaleMargin() }],
1408
+ /**
1409
+ * Margin Block Start
1410
+ * @see https://tailwindcss.com/docs/margin
1411
+ */
1412
+ mbs: [{ mbs: scaleMargin() }],
1413
+ /**
1414
+ * Margin Block End
1415
+ * @see https://tailwindcss.com/docs/margin
1416
+ */
1417
+ mbe: [{ mbe: scaleMargin() }],
1418
+ /**
1419
+ * Margin Top
1420
+ * @see https://tailwindcss.com/docs/margin
1421
+ */
1422
+ mt: [{ mt: scaleMargin() }],
1423
+ /**
1424
+ * Margin Right
1425
+ * @see https://tailwindcss.com/docs/margin
1426
+ */
1427
+ mr: [{ mr: scaleMargin() }],
1428
+ /**
1429
+ * Margin Bottom
1430
+ * @see https://tailwindcss.com/docs/margin
1431
+ */
1432
+ mb: [{ mb: scaleMargin() }],
1433
+ /**
1434
+ * Margin Left
1435
+ * @see https://tailwindcss.com/docs/margin
1436
+ */
1437
+ ml: [{ ml: scaleMargin() }],
1438
+ /**
1439
+ * Space Between X
1440
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1441
+ */
1442
+ "space-x": [{ "space-x": scaleUnambiguousSpacing() }],
1443
+ /**
1444
+ * Space Between X Reverse
1445
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1446
+ */
1447
+ "space-x-reverse": ["space-x-reverse"],
1448
+ /**
1449
+ * Space Between Y
1450
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1451
+ */
1452
+ "space-y": [{ "space-y": scaleUnambiguousSpacing() }],
1453
+ /**
1454
+ * Space Between Y Reverse
1455
+ * @see https://tailwindcss.com/docs/margin#adding-space-between-children
1456
+ */
1457
+ "space-y-reverse": ["space-y-reverse"],
1458
+ /**
1459
+ * Size
1460
+ * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
1461
+ */
1462
+ size: [{ size: scaleSizing() }],
1463
+ /**
1464
+ * Inline Size
1465
+ * @see https://tailwindcss.com/docs/width
1466
+ */
1467
+ "inline-size": [{ inline: ["auto", ...scaleSizingInline()] }],
1468
+ /**
1469
+ * Min-Inline Size
1470
+ * @see https://tailwindcss.com/docs/min-width
1471
+ */
1472
+ "min-inline-size": [{ "min-inline": ["auto", ...scaleSizingInline()] }],
1473
+ /**
1474
+ * Max-Inline Size
1475
+ * @see https://tailwindcss.com/docs/max-width
1476
+ */
1477
+ "max-inline-size": [{ "max-inline": ["none", ...scaleSizingInline()] }],
1478
+ /**
1479
+ * Block Size
1480
+ * @see https://tailwindcss.com/docs/height
1481
+ */
1482
+ "block-size": [{ block: ["auto", ...scaleSizingBlock()] }],
1483
+ /**
1484
+ * Min-Block Size
1485
+ * @see https://tailwindcss.com/docs/min-height
1486
+ */
1487
+ "min-block-size": [{ "min-block": ["auto", ...scaleSizingBlock()] }],
1488
+ /**
1489
+ * Max-Block Size
1490
+ * @see https://tailwindcss.com/docs/max-height
1491
+ */
1492
+ "max-block-size": [{ "max-block": ["none", ...scaleSizingBlock()] }],
1493
+ /**
1494
+ * Width
1495
+ * @see https://tailwindcss.com/docs/width
1496
+ */
1497
+ w: [{ w: [
1498
+ themeContainer,
1499
+ "screen",
1500
+ ...scaleSizing()
1501
+ ] }],
1502
+ /**
1503
+ * Min-Width
1504
+ * @see https://tailwindcss.com/docs/min-width
1505
+ */
1506
+ "min-w": [{ "min-w": [
1507
+ themeContainer,
1508
+ "screen",
1509
+ "none",
1510
+ ...scaleSizing()
1511
+ ] }],
1512
+ /**
1513
+ * Max-Width
1514
+ * @see https://tailwindcss.com/docs/max-width
1515
+ */
1516
+ "max-w": [{ "max-w": [
1517
+ themeContainer,
1518
+ "screen",
1519
+ "none",
1520
+ "prose",
1521
+ { screen: [themeBreakpoint] },
1522
+ ...scaleSizing()
1523
+ ] }],
1524
+ /**
1525
+ * Height
1526
+ * @see https://tailwindcss.com/docs/height
1527
+ */
1528
+ h: [{ h: [
1529
+ "screen",
1530
+ "lh",
1531
+ ...scaleSizing()
1532
+ ] }],
1533
+ /**
1534
+ * Min-Height
1535
+ * @see https://tailwindcss.com/docs/min-height
1536
+ */
1537
+ "min-h": [{ "min-h": [
1538
+ "screen",
1539
+ "lh",
1540
+ "none",
1541
+ ...scaleSizing()
1542
+ ] }],
1543
+ /**
1544
+ * Max-Height
1545
+ * @see https://tailwindcss.com/docs/max-height
1546
+ */
1547
+ "max-h": [{ "max-h": [
1548
+ "screen",
1549
+ "lh",
1550
+ ...scaleSizing()
1551
+ ] }],
1552
+ /**
1553
+ * Font Size
1554
+ * @see https://tailwindcss.com/docs/font-size
1555
+ */
1556
+ "font-size": [{ text: [
1557
+ "base",
1558
+ themeText,
1559
+ isArbitraryVariableLength,
1560
+ isArbitraryLength
1561
+ ] }],
1562
+ /**
1563
+ * Font Smoothing
1564
+ * @see https://tailwindcss.com/docs/font-smoothing
1565
+ */
1566
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1567
+ /**
1568
+ * Font Style
1569
+ * @see https://tailwindcss.com/docs/font-style
1570
+ */
1571
+ "font-style": ["italic", "not-italic"],
1572
+ /**
1573
+ * Font Weight
1574
+ * @see https://tailwindcss.com/docs/font-weight
1575
+ */
1576
+ "font-weight": [{ font: [
1577
+ themeFontWeight,
1578
+ isArbitraryVariableWeight,
1579
+ isArbitraryWeight
1580
+ ] }],
1581
+ /**
1582
+ * Font Stretch
1583
+ * @see https://tailwindcss.com/docs/font-stretch
1584
+ */
1585
+ "font-stretch": [{ "font-stretch": [
1586
+ "ultra-condensed",
1587
+ "extra-condensed",
1588
+ "condensed",
1589
+ "semi-condensed",
1590
+ "normal",
1591
+ "semi-expanded",
1592
+ "expanded",
1593
+ "extra-expanded",
1594
+ "ultra-expanded",
1595
+ isPercent,
1596
+ isArbitraryValue
1597
+ ] }],
1598
+ /**
1599
+ * Font Family
1600
+ * @see https://tailwindcss.com/docs/font-family
1601
+ */
1602
+ "font-family": [{ font: [
1603
+ isArbitraryVariableFamilyName,
1604
+ isArbitraryFamilyName,
1605
+ themeFont
1606
+ ] }],
1607
+ /**
1608
+ * Font Feature Settings
1609
+ * @see https://tailwindcss.com/docs/font-feature-settings
1610
+ */
1611
+ "font-features": [{ "font-features": [isArbitraryValue] }],
1612
+ /**
1613
+ * Font Variant Numeric
1614
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1615
+ */
1616
+ "fvn-normal": ["normal-nums"],
1617
+ /**
1618
+ * Font Variant Numeric
1619
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1620
+ */
1621
+ "fvn-ordinal": ["ordinal"],
1622
+ /**
1623
+ * Font Variant Numeric
1624
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1625
+ */
1626
+ "fvn-slashed-zero": ["slashed-zero"],
1627
+ /**
1628
+ * Font Variant Numeric
1629
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1630
+ */
1631
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1632
+ /**
1633
+ * Font Variant Numeric
1634
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1635
+ */
1636
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1637
+ /**
1638
+ * Font Variant Numeric
1639
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1640
+ */
1641
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1642
+ /**
1643
+ * Letter Spacing
1644
+ * @see https://tailwindcss.com/docs/letter-spacing
1645
+ */
1646
+ tracking: [{ tracking: [
1647
+ themeTracking,
1648
+ isArbitraryVariable,
1649
+ isArbitraryValue
1650
+ ] }],
1651
+ /**
1652
+ * Line Clamp
1653
+ * @see https://tailwindcss.com/docs/line-clamp
1654
+ */
1655
+ "line-clamp": [{ "line-clamp": [
1656
+ isNumber,
1657
+ "none",
1658
+ isArbitraryVariable,
1659
+ isArbitraryNumber
1660
+ ] }],
1661
+ /**
1662
+ * Line Height
1663
+ * @see https://tailwindcss.com/docs/line-height
1664
+ */
1665
+ leading: [{ leading: [themeLeading, ...scaleUnambiguousSpacing()] }],
1666
+ /**
1667
+ * List Style Image
1668
+ * @see https://tailwindcss.com/docs/list-style-image
1669
+ */
1670
+ "list-image": [{ "list-image": [
1671
+ "none",
1672
+ isArbitraryVariable,
1673
+ isArbitraryValue
1674
+ ] }],
1675
+ /**
1676
+ * List Style Position
1677
+ * @see https://tailwindcss.com/docs/list-style-position
1678
+ */
1679
+ "list-style-position": [{ list: ["inside", "outside"] }],
1680
+ /**
1681
+ * List Style Type
1682
+ * @see https://tailwindcss.com/docs/list-style-type
1683
+ */
1684
+ "list-style-type": [{ list: [
1685
+ "disc",
1686
+ "decimal",
1687
+ "none",
1688
+ isArbitraryVariable,
1689
+ isArbitraryValue
1690
+ ] }],
1691
+ /**
1692
+ * Text Alignment
1693
+ * @see https://tailwindcss.com/docs/text-align
1694
+ */
1695
+ "text-alignment": [{ text: [
1696
+ "left",
1697
+ "center",
1698
+ "right",
1699
+ "justify",
1700
+ "start",
1701
+ "end"
1702
+ ] }],
1703
+ /**
1704
+ * Placeholder Color
1705
+ * @deprecated since Tailwind CSS v3.0.0
1706
+ * @see https://v3.tailwindcss.com/docs/placeholder-color
1707
+ */
1708
+ "placeholder-color": [{ placeholder: scaleColor() }],
1709
+ /**
1710
+ * Text Color
1711
+ * @see https://tailwindcss.com/docs/text-color
1712
+ */
1713
+ "text-color": [{ text: scaleColor() }],
1714
+ /**
1715
+ * Text Decoration
1716
+ * @see https://tailwindcss.com/docs/text-decoration
1717
+ */
1718
+ "text-decoration": [
1719
+ "underline",
1720
+ "overline",
1721
+ "line-through",
1722
+ "no-underline"
1723
+ ],
1724
+ /**
1725
+ * Text Decoration Style
1726
+ * @see https://tailwindcss.com/docs/text-decoration-style
1727
+ */
1728
+ "text-decoration-style": [{ decoration: [...scaleLineStyle(), "wavy"] }],
1729
+ /**
1730
+ * Text Decoration Thickness
1731
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1732
+ */
1733
+ "text-decoration-thickness": [{ decoration: [
1734
+ isNumber,
1735
+ "from-font",
1736
+ "auto",
1737
+ isArbitraryVariable,
1738
+ isArbitraryLength
1739
+ ] }],
1740
+ /**
1741
+ * Text Decoration Color
1742
+ * @see https://tailwindcss.com/docs/text-decoration-color
1743
+ */
1744
+ "text-decoration-color": [{ decoration: scaleColor() }],
1745
+ /**
1746
+ * Text Underline Offset
1747
+ * @see https://tailwindcss.com/docs/text-underline-offset
1748
+ */
1749
+ "underline-offset": [{ "underline-offset": [
1750
+ isNumber,
1751
+ "auto",
1752
+ isArbitraryVariable,
1753
+ isArbitraryValue
1754
+ ] }],
1755
+ /**
1756
+ * Text Transform
1757
+ * @see https://tailwindcss.com/docs/text-transform
1758
+ */
1759
+ "text-transform": [
1760
+ "uppercase",
1761
+ "lowercase",
1762
+ "capitalize",
1763
+ "normal-case"
1764
+ ],
1765
+ /**
1766
+ * Text Overflow
1767
+ * @see https://tailwindcss.com/docs/text-overflow
1768
+ */
1769
+ "text-overflow": [
1770
+ "truncate",
1771
+ "text-ellipsis",
1772
+ "text-clip"
1773
+ ],
1774
+ /**
1775
+ * Text Wrap
1776
+ * @see https://tailwindcss.com/docs/text-wrap
1777
+ */
1778
+ "text-wrap": [{ text: [
1779
+ "wrap",
1780
+ "nowrap",
1781
+ "balance",
1782
+ "pretty"
1783
+ ] }],
1784
+ /**
1785
+ * Text Indent
1786
+ * @see https://tailwindcss.com/docs/text-indent
1787
+ */
1788
+ indent: [{ indent: scaleUnambiguousSpacing() }],
1789
+ /**
1790
+ * Tab Size
1791
+ * @see https://tailwindcss.com/docs/tab-size
1792
+ */
1793
+ "tab-size": [{ tab: [
1794
+ isInteger,
1795
+ isArbitraryVariable,
1796
+ isArbitraryValue
1797
+ ] }],
1798
+ /**
1799
+ * Vertical Alignment
1800
+ * @see https://tailwindcss.com/docs/vertical-align
1801
+ */
1802
+ "vertical-align": [{ align: [
1803
+ "baseline",
1804
+ "top",
1805
+ "middle",
1806
+ "bottom",
1807
+ "text-top",
1808
+ "text-bottom",
1809
+ "sub",
1810
+ "super",
1811
+ isArbitraryVariable,
1812
+ isArbitraryValue
1813
+ ] }],
1814
+ /**
1815
+ * Whitespace
1816
+ * @see https://tailwindcss.com/docs/whitespace
1817
+ */
1818
+ whitespace: [{ whitespace: [
1819
+ "normal",
1820
+ "nowrap",
1821
+ "pre",
1822
+ "pre-line",
1823
+ "pre-wrap",
1824
+ "break-spaces"
1825
+ ] }],
1826
+ /**
1827
+ * Word Break
1828
+ * @see https://tailwindcss.com/docs/word-break
1829
+ */
1830
+ break: [{ break: [
1831
+ "normal",
1832
+ "words",
1833
+ "all",
1834
+ "keep"
1835
+ ] }],
1836
+ /**
1837
+ * Overflow Wrap
1838
+ * @see https://tailwindcss.com/docs/overflow-wrap
1839
+ */
1840
+ wrap: [{ wrap: [
1841
+ "break-word",
1842
+ "anywhere",
1843
+ "normal"
1844
+ ] }],
1845
+ /**
1846
+ * Hyphens
1847
+ * @see https://tailwindcss.com/docs/hyphens
1848
+ */
1849
+ hyphens: [{ hyphens: [
1850
+ "none",
1851
+ "manual",
1852
+ "auto"
1853
+ ] }],
1854
+ /**
1855
+ * Content
1856
+ * @see https://tailwindcss.com/docs/content
1857
+ */
1858
+ content: [{ content: [
1859
+ "none",
1860
+ isArbitraryVariable,
1861
+ isArbitraryValue
1862
+ ] }],
1863
+ /**
1864
+ * Background Attachment
1865
+ * @see https://tailwindcss.com/docs/background-attachment
1866
+ */
1867
+ "bg-attachment": [{ bg: [
1868
+ "fixed",
1869
+ "local",
1870
+ "scroll"
1871
+ ] }],
1872
+ /**
1873
+ * Background Clip
1874
+ * @see https://tailwindcss.com/docs/background-clip
1875
+ */
1876
+ "bg-clip": [{ "bg-clip": [
1877
+ "border",
1878
+ "padding",
1879
+ "content",
1880
+ "text"
1881
+ ] }],
1882
+ /**
1883
+ * Background Origin
1884
+ * @see https://tailwindcss.com/docs/background-origin
1885
+ */
1886
+ "bg-origin": [{ "bg-origin": [
1887
+ "border",
1888
+ "padding",
1889
+ "content"
1890
+ ] }],
1891
+ /**
1892
+ * Background Position
1893
+ * @see https://tailwindcss.com/docs/background-position
1894
+ */
1895
+ "bg-position": [{ bg: scaleBgPosition() }],
1896
+ /**
1897
+ * Background Repeat
1898
+ * @see https://tailwindcss.com/docs/background-repeat
1899
+ */
1900
+ "bg-repeat": [{ bg: scaleBgRepeat() }],
1901
+ /**
1902
+ * Background Size
1903
+ * @see https://tailwindcss.com/docs/background-size
1904
+ */
1905
+ "bg-size": [{ bg: scaleBgSize() }],
1906
+ /**
1907
+ * Background Image
1908
+ * @see https://tailwindcss.com/docs/background-image
1909
+ */
1910
+ "bg-image": [{ bg: [
1911
+ "none",
1912
+ {
1913
+ linear: [
1914
+ { to: [
1915
+ "t",
1916
+ "tr",
1917
+ "r",
1918
+ "br",
1919
+ "b",
1920
+ "bl",
1921
+ "l",
1922
+ "tl"
1923
+ ] },
1924
+ isInteger,
1925
+ isArbitraryVariable,
1926
+ isArbitraryValue
1927
+ ],
1928
+ radial: [
1929
+ "",
1930
+ isArbitraryVariable,
1931
+ isArbitraryValue
1932
+ ],
1933
+ conic: [
1934
+ isInteger,
1935
+ isArbitraryVariable,
1936
+ isArbitraryValue
1937
+ ]
1938
+ },
1939
+ isArbitraryVariableImage,
1940
+ isArbitraryImage
1941
+ ] }],
1942
+ /**
1943
+ * Background Color
1944
+ * @see https://tailwindcss.com/docs/background-color
1945
+ */
1946
+ "bg-color": [{ bg: scaleColor() }],
1947
+ /**
1948
+ * Gradient Color Stops From Position
1949
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1950
+ */
1951
+ "gradient-from-pos": [{ from: scaleGradientStopPosition() }],
1952
+ /**
1953
+ * Gradient Color Stops Via Position
1954
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1955
+ */
1956
+ "gradient-via-pos": [{ via: scaleGradientStopPosition() }],
1957
+ /**
1958
+ * Gradient Color Stops To Position
1959
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1960
+ */
1961
+ "gradient-to-pos": [{ to: scaleGradientStopPosition() }],
1962
+ /**
1963
+ * Gradient Color Stops From
1964
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1965
+ */
1966
+ "gradient-from": [{ from: scaleColor() }],
1967
+ /**
1968
+ * Gradient Color Stops Via
1969
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1970
+ */
1971
+ "gradient-via": [{ via: scaleColor() }],
1972
+ /**
1973
+ * Gradient Color Stops To
1974
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1975
+ */
1976
+ "gradient-to": [{ to: scaleColor() }],
1977
+ /**
1978
+ * Border Radius
1979
+ * @see https://tailwindcss.com/docs/border-radius
1980
+ */
1981
+ rounded: [{ rounded: scaleRadius() }],
1982
+ /**
1983
+ * Border Radius Start
1984
+ * @see https://tailwindcss.com/docs/border-radius
1985
+ */
1986
+ "rounded-s": [{ "rounded-s": scaleRadius() }],
1987
+ /**
1988
+ * Border Radius End
1989
+ * @see https://tailwindcss.com/docs/border-radius
1990
+ */
1991
+ "rounded-e": [{ "rounded-e": scaleRadius() }],
1992
+ /**
1993
+ * Border Radius Top
1994
+ * @see https://tailwindcss.com/docs/border-radius
1995
+ */
1996
+ "rounded-t": [{ "rounded-t": scaleRadius() }],
1997
+ /**
1998
+ * Border Radius Right
1999
+ * @see https://tailwindcss.com/docs/border-radius
2000
+ */
2001
+ "rounded-r": [{ "rounded-r": scaleRadius() }],
2002
+ /**
2003
+ * Border Radius Bottom
2004
+ * @see https://tailwindcss.com/docs/border-radius
2005
+ */
2006
+ "rounded-b": [{ "rounded-b": scaleRadius() }],
2007
+ /**
2008
+ * Border Radius Left
2009
+ * @see https://tailwindcss.com/docs/border-radius
2010
+ */
2011
+ "rounded-l": [{ "rounded-l": scaleRadius() }],
2012
+ /**
2013
+ * Border Radius Start Start
2014
+ * @see https://tailwindcss.com/docs/border-radius
2015
+ */
2016
+ "rounded-ss": [{ "rounded-ss": scaleRadius() }],
2017
+ /**
2018
+ * Border Radius Start End
2019
+ * @see https://tailwindcss.com/docs/border-radius
2020
+ */
2021
+ "rounded-se": [{ "rounded-se": scaleRadius() }],
2022
+ /**
2023
+ * Border Radius End End
2024
+ * @see https://tailwindcss.com/docs/border-radius
2025
+ */
2026
+ "rounded-ee": [{ "rounded-ee": scaleRadius() }],
2027
+ /**
2028
+ * Border Radius End Start
2029
+ * @see https://tailwindcss.com/docs/border-radius
2030
+ */
2031
+ "rounded-es": [{ "rounded-es": scaleRadius() }],
2032
+ /**
2033
+ * Border Radius Top Left
2034
+ * @see https://tailwindcss.com/docs/border-radius
2035
+ */
2036
+ "rounded-tl": [{ "rounded-tl": scaleRadius() }],
2037
+ /**
2038
+ * Border Radius Top Right
2039
+ * @see https://tailwindcss.com/docs/border-radius
2040
+ */
2041
+ "rounded-tr": [{ "rounded-tr": scaleRadius() }],
2042
+ /**
2043
+ * Border Radius Bottom Right
2044
+ * @see https://tailwindcss.com/docs/border-radius
2045
+ */
2046
+ "rounded-br": [{ "rounded-br": scaleRadius() }],
2047
+ /**
2048
+ * Border Radius Bottom Left
2049
+ * @see https://tailwindcss.com/docs/border-radius
2050
+ */
2051
+ "rounded-bl": [{ "rounded-bl": scaleRadius() }],
2052
+ /**
2053
+ * Border Width
2054
+ * @see https://tailwindcss.com/docs/border-width
2055
+ */
2056
+ "border-w": [{ border: scaleBorderWidth() }],
2057
+ /**
2058
+ * Border Width Inline
2059
+ * @see https://tailwindcss.com/docs/border-width
2060
+ */
2061
+ "border-w-x": [{ "border-x": scaleBorderWidth() }],
2062
+ /**
2063
+ * Border Width Block
2064
+ * @see https://tailwindcss.com/docs/border-width
2065
+ */
2066
+ "border-w-y": [{ "border-y": scaleBorderWidth() }],
2067
+ /**
2068
+ * Border Width Inline Start
2069
+ * @see https://tailwindcss.com/docs/border-width
2070
+ */
2071
+ "border-w-s": [{ "border-s": scaleBorderWidth() }],
2072
+ /**
2073
+ * Border Width Inline End
2074
+ * @see https://tailwindcss.com/docs/border-width
2075
+ */
2076
+ "border-w-e": [{ "border-e": scaleBorderWidth() }],
2077
+ /**
2078
+ * Border Width Block Start
2079
+ * @see https://tailwindcss.com/docs/border-width
2080
+ */
2081
+ "border-w-bs": [{ "border-bs": scaleBorderWidth() }],
2082
+ /**
2083
+ * Border Width Block End
2084
+ * @see https://tailwindcss.com/docs/border-width
2085
+ */
2086
+ "border-w-be": [{ "border-be": scaleBorderWidth() }],
2087
+ /**
2088
+ * Border Width Top
2089
+ * @see https://tailwindcss.com/docs/border-width
2090
+ */
2091
+ "border-w-t": [{ "border-t": scaleBorderWidth() }],
2092
+ /**
2093
+ * Border Width Right
2094
+ * @see https://tailwindcss.com/docs/border-width
2095
+ */
2096
+ "border-w-r": [{ "border-r": scaleBorderWidth() }],
2097
+ /**
2098
+ * Border Width Bottom
2099
+ * @see https://tailwindcss.com/docs/border-width
2100
+ */
2101
+ "border-w-b": [{ "border-b": scaleBorderWidth() }],
2102
+ /**
2103
+ * Border Width Left
2104
+ * @see https://tailwindcss.com/docs/border-width
2105
+ */
2106
+ "border-w-l": [{ "border-l": scaleBorderWidth() }],
2107
+ /**
2108
+ * Divide Width X
2109
+ * @see https://tailwindcss.com/docs/border-width#between-children
2110
+ */
2111
+ "divide-x": [{ "divide-x": scaleBorderWidth() }],
2112
+ /**
2113
+ * Divide Width X Reverse
2114
+ * @see https://tailwindcss.com/docs/border-width#between-children
2115
+ */
2116
+ "divide-x-reverse": ["divide-x-reverse"],
2117
+ /**
2118
+ * Divide Width Y
2119
+ * @see https://tailwindcss.com/docs/border-width#between-children
2120
+ */
2121
+ "divide-y": [{ "divide-y": scaleBorderWidth() }],
2122
+ /**
2123
+ * Divide Width Y Reverse
2124
+ * @see https://tailwindcss.com/docs/border-width#between-children
2125
+ */
2126
+ "divide-y-reverse": ["divide-y-reverse"],
2127
+ /**
2128
+ * Border Style
2129
+ * @see https://tailwindcss.com/docs/border-style
2130
+ */
2131
+ "border-style": [{ border: [
2132
+ ...scaleLineStyle(),
2133
+ "hidden",
2134
+ "none"
2135
+ ] }],
2136
+ /**
2137
+ * Divide Style
2138
+ * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style
2139
+ */
2140
+ "divide-style": [{ divide: [
2141
+ ...scaleLineStyle(),
2142
+ "hidden",
2143
+ "none"
2144
+ ] }],
2145
+ /**
2146
+ * Border Color
2147
+ * @see https://tailwindcss.com/docs/border-color
2148
+ */
2149
+ "border-color": [{ border: scaleColor() }],
2150
+ /**
2151
+ * Border Color Inline
2152
+ * @see https://tailwindcss.com/docs/border-color
2153
+ */
2154
+ "border-color-x": [{ "border-x": scaleColor() }],
2155
+ /**
2156
+ * Border Color Block
2157
+ * @see https://tailwindcss.com/docs/border-color
2158
+ */
2159
+ "border-color-y": [{ "border-y": scaleColor() }],
2160
+ /**
2161
+ * Border Color Inline Start
2162
+ * @see https://tailwindcss.com/docs/border-color
2163
+ */
2164
+ "border-color-s": [{ "border-s": scaleColor() }],
2165
+ /**
2166
+ * Border Color Inline End
2167
+ * @see https://tailwindcss.com/docs/border-color
2168
+ */
2169
+ "border-color-e": [{ "border-e": scaleColor() }],
2170
+ /**
2171
+ * Border Color Block Start
2172
+ * @see https://tailwindcss.com/docs/border-color
2173
+ */
2174
+ "border-color-bs": [{ "border-bs": scaleColor() }],
2175
+ /**
2176
+ * Border Color Block End
2177
+ * @see https://tailwindcss.com/docs/border-color
2178
+ */
2179
+ "border-color-be": [{ "border-be": scaleColor() }],
2180
+ /**
2181
+ * Border Color Top
2182
+ * @see https://tailwindcss.com/docs/border-color
2183
+ */
2184
+ "border-color-t": [{ "border-t": scaleColor() }],
2185
+ /**
2186
+ * Border Color Right
2187
+ * @see https://tailwindcss.com/docs/border-color
2188
+ */
2189
+ "border-color-r": [{ "border-r": scaleColor() }],
2190
+ /**
2191
+ * Border Color Bottom
2192
+ * @see https://tailwindcss.com/docs/border-color
2193
+ */
2194
+ "border-color-b": [{ "border-b": scaleColor() }],
2195
+ /**
2196
+ * Border Color Left
2197
+ * @see https://tailwindcss.com/docs/border-color
2198
+ */
2199
+ "border-color-l": [{ "border-l": scaleColor() }],
2200
+ /**
2201
+ * Divide Color
2202
+ * @see https://tailwindcss.com/docs/divide-color
2203
+ */
2204
+ "divide-color": [{ divide: scaleColor() }],
2205
+ /**
2206
+ * Outline Style
2207
+ * @see https://tailwindcss.com/docs/outline-style
2208
+ */
2209
+ "outline-style": [{ outline: [
2210
+ ...scaleLineStyle(),
2211
+ "none",
2212
+ "hidden"
2213
+ ] }],
2214
+ /**
2215
+ * Outline Offset
2216
+ * @see https://tailwindcss.com/docs/outline-offset
2217
+ */
2218
+ "outline-offset": [{ "outline-offset": [
2219
+ isNumber,
2220
+ isArbitraryVariable,
2221
+ isArbitraryValue
2222
+ ] }],
2223
+ /**
2224
+ * Outline Width
2225
+ * @see https://tailwindcss.com/docs/outline-width
2226
+ */
2227
+ "outline-w": [{ outline: [
2228
+ "",
2229
+ isNumber,
2230
+ isArbitraryVariableLength,
2231
+ isArbitraryLength
2232
+ ] }],
2233
+ /**
2234
+ * Outline Color
2235
+ * @see https://tailwindcss.com/docs/outline-color
2236
+ */
2237
+ "outline-color": [{ outline: scaleColor() }],
2238
+ /**
2239
+ * Box Shadow
2240
+ * @see https://tailwindcss.com/docs/box-shadow
2241
+ */
2242
+ shadow: [{ shadow: [
2243
+ "",
2244
+ "none",
2245
+ themeShadow,
2246
+ isArbitraryVariableShadow,
2247
+ isArbitraryShadow
2248
+ ] }],
2249
+ /**
2250
+ * Box Shadow Color
2251
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
2252
+ */
2253
+ "shadow-color": [{ shadow: scaleColor() }],
2254
+ /**
2255
+ * Inset Box Shadow
2256
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2257
+ */
2258
+ "inset-shadow": [{ "inset-shadow": [
2259
+ "none",
2260
+ themeInsetShadow,
2261
+ isArbitraryVariableShadow,
2262
+ isArbitraryShadow
2263
+ ] }],
2264
+ /**
2265
+ * Inset Box Shadow Color
2266
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
2267
+ */
2268
+ "inset-shadow-color": [{ "inset-shadow": scaleColor() }],
2269
+ /**
2270
+ * Ring Width
2271
+ * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
2272
+ */
2273
+ "ring-w": [{ ring: scaleBorderWidth() }],
2274
+ /**
2275
+ * Ring Width Inset
2276
+ * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings
2277
+ * @deprecated since Tailwind CSS v4.0.0
2278
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2279
+ */
2280
+ "ring-w-inset": ["ring-inset"],
2281
+ /**
2282
+ * Ring Color
2283
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
2284
+ */
2285
+ "ring-color": [{ ring: scaleColor() }],
2286
+ /**
2287
+ * Ring Offset Width
2288
+ * @see https://v3.tailwindcss.com/docs/ring-offset-width
2289
+ * @deprecated since Tailwind CSS v4.0.0
2290
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2291
+ */
2292
+ "ring-offset-w": [{ "ring-offset": [isNumber, isArbitraryLength] }],
2293
+ /**
2294
+ * Ring Offset Color
2295
+ * @see https://v3.tailwindcss.com/docs/ring-offset-color
2296
+ * @deprecated since Tailwind CSS v4.0.0
2297
+ * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
2298
+ */
2299
+ "ring-offset-color": [{ "ring-offset": scaleColor() }],
2300
+ /**
2301
+ * Inset Ring Width
2302
+ * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
2303
+ */
2304
+ "inset-ring-w": [{ "inset-ring": scaleBorderWidth() }],
2305
+ /**
2306
+ * Inset Ring Color
2307
+ * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
2308
+ */
2309
+ "inset-ring-color": [{ "inset-ring": scaleColor() }],
2310
+ /**
2311
+ * Text Shadow
2312
+ * @see https://tailwindcss.com/docs/text-shadow
2313
+ */
2314
+ "text-shadow": [{ "text-shadow": [
2315
+ "none",
2316
+ themeTextShadow,
2317
+ isArbitraryVariableShadow,
2318
+ isArbitraryShadow
2319
+ ] }],
2320
+ /**
2321
+ * Text Shadow Color
2322
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2323
+ */
2324
+ "text-shadow-color": [{ "text-shadow": scaleColor() }],
2325
+ /**
2326
+ * Opacity
2327
+ * @see https://tailwindcss.com/docs/opacity
2328
+ */
2329
+ opacity: [{ opacity: [
2330
+ isNumber,
2331
+ isArbitraryVariable,
2332
+ isArbitraryValue
2333
+ ] }],
2334
+ /**
2335
+ * Mix Blend Mode
2336
+ * @see https://tailwindcss.com/docs/mix-blend-mode
2337
+ */
2338
+ "mix-blend": [{ "mix-blend": [
2339
+ ...scaleBlendMode(),
2340
+ "plus-darker",
2341
+ "plus-lighter"
2342
+ ] }],
2343
+ /**
2344
+ * Background Blend Mode
2345
+ * @see https://tailwindcss.com/docs/background-blend-mode
2346
+ */
2347
+ "bg-blend": [{ "bg-blend": scaleBlendMode() }],
2348
+ /**
2349
+ * Mask Clip
2350
+ * @see https://tailwindcss.com/docs/mask-clip
2351
+ */
2352
+ "mask-clip": [{ "mask-clip": [
2353
+ "border",
2354
+ "padding",
2355
+ "content",
2356
+ "fill",
2357
+ "stroke",
2358
+ "view"
2359
+ ] }, "mask-no-clip"],
2360
+ /**
2361
+ * Mask Composite
2362
+ * @see https://tailwindcss.com/docs/mask-composite
2363
+ */
2364
+ "mask-composite": [{ mask: [
2365
+ "add",
2366
+ "subtract",
2367
+ "intersect",
2368
+ "exclude"
2369
+ ] }],
2370
+ /**
2371
+ * Mask Image
2372
+ * @see https://tailwindcss.com/docs/mask-image
2373
+ */
2374
+ "mask-image-linear-pos": [{ "mask-linear": [isNumber] }],
2375
+ "mask-image-linear-from-pos": [{ "mask-linear-from": scaleMaskImagePosition() }],
2376
+ "mask-image-linear-to-pos": [{ "mask-linear-to": scaleMaskImagePosition() }],
2377
+ "mask-image-linear-from-color": [{ "mask-linear-from": scaleColor() }],
2378
+ "mask-image-linear-to-color": [{ "mask-linear-to": scaleColor() }],
2379
+ "mask-image-t-from-pos": [{ "mask-t-from": scaleMaskImagePosition() }],
2380
+ "mask-image-t-to-pos": [{ "mask-t-to": scaleMaskImagePosition() }],
2381
+ "mask-image-t-from-color": [{ "mask-t-from": scaleColor() }],
2382
+ "mask-image-t-to-color": [{ "mask-t-to": scaleColor() }],
2383
+ "mask-image-r-from-pos": [{ "mask-r-from": scaleMaskImagePosition() }],
2384
+ "mask-image-r-to-pos": [{ "mask-r-to": scaleMaskImagePosition() }],
2385
+ "mask-image-r-from-color": [{ "mask-r-from": scaleColor() }],
2386
+ "mask-image-r-to-color": [{ "mask-r-to": scaleColor() }],
2387
+ "mask-image-b-from-pos": [{ "mask-b-from": scaleMaskImagePosition() }],
2388
+ "mask-image-b-to-pos": [{ "mask-b-to": scaleMaskImagePosition() }],
2389
+ "mask-image-b-from-color": [{ "mask-b-from": scaleColor() }],
2390
+ "mask-image-b-to-color": [{ "mask-b-to": scaleColor() }],
2391
+ "mask-image-l-from-pos": [{ "mask-l-from": scaleMaskImagePosition() }],
2392
+ "mask-image-l-to-pos": [{ "mask-l-to": scaleMaskImagePosition() }],
2393
+ "mask-image-l-from-color": [{ "mask-l-from": scaleColor() }],
2394
+ "mask-image-l-to-color": [{ "mask-l-to": scaleColor() }],
2395
+ "mask-image-x-from-pos": [{ "mask-x-from": scaleMaskImagePosition() }],
2396
+ "mask-image-x-to-pos": [{ "mask-x-to": scaleMaskImagePosition() }],
2397
+ "mask-image-x-from-color": [{ "mask-x-from": scaleColor() }],
2398
+ "mask-image-x-to-color": [{ "mask-x-to": scaleColor() }],
2399
+ "mask-image-y-from-pos": [{ "mask-y-from": scaleMaskImagePosition() }],
2400
+ "mask-image-y-to-pos": [{ "mask-y-to": scaleMaskImagePosition() }],
2401
+ "mask-image-y-from-color": [{ "mask-y-from": scaleColor() }],
2402
+ "mask-image-y-to-color": [{ "mask-y-to": scaleColor() }],
2403
+ "mask-image-radial": [{ "mask-radial": [isArbitraryVariable, isArbitraryValue] }],
2404
+ "mask-image-radial-from-pos": [{ "mask-radial-from": scaleMaskImagePosition() }],
2405
+ "mask-image-radial-to-pos": [{ "mask-radial-to": scaleMaskImagePosition() }],
2406
+ "mask-image-radial-from-color": [{ "mask-radial-from": scaleColor() }],
2407
+ "mask-image-radial-to-color": [{ "mask-radial-to": scaleColor() }],
2408
+ "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }],
2409
+ "mask-image-radial-size": [{ "mask-radial": [{
2410
+ closest: ["side", "corner"],
2411
+ farthest: ["side", "corner"]
2412
+ }] }],
2413
+ "mask-image-radial-pos": [{ "mask-radial-at": scalePosition() }],
2414
+ "mask-image-conic-pos": [{ "mask-conic": [isNumber] }],
2415
+ "mask-image-conic-from-pos": [{ "mask-conic-from": scaleMaskImagePosition() }],
2416
+ "mask-image-conic-to-pos": [{ "mask-conic-to": scaleMaskImagePosition() }],
2417
+ "mask-image-conic-from-color": [{ "mask-conic-from": scaleColor() }],
2418
+ "mask-image-conic-to-color": [{ "mask-conic-to": scaleColor() }],
2419
+ /**
2420
+ * Mask Mode
2421
+ * @see https://tailwindcss.com/docs/mask-mode
2422
+ */
2423
+ "mask-mode": [{ mask: [
2424
+ "alpha",
2425
+ "luminance",
2426
+ "match"
2427
+ ] }],
2428
+ /**
2429
+ * Mask Origin
2430
+ * @see https://tailwindcss.com/docs/mask-origin
2431
+ */
2432
+ "mask-origin": [{ "mask-origin": [
2433
+ "border",
2434
+ "padding",
2435
+ "content",
2436
+ "fill",
2437
+ "stroke",
2438
+ "view"
2439
+ ] }],
2440
+ /**
2441
+ * Mask Position
2442
+ * @see https://tailwindcss.com/docs/mask-position
2443
+ */
2444
+ "mask-position": [{ mask: scaleBgPosition() }],
2445
+ /**
2446
+ * Mask Repeat
2447
+ * @see https://tailwindcss.com/docs/mask-repeat
2448
+ */
2449
+ "mask-repeat": [{ mask: scaleBgRepeat() }],
2450
+ /**
2451
+ * Mask Size
2452
+ * @see https://tailwindcss.com/docs/mask-size
2453
+ */
2454
+ "mask-size": [{ mask: scaleBgSize() }],
2455
+ /**
2456
+ * Mask Type
2457
+ * @see https://tailwindcss.com/docs/mask-type
2458
+ */
2459
+ "mask-type": [{ "mask-type": ["alpha", "luminance"] }],
2460
+ /**
2461
+ * Mask Image
2462
+ * @see https://tailwindcss.com/docs/mask-image
2463
+ */
2464
+ "mask-image": [{ mask: [
2465
+ "none",
2466
+ isArbitraryVariable,
2467
+ isArbitraryValue
2468
+ ] }],
2469
+ /**
2470
+ * Filter
2471
+ * @see https://tailwindcss.com/docs/filter
2472
+ */
2473
+ filter: [{ filter: [
2474
+ "",
2475
+ "none",
2476
+ isArbitraryVariable,
2477
+ isArbitraryValue
2478
+ ] }],
2479
+ /**
2480
+ * Blur
2481
+ * @see https://tailwindcss.com/docs/blur
2482
+ */
2483
+ blur: [{ blur: scaleBlur() }],
2484
+ /**
2485
+ * Brightness
2486
+ * @see https://tailwindcss.com/docs/brightness
2487
+ */
2488
+ brightness: [{ brightness: [
2489
+ isNumber,
2490
+ isArbitraryVariable,
2491
+ isArbitraryValue
2492
+ ] }],
2493
+ /**
2494
+ * Contrast
2495
+ * @see https://tailwindcss.com/docs/contrast
2496
+ */
2497
+ contrast: [{ contrast: [
2498
+ isNumber,
2499
+ isArbitraryVariable,
2500
+ isArbitraryValue
2501
+ ] }],
2502
+ /**
2503
+ * Drop Shadow
2504
+ * @see https://tailwindcss.com/docs/drop-shadow
2505
+ */
2506
+ "drop-shadow": [{ "drop-shadow": [
2507
+ "",
2508
+ "none",
2509
+ themeDropShadow,
2510
+ isArbitraryVariableShadow,
2511
+ isArbitraryShadow
2512
+ ] }],
2513
+ /**
2514
+ * Drop Shadow Color
2515
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2516
+ */
2517
+ "drop-shadow-color": [{ "drop-shadow": scaleColor() }],
2518
+ /**
2519
+ * Grayscale
2520
+ * @see https://tailwindcss.com/docs/grayscale
2521
+ */
2522
+ grayscale: [{ grayscale: [
2523
+ "",
2524
+ isNumber,
2525
+ isArbitraryVariable,
2526
+ isArbitraryValue
2527
+ ] }],
2528
+ /**
2529
+ * Hue Rotate
2530
+ * @see https://tailwindcss.com/docs/hue-rotate
2531
+ */
2532
+ "hue-rotate": [{ "hue-rotate": [
2533
+ isNumber,
2534
+ isArbitraryVariable,
2535
+ isArbitraryValue
2536
+ ] }],
2537
+ /**
2538
+ * Invert
2539
+ * @see https://tailwindcss.com/docs/invert
2540
+ */
2541
+ invert: [{ invert: [
2542
+ "",
2543
+ isNumber,
2544
+ isArbitraryVariable,
2545
+ isArbitraryValue
2546
+ ] }],
2547
+ /**
2548
+ * Saturate
2549
+ * @see https://tailwindcss.com/docs/saturate
2550
+ */
2551
+ saturate: [{ saturate: [
2552
+ isNumber,
2553
+ isArbitraryVariable,
2554
+ isArbitraryValue
2555
+ ] }],
2556
+ /**
2557
+ * Sepia
2558
+ * @see https://tailwindcss.com/docs/sepia
2559
+ */
2560
+ sepia: [{ sepia: [
2561
+ "",
2562
+ isNumber,
2563
+ isArbitraryVariable,
2564
+ isArbitraryValue
2565
+ ] }],
2566
+ /**
2567
+ * Backdrop Filter
2568
+ * @see https://tailwindcss.com/docs/backdrop-filter
2569
+ */
2570
+ "backdrop-filter": [{ "backdrop-filter": [
2571
+ "",
2572
+ "none",
2573
+ isArbitraryVariable,
2574
+ isArbitraryValue
2575
+ ] }],
2576
+ /**
2577
+ * Backdrop Blur
2578
+ * @see https://tailwindcss.com/docs/backdrop-blur
2579
+ */
2580
+ "backdrop-blur": [{ "backdrop-blur": scaleBlur() }],
2581
+ /**
2582
+ * Backdrop Brightness
2583
+ * @see https://tailwindcss.com/docs/backdrop-brightness
2584
+ */
2585
+ "backdrop-brightness": [{ "backdrop-brightness": [
2586
+ isNumber,
2587
+ isArbitraryVariable,
2588
+ isArbitraryValue
2589
+ ] }],
2590
+ /**
2591
+ * Backdrop Contrast
2592
+ * @see https://tailwindcss.com/docs/backdrop-contrast
2593
+ */
2594
+ "backdrop-contrast": [{ "backdrop-contrast": [
2595
+ isNumber,
2596
+ isArbitraryVariable,
2597
+ isArbitraryValue
2598
+ ] }],
2599
+ /**
2600
+ * Backdrop Grayscale
2601
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
2602
+ */
2603
+ "backdrop-grayscale": [{ "backdrop-grayscale": [
2604
+ "",
2605
+ isNumber,
2606
+ isArbitraryVariable,
2607
+ isArbitraryValue
2608
+ ] }],
2609
+ /**
2610
+ * Backdrop Hue Rotate
2611
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
2612
+ */
2613
+ "backdrop-hue-rotate": [{ "backdrop-hue-rotate": [
2614
+ isNumber,
2615
+ isArbitraryVariable,
2616
+ isArbitraryValue
2617
+ ] }],
2618
+ /**
2619
+ * Backdrop Invert
2620
+ * @see https://tailwindcss.com/docs/backdrop-invert
2621
+ */
2622
+ "backdrop-invert": [{ "backdrop-invert": [
2623
+ "",
2624
+ isNumber,
2625
+ isArbitraryVariable,
2626
+ isArbitraryValue
2627
+ ] }],
2628
+ /**
2629
+ * Backdrop Opacity
2630
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2631
+ */
2632
+ "backdrop-opacity": [{ "backdrop-opacity": [
2633
+ isNumber,
2634
+ isArbitraryVariable,
2635
+ isArbitraryValue
2636
+ ] }],
2637
+ /**
2638
+ * Backdrop Saturate
2639
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2640
+ */
2641
+ "backdrop-saturate": [{ "backdrop-saturate": [
2642
+ isNumber,
2643
+ isArbitraryVariable,
2644
+ isArbitraryValue
2645
+ ] }],
2646
+ /**
2647
+ * Backdrop Sepia
2648
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2649
+ */
2650
+ "backdrop-sepia": [{ "backdrop-sepia": [
2651
+ "",
2652
+ isNumber,
2653
+ isArbitraryVariable,
2654
+ isArbitraryValue
2655
+ ] }],
2656
+ /**
2657
+ * Border Collapse
2658
+ * @see https://tailwindcss.com/docs/border-collapse
2659
+ */
2660
+ "border-collapse": [{ border: ["collapse", "separate"] }],
2661
+ /**
2662
+ * Border Spacing
2663
+ * @see https://tailwindcss.com/docs/border-spacing
2664
+ */
2665
+ "border-spacing": [{ "border-spacing": scaleUnambiguousSpacing() }],
2666
+ /**
2667
+ * Border Spacing X
2668
+ * @see https://tailwindcss.com/docs/border-spacing
2669
+ */
2670
+ "border-spacing-x": [{ "border-spacing-x": scaleUnambiguousSpacing() }],
2671
+ /**
2672
+ * Border Spacing Y
2673
+ * @see https://tailwindcss.com/docs/border-spacing
2674
+ */
2675
+ "border-spacing-y": [{ "border-spacing-y": scaleUnambiguousSpacing() }],
2676
+ /**
2677
+ * Table Layout
2678
+ * @see https://tailwindcss.com/docs/table-layout
2679
+ */
2680
+ "table-layout": [{ table: ["auto", "fixed"] }],
2681
+ /**
2682
+ * Caption Side
2683
+ * @see https://tailwindcss.com/docs/caption-side
2684
+ */
2685
+ caption: [{ caption: ["top", "bottom"] }],
2686
+ /**
2687
+ * Transition Property
2688
+ * @see https://tailwindcss.com/docs/transition-property
2689
+ */
2690
+ transition: [{ transition: [
2691
+ "",
2692
+ "all",
2693
+ "colors",
2694
+ "opacity",
2695
+ "shadow",
2696
+ "transform",
2697
+ "none",
2698
+ isArbitraryVariable,
2699
+ isArbitraryValue
2700
+ ] }],
2701
+ /**
2702
+ * Transition Behavior
2703
+ * @see https://tailwindcss.com/docs/transition-behavior
2704
+ */
2705
+ "transition-behavior": [{ transition: ["normal", "discrete"] }],
2706
+ /**
2707
+ * Transition Duration
2708
+ * @see https://tailwindcss.com/docs/transition-duration
2709
+ */
2710
+ duration: [{ duration: [
2711
+ isNumber,
2712
+ "initial",
2713
+ isArbitraryVariable,
2714
+ isArbitraryValue
2715
+ ] }],
2716
+ /**
2717
+ * Transition Timing Function
2718
+ * @see https://tailwindcss.com/docs/transition-timing-function
2719
+ */
2720
+ ease: [{ ease: [
2721
+ "linear",
2722
+ "initial",
2723
+ themeEase,
2724
+ isArbitraryVariable,
2725
+ isArbitraryValue
2726
+ ] }],
2727
+ /**
2728
+ * Transition Delay
2729
+ * @see https://tailwindcss.com/docs/transition-delay
2730
+ */
2731
+ delay: [{ delay: [
2732
+ isNumber,
2733
+ isArbitraryVariable,
2734
+ isArbitraryValue
2735
+ ] }],
2736
+ /**
2737
+ * Animation
2738
+ * @see https://tailwindcss.com/docs/animation
2739
+ */
2740
+ animate: [{ animate: [
2741
+ "none",
2742
+ themeAnimate,
2743
+ isArbitraryVariable,
2744
+ isArbitraryValue
2745
+ ] }],
2746
+ /**
2747
+ * Backface Visibility
2748
+ * @see https://tailwindcss.com/docs/backface-visibility
2749
+ */
2750
+ backface: [{ backface: ["hidden", "visible"] }],
2751
+ /**
2752
+ * Perspective
2753
+ * @see https://tailwindcss.com/docs/perspective
2754
+ */
2755
+ perspective: [{ perspective: [
2756
+ themePerspective,
2757
+ isArbitraryVariable,
2758
+ isArbitraryValue
2759
+ ] }],
2760
+ /**
2761
+ * Perspective Origin
2762
+ * @see https://tailwindcss.com/docs/perspective-origin
2763
+ */
2764
+ "perspective-origin": [{ "perspective-origin": scalePositionWithArbitrary() }],
2765
+ /**
2766
+ * Rotate
2767
+ * @see https://tailwindcss.com/docs/rotate
2768
+ */
2769
+ rotate: [{ rotate: scaleRotate() }],
2770
+ /**
2771
+ * Rotate X
2772
+ * @see https://tailwindcss.com/docs/rotate
2773
+ */
2774
+ "rotate-x": [{ "rotate-x": scaleRotate() }],
2775
+ /**
2776
+ * Rotate Y
2777
+ * @see https://tailwindcss.com/docs/rotate
2778
+ */
2779
+ "rotate-y": [{ "rotate-y": scaleRotate() }],
2780
+ /**
2781
+ * Rotate Z
2782
+ * @see https://tailwindcss.com/docs/rotate
2783
+ */
2784
+ "rotate-z": [{ "rotate-z": scaleRotate() }],
2785
+ /**
2786
+ * Scale
2787
+ * @see https://tailwindcss.com/docs/scale
2788
+ */
2789
+ scale: [{ scale: scaleScale() }],
2790
+ /**
2791
+ * Scale X
2792
+ * @see https://tailwindcss.com/docs/scale
2793
+ */
2794
+ "scale-x": [{ "scale-x": scaleScale() }],
2795
+ /**
2796
+ * Scale Y
2797
+ * @see https://tailwindcss.com/docs/scale
2798
+ */
2799
+ "scale-y": [{ "scale-y": scaleScale() }],
2800
+ /**
2801
+ * Scale Z
2802
+ * @see https://tailwindcss.com/docs/scale
2803
+ */
2804
+ "scale-z": [{ "scale-z": scaleScale() }],
2805
+ /**
2806
+ * Scale 3D
2807
+ * @see https://tailwindcss.com/docs/scale
2808
+ */
2809
+ "scale-3d": ["scale-3d"],
2810
+ /**
2811
+ * Skew
2812
+ * @see https://tailwindcss.com/docs/skew
2813
+ */
2814
+ skew: [{ skew: scaleSkew() }],
2815
+ /**
2816
+ * Skew X
2817
+ * @see https://tailwindcss.com/docs/skew
2818
+ */
2819
+ "skew-x": [{ "skew-x": scaleSkew() }],
2820
+ /**
2821
+ * Skew Y
2822
+ * @see https://tailwindcss.com/docs/skew
2823
+ */
2824
+ "skew-y": [{ "skew-y": scaleSkew() }],
2825
+ /**
2826
+ * Transform
2827
+ * @see https://tailwindcss.com/docs/transform
2828
+ */
2829
+ transform: [{ transform: [
2830
+ isArbitraryVariable,
2831
+ isArbitraryValue,
2832
+ "",
2833
+ "none",
2834
+ "gpu",
2835
+ "cpu"
2836
+ ] }],
2837
+ /**
2838
+ * Transform Origin
2839
+ * @see https://tailwindcss.com/docs/transform-origin
2840
+ */
2841
+ "transform-origin": [{ origin: scalePositionWithArbitrary() }],
2842
+ /**
2843
+ * Transform Style
2844
+ * @see https://tailwindcss.com/docs/transform-style
2845
+ */
2846
+ "transform-style": [{ transform: ["3d", "flat"] }],
2847
+ /**
2848
+ * Translate
2849
+ * @see https://tailwindcss.com/docs/translate
2850
+ */
2851
+ translate: [{ translate: scaleTranslate() }],
2852
+ /**
2853
+ * Translate X
2854
+ * @see https://tailwindcss.com/docs/translate
2855
+ */
2856
+ "translate-x": [{ "translate-x": scaleTranslate() }],
2857
+ /**
2858
+ * Translate Y
2859
+ * @see https://tailwindcss.com/docs/translate
2860
+ */
2861
+ "translate-y": [{ "translate-y": scaleTranslate() }],
2862
+ /**
2863
+ * Translate Z
2864
+ * @see https://tailwindcss.com/docs/translate
2865
+ */
2866
+ "translate-z": [{ "translate-z": scaleTranslate() }],
2867
+ /**
2868
+ * Translate None
2869
+ * @see https://tailwindcss.com/docs/translate
2870
+ */
2871
+ "translate-none": ["translate-none"],
2872
+ /**
2873
+ * Zoom
2874
+ * @see https://tailwindcss.com/docs/zoom
2875
+ */
2876
+ zoom: [{ zoom: [
2877
+ isInteger,
2878
+ isArbitraryVariable,
2879
+ isArbitraryValue
2880
+ ] }],
2881
+ /**
2882
+ * Accent Color
2883
+ * @see https://tailwindcss.com/docs/accent-color
2884
+ */
2885
+ accent: [{ accent: scaleColor() }],
2886
+ /**
2887
+ * Appearance
2888
+ * @see https://tailwindcss.com/docs/appearance
2889
+ */
2890
+ appearance: [{ appearance: ["none", "auto"] }],
2891
+ /**
2892
+ * Caret Color
2893
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2894
+ */
2895
+ "caret-color": [{ caret: scaleColor() }],
2896
+ /**
2897
+ * Color Scheme
2898
+ * @see https://tailwindcss.com/docs/color-scheme
2899
+ */
2900
+ "color-scheme": [{ scheme: [
2901
+ "normal",
2902
+ "dark",
2903
+ "light",
2904
+ "light-dark",
2905
+ "only-dark",
2906
+ "only-light"
2907
+ ] }],
2908
+ /**
2909
+ * Cursor
2910
+ * @see https://tailwindcss.com/docs/cursor
2911
+ */
2912
+ cursor: [{ cursor: [
2913
+ "auto",
2914
+ "default",
2915
+ "pointer",
2916
+ "wait",
2917
+ "text",
2918
+ "move",
2919
+ "help",
2920
+ "not-allowed",
2921
+ "none",
2922
+ "context-menu",
2923
+ "progress",
2924
+ "cell",
2925
+ "crosshair",
2926
+ "vertical-text",
2927
+ "alias",
2928
+ "copy",
2929
+ "no-drop",
2930
+ "grab",
2931
+ "grabbing",
2932
+ "all-scroll",
2933
+ "col-resize",
2934
+ "row-resize",
2935
+ "n-resize",
2936
+ "e-resize",
2937
+ "s-resize",
2938
+ "w-resize",
2939
+ "ne-resize",
2940
+ "nw-resize",
2941
+ "se-resize",
2942
+ "sw-resize",
2943
+ "ew-resize",
2944
+ "ns-resize",
2945
+ "nesw-resize",
2946
+ "nwse-resize",
2947
+ "zoom-in",
2948
+ "zoom-out",
2949
+ isArbitraryVariable,
2950
+ isArbitraryValue
2951
+ ] }],
2952
+ /**
2953
+ * Field Sizing
2954
+ * @see https://tailwindcss.com/docs/field-sizing
2955
+ */
2956
+ "field-sizing": [{ "field-sizing": ["fixed", "content"] }],
2957
+ /**
2958
+ * Pointer Events
2959
+ * @see https://tailwindcss.com/docs/pointer-events
2960
+ */
2961
+ "pointer-events": [{ "pointer-events": ["auto", "none"] }],
2962
+ /**
2963
+ * Resize
2964
+ * @see https://tailwindcss.com/docs/resize
2965
+ */
2966
+ resize: [{ resize: [
2967
+ "none",
2968
+ "",
2969
+ "y",
2970
+ "x"
2971
+ ] }],
2972
+ /**
2973
+ * Scroll Behavior
2974
+ * @see https://tailwindcss.com/docs/scroll-behavior
2975
+ */
2976
+ "scroll-behavior": [{ scroll: ["auto", "smooth"] }],
2977
+ /**
2978
+ * Scrollbar Thumb Color
2979
+ * @see https://tailwindcss.com/docs/scrollbar-color
2980
+ */
2981
+ "scrollbar-thumb-color": [{ "scrollbar-thumb": scaleColor() }],
2982
+ /**
2983
+ * Scrollbar Track Color
2984
+ * @see https://tailwindcss.com/docs/scrollbar-color
2985
+ */
2986
+ "scrollbar-track-color": [{ "scrollbar-track": scaleColor() }],
2987
+ /**
2988
+ * Scrollbar Gutter
2989
+ * @see https://tailwindcss.com/docs/scrollbar-gutter
2990
+ */
2991
+ "scrollbar-gutter": [{ "scrollbar-gutter": [
2992
+ "auto",
2993
+ "stable",
2994
+ "both"
2995
+ ] }],
2996
+ /**
2997
+ * Scrollbar Width
2998
+ * @see https://tailwindcss.com/docs/scrollbar-width
2999
+ */
3000
+ "scrollbar-w": [{ scrollbar: [
3001
+ "auto",
3002
+ "thin",
3003
+ "none"
3004
+ ] }],
3005
+ /**
3006
+ * Scroll Margin
3007
+ * @see https://tailwindcss.com/docs/scroll-margin
3008
+ */
3009
+ "scroll-m": [{ "scroll-m": scaleUnambiguousSpacing() }],
3010
+ /**
3011
+ * Scroll Margin Inline
3012
+ * @see https://tailwindcss.com/docs/scroll-margin
3013
+ */
3014
+ "scroll-mx": [{ "scroll-mx": scaleUnambiguousSpacing() }],
3015
+ /**
3016
+ * Scroll Margin Block
3017
+ * @see https://tailwindcss.com/docs/scroll-margin
3018
+ */
3019
+ "scroll-my": [{ "scroll-my": scaleUnambiguousSpacing() }],
3020
+ /**
3021
+ * Scroll Margin Inline Start
3022
+ * @see https://tailwindcss.com/docs/scroll-margin
3023
+ */
3024
+ "scroll-ms": [{ "scroll-ms": scaleUnambiguousSpacing() }],
3025
+ /**
3026
+ * Scroll Margin Inline End
3027
+ * @see https://tailwindcss.com/docs/scroll-margin
3028
+ */
3029
+ "scroll-me": [{ "scroll-me": scaleUnambiguousSpacing() }],
3030
+ /**
3031
+ * Scroll Margin Block Start
3032
+ * @see https://tailwindcss.com/docs/scroll-margin
3033
+ */
3034
+ "scroll-mbs": [{ "scroll-mbs": scaleUnambiguousSpacing() }],
3035
+ /**
3036
+ * Scroll Margin Block End
3037
+ * @see https://tailwindcss.com/docs/scroll-margin
3038
+ */
3039
+ "scroll-mbe": [{ "scroll-mbe": scaleUnambiguousSpacing() }],
3040
+ /**
3041
+ * Scroll Margin Top
3042
+ * @see https://tailwindcss.com/docs/scroll-margin
3043
+ */
3044
+ "scroll-mt": [{ "scroll-mt": scaleUnambiguousSpacing() }],
3045
+ /**
3046
+ * Scroll Margin Right
3047
+ * @see https://tailwindcss.com/docs/scroll-margin
3048
+ */
3049
+ "scroll-mr": [{ "scroll-mr": scaleUnambiguousSpacing() }],
3050
+ /**
3051
+ * Scroll Margin Bottom
3052
+ * @see https://tailwindcss.com/docs/scroll-margin
3053
+ */
3054
+ "scroll-mb": [{ "scroll-mb": scaleUnambiguousSpacing() }],
3055
+ /**
3056
+ * Scroll Margin Left
3057
+ * @see https://tailwindcss.com/docs/scroll-margin
3058
+ */
3059
+ "scroll-ml": [{ "scroll-ml": scaleUnambiguousSpacing() }],
3060
+ /**
3061
+ * Scroll Padding
3062
+ * @see https://tailwindcss.com/docs/scroll-padding
3063
+ */
3064
+ "scroll-p": [{ "scroll-p": scaleUnambiguousSpacing() }],
3065
+ /**
3066
+ * Scroll Padding Inline
3067
+ * @see https://tailwindcss.com/docs/scroll-padding
3068
+ */
3069
+ "scroll-px": [{ "scroll-px": scaleUnambiguousSpacing() }],
3070
+ /**
3071
+ * Scroll Padding Block
3072
+ * @see https://tailwindcss.com/docs/scroll-padding
3073
+ */
3074
+ "scroll-py": [{ "scroll-py": scaleUnambiguousSpacing() }],
3075
+ /**
3076
+ * Scroll Padding Inline Start
3077
+ * @see https://tailwindcss.com/docs/scroll-padding
3078
+ */
3079
+ "scroll-ps": [{ "scroll-ps": scaleUnambiguousSpacing() }],
3080
+ /**
3081
+ * Scroll Padding Inline End
3082
+ * @see https://tailwindcss.com/docs/scroll-padding
3083
+ */
3084
+ "scroll-pe": [{ "scroll-pe": scaleUnambiguousSpacing() }],
3085
+ /**
3086
+ * Scroll Padding Block Start
3087
+ * @see https://tailwindcss.com/docs/scroll-padding
3088
+ */
3089
+ "scroll-pbs": [{ "scroll-pbs": scaleUnambiguousSpacing() }],
3090
+ /**
3091
+ * Scroll Padding Block End
3092
+ * @see https://tailwindcss.com/docs/scroll-padding
3093
+ */
3094
+ "scroll-pbe": [{ "scroll-pbe": scaleUnambiguousSpacing() }],
3095
+ /**
3096
+ * Scroll Padding Top
3097
+ * @see https://tailwindcss.com/docs/scroll-padding
3098
+ */
3099
+ "scroll-pt": [{ "scroll-pt": scaleUnambiguousSpacing() }],
3100
+ /**
3101
+ * Scroll Padding Right
3102
+ * @see https://tailwindcss.com/docs/scroll-padding
3103
+ */
3104
+ "scroll-pr": [{ "scroll-pr": scaleUnambiguousSpacing() }],
3105
+ /**
3106
+ * Scroll Padding Bottom
3107
+ * @see https://tailwindcss.com/docs/scroll-padding
3108
+ */
3109
+ "scroll-pb": [{ "scroll-pb": scaleUnambiguousSpacing() }],
3110
+ /**
3111
+ * Scroll Padding Left
3112
+ * @see https://tailwindcss.com/docs/scroll-padding
3113
+ */
3114
+ "scroll-pl": [{ "scroll-pl": scaleUnambiguousSpacing() }],
3115
+ /**
3116
+ * Scroll Snap Align
3117
+ * @see https://tailwindcss.com/docs/scroll-snap-align
3118
+ */
3119
+ "snap-align": [{ snap: [
3120
+ "start",
3121
+ "end",
3122
+ "center",
3123
+ "align-none"
3124
+ ] }],
3125
+ /**
3126
+ * Scroll Snap Stop
3127
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
3128
+ */
3129
+ "snap-stop": [{ snap: ["normal", "always"] }],
3130
+ /**
3131
+ * Scroll Snap Type
3132
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3133
+ */
3134
+ "snap-type": [{ snap: [
3135
+ "none",
3136
+ "x",
3137
+ "y",
3138
+ "both"
3139
+ ] }],
3140
+ /**
3141
+ * Scroll Snap Type Strictness
3142
+ * @see https://tailwindcss.com/docs/scroll-snap-type
3143
+ */
3144
+ "snap-strictness": [{ snap: ["mandatory", "proximity"] }],
3145
+ /**
3146
+ * Touch Action
3147
+ * @see https://tailwindcss.com/docs/touch-action
3148
+ */
3149
+ touch: [{ touch: [
3150
+ "auto",
3151
+ "none",
3152
+ "manipulation"
3153
+ ] }],
3154
+ /**
3155
+ * Touch Action X
3156
+ * @see https://tailwindcss.com/docs/touch-action
3157
+ */
3158
+ "touch-x": [{ "touch-pan": [
3159
+ "x",
3160
+ "left",
3161
+ "right"
3162
+ ] }],
3163
+ /**
3164
+ * Touch Action Y
3165
+ * @see https://tailwindcss.com/docs/touch-action
3166
+ */
3167
+ "touch-y": [{ "touch-pan": [
3168
+ "y",
3169
+ "up",
3170
+ "down"
3171
+ ] }],
3172
+ /**
3173
+ * Touch Action Pinch Zoom
3174
+ * @see https://tailwindcss.com/docs/touch-action
3175
+ */
3176
+ "touch-pz": ["touch-pinch-zoom"],
3177
+ /**
3178
+ * User Select
3179
+ * @see https://tailwindcss.com/docs/user-select
3180
+ */
3181
+ select: [{ select: [
3182
+ "none",
3183
+ "text",
3184
+ "all",
3185
+ "auto"
3186
+ ] }],
3187
+ /**
3188
+ * Will Change
3189
+ * @see https://tailwindcss.com/docs/will-change
3190
+ */
3191
+ "will-change": [{ "will-change": [
3192
+ "auto",
3193
+ "scroll",
3194
+ "contents",
3195
+ "transform",
3196
+ isArbitraryVariable,
3197
+ isArbitraryValue
3198
+ ] }],
3199
+ /**
3200
+ * Fill
3201
+ * @see https://tailwindcss.com/docs/fill
3202
+ */
3203
+ fill: [{ fill: ["none", ...scaleColor()] }],
3204
+ /**
3205
+ * Stroke Width
3206
+ * @see https://tailwindcss.com/docs/stroke-width
3207
+ */
3208
+ "stroke-w": [{ stroke: [
3209
+ isNumber,
3210
+ isArbitraryVariableLength,
3211
+ isArbitraryLength,
3212
+ isArbitraryNumber
3213
+ ] }],
3214
+ /**
3215
+ * Stroke
3216
+ * @see https://tailwindcss.com/docs/stroke
3217
+ */
3218
+ stroke: [{ stroke: ["none", ...scaleColor()] }],
3219
+ /**
3220
+ * Forced Color Adjust
3221
+ * @see https://tailwindcss.com/docs/forced-color-adjust
3222
+ */
3223
+ "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
3224
+ },
3225
+ conflictingClassGroups: {
3226
+ "container-named": ["container-type"],
3227
+ overflow: ["overflow-x", "overflow-y"],
3228
+ overscroll: ["overscroll-x", "overscroll-y"],
3229
+ inset: [
3230
+ "inset-x",
3231
+ "inset-y",
3232
+ "inset-bs",
3233
+ "inset-be",
3234
+ "start",
3235
+ "end",
3236
+ "top",
3237
+ "right",
3238
+ "bottom",
3239
+ "left"
3240
+ ],
3241
+ "inset-x": ["right", "left"],
3242
+ "inset-y": ["top", "bottom"],
3243
+ flex: [
3244
+ "basis",
3245
+ "grow",
3246
+ "shrink"
3247
+ ],
3248
+ gap: ["gap-x", "gap-y"],
3249
+ p: [
3250
+ "px",
3251
+ "py",
3252
+ "ps",
3253
+ "pe",
3254
+ "pbs",
3255
+ "pbe",
3256
+ "pt",
3257
+ "pr",
3258
+ "pb",
3259
+ "pl"
3260
+ ],
3261
+ px: ["pr", "pl"],
3262
+ py: ["pt", "pb"],
3263
+ m: [
3264
+ "mx",
3265
+ "my",
3266
+ "ms",
3267
+ "me",
3268
+ "mbs",
3269
+ "mbe",
3270
+ "mt",
3271
+ "mr",
3272
+ "mb",
3273
+ "ml"
3274
+ ],
3275
+ mx: ["mr", "ml"],
3276
+ my: ["mt", "mb"],
3277
+ size: ["w", "h"],
3278
+ "font-size": ["leading"],
3279
+ "fvn-normal": [
3280
+ "fvn-ordinal",
3281
+ "fvn-slashed-zero",
3282
+ "fvn-figure",
3283
+ "fvn-spacing",
3284
+ "fvn-fraction"
3285
+ ],
3286
+ "fvn-ordinal": ["fvn-normal"],
3287
+ "fvn-slashed-zero": ["fvn-normal"],
3288
+ "fvn-figure": ["fvn-normal"],
3289
+ "fvn-spacing": ["fvn-normal"],
3290
+ "fvn-fraction": ["fvn-normal"],
3291
+ "line-clamp": ["display", "overflow"],
3292
+ rounded: [
3293
+ "rounded-s",
3294
+ "rounded-e",
3295
+ "rounded-t",
3296
+ "rounded-r",
3297
+ "rounded-b",
3298
+ "rounded-l",
3299
+ "rounded-ss",
3300
+ "rounded-se",
3301
+ "rounded-ee",
3302
+ "rounded-es",
3303
+ "rounded-tl",
3304
+ "rounded-tr",
3305
+ "rounded-br",
3306
+ "rounded-bl"
3307
+ ],
3308
+ "rounded-s": ["rounded-ss", "rounded-es"],
3309
+ "rounded-e": ["rounded-se", "rounded-ee"],
3310
+ "rounded-t": ["rounded-tl", "rounded-tr"],
3311
+ "rounded-r": ["rounded-tr", "rounded-br"],
3312
+ "rounded-b": ["rounded-br", "rounded-bl"],
3313
+ "rounded-l": ["rounded-tl", "rounded-bl"],
3314
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
3315
+ "border-w": [
3316
+ "border-w-x",
3317
+ "border-w-y",
3318
+ "border-w-s",
3319
+ "border-w-e",
3320
+ "border-w-bs",
3321
+ "border-w-be",
3322
+ "border-w-t",
3323
+ "border-w-r",
3324
+ "border-w-b",
3325
+ "border-w-l"
3326
+ ],
3327
+ "border-w-x": ["border-w-r", "border-w-l"],
3328
+ "border-w-y": ["border-w-t", "border-w-b"],
3329
+ "border-color": [
3330
+ "border-color-x",
3331
+ "border-color-y",
3332
+ "border-color-s",
3333
+ "border-color-e",
3334
+ "border-color-bs",
3335
+ "border-color-be",
3336
+ "border-color-t",
3337
+ "border-color-r",
3338
+ "border-color-b",
3339
+ "border-color-l"
3340
+ ],
3341
+ "border-color-x": ["border-color-r", "border-color-l"],
3342
+ "border-color-y": ["border-color-t", "border-color-b"],
3343
+ translate: [
3344
+ "translate-x",
3345
+ "translate-y",
3346
+ "translate-none"
3347
+ ],
3348
+ "translate-none": [
3349
+ "translate",
3350
+ "translate-x",
3351
+ "translate-y",
3352
+ "translate-z"
3353
+ ],
3354
+ "scroll-m": [
3355
+ "scroll-mx",
3356
+ "scroll-my",
3357
+ "scroll-ms",
3358
+ "scroll-me",
3359
+ "scroll-mbs",
3360
+ "scroll-mbe",
3361
+ "scroll-mt",
3362
+ "scroll-mr",
3363
+ "scroll-mb",
3364
+ "scroll-ml"
3365
+ ],
3366
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
3367
+ "scroll-my": ["scroll-mt", "scroll-mb"],
3368
+ "scroll-p": [
3369
+ "scroll-px",
3370
+ "scroll-py",
3371
+ "scroll-ps",
3372
+ "scroll-pe",
3373
+ "scroll-pbs",
3374
+ "scroll-pbe",
3375
+ "scroll-pt",
3376
+ "scroll-pr",
3377
+ "scroll-pb",
3378
+ "scroll-pl"
3379
+ ],
3380
+ "scroll-px": ["scroll-pr", "scroll-pl"],
3381
+ "scroll-py": ["scroll-pt", "scroll-pb"],
3382
+ touch: [
3383
+ "touch-x",
3384
+ "touch-y",
3385
+ "touch-pz"
3386
+ ],
3387
+ "touch-x": ["touch"],
3388
+ "touch-y": ["touch"],
3389
+ "touch-pz": ["touch"]
3390
+ },
3391
+ conflictingClassGroupModifiers: { "font-size": ["leading"] },
3392
+ postfixLookupClassGroups: ["container-type"],
3393
+ orderSensitiveModifiers: [
3394
+ "*",
3395
+ "**",
3396
+ "after",
3397
+ "backdrop",
3398
+ "before",
3399
+ "details-content",
3400
+ "file",
3401
+ "first-letter",
3402
+ "first-line",
3403
+ "marker",
3404
+ "placeholder",
3405
+ "selection"
3406
+ ]
3407
+ };
3408
+ };
3409
+ /**
3410
+ * @param baseConfig Config where other config will be merged into. This object will be mutated.
3411
+ * @param configExtension Partial config to merge into the `baseConfig`.
3412
+ */
3413
+ var mergeConfigs = (baseConfig, { cacheSize, prefix, experimentalParseClassName, extend = {}, override = {} }) => {
3414
+ overrideProperty(baseConfig, "cacheSize", cacheSize);
3415
+ overrideProperty(baseConfig, "prefix", prefix);
3416
+ overrideProperty(baseConfig, "experimentalParseClassName", experimentalParseClassName);
3417
+ overrideConfigProperties(baseConfig.theme, override.theme);
3418
+ overrideConfigProperties(baseConfig.classGroups, override.classGroups);
3419
+ overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);
3420
+ overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);
3421
+ overrideProperty(baseConfig, "postfixLookupClassGroups", override.postfixLookupClassGroups);
3422
+ overrideProperty(baseConfig, "orderSensitiveModifiers", override.orderSensitiveModifiers);
3423
+ mergeConfigProperties(baseConfig.theme, extend.theme);
3424
+ mergeConfigProperties(baseConfig.classGroups, extend.classGroups);
3425
+ mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);
3426
+ mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);
3427
+ mergeArrayProperties(baseConfig, extend, "postfixLookupClassGroups");
3428
+ mergeArrayProperties(baseConfig, extend, "orderSensitiveModifiers");
3429
+ return baseConfig;
3430
+ };
3431
+ var overrideProperty = (baseObject, overrideKey, overrideValue) => {
3432
+ if (overrideValue !== void 0) baseObject[overrideKey] = overrideValue;
3433
+ };
3434
+ var overrideConfigProperties = (baseObject, overrideObject) => {
3435
+ if (overrideObject) for (const key in overrideObject) overrideProperty(baseObject, key, overrideObject[key]);
3436
+ };
3437
+ var mergeConfigProperties = (baseObject, mergeObject) => {
3438
+ if (mergeObject) for (const key in mergeObject) mergeArrayProperties(baseObject, mergeObject, key);
3439
+ };
3440
+ var mergeArrayProperties = (baseObject, mergeObject, key) => {
3441
+ const mergeValue = mergeObject[key];
3442
+ if (mergeValue !== void 0) baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;
3443
+ };
3444
+ var extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
3445
+ var twMerge = /*#__PURE__*/ createTailwindMerge(getDefaultConfig);
3446
+ exports.createTailwindMerge = createTailwindMerge;
3447
+ exports.extendTailwindMerge = extendTailwindMerge;
3448
+ exports.fromTheme = fromTheme;
3449
+ exports.getDefaultConfig = getDefaultConfig;
3450
+ exports.mergeConfigs = mergeConfigs;
3451
+ exports.twJoin = twJoin;
3452
+ exports.twMerge = twMerge;
3453
+ exports.validators = validators;
3454
+ }));
3455
+ //#endregion
3456
+ export default require_bundle_cjs();
3457
+
3458
+ //# sourceMappingURL=tailwind-merge.js.map