@makinbakin/sdk 0.0.0-bootstrap.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +107 -0
  2. package/_internal/app/components/agent-avatar.d.ts +11 -0
  3. package/_internal/app/components/agent-filter.d.ts +8 -0
  4. package/_internal/app/components/agent-select.d.ts +15 -0
  5. package/_internal/app/components/agent-status.d.ts +8 -0
  6. package/_internal/app/components/bakin-drawer.d.ts +23 -0
  7. package/_internal/app/components/color-picker.d.ts +7 -0
  8. package/_internal/app/components/empty-state.d.ts +10 -0
  9. package/_internal/app/components/error-banner.d.ts +6 -0
  10. package/_internal/app/components/error-state.d.ts +8 -0
  11. package/_internal/app/components/facet-filter.d.ts +17 -0
  12. package/_internal/app/components/integrated-brainstorm/collapsed-header.d.ts +14 -0
  13. package/_internal/app/components/integrated-brainstorm/empty-state.d.ts +5 -0
  14. package/_internal/app/components/integrated-brainstorm/index.d.ts +3 -0
  15. package/_internal/app/components/integrated-brainstorm/input-row.d.ts +16 -0
  16. package/_internal/app/components/integrated-brainstorm/message-list.d.ts +8 -0
  17. package/_internal/app/components/integrated-brainstorm/thinking-indicator.d.ts +19 -0
  18. package/_internal/app/components/integrated-brainstorm/types.d.ts +61 -0
  19. package/_internal/app/components/integrated-brainstorm/use-auto-grow.d.ts +6 -0
  20. package/_internal/app/components/integrated-brainstorm/use-brainstorm-state.d.ts +21 -0
  21. package/_internal/app/components/markdown-content.d.ts +3 -0
  22. package/_internal/app/components/markdown-editor.d.ts +11 -0
  23. package/_internal/app/components/model-select.d.ts +9 -0
  24. package/_internal/app/components/page-layout.d.ts +9 -0
  25. package/_internal/app/components/plugin-header.d.ts +16 -0
  26. package/_internal/app/components/plugin-settings-renderer.d.ts +9 -0
  27. package/_internal/app/components/sortable-head.d.ts +13 -0
  28. package/_internal/app/components/ui/alert.d.ts +10 -0
  29. package/_internal/app/components/ui/avatar.d.ts +11 -0
  30. package/_internal/app/components/ui/badge.d.ts +7 -0
  31. package/_internal/app/components/ui/button.d.ts +8 -0
  32. package/_internal/app/components/ui/card.d.ts +11 -0
  33. package/_internal/app/components/ui/checkbox.d.ts +3 -0
  34. package/_internal/app/components/ui/collapsible.d.ts +5 -0
  35. package/_internal/app/components/ui/command.d.ts +19 -0
  36. package/_internal/app/components/ui/dialog.d.ts +17 -0
  37. package/_internal/app/components/ui/dropdown-menu.d.ts +29 -0
  38. package/_internal/app/components/ui/form.d.ts +23 -0
  39. package/_internal/app/components/ui/input-group.d.ts +18 -0
  40. package/_internal/app/components/ui/input.d.ts +3 -0
  41. package/_internal/app/components/ui/label.d.ts +3 -0
  42. package/_internal/app/components/ui/popover.d.ts +9 -0
  43. package/_internal/app/components/ui/progress.d.ts +7 -0
  44. package/_internal/app/components/ui/select.d.ts +15 -0
  45. package/_internal/app/components/ui/separator.d.ts +3 -0
  46. package/_internal/app/components/ui/sheet.d.ts +14 -0
  47. package/_internal/app/components/ui/skeleton.d.ts +2 -0
  48. package/_internal/app/components/ui/switch.d.ts +5 -0
  49. package/_internal/app/components/ui/table.d.ts +10 -0
  50. package/_internal/app/components/ui/tabs.d.ts +10 -0
  51. package/_internal/app/components/ui/textarea.d.ts +3 -0
  52. package/_internal/app/components/ui/tooltip.d.ts +6 -0
  53. package/_internal/app/components/underline-tabs.d.ts +15 -0
  54. package/_internal/app/hooks/use-assets.d.ts +25 -0
  55. package/_internal/app/hooks/use-content-store.d.ts +36 -0
  56. package/_internal/app/hooks/use-debug.d.ts +1 -0
  57. package/_internal/app/hooks/use-form-guard.d.ts +5 -0
  58. package/_internal/app/hooks/use-query-state.d.ts +14 -0
  59. package/_internal/app/hooks/use-runtime-status.d.ts +12 -0
  60. package/_internal/app/hooks/use-schedule.d.ts +63 -0
  61. package/_internal/app/hooks/use-search.d.ts +65 -0
  62. package/_internal/app/hooks/use-sidebar.d.ts +4 -0
  63. package/_internal/app/hooks/use-sse.d.ts +1 -0
  64. package/_internal/app/hooks/use-toast.d.ts +16 -0
  65. package/_internal/app/hooks/use-vertical-resize.d.ts +22 -0
  66. package/_internal/app/lib/browser-notify.d.ts +5 -0
  67. package/_internal/app/lib/map-audit-message.d.ts +7 -0
  68. package/_internal/app/lib/utils.d.ts +2 -0
  69. package/_internal/app/types/index.d.ts +126 -0
  70. package/_internal/core/adapters/runtime/capabilities.d.ts +2 -0
  71. package/_internal/core/adapters/runtime/concepts.d.ts +458 -0
  72. package/_internal/core/adapters/runtime/helpers.d.ts +5 -0
  73. package/_internal/core/adapters/runtime/index.d.ts +5 -0
  74. package/_internal/core/adapters/shared.d.ts +37 -0
  75. package/_internal/core/docs/index.d.ts +2 -0
  76. package/_internal/core/docs/metadata.d.ts +92 -0
  77. package/_internal/core/docs/route.d.ts +9 -0
  78. package/_internal/core/format.d.ts +6 -0
  79. package/_internal/core/openapi/errors.d.ts +29 -0
  80. package/_internal/core/openapi/zod-to-openapi.d.ts +14 -0
  81. package/_internal/core/plugin-types.d.ts +849 -0
  82. package/_internal/core/routing/define.d.ts +34 -0
  83. package/_internal/core/routing/dispatcher.d.ts +44 -0
  84. package/_internal/core/routing/index.d.ts +15 -0
  85. package/_internal/core/routing/operation-id.d.ts +9 -0
  86. package/_internal/core/routing/registry.d.ts +52 -0
  87. package/_internal/core/routing/search-route.d.ts +26 -0
  88. package/_internal/core/routing/types.d.ts +123 -0
  89. package/_internal/plugins/team/hooks/use-agent-store.d.ts +49 -0
  90. package/_internal/plugins/team/types.d.ts +131 -0
  91. package/_internal/plugins/workflows/hooks/channel-icon.d.ts +6 -0
  92. package/_internal/plugins/workflows/hooks/use-notification-channels.d.ts +13 -0
  93. package/_internal/plugins/workflows/lib/notification-channel-registry.d.ts +26 -0
  94. package/components/index.d.ts +33 -0
  95. package/components/index.js +39522 -0
  96. package/hooks/index.d.ts +25 -0
  97. package/hooks/index.js +1738 -0
  98. package/hooks/router.d.ts +38 -0
  99. package/index.d.ts +27 -0
  100. package/index.js +13917 -0
  101. package/metadata/index.d.ts +16 -0
  102. package/metadata/index.js +31 -0
  103. package/package.json +88 -0
  104. package/register.d.ts +103 -0
  105. package/routing/index.d.ts +11 -0
  106. package/routing/index.js +13721 -0
  107. package/slots/index.d.ts +55 -0
  108. package/slots/index.js +92 -0
  109. package/types/index.d.ts +840 -0
  110. package/types/index.js +1 -0
  111. package/ui/index.d.ts +34 -0
  112. package/ui/index.js +28713 -0
  113. package/utils/index.d.ts +9 -0
  114. package/utils/index.js +1832 -0
package/utils/index.js ADDED
@@ -0,0 +1,1832 @@
1
+ // @bun
2
+ // node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
3
+ function r(e) {
4
+ var t, f, n = "";
5
+ if (typeof e == "string" || typeof e == "number")
6
+ n += e;
7
+ else if (typeof e == "object")
8
+ if (Array.isArray(e)) {
9
+ var o = e.length;
10
+ for (t = 0;t < o; t++)
11
+ e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
12
+ } else
13
+ for (f in e)
14
+ e[f] && (n && (n += " "), n += f);
15
+ return n;
16
+ }
17
+ function clsx() {
18
+ for (var e, t, f = 0, n = "", o = arguments.length;f < o; f++)
19
+ (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
20
+ return n;
21
+ }
22
+
23
+ // node_modules/.bun/tailwind-merge@3.5.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs
24
+ var concatArrays = (array1, array2) => {
25
+ const combinedArray = new Array(array1.length + array2.length);
26
+ for (let i = 0;i < array1.length; i++) {
27
+ combinedArray[i] = array1[i];
28
+ }
29
+ for (let i = 0;i < array2.length; i++) {
30
+ combinedArray[array1.length + i] = array2[i];
31
+ }
32
+ return combinedArray;
33
+ };
34
+ var createClassValidatorObject = (classGroupId, validator) => ({
35
+ classGroupId,
36
+ validator
37
+ });
38
+ var createClassPartObject = (nextPart = new Map, validators = null, classGroupId) => ({
39
+ nextPart,
40
+ validators,
41
+ classGroupId
42
+ });
43
+ var CLASS_PART_SEPARATOR = "-";
44
+ var EMPTY_CONFLICTS = [];
45
+ var ARBITRARY_PROPERTY_PREFIX = "arbitrary..";
46
+ var createClassGroupUtils = (config) => {
47
+ const classMap = createClassMap(config);
48
+ const {
49
+ conflictingClassGroups,
50
+ conflictingClassGroupModifiers
51
+ } = config;
52
+ const getClassGroupId = (className) => {
53
+ if (className.startsWith("[") && className.endsWith("]")) {
54
+ return getGroupIdForArbitraryProperty(className);
55
+ }
56
+ const classParts = className.split(CLASS_PART_SEPARATOR);
57
+ const startIndex = classParts[0] === "" && classParts.length > 1 ? 1 : 0;
58
+ return getGroupRecursive(classParts, startIndex, classMap);
59
+ };
60
+ const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {
61
+ if (hasPostfixModifier) {
62
+ const modifierConflicts = conflictingClassGroupModifiers[classGroupId];
63
+ const baseConflicts = conflictingClassGroups[classGroupId];
64
+ if (modifierConflicts) {
65
+ if (baseConflicts) {
66
+ return concatArrays(baseConflicts, modifierConflicts);
67
+ }
68
+ return modifierConflicts;
69
+ }
70
+ return baseConflicts || EMPTY_CONFLICTS;
71
+ }
72
+ return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS;
73
+ };
74
+ return {
75
+ getClassGroupId,
76
+ getConflictingClassGroupIds
77
+ };
78
+ };
79
+ var getGroupRecursive = (classParts, startIndex, classPartObject) => {
80
+ const classPathsLength = classParts.length - startIndex;
81
+ if (classPathsLength === 0) {
82
+ return classPartObject.classGroupId;
83
+ }
84
+ const currentClassPart = classParts[startIndex];
85
+ const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);
86
+ if (nextClassPartObject) {
87
+ const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject);
88
+ if (result)
89
+ return result;
90
+ }
91
+ const validators = classPartObject.validators;
92
+ if (validators === null) {
93
+ return;
94
+ }
95
+ const classRest = startIndex === 0 ? classParts.join(CLASS_PART_SEPARATOR) : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR);
96
+ const validatorsLength = validators.length;
97
+ for (let i = 0;i < validatorsLength; i++) {
98
+ const validatorObj = validators[i];
99
+ if (validatorObj.validator(classRest)) {
100
+ return validatorObj.classGroupId;
101
+ }
102
+ }
103
+ return;
104
+ };
105
+ var getGroupIdForArbitraryProperty = (className) => className.slice(1, -1).indexOf(":") === -1 ? undefined : (() => {
106
+ const content = className.slice(1, -1);
107
+ const colonIndex = content.indexOf(":");
108
+ const property = content.slice(0, colonIndex);
109
+ return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined;
110
+ })();
111
+ var createClassMap = (config) => {
112
+ const {
113
+ theme,
114
+ classGroups
115
+ } = config;
116
+ return processClassGroups(classGroups, theme);
117
+ };
118
+ var processClassGroups = (classGroups, theme) => {
119
+ const classMap = createClassPartObject();
120
+ for (const classGroupId in classGroups) {
121
+ const group = classGroups[classGroupId];
122
+ processClassesRecursively(group, classMap, classGroupId, theme);
123
+ }
124
+ return classMap;
125
+ };
126
+ var processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {
127
+ const len = classGroup.length;
128
+ for (let i = 0;i < len; i++) {
129
+ const classDefinition = classGroup[i];
130
+ processClassDefinition(classDefinition, classPartObject, classGroupId, theme);
131
+ }
132
+ };
133
+ var processClassDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
134
+ if (typeof classDefinition === "string") {
135
+ processStringDefinition(classDefinition, classPartObject, classGroupId);
136
+ return;
137
+ }
138
+ if (typeof classDefinition === "function") {
139
+ processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme);
140
+ return;
141
+ }
142
+ processObjectDefinition(classDefinition, classPartObject, classGroupId, theme);
143
+ };
144
+ var processStringDefinition = (classDefinition, classPartObject, classGroupId) => {
145
+ const classPartObjectToEdit = classDefinition === "" ? classPartObject : getPart(classPartObject, classDefinition);
146
+ classPartObjectToEdit.classGroupId = classGroupId;
147
+ };
148
+ var processFunctionDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
149
+ if (isThemeGetter(classDefinition)) {
150
+ processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);
151
+ return;
152
+ }
153
+ if (classPartObject.validators === null) {
154
+ classPartObject.validators = [];
155
+ }
156
+ classPartObject.validators.push(createClassValidatorObject(classGroupId, classDefinition));
157
+ };
158
+ var processObjectDefinition = (classDefinition, classPartObject, classGroupId, theme) => {
159
+ const entries = Object.entries(classDefinition);
160
+ const len = entries.length;
161
+ for (let i = 0;i < len; i++) {
162
+ const [key, value] = entries[i];
163
+ processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme);
164
+ }
165
+ };
166
+ var getPart = (classPartObject, path) => {
167
+ let current = classPartObject;
168
+ const parts = path.split(CLASS_PART_SEPARATOR);
169
+ const len = parts.length;
170
+ for (let i = 0;i < len; i++) {
171
+ const part = parts[i];
172
+ let next = current.nextPart.get(part);
173
+ if (!next) {
174
+ next = createClassPartObject();
175
+ current.nextPart.set(part, next);
176
+ }
177
+ current = next;
178
+ }
179
+ return current;
180
+ };
181
+ var isThemeGetter = (func) => ("isThemeGetter" in func) && func.isThemeGetter === true;
182
+ var createLruCache = (maxCacheSize) => {
183
+ if (maxCacheSize < 1) {
184
+ return {
185
+ get: () => {
186
+ return;
187
+ },
188
+ set: () => {}
189
+ };
190
+ }
191
+ let cacheSize = 0;
192
+ let cache = Object.create(null);
193
+ let previousCache = Object.create(null);
194
+ const update = (key, value) => {
195
+ cache[key] = value;
196
+ cacheSize++;
197
+ if (cacheSize > maxCacheSize) {
198
+ cacheSize = 0;
199
+ previousCache = cache;
200
+ cache = Object.create(null);
201
+ }
202
+ };
203
+ return {
204
+ get(key) {
205
+ let value = cache[key];
206
+ if (value !== undefined) {
207
+ return value;
208
+ }
209
+ if ((value = previousCache[key]) !== undefined) {
210
+ update(key, value);
211
+ return value;
212
+ }
213
+ },
214
+ set(key, value) {
215
+ if (key in cache) {
216
+ cache[key] = value;
217
+ } else {
218
+ update(key, value);
219
+ }
220
+ }
221
+ };
222
+ };
223
+ var IMPORTANT_MODIFIER = "!";
224
+ var MODIFIER_SEPARATOR = ":";
225
+ var EMPTY_MODIFIERS = [];
226
+ var createResultObject = (modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition, isExternal) => ({
227
+ modifiers,
228
+ hasImportantModifier,
229
+ baseClassName,
230
+ maybePostfixModifierPosition,
231
+ isExternal
232
+ });
233
+ var createParseClassName = (config) => {
234
+ const {
235
+ prefix,
236
+ experimentalParseClassName
237
+ } = config;
238
+ let parseClassName = (className) => {
239
+ const modifiers = [];
240
+ let bracketDepth = 0;
241
+ let parenDepth = 0;
242
+ let modifierStart = 0;
243
+ let postfixModifierPosition;
244
+ const len = className.length;
245
+ for (let index = 0;index < len; index++) {
246
+ const currentCharacter = className[index];
247
+ if (bracketDepth === 0 && parenDepth === 0) {
248
+ if (currentCharacter === MODIFIER_SEPARATOR) {
249
+ modifiers.push(className.slice(modifierStart, index));
250
+ modifierStart = index + 1;
251
+ continue;
252
+ }
253
+ if (currentCharacter === "/") {
254
+ postfixModifierPosition = index;
255
+ continue;
256
+ }
257
+ }
258
+ if (currentCharacter === "[")
259
+ bracketDepth++;
260
+ else if (currentCharacter === "]")
261
+ bracketDepth--;
262
+ else if (currentCharacter === "(")
263
+ parenDepth++;
264
+ else if (currentCharacter === ")")
265
+ parenDepth--;
266
+ }
267
+ const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.slice(modifierStart);
268
+ let baseClassName = baseClassNameWithImportantModifier;
269
+ let hasImportantModifier = false;
270
+ if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {
271
+ baseClassName = baseClassNameWithImportantModifier.slice(0, -1);
272
+ hasImportantModifier = true;
273
+ } else if (baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)) {
274
+ baseClassName = baseClassNameWithImportantModifier.slice(1);
275
+ hasImportantModifier = true;
276
+ }
277
+ const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;
278
+ return createResultObject(modifiers, hasImportantModifier, baseClassName, maybePostfixModifierPosition);
279
+ };
280
+ if (prefix) {
281
+ const fullPrefix = prefix + MODIFIER_SEPARATOR;
282
+ const parseClassNameOriginal = parseClassName;
283
+ parseClassName = (className) => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.slice(fullPrefix.length)) : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true);
284
+ }
285
+ if (experimentalParseClassName) {
286
+ const parseClassNameOriginal = parseClassName;
287
+ parseClassName = (className) => experimentalParseClassName({
288
+ className,
289
+ parseClassName: parseClassNameOriginal
290
+ });
291
+ }
292
+ return parseClassName;
293
+ };
294
+ var createSortModifiers = (config) => {
295
+ const modifierWeights = new Map;
296
+ config.orderSensitiveModifiers.forEach((mod, index) => {
297
+ modifierWeights.set(mod, 1e6 + index);
298
+ });
299
+ return (modifiers) => {
300
+ const result = [];
301
+ let currentSegment = [];
302
+ for (let i = 0;i < modifiers.length; i++) {
303
+ const modifier = modifiers[i];
304
+ const isArbitrary = modifier[0] === "[";
305
+ const isOrderSensitive = modifierWeights.has(modifier);
306
+ if (isArbitrary || isOrderSensitive) {
307
+ if (currentSegment.length > 0) {
308
+ currentSegment.sort();
309
+ result.push(...currentSegment);
310
+ currentSegment = [];
311
+ }
312
+ result.push(modifier);
313
+ } else {
314
+ currentSegment.push(modifier);
315
+ }
316
+ }
317
+ if (currentSegment.length > 0) {
318
+ currentSegment.sort();
319
+ result.push(...currentSegment);
320
+ }
321
+ return result;
322
+ };
323
+ };
324
+ var createConfigUtils = (config) => ({
325
+ cache: createLruCache(config.cacheSize),
326
+ parseClassName: createParseClassName(config),
327
+ sortModifiers: createSortModifiers(config),
328
+ ...createClassGroupUtils(config)
329
+ });
330
+ var SPLIT_CLASSES_REGEX = /\s+/;
331
+ var mergeClassList = (classList, configUtils) => {
332
+ const {
333
+ parseClassName,
334
+ getClassGroupId,
335
+ getConflictingClassGroupIds,
336
+ sortModifiers
337
+ } = configUtils;
338
+ const classGroupsInConflict = [];
339
+ const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);
340
+ let result = "";
341
+ for (let index = classNames.length - 1;index >= 0; index -= 1) {
342
+ const originalClassName = classNames[index];
343
+ const {
344
+ isExternal,
345
+ modifiers,
346
+ hasImportantModifier,
347
+ baseClassName,
348
+ maybePostfixModifierPosition
349
+ } = parseClassName(originalClassName);
350
+ if (isExternal) {
351
+ result = originalClassName + (result.length > 0 ? " " + result : result);
352
+ continue;
353
+ }
354
+ let hasPostfixModifier = !!maybePostfixModifierPosition;
355
+ let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);
356
+ if (!classGroupId) {
357
+ if (!hasPostfixModifier) {
358
+ result = originalClassName + (result.length > 0 ? " " + result : result);
359
+ continue;
360
+ }
361
+ classGroupId = getClassGroupId(baseClassName);
362
+ if (!classGroupId) {
363
+ result = originalClassName + (result.length > 0 ? " " + result : result);
364
+ continue;
365
+ }
366
+ hasPostfixModifier = false;
367
+ }
368
+ const variantModifier = modifiers.length === 0 ? "" : modifiers.length === 1 ? modifiers[0] : sortModifiers(modifiers).join(":");
369
+ const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;
370
+ const classId = modifierId + classGroupId;
371
+ if (classGroupsInConflict.indexOf(classId) > -1) {
372
+ continue;
373
+ }
374
+ classGroupsInConflict.push(classId);
375
+ const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);
376
+ for (let i = 0;i < conflictGroups.length; ++i) {
377
+ const group = conflictGroups[i];
378
+ classGroupsInConflict.push(modifierId + group);
379
+ }
380
+ result = originalClassName + (result.length > 0 ? " " + result : result);
381
+ }
382
+ return result;
383
+ };
384
+ var twJoin = (...classLists) => {
385
+ let index = 0;
386
+ let argument;
387
+ let resolvedValue;
388
+ let string = "";
389
+ while (index < classLists.length) {
390
+ if (argument = classLists[index++]) {
391
+ if (resolvedValue = toValue(argument)) {
392
+ string && (string += " ");
393
+ string += resolvedValue;
394
+ }
395
+ }
396
+ }
397
+ return string;
398
+ };
399
+ var toValue = (mix) => {
400
+ if (typeof mix === "string") {
401
+ return mix;
402
+ }
403
+ let resolvedValue;
404
+ let string = "";
405
+ for (let k = 0;k < mix.length; k++) {
406
+ if (mix[k]) {
407
+ if (resolvedValue = toValue(mix[k])) {
408
+ string && (string += " ");
409
+ string += resolvedValue;
410
+ }
411
+ }
412
+ }
413
+ return string;
414
+ };
415
+ var createTailwindMerge = (createConfigFirst, ...createConfigRest) => {
416
+ let configUtils;
417
+ let cacheGet;
418
+ let cacheSet;
419
+ let functionToCall;
420
+ const initTailwindMerge = (classList) => {
421
+ const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());
422
+ configUtils = createConfigUtils(config);
423
+ cacheGet = configUtils.cache.get;
424
+ cacheSet = configUtils.cache.set;
425
+ functionToCall = tailwindMerge;
426
+ return tailwindMerge(classList);
427
+ };
428
+ const tailwindMerge = (classList) => {
429
+ const cachedResult = cacheGet(classList);
430
+ if (cachedResult) {
431
+ return cachedResult;
432
+ }
433
+ const result = mergeClassList(classList, configUtils);
434
+ cacheSet(classList, result);
435
+ return result;
436
+ };
437
+ functionToCall = initTailwindMerge;
438
+ return (...args) => functionToCall(twJoin(...args));
439
+ };
440
+ var fallbackThemeArr = [];
441
+ var fromTheme = (key) => {
442
+ const themeGetter = (theme) => theme[key] || fallbackThemeArr;
443
+ themeGetter.isThemeGetter = true;
444
+ return themeGetter;
445
+ };
446
+ var arbitraryValueRegex = /^\[(?:(\w[\w-]*):)?(.+)\]$/i;
447
+ var arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
448
+ var fractionRegex = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/;
449
+ var tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
450
+ 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$/;
451
+ var colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
452
+ var shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
453
+ var imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
454
+ var isFraction = (value) => fractionRegex.test(value);
455
+ var isNumber = (value) => !!value && !Number.isNaN(Number(value));
456
+ var isInteger = (value) => !!value && Number.isInteger(Number(value));
457
+ var isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
458
+ var isTshirtSize = (value) => tshirtUnitRegex.test(value);
459
+ var isAny = () => true;
460
+ var isLengthOnly = (value) => lengthUnitRegex.test(value) && !colorFunctionRegex.test(value);
461
+ var isNever = () => false;
462
+ var isShadow = (value) => shadowRegex.test(value);
463
+ var isImage = (value) => imageRegex.test(value);
464
+ var isAnyNonArbitrary = (value) => !isArbitraryValue(value) && !isArbitraryVariable(value);
465
+ var isArbitrarySize = (value) => getIsArbitraryValue(value, isLabelSize, isNever);
466
+ var isArbitraryValue = (value) => arbitraryValueRegex.test(value);
467
+ var isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, isLengthOnly);
468
+ var isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
469
+ var isArbitraryWeight = (value) => getIsArbitraryValue(value, isLabelWeight, isAny);
470
+ var isArbitraryFamilyName = (value) => getIsArbitraryValue(value, isLabelFamilyName, isNever);
471
+ var isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
472
+ var isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
473
+ var isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
474
+ var isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
475
+ var isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
476
+ var isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
477
+ var isArbitraryVariablePosition = (value) => getIsArbitraryVariable(value, isLabelPosition);
478
+ var isArbitraryVariableSize = (value) => getIsArbitraryVariable(value, isLabelSize);
479
+ var isArbitraryVariableImage = (value) => getIsArbitraryVariable(value, isLabelImage);
480
+ var isArbitraryVariableShadow = (value) => getIsArbitraryVariable(value, isLabelShadow, true);
481
+ var isArbitraryVariableWeight = (value) => getIsArbitraryVariable(value, isLabelWeight, true);
482
+ var getIsArbitraryValue = (value, testLabel, testValue) => {
483
+ const result = arbitraryValueRegex.exec(value);
484
+ if (result) {
485
+ if (result[1]) {
486
+ return testLabel(result[1]);
487
+ }
488
+ return testValue(result[2]);
489
+ }
490
+ return false;
491
+ };
492
+ var getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {
493
+ const result = arbitraryVariableRegex.exec(value);
494
+ if (result) {
495
+ if (result[1]) {
496
+ return testLabel(result[1]);
497
+ }
498
+ return shouldMatchNoLabel;
499
+ }
500
+ return false;
501
+ };
502
+ var isLabelPosition = (label) => label === "position" || label === "percentage";
503
+ var isLabelImage = (label) => label === "image" || label === "url";
504
+ var isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
505
+ var isLabelLength = (label) => label === "length";
506
+ var isLabelNumber = (label) => label === "number";
507
+ var isLabelFamilyName = (label) => label === "family-name";
508
+ var isLabelWeight = (label) => label === "number" || label === "weight";
509
+ var isLabelShadow = (label) => label === "shadow";
510
+ var getDefaultConfig = () => {
511
+ const themeColor = fromTheme("color");
512
+ const themeFont = fromTheme("font");
513
+ const themeText = fromTheme("text");
514
+ const themeFontWeight = fromTheme("font-weight");
515
+ const themeTracking = fromTheme("tracking");
516
+ const themeLeading = fromTheme("leading");
517
+ const themeBreakpoint = fromTheme("breakpoint");
518
+ const themeContainer = fromTheme("container");
519
+ const themeSpacing = fromTheme("spacing");
520
+ const themeRadius = fromTheme("radius");
521
+ const themeShadow = fromTheme("shadow");
522
+ const themeInsetShadow = fromTheme("inset-shadow");
523
+ const themeTextShadow = fromTheme("text-shadow");
524
+ const themeDropShadow = fromTheme("drop-shadow");
525
+ const themeBlur = fromTheme("blur");
526
+ const themePerspective = fromTheme("perspective");
527
+ const themeAspect = fromTheme("aspect");
528
+ const themeEase = fromTheme("ease");
529
+ const themeAnimate = fromTheme("animate");
530
+ const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
531
+ const scalePosition = () => [
532
+ "center",
533
+ "top",
534
+ "bottom",
535
+ "left",
536
+ "right",
537
+ "top-left",
538
+ "left-top",
539
+ "top-right",
540
+ "right-top",
541
+ "bottom-right",
542
+ "right-bottom",
543
+ "bottom-left",
544
+ "left-bottom"
545
+ ];
546
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
547
+ const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
548
+ const scaleOverscroll = () => ["auto", "contain", "none"];
549
+ const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
550
+ const scaleInset = () => [isFraction, "full", "auto", ...scaleUnambiguousSpacing()];
551
+ const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
552
+ const scaleGridColRowStartAndEnd = () => ["auto", {
553
+ span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
554
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
555
+ const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
556
+ const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
557
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
558
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
559
+ const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
560
+ const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
561
+ const scaleSizingInline = () => [isFraction, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...scaleUnambiguousSpacing()];
562
+ const scaleSizingBlock = () => [isFraction, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
563
+ const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
564
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
565
+ position: [isArbitraryVariable, isArbitraryValue]
566
+ }];
567
+ const scaleBgRepeat = () => ["no-repeat", {
568
+ repeat: ["", "x", "y", "space", "round"]
569
+ }];
570
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
571
+ size: [isArbitraryVariable, isArbitraryValue]
572
+ }];
573
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
574
+ const scaleRadius = () => [
575
+ "",
576
+ "none",
577
+ "full",
578
+ themeRadius,
579
+ isArbitraryVariable,
580
+ isArbitraryValue
581
+ ];
582
+ const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
583
+ const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
584
+ const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
585
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
586
+ const scaleBlur = () => [
587
+ "",
588
+ "none",
589
+ themeBlur,
590
+ isArbitraryVariable,
591
+ isArbitraryValue
592
+ ];
593
+ const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
594
+ const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
595
+ const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
596
+ const scaleTranslate = () => [isFraction, "full", ...scaleUnambiguousSpacing()];
597
+ return {
598
+ cacheSize: 500,
599
+ theme: {
600
+ animate: ["spin", "ping", "pulse", "bounce"],
601
+ aspect: ["video"],
602
+ blur: [isTshirtSize],
603
+ breakpoint: [isTshirtSize],
604
+ color: [isAny],
605
+ container: [isTshirtSize],
606
+ "drop-shadow": [isTshirtSize],
607
+ ease: ["in", "out", "in-out"],
608
+ font: [isAnyNonArbitrary],
609
+ "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
610
+ "inset-shadow": [isTshirtSize],
611
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
612
+ perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
613
+ radius: [isTshirtSize],
614
+ shadow: [isTshirtSize],
615
+ spacing: ["px", isNumber],
616
+ text: [isTshirtSize],
617
+ "text-shadow": [isTshirtSize],
618
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
619
+ },
620
+ classGroups: {
621
+ aspect: [{
622
+ aspect: ["auto", "square", isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]
623
+ }],
624
+ container: ["container"],
625
+ columns: [{
626
+ columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]
627
+ }],
628
+ "break-after": [{
629
+ "break-after": scaleBreak()
630
+ }],
631
+ "break-before": [{
632
+ "break-before": scaleBreak()
633
+ }],
634
+ "break-inside": [{
635
+ "break-inside": ["auto", "avoid", "avoid-page", "avoid-column"]
636
+ }],
637
+ "box-decoration": [{
638
+ "box-decoration": ["slice", "clone"]
639
+ }],
640
+ box: [{
641
+ box: ["border", "content"]
642
+ }],
643
+ 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"],
644
+ sr: ["sr-only", "not-sr-only"],
645
+ float: [{
646
+ float: ["right", "left", "none", "start", "end"]
647
+ }],
648
+ clear: [{
649
+ clear: ["left", "right", "both", "none", "start", "end"]
650
+ }],
651
+ isolation: ["isolate", "isolation-auto"],
652
+ "object-fit": [{
653
+ object: ["contain", "cover", "fill", "none", "scale-down"]
654
+ }],
655
+ "object-position": [{
656
+ object: scalePositionWithArbitrary()
657
+ }],
658
+ overflow: [{
659
+ overflow: scaleOverflow()
660
+ }],
661
+ "overflow-x": [{
662
+ "overflow-x": scaleOverflow()
663
+ }],
664
+ "overflow-y": [{
665
+ "overflow-y": scaleOverflow()
666
+ }],
667
+ overscroll: [{
668
+ overscroll: scaleOverscroll()
669
+ }],
670
+ "overscroll-x": [{
671
+ "overscroll-x": scaleOverscroll()
672
+ }],
673
+ "overscroll-y": [{
674
+ "overscroll-y": scaleOverscroll()
675
+ }],
676
+ position: ["static", "fixed", "absolute", "relative", "sticky"],
677
+ inset: [{
678
+ inset: scaleInset()
679
+ }],
680
+ "inset-x": [{
681
+ "inset-x": scaleInset()
682
+ }],
683
+ "inset-y": [{
684
+ "inset-y": scaleInset()
685
+ }],
686
+ start: [{
687
+ "inset-s": scaleInset(),
688
+ start: scaleInset()
689
+ }],
690
+ end: [{
691
+ "inset-e": scaleInset(),
692
+ end: scaleInset()
693
+ }],
694
+ "inset-bs": [{
695
+ "inset-bs": scaleInset()
696
+ }],
697
+ "inset-be": [{
698
+ "inset-be": scaleInset()
699
+ }],
700
+ top: [{
701
+ top: scaleInset()
702
+ }],
703
+ right: [{
704
+ right: scaleInset()
705
+ }],
706
+ bottom: [{
707
+ bottom: scaleInset()
708
+ }],
709
+ left: [{
710
+ left: scaleInset()
711
+ }],
712
+ visibility: ["visible", "invisible", "collapse"],
713
+ z: [{
714
+ z: [isInteger, "auto", isArbitraryVariable, isArbitraryValue]
715
+ }],
716
+ basis: [{
717
+ basis: [isFraction, "full", "auto", themeContainer, ...scaleUnambiguousSpacing()]
718
+ }],
719
+ "flex-direction": [{
720
+ flex: ["row", "row-reverse", "col", "col-reverse"]
721
+ }],
722
+ "flex-wrap": [{
723
+ flex: ["nowrap", "wrap", "wrap-reverse"]
724
+ }],
725
+ flex: [{
726
+ flex: [isNumber, isFraction, "auto", "initial", "none", isArbitraryValue]
727
+ }],
728
+ grow: [{
729
+ grow: ["", isNumber, isArbitraryVariable, isArbitraryValue]
730
+ }],
731
+ shrink: [{
732
+ shrink: ["", isNumber, isArbitraryVariable, isArbitraryValue]
733
+ }],
734
+ order: [{
735
+ order: [isInteger, "first", "last", "none", isArbitraryVariable, isArbitraryValue]
736
+ }],
737
+ "grid-cols": [{
738
+ "grid-cols": scaleGridTemplateColsRows()
739
+ }],
740
+ "col-start-end": [{
741
+ col: scaleGridColRowStartAndEnd()
742
+ }],
743
+ "col-start": [{
744
+ "col-start": scaleGridColRowStartOrEnd()
745
+ }],
746
+ "col-end": [{
747
+ "col-end": scaleGridColRowStartOrEnd()
748
+ }],
749
+ "grid-rows": [{
750
+ "grid-rows": scaleGridTemplateColsRows()
751
+ }],
752
+ "row-start-end": [{
753
+ row: scaleGridColRowStartAndEnd()
754
+ }],
755
+ "row-start": [{
756
+ "row-start": scaleGridColRowStartOrEnd()
757
+ }],
758
+ "row-end": [{
759
+ "row-end": scaleGridColRowStartOrEnd()
760
+ }],
761
+ "grid-flow": [{
762
+ "grid-flow": ["row", "col", "dense", "row-dense", "col-dense"]
763
+ }],
764
+ "auto-cols": [{
765
+ "auto-cols": scaleGridAutoColsRows()
766
+ }],
767
+ "auto-rows": [{
768
+ "auto-rows": scaleGridAutoColsRows()
769
+ }],
770
+ gap: [{
771
+ gap: scaleUnambiguousSpacing()
772
+ }],
773
+ "gap-x": [{
774
+ "gap-x": scaleUnambiguousSpacing()
775
+ }],
776
+ "gap-y": [{
777
+ "gap-y": scaleUnambiguousSpacing()
778
+ }],
779
+ "justify-content": [{
780
+ justify: [...scaleAlignPrimaryAxis(), "normal"]
781
+ }],
782
+ "justify-items": [{
783
+ "justify-items": [...scaleAlignSecondaryAxis(), "normal"]
784
+ }],
785
+ "justify-self": [{
786
+ "justify-self": ["auto", ...scaleAlignSecondaryAxis()]
787
+ }],
788
+ "align-content": [{
789
+ content: ["normal", ...scaleAlignPrimaryAxis()]
790
+ }],
791
+ "align-items": [{
792
+ items: [...scaleAlignSecondaryAxis(), {
793
+ baseline: ["", "last"]
794
+ }]
795
+ }],
796
+ "align-self": [{
797
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
798
+ baseline: ["", "last"]
799
+ }]
800
+ }],
801
+ "place-content": [{
802
+ "place-content": scaleAlignPrimaryAxis()
803
+ }],
804
+ "place-items": [{
805
+ "place-items": [...scaleAlignSecondaryAxis(), "baseline"]
806
+ }],
807
+ "place-self": [{
808
+ "place-self": ["auto", ...scaleAlignSecondaryAxis()]
809
+ }],
810
+ p: [{
811
+ p: scaleUnambiguousSpacing()
812
+ }],
813
+ px: [{
814
+ px: scaleUnambiguousSpacing()
815
+ }],
816
+ py: [{
817
+ py: scaleUnambiguousSpacing()
818
+ }],
819
+ ps: [{
820
+ ps: scaleUnambiguousSpacing()
821
+ }],
822
+ pe: [{
823
+ pe: scaleUnambiguousSpacing()
824
+ }],
825
+ pbs: [{
826
+ pbs: scaleUnambiguousSpacing()
827
+ }],
828
+ pbe: [{
829
+ pbe: scaleUnambiguousSpacing()
830
+ }],
831
+ pt: [{
832
+ pt: scaleUnambiguousSpacing()
833
+ }],
834
+ pr: [{
835
+ pr: scaleUnambiguousSpacing()
836
+ }],
837
+ pb: [{
838
+ pb: scaleUnambiguousSpacing()
839
+ }],
840
+ pl: [{
841
+ pl: scaleUnambiguousSpacing()
842
+ }],
843
+ m: [{
844
+ m: scaleMargin()
845
+ }],
846
+ mx: [{
847
+ mx: scaleMargin()
848
+ }],
849
+ my: [{
850
+ my: scaleMargin()
851
+ }],
852
+ ms: [{
853
+ ms: scaleMargin()
854
+ }],
855
+ me: [{
856
+ me: scaleMargin()
857
+ }],
858
+ mbs: [{
859
+ mbs: scaleMargin()
860
+ }],
861
+ mbe: [{
862
+ mbe: scaleMargin()
863
+ }],
864
+ mt: [{
865
+ mt: scaleMargin()
866
+ }],
867
+ mr: [{
868
+ mr: scaleMargin()
869
+ }],
870
+ mb: [{
871
+ mb: scaleMargin()
872
+ }],
873
+ ml: [{
874
+ ml: scaleMargin()
875
+ }],
876
+ "space-x": [{
877
+ "space-x": scaleUnambiguousSpacing()
878
+ }],
879
+ "space-x-reverse": ["space-x-reverse"],
880
+ "space-y": [{
881
+ "space-y": scaleUnambiguousSpacing()
882
+ }],
883
+ "space-y-reverse": ["space-y-reverse"],
884
+ size: [{
885
+ size: scaleSizing()
886
+ }],
887
+ "inline-size": [{
888
+ inline: ["auto", ...scaleSizingInline()]
889
+ }],
890
+ "min-inline-size": [{
891
+ "min-inline": ["auto", ...scaleSizingInline()]
892
+ }],
893
+ "max-inline-size": [{
894
+ "max-inline": ["none", ...scaleSizingInline()]
895
+ }],
896
+ "block-size": [{
897
+ block: ["auto", ...scaleSizingBlock()]
898
+ }],
899
+ "min-block-size": [{
900
+ "min-block": ["auto", ...scaleSizingBlock()]
901
+ }],
902
+ "max-block-size": [{
903
+ "max-block": ["none", ...scaleSizingBlock()]
904
+ }],
905
+ w: [{
906
+ w: [themeContainer, "screen", ...scaleSizing()]
907
+ }],
908
+ "min-w": [{
909
+ "min-w": [
910
+ themeContainer,
911
+ "screen",
912
+ "none",
913
+ ...scaleSizing()
914
+ ]
915
+ }],
916
+ "max-w": [{
917
+ "max-w": [
918
+ themeContainer,
919
+ "screen",
920
+ "none",
921
+ "prose",
922
+ {
923
+ screen: [themeBreakpoint]
924
+ },
925
+ ...scaleSizing()
926
+ ]
927
+ }],
928
+ h: [{
929
+ h: ["screen", "lh", ...scaleSizing()]
930
+ }],
931
+ "min-h": [{
932
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
933
+ }],
934
+ "max-h": [{
935
+ "max-h": ["screen", "lh", ...scaleSizing()]
936
+ }],
937
+ "font-size": [{
938
+ text: ["base", themeText, isArbitraryVariableLength, isArbitraryLength]
939
+ }],
940
+ "font-smoothing": ["antialiased", "subpixel-antialiased"],
941
+ "font-style": ["italic", "not-italic"],
942
+ "font-weight": [{
943
+ font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight]
944
+ }],
945
+ "font-stretch": [{
946
+ "font-stretch": ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded", isPercent, isArbitraryValue]
947
+ }],
948
+ "font-family": [{
949
+ font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont]
950
+ }],
951
+ "font-features": [{
952
+ "font-features": [isArbitraryValue]
953
+ }],
954
+ "fvn-normal": ["normal-nums"],
955
+ "fvn-ordinal": ["ordinal"],
956
+ "fvn-slashed-zero": ["slashed-zero"],
957
+ "fvn-figure": ["lining-nums", "oldstyle-nums"],
958
+ "fvn-spacing": ["proportional-nums", "tabular-nums"],
959
+ "fvn-fraction": ["diagonal-fractions", "stacked-fractions"],
960
+ tracking: [{
961
+ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]
962
+ }],
963
+ "line-clamp": [{
964
+ "line-clamp": [isNumber, "none", isArbitraryVariable, isArbitraryNumber]
965
+ }],
966
+ leading: [{
967
+ leading: [
968
+ themeLeading,
969
+ ...scaleUnambiguousSpacing()
970
+ ]
971
+ }],
972
+ "list-image": [{
973
+ "list-image": ["none", isArbitraryVariable, isArbitraryValue]
974
+ }],
975
+ "list-style-position": [{
976
+ list: ["inside", "outside"]
977
+ }],
978
+ "list-style-type": [{
979
+ list: ["disc", "decimal", "none", isArbitraryVariable, isArbitraryValue]
980
+ }],
981
+ "text-alignment": [{
982
+ text: ["left", "center", "right", "justify", "start", "end"]
983
+ }],
984
+ "placeholder-color": [{
985
+ placeholder: scaleColor()
986
+ }],
987
+ "text-color": [{
988
+ text: scaleColor()
989
+ }],
990
+ "text-decoration": ["underline", "overline", "line-through", "no-underline"],
991
+ "text-decoration-style": [{
992
+ decoration: [...scaleLineStyle(), "wavy"]
993
+ }],
994
+ "text-decoration-thickness": [{
995
+ decoration: [isNumber, "from-font", "auto", isArbitraryVariable, isArbitraryLength]
996
+ }],
997
+ "text-decoration-color": [{
998
+ decoration: scaleColor()
999
+ }],
1000
+ "underline-offset": [{
1001
+ "underline-offset": [isNumber, "auto", isArbitraryVariable, isArbitraryValue]
1002
+ }],
1003
+ "text-transform": ["uppercase", "lowercase", "capitalize", "normal-case"],
1004
+ "text-overflow": ["truncate", "text-ellipsis", "text-clip"],
1005
+ "text-wrap": [{
1006
+ text: ["wrap", "nowrap", "balance", "pretty"]
1007
+ }],
1008
+ indent: [{
1009
+ indent: scaleUnambiguousSpacing()
1010
+ }],
1011
+ "vertical-align": [{
1012
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", isArbitraryVariable, isArbitraryValue]
1013
+ }],
1014
+ whitespace: [{
1015
+ whitespace: ["normal", "nowrap", "pre", "pre-line", "pre-wrap", "break-spaces"]
1016
+ }],
1017
+ break: [{
1018
+ break: ["normal", "words", "all", "keep"]
1019
+ }],
1020
+ wrap: [{
1021
+ wrap: ["break-word", "anywhere", "normal"]
1022
+ }],
1023
+ hyphens: [{
1024
+ hyphens: ["none", "manual", "auto"]
1025
+ }],
1026
+ content: [{
1027
+ content: ["none", isArbitraryVariable, isArbitraryValue]
1028
+ }],
1029
+ "bg-attachment": [{
1030
+ bg: ["fixed", "local", "scroll"]
1031
+ }],
1032
+ "bg-clip": [{
1033
+ "bg-clip": ["border", "padding", "content", "text"]
1034
+ }],
1035
+ "bg-origin": [{
1036
+ "bg-origin": ["border", "padding", "content"]
1037
+ }],
1038
+ "bg-position": [{
1039
+ bg: scaleBgPosition()
1040
+ }],
1041
+ "bg-repeat": [{
1042
+ bg: scaleBgRepeat()
1043
+ }],
1044
+ "bg-size": [{
1045
+ bg: scaleBgSize()
1046
+ }],
1047
+ "bg-image": [{
1048
+ bg: ["none", {
1049
+ linear: [{
1050
+ to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1051
+ }, isInteger, isArbitraryVariable, isArbitraryValue],
1052
+ radial: ["", isArbitraryVariable, isArbitraryValue],
1053
+ conic: [isInteger, isArbitraryVariable, isArbitraryValue]
1054
+ }, isArbitraryVariableImage, isArbitraryImage]
1055
+ }],
1056
+ "bg-color": [{
1057
+ bg: scaleColor()
1058
+ }],
1059
+ "gradient-from-pos": [{
1060
+ from: scaleGradientStopPosition()
1061
+ }],
1062
+ "gradient-via-pos": [{
1063
+ via: scaleGradientStopPosition()
1064
+ }],
1065
+ "gradient-to-pos": [{
1066
+ to: scaleGradientStopPosition()
1067
+ }],
1068
+ "gradient-from": [{
1069
+ from: scaleColor()
1070
+ }],
1071
+ "gradient-via": [{
1072
+ via: scaleColor()
1073
+ }],
1074
+ "gradient-to": [{
1075
+ to: scaleColor()
1076
+ }],
1077
+ rounded: [{
1078
+ rounded: scaleRadius()
1079
+ }],
1080
+ "rounded-s": [{
1081
+ "rounded-s": scaleRadius()
1082
+ }],
1083
+ "rounded-e": [{
1084
+ "rounded-e": scaleRadius()
1085
+ }],
1086
+ "rounded-t": [{
1087
+ "rounded-t": scaleRadius()
1088
+ }],
1089
+ "rounded-r": [{
1090
+ "rounded-r": scaleRadius()
1091
+ }],
1092
+ "rounded-b": [{
1093
+ "rounded-b": scaleRadius()
1094
+ }],
1095
+ "rounded-l": [{
1096
+ "rounded-l": scaleRadius()
1097
+ }],
1098
+ "rounded-ss": [{
1099
+ "rounded-ss": scaleRadius()
1100
+ }],
1101
+ "rounded-se": [{
1102
+ "rounded-se": scaleRadius()
1103
+ }],
1104
+ "rounded-ee": [{
1105
+ "rounded-ee": scaleRadius()
1106
+ }],
1107
+ "rounded-es": [{
1108
+ "rounded-es": scaleRadius()
1109
+ }],
1110
+ "rounded-tl": [{
1111
+ "rounded-tl": scaleRadius()
1112
+ }],
1113
+ "rounded-tr": [{
1114
+ "rounded-tr": scaleRadius()
1115
+ }],
1116
+ "rounded-br": [{
1117
+ "rounded-br": scaleRadius()
1118
+ }],
1119
+ "rounded-bl": [{
1120
+ "rounded-bl": scaleRadius()
1121
+ }],
1122
+ "border-w": [{
1123
+ border: scaleBorderWidth()
1124
+ }],
1125
+ "border-w-x": [{
1126
+ "border-x": scaleBorderWidth()
1127
+ }],
1128
+ "border-w-y": [{
1129
+ "border-y": scaleBorderWidth()
1130
+ }],
1131
+ "border-w-s": [{
1132
+ "border-s": scaleBorderWidth()
1133
+ }],
1134
+ "border-w-e": [{
1135
+ "border-e": scaleBorderWidth()
1136
+ }],
1137
+ "border-w-bs": [{
1138
+ "border-bs": scaleBorderWidth()
1139
+ }],
1140
+ "border-w-be": [{
1141
+ "border-be": scaleBorderWidth()
1142
+ }],
1143
+ "border-w-t": [{
1144
+ "border-t": scaleBorderWidth()
1145
+ }],
1146
+ "border-w-r": [{
1147
+ "border-r": scaleBorderWidth()
1148
+ }],
1149
+ "border-w-b": [{
1150
+ "border-b": scaleBorderWidth()
1151
+ }],
1152
+ "border-w-l": [{
1153
+ "border-l": scaleBorderWidth()
1154
+ }],
1155
+ "divide-x": [{
1156
+ "divide-x": scaleBorderWidth()
1157
+ }],
1158
+ "divide-x-reverse": ["divide-x-reverse"],
1159
+ "divide-y": [{
1160
+ "divide-y": scaleBorderWidth()
1161
+ }],
1162
+ "divide-y-reverse": ["divide-y-reverse"],
1163
+ "border-style": [{
1164
+ border: [...scaleLineStyle(), "hidden", "none"]
1165
+ }],
1166
+ "divide-style": [{
1167
+ divide: [...scaleLineStyle(), "hidden", "none"]
1168
+ }],
1169
+ "border-color": [{
1170
+ border: scaleColor()
1171
+ }],
1172
+ "border-color-x": [{
1173
+ "border-x": scaleColor()
1174
+ }],
1175
+ "border-color-y": [{
1176
+ "border-y": scaleColor()
1177
+ }],
1178
+ "border-color-s": [{
1179
+ "border-s": scaleColor()
1180
+ }],
1181
+ "border-color-e": [{
1182
+ "border-e": scaleColor()
1183
+ }],
1184
+ "border-color-bs": [{
1185
+ "border-bs": scaleColor()
1186
+ }],
1187
+ "border-color-be": [{
1188
+ "border-be": scaleColor()
1189
+ }],
1190
+ "border-color-t": [{
1191
+ "border-t": scaleColor()
1192
+ }],
1193
+ "border-color-r": [{
1194
+ "border-r": scaleColor()
1195
+ }],
1196
+ "border-color-b": [{
1197
+ "border-b": scaleColor()
1198
+ }],
1199
+ "border-color-l": [{
1200
+ "border-l": scaleColor()
1201
+ }],
1202
+ "divide-color": [{
1203
+ divide: scaleColor()
1204
+ }],
1205
+ "outline-style": [{
1206
+ outline: [...scaleLineStyle(), "none", "hidden"]
1207
+ }],
1208
+ "outline-offset": [{
1209
+ "outline-offset": [isNumber, isArbitraryVariable, isArbitraryValue]
1210
+ }],
1211
+ "outline-w": [{
1212
+ outline: ["", isNumber, isArbitraryVariableLength, isArbitraryLength]
1213
+ }],
1214
+ "outline-color": [{
1215
+ outline: scaleColor()
1216
+ }],
1217
+ shadow: [{
1218
+ shadow: [
1219
+ "",
1220
+ "none",
1221
+ themeShadow,
1222
+ isArbitraryVariableShadow,
1223
+ isArbitraryShadow
1224
+ ]
1225
+ }],
1226
+ "shadow-color": [{
1227
+ shadow: scaleColor()
1228
+ }],
1229
+ "inset-shadow": [{
1230
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
1231
+ }],
1232
+ "inset-shadow-color": [{
1233
+ "inset-shadow": scaleColor()
1234
+ }],
1235
+ "ring-w": [{
1236
+ ring: scaleBorderWidth()
1237
+ }],
1238
+ "ring-w-inset": ["ring-inset"],
1239
+ "ring-color": [{
1240
+ ring: scaleColor()
1241
+ }],
1242
+ "ring-offset-w": [{
1243
+ "ring-offset": [isNumber, isArbitraryLength]
1244
+ }],
1245
+ "ring-offset-color": [{
1246
+ "ring-offset": scaleColor()
1247
+ }],
1248
+ "inset-ring-w": [{
1249
+ "inset-ring": scaleBorderWidth()
1250
+ }],
1251
+ "inset-ring-color": [{
1252
+ "inset-ring": scaleColor()
1253
+ }],
1254
+ "text-shadow": [{
1255
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
1256
+ }],
1257
+ "text-shadow-color": [{
1258
+ "text-shadow": scaleColor()
1259
+ }],
1260
+ opacity: [{
1261
+ opacity: [isNumber, isArbitraryVariable, isArbitraryValue]
1262
+ }],
1263
+ "mix-blend": [{
1264
+ "mix-blend": [...scaleBlendMode(), "plus-darker", "plus-lighter"]
1265
+ }],
1266
+ "bg-blend": [{
1267
+ "bg-blend": scaleBlendMode()
1268
+ }],
1269
+ "mask-clip": [{
1270
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
1271
+ }, "mask-no-clip"],
1272
+ "mask-composite": [{
1273
+ mask: ["add", "subtract", "intersect", "exclude"]
1274
+ }],
1275
+ "mask-image-linear-pos": [{
1276
+ "mask-linear": [isNumber]
1277
+ }],
1278
+ "mask-image-linear-from-pos": [{
1279
+ "mask-linear-from": scaleMaskImagePosition()
1280
+ }],
1281
+ "mask-image-linear-to-pos": [{
1282
+ "mask-linear-to": scaleMaskImagePosition()
1283
+ }],
1284
+ "mask-image-linear-from-color": [{
1285
+ "mask-linear-from": scaleColor()
1286
+ }],
1287
+ "mask-image-linear-to-color": [{
1288
+ "mask-linear-to": scaleColor()
1289
+ }],
1290
+ "mask-image-t-from-pos": [{
1291
+ "mask-t-from": scaleMaskImagePosition()
1292
+ }],
1293
+ "mask-image-t-to-pos": [{
1294
+ "mask-t-to": scaleMaskImagePosition()
1295
+ }],
1296
+ "mask-image-t-from-color": [{
1297
+ "mask-t-from": scaleColor()
1298
+ }],
1299
+ "mask-image-t-to-color": [{
1300
+ "mask-t-to": scaleColor()
1301
+ }],
1302
+ "mask-image-r-from-pos": [{
1303
+ "mask-r-from": scaleMaskImagePosition()
1304
+ }],
1305
+ "mask-image-r-to-pos": [{
1306
+ "mask-r-to": scaleMaskImagePosition()
1307
+ }],
1308
+ "mask-image-r-from-color": [{
1309
+ "mask-r-from": scaleColor()
1310
+ }],
1311
+ "mask-image-r-to-color": [{
1312
+ "mask-r-to": scaleColor()
1313
+ }],
1314
+ "mask-image-b-from-pos": [{
1315
+ "mask-b-from": scaleMaskImagePosition()
1316
+ }],
1317
+ "mask-image-b-to-pos": [{
1318
+ "mask-b-to": scaleMaskImagePosition()
1319
+ }],
1320
+ "mask-image-b-from-color": [{
1321
+ "mask-b-from": scaleColor()
1322
+ }],
1323
+ "mask-image-b-to-color": [{
1324
+ "mask-b-to": scaleColor()
1325
+ }],
1326
+ "mask-image-l-from-pos": [{
1327
+ "mask-l-from": scaleMaskImagePosition()
1328
+ }],
1329
+ "mask-image-l-to-pos": [{
1330
+ "mask-l-to": scaleMaskImagePosition()
1331
+ }],
1332
+ "mask-image-l-from-color": [{
1333
+ "mask-l-from": scaleColor()
1334
+ }],
1335
+ "mask-image-l-to-color": [{
1336
+ "mask-l-to": scaleColor()
1337
+ }],
1338
+ "mask-image-x-from-pos": [{
1339
+ "mask-x-from": scaleMaskImagePosition()
1340
+ }],
1341
+ "mask-image-x-to-pos": [{
1342
+ "mask-x-to": scaleMaskImagePosition()
1343
+ }],
1344
+ "mask-image-x-from-color": [{
1345
+ "mask-x-from": scaleColor()
1346
+ }],
1347
+ "mask-image-x-to-color": [{
1348
+ "mask-x-to": scaleColor()
1349
+ }],
1350
+ "mask-image-y-from-pos": [{
1351
+ "mask-y-from": scaleMaskImagePosition()
1352
+ }],
1353
+ "mask-image-y-to-pos": [{
1354
+ "mask-y-to": scaleMaskImagePosition()
1355
+ }],
1356
+ "mask-image-y-from-color": [{
1357
+ "mask-y-from": scaleColor()
1358
+ }],
1359
+ "mask-image-y-to-color": [{
1360
+ "mask-y-to": scaleColor()
1361
+ }],
1362
+ "mask-image-radial": [{
1363
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
1364
+ }],
1365
+ "mask-image-radial-from-pos": [{
1366
+ "mask-radial-from": scaleMaskImagePosition()
1367
+ }],
1368
+ "mask-image-radial-to-pos": [{
1369
+ "mask-radial-to": scaleMaskImagePosition()
1370
+ }],
1371
+ "mask-image-radial-from-color": [{
1372
+ "mask-radial-from": scaleColor()
1373
+ }],
1374
+ "mask-image-radial-to-color": [{
1375
+ "mask-radial-to": scaleColor()
1376
+ }],
1377
+ "mask-image-radial-shape": [{
1378
+ "mask-radial": ["circle", "ellipse"]
1379
+ }],
1380
+ "mask-image-radial-size": [{
1381
+ "mask-radial": [{
1382
+ closest: ["side", "corner"],
1383
+ farthest: ["side", "corner"]
1384
+ }]
1385
+ }],
1386
+ "mask-image-radial-pos": [{
1387
+ "mask-radial-at": scalePosition()
1388
+ }],
1389
+ "mask-image-conic-pos": [{
1390
+ "mask-conic": [isNumber]
1391
+ }],
1392
+ "mask-image-conic-from-pos": [{
1393
+ "mask-conic-from": scaleMaskImagePosition()
1394
+ }],
1395
+ "mask-image-conic-to-pos": [{
1396
+ "mask-conic-to": scaleMaskImagePosition()
1397
+ }],
1398
+ "mask-image-conic-from-color": [{
1399
+ "mask-conic-from": scaleColor()
1400
+ }],
1401
+ "mask-image-conic-to-color": [{
1402
+ "mask-conic-to": scaleColor()
1403
+ }],
1404
+ "mask-mode": [{
1405
+ mask: ["alpha", "luminance", "match"]
1406
+ }],
1407
+ "mask-origin": [{
1408
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
1409
+ }],
1410
+ "mask-position": [{
1411
+ mask: scaleBgPosition()
1412
+ }],
1413
+ "mask-repeat": [{
1414
+ mask: scaleBgRepeat()
1415
+ }],
1416
+ "mask-size": [{
1417
+ mask: scaleBgSize()
1418
+ }],
1419
+ "mask-type": [{
1420
+ "mask-type": ["alpha", "luminance"]
1421
+ }],
1422
+ "mask-image": [{
1423
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
1424
+ }],
1425
+ filter: [{
1426
+ filter: [
1427
+ "",
1428
+ "none",
1429
+ isArbitraryVariable,
1430
+ isArbitraryValue
1431
+ ]
1432
+ }],
1433
+ blur: [{
1434
+ blur: scaleBlur()
1435
+ }],
1436
+ brightness: [{
1437
+ brightness: [isNumber, isArbitraryVariable, isArbitraryValue]
1438
+ }],
1439
+ contrast: [{
1440
+ contrast: [isNumber, isArbitraryVariable, isArbitraryValue]
1441
+ }],
1442
+ "drop-shadow": [{
1443
+ "drop-shadow": [
1444
+ "",
1445
+ "none",
1446
+ themeDropShadow,
1447
+ isArbitraryVariableShadow,
1448
+ isArbitraryShadow
1449
+ ]
1450
+ }],
1451
+ "drop-shadow-color": [{
1452
+ "drop-shadow": scaleColor()
1453
+ }],
1454
+ grayscale: [{
1455
+ grayscale: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1456
+ }],
1457
+ "hue-rotate": [{
1458
+ "hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
1459
+ }],
1460
+ invert: [{
1461
+ invert: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1462
+ }],
1463
+ saturate: [{
1464
+ saturate: [isNumber, isArbitraryVariable, isArbitraryValue]
1465
+ }],
1466
+ sepia: [{
1467
+ sepia: ["", isNumber, isArbitraryVariable, isArbitraryValue]
1468
+ }],
1469
+ "backdrop-filter": [{
1470
+ "backdrop-filter": [
1471
+ "",
1472
+ "none",
1473
+ isArbitraryVariable,
1474
+ isArbitraryValue
1475
+ ]
1476
+ }],
1477
+ "backdrop-blur": [{
1478
+ "backdrop-blur": scaleBlur()
1479
+ }],
1480
+ "backdrop-brightness": [{
1481
+ "backdrop-brightness": [isNumber, isArbitraryVariable, isArbitraryValue]
1482
+ }],
1483
+ "backdrop-contrast": [{
1484
+ "backdrop-contrast": [isNumber, isArbitraryVariable, isArbitraryValue]
1485
+ }],
1486
+ "backdrop-grayscale": [{
1487
+ "backdrop-grayscale": ["", isNumber, isArbitraryVariable, isArbitraryValue]
1488
+ }],
1489
+ "backdrop-hue-rotate": [{
1490
+ "backdrop-hue-rotate": [isNumber, isArbitraryVariable, isArbitraryValue]
1491
+ }],
1492
+ "backdrop-invert": [{
1493
+ "backdrop-invert": ["", isNumber, isArbitraryVariable, isArbitraryValue]
1494
+ }],
1495
+ "backdrop-opacity": [{
1496
+ "backdrop-opacity": [isNumber, isArbitraryVariable, isArbitraryValue]
1497
+ }],
1498
+ "backdrop-saturate": [{
1499
+ "backdrop-saturate": [isNumber, isArbitraryVariable, isArbitraryValue]
1500
+ }],
1501
+ "backdrop-sepia": [{
1502
+ "backdrop-sepia": ["", isNumber, isArbitraryVariable, isArbitraryValue]
1503
+ }],
1504
+ "border-collapse": [{
1505
+ border: ["collapse", "separate"]
1506
+ }],
1507
+ "border-spacing": [{
1508
+ "border-spacing": scaleUnambiguousSpacing()
1509
+ }],
1510
+ "border-spacing-x": [{
1511
+ "border-spacing-x": scaleUnambiguousSpacing()
1512
+ }],
1513
+ "border-spacing-y": [{
1514
+ "border-spacing-y": scaleUnambiguousSpacing()
1515
+ }],
1516
+ "table-layout": [{
1517
+ table: ["auto", "fixed"]
1518
+ }],
1519
+ caption: [{
1520
+ caption: ["top", "bottom"]
1521
+ }],
1522
+ transition: [{
1523
+ transition: ["", "all", "colors", "opacity", "shadow", "transform", "none", isArbitraryVariable, isArbitraryValue]
1524
+ }],
1525
+ "transition-behavior": [{
1526
+ transition: ["normal", "discrete"]
1527
+ }],
1528
+ duration: [{
1529
+ duration: [isNumber, "initial", isArbitraryVariable, isArbitraryValue]
1530
+ }],
1531
+ ease: [{
1532
+ ease: ["linear", "initial", themeEase, isArbitraryVariable, isArbitraryValue]
1533
+ }],
1534
+ delay: [{
1535
+ delay: [isNumber, isArbitraryVariable, isArbitraryValue]
1536
+ }],
1537
+ animate: [{
1538
+ animate: ["none", themeAnimate, isArbitraryVariable, isArbitraryValue]
1539
+ }],
1540
+ backface: [{
1541
+ backface: ["hidden", "visible"]
1542
+ }],
1543
+ perspective: [{
1544
+ perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]
1545
+ }],
1546
+ "perspective-origin": [{
1547
+ "perspective-origin": scalePositionWithArbitrary()
1548
+ }],
1549
+ rotate: [{
1550
+ rotate: scaleRotate()
1551
+ }],
1552
+ "rotate-x": [{
1553
+ "rotate-x": scaleRotate()
1554
+ }],
1555
+ "rotate-y": [{
1556
+ "rotate-y": scaleRotate()
1557
+ }],
1558
+ "rotate-z": [{
1559
+ "rotate-z": scaleRotate()
1560
+ }],
1561
+ scale: [{
1562
+ scale: scaleScale()
1563
+ }],
1564
+ "scale-x": [{
1565
+ "scale-x": scaleScale()
1566
+ }],
1567
+ "scale-y": [{
1568
+ "scale-y": scaleScale()
1569
+ }],
1570
+ "scale-z": [{
1571
+ "scale-z": scaleScale()
1572
+ }],
1573
+ "scale-3d": ["scale-3d"],
1574
+ skew: [{
1575
+ skew: scaleSkew()
1576
+ }],
1577
+ "skew-x": [{
1578
+ "skew-x": scaleSkew()
1579
+ }],
1580
+ "skew-y": [{
1581
+ "skew-y": scaleSkew()
1582
+ }],
1583
+ transform: [{
1584
+ transform: [isArbitraryVariable, isArbitraryValue, "", "none", "gpu", "cpu"]
1585
+ }],
1586
+ "transform-origin": [{
1587
+ origin: scalePositionWithArbitrary()
1588
+ }],
1589
+ "transform-style": [{
1590
+ transform: ["3d", "flat"]
1591
+ }],
1592
+ translate: [{
1593
+ translate: scaleTranslate()
1594
+ }],
1595
+ "translate-x": [{
1596
+ "translate-x": scaleTranslate()
1597
+ }],
1598
+ "translate-y": [{
1599
+ "translate-y": scaleTranslate()
1600
+ }],
1601
+ "translate-z": [{
1602
+ "translate-z": scaleTranslate()
1603
+ }],
1604
+ "translate-none": ["translate-none"],
1605
+ accent: [{
1606
+ accent: scaleColor()
1607
+ }],
1608
+ appearance: [{
1609
+ appearance: ["none", "auto"]
1610
+ }],
1611
+ "caret-color": [{
1612
+ caret: scaleColor()
1613
+ }],
1614
+ "color-scheme": [{
1615
+ scheme: ["normal", "dark", "light", "light-dark", "only-dark", "only-light"]
1616
+ }],
1617
+ cursor: [{
1618
+ 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", isArbitraryVariable, isArbitraryValue]
1619
+ }],
1620
+ "field-sizing": [{
1621
+ "field-sizing": ["fixed", "content"]
1622
+ }],
1623
+ "pointer-events": [{
1624
+ "pointer-events": ["auto", "none"]
1625
+ }],
1626
+ resize: [{
1627
+ resize: ["none", "", "y", "x"]
1628
+ }],
1629
+ "scroll-behavior": [{
1630
+ scroll: ["auto", "smooth"]
1631
+ }],
1632
+ "scroll-m": [{
1633
+ "scroll-m": scaleUnambiguousSpacing()
1634
+ }],
1635
+ "scroll-mx": [{
1636
+ "scroll-mx": scaleUnambiguousSpacing()
1637
+ }],
1638
+ "scroll-my": [{
1639
+ "scroll-my": scaleUnambiguousSpacing()
1640
+ }],
1641
+ "scroll-ms": [{
1642
+ "scroll-ms": scaleUnambiguousSpacing()
1643
+ }],
1644
+ "scroll-me": [{
1645
+ "scroll-me": scaleUnambiguousSpacing()
1646
+ }],
1647
+ "scroll-mbs": [{
1648
+ "scroll-mbs": scaleUnambiguousSpacing()
1649
+ }],
1650
+ "scroll-mbe": [{
1651
+ "scroll-mbe": scaleUnambiguousSpacing()
1652
+ }],
1653
+ "scroll-mt": [{
1654
+ "scroll-mt": scaleUnambiguousSpacing()
1655
+ }],
1656
+ "scroll-mr": [{
1657
+ "scroll-mr": scaleUnambiguousSpacing()
1658
+ }],
1659
+ "scroll-mb": [{
1660
+ "scroll-mb": scaleUnambiguousSpacing()
1661
+ }],
1662
+ "scroll-ml": [{
1663
+ "scroll-ml": scaleUnambiguousSpacing()
1664
+ }],
1665
+ "scroll-p": [{
1666
+ "scroll-p": scaleUnambiguousSpacing()
1667
+ }],
1668
+ "scroll-px": [{
1669
+ "scroll-px": scaleUnambiguousSpacing()
1670
+ }],
1671
+ "scroll-py": [{
1672
+ "scroll-py": scaleUnambiguousSpacing()
1673
+ }],
1674
+ "scroll-ps": [{
1675
+ "scroll-ps": scaleUnambiguousSpacing()
1676
+ }],
1677
+ "scroll-pe": [{
1678
+ "scroll-pe": scaleUnambiguousSpacing()
1679
+ }],
1680
+ "scroll-pbs": [{
1681
+ "scroll-pbs": scaleUnambiguousSpacing()
1682
+ }],
1683
+ "scroll-pbe": [{
1684
+ "scroll-pbe": scaleUnambiguousSpacing()
1685
+ }],
1686
+ "scroll-pt": [{
1687
+ "scroll-pt": scaleUnambiguousSpacing()
1688
+ }],
1689
+ "scroll-pr": [{
1690
+ "scroll-pr": scaleUnambiguousSpacing()
1691
+ }],
1692
+ "scroll-pb": [{
1693
+ "scroll-pb": scaleUnambiguousSpacing()
1694
+ }],
1695
+ "scroll-pl": [{
1696
+ "scroll-pl": scaleUnambiguousSpacing()
1697
+ }],
1698
+ "snap-align": [{
1699
+ snap: ["start", "end", "center", "align-none"]
1700
+ }],
1701
+ "snap-stop": [{
1702
+ snap: ["normal", "always"]
1703
+ }],
1704
+ "snap-type": [{
1705
+ snap: ["none", "x", "y", "both"]
1706
+ }],
1707
+ "snap-strictness": [{
1708
+ snap: ["mandatory", "proximity"]
1709
+ }],
1710
+ touch: [{
1711
+ touch: ["auto", "none", "manipulation"]
1712
+ }],
1713
+ "touch-x": [{
1714
+ "touch-pan": ["x", "left", "right"]
1715
+ }],
1716
+ "touch-y": [{
1717
+ "touch-pan": ["y", "up", "down"]
1718
+ }],
1719
+ "touch-pz": ["touch-pinch-zoom"],
1720
+ select: [{
1721
+ select: ["none", "text", "all", "auto"]
1722
+ }],
1723
+ "will-change": [{
1724
+ "will-change": ["auto", "scroll", "contents", "transform", isArbitraryVariable, isArbitraryValue]
1725
+ }],
1726
+ fill: [{
1727
+ fill: ["none", ...scaleColor()]
1728
+ }],
1729
+ "stroke-w": [{
1730
+ stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]
1731
+ }],
1732
+ stroke: [{
1733
+ stroke: ["none", ...scaleColor()]
1734
+ }],
1735
+ "forced-color-adjust": [{
1736
+ "forced-color-adjust": ["auto", "none"]
1737
+ }]
1738
+ },
1739
+ conflictingClassGroups: {
1740
+ overflow: ["overflow-x", "overflow-y"],
1741
+ overscroll: ["overscroll-x", "overscroll-y"],
1742
+ inset: ["inset-x", "inset-y", "inset-bs", "inset-be", "start", "end", "top", "right", "bottom", "left"],
1743
+ "inset-x": ["right", "left"],
1744
+ "inset-y": ["top", "bottom"],
1745
+ flex: ["basis", "grow", "shrink"],
1746
+ gap: ["gap-x", "gap-y"],
1747
+ p: ["px", "py", "ps", "pe", "pbs", "pbe", "pt", "pr", "pb", "pl"],
1748
+ px: ["pr", "pl"],
1749
+ py: ["pt", "pb"],
1750
+ m: ["mx", "my", "ms", "me", "mbs", "mbe", "mt", "mr", "mb", "ml"],
1751
+ mx: ["mr", "ml"],
1752
+ my: ["mt", "mb"],
1753
+ size: ["w", "h"],
1754
+ "font-size": ["leading"],
1755
+ "fvn-normal": ["fvn-ordinal", "fvn-slashed-zero", "fvn-figure", "fvn-spacing", "fvn-fraction"],
1756
+ "fvn-ordinal": ["fvn-normal"],
1757
+ "fvn-slashed-zero": ["fvn-normal"],
1758
+ "fvn-figure": ["fvn-normal"],
1759
+ "fvn-spacing": ["fvn-normal"],
1760
+ "fvn-fraction": ["fvn-normal"],
1761
+ "line-clamp": ["display", "overflow"],
1762
+ 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"],
1763
+ "rounded-s": ["rounded-ss", "rounded-es"],
1764
+ "rounded-e": ["rounded-se", "rounded-ee"],
1765
+ "rounded-t": ["rounded-tl", "rounded-tr"],
1766
+ "rounded-r": ["rounded-tr", "rounded-br"],
1767
+ "rounded-b": ["rounded-br", "rounded-bl"],
1768
+ "rounded-l": ["rounded-tl", "rounded-bl"],
1769
+ "border-spacing": ["border-spacing-x", "border-spacing-y"],
1770
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-bs", "border-w-be", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
1771
+ "border-w-x": ["border-w-r", "border-w-l"],
1772
+ "border-w-y": ["border-w-t", "border-w-b"],
1773
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-bs", "border-color-be", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
1774
+ "border-color-x": ["border-color-r", "border-color-l"],
1775
+ "border-color-y": ["border-color-t", "border-color-b"],
1776
+ translate: ["translate-x", "translate-y", "translate-none"],
1777
+ "translate-none": ["translate", "translate-x", "translate-y", "translate-z"],
1778
+ "scroll-m": ["scroll-mx", "scroll-my", "scroll-ms", "scroll-me", "scroll-mbs", "scroll-mbe", "scroll-mt", "scroll-mr", "scroll-mb", "scroll-ml"],
1779
+ "scroll-mx": ["scroll-mr", "scroll-ml"],
1780
+ "scroll-my": ["scroll-mt", "scroll-mb"],
1781
+ "scroll-p": ["scroll-px", "scroll-py", "scroll-ps", "scroll-pe", "scroll-pbs", "scroll-pbe", "scroll-pt", "scroll-pr", "scroll-pb", "scroll-pl"],
1782
+ "scroll-px": ["scroll-pr", "scroll-pl"],
1783
+ "scroll-py": ["scroll-pt", "scroll-pb"],
1784
+ touch: ["touch-x", "touch-y", "touch-pz"],
1785
+ "touch-x": ["touch"],
1786
+ "touch-y": ["touch"],
1787
+ "touch-pz": ["touch"]
1788
+ },
1789
+ conflictingClassGroupModifiers: {
1790
+ "font-size": ["leading"]
1791
+ },
1792
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
1793
+ };
1794
+ };
1795
+ var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
1796
+
1797
+ // src/lib/utils.ts
1798
+ function cn(...inputs) {
1799
+ return twMerge(clsx(inputs));
1800
+ }
1801
+ // packages/core/src/format.ts
1802
+ function formatAge(timestamp) {
1803
+ const ms = Date.now() - new Date(timestamp).getTime();
1804
+ const mins = Math.floor(ms / 60000);
1805
+ if (mins < 1)
1806
+ return "just now";
1807
+ if (mins < 60)
1808
+ return `${mins}m ago`;
1809
+ const hours = Math.floor(mins / 60);
1810
+ if (hours < 24)
1811
+ return `${hours}h ago`;
1812
+ const days = Math.floor(hours / 24);
1813
+ return `${days}d ago`;
1814
+ }
1815
+ function formatSize(bytes) {
1816
+ if (bytes < 1024)
1817
+ return `${bytes} B`;
1818
+ if (bytes < 1024 * 1024)
1819
+ return `${(bytes / 1024).toFixed(1)} KB`;
1820
+ if (bytes < 1024 * 1024 * 1024)
1821
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
1822
+ return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`;
1823
+ }
1824
+ function isStale(timestamp, thresholdMs = 15 * 60 * 1000) {
1825
+ return Date.now() - new Date(timestamp).getTime() > thresholdMs;
1826
+ }
1827
+ export {
1828
+ isStale,
1829
+ formatSize,
1830
+ formatAge,
1831
+ cn
1832
+ };