@sudobility/subscription-components 1.0.4 → 1.0.8

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.
package/dist/index.esm.js CHANGED
@@ -1,38 +1,38 @@
1
- import { jsxs as D, jsx as g, Fragment as $e } from "react/jsx-runtime";
1
+ import { jsxs as M, jsx as g, Fragment as $e } from "react/jsx-runtime";
2
2
  import { textVariants as be } from "@sudobility/design";
3
- import { Card as We, CardContent as Ue, Button as ve } from "@sudobility/components";
4
- import { createContext as Be, useState as B, useCallback as W, useEffect as Ye, useContext as Ke } from "react";
3
+ import { Card as Be, CardContent as We, Button as ve } from "@sudobility/components";
4
+ import { createContext as Ue, useState as K, useCallback as U, useEffect as Ye, useContext as Ke } from "react";
5
5
  function Se(e) {
6
- var o, r, t = "";
7
- if (typeof e == "string" || typeof e == "number") t += e;
6
+ var o, t, r = "";
7
+ if (typeof e == "string" || typeof e == "number") r += e;
8
8
  else if (typeof e == "object") if (Array.isArray(e)) {
9
- var n = e.length;
10
- for (o = 0; o < n; o++) e[o] && (r = Se(e[o])) && (t && (t += " "), t += r);
11
- } else for (r in e) e[r] && (t && (t += " "), t += r);
12
- return t;
9
+ var s = e.length;
10
+ for (o = 0; o < s; o++) e[o] && (t = Se(e[o])) && (r && (r += " "), r += t);
11
+ } else for (t in e) e[t] && (r && (r += " "), r += t);
12
+ return r;
13
13
  }
14
14
  function qe() {
15
- for (var e, o, r = 0, t = "", n = arguments.length; r < n; r++) (e = arguments[r]) && (o = Se(e)) && (t && (t += " "), t += o);
16
- return t;
15
+ for (var e, o, t = 0, r = "", s = arguments.length; t < s; t++) (e = arguments[t]) && (o = Se(e)) && (r && (r += " "), r += o);
16
+ return r;
17
17
  }
18
18
  const Xe = (e, o) => {
19
- const r = new Array(e.length + o.length);
20
- for (let t = 0; t < e.length; t++)
21
- r[t] = e[t];
22
- for (let t = 0; t < o.length; t++)
23
- r[e.length + t] = o[t];
24
- return r;
19
+ const t = new Array(e.length + o.length);
20
+ for (let r = 0; r < e.length; r++)
21
+ t[r] = e[r];
22
+ for (let r = 0; r < o.length; r++)
23
+ t[e.length + r] = o[r];
24
+ return t;
25
25
  }, Je = (e, o) => ({
26
26
  classGroupId: e,
27
27
  validator: o
28
- }), Re = (e = /* @__PURE__ */ new Map(), o = null, r) => ({
28
+ }), Re = (e = /* @__PURE__ */ new Map(), o = null, t) => ({
29
29
  nextPart: e,
30
30
  validators: o,
31
- classGroupId: r
31
+ classGroupId: t
32
32
  }), ce = "-", Ce = [], He = "arbitrary..", Qe = (e) => {
33
- const o = er(e), {
34
- conflictingClassGroups: r,
35
- conflictingClassGroupModifiers: t
33
+ const o = et(e), {
34
+ conflictingClassGroups: t,
35
+ conflictingClassGroupModifiers: r
36
36
  } = e;
37
37
  return {
38
38
  getClassGroupId: (a) => {
@@ -43,86 +43,86 @@ const Xe = (e, o) => {
43
43
  },
44
44
  getConflictingClassGroupIds: (a, m) => {
45
45
  if (m) {
46
- const c = t[a], p = r[a];
47
- return c ? p ? Xe(p, c) : c : p || Ce;
46
+ const c = r[a], f = t[a];
47
+ return c ? f ? Xe(f, c) : c : f || Ce;
48
48
  }
49
- return r[a] || Ce;
49
+ return t[a] || Ce;
50
50
  }
51
51
  };
52
- }, Ie = (e, o, r) => {
52
+ }, Ie = (e, o, t) => {
53
53
  if (e.length - o === 0)
54
- return r.classGroupId;
55
- const n = e[o], s = r.nextPart.get(n);
56
- if (s) {
57
- const p = Ie(e, o + 1, s);
58
- if (p) return p;
54
+ return t.classGroupId;
55
+ const s = e[o], n = t.nextPart.get(s);
56
+ if (n) {
57
+ const f = Ie(e, o + 1, n);
58
+ if (f) return f;
59
59
  }
60
- const a = r.validators;
60
+ const a = t.validators;
61
61
  if (a === null)
62
62
  return;
63
63
  const m = o === 0 ? e.join(ce) : e.slice(o).join(ce), c = a.length;
64
- for (let p = 0; p < c; p++) {
65
- const y = a[p];
66
- if (y.validator(m))
67
- return y.classGroupId;
64
+ for (let f = 0; f < c; f++) {
65
+ const k = a[f];
66
+ if (k.validator(m))
67
+ return k.classGroupId;
68
68
  }
69
69
  }, Ze = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
70
- const o = e.slice(1, -1), r = o.indexOf(":"), t = o.slice(0, r);
71
- return t ? He + t : void 0;
72
- })(), er = (e) => {
70
+ const o = e.slice(1, -1), t = o.indexOf(":"), r = o.slice(0, t);
71
+ return r ? He + r : void 0;
72
+ })(), et = (e) => {
73
73
  const {
74
74
  theme: o,
75
- classGroups: r
75
+ classGroups: t
76
76
  } = e;
77
- return rr(r, o);
78
- }, rr = (e, o) => {
79
- const r = Re();
80
- for (const t in e) {
81
- const n = e[t];
82
- xe(n, r, t, o);
77
+ return tt(t, o);
78
+ }, tt = (e, o) => {
79
+ const t = Re();
80
+ for (const r in e) {
81
+ const s = e[r];
82
+ xe(s, t, r, o);
83
83
  }
84
- return r;
85
- }, xe = (e, o, r, t) => {
86
- const n = e.length;
87
- for (let s = 0; s < n; s++) {
88
- const a = e[s];
89
- tr(a, o, r, t);
84
+ return t;
85
+ }, xe = (e, o, t, r) => {
86
+ const s = e.length;
87
+ for (let n = 0; n < s; n++) {
88
+ const a = e[n];
89
+ rt(a, o, t, r);
90
90
  }
91
- }, tr = (e, o, r, t) => {
91
+ }, rt = (e, o, t, r) => {
92
92
  if (typeof e == "string") {
93
- or(e, o, r);
93
+ ot(e, o, t);
94
94
  return;
95
95
  }
96
96
  if (typeof e == "function") {
97
- nr(e, o, r, t);
97
+ st(e, o, t, r);
98
98
  return;
99
99
  }
100
- sr(e, o, r, t);
101
- }, or = (e, o, r) => {
102
- const t = e === "" ? o : Me(o, e);
103
- t.classGroupId = r;
104
- }, nr = (e, o, r, t) => {
105
- if (ar(e)) {
106
- xe(e(t), o, r, t);
100
+ nt(e, o, t, r);
101
+ }, ot = (e, o, t) => {
102
+ const r = e === "" ? o : Me(o, e);
103
+ r.classGroupId = t;
104
+ }, st = (e, o, t, r) => {
105
+ if (at(e)) {
106
+ xe(e(r), o, t, r);
107
107
  return;
108
108
  }
109
- o.validators === null && (o.validators = []), o.validators.push(Je(r, e));
110
- }, sr = (e, o, r, t) => {
111
- const n = Object.entries(e), s = n.length;
112
- for (let a = 0; a < s; a++) {
113
- const [m, c] = n[a];
114
- xe(c, Me(o, m), r, t);
109
+ o.validators === null && (o.validators = []), o.validators.push(Je(t, e));
110
+ }, nt = (e, o, t, r) => {
111
+ const s = Object.entries(e), n = s.length;
112
+ for (let a = 0; a < n; a++) {
113
+ const [m, c] = s[a];
114
+ xe(c, Me(o, m), t, r);
115
115
  }
116
116
  }, Me = (e, o) => {
117
- let r = e;
118
- const t = o.split(ce), n = t.length;
119
- for (let s = 0; s < n; s++) {
120
- const a = t[s];
121
- let m = r.nextPart.get(a);
122
- m || (m = Re(), r.nextPart.set(a, m)), r = m;
117
+ let t = e;
118
+ const r = o.split(ce), s = r.length;
119
+ for (let n = 0; n < s; n++) {
120
+ const a = r[n];
121
+ let m = t.nextPart.get(a);
122
+ m || (m = Re(), t.nextPart.set(a, m)), t = m;
123
123
  }
124
- return r;
125
- }, ar = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, ir = (e) => {
124
+ return t;
125
+ }, at = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, it = (e) => {
126
126
  if (e < 1)
127
127
  return {
128
128
  get: () => {
@@ -130,178 +130,178 @@ const Xe = (e, o) => {
130
130
  set: () => {
131
131
  }
132
132
  };
133
- let o = 0, r = /* @__PURE__ */ Object.create(null), t = /* @__PURE__ */ Object.create(null);
134
- const n = (s, a) => {
135
- r[s] = a, o++, o > e && (o = 0, t = r, r = /* @__PURE__ */ Object.create(null));
133
+ let o = 0, t = /* @__PURE__ */ Object.create(null), r = /* @__PURE__ */ Object.create(null);
134
+ const s = (n, a) => {
135
+ t[n] = a, o++, o > e && (o = 0, r = t, t = /* @__PURE__ */ Object.create(null));
136
136
  };
137
137
  return {
138
- get(s) {
139
- let a = r[s];
138
+ get(n) {
139
+ let a = t[n];
140
140
  if (a !== void 0)
141
141
  return a;
142
- if ((a = t[s]) !== void 0)
143
- return n(s, a), a;
142
+ if ((a = r[n]) !== void 0)
143
+ return s(n, a), a;
144
144
  },
145
- set(s, a) {
146
- s in r ? r[s] = a : n(s, a);
145
+ set(n, a) {
146
+ n in t ? t[n] = a : s(n, a);
147
147
  }
148
148
  };
149
- }, he = "!", Ne = ":", lr = [], Pe = (e, o, r, t, n) => ({
149
+ }, he = "!", Pe = ":", lt = [], ze = (e, o, t, r, s) => ({
150
150
  modifiers: e,
151
151
  hasImportantModifier: o,
152
- baseClassName: r,
153
- maybePostfixModifierPosition: t,
154
- isExternal: n
155
- }), cr = (e) => {
152
+ baseClassName: t,
153
+ maybePostfixModifierPosition: r,
154
+ isExternal: s
155
+ }), ct = (e) => {
156
156
  const {
157
157
  prefix: o,
158
- experimentalParseClassName: r
158
+ experimentalParseClassName: t
159
159
  } = e;
160
- let t = (n) => {
161
- const s = [];
162
- let a = 0, m = 0, c = 0, p;
163
- const y = n.length;
164
- for (let P = 0; P < y; P++) {
165
- const w = n[P];
160
+ let r = (s) => {
161
+ const n = [];
162
+ let a = 0, m = 0, c = 0, f;
163
+ const k = s.length;
164
+ for (let z = 0; z < k; z++) {
165
+ const w = s[z];
166
166
  if (a === 0 && m === 0) {
167
- if (w === Ne) {
168
- s.push(n.slice(c, P)), c = P + 1;
167
+ if (w === Pe) {
168
+ n.push(s.slice(c, z)), c = z + 1;
169
169
  continue;
170
170
  }
171
171
  if (w === "/") {
172
- p = P;
172
+ f = z;
173
173
  continue;
174
174
  }
175
175
  }
176
176
  w === "[" ? a++ : w === "]" ? a-- : w === "(" ? m++ : w === ")" && m--;
177
177
  }
178
- const C = s.length === 0 ? n : n.slice(c);
179
- let T = C, x = !1;
180
- C.endsWith(he) ? (T = C.slice(0, -1), x = !0) : (
178
+ const v = n.length === 0 ? s : s.slice(c);
179
+ let O = v, h = !1;
180
+ v.endsWith(he) ? (O = v.slice(0, -1), h = !0) : (
181
181
  /**
182
182
  * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
183
183
  * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
184
184
  */
185
- C.startsWith(he) && (T = C.slice(1), x = !0)
185
+ v.startsWith(he) && (O = v.slice(1), h = !0)
186
186
  );
187
- const R = p && p > c ? p - c : void 0;
188
- return Pe(s, x, T, R);
187
+ const R = f && f > c ? f - c : void 0;
188
+ return ze(n, h, O, R);
189
189
  };
190
190
  if (o) {
191
- const n = o + Ne, s = t;
192
- t = (a) => a.startsWith(n) ? s(a.slice(n.length)) : Pe(lr, !1, a, void 0, !0);
191
+ const s = o + Pe, n = r;
192
+ r = (a) => a.startsWith(s) ? n(a.slice(s.length)) : ze(lt, !1, a, void 0, !0);
193
193
  }
194
- if (r) {
195
- const n = t;
196
- t = (s) => r({
197
- className: s,
198
- parseClassName: n
194
+ if (t) {
195
+ const s = r;
196
+ r = (n) => t({
197
+ className: n,
198
+ parseClassName: s
199
199
  });
200
200
  }
201
- return t;
202
- }, dr = (e) => {
201
+ return r;
202
+ }, dt = (e) => {
203
203
  const o = /* @__PURE__ */ new Map();
204
- return e.orderSensitiveModifiers.forEach((r, t) => {
205
- o.set(r, 1e6 + t);
206
- }), (r) => {
207
- const t = [];
208
- let n = [];
209
- for (let s = 0; s < r.length; s++) {
210
- const a = r[s], m = a[0] === "[", c = o.has(a);
211
- m || c ? (n.length > 0 && (n.sort(), t.push(...n), n = []), t.push(a)) : n.push(a);
204
+ return e.orderSensitiveModifiers.forEach((t, r) => {
205
+ o.set(t, 1e6 + r);
206
+ }), (t) => {
207
+ const r = [];
208
+ let s = [];
209
+ for (let n = 0; n < t.length; n++) {
210
+ const a = t[n], m = a[0] === "[", c = o.has(a);
211
+ m || c ? (s.length > 0 && (s.sort(), r.push(...s), s = []), r.push(a)) : s.push(a);
212
212
  }
213
- return n.length > 0 && (n.sort(), t.push(...n)), t;
213
+ return s.length > 0 && (s.sort(), r.push(...s)), r;
214
214
  };
215
- }, mr = (e) => ({
216
- cache: ir(e.cacheSize),
217
- parseClassName: cr(e),
218
- sortModifiers: dr(e),
215
+ }, mt = (e) => ({
216
+ cache: it(e.cacheSize),
217
+ parseClassName: ct(e),
218
+ sortModifiers: dt(e),
219
219
  ...Qe(e)
220
- }), ur = /\s+/, fr = (e, o) => {
220
+ }), ut = /\s+/, pt = (e, o) => {
221
221
  const {
222
- parseClassName: r,
223
- getClassGroupId: t,
224
- getConflictingClassGroupIds: n,
225
- sortModifiers: s
226
- } = o, a = [], m = e.trim().split(ur);
222
+ parseClassName: t,
223
+ getClassGroupId: r,
224
+ getConflictingClassGroupIds: s,
225
+ sortModifiers: n
226
+ } = o, a = [], m = e.trim().split(ut);
227
227
  let c = "";
228
- for (let p = m.length - 1; p >= 0; p -= 1) {
229
- const y = m[p], {
230
- isExternal: C,
231
- modifiers: T,
232
- hasImportantModifier: x,
228
+ for (let f = m.length - 1; f >= 0; f -= 1) {
229
+ const k = m[f], {
230
+ isExternal: v,
231
+ modifiers: O,
232
+ hasImportantModifier: h,
233
233
  baseClassName: R,
234
- maybePostfixModifierPosition: P
235
- } = r(y);
236
- if (C) {
237
- c = y + (c.length > 0 ? " " + c : c);
234
+ maybePostfixModifierPosition: z
235
+ } = t(k);
236
+ if (v) {
237
+ c = k + (c.length > 0 ? " " + c : c);
238
238
  continue;
239
239
  }
240
- let w = !!P, L = t(w ? R.substring(0, P) : R);
240
+ let w = !!z, L = r(w ? R.substring(0, z) : R);
241
241
  if (!L) {
242
242
  if (!w) {
243
- c = y + (c.length > 0 ? " " + c : c);
243
+ c = k + (c.length > 0 ? " " + c : c);
244
244
  continue;
245
245
  }
246
- if (L = t(R), !L) {
247
- c = y + (c.length > 0 ? " " + c : c);
246
+ if (L = r(R), !L) {
247
+ c = k + (c.length > 0 ? " " + c : c);
248
248
  continue;
249
249
  }
250
250
  w = !1;
251
251
  }
252
- const I = T.length === 0 ? "" : T.length === 1 ? T[0] : s(T).join(":"), V = x ? I + he : I, z = V + L;
253
- if (a.indexOf(z) > -1)
252
+ const _ = O.length === 0 ? "" : O.length === 1 ? O[0] : n(O).join(":"), F = h ? _ + he : _, C = F + L;
253
+ if (a.indexOf(C) > -1)
254
254
  continue;
255
- a.push(z);
256
- const _ = n(L, w);
257
- for (let G = 0; G < _.length; ++G) {
258
- const k = _[G];
259
- a.push(V + k);
255
+ a.push(C);
256
+ const N = s(L, w);
257
+ for (let I = 0; I < N.length; ++I) {
258
+ const D = N[I];
259
+ a.push(F + D);
260
260
  }
261
- c = y + (c.length > 0 ? " " + c : c);
261
+ c = k + (c.length > 0 ? " " + c : c);
262
262
  }
263
263
  return c;
264
- }, pr = (...e) => {
265
- let o = 0, r, t, n = "";
264
+ }, ft = (...e) => {
265
+ let o = 0, t, r, s = "";
266
266
  for (; o < e.length; )
267
- (r = e[o++]) && (t = De(r)) && (n && (n += " "), n += t);
268
- return n;
267
+ (t = e[o++]) && (r = De(t)) && (s && (s += " "), s += r);
268
+ return s;
269
269
  }, De = (e) => {
270
270
  if (typeof e == "string")
271
271
  return e;
272
- let o, r = "";
273
- for (let t = 0; t < e.length; t++)
274
- e[t] && (o = De(e[t])) && (r && (r += " "), r += o);
275
- return r;
276
- }, gr = (e, ...o) => {
277
- let r, t, n, s;
272
+ let o, t = "";
273
+ for (let r = 0; r < e.length; r++)
274
+ e[r] && (o = De(e[r])) && (t && (t += " "), t += o);
275
+ return t;
276
+ }, gt = (e, ...o) => {
277
+ let t, r, s, n;
278
278
  const a = (c) => {
279
- const p = o.reduce((y, C) => C(y), e());
280
- return r = mr(p), t = r.cache.get, n = r.cache.set, s = m, m(c);
279
+ const f = o.reduce((k, v) => v(k), e());
280
+ return t = mt(f), r = t.cache.get, s = t.cache.set, n = m, m(c);
281
281
  }, m = (c) => {
282
- const p = t(c);
283
- if (p)
284
- return p;
285
- const y = fr(c, r);
286
- return n(c, y), y;
282
+ const f = r(c);
283
+ if (f)
284
+ return f;
285
+ const k = pt(c, t);
286
+ return s(c, k), k;
287
287
  };
288
- return s = a, (...c) => s(pr(...c));
289
- }, br = [], A = (e) => {
290
- const o = (r) => r[e] || br;
288
+ return n = a, (...c) => n(ft(...c));
289
+ }, bt = [], A = (e) => {
290
+ const o = (t) => t[e] || bt;
291
291
  return o.isThemeGetter = !0, o;
292
- }, Te = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Ee = /^\((?:(\w[\w-]*):)?(.+)\)$/i, hr = /^\d+\/\d+$/, xr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, wr = /\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$/, yr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, kr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, vr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, X = (e) => hr.test(e), b = (e) => !!e && !Number.isNaN(Number(e)), U = (e) => !!e && Number.isInteger(Number(e)), ue = (e) => e.endsWith("%") && b(e.slice(0, -1)), $ = (e) => xr.test(e), Cr = () => !0, Nr = (e) => (
292
+ }, Ee = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Te = /^\((?:(\w[\w-]*):)?(.+)\)$/i, ht = /^\d+\/\d+$/, xt = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, wt = /\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$/, yt = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, kt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, vt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, H = (e) => ht.test(e), b = (e) => !!e && !Number.isNaN(Number(e)), Y = (e) => !!e && Number.isInteger(Number(e)), ue = (e) => e.endsWith("%") && b(e.slice(0, -1)), B = (e) => xt.test(e), Ct = () => !0, Pt = (e) => (
293
293
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
294
294
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
295
295
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
296
- wr.test(e) && !yr.test(e)
297
- ), Ge = () => !1, Pr = (e) => kr.test(e), zr = (e) => vr.test(e), Ar = (e) => !i(e) && !l(e), Sr = (e) => J(e, Le, Ge), i = (e) => Te.test(e), Y = (e) => J(e, _e, Nr), fe = (e) => J(e, Tr, b), ze = (e) => J(e, Oe, Ge), Rr = (e) => J(e, je, zr), ie = (e) => J(e, Fe, Pr), l = (e) => Ee.test(e), Q = (e) => H(e, _e), Ir = (e) => H(e, Er), Ae = (e) => H(e, Oe), Mr = (e) => H(e, Le), Dr = (e) => H(e, je), le = (e) => H(e, Fe, !0), J = (e, o, r) => {
298
- const t = Te.exec(e);
299
- return t ? t[1] ? o(t[1]) : r(t[2]) : !1;
300
- }, H = (e, o, r = !1) => {
301
- const t = Ee.exec(e);
302
- return t ? t[1] ? o(t[1]) : r : !1;
303
- }, Oe = (e) => e === "position" || e === "percentage", je = (e) => e === "image" || e === "url", Le = (e) => e === "length" || e === "size" || e === "bg-size", _e = (e) => e === "length", Tr = (e) => e === "number", Er = (e) => e === "family-name", Fe = (e) => e === "shadow", Gr = () => {
304
- const e = A("color"), o = A("font"), r = A("text"), t = A("font-weight"), n = A("tracking"), s = A("leading"), a = A("breakpoint"), m = A("container"), c = A("spacing"), p = A("radius"), y = A("shadow"), C = A("inset-shadow"), T = A("text-shadow"), x = A("drop-shadow"), R = A("blur"), P = A("perspective"), w = A("aspect"), L = A("ease"), I = A("animate"), V = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], z = () => [
296
+ wt.test(e) && !yt.test(e)
297
+ ), Ge = () => !1, zt = (e) => kt.test(e), Nt = (e) => vt.test(e), At = (e) => !i(e) && !l(e), St = (e) => Q(e, Le, Ge), i = (e) => Ee.test(e), q = (e) => Q(e, _e, Pt), pe = (e) => Q(e, Et, b), Ne = (e) => Q(e, Oe, Ge), Rt = (e) => Q(e, je, Nt), ie = (e) => Q(e, Fe, zt), l = (e) => Te.test(e), ee = (e) => Z(e, _e), It = (e) => Z(e, Tt), Ae = (e) => Z(e, Oe), Mt = (e) => Z(e, Le), Dt = (e) => Z(e, je), le = (e) => Z(e, Fe, !0), Q = (e, o, t) => {
298
+ const r = Ee.exec(e);
299
+ return r ? r[1] ? o(r[1]) : t(r[2]) : !1;
300
+ }, Z = (e, o, t = !1) => {
301
+ const r = Te.exec(e);
302
+ return r ? r[1] ? o(r[1]) : t : !1;
303
+ }, Oe = (e) => e === "position" || e === "percentage", je = (e) => e === "image" || e === "url", Le = (e) => e === "length" || e === "size" || e === "bg-size", _e = (e) => e === "length", Et = (e) => e === "number", Tt = (e) => e === "family-name", Fe = (e) => e === "shadow", Gt = () => {
304
+ const e = A("color"), o = A("font"), t = A("text"), r = A("font-weight"), s = A("tracking"), n = A("leading"), a = A("breakpoint"), m = A("container"), c = A("spacing"), f = A("radius"), k = A("shadow"), v = A("inset-shadow"), O = A("text-shadow"), h = A("drop-shadow"), R = A("blur"), z = A("perspective"), w = A("aspect"), L = A("ease"), _ = A("animate"), F = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], C = () => [
305
305
  "center",
306
306
  "top",
307
307
  "bottom",
@@ -319,51 +319,51 @@ const Xe = (e, o) => {
319
319
  "bottom-left",
320
320
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
321
321
  "left-bottom"
322
- ], _ = () => [...z(), l, i], G = () => ["auto", "hidden", "clip", "visible", "scroll"], k = () => ["auto", "contain", "none"], u = () => [l, i, c], F = () => [X, "full", "auto", ...u()], Z = () => [U, "none", "subgrid", l, i], ee = () => ["auto", {
323
- span: ["full", U, l, i]
324
- }, U, l, i], K = () => [U, "auto", l, i], re = () => ["auto", "min", "max", "fr", l, i], f = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], h = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], v = () => ["auto", ...u()], O = () => [X, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...u()], d = () => [e, l, i], q = () => [...z(), Ae, ze, {
322
+ ], N = () => [...C(), l, i], I = () => ["auto", "hidden", "clip", "visible", "scroll"], D = () => ["auto", "contain", "none"], u = () => [l, i, c], V = () => [H, "full", "auto", ...u()], E = () => [Y, "none", "subgrid", l, i], W = () => ["auto", {
323
+ span: ["full", Y, l, i]
324
+ }, Y, l, i], X = () => [Y, "auto", l, i], te = () => ["auto", "min", "max", "fr", l, i], p = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], x = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], y = () => ["auto", ...u()], T = () => [H, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...u()], d = () => [e, l, i], J = () => [...C(), Ae, Ne, {
325
325
  position: [l, i]
326
- }], te = () => ["no-repeat", {
326
+ }], re = () => ["no-repeat", {
327
327
  repeat: ["", "x", "y", "space", "round"]
328
- }], we = () => ["auto", "cover", "contain", Mr, Sr, {
328
+ }], we = () => ["auto", "cover", "contain", Mt, St, {
329
329
  size: [l, i]
330
- }], de = () => [ue, Q, Y], E = () => [
330
+ }], de = () => [ue, ee, q], j = () => [
331
331
  // Deprecated since Tailwind CSS v4.0.0
332
332
  "",
333
333
  "none",
334
334
  "full",
335
- p,
335
+ f,
336
336
  l,
337
337
  i
338
- ], j = () => ["", b, Q, Y], oe = () => ["solid", "dashed", "dotted", "double"], ye = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], S = () => [b, ue, Ae, ze], ke = () => [
338
+ ], $ = () => ["", b, ee, q], oe = () => ["solid", "dashed", "dotted", "double"], ye = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], S = () => [b, ue, Ae, Ne], ke = () => [
339
339
  // Deprecated since Tailwind CSS v4.0.0
340
340
  "",
341
341
  "none",
342
342
  R,
343
343
  l,
344
344
  i
345
- ], ne = () => ["none", b, l, i], se = () => ["none", b, l, i], me = () => [b, l, i], ae = () => [X, "full", ...u()];
345
+ ], se = () => ["none", b, l, i], ne = () => ["none", b, l, i], me = () => [b, l, i], ae = () => [H, "full", ...u()];
346
346
  return {
347
347
  cacheSize: 500,
348
348
  theme: {
349
349
  animate: ["spin", "ping", "pulse", "bounce"],
350
350
  aspect: ["video"],
351
- blur: [$],
352
- breakpoint: [$],
353
- color: [Cr],
354
- container: [$],
355
- "drop-shadow": [$],
351
+ blur: [B],
352
+ breakpoint: [B],
353
+ color: [Ct],
354
+ container: [B],
355
+ "drop-shadow": [B],
356
356
  ease: ["in", "out", "in-out"],
357
- font: [Ar],
357
+ font: [At],
358
358
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
359
- "inset-shadow": [$],
359
+ "inset-shadow": [B],
360
360
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
361
361
  perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
362
- radius: [$],
363
- shadow: [$],
362
+ radius: [B],
363
+ shadow: [B],
364
364
  spacing: ["px", b],
365
- text: [$],
366
- "text-shadow": [$],
365
+ text: [B],
366
+ "text-shadow": [B],
367
367
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
368
368
  },
369
369
  classGroups: {
@@ -375,7 +375,7 @@ const Xe = (e, o) => {
375
375
  * @see https://tailwindcss.com/docs/aspect-ratio
376
376
  */
377
377
  aspect: [{
378
- aspect: ["auto", "square", X, i, l, w]
378
+ aspect: ["auto", "square", H, i, l, w]
379
379
  }],
380
380
  /**
381
381
  * Container
@@ -395,14 +395,14 @@ const Xe = (e, o) => {
395
395
  * @see https://tailwindcss.com/docs/break-after
396
396
  */
397
397
  "break-after": [{
398
- "break-after": V()
398
+ "break-after": F()
399
399
  }],
400
400
  /**
401
401
  * Break Before
402
402
  * @see https://tailwindcss.com/docs/break-before
403
403
  */
404
404
  "break-before": [{
405
- "break-before": V()
405
+ "break-before": F()
406
406
  }],
407
407
  /**
408
408
  * Break Inside
@@ -466,49 +466,49 @@ const Xe = (e, o) => {
466
466
  * @see https://tailwindcss.com/docs/object-position
467
467
  */
468
468
  "object-position": [{
469
- object: _()
469
+ object: N()
470
470
  }],
471
471
  /**
472
472
  * Overflow
473
473
  * @see https://tailwindcss.com/docs/overflow
474
474
  */
475
475
  overflow: [{
476
- overflow: G()
476
+ overflow: I()
477
477
  }],
478
478
  /**
479
479
  * Overflow X
480
480
  * @see https://tailwindcss.com/docs/overflow
481
481
  */
482
482
  "overflow-x": [{
483
- "overflow-x": G()
483
+ "overflow-x": I()
484
484
  }],
485
485
  /**
486
486
  * Overflow Y
487
487
  * @see https://tailwindcss.com/docs/overflow
488
488
  */
489
489
  "overflow-y": [{
490
- "overflow-y": G()
490
+ "overflow-y": I()
491
491
  }],
492
492
  /**
493
493
  * Overscroll Behavior
494
494
  * @see https://tailwindcss.com/docs/overscroll-behavior
495
495
  */
496
496
  overscroll: [{
497
- overscroll: k()
497
+ overscroll: D()
498
498
  }],
499
499
  /**
500
500
  * Overscroll Behavior X
501
501
  * @see https://tailwindcss.com/docs/overscroll-behavior
502
502
  */
503
503
  "overscroll-x": [{
504
- "overscroll-x": k()
504
+ "overscroll-x": D()
505
505
  }],
506
506
  /**
507
507
  * Overscroll Behavior Y
508
508
  * @see https://tailwindcss.com/docs/overscroll-behavior
509
509
  */
510
510
  "overscroll-y": [{
511
- "overscroll-y": k()
511
+ "overscroll-y": D()
512
512
  }],
513
513
  /**
514
514
  * Position
@@ -520,63 +520,63 @@ const Xe = (e, o) => {
520
520
  * @see https://tailwindcss.com/docs/top-right-bottom-left
521
521
  */
522
522
  inset: [{
523
- inset: F()
523
+ inset: V()
524
524
  }],
525
525
  /**
526
526
  * Right / Left
527
527
  * @see https://tailwindcss.com/docs/top-right-bottom-left
528
528
  */
529
529
  "inset-x": [{
530
- "inset-x": F()
530
+ "inset-x": V()
531
531
  }],
532
532
  /**
533
533
  * Top / Bottom
534
534
  * @see https://tailwindcss.com/docs/top-right-bottom-left
535
535
  */
536
536
  "inset-y": [{
537
- "inset-y": F()
537
+ "inset-y": V()
538
538
  }],
539
539
  /**
540
540
  * Start
541
541
  * @see https://tailwindcss.com/docs/top-right-bottom-left
542
542
  */
543
543
  start: [{
544
- start: F()
544
+ start: V()
545
545
  }],
546
546
  /**
547
547
  * End
548
548
  * @see https://tailwindcss.com/docs/top-right-bottom-left
549
549
  */
550
550
  end: [{
551
- end: F()
551
+ end: V()
552
552
  }],
553
553
  /**
554
554
  * Top
555
555
  * @see https://tailwindcss.com/docs/top-right-bottom-left
556
556
  */
557
557
  top: [{
558
- top: F()
558
+ top: V()
559
559
  }],
560
560
  /**
561
561
  * Right
562
562
  * @see https://tailwindcss.com/docs/top-right-bottom-left
563
563
  */
564
564
  right: [{
565
- right: F()
565
+ right: V()
566
566
  }],
567
567
  /**
568
568
  * Bottom
569
569
  * @see https://tailwindcss.com/docs/top-right-bottom-left
570
570
  */
571
571
  bottom: [{
572
- bottom: F()
572
+ bottom: V()
573
573
  }],
574
574
  /**
575
575
  * Left
576
576
  * @see https://tailwindcss.com/docs/top-right-bottom-left
577
577
  */
578
578
  left: [{
579
- left: F()
579
+ left: V()
580
580
  }],
581
581
  /**
582
582
  * Visibility
@@ -588,7 +588,7 @@ const Xe = (e, o) => {
588
588
  * @see https://tailwindcss.com/docs/z-index
589
589
  */
590
590
  z: [{
591
- z: [U, "auto", l, i]
591
+ z: [Y, "auto", l, i]
592
592
  }],
593
593
  // ------------------------
594
594
  // --- Flexbox and Grid ---
@@ -598,7 +598,7 @@ const Xe = (e, o) => {
598
598
  * @see https://tailwindcss.com/docs/flex-basis
599
599
  */
600
600
  basis: [{
601
- basis: [X, "full", "auto", m, ...u()]
601
+ basis: [H, "full", "auto", m, ...u()]
602
602
  }],
603
603
  /**
604
604
  * Flex Direction
@@ -619,7 +619,7 @@ const Xe = (e, o) => {
619
619
  * @see https://tailwindcss.com/docs/flex
620
620
  */
621
621
  flex: [{
622
- flex: [b, X, "auto", "initial", "none", i]
622
+ flex: [b, H, "auto", "initial", "none", i]
623
623
  }],
624
624
  /**
625
625
  * Flex Grow
@@ -640,63 +640,63 @@ const Xe = (e, o) => {
640
640
  * @see https://tailwindcss.com/docs/order
641
641
  */
642
642
  order: [{
643
- order: [U, "first", "last", "none", l, i]
643
+ order: [Y, "first", "last", "none", l, i]
644
644
  }],
645
645
  /**
646
646
  * Grid Template Columns
647
647
  * @see https://tailwindcss.com/docs/grid-template-columns
648
648
  */
649
649
  "grid-cols": [{
650
- "grid-cols": Z()
650
+ "grid-cols": E()
651
651
  }],
652
652
  /**
653
653
  * Grid Column Start / End
654
654
  * @see https://tailwindcss.com/docs/grid-column
655
655
  */
656
656
  "col-start-end": [{
657
- col: ee()
657
+ col: W()
658
658
  }],
659
659
  /**
660
660
  * Grid Column Start
661
661
  * @see https://tailwindcss.com/docs/grid-column
662
662
  */
663
663
  "col-start": [{
664
- "col-start": K()
664
+ "col-start": X()
665
665
  }],
666
666
  /**
667
667
  * Grid Column End
668
668
  * @see https://tailwindcss.com/docs/grid-column
669
669
  */
670
670
  "col-end": [{
671
- "col-end": K()
671
+ "col-end": X()
672
672
  }],
673
673
  /**
674
674
  * Grid Template Rows
675
675
  * @see https://tailwindcss.com/docs/grid-template-rows
676
676
  */
677
677
  "grid-rows": [{
678
- "grid-rows": Z()
678
+ "grid-rows": E()
679
679
  }],
680
680
  /**
681
681
  * Grid Row Start / End
682
682
  * @see https://tailwindcss.com/docs/grid-row
683
683
  */
684
684
  "row-start-end": [{
685
- row: ee()
685
+ row: W()
686
686
  }],
687
687
  /**
688
688
  * Grid Row Start
689
689
  * @see https://tailwindcss.com/docs/grid-row
690
690
  */
691
691
  "row-start": [{
692
- "row-start": K()
692
+ "row-start": X()
693
693
  }],
694
694
  /**
695
695
  * Grid Row End
696
696
  * @see https://tailwindcss.com/docs/grid-row
697
697
  */
698
698
  "row-end": [{
699
- "row-end": K()
699
+ "row-end": X()
700
700
  }],
701
701
  /**
702
702
  * Grid Auto Flow
@@ -710,14 +710,14 @@ const Xe = (e, o) => {
710
710
  * @see https://tailwindcss.com/docs/grid-auto-columns
711
711
  */
712
712
  "auto-cols": [{
713
- "auto-cols": re()
713
+ "auto-cols": te()
714
714
  }],
715
715
  /**
716
716
  * Grid Auto Rows
717
717
  * @see https://tailwindcss.com/docs/grid-auto-rows
718
718
  */
719
719
  "auto-rows": [{
720
- "auto-rows": re()
720
+ "auto-rows": te()
721
721
  }],
722
722
  /**
723
723
  * Gap
@@ -745,35 +745,35 @@ const Xe = (e, o) => {
745
745
  * @see https://tailwindcss.com/docs/justify-content
746
746
  */
747
747
  "justify-content": [{
748
- justify: [...f(), "normal"]
748
+ justify: [...p(), "normal"]
749
749
  }],
750
750
  /**
751
751
  * Justify Items
752
752
  * @see https://tailwindcss.com/docs/justify-items
753
753
  */
754
754
  "justify-items": [{
755
- "justify-items": [...h(), "normal"]
755
+ "justify-items": [...x(), "normal"]
756
756
  }],
757
757
  /**
758
758
  * Justify Self
759
759
  * @see https://tailwindcss.com/docs/justify-self
760
760
  */
761
761
  "justify-self": [{
762
- "justify-self": ["auto", ...h()]
762
+ "justify-self": ["auto", ...x()]
763
763
  }],
764
764
  /**
765
765
  * Align Content
766
766
  * @see https://tailwindcss.com/docs/align-content
767
767
  */
768
768
  "align-content": [{
769
- content: ["normal", ...f()]
769
+ content: ["normal", ...p()]
770
770
  }],
771
771
  /**
772
772
  * Align Items
773
773
  * @see https://tailwindcss.com/docs/align-items
774
774
  */
775
775
  "align-items": [{
776
- items: [...h(), {
776
+ items: [...x(), {
777
777
  baseline: ["", "last"]
778
778
  }]
779
779
  }],
@@ -782,7 +782,7 @@ const Xe = (e, o) => {
782
782
  * @see https://tailwindcss.com/docs/align-self
783
783
  */
784
784
  "align-self": [{
785
- self: ["auto", ...h(), {
785
+ self: ["auto", ...x(), {
786
786
  baseline: ["", "last"]
787
787
  }]
788
788
  }],
@@ -791,21 +791,21 @@ const Xe = (e, o) => {
791
791
  * @see https://tailwindcss.com/docs/place-content
792
792
  */
793
793
  "place-content": [{
794
- "place-content": f()
794
+ "place-content": p()
795
795
  }],
796
796
  /**
797
797
  * Place Items
798
798
  * @see https://tailwindcss.com/docs/place-items
799
799
  */
800
800
  "place-items": [{
801
- "place-items": [...h(), "baseline"]
801
+ "place-items": [...x(), "baseline"]
802
802
  }],
803
803
  /**
804
804
  * Place Self
805
805
  * @see https://tailwindcss.com/docs/place-self
806
806
  */
807
807
  "place-self": [{
808
- "place-self": ["auto", ...h()]
808
+ "place-self": ["auto", ...x()]
809
809
  }],
810
810
  // Spacing
811
811
  /**
@@ -876,63 +876,63 @@ const Xe = (e, o) => {
876
876
  * @see https://tailwindcss.com/docs/margin
877
877
  */
878
878
  m: [{
879
- m: v()
879
+ m: y()
880
880
  }],
881
881
  /**
882
882
  * Margin X
883
883
  * @see https://tailwindcss.com/docs/margin
884
884
  */
885
885
  mx: [{
886
- mx: v()
886
+ mx: y()
887
887
  }],
888
888
  /**
889
889
  * Margin Y
890
890
  * @see https://tailwindcss.com/docs/margin
891
891
  */
892
892
  my: [{
893
- my: v()
893
+ my: y()
894
894
  }],
895
895
  /**
896
896
  * Margin Start
897
897
  * @see https://tailwindcss.com/docs/margin
898
898
  */
899
899
  ms: [{
900
- ms: v()
900
+ ms: y()
901
901
  }],
902
902
  /**
903
903
  * Margin End
904
904
  * @see https://tailwindcss.com/docs/margin
905
905
  */
906
906
  me: [{
907
- me: v()
907
+ me: y()
908
908
  }],
909
909
  /**
910
910
  * Margin Top
911
911
  * @see https://tailwindcss.com/docs/margin
912
912
  */
913
913
  mt: [{
914
- mt: v()
914
+ mt: y()
915
915
  }],
916
916
  /**
917
917
  * Margin Right
918
918
  * @see https://tailwindcss.com/docs/margin
919
919
  */
920
920
  mr: [{
921
- mr: v()
921
+ mr: y()
922
922
  }],
923
923
  /**
924
924
  * Margin Bottom
925
925
  * @see https://tailwindcss.com/docs/margin
926
926
  */
927
927
  mb: [{
928
- mb: v()
928
+ mb: y()
929
929
  }],
930
930
  /**
931
931
  * Margin Left
932
932
  * @see https://tailwindcss.com/docs/margin
933
933
  */
934
934
  ml: [{
935
- ml: v()
935
+ ml: y()
936
936
  }],
937
937
  /**
938
938
  * Space Between X
@@ -966,14 +966,14 @@ const Xe = (e, o) => {
966
966
  * @see https://tailwindcss.com/docs/width#setting-both-width-and-height
967
967
  */
968
968
  size: [{
969
- size: O()
969
+ size: T()
970
970
  }],
971
971
  /**
972
972
  * Width
973
973
  * @see https://tailwindcss.com/docs/width
974
974
  */
975
975
  w: [{
976
- w: [m, "screen", ...O()]
976
+ w: [m, "screen", ...T()]
977
977
  }],
978
978
  /**
979
979
  * Min-Width
@@ -985,7 +985,7 @@ const Xe = (e, o) => {
985
985
  "screen",
986
986
  /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
987
987
  "none",
988
- ...O()
988
+ ...T()
989
989
  ]
990
990
  }],
991
991
  /**
@@ -1003,7 +1003,7 @@ const Xe = (e, o) => {
1003
1003
  {
1004
1004
  screen: [a]
1005
1005
  },
1006
- ...O()
1006
+ ...T()
1007
1007
  ]
1008
1008
  }],
1009
1009
  /**
@@ -1011,21 +1011,21 @@ const Xe = (e, o) => {
1011
1011
  * @see https://tailwindcss.com/docs/height
1012
1012
  */
1013
1013
  h: [{
1014
- h: ["screen", "lh", ...O()]
1014
+ h: ["screen", "lh", ...T()]
1015
1015
  }],
1016
1016
  /**
1017
1017
  * Min-Height
1018
1018
  * @see https://tailwindcss.com/docs/min-height
1019
1019
  */
1020
1020
  "min-h": [{
1021
- "min-h": ["screen", "lh", "none", ...O()]
1021
+ "min-h": ["screen", "lh", "none", ...T()]
1022
1022
  }],
1023
1023
  /**
1024
1024
  * Max-Height
1025
1025
  * @see https://tailwindcss.com/docs/max-height
1026
1026
  */
1027
1027
  "max-h": [{
1028
- "max-h": ["screen", "lh", ...O()]
1028
+ "max-h": ["screen", "lh", ...T()]
1029
1029
  }],
1030
1030
  // ------------------
1031
1031
  // --- Typography ---
@@ -1035,7 +1035,7 @@ const Xe = (e, o) => {
1035
1035
  * @see https://tailwindcss.com/docs/font-size
1036
1036
  */
1037
1037
  "font-size": [{
1038
- text: ["base", r, Q, Y]
1038
+ text: ["base", t, ee, q]
1039
1039
  }],
1040
1040
  /**
1041
1041
  * Font Smoothing
@@ -1052,7 +1052,7 @@ const Xe = (e, o) => {
1052
1052
  * @see https://tailwindcss.com/docs/font-weight
1053
1053
  */
1054
1054
  "font-weight": [{
1055
- font: [t, l, fe]
1055
+ font: [r, l, pe]
1056
1056
  }],
1057
1057
  /**
1058
1058
  * Font Stretch
@@ -1066,7 +1066,7 @@ const Xe = (e, o) => {
1066
1066
  * @see https://tailwindcss.com/docs/font-family
1067
1067
  */
1068
1068
  "font-family": [{
1069
- font: [Ir, i, o]
1069
+ font: [It, i, o]
1070
1070
  }],
1071
1071
  /**
1072
1072
  * Font Variant Numeric
@@ -1103,14 +1103,14 @@ const Xe = (e, o) => {
1103
1103
  * @see https://tailwindcss.com/docs/letter-spacing
1104
1104
  */
1105
1105
  tracking: [{
1106
- tracking: [n, l, i]
1106
+ tracking: [s, l, i]
1107
1107
  }],
1108
1108
  /**
1109
1109
  * Line Clamp
1110
1110
  * @see https://tailwindcss.com/docs/line-clamp
1111
1111
  */
1112
1112
  "line-clamp": [{
1113
- "line-clamp": [b, "none", l, fe]
1113
+ "line-clamp": [b, "none", l, pe]
1114
1114
  }],
1115
1115
  /**
1116
1116
  * Line Height
@@ -1119,7 +1119,7 @@ const Xe = (e, o) => {
1119
1119
  leading: [{
1120
1120
  leading: [
1121
1121
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1122
- s,
1122
+ n,
1123
1123
  ...u()
1124
1124
  ]
1125
1125
  }],
@@ -1183,7 +1183,7 @@ const Xe = (e, o) => {
1183
1183
  * @see https://tailwindcss.com/docs/text-decoration-thickness
1184
1184
  */
1185
1185
  "text-decoration-thickness": [{
1186
- decoration: [b, "from-font", "auto", l, Y]
1186
+ decoration: [b, "from-font", "auto", l, q]
1187
1187
  }],
1188
1188
  /**
1189
1189
  * Text Decoration Color
@@ -1294,14 +1294,14 @@ const Xe = (e, o) => {
1294
1294
  * @see https://tailwindcss.com/docs/background-position
1295
1295
  */
1296
1296
  "bg-position": [{
1297
- bg: q()
1297
+ bg: J()
1298
1298
  }],
1299
1299
  /**
1300
1300
  * Background Repeat
1301
1301
  * @see https://tailwindcss.com/docs/background-repeat
1302
1302
  */
1303
1303
  "bg-repeat": [{
1304
- bg: te()
1304
+ bg: re()
1305
1305
  }],
1306
1306
  /**
1307
1307
  * Background Size
@@ -1318,10 +1318,10 @@ const Xe = (e, o) => {
1318
1318
  bg: ["none", {
1319
1319
  linear: [{
1320
1320
  to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1321
- }, U, l, i],
1321
+ }, Y, l, i],
1322
1322
  radial: ["", l, i],
1323
- conic: [U, l, i]
1324
- }, Dr, Rr]
1323
+ conic: [Y, l, i]
1324
+ }, Dt, Rt]
1325
1325
  }],
1326
1326
  /**
1327
1327
  * Background Color
@@ -1380,175 +1380,175 @@ const Xe = (e, o) => {
1380
1380
  * @see https://tailwindcss.com/docs/border-radius
1381
1381
  */
1382
1382
  rounded: [{
1383
- rounded: E()
1383
+ rounded: j()
1384
1384
  }],
1385
1385
  /**
1386
1386
  * Border Radius Start
1387
1387
  * @see https://tailwindcss.com/docs/border-radius
1388
1388
  */
1389
1389
  "rounded-s": [{
1390
- "rounded-s": E()
1390
+ "rounded-s": j()
1391
1391
  }],
1392
1392
  /**
1393
1393
  * Border Radius End
1394
1394
  * @see https://tailwindcss.com/docs/border-radius
1395
1395
  */
1396
1396
  "rounded-e": [{
1397
- "rounded-e": E()
1397
+ "rounded-e": j()
1398
1398
  }],
1399
1399
  /**
1400
1400
  * Border Radius Top
1401
1401
  * @see https://tailwindcss.com/docs/border-radius
1402
1402
  */
1403
1403
  "rounded-t": [{
1404
- "rounded-t": E()
1404
+ "rounded-t": j()
1405
1405
  }],
1406
1406
  /**
1407
1407
  * Border Radius Right
1408
1408
  * @see https://tailwindcss.com/docs/border-radius
1409
1409
  */
1410
1410
  "rounded-r": [{
1411
- "rounded-r": E()
1411
+ "rounded-r": j()
1412
1412
  }],
1413
1413
  /**
1414
1414
  * Border Radius Bottom
1415
1415
  * @see https://tailwindcss.com/docs/border-radius
1416
1416
  */
1417
1417
  "rounded-b": [{
1418
- "rounded-b": E()
1418
+ "rounded-b": j()
1419
1419
  }],
1420
1420
  /**
1421
1421
  * Border Radius Left
1422
1422
  * @see https://tailwindcss.com/docs/border-radius
1423
1423
  */
1424
1424
  "rounded-l": [{
1425
- "rounded-l": E()
1425
+ "rounded-l": j()
1426
1426
  }],
1427
1427
  /**
1428
1428
  * Border Radius Start Start
1429
1429
  * @see https://tailwindcss.com/docs/border-radius
1430
1430
  */
1431
1431
  "rounded-ss": [{
1432
- "rounded-ss": E()
1432
+ "rounded-ss": j()
1433
1433
  }],
1434
1434
  /**
1435
1435
  * Border Radius Start End
1436
1436
  * @see https://tailwindcss.com/docs/border-radius
1437
1437
  */
1438
1438
  "rounded-se": [{
1439
- "rounded-se": E()
1439
+ "rounded-se": j()
1440
1440
  }],
1441
1441
  /**
1442
1442
  * Border Radius End End
1443
1443
  * @see https://tailwindcss.com/docs/border-radius
1444
1444
  */
1445
1445
  "rounded-ee": [{
1446
- "rounded-ee": E()
1446
+ "rounded-ee": j()
1447
1447
  }],
1448
1448
  /**
1449
1449
  * Border Radius End Start
1450
1450
  * @see https://tailwindcss.com/docs/border-radius
1451
1451
  */
1452
1452
  "rounded-es": [{
1453
- "rounded-es": E()
1453
+ "rounded-es": j()
1454
1454
  }],
1455
1455
  /**
1456
1456
  * Border Radius Top Left
1457
1457
  * @see https://tailwindcss.com/docs/border-radius
1458
1458
  */
1459
1459
  "rounded-tl": [{
1460
- "rounded-tl": E()
1460
+ "rounded-tl": j()
1461
1461
  }],
1462
1462
  /**
1463
1463
  * Border Radius Top Right
1464
1464
  * @see https://tailwindcss.com/docs/border-radius
1465
1465
  */
1466
1466
  "rounded-tr": [{
1467
- "rounded-tr": E()
1467
+ "rounded-tr": j()
1468
1468
  }],
1469
1469
  /**
1470
1470
  * Border Radius Bottom Right
1471
1471
  * @see https://tailwindcss.com/docs/border-radius
1472
1472
  */
1473
1473
  "rounded-br": [{
1474
- "rounded-br": E()
1474
+ "rounded-br": j()
1475
1475
  }],
1476
1476
  /**
1477
1477
  * Border Radius Bottom Left
1478
1478
  * @see https://tailwindcss.com/docs/border-radius
1479
1479
  */
1480
1480
  "rounded-bl": [{
1481
- "rounded-bl": E()
1481
+ "rounded-bl": j()
1482
1482
  }],
1483
1483
  /**
1484
1484
  * Border Width
1485
1485
  * @see https://tailwindcss.com/docs/border-width
1486
1486
  */
1487
1487
  "border-w": [{
1488
- border: j()
1488
+ border: $()
1489
1489
  }],
1490
1490
  /**
1491
1491
  * Border Width X
1492
1492
  * @see https://tailwindcss.com/docs/border-width
1493
1493
  */
1494
1494
  "border-w-x": [{
1495
- "border-x": j()
1495
+ "border-x": $()
1496
1496
  }],
1497
1497
  /**
1498
1498
  * Border Width Y
1499
1499
  * @see https://tailwindcss.com/docs/border-width
1500
1500
  */
1501
1501
  "border-w-y": [{
1502
- "border-y": j()
1502
+ "border-y": $()
1503
1503
  }],
1504
1504
  /**
1505
1505
  * Border Width Start
1506
1506
  * @see https://tailwindcss.com/docs/border-width
1507
1507
  */
1508
1508
  "border-w-s": [{
1509
- "border-s": j()
1509
+ "border-s": $()
1510
1510
  }],
1511
1511
  /**
1512
1512
  * Border Width End
1513
1513
  * @see https://tailwindcss.com/docs/border-width
1514
1514
  */
1515
1515
  "border-w-e": [{
1516
- "border-e": j()
1516
+ "border-e": $()
1517
1517
  }],
1518
1518
  /**
1519
1519
  * Border Width Top
1520
1520
  * @see https://tailwindcss.com/docs/border-width
1521
1521
  */
1522
1522
  "border-w-t": [{
1523
- "border-t": j()
1523
+ "border-t": $()
1524
1524
  }],
1525
1525
  /**
1526
1526
  * Border Width Right
1527
1527
  * @see https://tailwindcss.com/docs/border-width
1528
1528
  */
1529
1529
  "border-w-r": [{
1530
- "border-r": j()
1530
+ "border-r": $()
1531
1531
  }],
1532
1532
  /**
1533
1533
  * Border Width Bottom
1534
1534
  * @see https://tailwindcss.com/docs/border-width
1535
1535
  */
1536
1536
  "border-w-b": [{
1537
- "border-b": j()
1537
+ "border-b": $()
1538
1538
  }],
1539
1539
  /**
1540
1540
  * Border Width Left
1541
1541
  * @see https://tailwindcss.com/docs/border-width
1542
1542
  */
1543
1543
  "border-w-l": [{
1544
- "border-l": j()
1544
+ "border-l": $()
1545
1545
  }],
1546
1546
  /**
1547
1547
  * Divide Width X
1548
1548
  * @see https://tailwindcss.com/docs/border-width#between-children
1549
1549
  */
1550
1550
  "divide-x": [{
1551
- "divide-x": j()
1551
+ "divide-x": $()
1552
1552
  }],
1553
1553
  /**
1554
1554
  * Divide Width X Reverse
@@ -1560,7 +1560,7 @@ const Xe = (e, o) => {
1560
1560
  * @see https://tailwindcss.com/docs/border-width#between-children
1561
1561
  */
1562
1562
  "divide-y": [{
1563
- "divide-y": j()
1563
+ "divide-y": $()
1564
1564
  }],
1565
1565
  /**
1566
1566
  * Divide Width Y Reverse
@@ -1670,7 +1670,7 @@ const Xe = (e, o) => {
1670
1670
  * @see https://tailwindcss.com/docs/outline-width
1671
1671
  */
1672
1672
  "outline-w": [{
1673
- outline: ["", b, Q, Y]
1673
+ outline: ["", b, ee, q]
1674
1674
  }],
1675
1675
  /**
1676
1676
  * Outline Color
@@ -1691,7 +1691,7 @@ const Xe = (e, o) => {
1691
1691
  // Deprecated since Tailwind CSS v4.0.0
1692
1692
  "",
1693
1693
  "none",
1694
- y,
1694
+ k,
1695
1695
  le,
1696
1696
  ie
1697
1697
  ]
@@ -1708,7 +1708,7 @@ const Xe = (e, o) => {
1708
1708
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
1709
1709
  */
1710
1710
  "inset-shadow": [{
1711
- "inset-shadow": ["none", C, le, ie]
1711
+ "inset-shadow": ["none", v, le, ie]
1712
1712
  }],
1713
1713
  /**
1714
1714
  * Inset Box Shadow Color
@@ -1722,7 +1722,7 @@ const Xe = (e, o) => {
1722
1722
  * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1723
1723
  */
1724
1724
  "ring-w": [{
1725
- ring: j()
1725
+ ring: $()
1726
1726
  }],
1727
1727
  /**
1728
1728
  * Ring Width Inset
@@ -1745,7 +1745,7 @@ const Xe = (e, o) => {
1745
1745
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1746
1746
  */
1747
1747
  "ring-offset-w": [{
1748
- "ring-offset": [b, Y]
1748
+ "ring-offset": [b, q]
1749
1749
  }],
1750
1750
  /**
1751
1751
  * Ring Offset Color
@@ -1761,7 +1761,7 @@ const Xe = (e, o) => {
1761
1761
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1762
1762
  */
1763
1763
  "inset-ring-w": [{
1764
- "inset-ring": j()
1764
+ "inset-ring": $()
1765
1765
  }],
1766
1766
  /**
1767
1767
  * Inset Ring Color
@@ -1775,7 +1775,7 @@ const Xe = (e, o) => {
1775
1775
  * @see https://tailwindcss.com/docs/text-shadow
1776
1776
  */
1777
1777
  "text-shadow": [{
1778
- "text-shadow": ["none", T, le, ie]
1778
+ "text-shadow": ["none", O, le, ie]
1779
1779
  }],
1780
1780
  /**
1781
1781
  * Text Shadow Color
@@ -1935,7 +1935,7 @@ const Xe = (e, o) => {
1935
1935
  }]
1936
1936
  }],
1937
1937
  "mask-image-radial-pos": [{
1938
- "mask-radial-at": z()
1938
+ "mask-radial-at": C()
1939
1939
  }],
1940
1940
  "mask-image-conic-pos": [{
1941
1941
  "mask-conic": [b]
@@ -1971,14 +1971,14 @@ const Xe = (e, o) => {
1971
1971
  * @see https://tailwindcss.com/docs/mask-position
1972
1972
  */
1973
1973
  "mask-position": [{
1974
- mask: q()
1974
+ mask: J()
1975
1975
  }],
1976
1976
  /**
1977
1977
  * Mask Repeat
1978
1978
  * @see https://tailwindcss.com/docs/mask-repeat
1979
1979
  */
1980
1980
  "mask-repeat": [{
1981
- mask: te()
1981
+ mask: re()
1982
1982
  }],
1983
1983
  /**
1984
1984
  * Mask Size
@@ -2047,7 +2047,7 @@ const Xe = (e, o) => {
2047
2047
  // Deprecated since Tailwind CSS v4.0.0
2048
2048
  "",
2049
2049
  "none",
2050
- x,
2050
+ h,
2051
2051
  le,
2052
2052
  ie
2053
2053
  ]
@@ -2258,7 +2258,7 @@ const Xe = (e, o) => {
2258
2258
  * @see https://tailwindcss.com/docs/animation
2259
2259
  */
2260
2260
  animate: [{
2261
- animate: ["none", I, l, i]
2261
+ animate: ["none", _, l, i]
2262
2262
  }],
2263
2263
  // ------------------
2264
2264
  // --- Transforms ---
@@ -2275,70 +2275,70 @@ const Xe = (e, o) => {
2275
2275
  * @see https://tailwindcss.com/docs/perspective
2276
2276
  */
2277
2277
  perspective: [{
2278
- perspective: [P, l, i]
2278
+ perspective: [z, l, i]
2279
2279
  }],
2280
2280
  /**
2281
2281
  * Perspective Origin
2282
2282
  * @see https://tailwindcss.com/docs/perspective-origin
2283
2283
  */
2284
2284
  "perspective-origin": [{
2285
- "perspective-origin": _()
2285
+ "perspective-origin": N()
2286
2286
  }],
2287
2287
  /**
2288
2288
  * Rotate
2289
2289
  * @see https://tailwindcss.com/docs/rotate
2290
2290
  */
2291
2291
  rotate: [{
2292
- rotate: ne()
2292
+ rotate: se()
2293
2293
  }],
2294
2294
  /**
2295
2295
  * Rotate X
2296
2296
  * @see https://tailwindcss.com/docs/rotate
2297
2297
  */
2298
2298
  "rotate-x": [{
2299
- "rotate-x": ne()
2299
+ "rotate-x": se()
2300
2300
  }],
2301
2301
  /**
2302
2302
  * Rotate Y
2303
2303
  * @see https://tailwindcss.com/docs/rotate
2304
2304
  */
2305
2305
  "rotate-y": [{
2306
- "rotate-y": ne()
2306
+ "rotate-y": se()
2307
2307
  }],
2308
2308
  /**
2309
2309
  * Rotate Z
2310
2310
  * @see https://tailwindcss.com/docs/rotate
2311
2311
  */
2312
2312
  "rotate-z": [{
2313
- "rotate-z": ne()
2313
+ "rotate-z": se()
2314
2314
  }],
2315
2315
  /**
2316
2316
  * Scale
2317
2317
  * @see https://tailwindcss.com/docs/scale
2318
2318
  */
2319
2319
  scale: [{
2320
- scale: se()
2320
+ scale: ne()
2321
2321
  }],
2322
2322
  /**
2323
2323
  * Scale X
2324
2324
  * @see https://tailwindcss.com/docs/scale
2325
2325
  */
2326
2326
  "scale-x": [{
2327
- "scale-x": se()
2327
+ "scale-x": ne()
2328
2328
  }],
2329
2329
  /**
2330
2330
  * Scale Y
2331
2331
  * @see https://tailwindcss.com/docs/scale
2332
2332
  */
2333
2333
  "scale-y": [{
2334
- "scale-y": se()
2334
+ "scale-y": ne()
2335
2335
  }],
2336
2336
  /**
2337
2337
  * Scale Z
2338
2338
  * @see https://tailwindcss.com/docs/scale
2339
2339
  */
2340
2340
  "scale-z": [{
2341
- "scale-z": se()
2341
+ "scale-z": ne()
2342
2342
  }],
2343
2343
  /**
2344
2344
  * Scale 3D
@@ -2378,7 +2378,7 @@ const Xe = (e, o) => {
2378
2378
  * @see https://tailwindcss.com/docs/transform-origin
2379
2379
  */
2380
2380
  "transform-origin": [{
2381
- origin: _()
2381
+ origin: N()
2382
2382
  }],
2383
2383
  /**
2384
2384
  * Transform Style
@@ -2695,7 +2695,7 @@ const Xe = (e, o) => {
2695
2695
  * @see https://tailwindcss.com/docs/stroke-width
2696
2696
  */
2697
2697
  "stroke-w": [{
2698
- stroke: [b, Q, Y, fe]
2698
+ stroke: [b, ee, q, pe]
2699
2699
  }],
2700
2700
  /**
2701
2701
  * Stroke
@@ -2770,124 +2770,127 @@ const Xe = (e, o) => {
2770
2770
  },
2771
2771
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2772
2772
  };
2773
- }, Or = /* @__PURE__ */ gr(Gr);
2774
- function N(...e) {
2775
- return Or(qe(e));
2773
+ }, Ot = /* @__PURE__ */ gt(Gt);
2774
+ function P(...e) {
2775
+ return Ot(qe(e));
2776
2776
  }
2777
- const jr = {
2777
+ const jt = {
2778
2778
  purple: "bg-purple-500",
2779
2779
  green: "bg-green-500",
2780
2780
  blue: "bg-blue-500",
2781
2781
  yellow: "bg-yellow-400 !text-yellow-900",
2782
2782
  red: "bg-red-500"
2783
- }, Br = ({
2783
+ }, Lt = ({
2784
2784
  id: e,
2785
2785
  title: o,
2786
- price: r,
2787
- periodLabel: t,
2788
- features: n,
2789
- isSelected: s,
2786
+ price: t,
2787
+ periodLabel: r,
2788
+ features: s,
2789
+ isSelected: n,
2790
2790
  onSelect: a,
2791
2791
  topBadge: m,
2792
2792
  discountBadge: c,
2793
- premiumCallout: p,
2794
- bottomNote: y,
2795
- introPriceNote: C,
2796
- isBestValue: T = !1,
2797
- ctaButton: x,
2793
+ premiumCallout: f,
2794
+ bottomNote: k,
2795
+ introPriceNote: v,
2796
+ isBestValue: O = !1,
2797
+ ctaButton: h,
2798
2798
  className: R,
2799
- children: P,
2799
+ children: z,
2800
2800
  disabled: w = !1,
2801
- ariaLabel: L
2801
+ ariaLabel: L,
2802
+ onTrack: _,
2803
+ trackingLabel: F,
2804
+ componentName: C = "SubscriptionTile"
2802
2805
  }) => {
2803
- const I = !!x, V = s ? "bg-blue-600 text-white ring-4 ring-blue-600 ring-offset-4 ring-offset-white dark:ring-offset-gray-900 border-transparent" : "bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 hover:shadow-md", z = () => {
2804
- !w && !I && a();
2805
- }, _ = (k) => {
2806
- !w && !I && (k.key === "Enter" || k.key === " ") && (k.preventDefault(), a());
2807
- }, G = (k) => {
2808
- k.stopPropagation(), x?.onClick && x.onClick();
2806
+ const N = !!h, I = n ? "bg-blue-600 text-white ring-4 ring-blue-600 ring-offset-4 ring-offset-white dark:ring-offset-gray-900 border-transparent" : "bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 hover:border-gray-300 dark:hover:border-gray-600 hover:shadow-md", D = () => {
2807
+ !w && !N && (_?.({ action: "select", trackingLabel: F, componentName: C }), a());
2808
+ }, u = (E) => {
2809
+ !w && !N && (E.key === "Enter" || E.key === " ") && (E.preventDefault(), _?.({ action: "select", trackingLabel: F, componentName: C }), a());
2810
+ }, V = (E) => {
2811
+ E.stopPropagation(), _?.({ action: "cta_click", trackingLabel: F, componentName: C }), h?.onClick && h.onClick();
2809
2812
  };
2810
- return /* @__PURE__ */ D(
2813
+ return /* @__PURE__ */ M(
2811
2814
  "div",
2812
2815
  {
2813
- className: N(
2814
- "relative rounded-2xl p-6 transition-all flex flex-col",
2815
- w ? "opacity-50 cursor-not-allowed" : I ? "cursor-default" : "cursor-pointer",
2816
- V,
2816
+ className: P(
2817
+ "relative rounded-2xl p-6 transition-all flex flex-col h-full",
2818
+ w ? "opacity-50 cursor-not-allowed" : N ? "cursor-default" : "cursor-pointer",
2819
+ I,
2817
2820
  R
2818
2821
  ),
2819
- onClick: z,
2820
- onKeyDown: _,
2821
- role: I ? "article" : "radio",
2822
- "aria-checked": I ? void 0 : s,
2823
- "aria-label": L || `${o} - ${r}${t || ""}`,
2822
+ onClick: D,
2823
+ onKeyDown: u,
2824
+ role: N ? "article" : "radio",
2825
+ "aria-checked": N ? void 0 : n,
2826
+ "aria-label": L || `${o} - ${t}${r || ""}`,
2824
2827
  "aria-disabled": w,
2825
- tabIndex: I || w ? -1 : 0,
2828
+ tabIndex: N || w ? -1 : 0,
2826
2829
  children: [
2827
2830
  m && /* @__PURE__ */ g("div", { className: "absolute -top-3 left-1/2 transform -translate-x-1/2", children: /* @__PURE__ */ g(
2828
2831
  "span",
2829
2832
  {
2830
- className: N(
2831
- jr[m.color],
2833
+ className: P(
2834
+ jt[m.color],
2832
2835
  "text-white px-3 py-1 rounded-full text-sm font-semibold shadow-lg whitespace-nowrap"
2833
2836
  ),
2834
2837
  children: m.text
2835
2838
  }
2836
2839
  ) }),
2837
- /* @__PURE__ */ D("div", { className: "flex flex-col flex-grow", children: [
2838
- /* @__PURE__ */ D("div", { className: "text-center mb-6", children: [
2840
+ /* @__PURE__ */ M("div", { className: "flex flex-col flex-grow", children: [
2841
+ /* @__PURE__ */ M("div", { className: "text-center mb-6", children: [
2839
2842
  /* @__PURE__ */ g(
2840
2843
  "h3",
2841
2844
  {
2842
- className: N(
2845
+ className: P(
2843
2846
  be.heading.h4(),
2844
2847
  "mb-2",
2845
- s ? "text-white" : ""
2848
+ n ? "text-white" : ""
2846
2849
  ),
2847
2850
  children: o
2848
2851
  }
2849
2852
  ),
2850
- /* @__PURE__ */ D("div", { className: "mb-3", children: [
2853
+ /* @__PURE__ */ M("div", { className: "mb-3", children: [
2851
2854
  /* @__PURE__ */ g(
2852
2855
  "span",
2853
2856
  {
2854
- className: N(
2857
+ className: P(
2855
2858
  "text-4xl font-bold",
2856
- s ? "text-white" : "text-gray-900 dark:text-gray-100"
2859
+ n ? "text-white" : "text-gray-900 dark:text-gray-100"
2857
2860
  ),
2858
- children: r
2861
+ children: t
2859
2862
  }
2860
2863
  ),
2861
- t && /* @__PURE__ */ g(
2864
+ r && /* @__PURE__ */ g(
2862
2865
  "span",
2863
2866
  {
2864
- className: N(
2867
+ className: P(
2865
2868
  "text-lg",
2866
- s ? "text-blue-100" : "text-gray-500 dark:text-gray-400"
2869
+ n ? "text-blue-100" : "text-gray-500 dark:text-gray-400"
2867
2870
  ),
2868
- children: t
2871
+ children: r
2869
2872
  }
2870
2873
  )
2871
2874
  ] }),
2872
2875
  c && /* @__PURE__ */ g(
2873
2876
  "div",
2874
2877
  {
2875
- className: N(
2878
+ className: P(
2876
2879
  "inline-flex items-center px-2 py-1 rounded-full text-sm font-semibold",
2877
- s ? "bg-blue-500 text-white" : "bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300"
2880
+ n ? "bg-blue-500 text-white" : "bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300"
2878
2881
  ),
2879
2882
  children: c.text
2880
2883
  }
2881
2884
  )
2882
2885
  ] }),
2883
- P,
2884
- n.length > 0 && /* @__PURE__ */ g("div", { className: "space-y-3 mb-6 flex-grow", children: n.map((k, u) => /* @__PURE__ */ D("div", { className: "flex items-start", children: [
2886
+ z,
2887
+ s.length > 0 && /* @__PURE__ */ g("div", { className: "space-y-3 mb-6 flex-grow", children: s.map((E, W) => /* @__PURE__ */ M("div", { className: "flex items-start", children: [
2885
2888
  /* @__PURE__ */ g(
2886
2889
  "svg",
2887
2890
  {
2888
- className: N(
2891
+ className: P(
2889
2892
  "w-5 h-5 mr-3 flex-shrink-0",
2890
- s ? "text-blue-200" : "text-green-500"
2893
+ n ? "text-blue-200" : "text-green-500"
2891
2894
  ),
2892
2895
  fill: "none",
2893
2896
  stroke: "currentColor",
@@ -2906,103 +2909,103 @@ const jr = {
2906
2909
  /* @__PURE__ */ g(
2907
2910
  "span",
2908
2911
  {
2909
- className: N(
2912
+ className: P(
2910
2913
  "text-sm text-left",
2911
- s ? "text-white" : "text-gray-700 dark:text-gray-300"
2914
+ n ? "text-white" : "text-gray-700 dark:text-gray-300"
2912
2915
  ),
2913
- children: k.replace(/^✓\s*/, "")
2916
+ children: E.replace(/^✓\s*/, "")
2914
2917
  }
2915
2918
  )
2916
- ] }, u)) }),
2917
- p && /* @__PURE__ */ D(
2919
+ ] }, W)) }),
2920
+ f && /* @__PURE__ */ M(
2918
2921
  "div",
2919
2922
  {
2920
- className: N(
2923
+ className: P(
2921
2924
  "rounded-lg p-4 mb-4",
2922
- s ? "bg-blue-500/30" : "bg-gradient-to-r from-purple-50 to-blue-50 dark:from-purple-900/20 dark:to-blue-900/20"
2925
+ n ? "bg-blue-500/30" : "bg-gradient-to-r from-purple-50 to-blue-50 dark:from-purple-900/20 dark:to-blue-900/20"
2923
2926
  ),
2924
2927
  children: [
2925
2928
  /* @__PURE__ */ g("div", { className: "flex items-center mb-2", children: /* @__PURE__ */ g(
2926
2929
  "span",
2927
2930
  {
2928
- className: N(
2931
+ className: P(
2929
2932
  "font-semibold text-sm",
2930
- s ? "text-white" : "text-purple-600 dark:text-purple-400"
2933
+ n ? "text-white" : "text-purple-600 dark:text-purple-400"
2931
2934
  ),
2932
- children: p.title
2935
+ children: f.title
2933
2936
  }
2934
2937
  ) }),
2935
2938
  /* @__PURE__ */ g(
2936
2939
  "ul",
2937
2940
  {
2938
- className: N(
2941
+ className: P(
2939
2942
  "text-xs space-y-1",
2940
- s ? "text-blue-100" : "text-gray-600 dark:text-gray-400"
2943
+ n ? "text-blue-100" : "text-gray-600 dark:text-gray-400"
2941
2944
  ),
2942
- children: p.features.map((k, u) => /* @__PURE__ */ D("li", { children: [
2945
+ children: f.features.map((E, W) => /* @__PURE__ */ M("li", { children: [
2943
2946
  "• ",
2944
- k
2945
- ] }, u))
2947
+ E
2948
+ ] }, W))
2946
2949
  }
2947
2950
  )
2948
2951
  ]
2949
2952
  }
2950
2953
  ),
2951
- y && /* @__PURE__ */ g(
2954
+ k && /* @__PURE__ */ g(
2952
2955
  "div",
2953
2956
  {
2954
- className: N(
2957
+ className: P(
2955
2958
  "text-center text-sm font-medium mb-4",
2956
- s ? "text-blue-100" : "text-blue-600 dark:text-blue-400"
2959
+ n ? "text-blue-100" : "text-blue-600 dark:text-blue-400"
2957
2960
  ),
2958
- children: y
2961
+ children: k
2959
2962
  }
2960
2963
  )
2961
2964
  ] }),
2962
- /* @__PURE__ */ D("div", { className: "mt-auto space-y-4", children: [
2963
- C && /* @__PURE__ */ g(
2965
+ /* @__PURE__ */ M("div", { className: "mt-auto space-y-4", children: [
2966
+ v && /* @__PURE__ */ g(
2964
2967
  "div",
2965
2968
  {
2966
- className: N(
2969
+ className: P(
2967
2970
  "p-3 rounded-lg",
2968
- s ? "bg-blue-500/30" : "bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800"
2971
+ n ? "bg-blue-500/30" : "bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800"
2969
2972
  ),
2970
2973
  children: /* @__PURE__ */ g(
2971
2974
  "p",
2972
2975
  {
2973
- className: N(
2976
+ className: P(
2974
2977
  "text-sm font-semibold text-center",
2975
- s ? "text-white" : "text-yellow-700 dark:text-yellow-300"
2978
+ n ? "text-white" : "text-yellow-700 dark:text-yellow-300"
2976
2979
  ),
2977
- children: C
2980
+ children: v
2978
2981
  }
2979
2982
  )
2980
2983
  }
2981
2984
  ),
2982
- I ? (
2985
+ N ? (
2983
2986
  // CTA Button - like pricing page
2984
- x.href ? /* @__PURE__ */ g(
2987
+ h.href ? /* @__PURE__ */ g(
2985
2988
  "a",
2986
2989
  {
2987
- href: x.href,
2988
- className: N(
2990
+ href: h.href,
2991
+ className: P(
2989
2992
  "block w-full py-3 font-semibold rounded-lg text-center transition-colors",
2990
- s ? "bg-white text-blue-600 hover:bg-gray-100" : "bg-blue-600 text-white hover:bg-blue-700"
2993
+ n ? "bg-white text-blue-600 hover:bg-gray-100" : "bg-blue-600 text-white hover:bg-blue-700"
2991
2994
  ),
2992
- onClick: (k) => k.stopPropagation(),
2993
- children: x.label
2995
+ onClick: (E) => E.stopPropagation(),
2996
+ children: h.label
2994
2997
  }
2995
2998
  ) : /* @__PURE__ */ g(
2996
2999
  "button",
2997
3000
  {
2998
- onClick: G,
3001
+ onClick: V,
2999
3002
  disabled: w,
3000
- className: N(
3003
+ className: P(
3001
3004
  "w-full py-3 font-semibold rounded-lg transition-colors",
3002
- s ? "bg-white text-blue-600 hover:bg-gray-100" : "bg-blue-600 text-white hover:bg-blue-700",
3005
+ n ? "bg-white text-blue-600 hover:bg-gray-100" : "bg-blue-600 text-white hover:bg-blue-700",
3003
3006
  w && "opacity-50 cursor-not-allowed"
3004
3007
  ),
3005
- children: x.label
3008
+ children: h.label
3006
3009
  }
3007
3010
  )
3008
3011
  ) : (
@@ -3010,11 +3013,11 @@ const jr = {
3010
3013
  /* @__PURE__ */ g("div", { className: "flex justify-center", children: /* @__PURE__ */ g(
3011
3014
  "div",
3012
3015
  {
3013
- className: N(
3016
+ className: P(
3014
3017
  "w-5 h-5 rounded-full border-2 flex items-center justify-center",
3015
- s ? "border-white bg-white" : "border-gray-300 dark:border-gray-600"
3018
+ n ? "border-white bg-white" : "border-gray-300 dark:border-gray-600"
3016
3019
  ),
3017
- children: s && /* @__PURE__ */ g("div", { className: "w-2 h-2 rounded-full bg-blue-600" })
3020
+ children: n && /* @__PURE__ */ g("div", { className: "w-2 h-2 rounded-full bg-blue-600" })
3018
3021
  }
3019
3022
  ) })
3020
3023
  )
@@ -3022,59 +3025,84 @@ const jr = {
3022
3025
  ]
3023
3026
  }
3024
3027
  );
3025
- }, Yr = ({
3028
+ }, Yt = ({
3026
3029
  title: e,
3027
3030
  children: o,
3028
- error: r,
3029
- variant: t = "selection",
3030
- currentStatus: n,
3031
- primaryAction: s,
3031
+ error: t,
3032
+ variant: r = "selection",
3033
+ currentStatus: s,
3034
+ primaryAction: n,
3032
3035
  secondaryAction: a,
3033
3036
  minTileWidth: m = 240,
3034
3037
  className: c,
3035
- headerContent: p,
3036
- aboveProducts: y,
3037
- footerContent: C,
3038
- currentStatusLabel: T = "Current Status"
3038
+ headerContent: f,
3039
+ aboveProducts: k,
3040
+ footerContent: v,
3041
+ currentStatusLabel: O = "Current Status",
3042
+ freeTileConfig: h,
3043
+ onTrack: R,
3044
+ trackingLabel: z,
3045
+ componentName: w = "SubscriptionLayout"
3039
3046
  }) => {
3040
- const x = t === "selection" && s, R = {
3047
+ const L = r === "selection" && n, _ = () => {
3048
+ R?.({ action: "primary_action", trackingLabel: z, componentName: w }), n?.onClick();
3049
+ }, F = () => {
3050
+ R?.({ action: "secondary_action", trackingLabel: z, componentName: w }), a?.onClick();
3051
+ }, C = r === "cta" && h, N = {
3041
3052
  display: "grid",
3042
3053
  gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${m}px), 1fr))`,
3043
3054
  gap: "1.5rem"
3044
3055
  };
3045
- return /* @__PURE__ */ g(We, { className: c, children: /* @__PURE__ */ D(Ue, { className: "pt-6", children: [
3046
- p,
3047
- n && /* @__PURE__ */ D($e, { children: [
3048
- /* @__PURE__ */ g("h2", { className: N(be.heading.h3(), "mb-4"), children: T }),
3049
- n.isActive ? /* @__PURE__ */ D("div", { className: "bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4 mb-6", children: [
3050
- /* @__PURE__ */ D("div", { className: "flex items-center mb-2", children: [
3056
+ return /* @__PURE__ */ g(Be, { className: c, children: /* @__PURE__ */ M(We, { className: "pt-6", children: [
3057
+ f,
3058
+ s && /* @__PURE__ */ M($e, { children: [
3059
+ /* @__PURE__ */ g("h2", { className: P(be.heading.h3(), "mb-4"), children: O }),
3060
+ s.isActive ? /* @__PURE__ */ M("div", { className: "bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg p-4 mb-6", children: [
3061
+ /* @__PURE__ */ M("div", { className: "flex items-center mb-2", children: [
3051
3062
  /* @__PURE__ */ g("div", { className: "w-3 h-3 bg-green-500 rounded-full mr-3" }),
3052
- /* @__PURE__ */ g("span", { className: "font-semibold text-green-800 dark:text-green-300", children: n.activeContent?.title || "Active Subscription" })
3063
+ /* @__PURE__ */ g("span", { className: "font-semibold text-green-800 dark:text-green-300", children: s.activeContent?.title || "Active Subscription" })
3053
3064
  ] }),
3054
- n.activeContent?.fields && n.activeContent.fields.length > 0 && /* @__PURE__ */ g("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 mt-4", children: n.activeContent.fields.map(
3055
- (P, w) => /* @__PURE__ */ D("div", { children: [
3056
- /* @__PURE__ */ g("p", { className: "text-sm text-green-600 dark:text-green-400", children: P.label }),
3057
- /* @__PURE__ */ g("p", { className: "font-semibold text-green-800 dark:text-green-300", children: P.value })
3058
- ] }, w)
3065
+ s.activeContent?.fields && s.activeContent.fields.length > 0 && /* @__PURE__ */ g("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4 mt-4", children: s.activeContent.fields.map(
3066
+ (I, D) => /* @__PURE__ */ M("div", { children: [
3067
+ /* @__PURE__ */ g("p", { className: "text-sm text-green-600 dark:text-green-400", children: I.label }),
3068
+ /* @__PURE__ */ g("p", { className: "font-semibold text-green-800 dark:text-green-300", children: I.value })
3069
+ ] }, D)
3059
3070
  ) })
3060
- ] }) : /* @__PURE__ */ D("div", { className: "bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4 mb-6", children: [
3061
- /* @__PURE__ */ D("div", { className: "flex items-center mb-2", children: [
3071
+ ] }) : /* @__PURE__ */ M("div", { className: "bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4 mb-6", children: [
3072
+ /* @__PURE__ */ M("div", { className: "flex items-center mb-2", children: [
3062
3073
  /* @__PURE__ */ g("div", { className: "w-3 h-3 bg-yellow-500 rounded-full mr-3" }),
3063
- /* @__PURE__ */ g("span", { className: "font-semibold text-yellow-800 dark:text-yellow-300", children: n.inactiveContent?.title || "No Active Subscription" })
3074
+ /* @__PURE__ */ g("span", { className: "font-semibold text-yellow-800 dark:text-yellow-300", children: s.inactiveContent?.title || "No Active Subscription" })
3064
3075
  ] }),
3065
- n.inactiveContent?.message && /* @__PURE__ */ g("p", { className: "text-yellow-700 dark:text-yellow-400", children: n.inactiveContent.message })
3076
+ s.inactiveContent?.message && /* @__PURE__ */ g("p", { className: "text-yellow-700 dark:text-yellow-400", children: s.inactiveContent.message })
3066
3077
  ] })
3067
3078
  ] }),
3068
- /* @__PURE__ */ g("h2", { className: N(be.heading.h3(), "mb-4"), children: e }),
3069
- y,
3070
- /* @__PURE__ */ g("div", { style: R, children: o }),
3071
- C,
3072
- r && /* @__PURE__ */ g("div", { className: "bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 mt-6", children: /* @__PURE__ */ g("p", { className: "text-red-600 dark:text-red-400", children: r }) }),
3073
- x && /* @__PURE__ */ D("div", { className: "flex flex-col sm:flex-row gap-3 mt-6", children: [
3079
+ /* @__PURE__ */ g("h2", { className: P(be.heading.h3(), "mb-4"), children: e }),
3080
+ k,
3081
+ /* @__PURE__ */ M("div", { style: N, children: [
3082
+ C && /* @__PURE__ */ g(
3083
+ Lt,
3084
+ {
3085
+ id: "free",
3086
+ title: h.title,
3087
+ price: h.price,
3088
+ periodLabel: h.periodLabel,
3089
+ features: h.features,
3090
+ isSelected: !1,
3091
+ onSelect: () => {
3092
+ },
3093
+ topBadge: h.topBadge,
3094
+ ctaButton: h.ctaButton
3095
+ }
3096
+ ),
3097
+ o
3098
+ ] }),
3099
+ v,
3100
+ t && /* @__PURE__ */ g("div", { className: "bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 mt-6", children: /* @__PURE__ */ g("p", { className: "text-red-600 dark:text-red-400", children: t }) }),
3101
+ L && /* @__PURE__ */ M("div", { className: "flex flex-col sm:flex-row gap-3 mt-6", children: [
3074
3102
  a && /* @__PURE__ */ g(
3075
3103
  ve,
3076
3104
  {
3077
- onClick: a.onClick,
3105
+ onClick: F,
3078
3106
  disabled: a.disabled || a.loading,
3079
3107
  variant: "outline",
3080
3108
  className: "sm:flex-shrink-0",
@@ -3084,22 +3112,22 @@ const jr = {
3084
3112
  /* @__PURE__ */ g(
3085
3113
  ve,
3086
3114
  {
3087
- onClick: s.onClick,
3088
- disabled: s.disabled || s.loading,
3115
+ onClick: _,
3116
+ disabled: n.disabled || n.loading,
3089
3117
  className: "flex-1",
3090
- children: s.label
3118
+ children: n.label
3091
3119
  }
3092
3120
  )
3093
3121
  ] })
3094
3122
  ] }) });
3095
3123
  };
3096
- function Kr({
3124
+ function Kt({
3097
3125
  options: e,
3098
3126
  value: o,
3099
- onChange: r,
3100
- className: t,
3101
- disabled: n = !1,
3102
- size: s = "md"
3127
+ onChange: t,
3128
+ className: r,
3129
+ disabled: s = !1,
3130
+ size: n = "md"
3103
3131
  }) {
3104
3132
  const a = {
3105
3133
  sm: "px-3 py-1.5 text-xs",
@@ -3109,10 +3137,10 @@ function Kr({
3109
3137
  return /* @__PURE__ */ g(
3110
3138
  "div",
3111
3139
  {
3112
- className: N(
3140
+ className: P(
3113
3141
  "inline-flex rounded-lg bg-gray-100 dark:bg-gray-800 p-1",
3114
- n && "opacity-50",
3115
- t
3142
+ s && "opacity-50",
3143
+ r
3116
3144
  ),
3117
3145
  role: "radiogroup",
3118
3146
  children: e.map((m) => {
@@ -3123,13 +3151,13 @@ function Kr({
3123
3151
  type: "button",
3124
3152
  role: "radio",
3125
3153
  "aria-checked": c,
3126
- disabled: n,
3127
- onClick: () => !n && r(m.value),
3128
- className: N(
3129
- a[s],
3154
+ disabled: s,
3155
+ onClick: () => !s && t(m.value),
3156
+ className: P(
3157
+ a[n],
3130
3158
  "font-medium rounded-md transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
3131
3159
  c ? "bg-white dark:bg-gray-700 text-gray-900 dark:text-white shadow-sm" : "text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-white",
3132
- n && "cursor-not-allowed"
3160
+ s && "cursor-not-allowed"
3133
3161
  ),
3134
3162
  children: m.label
3135
3163
  },
@@ -3139,239 +3167,240 @@ function Kr({
3139
3167
  }
3140
3168
  );
3141
3169
  }
3142
- let pe = null;
3143
- const Lr = async () => (pe || (pe = await import("@revenuecat/purchases-js")), pe);
3144
- let M = null;
3145
- const _r = (e) => {
3146
- const o = e.rcBillingProduct, r = o?.defaultSubscriptionOption;
3170
+ let fe = null;
3171
+ const _t = async () => (fe || (fe = await import("@revenuecat/purchases-js")), fe);
3172
+ let G = null;
3173
+ const Ft = (e, o) => {
3174
+ const t = e.rcBillingProduct, r = t?.defaultSubscriptionOption, s = typeof o?.entitlement == "string" ? o.entitlement : void 0;
3147
3175
  return {
3148
3176
  identifier: e.identifier,
3149
- productId: o?.identifier || void 0,
3150
- price: o?.currentPrice?.amountMicros ? (o.currentPrice.amountMicros / 1e6).toFixed(2) : "0",
3151
- priceString: o?.currentPrice?.formattedPrice || "$0",
3152
- title: o?.title || e.identifier,
3153
- description: o?.description || "",
3154
- period: o?.normalPeriodDuration || void 0,
3177
+ productId: t?.identifier || void 0,
3178
+ price: t?.currentPrice?.amountMicros ? (t.currentPrice.amountMicros / 1e6).toFixed(2) : "0",
3179
+ priceString: t?.currentPrice?.formattedPrice || "$0",
3180
+ title: t?.title || e.identifier,
3181
+ description: t?.description || "",
3182
+ period: t?.normalPeriodDuration || void 0,
3155
3183
  introPrice: r?.introPrice?.price?.formattedPrice || void 0,
3156
3184
  introPriceAmount: r?.introPrice?.price?.amountMicros ? (r.introPrice.price.amountMicros / 1e6).toFixed(2) : void 0,
3157
3185
  introPricePeriod: r?.introPrice?.periodDuration || void 0,
3158
3186
  introPriceCycles: r?.introPrice?.cycleCount || void 0,
3159
- freeTrialPeriod: r?.trial?.periodDuration || void 0
3187
+ freeTrialPeriod: r?.trial?.periodDuration || void 0,
3188
+ entitlement: s
3160
3189
  };
3161
3190
  }, ge = (e, o) => {
3162
- const r = e.entitlements.active[o];
3163
- return r ? {
3191
+ const t = e.entitlements.active[o];
3192
+ return t ? {
3164
3193
  isActive: !0,
3165
- expirationDate: r.expirationDate ? new Date(r.expirationDate) : void 0,
3166
- purchaseDate: r.latestPurchaseDate ? new Date(r.latestPurchaseDate) : void 0,
3167
- productIdentifier: r.productIdentifier,
3168
- willRenew: r.willRenew,
3169
- isSandbox: r.isSandbox,
3170
- unsubscribeDetectedAt: r.unsubscribeDetectedAt ? new Date(r.unsubscribeDetectedAt) : void 0,
3171
- billingIssueDetectedAt: r.billingIssueDetectedAt ? new Date(r.billingIssueDetectedAt) : void 0
3194
+ expirationDate: t.expirationDate ? new Date(t.expirationDate) : void 0,
3195
+ purchaseDate: t.latestPurchaseDate ? new Date(t.latestPurchaseDate) : void 0,
3196
+ productIdentifier: t.productIdentifier,
3197
+ willRenew: t.willRenew,
3198
+ isSandbox: t.isSandbox,
3199
+ unsubscribeDetectedAt: t.unsubscribeDetectedAt ? new Date(t.unsubscribeDetectedAt) : void 0,
3200
+ billingIssueDetectedAt: t.billingIssueDetectedAt ? new Date(t.billingIssueDetectedAt) : void 0
3172
3201
  } : { isActive: !1 };
3173
- }, Ve = Be(
3202
+ }, Ve = Ue(
3174
3203
  void 0
3175
- ), qr = ({
3204
+ ), qt = ({
3176
3205
  apiKey: e,
3177
3206
  entitlementId: o,
3178
- userEmail: r,
3179
- onError: t,
3180
- onPurchaseSuccess: n,
3181
- children: s
3207
+ userEmail: t,
3208
+ onError: r,
3209
+ onPurchaseSuccess: s,
3210
+ children: n
3182
3211
  }) => {
3183
- const [a, m] = B([]), [c, p] = B(null), [y, C] = B(!1), [T, x] = B(null), [R, P] = B(!1), [w, L] = B(null), [I, V] = B(null), z = !e || e === "your_revenuecat_api_key_here", _ = W(() => {
3184
- m([]), p(null), V(null), x(null), P(!1), L(null), M = null;
3185
- }, []), G = W(async () => {
3186
- if (M)
3212
+ const [a, m] = K([]), [c, f] = K(null), [k, v] = K(!1), [O, h] = K(null), [R, z] = K(!1), [w, L] = K(null), [_, F] = K(null), C = !e || e === "your_revenuecat_api_key_here", N = U(() => {
3213
+ m([]), f(null), F(null), h(null), z(!1), L(null), G = null;
3214
+ }, []), I = U(async () => {
3215
+ if (G)
3187
3216
  try {
3188
- const f = await M.getOfferings();
3189
- if (f.current) {
3190
- V(f.current);
3191
- const h = f.current.availablePackages.map(
3192
- _r
3217
+ const p = await G.getOfferings();
3218
+ if (p.current) {
3219
+ F(p.current);
3220
+ const x = p.current.metadata, y = p.current.availablePackages.map(
3221
+ (T) => Ft(T, x)
3193
3222
  );
3194
- m(h);
3223
+ m(y);
3195
3224
  }
3196
- } catch (f) {
3197
- const h = f instanceof Error ? f.message : "Failed to load offerings";
3198
- x(h), t?.(f instanceof Error ? f : new Error(h));
3225
+ } catch (p) {
3226
+ const x = p instanceof Error ? p.message : "Failed to load offerings";
3227
+ h(x), r?.(p instanceof Error ? p : new Error(x));
3199
3228
  }
3200
- }, [t]), k = W(async () => {
3201
- if (M)
3229
+ }, [r]), D = U(async () => {
3230
+ if (G)
3202
3231
  try {
3203
- const f = await M.getCustomerInfo(), h = ge(f, o);
3204
- p(h.isActive ? h : null);
3205
- } catch (f) {
3206
- const h = f instanceof Error ? f.message : "Failed to load subscription status";
3207
- x(h), t?.(f instanceof Error ? f : new Error(h));
3232
+ const p = await G.getCustomerInfo(), x = ge(p, o);
3233
+ f(x.isActive ? x : null);
3234
+ } catch (p) {
3235
+ const x = p instanceof Error ? p.message : "Failed to load subscription status";
3236
+ h(x), r?.(p instanceof Error ? p : new Error(x));
3208
3237
  }
3209
- }, [o, t]), u = W(
3210
- async (f, h) => {
3211
- if (w && w !== f && _(), !(R && w === f))
3238
+ }, [o, r]), u = U(
3239
+ async (p, x) => {
3240
+ if (w && w !== p && N(), !(R && w === p))
3212
3241
  try {
3213
- if (C(!0), x(null), z)
3242
+ if (v(!0), h(null), C)
3214
3243
  console.warn(
3215
3244
  "[SubscriptionProvider] RevenueCat API key not configured"
3216
- ), m([]), p(null);
3245
+ ), m([]), f(null);
3217
3246
  else {
3218
- const v = await Lr(), O = {
3247
+ const y = await _t(), T = {
3219
3248
  apiKey: e,
3220
- appUserId: f
3249
+ appUserId: p
3221
3250
  };
3222
- M = v.Purchases.configure(O);
3223
- const d = h || r;
3224
- if (d && M)
3251
+ G = y.Purchases.configure(T);
3252
+ const d = x || t;
3253
+ if (d && G)
3225
3254
  try {
3226
- await M.setAttributes({ email: d });
3255
+ await G.setAttributes({ email: d });
3227
3256
  } catch {
3228
3257
  }
3229
- await Promise.all([G(), k()]);
3258
+ await Promise.all([I(), D()]);
3230
3259
  }
3231
- L(f), P(!0);
3232
- } catch (v) {
3233
- const O = v instanceof Error ? v.message : "Failed to initialize";
3234
- x(O), p(null), m([]), t?.(v instanceof Error ? v : new Error(O));
3260
+ L(p), z(!0);
3261
+ } catch (y) {
3262
+ const T = y instanceof Error ? y.message : "Failed to initialize";
3263
+ h(T), f(null), m([]), r?.(y instanceof Error ? y : new Error(T));
3235
3264
  } finally {
3236
- C(!1);
3265
+ v(!1);
3237
3266
  }
3238
3267
  },
3239
3268
  [
3240
3269
  w,
3241
3270
  R,
3242
- z,
3271
+ C,
3243
3272
  e,
3244
- r,
3245
- G,
3246
- k,
3247
3273
  t,
3248
- _
3274
+ I,
3275
+ D,
3276
+ r,
3277
+ N
3249
3278
  ]
3250
- ), F = W(
3251
- async (f) => {
3279
+ ), V = U(
3280
+ async (p) => {
3252
3281
  try {
3253
- if (C(!0), x(null), z) {
3254
- await new Promise((te) => setTimeout(te, 2e3));
3255
- const q = {
3282
+ if (v(!0), h(null), C) {
3283
+ await new Promise((re) => setTimeout(re, 2e3));
3284
+ const J = {
3256
3285
  isActive: !0,
3257
3286
  expirationDate: new Date(Date.now() + 365 * 24 * 60 * 60 * 1e3),
3258
3287
  purchaseDate: /* @__PURE__ */ new Date(),
3259
- productIdentifier: f,
3288
+ productIdentifier: p,
3260
3289
  willRenew: !0
3261
3290
  };
3262
- return p(q), n?.(f), !0;
3291
+ return f(J), s?.(p), !0;
3263
3292
  }
3264
- if (!M || !I)
3293
+ if (!G || !_)
3265
3294
  throw new Error("Subscription service not initialized");
3266
- const v = I.availablePackages.find(
3267
- (q) => q.identifier === f
3295
+ const y = _.availablePackages.find(
3296
+ (J) => J.identifier === p
3268
3297
  );
3269
- if (!v)
3270
- throw new Error(`Package not found: ${f}`);
3271
- const O = await M.purchase({
3272
- rcPackage: v,
3273
- ...r ? { customerEmail: r } : {}
3274
- }), d = ge(O.customerInfo, o);
3275
- return p(d.isActive ? d : null), d.isActive && n?.(f), d.isActive;
3276
- } catch (h) {
3277
- const v = h instanceof Error ? h.message : "Purchase failed";
3278
- return x(v), t?.(h instanceof Error ? h : new Error(v)), !1;
3298
+ if (!y)
3299
+ throw new Error(`Package not found: ${p}`);
3300
+ const T = await G.purchase({
3301
+ rcPackage: y,
3302
+ ...t ? { customerEmail: t } : {}
3303
+ }), d = ge(T.customerInfo, o);
3304
+ return f(d.isActive ? d : null), d.isActive && s?.(p), d.isActive;
3305
+ } catch (x) {
3306
+ const y = x instanceof Error ? x.message : "Purchase failed";
3307
+ return h(y), r?.(x instanceof Error ? x : new Error(y)), !1;
3279
3308
  } finally {
3280
- C(!1);
3309
+ v(!1);
3281
3310
  }
3282
3311
  },
3283
3312
  [
3284
- z,
3285
- I,
3286
- r,
3313
+ C,
3314
+ _,
3315
+ t,
3287
3316
  o,
3288
- n,
3289
- t
3317
+ s,
3318
+ r
3290
3319
  ]
3291
- ), Z = W(async () => {
3320
+ ), E = U(async () => {
3292
3321
  try {
3293
- if (C(!0), x(null), z)
3294
- return await new Promise((v) => setTimeout(v, 1e3)), x("No previous purchases found"), !1;
3295
- if (!M)
3322
+ if (v(!0), h(null), C)
3323
+ return await new Promise((y) => setTimeout(y, 1e3)), h("No previous purchases found"), !1;
3324
+ if (!G)
3296
3325
  throw new Error("Subscription service not initialized");
3297
- const f = await M.getCustomerInfo(), h = ge(f, o);
3298
- return p(h.isActive ? h : null), h.isActive || x("No previous purchases found"), h.isActive;
3299
- } catch (f) {
3300
- const h = f instanceof Error ? f.message : "Restore failed";
3301
- return x(h), t?.(f instanceof Error ? f : new Error(h)), !1;
3326
+ const p = await G.getCustomerInfo(), x = ge(p, o);
3327
+ return f(x.isActive ? x : null), x.isActive || h("No previous purchases found"), x.isActive;
3328
+ } catch (p) {
3329
+ const x = p instanceof Error ? p.message : "Restore failed";
3330
+ return h(x), r?.(p instanceof Error ? p : new Error(x)), !1;
3302
3331
  } finally {
3303
- C(!1);
3332
+ v(!1);
3304
3333
  }
3305
- }, [z, o, t]), ee = W(async () => {
3306
- if (!z)
3334
+ }, [C, o, r]), W = U(async () => {
3335
+ if (!C)
3307
3336
  try {
3308
- x(null), await Promise.all([k(), G()]);
3309
- } catch (f) {
3310
- const h = f instanceof Error ? f.message : "Refresh failed";
3311
- x(h), t?.(f instanceof Error ? f : new Error(h));
3337
+ h(null), await Promise.all([D(), I()]);
3338
+ } catch (p) {
3339
+ const x = p instanceof Error ? p.message : "Refresh failed";
3340
+ h(x), r?.(p instanceof Error ? p : new Error(x));
3312
3341
  }
3313
- }, [z, k, G, t]), K = W(() => {
3314
- x(null);
3342
+ }, [C, D, I, r]), X = U(() => {
3343
+ h(null);
3315
3344
  }, []);
3316
3345
  Ye(() => {
3317
- if (!R || z || !M) return;
3318
- const f = setInterval(
3346
+ if (!R || C || !G) return;
3347
+ const p = setInterval(
3319
3348
  () => {
3320
- k().catch(() => {
3349
+ D().catch(() => {
3321
3350
  });
3322
3351
  },
3323
3352
  300 * 1e3
3324
3353
  );
3325
- return () => clearInterval(f);
3326
- }, [R, z, k]);
3327
- const re = {
3354
+ return () => clearInterval(p);
3355
+ }, [R, C, D]);
3356
+ const te = {
3328
3357
  products: a,
3329
3358
  currentSubscription: c,
3330
- isLoading: y,
3331
- error: T,
3359
+ isLoading: k,
3360
+ error: O,
3332
3361
  initialize: u,
3333
- purchase: F,
3334
- restore: Z,
3335
- refresh: ee,
3336
- clearError: K
3362
+ purchase: V,
3363
+ restore: E,
3364
+ refresh: W,
3365
+ clearError: X
3337
3366
  };
3338
- return /* @__PURE__ */ g(Ve.Provider, { value: re, children: s });
3339
- }, Xr = () => {
3367
+ return /* @__PURE__ */ g(Ve.Provider, { value: te, children: n });
3368
+ }, Xt = () => {
3340
3369
  const e = Ke(Ve);
3341
3370
  if (!e)
3342
3371
  throw new Error(
3343
3372
  "useSubscriptionContext must be used within a SubscriptionProvider"
3344
3373
  );
3345
3374
  return e;
3346
- }, Fr = () => {
3375
+ }, Vt = () => {
3347
3376
  try {
3348
3377
  const e = [];
3349
- for (let r = 0; r < localStorage.length; r++) {
3350
- const t = localStorage.key(r);
3351
- t && (t.includes("revenuecat") || t.includes("rcb") || t.includes("rc_")) && e.push(t);
3378
+ for (let t = 0; t < localStorage.length; t++) {
3379
+ const r = localStorage.key(t);
3380
+ r && (r.includes("revenuecat") || r.includes("rcb") || r.includes("rc_")) && e.push(r);
3352
3381
  }
3353
- e.forEach((r) => localStorage.removeItem(r));
3382
+ e.forEach((t) => localStorage.removeItem(t));
3354
3383
  const o = [];
3355
- for (let r = 0; r < sessionStorage.length; r++) {
3356
- const t = sessionStorage.key(r);
3357
- t && (t.includes("revenuecat") || t.includes("rcb") || t.includes("rc_")) && o.push(t);
3384
+ for (let t = 0; t < sessionStorage.length; t++) {
3385
+ const r = sessionStorage.key(t);
3386
+ r && (r.includes("revenuecat") || r.includes("rcb") || r.includes("rc_")) && o.push(r);
3358
3387
  }
3359
- o.forEach((r) => sessionStorage.removeItem(r));
3388
+ o.forEach((t) => sessionStorage.removeItem(t));
3360
3389
  } catch {
3361
3390
  }
3362
- }, Jr = () => {
3391
+ }, Jt = () => {
3363
3392
  try {
3364
- M && (M.close(), M = null), Fr();
3393
+ G && (G.close(), G = null), Vt();
3365
3394
  } catch {
3366
3395
  }
3367
3396
  };
3368
3397
  export {
3369
- Kr as SegmentedControl,
3370
- Yr as SubscriptionLayout,
3371
- qr as SubscriptionProvider,
3372
- Br as SubscriptionTile,
3373
- Fr as clearRevenueCatCheckoutSessions,
3374
- Jr as closeRevenueCatInstance,
3375
- N as cn,
3376
- Xr as useSubscriptionContext
3398
+ Kt as SegmentedControl,
3399
+ Yt as SubscriptionLayout,
3400
+ qt as SubscriptionProvider,
3401
+ Lt as SubscriptionTile,
3402
+ Vt as clearRevenueCatCheckoutSessions,
3403
+ Jt as closeRevenueCatInstance,
3404
+ P as cn,
3405
+ Xt as useSubscriptionContext
3377
3406
  };