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