cortex-react-components 3.0.5 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/{chunk-GWAHXLXW.mjs → chunk-2NKCNQ56.mjs} +1 -1
  2. package/dist/{chunk-ZOFHFHXL.mjs → chunk-2PGER2HM.mjs} +2 -2
  3. package/dist/{chunk-AAKDTRG3.mjs → chunk-2TJ5HOCV.mjs} +1 -1
  4. package/dist/{chunk-HLEMFDTD.mjs → chunk-3R2LCGLI.mjs} +1 -1
  5. package/dist/{chunk-PJZ5PWKP.mjs → chunk-5OGDBGXG.mjs} +1 -1
  6. package/dist/{chunk-KVIDH5SD.mjs → chunk-6B6BKJIE.mjs} +1 -1
  7. package/dist/{chunk-KIZUBPPQ.mjs → chunk-6GO5N6ZP.mjs} +1 -1
  8. package/dist/{chunk-7RKAC2XY.mjs → chunk-6Q4KYDHK.mjs} +2 -2
  9. package/dist/{chunk-7VIJAEXG.mjs → chunk-6RAMGDYG.mjs} +1 -1
  10. package/dist/{chunk-6YUBCG37.mjs → chunk-7OGBZ6QQ.mjs} +1 -1
  11. package/dist/{chunk-S4MC47ZA.mjs → chunk-AEFGMCK3.mjs} +4 -4
  12. package/dist/{chunk-CPG7EY4Z.mjs → chunk-AICDXFGU.mjs} +2 -2
  13. package/dist/{chunk-B7C24XQW.mjs → chunk-DAGWV4UL.mjs} +1 -1
  14. package/dist/{chunk-NX7KXPAH.mjs → chunk-DO73CLFG.mjs} +2 -2
  15. package/dist/{chunk-3IV2X2TP.mjs → chunk-DQZO42TD.mjs} +1 -1
  16. package/dist/{chunk-UIWLR6ZC.mjs → chunk-DRCDP3RU.mjs} +1 -1
  17. package/dist/{chunk-IT3HYIBL.mjs → chunk-EC4N6ZH3.mjs} +1 -1
  18. package/dist/{chunk-E3ALXLNH.mjs → chunk-EDJDHF22.mjs} +1 -1
  19. package/dist/{chunk-DHDEGEML.mjs → chunk-ENFQLMV3.mjs} +3 -3
  20. package/dist/{chunk-BLU3UIFA.mjs → chunk-FECAR2TE.mjs} +1 -1
  21. package/dist/{chunk-AIDKOVWV.mjs → chunk-FUNWDVGQ.mjs} +1 -1
  22. package/dist/{chunk-IRNGNLSK.mjs → chunk-G3UZUSQZ.mjs} +4 -4
  23. package/dist/{chunk-YBNK6GSG.mjs → chunk-GZW77OJM.mjs} +1 -1
  24. package/dist/{chunk-UGGMHEBS.mjs → chunk-HQ2AUN2H.mjs} +1 -1
  25. package/dist/{chunk-CFAFJ5KR.mjs → chunk-HZZWKYB5.mjs} +1 -1
  26. package/dist/{chunk-BXUQXISR.mjs → chunk-I647IJUG.mjs} +2 -2
  27. package/dist/{chunk-VLBEXIPH.mjs → chunk-K3TF6OWE.mjs} +5 -5
  28. package/dist/{chunk-UFLN6VHA.mjs → chunk-KV5RVOAP.mjs} +1 -1
  29. package/dist/{chunk-XOABWF35.mjs → chunk-KVULICDA.mjs} +1 -1
  30. package/dist/{chunk-MAQCJ7GT.mjs → chunk-LAJ5FNY4.mjs} +1 -1
  31. package/dist/{chunk-UZYB4PHX.mjs → chunk-LP3K7AVX.mjs} +13 -13
  32. package/dist/{chunk-45O7B4HD.mjs → chunk-LSHBOPCT.mjs} +4 -4
  33. package/dist/{chunk-TPZCEPBQ.mjs → chunk-M5JROT2X.mjs} +1 -1
  34. package/dist/{chunk-QY2VILFH.mjs → chunk-M6ELOAGS.mjs} +1 -1
  35. package/dist/{chunk-UTC3MM5G.mjs → chunk-NAPGIF5D.mjs} +6 -6
  36. package/dist/{chunk-D2X3D3E5.mjs → chunk-NHDPHK6D.mjs} +2 -2
  37. package/dist/{chunk-ANQCYFDZ.mjs → chunk-OXZ5QAXQ.mjs} +1 -1
  38. package/dist/{chunk-AJUSUNMM.mjs → chunk-P4DQRHCA.mjs} +4 -4
  39. package/dist/{chunk-EGZL4DVZ.mjs → chunk-PAXCURFR.mjs} +1 -1
  40. package/dist/chunk-PE44IHZN.mjs +97 -0
  41. package/dist/{chunk-GNZFIBT4.mjs → chunk-R2SJ5TZH.mjs} +8 -8
  42. package/dist/{chunk-FNWH4ITN.mjs → chunk-RC6YHGVV.mjs} +2 -2
  43. package/dist/{chunk-OQ2FYTMU.mjs → chunk-RKQ4CVVG.mjs} +1 -1
  44. package/dist/{chunk-IBMNGXJR.mjs → chunk-TTVOGAI4.mjs} +6 -6
  45. package/dist/{chunk-DPVVX4ZT.mjs → chunk-UDZU3AZC.mjs} +1 -1
  46. package/dist/{chunk-QNKQX4CK.mjs → chunk-UJI3Y73K.mjs} +2 -2
  47. package/dist/{chunk-N2T6V3NP.mjs → chunk-URCY4KWN.mjs} +1 -1
  48. package/dist/{chunk-YWM44RIV.mjs → chunk-VMYEV3FG.mjs} +1 -1
  49. package/dist/{chunk-R2LCV7J4.mjs → chunk-VNSEHNDX.mjs} +1 -1
  50. package/dist/{chunk-KO4VYIIH.mjs → chunk-WMAVH7JO.mjs} +2 -2
  51. package/dist/{chunk-DYHCGFWB.mjs → chunk-YFOEG4PP.mjs} +1 -1
  52. package/dist/{chunk-EG32GIHZ.mjs → chunk-ZPWWTTFF.mjs} +1 -1
  53. package/dist/components/AdvancedComponents/index.mjs +5 -5
  54. package/dist/components/AdvancedComponents/org-chart-component/OrgChart.mjs +3 -3
  55. package/dist/components/AdvancedComponents/org-chart-component/OrgTree.mjs +2 -2
  56. package/dist/components/AdvancedComponents/org-chart-component/index.mjs +5 -5
  57. package/dist/components/Blocks/Banner.mjs +7 -6
  58. package/dist/components/Blocks/CallToAction.mjs +7 -6
  59. package/dist/components/Blocks/CollapsibleArea.mjs +8 -7
  60. package/dist/components/Blocks/Content.mjs +8 -7
  61. package/dist/components/Blocks/FeaturesBlock.mjs +7 -6
  62. package/dist/components/Blocks/ImageBlock.mjs +3 -3
  63. package/dist/components/Blocks/MediaBlock.mjs +3 -3
  64. package/dist/components/Blocks/RelatedPosts.mjs +9 -8
  65. package/dist/components/Blocks/RenderBlocks.mjs +10 -9
  66. package/dist/components/Blocks/ReusableContentBlock.mjs +10 -9
  67. package/dist/components/Blocks/index.mjs +23 -22
  68. package/dist/components/CRM/index.mjs +3 -3
  69. package/dist/components/Cards/ContentCard.mjs +7 -6
  70. package/dist/components/Cards/FeatureCard.mjs +7 -6
  71. package/dist/components/Cards/ImageProxy.css +917 -0
  72. package/dist/components/Cards/ImageProxy.d.ts +4 -0
  73. package/dist/components/Cards/ImageProxy.js +2667 -0
  74. package/dist/components/Cards/ImageProxy.mjs +15 -0
  75. package/dist/components/Cards/index.d.ts +1 -0
  76. package/dist/components/Cards/index.js +141 -56
  77. package/dist/components/Cards/index.mjs +10 -6
  78. package/dist/components/Chat/ChatInterface.mjs +5 -5
  79. package/dist/components/Chat/CopilotInterface.mjs +6 -6
  80. package/dist/components/Chat/PartTypes/MessageHandler.mjs +4 -4
  81. package/dist/components/Chat/PartTypes/index.mjs +17 -17
  82. package/dist/components/Chat/demo-long-messages.mjs +6 -6
  83. package/dist/components/Chat/demo-tests.mjs +6 -6
  84. package/dist/components/Chat/demo.mjs +6 -6
  85. package/dist/components/Chat/example-usage.mjs +7 -7
  86. package/dist/components/Chat/example-with-vercel-ai.mjs +6 -6
  87. package/dist/components/Chat/index.mjs +11 -11
  88. package/dist/components/DeliveryLead/DeliveryLeadSubmissionWithList.mjs +2 -2
  89. package/dist/components/DeliveryLead/index.mjs +4 -4
  90. package/dist/components/DigitalColleagues/AppSidebarLeft.js +1 -1
  91. package/dist/components/DigitalColleagues/AppSidebarLeft.mjs +3 -3
  92. package/dist/components/DigitalColleagues/MainPage.js +1 -1
  93. package/dist/components/DigitalColleagues/MainPage.mjs +9 -9
  94. package/dist/components/DigitalColleagues/Pages/dashboardpage.mjs +11 -11
  95. package/dist/components/DigitalColleagues/Views/ColleaguesView.mjs +2 -2
  96. package/dist/components/DigitalColleagues/Views/index.mjs +23 -23
  97. package/dist/components/DigitalColleagues/index.js +1 -1
  98. package/dist/components/DigitalColleagues/index.mjs +42 -42
  99. package/dist/components/Foundary/AppSidebarLeft.js +1 -1
  100. package/dist/components/Foundary/AppSidebarLeft.mjs +3 -3
  101. package/dist/components/Foundary/Knowledge/add-knowledge-modal.mjs +3 -3
  102. package/dist/components/Foundary/Knowledge/add-team-context.mjs +3 -3
  103. package/dist/components/Foundary/MainPage.js +1 -1
  104. package/dist/components/Foundary/MainPage.mjs +9 -9
  105. package/dist/components/Foundary/Pages/dashboardpage.mjs +17 -17
  106. package/dist/components/Foundary/RichText/index.mjs +4 -4
  107. package/dist/components/Foundary/RichText/plugins/toolbar-plugin.mjs +3 -3
  108. package/dist/components/Foundary/Views/KnowledgeView.mjs +12 -12
  109. package/dist/components/Foundary/Views/index.mjs +28 -28
  110. package/dist/components/Foundary/document-edit.mjs +5 -5
  111. package/dist/components/Foundary/document-preview-examples.mjs +6 -6
  112. package/dist/components/Foundary/document-preview.mjs +6 -6
  113. package/dist/components/Foundary/file-edit.mjs +8 -8
  114. package/dist/components/Foundary/index.js +1 -1
  115. package/dist/components/Foundary/index.mjs +42 -42
  116. package/dist/components/Foundary/knowledge-browser.mjs +7 -7
  117. package/dist/components/HeaderFooter/SectionHeading.mjs +8 -7
  118. package/dist/components/HeaderFooter/index.mjs +7 -7
  119. package/dist/components/Heros/HighImpact/index.mjs +8 -7
  120. package/dist/components/Heros/LowImpact/index.mjs +8 -7
  121. package/dist/components/Heros/MediumImpact/index.mjs +8 -7
  122. package/dist/components/Heros/PostHero/index.mjs +3 -3
  123. package/dist/components/Heros/RenderHero.mjs +11 -10
  124. package/dist/components/Heros/index.mjs +16 -15
  125. package/dist/components/Holidays/HolidayTracker.mjs +2 -2
  126. package/dist/components/Holidays/index.mjs +4 -4
  127. package/dist/components/Layouts/OutputHeaderFooter.mjs +11 -10
  128. package/dist/components/Layouts/Print.mjs +15 -14
  129. package/dist/components/Layouts/SlideShow.mjs +19 -18
  130. package/dist/components/Layouts/index.mjs +23 -22
  131. package/dist/components/Menus/SidebarLeft.js +1 -1
  132. package/dist/components/Menus/SidebarLeft.mjs +3 -3
  133. package/dist/components/Menus/SidebarLeftMulti.js +2 -2
  134. package/dist/components/Menus/SidebarLeftMulti.mjs +3 -3
  135. package/dist/components/Menus/SidebarRight.js +1 -1
  136. package/dist/components/Menus/SidebarRight.mjs +3 -3
  137. package/dist/components/Menus/index.js +2 -2
  138. package/dist/components/Menus/index.mjs +8 -8
  139. package/dist/components/Payload/CollectionArchive/index.mjs +4 -4
  140. package/dist/components/Payload/Media/index.mjs +2 -2
  141. package/dist/components/Payload/PayloadCard/index.mjs +3 -3
  142. package/dist/components/Payload/RichText/index.mjs +7 -6
  143. package/dist/components/Payload/RichText/serialize.mjs +7 -6
  144. package/dist/components/Payload/index.mjs +12 -11
  145. package/dist/components/Projects/EpicsView.mjs +2 -2
  146. package/dist/components/Projects/FileView.mjs +11 -11
  147. package/dist/components/Projects/KanbanBoardView.mjs +13 -13
  148. package/dist/components/Projects/ProjectPage.mjs +17 -17
  149. package/dist/components/Projects/ProjectView.mjs +17 -17
  150. package/dist/components/Projects/TaskDetailsModal.mjs +10 -10
  151. package/dist/components/Projects/file-list.mjs +9 -9
  152. package/dist/components/Projects/index.mjs +16 -16
  153. package/dist/components/dc-temp/index.mjs +12 -12
  154. package/dist/components/index.js +4169 -4084
  155. package/dist/components/index.mjs +137 -133
  156. package/dist/components/ui/index.js +1 -1
  157. package/dist/components/ui/index.mjs +9 -9
  158. package/dist/components/ui/sidebar.js +1 -1
  159. package/dist/components/ui/sidebar.mjs +2 -2
  160. package/dist/decorators/Intranet.mjs +81 -80
  161. package/dist/index.js +4410 -4325
  162. package/dist/index.mjs +151 -147
  163. package/dist/metafile-cjs.json +1 -1
  164. package/dist/metafile-esm.json +1 -1
  165. package/dist/pages/Blog.mjs +17 -16
  166. package/dist/pages/Documentation.js +1 -1
  167. package/dist/pages/Documentation.mjs +9 -9
  168. package/dist/pages/IndexPage.js +1 -1
  169. package/dist/pages/IndexPage.mjs +23 -22
  170. package/dist/pages/Intranet.js +2 -2
  171. package/dist/pages/Intranet.mjs +4 -4
  172. package/dist/pages/LandingPage.mjs +90 -89
  173. package/dist/pages/Page.mjs +20 -19
  174. package/dist/pages/Publish.mjs +80 -79
  175. package/dist/pages/Website.mjs +21 -20
  176. package/dist/sections/AboutSection.mjs +9 -8
  177. package/dist/sections/BlogDetail.mjs +8 -7
  178. package/dist/sections/BlogList.mjs +9 -8
  179. package/dist/sections/BlogListSection.mjs +8 -8
  180. package/dist/sections/ContactSection.mjs +9 -8
  181. package/dist/sections/PageSections.mjs +90 -89
  182. package/dist/sections/PricingSection.mjs +9 -8
  183. package/dist/sections/ServiceDetail.mjs +8 -7
  184. package/dist/sections/ServiceDetailSection.mjs +8 -7
  185. package/dist/sections/ServiceSection.mjs +80 -79
  186. package/dist/sections/index.mjs +92 -91
  187. package/package.json +1 -1
  188. package/dist/{chunk-6TVRFATY.mjs → chunk-25OSLP2V.mjs} +3 -3
  189. package/dist/{chunk-MFXCOX3L.mjs → chunk-CT6KAYGR.mjs} +3 -3
  190. package/dist/{chunk-FLPPUI7L.mjs → chunk-DB2F6SID.mjs} +3 -3
  191. package/dist/{chunk-ECWGCKWS.mjs → chunk-DZYAOBGH.mjs} +3 -3
  192. package/dist/{chunk-57INGMKK.mjs → chunk-ECCJ42NJ.mjs} +7 -7
  193. package/dist/{chunk-7UMFQPR5.mjs → chunk-EUAUP52U.mjs} +3 -3
  194. package/dist/{chunk-EUBIQIF4.mjs → chunk-GXTF5CHJ.mjs} +3 -3
  195. package/dist/{chunk-2YHN7ZCJ.mjs → chunk-NKRBXAPF.mjs} +3 -3
  196. package/dist/{chunk-FTVOJKVA.mjs → chunk-SNG6OKEL.mjs} +3 -3
@@ -0,0 +1,2667 @@
1
+ "use client";
2
+ "use strict";
3
+
4
+ "use strict";
5
+ "use client";
6
+ var __create = Object.create;
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10
+ var __getProtoOf = Object.getPrototypeOf;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // src/components/Cards/ImageProxy.tsx
35
+ var ImageProxy_exports = {};
36
+ __export(ImageProxy_exports, {
37
+ ImageProxy: () => ImageProxy
38
+ });
39
+ module.exports = __toCommonJS(ImageProxy_exports);
40
+
41
+ // src/components/ui/dialog.tsx
42
+ var React = __toESM(require("react"));
43
+ var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
44
+ var import_lucide_react = require("lucide-react");
45
+
46
+ // src/utils/cn.ts
47
+ var import_clsx = require("clsx");
48
+
49
+ // node_modules/.pnpm/tailwind-merge@2.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
50
+ var CLASS_PART_SEPARATOR = "-";
51
+ var createClassGroupUtils = (config) => {
52
+ const classMap = createClassMap(config);
53
+ const {
54
+ conflictingClassGroups,
55
+ conflictingClassGroupModifiers
56
+ } = config;
57
+ const getClassGroupId = (className) => {
58
+ const classParts = className.split(CLASS_PART_SEPARATOR);
59
+ if (classParts[0] === "" && classParts.length !== 1) {
60
+ classParts.shift();
61
+ }
62
+ return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);
63
+ };
64
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
65
+ const conflicts = conflictingClassGroups[classGroupId] || [];
66
+ if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {
67
+ return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];
68
+ }
69
+ return conflicts;
70
+ };
71
+ return {
72
+ getClassGroupId,
73
+ getConflictingClassGroupIds
74
+ };
75
+ };
76
+ var getGroupRecursive = (classParts, classPartObject) => {
77
+ if (classParts.length === 0) {
78
+ return classPartObject.classGroupId;
79
+ }
80
+ const currentClassPart = classParts[0];
81
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
82
+ const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : void 0;
83
+ if (classGroupFromNextClassPart) {
84
+ return classGroupFromNextClassPart;
85
+ }
86
+ if (classPartObject.validators.length === 0) {
87
+ return void 0;
88
+ }
89
+ const classRest = classParts.join(CLASS_PART_SEPARATOR);
90
+ return classPartObject.validators.find(({
91
+ validator
92
+ }) => validator(classRest))?.classGroupId;
93
+ };
94
+ var arbitraryPropertyRegex = /^\[(.+)\]$/;
95
+ var getGroupIdForArbitraryProperty = (className) => {
96
+ if (arbitraryPropertyRegex.test(className)) {
97
+ const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];
98
+ const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(":"));
99
+ if (property) {
100
+ return "arbitrary.." + property;
101
+ }
102
+ }
103
+ };
104
+ var createClassMap = (config) => {
105
+ const {
106
+ theme,
107
+ prefix
108
+ } = config;
109
+ const classMap = {
110
+ nextPart: /* @__PURE__ */ new Map(),
111
+ validators: []
112
+ };
113
+ const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);
114
+ prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {
115
+ processClassesRecursively(classGroup, classMap, classGroupId, theme);
116
+ });
117
+ return classMap;
118
+ };
119
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
120
+ classGroup.forEach((classDefinition) => {
121
+ if (typeof classDefinition === "string") {
122
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
123
+ classPartObjectToEdit.classGroupId = classGroupId;
124
+ return;
125
+ }
126
+ if (typeof classDefinition === "function") {
127
+ if (isThemeGetter(classDefinition)) {
128
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
129
+ return;
130
+ }
131
+ classPartObject.validators.push({
132
+ validator: classDefinition,
133
+ classGroupId
134
+ });
135
+ return;
136
+ }
137
+ Object.entries(classDefinition).forEach(([key, classGroup2]) => {
138
+ processClassesRecursively(classGroup2, getPart(classPartObject, key), classGroupId, theme);
139
+ });
140
+ });
141
+ };
142
+ var getPart = (classPartObject, path) => {
143
+ let currentClassPartObject = classPartObject;
144
+ path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {
145
+ if (!currentClassPartObject.nextPart.has(pathPart)) {
146
+ currentClassPartObject.nextPart.set(pathPart, {
147
+ nextPart: /* @__PURE__ */ new Map(),
148
+ validators: []
149
+ });
150
+ }
151
+ currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);
152
+ });
153
+ return currentClassPartObject;
154
+ };
155
+ var isThemeGetter = (func) => func.isThemeGetter;
156
+ var getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {
157
+ if (!prefix) {
158
+ return classGroupEntries;
159
+ }
160
+ return classGroupEntries.map(([classGroupId, classGroup]) => {
161
+ const prefixedClassGroup = classGroup.map((classDefinition) => {
162
+ if (typeof classDefinition === "string") {
163
+ return prefix + classDefinition;
164
+ }
165
+ if (typeof classDefinition === "object") {
166
+ return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));
167
+ }
168
+ return classDefinition;
169
+ });
170
+ return [classGroupId, prefixedClassGroup];
171
+ });
172
+ };
173
+ var createLruCache = (maxCacheSize) => {
174
+ if (maxCacheSize < 1) {
175
+ return {
176
+ get: () => void 0,
177
+ set: () => {
178
+ }
179
+ };
180
+ }
181
+ let cacheSize = 0;
182
+ let cache = /* @__PURE__ */ new Map();
183
+ let previousCache = /* @__PURE__ */ new Map();
184
+ const update = (key, value) => {
185
+ cache.set(key, value);
186
+ cacheSize++;
187
+ if (cacheSize > maxCacheSize) {
188
+ cacheSize = 0;
189
+ previousCache = cache;
190
+ cache = /* @__PURE__ */ new Map();
191
+ }
192
+ };
193
+ return {
194
+ get(key) {
195
+ let value = cache.get(key);
196
+ if (value !== void 0) {
197
+ return value;
198
+ }
199
+ if ((value = previousCache.get(key)) !== void 0) {
200
+ update(key, value);
201
+ return value;
202
+ }
203
+ },
204
+ set(key, value) {
205
+ if (cache.has(key)) {
206
+ cache.set(key, value);
207
+ } else {
208
+ update(key, value);
209
+ }
210
+ }
211
+ };
212
+ };
213
+ var IMPORTANT_MODIFIER = "!";
214
+ var createParseClassName = (config) => {
215
+ const {
216
+ separator,
217
+ experimentalParseClassName
218
+ } = config;
219
+ const isSeparatorSingleCharacter = separator.length === 1;
220
+ const firstSeparatorCharacter = separator[0];
221
+ const separatorLength = separator.length;
222
+ const parseClassName = (className) => {
223
+ const modifiers = [];
224
+ let bracketDepth = 0;
225
+ let modifierStart = 0;
226
+ let postfixModifierPosition;
227
+ for (let index = 0; index < className.length; index++) {
228
+ let currentCharacter = className[index];
229
+ if (bracketDepth === 0) {
230
+ if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {
231
+ modifiers.push(className.slice(modifierStart, index));
232
+ modifierStart = index + separatorLength;
233
+ continue;
234
+ }
235
+ if (currentCharacter === "/") {
236
+ postfixModifierPosition = index;
237
+ continue;
238
+ }
239
+ }
240
+ if (currentCharacter === "[") {
241
+ bracketDepth++;
242
+ } else if (currentCharacter === "]") {
243
+ bracketDepth--;
244
+ }
245
+ }
246
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);
247
+ const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);
248
+ const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;
249
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : void 0;
250
+ return {
251
+ modifiers,
252
+ hasImportantModifier,
253
+ baseClassName,
254
+ maybePostfixModifierPosition
255
+ };
256
+ };
257
+ if (experimentalParseClassName) {
258
+ return (className) => experimentalParseClassName({
259
+ className,
260
+ parseClassName
261
+ });
262
+ }
263
+ return parseClassName;
264
+ };
265
+ var sortModifiers = (modifiers) => {
266
+ if (modifiers.length <= 1) {
267
+ return modifiers;
268
+ }
269
+ const sortedModifiers = [];
270
+ let unsortedModifiers = [];
271
+ modifiers.forEach((modifier) => {
272
+ const isArbitraryVariant = modifier[0] === "[";
273
+ if (isArbitraryVariant) {
274
+ sortedModifiers.push(...unsortedModifiers.sort(), modifier);
275
+ unsortedModifiers = [];
276
+ } else {
277
+ unsortedModifiers.push(modifier);
278
+ }
279
+ });
280
+ sortedModifiers.push(...unsortedModifiers.sort());
281
+ return sortedModifiers;
282
+ };
283
+ var createConfigUtils = (config) => ({
284
+ cache: createLruCache(config.cacheSize),
285
+ parseClassName: createParseClassName(config),
286
+ ...createClassGroupUtils(config)
287
+ });
288
+ var SPLIT_CLASSES_REGEX = /\s+/;
289
+ var mergeClassList = (classList, configUtils) => {
290
+ const {
291
+ parseClassName,
292
+ getClassGroupId,
293
+ getConflictingClassGroupIds
294
+ } = configUtils;
295
+ const classGroupsInConflict = [];
296
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
297
+ let result = "";
298
+ for (let index = classNames.length - 1; index >= 0; index -= 1) {
299
+ const originalClassName = classNames[index];
300
+ const {
301
+ modifiers,
302
+ hasImportantModifier,
303
+ baseClassName,
304
+ maybePostfixModifierPosition
305
+ } = parseClassName(originalClassName);
306
+ let hasPostfixModifier = Boolean(maybePostfixModifierPosition);
307
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
308
+ if (!classGroupId) {
309
+ if (!hasPostfixModifier) {
310
+ result = originalClassName + (result.length > 0 ? " " + result : result);
311
+ continue;
312
+ }
313
+ classGroupId = getClassGroupId(baseClassName);
314
+ if (!classGroupId) {
315
+ result = originalClassName + (result.length > 0 ? " " + result : result);
316
+ continue;
317
+ }
318
+ hasPostfixModifier = false;
319
+ }
320
+ const variantModifier = sortModifiers(modifiers).join(":");
321
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
322
+ const classId = modifierId + classGroupId;
323
+ if (classGroupsInConflict.includes(classId)) {
324
+ continue;
325
+ }
326
+ classGroupsInConflict.push(classId);
327
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
328
+ for (let i = 0; i < conflictGroups.length; ++i) {
329
+ const group = conflictGroups[i];
330
+ classGroupsInConflict.push(modifierId + group);
331
+ }
332
+ result = originalClassName + (result.length > 0 ? " " + result : result);
333
+ }
334
+ return result;
335
+ };
336
+ function twJoin() {
337
+ let index = 0;
338
+ let argument;
339
+ let resolvedValue;
340
+ let string = "";
341
+ while (index < arguments.length) {
342
+ if (argument = arguments[index++]) {
343
+ if (resolvedValue = toValue(argument)) {
344
+ string && (string += " ");
345
+ string += resolvedValue;
346
+ }
347
+ }
348
+ }
349
+ return string;
350
+ }
351
+ var toValue = (mix) => {
352
+ if (typeof mix === "string") {
353
+ return mix;
354
+ }
355
+ let resolvedValue;
356
+ let string = "";
357
+ for (let k = 0; k < mix.length; k++) {
358
+ if (mix[k]) {
359
+ if (resolvedValue = toValue(mix[k])) {
360
+ string && (string += " ");
361
+ string += resolvedValue;
362
+ }
363
+ }
364
+ }
365
+ return string;
366
+ };
367
+ function createTailwindMerge(createConfigFirst, ...createConfigRest) {
368
+ let configUtils;
369
+ let cacheGet;
370
+ let cacheSet;
371
+ let functionToCall = initTailwindMerge;
372
+ function initTailwindMerge(classList) {
373
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
374
+ configUtils = createConfigUtils(config);
375
+ cacheGet = configUtils.cache.get;
376
+ cacheSet = configUtils.cache.set;
377
+ functionToCall = tailwindMerge;
378
+ return tailwindMerge(classList);
379
+ }
380
+ function tailwindMerge(classList) {
381
+ const cachedResult = cacheGet(classList);
382
+ if (cachedResult) {
383
+ return cachedResult;
384
+ }
385
+ const result = mergeClassList(classList, configUtils);
386
+ cacheSet(classList, result);
387
+ return result;
388
+ }
389
+ return function callTailwindMerge() {
390
+ return functionToCall(twJoin.apply(null, arguments));
391
+ };
392
+ }
393
+ var fromTheme = (key) => {
394
+ const themeGetter = (theme) => theme[key] || [];
395
+ themeGetter.isThemeGetter = true;
396
+ return themeGetter;
397
+ };
398
+ var arbitraryValueRegex = /^\[(?:([a-z-]+):)?(.+)\]$/i;
399
+ var fractionRegex = /^\d+\/\d+$/;
400
+ var stringLengths = /* @__PURE__ */ new Set(["px", "full", "screen"]);
401
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
402
+ 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$/;
403
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
404
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
405
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
406
+ var isLength = (value) => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);
407
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, "length", isLengthOnly);
408
+ var isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
409
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, "number", isNumber);
410
+ var isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
411
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
412
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
413
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
414
+ var sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
415
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, sizeLabels, isNever);
416
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, "position", isNever);
417
+ var imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
418
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, imageLabels, isImage);
419
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, "", isShadow);
420
+ var isAny = () => true;
421
+ var getIsArbitraryValue = (value, label, testValue) => {
422
+ const result = arbitraryValueRegex.exec(value);
423
+ if (result) {
424
+ if (result[1]) {
425
+ return typeof label === "string" ? result[1] === label : label.has(result[1]);
426
+ }
427
+ return testValue(result[2]);
428
+ }
429
+ return false;
430
+ };
431
+ var isLengthOnly = (value) => (
432
+ // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
433
+ // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
434
+ // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
435
+ lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)
436
+ );
437
+ var isNever = () => false;
438
+ var isShadow = (value) => shadowRegex.test(value);
439
+ var isImage = (value) => imageRegex.test(value);
440
+ var getDefaultConfig = () => {
441
+ const colors = fromTheme("colors");
442
+ const spacing = fromTheme("spacing");
443
+ const blur = fromTheme("blur");
444
+ const brightness = fromTheme("brightness");
445
+ const borderColor = fromTheme("borderColor");
446
+ const borderRadius = fromTheme("borderRadius");
447
+ const borderSpacing = fromTheme("borderSpacing");
448
+ const borderWidth = fromTheme("borderWidth");
449
+ const contrast = fromTheme("contrast");
450
+ const grayscale = fromTheme("grayscale");
451
+ const hueRotate = fromTheme("hueRotate");
452
+ const invert = fromTheme("invert");
453
+ const gap = fromTheme("gap");
454
+ const gradientColorStops = fromTheme("gradientColorStops");
455
+ const gradientColorStopPositions = fromTheme("gradientColorStopPositions");
456
+ const inset = fromTheme("inset");
457
+ const margin = fromTheme("margin");
458
+ const opacity = fromTheme("opacity");
459
+ const padding = fromTheme("padding");
460
+ const saturate = fromTheme("saturate");
461
+ const scale = fromTheme("scale");
462
+ const sepia = fromTheme("sepia");
463
+ const skew = fromTheme("skew");
464
+ const space = fromTheme("space");
465
+ const translate = fromTheme("translate");
466
+ const getOverscroll = () => ["auto", "contain", "none"];
467
+ const getOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
468
+ const getSpacingWithAutoAndArbitrary = () => ["auto", isArbitraryValue, spacing];
469
+ const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];
470
+ const getLengthWithEmptyAndArbitrary = () => ["", isLength, isArbitraryLength];
471
+ const getNumberWithAutoAndArbitrary = () => ["auto", isNumber, isArbitraryValue];
472
+ const getPositions = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
473
+ const getLineStyles = () => ["solid", "dashed", "dotted", "double", "none"];
474
+ const getBlendModes = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
475
+ const getAlign = () => ["start", "end", "center", "between", "around", "evenly", "stretch"];
476
+ const getZeroAndEmpty = () => ["", "0", isArbitraryValue];
477
+ const getBreaks = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
478
+ const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];
479
+ return {
480
+ cacheSize: 500,
481
+ separator: ":",
482
+ theme: {
483
+ colors: [isAny],
484
+ spacing: [isLength, isArbitraryLength],
485
+ blur: ["none", "", isTshirtSize, isArbitraryValue],
486
+ brightness: getNumberAndArbitrary(),
487
+ borderColor: [colors],
488
+ borderRadius: ["none", "", "full", isTshirtSize, isArbitraryValue],
489
+ borderSpacing: getSpacingWithArbitrary(),
490
+ borderWidth: getLengthWithEmptyAndArbitrary(),
491
+ contrast: getNumberAndArbitrary(),
492
+ grayscale: getZeroAndEmpty(),
493
+ hueRotate: getNumberAndArbitrary(),
494
+ invert: getZeroAndEmpty(),
495
+ gap: getSpacingWithArbitrary(),
496
+ gradientColorStops: [colors],
497
+ gradientColorStopPositions: [isPercent, isArbitraryLength],
498
+ inset: getSpacingWithAutoAndArbitrary(),
499
+ margin: getSpacingWithAutoAndArbitrary(),
500
+ opacity: getNumberAndArbitrary(),
501
+ padding: getSpacingWithArbitrary(),
502
+ saturate: getNumberAndArbitrary(),
503
+ scale: getNumberAndArbitrary(),
504
+ sepia: getZeroAndEmpty(),
505
+ skew: getNumberAndArbitrary(),
506
+ space: getSpacingWithArbitrary(),
507
+ translate: getSpacingWithArbitrary()
508
+ },
509
+ classGroups: {
510
+ // Layout
511
+ /**
512
+ * Aspect Ratio
513
+ * @see https://tailwindcss.com/docs/aspect-ratio
514
+ */
515
+ aspect: [{
516
+ aspect: ["auto", "square", "video", isArbitraryValue]
517
+ }],
518
+ /**
519
+ * Container
520
+ * @see https://tailwindcss.com/docs/container
521
+ */
522
+ container: ["container"],
523
+ /**
524
+ * Columns
525
+ * @see https://tailwindcss.com/docs/columns
526
+ */
527
+ columns: [{
528
+ columns: [isTshirtSize]
529
+ }],
530
+ /**
531
+ * Break After
532
+ * @see https://tailwindcss.com/docs/break-after
533
+ */
534
+ "break-after": [{
535
+ "break-after": getBreaks()
536
+ }],
537
+ /**
538
+ * Break Before
539
+ * @see https://tailwindcss.com/docs/break-before
540
+ */
541
+ "break-before": [{
542
+ "break-before": getBreaks()
543
+ }],
544
+ /**
545
+ * Break Inside
546
+ * @see https://tailwindcss.com/docs/break-inside
547
+ */
548
+ "break-inside": [{
549
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
550
+ }],
551
+ /**
552
+ * Box Decoration Break
553
+ * @see https://tailwindcss.com/docs/box-decoration-break
554
+ */
555
+ "box-decoration": [{
556
+ "box-decoration": ["slice", "clone"]
557
+ }],
558
+ /**
559
+ * Box Sizing
560
+ * @see https://tailwindcss.com/docs/box-sizing
561
+ */
562
+ box: [{
563
+ box: ["border", "content"]
564
+ }],
565
+ /**
566
+ * Display
567
+ * @see https://tailwindcss.com/docs/display
568
+ */
569
+ display: ["block", "inline-block", "inline", "flex", "inline-flex", "table", "inline-table", "table-caption", "table-cell", "table-column", "table-column-group", "table-footer-group", "table-header-group", "table-row-group", "table-row", "flow-root", "grid", "inline-grid", "contents", "list-item", "hidden"],
570
+ /**
571
+ * Floats
572
+ * @see https://tailwindcss.com/docs/float
573
+ */
574
+ float: [{
575
+ float: ["right", "left", "none", "start", "end"]
576
+ }],
577
+ /**
578
+ * Clear
579
+ * @see https://tailwindcss.com/docs/clear
580
+ */
581
+ clear: [{
582
+ clear: ["left", "right", "both", "none", "start", "end"]
583
+ }],
584
+ /**
585
+ * Isolation
586
+ * @see https://tailwindcss.com/docs/isolation
587
+ */
588
+ isolation: ["isolate", "isolation-auto"],
589
+ /**
590
+ * Object Fit
591
+ * @see https://tailwindcss.com/docs/object-fit
592
+ */
593
+ "object-fit": [{
594
+ object: ["contain", "cover", "fill", "none", "scale-down"]
595
+ }],
596
+ /**
597
+ * Object Position
598
+ * @see https://tailwindcss.com/docs/object-position
599
+ */
600
+ "object-position": [{
601
+ object: [...getPositions(), isArbitraryValue]
602
+ }],
603
+ /**
604
+ * Overflow
605
+ * @see https://tailwindcss.com/docs/overflow
606
+ */
607
+ overflow: [{
608
+ overflow: getOverflow()
609
+ }],
610
+ /**
611
+ * Overflow X
612
+ * @see https://tailwindcss.com/docs/overflow
613
+ */
614
+ "overflow-x": [{
615
+ "overflow-x": getOverflow()
616
+ }],
617
+ /**
618
+ * Overflow Y
619
+ * @see https://tailwindcss.com/docs/overflow
620
+ */
621
+ "overflow-y": [{
622
+ "overflow-y": getOverflow()
623
+ }],
624
+ /**
625
+ * Overscroll Behavior
626
+ * @see https://tailwindcss.com/docs/overscroll-behavior
627
+ */
628
+ overscroll: [{
629
+ overscroll: getOverscroll()
630
+ }],
631
+ /**
632
+ * Overscroll Behavior X
633
+ * @see https://tailwindcss.com/docs/overscroll-behavior
634
+ */
635
+ "overscroll-x": [{
636
+ "overscroll-x": getOverscroll()
637
+ }],
638
+ /**
639
+ * Overscroll Behavior Y
640
+ * @see https://tailwindcss.com/docs/overscroll-behavior
641
+ */
642
+ "overscroll-y": [{
643
+ "overscroll-y": getOverscroll()
644
+ }],
645
+ /**
646
+ * Position
647
+ * @see https://tailwindcss.com/docs/position
648
+ */
649
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
650
+ /**
651
+ * Top / Right / Bottom / Left
652
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
653
+ */
654
+ inset: [{
655
+ inset: [inset]
656
+ }],
657
+ /**
658
+ * Right / Left
659
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
660
+ */
661
+ "inset-x": [{
662
+ "inset-x": [inset]
663
+ }],
664
+ /**
665
+ * Top / Bottom
666
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
667
+ */
668
+ "inset-y": [{
669
+ "inset-y": [inset]
670
+ }],
671
+ /**
672
+ * Start
673
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
674
+ */
675
+ start: [{
676
+ start: [inset]
677
+ }],
678
+ /**
679
+ * End
680
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
681
+ */
682
+ end: [{
683
+ end: [inset]
684
+ }],
685
+ /**
686
+ * Top
687
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
688
+ */
689
+ top: [{
690
+ top: [inset]
691
+ }],
692
+ /**
693
+ * Right
694
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
695
+ */
696
+ right: [{
697
+ right: [inset]
698
+ }],
699
+ /**
700
+ * Bottom
701
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
702
+ */
703
+ bottom: [{
704
+ bottom: [inset]
705
+ }],
706
+ /**
707
+ * Left
708
+ * @see https://tailwindcss.com/docs/top-right-bottom-left
709
+ */
710
+ left: [{
711
+ left: [inset]
712
+ }],
713
+ /**
714
+ * Visibility
715
+ * @see https://tailwindcss.com/docs/visibility
716
+ */
717
+ visibility: ["visible", "invisible", "collapse"],
718
+ /**
719
+ * Z-Index
720
+ * @see https://tailwindcss.com/docs/z-index
721
+ */
722
+ z: [{
723
+ z: ["auto", isInteger, isArbitraryValue]
724
+ }],
725
+ // Flexbox and Grid
726
+ /**
727
+ * Flex Basis
728
+ * @see https://tailwindcss.com/docs/flex-basis
729
+ */
730
+ basis: [{
731
+ basis: getSpacingWithAutoAndArbitrary()
732
+ }],
733
+ /**
734
+ * Flex Direction
735
+ * @see https://tailwindcss.com/docs/flex-direction
736
+ */
737
+ "flex-direction": [{
738
+ flex: ["row", "row-reverse", "col", "col-reverse"]
739
+ }],
740
+ /**
741
+ * Flex Wrap
742
+ * @see https://tailwindcss.com/docs/flex-wrap
743
+ */
744
+ "flex-wrap": [{
745
+ flex: ["wrap", "wrap-reverse", "nowrap"]
746
+ }],
747
+ /**
748
+ * Flex
749
+ * @see https://tailwindcss.com/docs/flex
750
+ */
751
+ flex: [{
752
+ flex: ["1", "auto", "initial", "none", isArbitraryValue]
753
+ }],
754
+ /**
755
+ * Flex Grow
756
+ * @see https://tailwindcss.com/docs/flex-grow
757
+ */
758
+ grow: [{
759
+ grow: getZeroAndEmpty()
760
+ }],
761
+ /**
762
+ * Flex Shrink
763
+ * @see https://tailwindcss.com/docs/flex-shrink
764
+ */
765
+ shrink: [{
766
+ shrink: getZeroAndEmpty()
767
+ }],
768
+ /**
769
+ * Order
770
+ * @see https://tailwindcss.com/docs/order
771
+ */
772
+ order: [{
773
+ order: ["first", "last", "none", isInteger, isArbitraryValue]
774
+ }],
775
+ /**
776
+ * Grid Template Columns
777
+ * @see https://tailwindcss.com/docs/grid-template-columns
778
+ */
779
+ "grid-cols": [{
780
+ "grid-cols": [isAny]
781
+ }],
782
+ /**
783
+ * Grid Column Start / End
784
+ * @see https://tailwindcss.com/docs/grid-column
785
+ */
786
+ "col-start-end": [{
787
+ col: ["auto", {
788
+ span: ["full", isInteger, isArbitraryValue]
789
+ }, isArbitraryValue]
790
+ }],
791
+ /**
792
+ * Grid Column Start
793
+ * @see https://tailwindcss.com/docs/grid-column
794
+ */
795
+ "col-start": [{
796
+ "col-start": getNumberWithAutoAndArbitrary()
797
+ }],
798
+ /**
799
+ * Grid Column End
800
+ * @see https://tailwindcss.com/docs/grid-column
801
+ */
802
+ "col-end": [{
803
+ "col-end": getNumberWithAutoAndArbitrary()
804
+ }],
805
+ /**
806
+ * Grid Template Rows
807
+ * @see https://tailwindcss.com/docs/grid-template-rows
808
+ */
809
+ "grid-rows": [{
810
+ "grid-rows": [isAny]
811
+ }],
812
+ /**
813
+ * Grid Row Start / End
814
+ * @see https://tailwindcss.com/docs/grid-row
815
+ */
816
+ "row-start-end": [{
817
+ row: ["auto", {
818
+ span: [isInteger, isArbitraryValue]
819
+ }, isArbitraryValue]
820
+ }],
821
+ /**
822
+ * Grid Row Start
823
+ * @see https://tailwindcss.com/docs/grid-row
824
+ */
825
+ "row-start": [{
826
+ "row-start": getNumberWithAutoAndArbitrary()
827
+ }],
828
+ /**
829
+ * Grid Row End
830
+ * @see https://tailwindcss.com/docs/grid-row
831
+ */
832
+ "row-end": [{
833
+ "row-end": getNumberWithAutoAndArbitrary()
834
+ }],
835
+ /**
836
+ * Grid Auto Flow
837
+ * @see https://tailwindcss.com/docs/grid-auto-flow
838
+ */
839
+ "grid-flow": [{
840
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
841
+ }],
842
+ /**
843
+ * Grid Auto Columns
844
+ * @see https://tailwindcss.com/docs/grid-auto-columns
845
+ */
846
+ "auto-cols": [{
847
+ "auto-cols": ["auto", "min", "max", "fr", isArbitraryValue]
848
+ }],
849
+ /**
850
+ * Grid Auto Rows
851
+ * @see https://tailwindcss.com/docs/grid-auto-rows
852
+ */
853
+ "auto-rows": [{
854
+ "auto-rows": ["auto", "min", "max", "fr", isArbitraryValue]
855
+ }],
856
+ /**
857
+ * Gap
858
+ * @see https://tailwindcss.com/docs/gap
859
+ */
860
+ gap: [{
861
+ gap: [gap]
862
+ }],
863
+ /**
864
+ * Gap X
865
+ * @see https://tailwindcss.com/docs/gap
866
+ */
867
+ "gap-x": [{
868
+ "gap-x": [gap]
869
+ }],
870
+ /**
871
+ * Gap Y
872
+ * @see https://tailwindcss.com/docs/gap
873
+ */
874
+ "gap-y": [{
875
+ "gap-y": [gap]
876
+ }],
877
+ /**
878
+ * Justify Content
879
+ * @see https://tailwindcss.com/docs/justify-content
880
+ */
881
+ "justify-content": [{
882
+ justify: ["normal", ...getAlign()]
883
+ }],
884
+ /**
885
+ * Justify Items
886
+ * @see https://tailwindcss.com/docs/justify-items
887
+ */
888
+ "justify-items": [{
889
+ "justify-items": ["start", "end", "center", "stretch"]
890
+ }],
891
+ /**
892
+ * Justify Self
893
+ * @see https://tailwindcss.com/docs/justify-self
894
+ */
895
+ "justify-self": [{
896
+ "justify-self": ["auto", "start", "end", "center", "stretch"]
897
+ }],
898
+ /**
899
+ * Align Content
900
+ * @see https://tailwindcss.com/docs/align-content
901
+ */
902
+ "align-content": [{
903
+ content: ["normal", ...getAlign(), "baseline"]
904
+ }],
905
+ /**
906
+ * Align Items
907
+ * @see https://tailwindcss.com/docs/align-items
908
+ */
909
+ "align-items": [{
910
+ items: ["start", "end", "center", "baseline", "stretch"]
911
+ }],
912
+ /**
913
+ * Align Self
914
+ * @see https://tailwindcss.com/docs/align-self
915
+ */
916
+ "align-self": [{
917
+ self: ["auto", "start", "end", "center", "stretch", "baseline"]
918
+ }],
919
+ /**
920
+ * Place Content
921
+ * @see https://tailwindcss.com/docs/place-content
922
+ */
923
+ "place-content": [{
924
+ "place-content": [...getAlign(), "baseline"]
925
+ }],
926
+ /**
927
+ * Place Items
928
+ * @see https://tailwindcss.com/docs/place-items
929
+ */
930
+ "place-items": [{
931
+ "place-items": ["start", "end", "center", "baseline", "stretch"]
932
+ }],
933
+ /**
934
+ * Place Self
935
+ * @see https://tailwindcss.com/docs/place-self
936
+ */
937
+ "place-self": [{
938
+ "place-self": ["auto", "start", "end", "center", "stretch"]
939
+ }],
940
+ // Spacing
941
+ /**
942
+ * Padding
943
+ * @see https://tailwindcss.com/docs/padding
944
+ */
945
+ p: [{
946
+ p: [padding]
947
+ }],
948
+ /**
949
+ * Padding X
950
+ * @see https://tailwindcss.com/docs/padding
951
+ */
952
+ px: [{
953
+ px: [padding]
954
+ }],
955
+ /**
956
+ * Padding Y
957
+ * @see https://tailwindcss.com/docs/padding
958
+ */
959
+ py: [{
960
+ py: [padding]
961
+ }],
962
+ /**
963
+ * Padding Start
964
+ * @see https://tailwindcss.com/docs/padding
965
+ */
966
+ ps: [{
967
+ ps: [padding]
968
+ }],
969
+ /**
970
+ * Padding End
971
+ * @see https://tailwindcss.com/docs/padding
972
+ */
973
+ pe: [{
974
+ pe: [padding]
975
+ }],
976
+ /**
977
+ * Padding Top
978
+ * @see https://tailwindcss.com/docs/padding
979
+ */
980
+ pt: [{
981
+ pt: [padding]
982
+ }],
983
+ /**
984
+ * Padding Right
985
+ * @see https://tailwindcss.com/docs/padding
986
+ */
987
+ pr: [{
988
+ pr: [padding]
989
+ }],
990
+ /**
991
+ * Padding Bottom
992
+ * @see https://tailwindcss.com/docs/padding
993
+ */
994
+ pb: [{
995
+ pb: [padding]
996
+ }],
997
+ /**
998
+ * Padding Left
999
+ * @see https://tailwindcss.com/docs/padding
1000
+ */
1001
+ pl: [{
1002
+ pl: [padding]
1003
+ }],
1004
+ /**
1005
+ * Margin
1006
+ * @see https://tailwindcss.com/docs/margin
1007
+ */
1008
+ m: [{
1009
+ m: [margin]
1010
+ }],
1011
+ /**
1012
+ * Margin X
1013
+ * @see https://tailwindcss.com/docs/margin
1014
+ */
1015
+ mx: [{
1016
+ mx: [margin]
1017
+ }],
1018
+ /**
1019
+ * Margin Y
1020
+ * @see https://tailwindcss.com/docs/margin
1021
+ */
1022
+ my: [{
1023
+ my: [margin]
1024
+ }],
1025
+ /**
1026
+ * Margin Start
1027
+ * @see https://tailwindcss.com/docs/margin
1028
+ */
1029
+ ms: [{
1030
+ ms: [margin]
1031
+ }],
1032
+ /**
1033
+ * Margin End
1034
+ * @see https://tailwindcss.com/docs/margin
1035
+ */
1036
+ me: [{
1037
+ me: [margin]
1038
+ }],
1039
+ /**
1040
+ * Margin Top
1041
+ * @see https://tailwindcss.com/docs/margin
1042
+ */
1043
+ mt: [{
1044
+ mt: [margin]
1045
+ }],
1046
+ /**
1047
+ * Margin Right
1048
+ * @see https://tailwindcss.com/docs/margin
1049
+ */
1050
+ mr: [{
1051
+ mr: [margin]
1052
+ }],
1053
+ /**
1054
+ * Margin Bottom
1055
+ * @see https://tailwindcss.com/docs/margin
1056
+ */
1057
+ mb: [{
1058
+ mb: [margin]
1059
+ }],
1060
+ /**
1061
+ * Margin Left
1062
+ * @see https://tailwindcss.com/docs/margin
1063
+ */
1064
+ ml: [{
1065
+ ml: [margin]
1066
+ }],
1067
+ /**
1068
+ * Space Between X
1069
+ * @see https://tailwindcss.com/docs/space
1070
+ */
1071
+ "space-x": [{
1072
+ "space-x": [space]
1073
+ }],
1074
+ /**
1075
+ * Space Between X Reverse
1076
+ * @see https://tailwindcss.com/docs/space
1077
+ */
1078
+ "space-x-reverse": ["space-x-reverse"],
1079
+ /**
1080
+ * Space Between Y
1081
+ * @see https://tailwindcss.com/docs/space
1082
+ */
1083
+ "space-y": [{
1084
+ "space-y": [space]
1085
+ }],
1086
+ /**
1087
+ * Space Between Y Reverse
1088
+ * @see https://tailwindcss.com/docs/space
1089
+ */
1090
+ "space-y-reverse": ["space-y-reverse"],
1091
+ // Sizing
1092
+ /**
1093
+ * Width
1094
+ * @see https://tailwindcss.com/docs/width
1095
+ */
1096
+ w: [{
1097
+ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", isArbitraryValue, spacing]
1098
+ }],
1099
+ /**
1100
+ * Min-Width
1101
+ * @see https://tailwindcss.com/docs/min-width
1102
+ */
1103
+ "min-w": [{
1104
+ "min-w": [isArbitraryValue, spacing, "min", "max", "fit"]
1105
+ }],
1106
+ /**
1107
+ * Max-Width
1108
+ * @see https://tailwindcss.com/docs/max-width
1109
+ */
1110
+ "max-w": [{
1111
+ "max-w": [isArbitraryValue, spacing, "none", "full", "min", "max", "fit", "prose", {
1112
+ screen: [isTshirtSize]
1113
+ }, isTshirtSize]
1114
+ }],
1115
+ /**
1116
+ * Height
1117
+ * @see https://tailwindcss.com/docs/height
1118
+ */
1119
+ h: [{
1120
+ h: [isArbitraryValue, spacing, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
1121
+ }],
1122
+ /**
1123
+ * Min-Height
1124
+ * @see https://tailwindcss.com/docs/min-height
1125
+ */
1126
+ "min-h": [{
1127
+ "min-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1128
+ }],
1129
+ /**
1130
+ * Max-Height
1131
+ * @see https://tailwindcss.com/docs/max-height
1132
+ */
1133
+ "max-h": [{
1134
+ "max-h": [isArbitraryValue, spacing, "min", "max", "fit", "svh", "lvh", "dvh"]
1135
+ }],
1136
+ /**
1137
+ * Size
1138
+ * @see https://tailwindcss.com/docs/size
1139
+ */
1140
+ size: [{
1141
+ size: [isArbitraryValue, spacing, "auto", "min", "max", "fit"]
1142
+ }],
1143
+ // Typography
1144
+ /**
1145
+ * Font Size
1146
+ * @see https://tailwindcss.com/docs/font-size
1147
+ */
1148
+ "font-size": [{
1149
+ text: ["base", isTshirtSize, isArbitraryLength]
1150
+ }],
1151
+ /**
1152
+ * Font Smoothing
1153
+ * @see https://tailwindcss.com/docs/font-smoothing
1154
+ */
1155
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
1156
+ /**
1157
+ * Font Style
1158
+ * @see https://tailwindcss.com/docs/font-style
1159
+ */
1160
+ "font-style": ["italic", "not-italic"],
1161
+ /**
1162
+ * Font Weight
1163
+ * @see https://tailwindcss.com/docs/font-weight
1164
+ */
1165
+ "font-weight": [{
1166
+ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", isArbitraryNumber]
1167
+ }],
1168
+ /**
1169
+ * Font Family
1170
+ * @see https://tailwindcss.com/docs/font-family
1171
+ */
1172
+ "font-family": [{
1173
+ font: [isAny]
1174
+ }],
1175
+ /**
1176
+ * Font Variant Numeric
1177
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1178
+ */
1179
+ "fvn-normal": ["normal-nums"],
1180
+ /**
1181
+ * Font Variant Numeric
1182
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1183
+ */
1184
+ "fvn-ordinal": ["ordinal"],
1185
+ /**
1186
+ * Font Variant Numeric
1187
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1188
+ */
1189
+ "fvn-slashed-zero": ["slashed-zero"],
1190
+ /**
1191
+ * Font Variant Numeric
1192
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1193
+ */
1194
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
1195
+ /**
1196
+ * Font Variant Numeric
1197
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1198
+ */
1199
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
1200
+ /**
1201
+ * Font Variant Numeric
1202
+ * @see https://tailwindcss.com/docs/font-variant-numeric
1203
+ */
1204
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
1205
+ /**
1206
+ * Letter Spacing
1207
+ * @see https://tailwindcss.com/docs/letter-spacing
1208
+ */
1209
+ tracking: [{
1210
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", isArbitraryValue]
1211
+ }],
1212
+ /**
1213
+ * Line Clamp
1214
+ * @see https://tailwindcss.com/docs/line-clamp
1215
+ */
1216
+ "line-clamp": [{
1217
+ "line-clamp": ["none", isNumber, isArbitraryNumber]
1218
+ }],
1219
+ /**
1220
+ * Line Height
1221
+ * @see https://tailwindcss.com/docs/line-height
1222
+ */
1223
+ leading: [{
1224
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", isLength, isArbitraryValue]
1225
+ }],
1226
+ /**
1227
+ * List Style Image
1228
+ * @see https://tailwindcss.com/docs/list-style-image
1229
+ */
1230
+ "list-image": [{
1231
+ "list-image": ["none", isArbitraryValue]
1232
+ }],
1233
+ /**
1234
+ * List Style Type
1235
+ * @see https://tailwindcss.com/docs/list-style-type
1236
+ */
1237
+ "list-style-type": [{
1238
+ list: ["none", "disc", "decimal", isArbitraryValue]
1239
+ }],
1240
+ /**
1241
+ * List Style Position
1242
+ * @see https://tailwindcss.com/docs/list-style-position
1243
+ */
1244
+ "list-style-position": [{
1245
+ list: ["inside", "outside"]
1246
+ }],
1247
+ /**
1248
+ * Placeholder Color
1249
+ * @deprecated since Tailwind CSS v3.0.0
1250
+ * @see https://tailwindcss.com/docs/placeholder-color
1251
+ */
1252
+ "placeholder-color": [{
1253
+ placeholder: [colors]
1254
+ }],
1255
+ /**
1256
+ * Placeholder Opacity
1257
+ * @see https://tailwindcss.com/docs/placeholder-opacity
1258
+ */
1259
+ "placeholder-opacity": [{
1260
+ "placeholder-opacity": [opacity]
1261
+ }],
1262
+ /**
1263
+ * Text Alignment
1264
+ * @see https://tailwindcss.com/docs/text-align
1265
+ */
1266
+ "text-alignment": [{
1267
+ text: ["left", "center", "right", "justify", "start", "end"]
1268
+ }],
1269
+ /**
1270
+ * Text Color
1271
+ * @see https://tailwindcss.com/docs/text-color
1272
+ */
1273
+ "text-color": [{
1274
+ text: [colors]
1275
+ }],
1276
+ /**
1277
+ * Text Opacity
1278
+ * @see https://tailwindcss.com/docs/text-opacity
1279
+ */
1280
+ "text-opacity": [{
1281
+ "text-opacity": [opacity]
1282
+ }],
1283
+ /**
1284
+ * Text Decoration
1285
+ * @see https://tailwindcss.com/docs/text-decoration
1286
+ */
1287
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
1288
+ /**
1289
+ * Text Decoration Style
1290
+ * @see https://tailwindcss.com/docs/text-decoration-style
1291
+ */
1292
+ "text-decoration-style": [{
1293
+ decoration: [...getLineStyles(), "wavy"]
1294
+ }],
1295
+ /**
1296
+ * Text Decoration Thickness
1297
+ * @see https://tailwindcss.com/docs/text-decoration-thickness
1298
+ */
1299
+ "text-decoration-thickness": [{
1300
+ decoration: ["auto", "from-font", isLength, isArbitraryLength]
1301
+ }],
1302
+ /**
1303
+ * Text Underline Offset
1304
+ * @see https://tailwindcss.com/docs/text-underline-offset
1305
+ */
1306
+ "underline-offset": [{
1307
+ "underline-offset": ["auto", isLength, isArbitraryValue]
1308
+ }],
1309
+ /**
1310
+ * Text Decoration Color
1311
+ * @see https://tailwindcss.com/docs/text-decoration-color
1312
+ */
1313
+ "text-decoration-color": [{
1314
+ decoration: [colors]
1315
+ }],
1316
+ /**
1317
+ * Text Transform
1318
+ * @see https://tailwindcss.com/docs/text-transform
1319
+ */
1320
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1321
+ /**
1322
+ * Text Overflow
1323
+ * @see https://tailwindcss.com/docs/text-overflow
1324
+ */
1325
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1326
+ /**
1327
+ * Text Wrap
1328
+ * @see https://tailwindcss.com/docs/text-wrap
1329
+ */
1330
+ "text-wrap": [{
1331
+ text: ["wrap", "nowrap", "balance", "pretty"]
1332
+ }],
1333
+ /**
1334
+ * Text Indent
1335
+ * @see https://tailwindcss.com/docs/text-indent
1336
+ */
1337
+ indent: [{
1338
+ indent: getSpacingWithArbitrary()
1339
+ }],
1340
+ /**
1341
+ * Vertical Alignment
1342
+ * @see https://tailwindcss.com/docs/vertical-align
1343
+ */
1344
+ "vertical-align": [{
1345
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryValue]
1346
+ }],
1347
+ /**
1348
+ * Whitespace
1349
+ * @see https://tailwindcss.com/docs/whitespace
1350
+ */
1351
+ whitespace: [{
1352
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1353
+ }],
1354
+ /**
1355
+ * Word Break
1356
+ * @see https://tailwindcss.com/docs/word-break
1357
+ */
1358
+ break: [{
1359
+ break: ["normal", "words", "all", "keep"]
1360
+ }],
1361
+ /**
1362
+ * Hyphens
1363
+ * @see https://tailwindcss.com/docs/hyphens
1364
+ */
1365
+ hyphens: [{
1366
+ hyphens: ["none", "manual", "auto"]
1367
+ }],
1368
+ /**
1369
+ * Content
1370
+ * @see https://tailwindcss.com/docs/content
1371
+ */
1372
+ content: [{
1373
+ content: ["none", isArbitraryValue]
1374
+ }],
1375
+ // Backgrounds
1376
+ /**
1377
+ * Background Attachment
1378
+ * @see https://tailwindcss.com/docs/background-attachment
1379
+ */
1380
+ "bg-attachment": [{
1381
+ bg: ["fixed", "local", "scroll"]
1382
+ }],
1383
+ /**
1384
+ * Background Clip
1385
+ * @see https://tailwindcss.com/docs/background-clip
1386
+ */
1387
+ "bg-clip": [{
1388
+ "bg-clip": ["border", "padding", "content", "text"]
1389
+ }],
1390
+ /**
1391
+ * Background Opacity
1392
+ * @deprecated since Tailwind CSS v3.0.0
1393
+ * @see https://tailwindcss.com/docs/background-opacity
1394
+ */
1395
+ "bg-opacity": [{
1396
+ "bg-opacity": [opacity]
1397
+ }],
1398
+ /**
1399
+ * Background Origin
1400
+ * @see https://tailwindcss.com/docs/background-origin
1401
+ */
1402
+ "bg-origin": [{
1403
+ "bg-origin": ["border", "padding", "content"]
1404
+ }],
1405
+ /**
1406
+ * Background Position
1407
+ * @see https://tailwindcss.com/docs/background-position
1408
+ */
1409
+ "bg-position": [{
1410
+ bg: [...getPositions(), isArbitraryPosition]
1411
+ }],
1412
+ /**
1413
+ * Background Repeat
1414
+ * @see https://tailwindcss.com/docs/background-repeat
1415
+ */
1416
+ "bg-repeat": [{
1417
+ bg: ["no-repeat", {
1418
+ repeat: ["", "x", "y", "round", "space"]
1419
+ }]
1420
+ }],
1421
+ /**
1422
+ * Background Size
1423
+ * @see https://tailwindcss.com/docs/background-size
1424
+ */
1425
+ "bg-size": [{
1426
+ bg: ["auto", "cover", "contain", isArbitrarySize]
1427
+ }],
1428
+ /**
1429
+ * Background Image
1430
+ * @see https://tailwindcss.com/docs/background-image
1431
+ */
1432
+ "bg-image": [{
1433
+ bg: ["none", {
1434
+ "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1435
+ }, isArbitraryImage]
1436
+ }],
1437
+ /**
1438
+ * Background Color
1439
+ * @see https://tailwindcss.com/docs/background-color
1440
+ */
1441
+ "bg-color": [{
1442
+ bg: [colors]
1443
+ }],
1444
+ /**
1445
+ * Gradient Color Stops From Position
1446
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1447
+ */
1448
+ "gradient-from-pos": [{
1449
+ from: [gradientColorStopPositions]
1450
+ }],
1451
+ /**
1452
+ * Gradient Color Stops Via Position
1453
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1454
+ */
1455
+ "gradient-via-pos": [{
1456
+ via: [gradientColorStopPositions]
1457
+ }],
1458
+ /**
1459
+ * Gradient Color Stops To Position
1460
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1461
+ */
1462
+ "gradient-to-pos": [{
1463
+ to: [gradientColorStopPositions]
1464
+ }],
1465
+ /**
1466
+ * Gradient Color Stops From
1467
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1468
+ */
1469
+ "gradient-from": [{
1470
+ from: [gradientColorStops]
1471
+ }],
1472
+ /**
1473
+ * Gradient Color Stops Via
1474
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1475
+ */
1476
+ "gradient-via": [{
1477
+ via: [gradientColorStops]
1478
+ }],
1479
+ /**
1480
+ * Gradient Color Stops To
1481
+ * @see https://tailwindcss.com/docs/gradient-color-stops
1482
+ */
1483
+ "gradient-to": [{
1484
+ to: [gradientColorStops]
1485
+ }],
1486
+ // Borders
1487
+ /**
1488
+ * Border Radius
1489
+ * @see https://tailwindcss.com/docs/border-radius
1490
+ */
1491
+ rounded: [{
1492
+ rounded: [borderRadius]
1493
+ }],
1494
+ /**
1495
+ * Border Radius Start
1496
+ * @see https://tailwindcss.com/docs/border-radius
1497
+ */
1498
+ "rounded-s": [{
1499
+ "rounded-s": [borderRadius]
1500
+ }],
1501
+ /**
1502
+ * Border Radius End
1503
+ * @see https://tailwindcss.com/docs/border-radius
1504
+ */
1505
+ "rounded-e": [{
1506
+ "rounded-e": [borderRadius]
1507
+ }],
1508
+ /**
1509
+ * Border Radius Top
1510
+ * @see https://tailwindcss.com/docs/border-radius
1511
+ */
1512
+ "rounded-t": [{
1513
+ "rounded-t": [borderRadius]
1514
+ }],
1515
+ /**
1516
+ * Border Radius Right
1517
+ * @see https://tailwindcss.com/docs/border-radius
1518
+ */
1519
+ "rounded-r": [{
1520
+ "rounded-r": [borderRadius]
1521
+ }],
1522
+ /**
1523
+ * Border Radius Bottom
1524
+ * @see https://tailwindcss.com/docs/border-radius
1525
+ */
1526
+ "rounded-b": [{
1527
+ "rounded-b": [borderRadius]
1528
+ }],
1529
+ /**
1530
+ * Border Radius Left
1531
+ * @see https://tailwindcss.com/docs/border-radius
1532
+ */
1533
+ "rounded-l": [{
1534
+ "rounded-l": [borderRadius]
1535
+ }],
1536
+ /**
1537
+ * Border Radius Start Start
1538
+ * @see https://tailwindcss.com/docs/border-radius
1539
+ */
1540
+ "rounded-ss": [{
1541
+ "rounded-ss": [borderRadius]
1542
+ }],
1543
+ /**
1544
+ * Border Radius Start End
1545
+ * @see https://tailwindcss.com/docs/border-radius
1546
+ */
1547
+ "rounded-se": [{
1548
+ "rounded-se": [borderRadius]
1549
+ }],
1550
+ /**
1551
+ * Border Radius End End
1552
+ * @see https://tailwindcss.com/docs/border-radius
1553
+ */
1554
+ "rounded-ee": [{
1555
+ "rounded-ee": [borderRadius]
1556
+ }],
1557
+ /**
1558
+ * Border Radius End Start
1559
+ * @see https://tailwindcss.com/docs/border-radius
1560
+ */
1561
+ "rounded-es": [{
1562
+ "rounded-es": [borderRadius]
1563
+ }],
1564
+ /**
1565
+ * Border Radius Top Left
1566
+ * @see https://tailwindcss.com/docs/border-radius
1567
+ */
1568
+ "rounded-tl": [{
1569
+ "rounded-tl": [borderRadius]
1570
+ }],
1571
+ /**
1572
+ * Border Radius Top Right
1573
+ * @see https://tailwindcss.com/docs/border-radius
1574
+ */
1575
+ "rounded-tr": [{
1576
+ "rounded-tr": [borderRadius]
1577
+ }],
1578
+ /**
1579
+ * Border Radius Bottom Right
1580
+ * @see https://tailwindcss.com/docs/border-radius
1581
+ */
1582
+ "rounded-br": [{
1583
+ "rounded-br": [borderRadius]
1584
+ }],
1585
+ /**
1586
+ * Border Radius Bottom Left
1587
+ * @see https://tailwindcss.com/docs/border-radius
1588
+ */
1589
+ "rounded-bl": [{
1590
+ "rounded-bl": [borderRadius]
1591
+ }],
1592
+ /**
1593
+ * Border Width
1594
+ * @see https://tailwindcss.com/docs/border-width
1595
+ */
1596
+ "border-w": [{
1597
+ border: [borderWidth]
1598
+ }],
1599
+ /**
1600
+ * Border Width X
1601
+ * @see https://tailwindcss.com/docs/border-width
1602
+ */
1603
+ "border-w-x": [{
1604
+ "border-x": [borderWidth]
1605
+ }],
1606
+ /**
1607
+ * Border Width Y
1608
+ * @see https://tailwindcss.com/docs/border-width
1609
+ */
1610
+ "border-w-y": [{
1611
+ "border-y": [borderWidth]
1612
+ }],
1613
+ /**
1614
+ * Border Width Start
1615
+ * @see https://tailwindcss.com/docs/border-width
1616
+ */
1617
+ "border-w-s": [{
1618
+ "border-s": [borderWidth]
1619
+ }],
1620
+ /**
1621
+ * Border Width End
1622
+ * @see https://tailwindcss.com/docs/border-width
1623
+ */
1624
+ "border-w-e": [{
1625
+ "border-e": [borderWidth]
1626
+ }],
1627
+ /**
1628
+ * Border Width Top
1629
+ * @see https://tailwindcss.com/docs/border-width
1630
+ */
1631
+ "border-w-t": [{
1632
+ "border-t": [borderWidth]
1633
+ }],
1634
+ /**
1635
+ * Border Width Right
1636
+ * @see https://tailwindcss.com/docs/border-width
1637
+ */
1638
+ "border-w-r": [{
1639
+ "border-r": [borderWidth]
1640
+ }],
1641
+ /**
1642
+ * Border Width Bottom
1643
+ * @see https://tailwindcss.com/docs/border-width
1644
+ */
1645
+ "border-w-b": [{
1646
+ "border-b": [borderWidth]
1647
+ }],
1648
+ /**
1649
+ * Border Width Left
1650
+ * @see https://tailwindcss.com/docs/border-width
1651
+ */
1652
+ "border-w-l": [{
1653
+ "border-l": [borderWidth]
1654
+ }],
1655
+ /**
1656
+ * Border Opacity
1657
+ * @see https://tailwindcss.com/docs/border-opacity
1658
+ */
1659
+ "border-opacity": [{
1660
+ "border-opacity": [opacity]
1661
+ }],
1662
+ /**
1663
+ * Border Style
1664
+ * @see https://tailwindcss.com/docs/border-style
1665
+ */
1666
+ "border-style": [{
1667
+ border: [...getLineStyles(), "hidden"]
1668
+ }],
1669
+ /**
1670
+ * Divide Width X
1671
+ * @see https://tailwindcss.com/docs/divide-width
1672
+ */
1673
+ "divide-x": [{
1674
+ "divide-x": [borderWidth]
1675
+ }],
1676
+ /**
1677
+ * Divide Width X Reverse
1678
+ * @see https://tailwindcss.com/docs/divide-width
1679
+ */
1680
+ "divide-x-reverse": ["divide-x-reverse"],
1681
+ /**
1682
+ * Divide Width Y
1683
+ * @see https://tailwindcss.com/docs/divide-width
1684
+ */
1685
+ "divide-y": [{
1686
+ "divide-y": [borderWidth]
1687
+ }],
1688
+ /**
1689
+ * Divide Width Y Reverse
1690
+ * @see https://tailwindcss.com/docs/divide-width
1691
+ */
1692
+ "divide-y-reverse": ["divide-y-reverse"],
1693
+ /**
1694
+ * Divide Opacity
1695
+ * @see https://tailwindcss.com/docs/divide-opacity
1696
+ */
1697
+ "divide-opacity": [{
1698
+ "divide-opacity": [opacity]
1699
+ }],
1700
+ /**
1701
+ * Divide Style
1702
+ * @see https://tailwindcss.com/docs/divide-style
1703
+ */
1704
+ "divide-style": [{
1705
+ divide: getLineStyles()
1706
+ }],
1707
+ /**
1708
+ * Border Color
1709
+ * @see https://tailwindcss.com/docs/border-color
1710
+ */
1711
+ "border-color": [{
1712
+ border: [borderColor]
1713
+ }],
1714
+ /**
1715
+ * Border Color X
1716
+ * @see https://tailwindcss.com/docs/border-color
1717
+ */
1718
+ "border-color-x": [{
1719
+ "border-x": [borderColor]
1720
+ }],
1721
+ /**
1722
+ * Border Color Y
1723
+ * @see https://tailwindcss.com/docs/border-color
1724
+ */
1725
+ "border-color-y": [{
1726
+ "border-y": [borderColor]
1727
+ }],
1728
+ /**
1729
+ * Border Color S
1730
+ * @see https://tailwindcss.com/docs/border-color
1731
+ */
1732
+ "border-color-s": [{
1733
+ "border-s": [borderColor]
1734
+ }],
1735
+ /**
1736
+ * Border Color E
1737
+ * @see https://tailwindcss.com/docs/border-color
1738
+ */
1739
+ "border-color-e": [{
1740
+ "border-e": [borderColor]
1741
+ }],
1742
+ /**
1743
+ * Border Color Top
1744
+ * @see https://tailwindcss.com/docs/border-color
1745
+ */
1746
+ "border-color-t": [{
1747
+ "border-t": [borderColor]
1748
+ }],
1749
+ /**
1750
+ * Border Color Right
1751
+ * @see https://tailwindcss.com/docs/border-color
1752
+ */
1753
+ "border-color-r": [{
1754
+ "border-r": [borderColor]
1755
+ }],
1756
+ /**
1757
+ * Border Color Bottom
1758
+ * @see https://tailwindcss.com/docs/border-color
1759
+ */
1760
+ "border-color-b": [{
1761
+ "border-b": [borderColor]
1762
+ }],
1763
+ /**
1764
+ * Border Color Left
1765
+ * @see https://tailwindcss.com/docs/border-color
1766
+ */
1767
+ "border-color-l": [{
1768
+ "border-l": [borderColor]
1769
+ }],
1770
+ /**
1771
+ * Divide Color
1772
+ * @see https://tailwindcss.com/docs/divide-color
1773
+ */
1774
+ "divide-color": [{
1775
+ divide: [borderColor]
1776
+ }],
1777
+ /**
1778
+ * Outline Style
1779
+ * @see https://tailwindcss.com/docs/outline-style
1780
+ */
1781
+ "outline-style": [{
1782
+ outline: ["", ...getLineStyles()]
1783
+ }],
1784
+ /**
1785
+ * Outline Offset
1786
+ * @see https://tailwindcss.com/docs/outline-offset
1787
+ */
1788
+ "outline-offset": [{
1789
+ "outline-offset": [isLength, isArbitraryValue]
1790
+ }],
1791
+ /**
1792
+ * Outline Width
1793
+ * @see https://tailwindcss.com/docs/outline-width
1794
+ */
1795
+ "outline-w": [{
1796
+ outline: [isLength, isArbitraryLength]
1797
+ }],
1798
+ /**
1799
+ * Outline Color
1800
+ * @see https://tailwindcss.com/docs/outline-color
1801
+ */
1802
+ "outline-color": [{
1803
+ outline: [colors]
1804
+ }],
1805
+ /**
1806
+ * Ring Width
1807
+ * @see https://tailwindcss.com/docs/ring-width
1808
+ */
1809
+ "ring-w": [{
1810
+ ring: getLengthWithEmptyAndArbitrary()
1811
+ }],
1812
+ /**
1813
+ * Ring Width Inset
1814
+ * @see https://tailwindcss.com/docs/ring-width
1815
+ */
1816
+ "ring-w-inset": ["ring-inset"],
1817
+ /**
1818
+ * Ring Color
1819
+ * @see https://tailwindcss.com/docs/ring-color
1820
+ */
1821
+ "ring-color": [{
1822
+ ring: [colors]
1823
+ }],
1824
+ /**
1825
+ * Ring Opacity
1826
+ * @see https://tailwindcss.com/docs/ring-opacity
1827
+ */
1828
+ "ring-opacity": [{
1829
+ "ring-opacity": [opacity]
1830
+ }],
1831
+ /**
1832
+ * Ring Offset Width
1833
+ * @see https://tailwindcss.com/docs/ring-offset-width
1834
+ */
1835
+ "ring-offset-w": [{
1836
+ "ring-offset": [isLength, isArbitraryLength]
1837
+ }],
1838
+ /**
1839
+ * Ring Offset Color
1840
+ * @see https://tailwindcss.com/docs/ring-offset-color
1841
+ */
1842
+ "ring-offset-color": [{
1843
+ "ring-offset": [colors]
1844
+ }],
1845
+ // Effects
1846
+ /**
1847
+ * Box Shadow
1848
+ * @see https://tailwindcss.com/docs/box-shadow
1849
+ */
1850
+ shadow: [{
1851
+ shadow: ["", "inner", "none", isTshirtSize, isArbitraryShadow]
1852
+ }],
1853
+ /**
1854
+ * Box Shadow Color
1855
+ * @see https://tailwindcss.com/docs/box-shadow-color
1856
+ */
1857
+ "shadow-color": [{
1858
+ shadow: [isAny]
1859
+ }],
1860
+ /**
1861
+ * Opacity
1862
+ * @see https://tailwindcss.com/docs/opacity
1863
+ */
1864
+ opacity: [{
1865
+ opacity: [opacity]
1866
+ }],
1867
+ /**
1868
+ * Mix Blend Mode
1869
+ * @see https://tailwindcss.com/docs/mix-blend-mode
1870
+ */
1871
+ "mix-blend": [{
1872
+ "mix-blend": [...getBlendModes(), "plus-lighter", "plus-darker"]
1873
+ }],
1874
+ /**
1875
+ * Background Blend Mode
1876
+ * @see https://tailwindcss.com/docs/background-blend-mode
1877
+ */
1878
+ "bg-blend": [{
1879
+ "bg-blend": getBlendModes()
1880
+ }],
1881
+ // Filters
1882
+ /**
1883
+ * Filter
1884
+ * @deprecated since Tailwind CSS v3.0.0
1885
+ * @see https://tailwindcss.com/docs/filter
1886
+ */
1887
+ filter: [{
1888
+ filter: ["", "none"]
1889
+ }],
1890
+ /**
1891
+ * Blur
1892
+ * @see https://tailwindcss.com/docs/blur
1893
+ */
1894
+ blur: [{
1895
+ blur: [blur]
1896
+ }],
1897
+ /**
1898
+ * Brightness
1899
+ * @see https://tailwindcss.com/docs/brightness
1900
+ */
1901
+ brightness: [{
1902
+ brightness: [brightness]
1903
+ }],
1904
+ /**
1905
+ * Contrast
1906
+ * @see https://tailwindcss.com/docs/contrast
1907
+ */
1908
+ contrast: [{
1909
+ contrast: [contrast]
1910
+ }],
1911
+ /**
1912
+ * Drop Shadow
1913
+ * @see https://tailwindcss.com/docs/drop-shadow
1914
+ */
1915
+ "drop-shadow": [{
1916
+ "drop-shadow": ["", "none", isTshirtSize, isArbitraryValue]
1917
+ }],
1918
+ /**
1919
+ * Grayscale
1920
+ * @see https://tailwindcss.com/docs/grayscale
1921
+ */
1922
+ grayscale: [{
1923
+ grayscale: [grayscale]
1924
+ }],
1925
+ /**
1926
+ * Hue Rotate
1927
+ * @see https://tailwindcss.com/docs/hue-rotate
1928
+ */
1929
+ "hue-rotate": [{
1930
+ "hue-rotate": [hueRotate]
1931
+ }],
1932
+ /**
1933
+ * Invert
1934
+ * @see https://tailwindcss.com/docs/invert
1935
+ */
1936
+ invert: [{
1937
+ invert: [invert]
1938
+ }],
1939
+ /**
1940
+ * Saturate
1941
+ * @see https://tailwindcss.com/docs/saturate
1942
+ */
1943
+ saturate: [{
1944
+ saturate: [saturate]
1945
+ }],
1946
+ /**
1947
+ * Sepia
1948
+ * @see https://tailwindcss.com/docs/sepia
1949
+ */
1950
+ sepia: [{
1951
+ sepia: [sepia]
1952
+ }],
1953
+ /**
1954
+ * Backdrop Filter
1955
+ * @deprecated since Tailwind CSS v3.0.0
1956
+ * @see https://tailwindcss.com/docs/backdrop-filter
1957
+ */
1958
+ "backdrop-filter": [{
1959
+ "backdrop-filter": ["", "none"]
1960
+ }],
1961
+ /**
1962
+ * Backdrop Blur
1963
+ * @see https://tailwindcss.com/docs/backdrop-blur
1964
+ */
1965
+ "backdrop-blur": [{
1966
+ "backdrop-blur": [blur]
1967
+ }],
1968
+ /**
1969
+ * Backdrop Brightness
1970
+ * @see https://tailwindcss.com/docs/backdrop-brightness
1971
+ */
1972
+ "backdrop-brightness": [{
1973
+ "backdrop-brightness": [brightness]
1974
+ }],
1975
+ /**
1976
+ * Backdrop Contrast
1977
+ * @see https://tailwindcss.com/docs/backdrop-contrast
1978
+ */
1979
+ "backdrop-contrast": [{
1980
+ "backdrop-contrast": [contrast]
1981
+ }],
1982
+ /**
1983
+ * Backdrop Grayscale
1984
+ * @see https://tailwindcss.com/docs/backdrop-grayscale
1985
+ */
1986
+ "backdrop-grayscale": [{
1987
+ "backdrop-grayscale": [grayscale]
1988
+ }],
1989
+ /**
1990
+ * Backdrop Hue Rotate
1991
+ * @see https://tailwindcss.com/docs/backdrop-hue-rotate
1992
+ */
1993
+ "backdrop-hue-rotate": [{
1994
+ "backdrop-hue-rotate": [hueRotate]
1995
+ }],
1996
+ /**
1997
+ * Backdrop Invert
1998
+ * @see https://tailwindcss.com/docs/backdrop-invert
1999
+ */
2000
+ "backdrop-invert": [{
2001
+ "backdrop-invert": [invert]
2002
+ }],
2003
+ /**
2004
+ * Backdrop Opacity
2005
+ * @see https://tailwindcss.com/docs/backdrop-opacity
2006
+ */
2007
+ "backdrop-opacity": [{
2008
+ "backdrop-opacity": [opacity]
2009
+ }],
2010
+ /**
2011
+ * Backdrop Saturate
2012
+ * @see https://tailwindcss.com/docs/backdrop-saturate
2013
+ */
2014
+ "backdrop-saturate": [{
2015
+ "backdrop-saturate": [saturate]
2016
+ }],
2017
+ /**
2018
+ * Backdrop Sepia
2019
+ * @see https://tailwindcss.com/docs/backdrop-sepia
2020
+ */
2021
+ "backdrop-sepia": [{
2022
+ "backdrop-sepia": [sepia]
2023
+ }],
2024
+ // Tables
2025
+ /**
2026
+ * Border Collapse
2027
+ * @see https://tailwindcss.com/docs/border-collapse
2028
+ */
2029
+ "border-collapse": [{
2030
+ border: ["collapse", "separate"]
2031
+ }],
2032
+ /**
2033
+ * Border Spacing
2034
+ * @see https://tailwindcss.com/docs/border-spacing
2035
+ */
2036
+ "border-spacing": [{
2037
+ "border-spacing": [borderSpacing]
2038
+ }],
2039
+ /**
2040
+ * Border Spacing X
2041
+ * @see https://tailwindcss.com/docs/border-spacing
2042
+ */
2043
+ "border-spacing-x": [{
2044
+ "border-spacing-x": [borderSpacing]
2045
+ }],
2046
+ /**
2047
+ * Border Spacing Y
2048
+ * @see https://tailwindcss.com/docs/border-spacing
2049
+ */
2050
+ "border-spacing-y": [{
2051
+ "border-spacing-y": [borderSpacing]
2052
+ }],
2053
+ /**
2054
+ * Table Layout
2055
+ * @see https://tailwindcss.com/docs/table-layout
2056
+ */
2057
+ "table-layout": [{
2058
+ table: ["auto", "fixed"]
2059
+ }],
2060
+ /**
2061
+ * Caption Side
2062
+ * @see https://tailwindcss.com/docs/caption-side
2063
+ */
2064
+ caption: [{
2065
+ caption: ["top", "bottom"]
2066
+ }],
2067
+ // Transitions and Animation
2068
+ /**
2069
+ * Tranisition Property
2070
+ * @see https://tailwindcss.com/docs/transition-property
2071
+ */
2072
+ transition: [{
2073
+ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", isArbitraryValue]
2074
+ }],
2075
+ /**
2076
+ * Transition Duration
2077
+ * @see https://tailwindcss.com/docs/transition-duration
2078
+ */
2079
+ duration: [{
2080
+ duration: getNumberAndArbitrary()
2081
+ }],
2082
+ /**
2083
+ * Transition Timing Function
2084
+ * @see https://tailwindcss.com/docs/transition-timing-function
2085
+ */
2086
+ ease: [{
2087
+ ease: ["linear", "in", "out", "in-out", isArbitraryValue]
2088
+ }],
2089
+ /**
2090
+ * Transition Delay
2091
+ * @see https://tailwindcss.com/docs/transition-delay
2092
+ */
2093
+ delay: [{
2094
+ delay: getNumberAndArbitrary()
2095
+ }],
2096
+ /**
2097
+ * Animation
2098
+ * @see https://tailwindcss.com/docs/animation
2099
+ */
2100
+ animate: [{
2101
+ animate: ["none", "spin", "ping", "pulse", "bounce", isArbitraryValue]
2102
+ }],
2103
+ // Transforms
2104
+ /**
2105
+ * Transform
2106
+ * @see https://tailwindcss.com/docs/transform
2107
+ */
2108
+ transform: [{
2109
+ transform: ["", "gpu", "none"]
2110
+ }],
2111
+ /**
2112
+ * Scale
2113
+ * @see https://tailwindcss.com/docs/scale
2114
+ */
2115
+ scale: [{
2116
+ scale: [scale]
2117
+ }],
2118
+ /**
2119
+ * Scale X
2120
+ * @see https://tailwindcss.com/docs/scale
2121
+ */
2122
+ "scale-x": [{
2123
+ "scale-x": [scale]
2124
+ }],
2125
+ /**
2126
+ * Scale Y
2127
+ * @see https://tailwindcss.com/docs/scale
2128
+ */
2129
+ "scale-y": [{
2130
+ "scale-y": [scale]
2131
+ }],
2132
+ /**
2133
+ * Rotate
2134
+ * @see https://tailwindcss.com/docs/rotate
2135
+ */
2136
+ rotate: [{
2137
+ rotate: [isInteger, isArbitraryValue]
2138
+ }],
2139
+ /**
2140
+ * Translate X
2141
+ * @see https://tailwindcss.com/docs/translate
2142
+ */
2143
+ "translate-x": [{
2144
+ "translate-x": [translate]
2145
+ }],
2146
+ /**
2147
+ * Translate Y
2148
+ * @see https://tailwindcss.com/docs/translate
2149
+ */
2150
+ "translate-y": [{
2151
+ "translate-y": [translate]
2152
+ }],
2153
+ /**
2154
+ * Skew X
2155
+ * @see https://tailwindcss.com/docs/skew
2156
+ */
2157
+ "skew-x": [{
2158
+ "skew-x": [skew]
2159
+ }],
2160
+ /**
2161
+ * Skew Y
2162
+ * @see https://tailwindcss.com/docs/skew
2163
+ */
2164
+ "skew-y": [{
2165
+ "skew-y": [skew]
2166
+ }],
2167
+ /**
2168
+ * Transform Origin
2169
+ * @see https://tailwindcss.com/docs/transform-origin
2170
+ */
2171
+ "transform-origin": [{
2172
+ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryValue]
2173
+ }],
2174
+ // Interactivity
2175
+ /**
2176
+ * Accent Color
2177
+ * @see https://tailwindcss.com/docs/accent-color
2178
+ */
2179
+ accent: [{
2180
+ accent: ["auto", colors]
2181
+ }],
2182
+ /**
2183
+ * Appearance
2184
+ * @see https://tailwindcss.com/docs/appearance
2185
+ */
2186
+ appearance: [{
2187
+ appearance: ["none", "auto"]
2188
+ }],
2189
+ /**
2190
+ * Cursor
2191
+ * @see https://tailwindcss.com/docs/cursor
2192
+ */
2193
+ cursor: [{
2194
+ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", isArbitraryValue]
2195
+ }],
2196
+ /**
2197
+ * Caret Color
2198
+ * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2199
+ */
2200
+ "caret-color": [{
2201
+ caret: [colors]
2202
+ }],
2203
+ /**
2204
+ * Pointer Events
2205
+ * @see https://tailwindcss.com/docs/pointer-events
2206
+ */
2207
+ "pointer-events": [{
2208
+ "pointer-events": ["none", "auto"]
2209
+ }],
2210
+ /**
2211
+ * Resize
2212
+ * @see https://tailwindcss.com/docs/resize
2213
+ */
2214
+ resize: [{
2215
+ resize: ["none", "y", "x", ""]
2216
+ }],
2217
+ /**
2218
+ * Scroll Behavior
2219
+ * @see https://tailwindcss.com/docs/scroll-behavior
2220
+ */
2221
+ "scroll-behavior": [{
2222
+ scroll: ["auto", "smooth"]
2223
+ }],
2224
+ /**
2225
+ * Scroll Margin
2226
+ * @see https://tailwindcss.com/docs/scroll-margin
2227
+ */
2228
+ "scroll-m": [{
2229
+ "scroll-m": getSpacingWithArbitrary()
2230
+ }],
2231
+ /**
2232
+ * Scroll Margin X
2233
+ * @see https://tailwindcss.com/docs/scroll-margin
2234
+ */
2235
+ "scroll-mx": [{
2236
+ "scroll-mx": getSpacingWithArbitrary()
2237
+ }],
2238
+ /**
2239
+ * Scroll Margin Y
2240
+ * @see https://tailwindcss.com/docs/scroll-margin
2241
+ */
2242
+ "scroll-my": [{
2243
+ "scroll-my": getSpacingWithArbitrary()
2244
+ }],
2245
+ /**
2246
+ * Scroll Margin Start
2247
+ * @see https://tailwindcss.com/docs/scroll-margin
2248
+ */
2249
+ "scroll-ms": [{
2250
+ "scroll-ms": getSpacingWithArbitrary()
2251
+ }],
2252
+ /**
2253
+ * Scroll Margin End
2254
+ * @see https://tailwindcss.com/docs/scroll-margin
2255
+ */
2256
+ "scroll-me": [{
2257
+ "scroll-me": getSpacingWithArbitrary()
2258
+ }],
2259
+ /**
2260
+ * Scroll Margin Top
2261
+ * @see https://tailwindcss.com/docs/scroll-margin
2262
+ */
2263
+ "scroll-mt": [{
2264
+ "scroll-mt": getSpacingWithArbitrary()
2265
+ }],
2266
+ /**
2267
+ * Scroll Margin Right
2268
+ * @see https://tailwindcss.com/docs/scroll-margin
2269
+ */
2270
+ "scroll-mr": [{
2271
+ "scroll-mr": getSpacingWithArbitrary()
2272
+ }],
2273
+ /**
2274
+ * Scroll Margin Bottom
2275
+ * @see https://tailwindcss.com/docs/scroll-margin
2276
+ */
2277
+ "scroll-mb": [{
2278
+ "scroll-mb": getSpacingWithArbitrary()
2279
+ }],
2280
+ /**
2281
+ * Scroll Margin Left
2282
+ * @see https://tailwindcss.com/docs/scroll-margin
2283
+ */
2284
+ "scroll-ml": [{
2285
+ "scroll-ml": getSpacingWithArbitrary()
2286
+ }],
2287
+ /**
2288
+ * Scroll Padding
2289
+ * @see https://tailwindcss.com/docs/scroll-padding
2290
+ */
2291
+ "scroll-p": [{
2292
+ "scroll-p": getSpacingWithArbitrary()
2293
+ }],
2294
+ /**
2295
+ * Scroll Padding X
2296
+ * @see https://tailwindcss.com/docs/scroll-padding
2297
+ */
2298
+ "scroll-px": [{
2299
+ "scroll-px": getSpacingWithArbitrary()
2300
+ }],
2301
+ /**
2302
+ * Scroll Padding Y
2303
+ * @see https://tailwindcss.com/docs/scroll-padding
2304
+ */
2305
+ "scroll-py": [{
2306
+ "scroll-py": getSpacingWithArbitrary()
2307
+ }],
2308
+ /**
2309
+ * Scroll Padding Start
2310
+ * @see https://tailwindcss.com/docs/scroll-padding
2311
+ */
2312
+ "scroll-ps": [{
2313
+ "scroll-ps": getSpacingWithArbitrary()
2314
+ }],
2315
+ /**
2316
+ * Scroll Padding End
2317
+ * @see https://tailwindcss.com/docs/scroll-padding
2318
+ */
2319
+ "scroll-pe": [{
2320
+ "scroll-pe": getSpacingWithArbitrary()
2321
+ }],
2322
+ /**
2323
+ * Scroll Padding Top
2324
+ * @see https://tailwindcss.com/docs/scroll-padding
2325
+ */
2326
+ "scroll-pt": [{
2327
+ "scroll-pt": getSpacingWithArbitrary()
2328
+ }],
2329
+ /**
2330
+ * Scroll Padding Right
2331
+ * @see https://tailwindcss.com/docs/scroll-padding
2332
+ */
2333
+ "scroll-pr": [{
2334
+ "scroll-pr": getSpacingWithArbitrary()
2335
+ }],
2336
+ /**
2337
+ * Scroll Padding Bottom
2338
+ * @see https://tailwindcss.com/docs/scroll-padding
2339
+ */
2340
+ "scroll-pb": [{
2341
+ "scroll-pb": getSpacingWithArbitrary()
2342
+ }],
2343
+ /**
2344
+ * Scroll Padding Left
2345
+ * @see https://tailwindcss.com/docs/scroll-padding
2346
+ */
2347
+ "scroll-pl": [{
2348
+ "scroll-pl": getSpacingWithArbitrary()
2349
+ }],
2350
+ /**
2351
+ * Scroll Snap Align
2352
+ * @see https://tailwindcss.com/docs/scroll-snap-align
2353
+ */
2354
+ "snap-align": [{
2355
+ snap: ["start", "end", "center", "align-none"]
2356
+ }],
2357
+ /**
2358
+ * Scroll Snap Stop
2359
+ * @see https://tailwindcss.com/docs/scroll-snap-stop
2360
+ */
2361
+ "snap-stop": [{
2362
+ snap: ["normal", "always"]
2363
+ }],
2364
+ /**
2365
+ * Scroll Snap Type
2366
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2367
+ */
2368
+ "snap-type": [{
2369
+ snap: ["none", "x", "y", "both"]
2370
+ }],
2371
+ /**
2372
+ * Scroll Snap Type Strictness
2373
+ * @see https://tailwindcss.com/docs/scroll-snap-type
2374
+ */
2375
+ "snap-strictness": [{
2376
+ snap: ["mandatory", "proximity"]
2377
+ }],
2378
+ /**
2379
+ * Touch Action
2380
+ * @see https://tailwindcss.com/docs/touch-action
2381
+ */
2382
+ touch: [{
2383
+ touch: ["auto", "none", "manipulation"]
2384
+ }],
2385
+ /**
2386
+ * Touch Action X
2387
+ * @see https://tailwindcss.com/docs/touch-action
2388
+ */
2389
+ "touch-x": [{
2390
+ "touch-pan": ["x", "left", "right"]
2391
+ }],
2392
+ /**
2393
+ * Touch Action Y
2394
+ * @see https://tailwindcss.com/docs/touch-action
2395
+ */
2396
+ "touch-y": [{
2397
+ "touch-pan": ["y", "up", "down"]
2398
+ }],
2399
+ /**
2400
+ * Touch Action Pinch Zoom
2401
+ * @see https://tailwindcss.com/docs/touch-action
2402
+ */
2403
+ "touch-pz": ["touch-pinch-zoom"],
2404
+ /**
2405
+ * User Select
2406
+ * @see https://tailwindcss.com/docs/user-select
2407
+ */
2408
+ select: [{
2409
+ select: ["none", "text", "all", "auto"]
2410
+ }],
2411
+ /**
2412
+ * Will Change
2413
+ * @see https://tailwindcss.com/docs/will-change
2414
+ */
2415
+ "will-change": [{
2416
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryValue]
2417
+ }],
2418
+ // SVG
2419
+ /**
2420
+ * Fill
2421
+ * @see https://tailwindcss.com/docs/fill
2422
+ */
2423
+ fill: [{
2424
+ fill: [colors, "none"]
2425
+ }],
2426
+ /**
2427
+ * Stroke Width
2428
+ * @see https://tailwindcss.com/docs/stroke-width
2429
+ */
2430
+ "stroke-w": [{
2431
+ stroke: [isLength, isArbitraryLength, isArbitraryNumber]
2432
+ }],
2433
+ /**
2434
+ * Stroke
2435
+ * @see https://tailwindcss.com/docs/stroke
2436
+ */
2437
+ stroke: [{
2438
+ stroke: [colors, "none"]
2439
+ }],
2440
+ // Accessibility
2441
+ /**
2442
+ * Screen Readers
2443
+ * @see https://tailwindcss.com/docs/screen-readers
2444
+ */
2445
+ sr: ["sr-only", "not-sr-only"],
2446
+ /**
2447
+ * Forced Color Adjust
2448
+ * @see https://tailwindcss.com/docs/forced-color-adjust
2449
+ */
2450
+ "forced-color-adjust": [{
2451
+ "forced-color-adjust": ["auto", "none"]
2452
+ }]
2453
+ },
2454
+ conflictingClassGroups: {
2455
+ overflow: ["overflow-x", "overflow-y"],
2456
+ overscroll: ["overscroll-x", "overscroll-y"],
2457
+ inset: ["inset-x", "inset-y", "start", "end", "top", "right", "bottom", "left"],
2458
+ "inset-x": ["right", "left"],
2459
+ "inset-y": ["top", "bottom"],
2460
+ flex: ["basis", "grow", "shrink"],
2461
+ gap: ["gap-x", "gap-y"],
2462
+ p: ["px", "py", "ps", "pe", "pt", "pr", "pb", "pl"],
2463
+ px: ["pr", "pl"],
2464
+ py: ["pt", "pb"],
2465
+ m: ["mx", "my", "ms", "me", "mt", "mr", "mb", "ml"],
2466
+ mx: ["mr", "ml"],
2467
+ my: ["mt", "mb"],
2468
+ size: ["w", "h"],
2469
+ "font-size": ["leading"],
2470
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
2471
+ "fvn-ordinal": ["fvn-normal"],
2472
+ "fvn-slashed-zero": ["fvn-normal"],
2473
+ "fvn-figure": ["fvn-normal"],
2474
+ "fvn-spacing": ["fvn-normal"],
2475
+ "fvn-fraction": ["fvn-normal"],
2476
+ "line-clamp": ["display", "overflow"],
2477
+ rounded: ["rounded-s", "rounded-e", "rounded-t", "rounded-r", "rounded-b", "rounded-l", "rounded-ss", "rounded-se", "rounded-ee", "rounded-es", "rounded-tl", "rounded-tr", "rounded-br", "rounded-bl"],
2478
+ "rounded-s": ["rounded-ss", "rounded-es"],
2479
+ "rounded-e": ["rounded-se", "rounded-ee"],
2480
+ "rounded-t": ["rounded-tl", "rounded-tr"],
2481
+ "rounded-r": ["rounded-tr", "rounded-br"],
2482
+ "rounded-b": ["rounded-br", "rounded-bl"],
2483
+ "rounded-l": ["rounded-tl", "rounded-bl"],
2484
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
2485
+ "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2486
+ "border-w-x": ["border-w-r", "border-w-l"],
2487
+ "border-w-y": ["border-w-t", "border-w-b"],
2488
+ "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2489
+ "border-color-x": ["border-color-r", "border-color-l"],
2490
+ "border-color-y": ["border-color-t", "border-color-b"],
2491
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
2492
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
2493
+ "scroll-my": ["scroll-mt", "scroll-mb"],
2494
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
2495
+ "scroll-px": ["scroll-pr", "scroll-pl"],
2496
+ "scroll-py": ["scroll-pt", "scroll-pb"],
2497
+ touch: ["touch-x", "touch-y", "touch-pz"],
2498
+ "touch-x": ["touch"],
2499
+ "touch-y": ["touch"],
2500
+ "touch-pz": ["touch"]
2501
+ },
2502
+ conflictingClassGroupModifiers: {
2503
+ "font-size": ["leading"]
2504
+ }
2505
+ };
2506
+ };
2507
+ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2508
+
2509
+ // src/utils/cn.ts
2510
+ function cn(...inputs) {
2511
+ return twMerge((0, import_clsx.clsx)(inputs));
2512
+ }
2513
+
2514
+ // src/components/ui/dialog.tsx
2515
+ var import_jsx_runtime = require("react/jsx-runtime");
2516
+ var Dialog = DialogPrimitive.Root;
2517
+ var DialogPortal = DialogPrimitive.Portal;
2518
+ var DialogClose = DialogPrimitive.Close;
2519
+ var DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2520
+ DialogPrimitive.Overlay,
2521
+ {
2522
+ ref,
2523
+ className: cn(
2524
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
2525
+ className
2526
+ ),
2527
+ ...props
2528
+ }
2529
+ ));
2530
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2531
+ var DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPortal, { children: [
2532
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogOverlay, {}),
2533
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
2534
+ DialogPrimitive.Content,
2535
+ {
2536
+ ref,
2537
+ className: cn(
2538
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
2539
+ className
2540
+ ),
2541
+ ...props,
2542
+ children: [
2543
+ children,
2544
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
2545
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.X, { className: "h-4 w-4" }),
2546
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "Close" })
2547
+ ] })
2548
+ ]
2549
+ }
2550
+ )
2551
+ ] }));
2552
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
2553
+ var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
2554
+ DialogHeader.displayName = "DialogHeader";
2555
+ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2556
+ "div",
2557
+ {
2558
+ className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
2559
+ ...props
2560
+ }
2561
+ );
2562
+ DialogFooter.displayName = "DialogFooter";
2563
+ var DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2564
+ DialogPrimitive.Title,
2565
+ {
2566
+ ref,
2567
+ className: cn("text-lg font-semibold leading-none tracking-tight", className),
2568
+ ...props
2569
+ }
2570
+ ));
2571
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
2572
+ var DialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
2573
+ DialogPrimitive.Description,
2574
+ {
2575
+ ref,
2576
+ className: cn("text-sm text-muted-foreground", className),
2577
+ ...props
2578
+ }
2579
+ ));
2580
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
2581
+
2582
+ // src/components/Cards/ImageProxy.tsx
2583
+ var import_image = __toESM(require("next/image"));
2584
+ var import_react = require("react");
2585
+ var import_jsx_runtime2 = require("react/jsx-runtime");
2586
+ function isExternalUrl(url) {
2587
+ return url.startsWith("http");
2588
+ }
2589
+ function getAPIUrl(src, baseContext) {
2590
+ let url = src;
2591
+ if (isExternalUrl(src)) {
2592
+ url = src;
2593
+ } else {
2594
+ let newSrc = src.replace("./", "");
2595
+ if (newSrc.startsWith("/")) {
2596
+ newSrc = newSrc.slice(1);
2597
+ }
2598
+ url = baseContext + "/" + newSrc;
2599
+ }
2600
+ return url;
2601
+ }
2602
+ function ImageComponent({ src, alt }) {
2603
+ const [open, setOpen] = (0, import_react.useState)(false);
2604
+ const [zoomable, setZoomable] = (0, import_react.useState)(false);
2605
+ const [imageSize, setImageSize] = (0, import_react.useState)({ width: 0, height: 0 });
2606
+ const handleClickOpen = () => {
2607
+ if (zoomable) {
2608
+ setOpen(true);
2609
+ }
2610
+ };
2611
+ const handleClose = () => {
2612
+ setOpen(false);
2613
+ };
2614
+ const handleImageLoaded = (event) => {
2615
+ const { naturalWidth, naturalHeight } = event.target;
2616
+ setImageSize({ width: naturalWidth, height: naturalHeight });
2617
+ setZoomable(naturalWidth > 300 || naturalHeight > 300);
2618
+ };
2619
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
2620
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
2621
+ "div",
2622
+ {
2623
+ className: `relative mx-auto my-4 flex justify-center items-center cursor-pointer ${imageSize.height > 300 ? "h-[300px]" : `h-[${imageSize.height}px]`}`,
2624
+ onClick: handleClickOpen,
2625
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
2626
+ import_image.default,
2627
+ {
2628
+ sizes: "100vw",
2629
+ height: imageSize.height,
2630
+ width: imageSize.width,
2631
+ src,
2632
+ alt: alt || "",
2633
+ onLoad: handleImageLoaded,
2634
+ unoptimized: true,
2635
+ className: "object-contain max-w-full max-h-full"
2636
+ }
2637
+ )
2638
+ }
2639
+ ),
2640
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(DialogContent, { className: "flex flex-col items-center justify-center", children: [
2641
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(DialogHeader, { className: "flex w-full justify-end", children: [
2642
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DialogTitle, { className: "hidden", children: alt }),
2643
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(DialogClose, {})
2644
+ ] }),
2645
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
2646
+ import_image.default,
2647
+ {
2648
+ height: imageSize.height,
2649
+ width: imageSize.width,
2650
+ src,
2651
+ alt: alt || "",
2652
+ unoptimized: true,
2653
+ className: "object-contain"
2654
+ }
2655
+ ) })
2656
+ ] }) })
2657
+ ] });
2658
+ }
2659
+ function ImageProxy({ props, baseContext }) {
2660
+ let { src } = props;
2661
+ src = getAPIUrl(src, baseContext);
2662
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ImageComponent, { src, alt: props.alt });
2663
+ }
2664
+ // Annotate the CommonJS export names for ESM import in node:
2665
+ 0 && (module.exports = {
2666
+ ImageProxy
2667
+ });