@pequity/squirrel 8.4.5 → 8.5.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 (81) hide show
  1. package/README.md +29 -0
  2. package/dist/cjs/chunks/index.js +530 -179
  3. package/dist/cjs/chunks/p-alert.js +11 -16
  4. package/dist/cjs/chunks/p-btn.js +1 -1
  5. package/dist/cjs/chunks/p-input-percent.js +2 -2
  6. package/dist/cjs/index.js +33 -27
  7. package/dist/cjs/inputClasses.js +3 -3
  8. package/dist/cjs/p-icon.js +2 -1
  9. package/dist/cjs/p-loading.js +2 -2
  10. package/dist/cjs/p-modal.js +45 -43
  11. package/dist/cjs/p-table-header-cell.js +3 -2
  12. package/dist/cjs/p-table.js +2 -0
  13. package/dist/cjs/usePTableHeaderWrap.js +38 -0
  14. package/dist/es/chunks/index.js +530 -179
  15. package/dist/es/chunks/p-alert.js +11 -16
  16. package/dist/es/chunks/p-btn.js +2 -2
  17. package/dist/es/chunks/p-input-percent.js +2 -2
  18. package/dist/es/index.js +39 -33
  19. package/dist/es/inputClasses.js +4 -4
  20. package/dist/es/p-icon.js +2 -1
  21. package/dist/es/p-loading.js +2 -2
  22. package/dist/es/p-modal.js +45 -43
  23. package/dist/es/p-table-header-cell.js +3 -2
  24. package/dist/es/p-table.js +2 -0
  25. package/dist/es/usePTableHeaderWrap.js +38 -0
  26. package/dist/squirrel/components/p-action-bar/p-action-bar.vue.d.ts +1 -1
  27. package/dist/squirrel/components/p-alert/p-alert.vue.d.ts +2 -2
  28. package/dist/squirrel/components/p-avatar/p-avatar.vue.d.ts +1 -1
  29. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +3 -3
  30. package/dist/squirrel/components/p-card/p-card.vue.d.ts +1 -1
  31. package/dist/squirrel/components/p-checkbox/p-checkbox.vue.d.ts +1 -1
  32. package/dist/squirrel/components/p-close-btn/p-close-btn.vue.d.ts +1 -1
  33. package/dist/squirrel/components/p-date-picker/p-date-picker.vue.d.ts +1 -1
  34. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +12 -12
  35. package/dist/squirrel/components/p-dropdown-select/p-dropdown-select.vue.d.ts +1 -1
  36. package/dist/squirrel/components/p-file-upload/p-file-upload.vue.d.ts +1 -1
  37. package/dist/squirrel/components/p-icon/p-icon.types.d.ts +1 -0
  38. package/dist/squirrel/components/p-icon/p-icon.vue.d.ts +1 -1
  39. package/dist/squirrel/components/p-info-icon/p-info-icon.vue.d.ts +1 -1
  40. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +1 -1
  41. package/dist/squirrel/components/p-input/p-input.vue.d.ts +1 -1
  42. package/dist/squirrel/components/p-input-percent/p-input-percent.vue.d.ts +1 -1
  43. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +1 -1
  44. package/dist/squirrel/components/p-link/p-link.vue.d.ts +1 -1
  45. package/dist/squirrel/components/p-loading/p-loading.vue.d.ts +1 -1
  46. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +5 -1
  47. package/dist/squirrel/components/p-pagination/p-pagination.vue.d.ts +1 -1
  48. package/dist/squirrel/components/p-pagination-info/p-pagination-info.vue.d.ts +1 -1
  49. package/dist/squirrel/components/p-progress-bar/p-progress-bar.vue.d.ts +1 -1
  50. package/dist/squirrel/components/p-ring-loader/p-ring-loader.vue.d.ts +1 -1
  51. package/dist/squirrel/components/p-select/p-select.vue.d.ts +1 -1
  52. package/dist/squirrel/components/p-select-btn/p-select-btn.vue.d.ts +1 -1
  53. package/dist/squirrel/components/p-select-list/p-select-list.vue.d.ts +1 -1
  54. package/dist/squirrel/components/p-steps/p-steps.vue.d.ts +1 -1
  55. package/dist/squirrel/components/p-table/p-table.types.d.ts +1 -0
  56. package/dist/squirrel/components/p-table/p-table.vue.d.ts +1 -1
  57. package/dist/squirrel/components/p-table/usePTableHeaderWrap.d.ts +4 -0
  58. package/dist/squirrel/components/p-table-header-cell/p-table-filter-icon.vue.d.ts +1 -1
  59. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +3 -3
  60. package/dist/squirrel/components/p-table-loader/p-table-loader.vue.d.ts +1 -1
  61. package/dist/squirrel/components/p-table-sort/p-table-sort.vue.d.ts +1 -1
  62. package/dist/squirrel/components/p-table-td/p-table-td.vue.d.ts +1 -1
  63. package/dist/squirrel/components/p-tabs/p-tabs.vue.d.ts +1 -1
  64. package/dist/squirrel/components/p-tabs-pills/p-tabs-pills.vue.d.ts +1 -1
  65. package/dist/squirrel/components/p-textarea/p-textarea.vue.d.ts +1 -1
  66. package/dist/squirrel/components/p-toggle/p-toggle.vue.d.ts +1 -1
  67. package/dist/squirrel.css +22 -22
  68. package/package.json +23 -21
  69. package/squirrel/components/p-alert/p-alert.spec.js +4 -4
  70. package/squirrel/components/p-alert/p-alert.stories.js +19 -13
  71. package/squirrel/components/p-alert/p-alert.vue +9 -11
  72. package/squirrel/components/p-icon/p-icon.types.ts +1 -0
  73. package/squirrel/components/p-modal/p-modal-basic.spec.js +29 -3
  74. package/squirrel/components/p-modal/p-modal.vue +44 -33
  75. package/squirrel/components/p-table/p-table.spec.js +51 -15
  76. package/squirrel/components/p-table/p-table.types.ts +2 -0
  77. package/squirrel/components/p-table/p-table.vue +7 -4
  78. package/squirrel/components/p-table/usePTableHeaderWrap.spec.js +118 -0
  79. package/squirrel/components/p-table/usePTableHeaderWrap.ts +45 -0
  80. package/squirrel/components/p-table-header-cell/p-table-header-cell.spec.js +5 -1
  81. package/squirrel/components/p-table-header-cell/p-table-header-cell.vue +2 -1
@@ -1,23 +1,233 @@
1
1
  "use strict";
2
- var l = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, u = (e) => !e || typeof e != "object" || Object.keys(e).length === 0, x$1 = (e, o) => JSON.stringify(e) === JSON.stringify(o);
3
- function i(e, o) {
4
- e.forEach(function(r) {
5
- Array.isArray(r) ? i(r, o) : o.push(r);
6
- });
7
- }
8
- function y(e) {
9
- let o = [];
10
- return i(e, o), o;
2
+ var y = /\s+/g, a = (t) => typeof t != "string" || !t ? t : t.replace(y, " ").trim(), u = (...t) => {
3
+ let r = [], n = (e) => {
4
+ if (!e && e !== 0 && e !== 0n) return;
5
+ if (Array.isArray(e)) {
6
+ for (let s = 0, o = e.length; s < o; s++) n(e[s]);
7
+ return;
8
+ }
9
+ let f2 = typeof e;
10
+ if (f2 === "string" || f2 === "number" || f2 === "bigint") {
11
+ if (f2 === "number" && e !== e) return;
12
+ r.push(String(e));
13
+ } else if (f2 === "object") {
14
+ let s = Object.keys(e);
15
+ for (let o = 0, i2 = s.length; o < i2; o++) {
16
+ let l = s[o];
17
+ e[l] && r.push(l);
18
+ }
19
+ }
20
+ };
21
+ for (let e = 0, f2 = t.length; e < f2; e++) {
22
+ let s = t[e];
23
+ s != null && n(s);
24
+ }
25
+ return r.length > 0 ? a(r.join(" ")) : void 0;
26
+ }, h = (t) => t === false ? "false" : t === true ? "true" : t === 0 ? "0" : t, x = (t) => {
27
+ if (!t || typeof t != "object") return true;
28
+ for (let r in t) return false;
29
+ return true;
30
+ }, k = (t, r) => {
31
+ if (t === r) return true;
32
+ if (!t || !r) return false;
33
+ let n = Object.keys(t), e = Object.keys(r);
34
+ if (n.length !== e.length) return false;
35
+ for (let f2 = 0; f2 < n.length; f2++) {
36
+ let s = n[f2];
37
+ if (!e.includes(s) || t[s] !== r[s]) return false;
38
+ }
39
+ return true;
40
+ }, d = (t, r) => {
41
+ for (let n in r) if (Object.prototype.hasOwnProperty.call(r, n)) {
42
+ let e = r[n];
43
+ n in t ? t[n] = u(t[n], e) : t[n] = e;
44
+ }
45
+ return t;
46
+ }, c = (t, r) => {
47
+ for (let n = 0; n < t.length; n++) {
48
+ let e = t[n];
49
+ Array.isArray(e) ? c(e, r) : e && r.push(e);
50
+ }
51
+ };
52
+ var g = (...t) => {
53
+ let r = [];
54
+ c(t, r);
55
+ let n = [];
56
+ for (let e = 0; e < r.length; e++) r[e] && n.push(r[e]);
57
+ return n;
58
+ }, p = (t, r) => {
59
+ let n = {};
60
+ for (let e in t) {
61
+ let f2 = t[e];
62
+ if (e in r) {
63
+ let s = r[e];
64
+ Array.isArray(f2) || Array.isArray(s) ? n[e] = g(s, f2) : typeof f2 == "object" && typeof s == "object" && f2 && s ? n[e] = p(f2, s) : n[e] = s + " " + f2;
65
+ } else n[e] = f2;
66
+ }
67
+ for (let e in r) e in t || (n[e] = r[e]);
68
+ return n;
69
+ };
70
+ var Q = { twMerge: true, twMergeConfig: {}, responsiveVariants: false };
71
+ function ne() {
72
+ let b = null, w = {}, A = false;
73
+ return { get cachedTwMerge() {
74
+ return b;
75
+ }, set cachedTwMerge(u2) {
76
+ b = u2;
77
+ }, get cachedTwMergeConfig() {
78
+ return w;
79
+ }, set cachedTwMergeConfig(u2) {
80
+ w = u2;
81
+ }, get didTwMergeConfigChange() {
82
+ return A;
83
+ }, set didTwMergeConfigChange(u2) {
84
+ A = u2;
85
+ }, reset() {
86
+ b = null, w = {}, A = false;
87
+ } };
11
88
  }
12
- var a = (...e) => y(e).filter(Boolean), p = (e, o) => {
13
- let r = {}, c = Object.keys(e), f = Object.keys(o);
14
- for (let t of c) if (f.includes(t)) {
15
- let s = e[t], n = o[t];
16
- Array.isArray(s) || Array.isArray(n) ? r[t] = a(n, s) : typeof s == "object" && typeof n == "object" ? r[t] = p(s, n) : r[t] = n + " " + s;
17
- } else r[t] = e[t];
18
- for (let t of f) c.includes(t) || (r[t] = o[t]);
19
- return r;
20
- }, g = (e) => !e || typeof e != "string" ? e : e.replace(/\s+/g, " ").trim();
89
+ var S = ne();
90
+ var le = (b$1) => {
91
+ let w = (u$1, $) => {
92
+ let { extend: c$1 = null, slots: M = {}, variants: q = {}, compoundVariants: L = [], compoundSlots: v = [], defaultVariants: U = {} } = u$1, d$1 = { ...Q, ...$ }, x$1 = c$1?.base ? u(c$1.base, u$1?.base) : u$1?.base, p$1 = c$1?.variants && !x(c$1.variants) ? p(q, c$1.variants) : q, E = c$1?.defaultVariants && !x(c$1.defaultVariants) ? { ...c$1.defaultVariants, ...U } : U;
93
+ !x(d$1.twMergeConfig) && !k(d$1.twMergeConfig, S.cachedTwMergeConfig) && (S.didTwMergeConfigChange = true, S.cachedTwMergeConfig = d$1.twMergeConfig);
94
+ let N = x(c$1?.slots), O = x(M) ? {} : { base: u(u$1?.base, N && c$1?.base), ...M }, j$1 = N ? O : d({ ...c$1?.slots }, x(O) ? { base: u$1?.base } : O), T2 = x(c$1?.compoundVariants) ? L : g(c$1?.compoundVariants, L), y2 = (h$1) => {
95
+ if (x(p$1) && x(M) && N) return b$1(x$1, h$1?.class, h$1?.className)(d$1);
96
+ if (T2 && !Array.isArray(T2)) throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof T2}`);
97
+ if (v && !Array.isArray(v)) throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof v}`);
98
+ let Y = (t, e, n = [], a$1) => {
99
+ let r = n;
100
+ if (typeof e == "string") {
101
+ let i2 = a(e).split(" ");
102
+ for (let l = 0; l < i2.length; l++) r.push(`${t}:${i2[l]}`);
103
+ } else if (Array.isArray(e)) for (let s = 0; s < e.length; s++) r.push(`${t}:${e[s]}`);
104
+ else if (typeof e == "object" && typeof a$1 == "string" && a$1 in e) {
105
+ let s = e[a$1];
106
+ if (s && typeof s == "string") {
107
+ let l = a(s).split(" "), f2 = [];
108
+ for (let o = 0; o < l.length; o++) f2.push(`${t}:${l[o]}`);
109
+ r[a$1] = r[a$1] ? r[a$1].concat(f2) : f2;
110
+ } else if (Array.isArray(s) && s.length > 0) {
111
+ let i2 = [];
112
+ for (let l = 0; l < s.length; l++) i2.push(`${t}:${s[l]}`);
113
+ r[a$1] = i2;
114
+ }
115
+ }
116
+ return r;
117
+ }, W = (t, e = p$1, n = null, a2 = null) => {
118
+ let r = e[t];
119
+ if (!r || x(r)) return null;
120
+ let s = a2?.[t] ?? h$1?.[t];
121
+ if (s === null) return null;
122
+ let i2 = h(s), l = Array.isArray(d$1.responsiveVariants) && d$1.responsiveVariants.length > 0 || d$1.responsiveVariants === true, f2 = E?.[t], o = [];
123
+ if (typeof i2 == "object" && l) for (let [C2, H] of Object.entries(i2)) {
124
+ let te = r[H];
125
+ if (C2 === "initial") {
126
+ f2 = H;
127
+ continue;
128
+ }
129
+ Array.isArray(d$1.responsiveVariants) && !d$1.responsiveVariants.includes(C2) || (o = Y(C2, te, o, n));
130
+ }
131
+ let V = i2 != null && typeof i2 != "object" ? i2 : h(f2), m = r[V || "false"];
132
+ return typeof o == "object" && typeof n == "string" && o[n] ? d(o, m) : o.length > 0 ? (o.push(m), n === "base" ? o.join(" ") : o) : m;
133
+ }, Z = () => {
134
+ if (!p$1) return null;
135
+ let t = Object.keys(p$1), e = [];
136
+ for (let n = 0; n < t.length; n++) {
137
+ let a2 = W(t[n], p$1);
138
+ a2 && e.push(a2);
139
+ }
140
+ return e;
141
+ }, _ = (t, e) => {
142
+ if (!p$1 || typeof p$1 != "object") return null;
143
+ let n = [];
144
+ for (let a2 in p$1) {
145
+ let r = W(a2, p$1, t, e), s = t === "base" && typeof r == "string" ? r : r && r[t];
146
+ s && n.push(s);
147
+ }
148
+ return n;
149
+ }, z = {};
150
+ for (let t in h$1) {
151
+ let e = h$1[t];
152
+ e !== void 0 && (z[t] = e);
153
+ }
154
+ let D = (t, e) => {
155
+ let n = typeof h$1?.[t] == "object" ? { [t]: h$1[t]?.initial } : {};
156
+ return { ...E, ...z, ...n, ...e };
157
+ }, G = (t = [], e) => {
158
+ let n = [], a2 = t.length;
159
+ for (let r = 0; r < a2; r++) {
160
+ let { class: s, className: i2, ...l } = t[r], f2 = true, o = D(null, e);
161
+ for (let V in l) {
162
+ let m = l[V], C2 = o[V];
163
+ if (Array.isArray(m)) {
164
+ if (!m.includes(C2)) {
165
+ f2 = false;
166
+ break;
167
+ }
168
+ } else {
169
+ if ((m == null || m === false) && (C2 == null || C2 === false)) continue;
170
+ if (C2 !== m) {
171
+ f2 = false;
172
+ break;
173
+ }
174
+ }
175
+ }
176
+ f2 && (s && n.push(s), i2 && n.push(i2));
177
+ }
178
+ return n;
179
+ }, K = (t) => {
180
+ let e = G(T2, t);
181
+ if (!Array.isArray(e)) return e;
182
+ let n = {}, a2 = b$1;
183
+ for (let r = 0; r < e.length; r++) {
184
+ let s = e[r];
185
+ if (typeof s == "string") n.base = a2(n.base, s)(d$1);
186
+ else if (typeof s == "object") for (let i2 in s) n[i2] = a2(n[i2], s[i2])(d$1);
187
+ }
188
+ return n;
189
+ }, ee = (t) => {
190
+ if (v.length < 1) return null;
191
+ let e = {}, n = D(null, t);
192
+ for (let a2 = 0; a2 < v.length; a2++) {
193
+ let { slots: r = [], class: s, className: i2, ...l } = v[a2];
194
+ if (!x(l)) {
195
+ let f2 = true;
196
+ for (let o in l) {
197
+ let V = n[o], m = l[o];
198
+ if (V === void 0 || (Array.isArray(m) ? !m.includes(V) : m !== V)) {
199
+ f2 = false;
200
+ break;
201
+ }
202
+ }
203
+ if (!f2) continue;
204
+ }
205
+ for (let f2 = 0; f2 < r.length; f2++) {
206
+ let o = r[f2];
207
+ e[o] || (e[o] = []), e[o].push([s, i2]);
208
+ }
209
+ }
210
+ return e;
211
+ };
212
+ if (!x(M) || !N) {
213
+ let t = {};
214
+ if (typeof j$1 == "object" && !x(j$1)) {
215
+ let e = b$1;
216
+ for (let n in j$1) t[n] = (a2) => {
217
+ let r = K(a2), s = ee(a2);
218
+ return e(j$1[n], _(n, a2), r ? r[n] : void 0, s ? s[n] : void 0, a2?.class, a2?.className)(d$1);
219
+ };
220
+ }
221
+ return t;
222
+ }
223
+ return b$1(x$1, Z(), G(T2), h$1?.class, h$1?.className)(d$1);
224
+ }, X = () => {
225
+ if (!(!p$1 || typeof p$1 != "object")) return Object.keys(p$1);
226
+ };
227
+ return y2.variantKeys = X(), y2.extend = c$1, y2.base = x$1, y2.slots = j$1, y2.variants = p$1, y2.defaultVariants = E, y2.compoundSlots = v, y2.compoundVariants = T2, y2;
228
+ };
229
+ return { tv: w, createTV: (u2) => ($, c2) => w($, c2 ? p(u2, c2) : u2) };
230
+ };
21
231
  const CLASS_PART_SEPARATOR = "-";
22
232
  const createClassGroupUtils = (config) => {
23
233
  const classMap = createClassMap(config);
@@ -343,9 +553,9 @@ const toValue = (mix) => {
343
553
  }
344
554
  let resolvedValue;
345
555
  let string = "";
346
- for (let k = 0; k < mix.length; k++) {
347
- if (mix[k]) {
348
- if (resolvedValue = toValue(mix[k])) {
556
+ for (let k2 = 0; k2 < mix.length; k2++) {
557
+ if (mix[k2]) {
558
+ if (resolvedValue = toValue(mix[k2])) {
349
559
  string && (string += " ");
350
560
  string += resolvedValue;
351
561
  }
@@ -389,12 +599,12 @@ const arbitraryVariableRegex = /^\((?:(\w[\w-]*):)?(.+)\)$/i;
389
599
  const fractionRegex = /^\d+\/\d+$/;
390
600
  const tshirtUnitRegex = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/;
391
601
  const lengthUnitRegex = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/;
392
- const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/;
602
+ const colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/;
393
603
  const shadowRegex = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/;
394
604
  const imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/;
395
605
  const isFraction = (value) => fractionRegex.test(value);
396
- const isNumber = (value) => Boolean(value) && !Number.isNaN(Number(value));
397
- const isInteger = (value) => Boolean(value) && Number.isInteger(Number(value));
606
+ const isNumber = (value) => !!value && !Number.isNaN(Number(value));
607
+ const isInteger = (value) => !!value && Number.isInteger(Number(value));
398
608
  const isPercent = (value) => value.endsWith("%") && isNumber(value.slice(0, -1));
399
609
  const isTshirtSize = (value) => tshirtUnitRegex.test(value);
400
610
  const isAny = () => true;
@@ -414,7 +624,7 @@ const isArbitraryLength = (value) => getIsArbitraryValue(value, isLabelLength, i
414
624
  const isArbitraryNumber = (value) => getIsArbitraryValue(value, isLabelNumber, isNumber);
415
625
  const isArbitraryPosition = (value) => getIsArbitraryValue(value, isLabelPosition, isNever);
416
626
  const isArbitraryImage = (value) => getIsArbitraryValue(value, isLabelImage, isImage);
417
- const isArbitraryShadow = (value) => getIsArbitraryValue(value, isNever, isShadow);
627
+ const isArbitraryShadow = (value) => getIsArbitraryValue(value, isLabelShadow, isShadow);
418
628
  const isArbitraryVariable = (value) => arbitraryVariableRegex.test(value);
419
629
  const isArbitraryVariableLength = (value) => getIsArbitraryVariable(value, isLabelLength);
420
630
  const isArbitraryVariableFamilyName = (value) => getIsArbitraryVariable(value, isLabelFamilyName);
@@ -442,11 +652,9 @@ const getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) =>
442
652
  }
443
653
  return false;
444
654
  };
445
- const isLabelPosition = (label) => label === "position";
446
- const imageLabels = /* @__PURE__ */ new Set(["image", "url"]);
447
- const isLabelImage = (label) => imageLabels.has(label);
448
- const sizeLabels = /* @__PURE__ */ new Set(["length", "size", "percentage"]);
449
- const isLabelSize = (label) => sizeLabels.has(label);
655
+ const isLabelPosition = (label) => label === "position" || label === "percentage";
656
+ const isLabelImage = (label) => label === "image" || label === "url";
657
+ const isLabelSize = (label) => label === "length" || label === "size" || label === "bg-size";
450
658
  const isLabelLength = (label) => label === "length";
451
659
  const isLabelNumber = (label) => label === "number";
452
660
  const isLabelFamilyName = (label) => label === "family-name";
@@ -464,6 +672,7 @@ const getDefaultConfig = () => {
464
672
  const themeRadius = fromTheme("radius");
465
673
  const themeShadow = fromTheme("shadow");
466
674
  const themeInsetShadow = fromTheme("inset-shadow");
675
+ const themeTextShadow = fromTheme("text-shadow");
467
676
  const themeDropShadow = fromTheme("drop-shadow");
468
677
  const themeBlur = fromTheme("blur");
469
678
  const themePerspective = fromTheme("perspective");
@@ -471,7 +680,26 @@ const getDefaultConfig = () => {
471
680
  const themeEase = fromTheme("ease");
472
681
  const themeAnimate = fromTheme("animate");
473
682
  const scaleBreak = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"];
474
- const scalePosition = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"];
683
+ const scalePosition = () => [
684
+ "center",
685
+ "top",
686
+ "bottom",
687
+ "left",
688
+ "right",
689
+ "top-left",
690
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
691
+ "left-top",
692
+ "top-right",
693
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
694
+ "right-top",
695
+ "bottom-right",
696
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
697
+ "right-bottom",
698
+ "bottom-left",
699
+ // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
700
+ "left-bottom"
701
+ ];
702
+ const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];
475
703
  const scaleOverflow = () => ["auto", "hidden", "clip", "visible", "scroll"];
476
704
  const scaleOverscroll = () => ["auto", "contain", "none"];
477
705
  const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];
@@ -479,15 +707,24 @@ const getDefaultConfig = () => {
479
707
  const scaleGridTemplateColsRows = () => [isInteger, "none", "subgrid", isArbitraryVariable, isArbitraryValue];
480
708
  const scaleGridColRowStartAndEnd = () => ["auto", {
481
709
  span: ["full", isInteger, isArbitraryVariable, isArbitraryValue]
482
- }, isArbitraryVariable, isArbitraryValue];
710
+ }, isInteger, isArbitraryVariable, isArbitraryValue];
483
711
  const scaleGridColRowStartOrEnd = () => [isInteger, "auto", isArbitraryVariable, isArbitraryValue];
484
712
  const scaleGridAutoColsRows = () => ["auto", "min", "max", "fr", isArbitraryVariable, isArbitraryValue];
485
- const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline"];
486
- const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch"];
713
+ const scaleAlignPrimaryAxis = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"];
714
+ const scaleAlignSecondaryAxis = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"];
487
715
  const scaleMargin = () => ["auto", ...scaleUnambiguousSpacing()];
488
716
  const scaleSizing = () => [isFraction, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...scaleUnambiguousSpacing()];
489
717
  const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];
490
- const scaleGradientStopPosition = () => [isPercent, isArbitraryLength];
718
+ const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {
719
+ position: [isArbitraryVariable, isArbitraryValue]
720
+ }];
721
+ const scaleBgRepeat = () => ["no-repeat", {
722
+ repeat: ["", "x", "y", "space", "round"]
723
+ }];
724
+ const scaleBgSize = () => ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize, {
725
+ size: [isArbitraryVariable, isArbitraryValue]
726
+ }];
727
+ const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];
491
728
  const scaleRadius = () => [
492
729
  // Deprecated since Tailwind CSS v4.0.0
493
730
  "",
@@ -500,6 +737,7 @@ const getDefaultConfig = () => {
500
737
  const scaleBorderWidth = () => ["", isNumber, isArbitraryVariableLength, isArbitraryLength];
501
738
  const scaleLineStyle = () => ["solid", "dashed", "dotted", "double"];
502
739
  const scaleBlendMode = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"];
740
+ const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];
503
741
  const scaleBlur = () => [
504
742
  // Deprecated since Tailwind CSS v4.0.0
505
743
  "",
@@ -508,7 +746,6 @@ const getDefaultConfig = () => {
508
746
  isArbitraryVariable,
509
747
  isArbitraryValue
510
748
  ];
511
- const scaleOrigin = () => ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", isArbitraryVariable, isArbitraryValue];
512
749
  const scaleRotate = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
513
750
  const scaleScale = () => ["none", isNumber, isArbitraryVariable, isArbitraryValue];
514
751
  const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];
@@ -533,6 +770,7 @@ const getDefaultConfig = () => {
533
770
  shadow: [isTshirtSize],
534
771
  spacing: ["px", isNumber],
535
772
  text: [isTshirtSize],
773
+ "text-shadow": [isTshirtSize],
536
774
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
537
775
  },
538
776
  classGroups: {
@@ -635,7 +873,7 @@ const getDefaultConfig = () => {
635
873
  * @see https://tailwindcss.com/docs/object-position
636
874
  */
637
875
  "object-position": [{
638
- object: [...scalePosition(), isArbitraryValue, isArbitraryVariable]
876
+ object: scalePositionWithArbitrary()
639
877
  }],
640
878
  /**
641
879
  * Overflow
@@ -942,14 +1180,18 @@ const getDefaultConfig = () => {
942
1180
  * @see https://tailwindcss.com/docs/align-items
943
1181
  */
944
1182
  "align-items": [{
945
- items: [...scaleAlignSecondaryAxis(), "baseline"]
1183
+ items: [...scaleAlignSecondaryAxis(), {
1184
+ baseline: ["", "last"]
1185
+ }]
946
1186
  }],
947
1187
  /**
948
1188
  * Align Self
949
1189
  * @see https://tailwindcss.com/docs/align-self
950
1190
  */
951
1191
  "align-self": [{
952
- self: ["auto", ...scaleAlignSecondaryAxis(), "baseline"]
1192
+ self: ["auto", ...scaleAlignSecondaryAxis(), {
1193
+ baseline: ["", "last"]
1194
+ }]
953
1195
  }],
954
1196
  /**
955
1197
  * Place Content
@@ -1176,21 +1418,21 @@ const getDefaultConfig = () => {
1176
1418
  * @see https://tailwindcss.com/docs/height
1177
1419
  */
1178
1420
  h: [{
1179
- h: ["screen", ...scaleSizing()]
1421
+ h: ["screen", "lh", ...scaleSizing()]
1180
1422
  }],
1181
1423
  /**
1182
1424
  * Min-Height
1183
1425
  * @see https://tailwindcss.com/docs/min-height
1184
1426
  */
1185
1427
  "min-h": [{
1186
- "min-h": ["screen", "none", ...scaleSizing()]
1428
+ "min-h": ["screen", "lh", "none", ...scaleSizing()]
1187
1429
  }],
1188
1430
  /**
1189
1431
  * Max-Height
1190
1432
  * @see https://tailwindcss.com/docs/max-height
1191
1433
  */
1192
1434
  "max-h": [{
1193
- "max-h": ["screen", ...scaleSizing()]
1435
+ "max-h": ["screen", "lh", ...scaleSizing()]
1194
1436
  }],
1195
1437
  // ------------------
1196
1438
  // --- Typography ---
@@ -1409,6 +1651,13 @@ const getDefaultConfig = () => {
1409
1651
  break: [{
1410
1652
  break: ["normal", "words", "all", "keep"]
1411
1653
  }],
1654
+ /**
1655
+ * Overflow Wrap
1656
+ * @see https://tailwindcss.com/docs/overflow-wrap
1657
+ */
1658
+ wrap: [{
1659
+ wrap: ["break-word", "anywhere", "normal"]
1660
+ }],
1412
1661
  /**
1413
1662
  * Hyphens
1414
1663
  * @see https://tailwindcss.com/docs/hyphens
@@ -1452,23 +1701,21 @@ const getDefaultConfig = () => {
1452
1701
  * @see https://tailwindcss.com/docs/background-position
1453
1702
  */
1454
1703
  "bg-position": [{
1455
- bg: [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition]
1704
+ bg: scaleBgPosition()
1456
1705
  }],
1457
1706
  /**
1458
1707
  * Background Repeat
1459
1708
  * @see https://tailwindcss.com/docs/background-repeat
1460
1709
  */
1461
1710
  "bg-repeat": [{
1462
- bg: ["no-repeat", {
1463
- repeat: ["", "x", "y", "space", "round"]
1464
- }]
1711
+ bg: scaleBgRepeat()
1465
1712
  }],
1466
1713
  /**
1467
1714
  * Background Size
1468
1715
  * @see https://tailwindcss.com/docs/background-size
1469
1716
  */
1470
1717
  "bg-size": [{
1471
- bg: ["auto", "cover", "contain", isArbitraryVariableSize, isArbitrarySize]
1718
+ bg: scaleBgSize()
1472
1719
  }],
1473
1720
  /**
1474
1721
  * Background Image
@@ -1837,7 +2084,7 @@ const getDefaultConfig = () => {
1837
2084
  * @see https://tailwindcss.com/docs/outline-color
1838
2085
  */
1839
2086
  "outline-color": [{
1840
- outline: [themeColor]
2087
+ outline: scaleColor()
1841
2088
  }],
1842
2089
  // ---------------
1843
2090
  // --- Effects ---
@@ -1868,7 +2115,7 @@ const getDefaultConfig = () => {
1868
2115
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1869
2116
  */
1870
2117
  "inset-shadow": [{
1871
- "inset-shadow": ["none", isArbitraryVariable, isArbitraryValue, themeInsetShadow]
2118
+ "inset-shadow": ["none", themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]
1872
2119
  }],
1873
2120
  /**
1874
2121
  * Inset Box Shadow Color
@@ -1930,6 +2177,20 @@ const getDefaultConfig = () => {
1930
2177
  "inset-ring-color": [{
1931
2178
  "inset-ring": scaleColor()
1932
2179
  }],
2180
+ /**
2181
+ * Text Shadow
2182
+ * @see https://tailwindcss.com/docs/text-shadow
2183
+ */
2184
+ "text-shadow": [{
2185
+ "text-shadow": ["none", themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]
2186
+ }],
2187
+ /**
2188
+ * Text Shadow Color
2189
+ * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
2190
+ */
2191
+ "text-shadow-color": [{
2192
+ "text-shadow": scaleColor()
2193
+ }],
1933
2194
  /**
1934
2195
  * Opacity
1935
2196
  * @see https://tailwindcss.com/docs/opacity
@@ -1951,6 +2212,202 @@ const getDefaultConfig = () => {
1951
2212
  "bg-blend": [{
1952
2213
  "bg-blend": scaleBlendMode()
1953
2214
  }],
2215
+ /**
2216
+ * Mask Clip
2217
+ * @see https://tailwindcss.com/docs/mask-clip
2218
+ */
2219
+ "mask-clip": [{
2220
+ "mask-clip": ["border", "padding", "content", "fill", "stroke", "view"]
2221
+ }, "mask-no-clip"],
2222
+ /**
2223
+ * Mask Composite
2224
+ * @see https://tailwindcss.com/docs/mask-composite
2225
+ */
2226
+ "mask-composite": [{
2227
+ mask: ["add", "subtract", "intersect", "exclude"]
2228
+ }],
2229
+ /**
2230
+ * Mask Image
2231
+ * @see https://tailwindcss.com/docs/mask-image
2232
+ */
2233
+ "mask-image-linear-pos": [{
2234
+ "mask-linear": [isNumber]
2235
+ }],
2236
+ "mask-image-linear-from-pos": [{
2237
+ "mask-linear-from": scaleMaskImagePosition()
2238
+ }],
2239
+ "mask-image-linear-to-pos": [{
2240
+ "mask-linear-to": scaleMaskImagePosition()
2241
+ }],
2242
+ "mask-image-linear-from-color": [{
2243
+ "mask-linear-from": scaleColor()
2244
+ }],
2245
+ "mask-image-linear-to-color": [{
2246
+ "mask-linear-to": scaleColor()
2247
+ }],
2248
+ "mask-image-t-from-pos": [{
2249
+ "mask-t-from": scaleMaskImagePosition()
2250
+ }],
2251
+ "mask-image-t-to-pos": [{
2252
+ "mask-t-to": scaleMaskImagePosition()
2253
+ }],
2254
+ "mask-image-t-from-color": [{
2255
+ "mask-t-from": scaleColor()
2256
+ }],
2257
+ "mask-image-t-to-color": [{
2258
+ "mask-t-to": scaleColor()
2259
+ }],
2260
+ "mask-image-r-from-pos": [{
2261
+ "mask-r-from": scaleMaskImagePosition()
2262
+ }],
2263
+ "mask-image-r-to-pos": [{
2264
+ "mask-r-to": scaleMaskImagePosition()
2265
+ }],
2266
+ "mask-image-r-from-color": [{
2267
+ "mask-r-from": scaleColor()
2268
+ }],
2269
+ "mask-image-r-to-color": [{
2270
+ "mask-r-to": scaleColor()
2271
+ }],
2272
+ "mask-image-b-from-pos": [{
2273
+ "mask-b-from": scaleMaskImagePosition()
2274
+ }],
2275
+ "mask-image-b-to-pos": [{
2276
+ "mask-b-to": scaleMaskImagePosition()
2277
+ }],
2278
+ "mask-image-b-from-color": [{
2279
+ "mask-b-from": scaleColor()
2280
+ }],
2281
+ "mask-image-b-to-color": [{
2282
+ "mask-b-to": scaleColor()
2283
+ }],
2284
+ "mask-image-l-from-pos": [{
2285
+ "mask-l-from": scaleMaskImagePosition()
2286
+ }],
2287
+ "mask-image-l-to-pos": [{
2288
+ "mask-l-to": scaleMaskImagePosition()
2289
+ }],
2290
+ "mask-image-l-from-color": [{
2291
+ "mask-l-from": scaleColor()
2292
+ }],
2293
+ "mask-image-l-to-color": [{
2294
+ "mask-l-to": scaleColor()
2295
+ }],
2296
+ "mask-image-x-from-pos": [{
2297
+ "mask-x-from": scaleMaskImagePosition()
2298
+ }],
2299
+ "mask-image-x-to-pos": [{
2300
+ "mask-x-to": scaleMaskImagePosition()
2301
+ }],
2302
+ "mask-image-x-from-color": [{
2303
+ "mask-x-from": scaleColor()
2304
+ }],
2305
+ "mask-image-x-to-color": [{
2306
+ "mask-x-to": scaleColor()
2307
+ }],
2308
+ "mask-image-y-from-pos": [{
2309
+ "mask-y-from": scaleMaskImagePosition()
2310
+ }],
2311
+ "mask-image-y-to-pos": [{
2312
+ "mask-y-to": scaleMaskImagePosition()
2313
+ }],
2314
+ "mask-image-y-from-color": [{
2315
+ "mask-y-from": scaleColor()
2316
+ }],
2317
+ "mask-image-y-to-color": [{
2318
+ "mask-y-to": scaleColor()
2319
+ }],
2320
+ "mask-image-radial": [{
2321
+ "mask-radial": [isArbitraryVariable, isArbitraryValue]
2322
+ }],
2323
+ "mask-image-radial-from-pos": [{
2324
+ "mask-radial-from": scaleMaskImagePosition()
2325
+ }],
2326
+ "mask-image-radial-to-pos": [{
2327
+ "mask-radial-to": scaleMaskImagePosition()
2328
+ }],
2329
+ "mask-image-radial-from-color": [{
2330
+ "mask-radial-from": scaleColor()
2331
+ }],
2332
+ "mask-image-radial-to-color": [{
2333
+ "mask-radial-to": scaleColor()
2334
+ }],
2335
+ "mask-image-radial-shape": [{
2336
+ "mask-radial": ["circle", "ellipse"]
2337
+ }],
2338
+ "mask-image-radial-size": [{
2339
+ "mask-radial": [{
2340
+ closest: ["side", "corner"],
2341
+ farthest: ["side", "corner"]
2342
+ }]
2343
+ }],
2344
+ "mask-image-radial-pos": [{
2345
+ "mask-radial-at": scalePosition()
2346
+ }],
2347
+ "mask-image-conic-pos": [{
2348
+ "mask-conic": [isNumber]
2349
+ }],
2350
+ "mask-image-conic-from-pos": [{
2351
+ "mask-conic-from": scaleMaskImagePosition()
2352
+ }],
2353
+ "mask-image-conic-to-pos": [{
2354
+ "mask-conic-to": scaleMaskImagePosition()
2355
+ }],
2356
+ "mask-image-conic-from-color": [{
2357
+ "mask-conic-from": scaleColor()
2358
+ }],
2359
+ "mask-image-conic-to-color": [{
2360
+ "mask-conic-to": scaleColor()
2361
+ }],
2362
+ /**
2363
+ * Mask Mode
2364
+ * @see https://tailwindcss.com/docs/mask-mode
2365
+ */
2366
+ "mask-mode": [{
2367
+ mask: ["alpha", "luminance", "match"]
2368
+ }],
2369
+ /**
2370
+ * Mask Origin
2371
+ * @see https://tailwindcss.com/docs/mask-origin
2372
+ */
2373
+ "mask-origin": [{
2374
+ "mask-origin": ["border", "padding", "content", "fill", "stroke", "view"]
2375
+ }],
2376
+ /**
2377
+ * Mask Position
2378
+ * @see https://tailwindcss.com/docs/mask-position
2379
+ */
2380
+ "mask-position": [{
2381
+ mask: scaleBgPosition()
2382
+ }],
2383
+ /**
2384
+ * Mask Repeat
2385
+ * @see https://tailwindcss.com/docs/mask-repeat
2386
+ */
2387
+ "mask-repeat": [{
2388
+ mask: scaleBgRepeat()
2389
+ }],
2390
+ /**
2391
+ * Mask Size
2392
+ * @see https://tailwindcss.com/docs/mask-size
2393
+ */
2394
+ "mask-size": [{
2395
+ mask: scaleBgSize()
2396
+ }],
2397
+ /**
2398
+ * Mask Type
2399
+ * @see https://tailwindcss.com/docs/mask-type
2400
+ */
2401
+ "mask-type": [{
2402
+ "mask-type": ["alpha", "luminance"]
2403
+ }],
2404
+ /**
2405
+ * Mask Image
2406
+ * @see https://tailwindcss.com/docs/mask-image
2407
+ */
2408
+ "mask-image": [{
2409
+ mask: ["none", isArbitraryVariable, isArbitraryValue]
2410
+ }],
1954
2411
  // ---------------
1955
2412
  // --- Filters ---
1956
2413
  // ---------------
@@ -1998,10 +2455,17 @@ const getDefaultConfig = () => {
1998
2455
  "",
1999
2456
  "none",
2000
2457
  themeDropShadow,
2001
- isArbitraryVariable,
2002
- isArbitraryValue
2458
+ isArbitraryVariableShadow,
2459
+ isArbitraryShadow
2003
2460
  ]
2004
2461
  }],
2462
+ /**
2463
+ * Drop Shadow Color
2464
+ * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2465
+ */
2466
+ "drop-shadow-color": [{
2467
+ "drop-shadow": scaleColor()
2468
+ }],
2005
2469
  /**
2006
2470
  * Grayscale
2007
2471
  * @see https://tailwindcss.com/docs/grayscale
@@ -2225,7 +2689,7 @@ const getDefaultConfig = () => {
2225
2689
  * @see https://tailwindcss.com/docs/perspective-origin
2226
2690
  */
2227
2691
  "perspective-origin": [{
2228
- "perspective-origin": scaleOrigin()
2692
+ "perspective-origin": scalePositionWithArbitrary()
2229
2693
  }],
2230
2694
  /**
2231
2695
  * Rotate
@@ -2321,7 +2785,7 @@ const getDefaultConfig = () => {
2321
2785
  * @see https://tailwindcss.com/docs/transform-origin
2322
2786
  */
2323
2787
  "transform-origin": [{
2324
- origin: scaleOrigin()
2788
+ origin: scalePositionWithArbitrary()
2325
2789
  }],
2326
2790
  /**
2327
2791
  * Transform Style
@@ -2689,10 +3153,10 @@ const getDefaultConfig = () => {
2689
3153
  "rounded-b": ["rounded-br", "rounded-bl"],
2690
3154
  "rounded-l": ["rounded-tl", "rounded-bl"],
2691
3155
  "border-spacing": ["border-spacing-x", "border-spacing-y"],
2692
- "border-w": ["border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
3156
+ "border-w": ["border-w-x", "border-w-y", "border-w-s", "border-w-e", "border-w-t", "border-w-r", "border-w-b", "border-w-l"],
2693
3157
  "border-w-x": ["border-w-r", "border-w-l"],
2694
3158
  "border-w-y": ["border-w-t", "border-w-b"],
2695
- "border-color": ["border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
3159
+ "border-color": ["border-color-x", "border-color-y", "border-color-s", "border-color-e", "border-color-t", "border-color-r", "border-color-b", "border-color-l"],
2696
3160
  "border-color-x": ["border-color-r", "border-color-l"],
2697
3161
  "border-color-y": ["border-color-t", "border-color-b"],
2698
3162
  translate: ["translate-x", "translate-y", "translate-none"],
@@ -2711,7 +3175,7 @@ const getDefaultConfig = () => {
2711
3175
  conflictingClassGroupModifiers: {
2712
3176
  "font-size": ["leading"]
2713
3177
  },
2714
- orderSensitiveModifiers: ["before", "after", "placeholder", "file", "marker", "selection", "first-line", "first-letter", "backdrop", "*", "**"]
3178
+ orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2715
3179
  };
2716
3180
  };
2717
3181
  const mergeConfigs = (baseConfig, {
@@ -2763,126 +3227,13 @@ const mergeArrayProperties = (baseObject, mergeObject, key) => {
2763
3227
  };
2764
3228
  const extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === "function" ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);
2765
3229
  const twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
2766
- var ie = { twMerge: true, twMergeConfig: {}, responsiveVariants: false }, x = (s) => s || void 0, N = (...s) => x(y(s).filter(Boolean).join(" ")), R = null, v = {}, q = false, M = (...s) => (b$1) => b$1.twMerge ? ((!R || q) && (q = false, R = u(v) ? twMerge : extendTailwindMerge({ ...v, extend: { theme: v.theme, classGroups: v.classGroups, conflictingClassGroupModifiers: v.conflictingClassGroupModifiers, conflictingClassGroups: v.conflictingClassGroups, ...v.extend } })), x(R(N(s)))) : N(s), _ = (s, b) => {
2767
- for (let e in b) s.hasOwnProperty(e) ? s[e] = N(s[e], b[e]) : s[e] = b[e];
2768
- return s;
2769
- }, ce = (s, b$1) => {
2770
- let { extend: e = null, slots: O = {}, variants: U = {}, compoundVariants: W = [], compoundSlots: C = [], defaultVariants: z = {} } = s, m = { ...ie, ...b$1 }, k = e != null && e.base ? N(e.base, s == null ? void 0 : s.base) : s == null ? void 0 : s.base, g$1 = e != null && e.variants && !u(e.variants) ? p(U, e.variants) : U, w = e != null && e.defaultVariants && !u(e.defaultVariants) ? { ...e.defaultVariants, ...z } : z;
2771
- !u(m.twMergeConfig) && !x$1(m.twMergeConfig, v) && (q = true, v = m.twMergeConfig);
2772
- let S = u(e == null ? void 0 : e.slots), T = u(O) ? {} : { base: N(s == null ? void 0 : s.base, S && (e == null ? void 0 : e.base)), ...O }, j = S ? T : _({ ...e == null ? void 0 : e.slots }, u(T) ? { base: s == null ? void 0 : s.base } : T), h$1 = u(e == null ? void 0 : e.compoundVariants) ? W : a(e == null ? void 0 : e.compoundVariants, W), V = (l$1) => {
2773
- if (u(g$1) && u(O) && S) return M(k, l$1 == null ? void 0 : l$1.class, l$1 == null ? void 0 : l$1.className)(m);
2774
- if (h$1 && !Array.isArray(h$1)) throw new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof h$1}`);
2775
- if (C && !Array.isArray(C)) throw new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof C}`);
2776
- let P = (a2, n, t = [], i2) => {
2777
- let r = t;
2778
- if (typeof n == "string") r = r.concat(g(n).split(" ").map((o) => `${a2}:${o}`));
2779
- else if (Array.isArray(n)) r = r.concat(n.reduce((o, c) => o.concat(`${a2}:${c}`), []));
2780
- else if (typeof n == "object" && typeof i2 == "string") {
2781
- for (let o in n) if (n.hasOwnProperty(o) && o === i2) {
2782
- let c = n[o];
2783
- if (c && typeof c == "string") {
2784
- let u2 = g(c);
2785
- r[i2] ? r[i2] = r[i2].concat(u2.split(" ").map((f) => `${a2}:${f}`)) : r[i2] = u2.split(" ").map((f) => `${a2}:${f}`);
2786
- } else Array.isArray(c) && c.length > 0 && (r[i2] = c.reduce((u2, f) => u2.concat(`${a2}:${f}`), []));
2787
- }
2788
- }
2789
- return r;
2790
- }, D = (a$1, n = g$1, t = null, i2 = null) => {
2791
- var L;
2792
- let r = n[a$1];
2793
- if (!r || u(r)) return null;
2794
- let o = (L = i2 == null ? void 0 : i2[a$1]) != null ? L : l$1 == null ? void 0 : l$1[a$1];
2795
- if (o === null) return null;
2796
- let c = l(o), u$1 = Array.isArray(m.responsiveVariants) && m.responsiveVariants.length > 0 || m.responsiveVariants === true, f = w == null ? void 0 : w[a$1], d = [];
2797
- if (typeof c == "object" && u$1) for (let [E, Q] of Object.entries(c)) {
2798
- let ne = r[Q];
2799
- if (E === "initial") {
2800
- f = Q;
2801
- continue;
2802
- }
2803
- Array.isArray(m.responsiveVariants) && !m.responsiveVariants.includes(E) || (d = P(E, ne, d, t));
2804
- }
2805
- let $ = c != null && typeof c != "object" ? c : l(f), A = r[$ || "false"];
2806
- return typeof d == "object" && typeof t == "string" && d[t] ? _(d, A) : d.length > 0 ? (d.push(A), t === "base" ? d.join(" ") : d) : A;
2807
- }, p2 = () => g$1 ? Object.keys(g$1).map((a2) => D(a2, g$1)) : null, ee = (a2, n) => {
2808
- if (!g$1 || typeof g$1 != "object") return null;
2809
- let t = new Array();
2810
- for (let i2 in g$1) {
2811
- let r = D(i2, g$1, a2, n), o = a2 === "base" && typeof r == "string" ? r : r && r[a2];
2812
- o && (t[t.length] = o);
2813
- }
2814
- return t;
2815
- }, H = {};
2816
- for (let a2 in l$1) l$1[a2] !== void 0 && (H[a2] = l$1[a2]);
2817
- let I = (a2, n) => {
2818
- var i2;
2819
- let t = typeof (l$1 == null ? void 0 : l$1[a2]) == "object" ? { [a2]: (i2 = l$1[a2]) == null ? void 0 : i2.initial } : {};
2820
- return { ...w, ...H, ...t, ...n };
2821
- }, J = (a2 = [], n) => {
2822
- let t = [];
2823
- for (let { class: i2, className: r, ...o } of a2) {
2824
- let c = true;
2825
- for (let [u2, f] of Object.entries(o)) {
2826
- let d = I(u2, n)[u2];
2827
- if (Array.isArray(f)) {
2828
- if (!f.includes(d)) {
2829
- c = false;
2830
- break;
2831
- }
2832
- } else {
2833
- let $ = (A) => A == null || A === false;
2834
- if ($(f) && $(d)) continue;
2835
- if (d !== f) {
2836
- c = false;
2837
- break;
2838
- }
2839
- }
2840
- }
2841
- c && (i2 && t.push(i2), r && t.push(r));
2842
- }
2843
- return t;
2844
- }, te = (a2) => {
2845
- let n = J(h$1, a2);
2846
- if (!Array.isArray(n)) return n;
2847
- let t = {};
2848
- for (let i2 of n) if (typeof i2 == "string" && (t.base = M(t.base, i2)(m)), typeof i2 == "object") for (let [r, o] of Object.entries(i2)) t[r] = M(t[r], o)(m);
2849
- return t;
2850
- }, ae = (a2) => {
2851
- if (C.length < 1) return null;
2852
- let n = {};
2853
- for (let { slots: t = [], class: i2, className: r, ...o } of C) {
2854
- if (!u(o)) {
2855
- let c = true;
2856
- for (let u2 of Object.keys(o)) {
2857
- let f = I(u2, a2)[u2];
2858
- if (f === void 0 || (Array.isArray(o[u2]) ? !o[u2].includes(f) : o[u2] !== f)) {
2859
- c = false;
2860
- break;
2861
- }
2862
- }
2863
- if (!c) continue;
2864
- }
2865
- for (let c of t) n[c] = n[c] || [], n[c].push([i2, r]);
2866
- }
2867
- return n;
2868
- };
2869
- if (!u(O) || !S) {
2870
- let a2 = {};
2871
- if (typeof j == "object" && !u(j)) for (let n of Object.keys(j)) a2[n] = (t) => {
2872
- var i2, r;
2873
- return M(j[n], ee(n, t), ((i2 = te(t)) != null ? i2 : [])[n], ((r = ae(t)) != null ? r : [])[n], t == null ? void 0 : t.class, t == null ? void 0 : t.className)(m);
2874
- };
2875
- return a2;
2876
- }
2877
- return M(k, p2(), J(h$1), l$1 == null ? void 0 : l$1.class, l$1 == null ? void 0 : l$1.className)(m);
2878
- }, K = () => {
2879
- if (!(!g$1 || typeof g$1 != "object")) return Object.keys(g$1);
2880
- };
2881
- return V.variantKeys = K(), V.extend = e, V.base = k, V.slots = j, V.variants = g$1, V.defaultVariants = w, V.compoundSlots = C, V.compoundVariants = h$1, V;
2882
- }, fe = (s) => (b, e) => ce(b, e ? p(s, e) : s);
2883
- exports.M = M;
2884
- exports.N = N;
2885
- exports.ce = ce;
2886
- exports.fe = fe;
2887
- exports.ie = ie;
2888
- exports.x = x;
3230
+ var f = (e) => x(e) ? twMerge : extendTailwindMerge({ ...e, extend: { theme: e.theme, classGroups: e.classGroups, conflictingClassGroupModifiers: e.conflictingClassGroupModifiers, conflictingClassGroups: e.conflictingClassGroups, ...e.extend } }), i = (...e) => (a2) => {
3231
+ let t = u(e);
3232
+ return !t || !a2.twMerge ? t : ((!S.cachedTwMerge || S.didTwMergeConfigChange) && (S.didTwMergeConfigChange = false, S.cachedTwMerge = f(S.cachedTwMergeConfig)), S.cachedTwMerge(t) || void 0);
3233
+ };
3234
+ var { createTV: C, tv: T } = le(i);
3235
+ exports.C = C;
3236
+ exports.Q = Q;
3237
+ exports.T = T;
3238
+ exports.i = i;
3239
+ exports.u = u;