@sudobility/entity-components 1.0.9 → 1.0.11

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,50 +1,51 @@
1
- import { jsx as a, jsxs as w, Fragment as re } from "react/jsx-runtime";
2
- import { UserIcon as se, BuildingOffice2Icon as ue, ChevronDownIcon as Re, PlusIcon as $e, CheckIcon as pe, ShieldCheckIcon as Xe, BriefcaseIcon as Ye, EyeIcon as qe, TrashIcon as Je, EnvelopeIcon as Me, ArrowPathIcon as He, PaperAirplaneIcon as Ke, ClockIcon as Qe, XCircleIcon as Ze, XMarkIcon as er } from "@heroicons/react/24/outline";
3
- import { useState as X } from "react";
1
+ import { jsx as a, jsxs as y, Fragment as re } from "react/jsx-runtime";
2
+ import { UserIcon as se, BuildingOffice2Icon as ue, ChevronDownIcon as Se, PlusIcon as $e, CheckIcon as pe, ShieldCheckIcon as Xe, BriefcaseIcon as Ye, EyeIcon as qe, TrashIcon as Je, EnvelopeIcon as Me, ArrowPathIcon as He, PaperAirplaneIcon as Ke, ClockIcon as Qe, XCircleIcon as Ze, XMarkIcon as er } from "@heroicons/react/24/outline";
3
+ import { useState as _, useRef as rr, useCallback as tr } from "react";
4
+ import { createPortal as or } from "react-dom";
4
5
  import { EntityRole as te } from "@sudobility/types";
5
- function Ee(e) {
6
+ function Pe(e) {
6
7
  var o, r, t = "";
7
8
  if (typeof e == "string" || typeof e == "number") t += e;
8
9
  else if (typeof e == "object") if (Array.isArray(e)) {
9
10
  var s = e.length;
10
- for (o = 0; o < s; o++) e[o] && (r = Ee(e[o])) && (t && (t += " "), t += r);
11
+ for (o = 0; o < s; o++) e[o] && (r = Pe(e[o])) && (t && (t += " "), t += r);
11
12
  } else for (r in e) e[r] && (t && (t += " "), t += r);
12
13
  return t;
13
14
  }
14
- function rr() {
15
- for (var e, o, r = 0, t = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (o = Ee(e)) && (t && (t += " "), t += o);
15
+ function sr() {
16
+ for (var e, o, r = 0, t = "", s = arguments.length; r < s; r++) (e = arguments[r]) && (o = Pe(e)) && (t && (t += " "), t += o);
16
17
  return t;
17
18
  }
18
- const tr = (e, o) => {
19
+ const nr = (e, o) => {
19
20
  const r = new Array(e.length + o.length);
20
21
  for (let t = 0; t < e.length; t++)
21
22
  r[t] = e[t];
22
23
  for (let t = 0; t < o.length; t++)
23
24
  r[e.length + t] = o[t];
24
25
  return r;
25
- }, or = (e, o) => ({
26
+ }, ar = (e, o) => ({
26
27
  classGroupId: e,
27
28
  validator: o
28
- }), Pe = (e = /* @__PURE__ */ new Map(), o = null, r) => ({
29
+ }), Ee = (e = /* @__PURE__ */ new Map(), o = null, r) => ({
29
30
  nextPart: e,
30
31
  validators: o,
31
32
  classGroupId: r
32
- }), oe = "-", Ne = [], sr = "arbitrary..", nr = (e) => {
33
- const o = lr(e), {
33
+ }), oe = "-", Ne = [], lr = "arbitrary..", ir = (e) => {
34
+ const o = dr(e), {
34
35
  conflictingClassGroups: r,
35
36
  conflictingClassGroupModifiers: t
36
37
  } = e;
37
38
  return {
38
39
  getClassGroupId: (n) => {
39
40
  if (n.startsWith("[") && n.endsWith("]"))
40
- return ar(n);
41
+ return cr(n);
41
42
  const l = n.split(oe), i = l[0] === "" && l.length > 1 ? 1 : 0;
42
43
  return Te(l, i, o);
43
44
  },
44
45
  getConflictingClassGroupIds: (n, l) => {
45
46
  if (l) {
46
- const i = t[n], u = r[n];
47
- return i ? u ? tr(u, i) : i : u || Ne;
47
+ const i = t[n], p = r[n];
48
+ return i ? p ? nr(p, i) : i : p || Ne;
48
49
  }
49
50
  return r[n] || Ne;
50
51
  }
@@ -54,64 +55,64 @@ const tr = (e, o) => {
54
55
  return r.classGroupId;
55
56
  const s = e[o], c = r.nextPart.get(s);
56
57
  if (c) {
57
- const u = Te(e, o + 1, c);
58
- if (u) return u;
58
+ const p = Te(e, o + 1, c);
59
+ if (p) return p;
59
60
  }
60
61
  const n = r.validators;
61
62
  if (n === null)
62
63
  return;
63
64
  const l = o === 0 ? e.join(oe) : e.slice(o).join(oe), i = n.length;
64
- for (let u = 0; u < i; u++) {
65
- const f = n[u];
66
- if (f.validator(l))
67
- return f.classGroupId;
65
+ for (let p = 0; p < i; p++) {
66
+ const g = n[p];
67
+ if (g.validator(l))
68
+ return g.classGroupId;
68
69
  }
69
- }, ar = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
70
+ }, cr = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
70
71
  const o = e.slice(1, -1), r = o.indexOf(":"), t = o.slice(0, r);
71
- return t ? sr + t : void 0;
72
- })(), lr = (e) => {
72
+ return t ? lr + t : void 0;
73
+ })(), dr = (e) => {
73
74
  const {
74
75
  theme: o,
75
76
  classGroups: r
76
77
  } = e;
77
- return ir(r, o);
78
- }, ir = (e, o) => {
79
- const r = Pe();
78
+ return mr(r, o);
79
+ }, mr = (e, o) => {
80
+ const r = Ee();
80
81
  for (const t in e) {
81
82
  const s = e[t];
82
- fe(s, r, t, o);
83
+ ge(s, r, t, o);
83
84
  }
84
85
  return r;
85
- }, fe = (e, o, r, t) => {
86
+ }, ge = (e, o, r, t) => {
86
87
  const s = e.length;
87
88
  for (let c = 0; c < s; c++) {
88
89
  const n = e[c];
89
- cr(n, o, r, t);
90
+ ur(n, o, r, t);
90
91
  }
91
- }, cr = (e, o, r, t) => {
92
+ }, ur = (e, o, r, t) => {
92
93
  if (typeof e == "string") {
93
- dr(e, o, r);
94
+ pr(e, o, r);
94
95
  return;
95
96
  }
96
97
  if (typeof e == "function") {
97
- mr(e, o, r, t);
98
+ gr(e, o, r, t);
98
99
  return;
99
100
  }
100
- ur(e, o, r, t);
101
- }, dr = (e, o, r) => {
101
+ fr(e, o, r, t);
102
+ }, pr = (e, o, r) => {
102
103
  const t = e === "" ? o : Oe(o, e);
103
104
  t.classGroupId = r;
104
- }, mr = (e, o, r, t) => {
105
- if (pr(e)) {
106
- fe(e(t), o, r, t);
105
+ }, gr = (e, o, r, t) => {
106
+ if (br(e)) {
107
+ ge(e(t), o, r, t);
107
108
  return;
108
109
  }
109
- o.validators === null && (o.validators = []), o.validators.push(or(r, e));
110
- }, ur = (e, o, r, t) => {
110
+ o.validators === null && (o.validators = []), o.validators.push(ar(r, e));
111
+ }, fr = (e, o, r, t) => {
111
112
  const s = Object.entries(e), c = s.length;
112
113
  for (let n = 0; n < c; n++) {
113
114
  const [l, i] = s[n];
114
- fe(i, Oe(o, l), r, t);
115
+ ge(i, Oe(o, l), r, t);
115
116
  }
116
117
  }, Oe = (e, o) => {
117
118
  let r = e;
@@ -119,10 +120,10 @@ const tr = (e, o) => {
119
120
  for (let c = 0; c < s; c++) {
120
121
  const n = t[c];
121
122
  let l = r.nextPart.get(n);
122
- l || (l = Pe(), r.nextPart.set(n, l)), r = l;
123
+ l || (l = Ee(), r.nextPart.set(n, l)), r = l;
123
124
  }
124
125
  return r;
125
- }, pr = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, fr = (e) => {
126
+ }, br = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, hr = (e) => {
126
127
  if (e < 1)
127
128
  return {
128
129
  get: () => {
@@ -146,50 +147,50 @@ const tr = (e, o) => {
146
147
  c in r ? r[c] = n : s(c, n);
147
148
  }
148
149
  };
149
- }, me = "!", Ce = ":", gr = [], ze = (e, o, r, t, s) => ({
150
+ }, me = "!", Ce = ":", xr = [], ze = (e, o, r, t, s) => ({
150
151
  modifiers: e,
151
152
  hasImportantModifier: o,
152
153
  baseClassName: r,
153
154
  maybePostfixModifierPosition: t,
154
155
  isExternal: s
155
- }), br = (e) => {
156
+ }), yr = (e) => {
156
157
  const {
157
158
  prefix: o,
158
159
  experimentalParseClassName: r
159
160
  } = e;
160
161
  let t = (s) => {
161
162
  const c = [];
162
- let n = 0, l = 0, i = 0, u;
163
- const f = s.length;
164
- for (let v = 0; v < f; v++) {
165
- const A = s[v];
163
+ let n = 0, l = 0, i = 0, p;
164
+ const g = s.length;
165
+ for (let v = 0; v < g; v++) {
166
+ const w = s[v];
166
167
  if (n === 0 && l === 0) {
167
- if (A === Ce) {
168
+ if (w === Ce) {
168
169
  c.push(s.slice(i, v)), i = v + 1;
169
170
  continue;
170
171
  }
171
- if (A === "/") {
172
- u = v;
172
+ if (w === "/") {
173
+ p = v;
173
174
  continue;
174
175
  }
175
176
  }
176
- A === "[" ? n++ : A === "]" ? n-- : A === "(" ? l++ : A === ")" && l--;
177
+ w === "[" ? n++ : w === "]" ? n-- : w === "(" ? l++ : w === ")" && l--;
177
178
  }
178
179
  const k = c.length === 0 ? s : s.slice(i);
179
- let x = k, N = !1;
180
- k.endsWith(me) ? (x = k.slice(0, -1), N = !0) : (
180
+ let N = k, C = !1;
181
+ k.endsWith(me) ? (N = k.slice(0, -1), C = !0) : (
181
182
  /**
182
183
  * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.
183
184
  * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864
184
185
  */
185
- k.startsWith(me) && (x = k.slice(1), N = !0)
186
+ k.startsWith(me) && (N = k.slice(1), C = !0)
186
187
  );
187
- const y = u && u > i ? u - i : void 0;
188
- return ze(c, N, x, y);
188
+ const h = p && p > i ? p - i : void 0;
189
+ return ze(c, C, N, h);
189
190
  };
190
191
  if (o) {
191
192
  const s = o + Ce, c = t;
192
- t = (n) => n.startsWith(s) ? c(n.slice(s.length)) : ze(gr, !1, n, void 0, !0);
193
+ t = (n) => n.startsWith(s) ? c(n.slice(s.length)) : ze(xr, !1, n, void 0, !0);
193
194
  }
194
195
  if (r) {
195
196
  const s = t;
@@ -199,7 +200,7 @@ const tr = (e, o) => {
199
200
  });
200
201
  }
201
202
  return t;
202
- }, hr = (e) => {
203
+ }, wr = (e) => {
203
204
  const o = /* @__PURE__ */ new Map();
204
205
  return e.orderSensitiveModifiers.forEach((r, t) => {
205
206
  o.set(r, 1e6 + t);
@@ -212,56 +213,56 @@ const tr = (e, o) => {
212
213
  }
213
214
  return s.length > 0 && (s.sort(), t.push(...s)), t;
214
215
  };
215
- }, xr = (e) => ({
216
- cache: fr(e.cacheSize),
217
- parseClassName: br(e),
218
- sortModifiers: hr(e),
219
- ...nr(e)
220
- }), yr = /\s+/, wr = (e, o) => {
216
+ }, vr = (e) => ({
217
+ cache: hr(e.cacheSize),
218
+ parseClassName: yr(e),
219
+ sortModifiers: wr(e),
220
+ ...ir(e)
221
+ }), kr = /\s+/, Nr = (e, o) => {
221
222
  const {
222
223
  parseClassName: r,
223
224
  getClassGroupId: t,
224
225
  getConflictingClassGroupIds: s,
225
226
  sortModifiers: c
226
- } = o, n = [], l = e.trim().split(yr);
227
+ } = o, n = [], l = e.trim().split(kr);
227
228
  let i = "";
228
- for (let u = l.length - 1; u >= 0; u -= 1) {
229
- const f = l[u], {
229
+ for (let p = l.length - 1; p >= 0; p -= 1) {
230
+ const g = l[p], {
230
231
  isExternal: k,
231
- modifiers: x,
232
- hasImportantModifier: N,
233
- baseClassName: y,
232
+ modifiers: N,
233
+ hasImportantModifier: C,
234
+ baseClassName: h,
234
235
  maybePostfixModifierPosition: v
235
- } = r(f);
236
+ } = r(g);
236
237
  if (k) {
237
- i = f + (i.length > 0 ? " " + i : i);
238
+ i = g + (i.length > 0 ? " " + i : i);
238
239
  continue;
239
240
  }
240
- let A = !!v, T = t(A ? y.substring(0, v) : y);
241
+ let w = !!v, T = t(w ? h.substring(0, v) : h);
241
242
  if (!T) {
242
- if (!A) {
243
- i = f + (i.length > 0 ? " " + i : i);
243
+ if (!w) {
244
+ i = g + (i.length > 0 ? " " + i : i);
244
245
  continue;
245
246
  }
246
- if (T = t(y), !T) {
247
- i = f + (i.length > 0 ? " " + i : i);
247
+ if (T = t(h), !T) {
248
+ i = g + (i.length > 0 ? " " + i : i);
248
249
  continue;
249
250
  }
250
- A = !1;
251
+ w = !1;
251
252
  }
252
- const Y = x.length === 0 ? "" : x.length === 1 ? x[0] : c(x).join(":"), D = N ? Y + me : Y, F = D + T;
253
- if (n.indexOf(F) > -1)
253
+ const Y = N.length === 0 ? "" : N.length === 1 ? N[0] : c(N).join(":"), U = C ? Y + me : Y, B = U + T;
254
+ if (n.indexOf(B) > -1)
254
255
  continue;
255
- n.push(F);
256
- const B = s(T, A);
257
- for (let O = 0; O < B.length; ++O) {
258
- const U = B[O];
259
- n.push(D + U);
256
+ n.push(B);
257
+ const F = s(T, w);
258
+ for (let O = 0; O < F.length; ++O) {
259
+ const $ = F[O];
260
+ n.push(U + $);
260
261
  }
261
- i = f + (i.length > 0 ? " " + i : i);
262
+ i = g + (i.length > 0 ? " " + i : i);
262
263
  }
263
264
  return i;
264
- }, vr = (...e) => {
265
+ }, Cr = (...e) => {
265
266
  let o = 0, r, t, s = "";
266
267
  for (; o < e.length; )
267
268
  (r = e[o++]) && (t = Ge(r)) && (s && (s += " "), s += t);
@@ -273,35 +274,35 @@ const tr = (e, o) => {
273
274
  for (let t = 0; t < e.length; t++)
274
275
  e[t] && (o = Ge(e[t])) && (r && (r += " "), r += o);
275
276
  return r;
276
- }, kr = (e, ...o) => {
277
+ }, zr = (e, ...o) => {
277
278
  let r, t, s, c;
278
279
  const n = (i) => {
279
- const u = o.reduce((f, k) => k(f), e());
280
- return r = xr(u), t = r.cache.get, s = r.cache.set, c = l, l(i);
280
+ const p = o.reduce((g, k) => k(g), e());
281
+ return r = vr(p), t = r.cache.get, s = r.cache.set, c = l, l(i);
281
282
  }, l = (i) => {
282
- const u = t(i);
283
- if (u)
284
- return u;
285
- const f = wr(i, r);
286
- return s(i, f), f;
283
+ const p = t(i);
284
+ if (p)
285
+ return p;
286
+ const g = Nr(i, r);
287
+ return s(i, g), g;
287
288
  };
288
- return c = n, (...i) => c(vr(...i));
289
- }, Nr = [], C = (e) => {
290
- const o = (r) => r[e] || Nr;
289
+ return c = n, (...i) => c(Cr(...i));
290
+ }, Ir = [], z = (e) => {
291
+ const o = (r) => r[e] || Ir;
291
292
  return o.isThemeGetter = !0, o;
292
- }, je = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Fe = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Cr = /^\d+\/\d+$/, zr = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Ir = /\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$/, Ar = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Sr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Rr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, V = (e) => Cr.test(e), b = (e) => !!e && !Number.isNaN(Number(e)), P = (e) => !!e && Number.isInteger(Number(e)), ie = (e) => e.endsWith("%") && b(e.slice(0, -1)), E = (e) => zr.test(e), Mr = () => !0, Er = (e) => (
293
+ }, je = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Be = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Rr = /^\d+\/\d+$/, Ar = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Sr = /\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$/, Mr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Pr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Er = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, V = (e) => Rr.test(e), b = (e) => !!e && !Number.isNaN(Number(e)), E = (e) => !!e && Number.isInteger(Number(e)), ie = (e) => e.endsWith("%") && b(e.slice(0, -1)), P = (e) => Ar.test(e), Tr = () => !0, Or = (e) => (
293
294
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
294
295
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
295
296
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
296
- Ir.test(e) && !Ar.test(e)
297
- ), Be = () => !1, Pr = (e) => Sr.test(e), Tr = (e) => Rr.test(e), Or = (e) => !d(e) && !m(e), Gr = (e) => _(e, _e, Be), d = (e) => je.test(e), j = (e) => _(e, We, Er), ce = (e) => _(e, Vr, b), Ie = (e) => _(e, Le, Be), jr = (e) => _(e, Ve, Tr), Z = (e) => _(e, De, Pr), m = (e) => Fe.test(e), $ = (e) => W(e, We), Fr = (e) => W(e, _r), Ae = (e) => W(e, Le), Br = (e) => W(e, _e), Lr = (e) => W(e, Ve), ee = (e) => W(e, De, !0), _ = (e, o, r) => {
297
+ Sr.test(e) && !Mr.test(e)
298
+ ), Fe = () => !1, Gr = (e) => Pr.test(e), jr = (e) => Er.test(e), Br = (e) => !d(e) && !m(e), Fr = (e) => W(e, _e, Fe), d = (e) => je.test(e), j = (e) => W(e, We, Or), ce = (e) => W(e, Dr, b), Ie = (e) => W(e, Le, Fe), Lr = (e) => W(e, Ve, jr), Z = (e) => W(e, De, Gr), m = (e) => Be.test(e), X = (e) => D(e, We), Vr = (e) => D(e, Ur), Re = (e) => D(e, Le), _r = (e) => D(e, _e), Wr = (e) => D(e, Ve), ee = (e) => D(e, De, !0), W = (e, o, r) => {
298
299
  const t = je.exec(e);
299
300
  return t ? t[1] ? o(t[1]) : r(t[2]) : !1;
300
- }, W = (e, o, r = !1) => {
301
- const t = Fe.exec(e);
301
+ }, D = (e, o, r = !1) => {
302
+ const t = Be.exec(e);
302
303
  return t ? t[1] ? o(t[1]) : r : !1;
303
- }, Le = (e) => e === "position" || e === "percentage", Ve = (e) => e === "image" || e === "url", _e = (e) => e === "length" || e === "size" || e === "bg-size", We = (e) => e === "length", Vr = (e) => e === "number", _r = (e) => e === "family-name", De = (e) => e === "shadow", Wr = () => {
304
- const e = C("color"), o = C("font"), r = C("text"), t = C("font-weight"), s = C("tracking"), c = C("leading"), n = C("breakpoint"), l = C("container"), i = C("spacing"), u = C("radius"), f = C("shadow"), k = C("inset-shadow"), x = C("text-shadow"), N = C("drop-shadow"), y = C("blur"), v = C("perspective"), A = C("aspect"), T = C("ease"), Y = C("animate"), D = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], F = () => [
304
+ }, Le = (e) => e === "position" || e === "percentage", Ve = (e) => e === "image" || e === "url", _e = (e) => e === "length" || e === "size" || e === "bg-size", We = (e) => e === "length", Dr = (e) => e === "number", Ur = (e) => e === "family-name", De = (e) => e === "shadow", $r = () => {
305
+ const e = z("color"), o = z("font"), r = z("text"), t = z("font-weight"), s = z("tracking"), c = z("leading"), n = z("breakpoint"), l = z("container"), i = z("spacing"), p = z("radius"), g = z("shadow"), k = z("inset-shadow"), N = z("text-shadow"), C = z("drop-shadow"), h = z("blur"), v = z("perspective"), w = z("aspect"), T = z("ease"), Y = z("animate"), U = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], B = () => [
305
306
  "center",
306
307
  "top",
307
308
  "bottom",
@@ -319,51 +320,51 @@ const tr = (e, o) => {
319
320
  "bottom-left",
320
321
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
321
322
  "left-bottom"
322
- ], B = () => [...F(), m, d], O = () => ["auto", "hidden", "clip", "visible", "scroll"], U = () => ["auto", "contain", "none"], g = () => [m, d, i], R = () => [V, "full", "auto", ...g()], ge = () => [P, "none", "subgrid", m, d], be = () => ["auto", {
323
- span: ["full", P, m, d]
324
- }, P, m, d], q = () => [P, "auto", m, d], he = () => ["auto", "min", "max", "fr", m, d], ne = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], L = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], M = () => ["auto", ...g()], G = () => [V, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...g()], p = () => [e, m, d], xe = () => [...F(), Ae, Ie, {
323
+ ], F = () => [...B(), m, d], O = () => ["auto", "hidden", "clip", "visible", "scroll"], $ = () => ["auto", "contain", "none"], f = () => [m, d, i], S = () => [V, "full", "auto", ...f()], fe = () => [E, "none", "subgrid", m, d], be = () => ["auto", {
324
+ span: ["full", E, m, d]
325
+ }, E, m, d], q = () => [E, "auto", m, d], he = () => ["auto", "min", "max", "fr", m, d], ne = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], L = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], M = () => ["auto", ...f()], G = () => [V, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...f()], u = () => [e, m, d], xe = () => [...B(), Re, Ie, {
325
326
  position: [m, d]
326
327
  }], ye = () => ["no-repeat", {
327
328
  repeat: ["", "x", "y", "space", "round"]
328
- }], we = () => ["auto", "cover", "contain", Br, Gr, {
329
+ }], we = () => ["auto", "cover", "contain", _r, Fr, {
329
330
  size: [m, d]
330
- }], ae = () => [ie, $, j], I = () => [
331
+ }], ae = () => [ie, X, j], R = () => [
331
332
  // Deprecated since Tailwind CSS v4.0.0
332
333
  "",
333
334
  "none",
334
335
  "full",
335
- u,
336
+ p,
336
337
  m,
337
338
  d
338
- ], S = () => ["", b, $, j], J = () => ["solid", "dashed", "dotted", "double"], ve = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], z = () => [b, ie, Ae, Ie], ke = () => [
339
+ ], A = () => ["", b, X, j], J = () => ["solid", "dashed", "dotted", "double"], ve = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], I = () => [b, ie, Re, Ie], ke = () => [
339
340
  // Deprecated since Tailwind CSS v4.0.0
340
341
  "",
341
342
  "none",
342
- y,
343
+ h,
343
344
  m,
344
345
  d
345
- ], H = () => ["none", b, m, d], K = () => ["none", b, m, d], le = () => [b, m, d], Q = () => [V, "full", ...g()];
346
+ ], H = () => ["none", b, m, d], K = () => ["none", b, m, d], le = () => [b, m, d], Q = () => [V, "full", ...f()];
346
347
  return {
347
348
  cacheSize: 500,
348
349
  theme: {
349
350
  animate: ["spin", "ping", "pulse", "bounce"],
350
351
  aspect: ["video"],
351
- blur: [E],
352
- breakpoint: [E],
353
- color: [Mr],
354
- container: [E],
355
- "drop-shadow": [E],
352
+ blur: [P],
353
+ breakpoint: [P],
354
+ color: [Tr],
355
+ container: [P],
356
+ "drop-shadow": [P],
356
357
  ease: ["in", "out", "in-out"],
357
- font: [Or],
358
+ font: [Br],
358
359
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
359
- "inset-shadow": [E],
360
+ "inset-shadow": [P],
360
361
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
361
362
  perspective: ["dramatic", "near", "normal", "midrange", "distant", "none"],
362
- radius: [E],
363
- shadow: [E],
363
+ radius: [P],
364
+ shadow: [P],
364
365
  spacing: ["px", b],
365
- text: [E],
366
- "text-shadow": [E],
366
+ text: [P],
367
+ "text-shadow": [P],
367
368
  tracking: ["tighter", "tight", "normal", "wide", "wider", "widest"]
368
369
  },
369
370
  classGroups: {
@@ -375,7 +376,7 @@ const tr = (e, o) => {
375
376
  * @see https://tailwindcss.com/docs/aspect-ratio
376
377
  */
377
378
  aspect: [{
378
- aspect: ["auto", "square", V, d, m, A]
379
+ aspect: ["auto", "square", V, d, m, w]
379
380
  }],
380
381
  /**
381
382
  * Container
@@ -395,14 +396,14 @@ const tr = (e, o) => {
395
396
  * @see https://tailwindcss.com/docs/break-after
396
397
  */
397
398
  "break-after": [{
398
- "break-after": D()
399
+ "break-after": U()
399
400
  }],
400
401
  /**
401
402
  * Break Before
402
403
  * @see https://tailwindcss.com/docs/break-before
403
404
  */
404
405
  "break-before": [{
405
- "break-before": D()
406
+ "break-before": U()
406
407
  }],
407
408
  /**
408
409
  * Break Inside
@@ -466,7 +467,7 @@ const tr = (e, o) => {
466
467
  * @see https://tailwindcss.com/docs/object-position
467
468
  */
468
469
  "object-position": [{
469
- object: B()
470
+ object: F()
470
471
  }],
471
472
  /**
472
473
  * Overflow
@@ -494,21 +495,21 @@ const tr = (e, o) => {
494
495
  * @see https://tailwindcss.com/docs/overscroll-behavior
495
496
  */
496
497
  overscroll: [{
497
- overscroll: U()
498
+ overscroll: $()
498
499
  }],
499
500
  /**
500
501
  * Overscroll Behavior X
501
502
  * @see https://tailwindcss.com/docs/overscroll-behavior
502
503
  */
503
504
  "overscroll-x": [{
504
- "overscroll-x": U()
505
+ "overscroll-x": $()
505
506
  }],
506
507
  /**
507
508
  * Overscroll Behavior Y
508
509
  * @see https://tailwindcss.com/docs/overscroll-behavior
509
510
  */
510
511
  "overscroll-y": [{
511
- "overscroll-y": U()
512
+ "overscroll-y": $()
512
513
  }],
513
514
  /**
514
515
  * Position
@@ -520,63 +521,63 @@ const tr = (e, o) => {
520
521
  * @see https://tailwindcss.com/docs/top-right-bottom-left
521
522
  */
522
523
  inset: [{
523
- inset: R()
524
+ inset: S()
524
525
  }],
525
526
  /**
526
527
  * Right / Left
527
528
  * @see https://tailwindcss.com/docs/top-right-bottom-left
528
529
  */
529
530
  "inset-x": [{
530
- "inset-x": R()
531
+ "inset-x": S()
531
532
  }],
532
533
  /**
533
534
  * Top / Bottom
534
535
  * @see https://tailwindcss.com/docs/top-right-bottom-left
535
536
  */
536
537
  "inset-y": [{
537
- "inset-y": R()
538
+ "inset-y": S()
538
539
  }],
539
540
  /**
540
541
  * Start
541
542
  * @see https://tailwindcss.com/docs/top-right-bottom-left
542
543
  */
543
544
  start: [{
544
- start: R()
545
+ start: S()
545
546
  }],
546
547
  /**
547
548
  * End
548
549
  * @see https://tailwindcss.com/docs/top-right-bottom-left
549
550
  */
550
551
  end: [{
551
- end: R()
552
+ end: S()
552
553
  }],
553
554
  /**
554
555
  * Top
555
556
  * @see https://tailwindcss.com/docs/top-right-bottom-left
556
557
  */
557
558
  top: [{
558
- top: R()
559
+ top: S()
559
560
  }],
560
561
  /**
561
562
  * Right
562
563
  * @see https://tailwindcss.com/docs/top-right-bottom-left
563
564
  */
564
565
  right: [{
565
- right: R()
566
+ right: S()
566
567
  }],
567
568
  /**
568
569
  * Bottom
569
570
  * @see https://tailwindcss.com/docs/top-right-bottom-left
570
571
  */
571
572
  bottom: [{
572
- bottom: R()
573
+ bottom: S()
573
574
  }],
574
575
  /**
575
576
  * Left
576
577
  * @see https://tailwindcss.com/docs/top-right-bottom-left
577
578
  */
578
579
  left: [{
579
- left: R()
580
+ left: S()
580
581
  }],
581
582
  /**
582
583
  * Visibility
@@ -588,7 +589,7 @@ const tr = (e, o) => {
588
589
  * @see https://tailwindcss.com/docs/z-index
589
590
  */
590
591
  z: [{
591
- z: [P, "auto", m, d]
592
+ z: [E, "auto", m, d]
592
593
  }],
593
594
  // ------------------------
594
595
  // --- Flexbox and Grid ---
@@ -598,7 +599,7 @@ const tr = (e, o) => {
598
599
  * @see https://tailwindcss.com/docs/flex-basis
599
600
  */
600
601
  basis: [{
601
- basis: [V, "full", "auto", l, ...g()]
602
+ basis: [V, "full", "auto", l, ...f()]
602
603
  }],
603
604
  /**
604
605
  * Flex Direction
@@ -640,14 +641,14 @@ const tr = (e, o) => {
640
641
  * @see https://tailwindcss.com/docs/order
641
642
  */
642
643
  order: [{
643
- order: [P, "first", "last", "none", m, d]
644
+ order: [E, "first", "last", "none", m, d]
644
645
  }],
645
646
  /**
646
647
  * Grid Template Columns
647
648
  * @see https://tailwindcss.com/docs/grid-template-columns
648
649
  */
649
650
  "grid-cols": [{
650
- "grid-cols": ge()
651
+ "grid-cols": fe()
651
652
  }],
652
653
  /**
653
654
  * Grid Column Start / End
@@ -675,7 +676,7 @@ const tr = (e, o) => {
675
676
  * @see https://tailwindcss.com/docs/grid-template-rows
676
677
  */
677
678
  "grid-rows": [{
678
- "grid-rows": ge()
679
+ "grid-rows": fe()
679
680
  }],
680
681
  /**
681
682
  * Grid Row Start / End
@@ -724,21 +725,21 @@ const tr = (e, o) => {
724
725
  * @see https://tailwindcss.com/docs/gap
725
726
  */
726
727
  gap: [{
727
- gap: g()
728
+ gap: f()
728
729
  }],
729
730
  /**
730
731
  * Gap X
731
732
  * @see https://tailwindcss.com/docs/gap
732
733
  */
733
734
  "gap-x": [{
734
- "gap-x": g()
735
+ "gap-x": f()
735
736
  }],
736
737
  /**
737
738
  * Gap Y
738
739
  * @see https://tailwindcss.com/docs/gap
739
740
  */
740
741
  "gap-y": [{
741
- "gap-y": g()
742
+ "gap-y": f()
742
743
  }],
743
744
  /**
744
745
  * Justify Content
@@ -813,63 +814,63 @@ const tr = (e, o) => {
813
814
  * @see https://tailwindcss.com/docs/padding
814
815
  */
815
816
  p: [{
816
- p: g()
817
+ p: f()
817
818
  }],
818
819
  /**
819
820
  * Padding X
820
821
  * @see https://tailwindcss.com/docs/padding
821
822
  */
822
823
  px: [{
823
- px: g()
824
+ px: f()
824
825
  }],
825
826
  /**
826
827
  * Padding Y
827
828
  * @see https://tailwindcss.com/docs/padding
828
829
  */
829
830
  py: [{
830
- py: g()
831
+ py: f()
831
832
  }],
832
833
  /**
833
834
  * Padding Start
834
835
  * @see https://tailwindcss.com/docs/padding
835
836
  */
836
837
  ps: [{
837
- ps: g()
838
+ ps: f()
838
839
  }],
839
840
  /**
840
841
  * Padding End
841
842
  * @see https://tailwindcss.com/docs/padding
842
843
  */
843
844
  pe: [{
844
- pe: g()
845
+ pe: f()
845
846
  }],
846
847
  /**
847
848
  * Padding Top
848
849
  * @see https://tailwindcss.com/docs/padding
849
850
  */
850
851
  pt: [{
851
- pt: g()
852
+ pt: f()
852
853
  }],
853
854
  /**
854
855
  * Padding Right
855
856
  * @see https://tailwindcss.com/docs/padding
856
857
  */
857
858
  pr: [{
858
- pr: g()
859
+ pr: f()
859
860
  }],
860
861
  /**
861
862
  * Padding Bottom
862
863
  * @see https://tailwindcss.com/docs/padding
863
864
  */
864
865
  pb: [{
865
- pb: g()
866
+ pb: f()
866
867
  }],
867
868
  /**
868
869
  * Padding Left
869
870
  * @see https://tailwindcss.com/docs/padding
870
871
  */
871
872
  pl: [{
872
- pl: g()
873
+ pl: f()
873
874
  }],
874
875
  /**
875
876
  * Margin
@@ -939,7 +940,7 @@ const tr = (e, o) => {
939
940
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
940
941
  */
941
942
  "space-x": [{
942
- "space-x": g()
943
+ "space-x": f()
943
944
  }],
944
945
  /**
945
946
  * Space Between X Reverse
@@ -951,7 +952,7 @@ const tr = (e, o) => {
951
952
  * @see https://tailwindcss.com/docs/margin#adding-space-between-children
952
953
  */
953
954
  "space-y": [{
954
- "space-y": g()
955
+ "space-y": f()
955
956
  }],
956
957
  /**
957
958
  * Space Between Y Reverse
@@ -1035,7 +1036,7 @@ const tr = (e, o) => {
1035
1036
  * @see https://tailwindcss.com/docs/font-size
1036
1037
  */
1037
1038
  "font-size": [{
1038
- text: ["base", r, $, j]
1039
+ text: ["base", r, X, j]
1039
1040
  }],
1040
1041
  /**
1041
1042
  * Font Smoothing
@@ -1066,7 +1067,7 @@ const tr = (e, o) => {
1066
1067
  * @see https://tailwindcss.com/docs/font-family
1067
1068
  */
1068
1069
  "font-family": [{
1069
- font: [Fr, d, o]
1070
+ font: [Vr, d, o]
1070
1071
  }],
1071
1072
  /**
1072
1073
  * Font Variant Numeric
@@ -1120,7 +1121,7 @@ const tr = (e, o) => {
1120
1121
  leading: [
1121
1122
  /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
1122
1123
  c,
1123
- ...g()
1124
+ ...f()
1124
1125
  ]
1125
1126
  }],
1126
1127
  /**
@@ -1157,14 +1158,14 @@ const tr = (e, o) => {
1157
1158
  * @see https://v3.tailwindcss.com/docs/placeholder-color
1158
1159
  */
1159
1160
  "placeholder-color": [{
1160
- placeholder: p()
1161
+ placeholder: u()
1161
1162
  }],
1162
1163
  /**
1163
1164
  * Text Color
1164
1165
  * @see https://tailwindcss.com/docs/text-color
1165
1166
  */
1166
1167
  "text-color": [{
1167
- text: p()
1168
+ text: u()
1168
1169
  }],
1169
1170
  /**
1170
1171
  * Text Decoration
@@ -1190,7 +1191,7 @@ const tr = (e, o) => {
1190
1191
  * @see https://tailwindcss.com/docs/text-decoration-color
1191
1192
  */
1192
1193
  "text-decoration-color": [{
1193
- decoration: p()
1194
+ decoration: u()
1194
1195
  }],
1195
1196
  /**
1196
1197
  * Text Underline Offset
@@ -1221,7 +1222,7 @@ const tr = (e, o) => {
1221
1222
  * @see https://tailwindcss.com/docs/text-indent
1222
1223
  */
1223
1224
  indent: [{
1224
- indent: g()
1225
+ indent: f()
1225
1226
  }],
1226
1227
  /**
1227
1228
  * Vertical Alignment
@@ -1318,17 +1319,17 @@ const tr = (e, o) => {
1318
1319
  bg: ["none", {
1319
1320
  linear: [{
1320
1321
  to: ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1321
- }, P, m, d],
1322
+ }, E, m, d],
1322
1323
  radial: ["", m, d],
1323
- conic: [P, m, d]
1324
- }, Lr, jr]
1324
+ conic: [E, m, d]
1325
+ }, Wr, Lr]
1325
1326
  }],
1326
1327
  /**
1327
1328
  * Background Color
1328
1329
  * @see https://tailwindcss.com/docs/background-color
1329
1330
  */
1330
1331
  "bg-color": [{
1331
- bg: p()
1332
+ bg: u()
1332
1333
  }],
1333
1334
  /**
1334
1335
  * Gradient Color Stops From Position
@@ -1356,21 +1357,21 @@ const tr = (e, o) => {
1356
1357
  * @see https://tailwindcss.com/docs/gradient-color-stops
1357
1358
  */
1358
1359
  "gradient-from": [{
1359
- from: p()
1360
+ from: u()
1360
1361
  }],
1361
1362
  /**
1362
1363
  * Gradient Color Stops Via
1363
1364
  * @see https://tailwindcss.com/docs/gradient-color-stops
1364
1365
  */
1365
1366
  "gradient-via": [{
1366
- via: p()
1367
+ via: u()
1367
1368
  }],
1368
1369
  /**
1369
1370
  * Gradient Color Stops To
1370
1371
  * @see https://tailwindcss.com/docs/gradient-color-stops
1371
1372
  */
1372
1373
  "gradient-to": [{
1373
- to: p()
1374
+ to: u()
1374
1375
  }],
1375
1376
  // ---------------
1376
1377
  // --- Borders ---
@@ -1380,175 +1381,175 @@ const tr = (e, o) => {
1380
1381
  * @see https://tailwindcss.com/docs/border-radius
1381
1382
  */
1382
1383
  rounded: [{
1383
- rounded: I()
1384
+ rounded: R()
1384
1385
  }],
1385
1386
  /**
1386
1387
  * Border Radius Start
1387
1388
  * @see https://tailwindcss.com/docs/border-radius
1388
1389
  */
1389
1390
  "rounded-s": [{
1390
- "rounded-s": I()
1391
+ "rounded-s": R()
1391
1392
  }],
1392
1393
  /**
1393
1394
  * Border Radius End
1394
1395
  * @see https://tailwindcss.com/docs/border-radius
1395
1396
  */
1396
1397
  "rounded-e": [{
1397
- "rounded-e": I()
1398
+ "rounded-e": R()
1398
1399
  }],
1399
1400
  /**
1400
1401
  * Border Radius Top
1401
1402
  * @see https://tailwindcss.com/docs/border-radius
1402
1403
  */
1403
1404
  "rounded-t": [{
1404
- "rounded-t": I()
1405
+ "rounded-t": R()
1405
1406
  }],
1406
1407
  /**
1407
1408
  * Border Radius Right
1408
1409
  * @see https://tailwindcss.com/docs/border-radius
1409
1410
  */
1410
1411
  "rounded-r": [{
1411
- "rounded-r": I()
1412
+ "rounded-r": R()
1412
1413
  }],
1413
1414
  /**
1414
1415
  * Border Radius Bottom
1415
1416
  * @see https://tailwindcss.com/docs/border-radius
1416
1417
  */
1417
1418
  "rounded-b": [{
1418
- "rounded-b": I()
1419
+ "rounded-b": R()
1419
1420
  }],
1420
1421
  /**
1421
1422
  * Border Radius Left
1422
1423
  * @see https://tailwindcss.com/docs/border-radius
1423
1424
  */
1424
1425
  "rounded-l": [{
1425
- "rounded-l": I()
1426
+ "rounded-l": R()
1426
1427
  }],
1427
1428
  /**
1428
1429
  * Border Radius Start Start
1429
1430
  * @see https://tailwindcss.com/docs/border-radius
1430
1431
  */
1431
1432
  "rounded-ss": [{
1432
- "rounded-ss": I()
1433
+ "rounded-ss": R()
1433
1434
  }],
1434
1435
  /**
1435
1436
  * Border Radius Start End
1436
1437
  * @see https://tailwindcss.com/docs/border-radius
1437
1438
  */
1438
1439
  "rounded-se": [{
1439
- "rounded-se": I()
1440
+ "rounded-se": R()
1440
1441
  }],
1441
1442
  /**
1442
1443
  * Border Radius End End
1443
1444
  * @see https://tailwindcss.com/docs/border-radius
1444
1445
  */
1445
1446
  "rounded-ee": [{
1446
- "rounded-ee": I()
1447
+ "rounded-ee": R()
1447
1448
  }],
1448
1449
  /**
1449
1450
  * Border Radius End Start
1450
1451
  * @see https://tailwindcss.com/docs/border-radius
1451
1452
  */
1452
1453
  "rounded-es": [{
1453
- "rounded-es": I()
1454
+ "rounded-es": R()
1454
1455
  }],
1455
1456
  /**
1456
1457
  * Border Radius Top Left
1457
1458
  * @see https://tailwindcss.com/docs/border-radius
1458
1459
  */
1459
1460
  "rounded-tl": [{
1460
- "rounded-tl": I()
1461
+ "rounded-tl": R()
1461
1462
  }],
1462
1463
  /**
1463
1464
  * Border Radius Top Right
1464
1465
  * @see https://tailwindcss.com/docs/border-radius
1465
1466
  */
1466
1467
  "rounded-tr": [{
1467
- "rounded-tr": I()
1468
+ "rounded-tr": R()
1468
1469
  }],
1469
1470
  /**
1470
1471
  * Border Radius Bottom Right
1471
1472
  * @see https://tailwindcss.com/docs/border-radius
1472
1473
  */
1473
1474
  "rounded-br": [{
1474
- "rounded-br": I()
1475
+ "rounded-br": R()
1475
1476
  }],
1476
1477
  /**
1477
1478
  * Border Radius Bottom Left
1478
1479
  * @see https://tailwindcss.com/docs/border-radius
1479
1480
  */
1480
1481
  "rounded-bl": [{
1481
- "rounded-bl": I()
1482
+ "rounded-bl": R()
1482
1483
  }],
1483
1484
  /**
1484
1485
  * Border Width
1485
1486
  * @see https://tailwindcss.com/docs/border-width
1486
1487
  */
1487
1488
  "border-w": [{
1488
- border: S()
1489
+ border: A()
1489
1490
  }],
1490
1491
  /**
1491
1492
  * Border Width X
1492
1493
  * @see https://tailwindcss.com/docs/border-width
1493
1494
  */
1494
1495
  "border-w-x": [{
1495
- "border-x": S()
1496
+ "border-x": A()
1496
1497
  }],
1497
1498
  /**
1498
1499
  * Border Width Y
1499
1500
  * @see https://tailwindcss.com/docs/border-width
1500
1501
  */
1501
1502
  "border-w-y": [{
1502
- "border-y": S()
1503
+ "border-y": A()
1503
1504
  }],
1504
1505
  /**
1505
1506
  * Border Width Start
1506
1507
  * @see https://tailwindcss.com/docs/border-width
1507
1508
  */
1508
1509
  "border-w-s": [{
1509
- "border-s": S()
1510
+ "border-s": A()
1510
1511
  }],
1511
1512
  /**
1512
1513
  * Border Width End
1513
1514
  * @see https://tailwindcss.com/docs/border-width
1514
1515
  */
1515
1516
  "border-w-e": [{
1516
- "border-e": S()
1517
+ "border-e": A()
1517
1518
  }],
1518
1519
  /**
1519
1520
  * Border Width Top
1520
1521
  * @see https://tailwindcss.com/docs/border-width
1521
1522
  */
1522
1523
  "border-w-t": [{
1523
- "border-t": S()
1524
+ "border-t": A()
1524
1525
  }],
1525
1526
  /**
1526
1527
  * Border Width Right
1527
1528
  * @see https://tailwindcss.com/docs/border-width
1528
1529
  */
1529
1530
  "border-w-r": [{
1530
- "border-r": S()
1531
+ "border-r": A()
1531
1532
  }],
1532
1533
  /**
1533
1534
  * Border Width Bottom
1534
1535
  * @see https://tailwindcss.com/docs/border-width
1535
1536
  */
1536
1537
  "border-w-b": [{
1537
- "border-b": S()
1538
+ "border-b": A()
1538
1539
  }],
1539
1540
  /**
1540
1541
  * Border Width Left
1541
1542
  * @see https://tailwindcss.com/docs/border-width
1542
1543
  */
1543
1544
  "border-w-l": [{
1544
- "border-l": S()
1545
+ "border-l": A()
1545
1546
  }],
1546
1547
  /**
1547
1548
  * Divide Width X
1548
1549
  * @see https://tailwindcss.com/docs/border-width#between-children
1549
1550
  */
1550
1551
  "divide-x": [{
1551
- "divide-x": S()
1552
+ "divide-x": A()
1552
1553
  }],
1553
1554
  /**
1554
1555
  * Divide Width X Reverse
@@ -1560,7 +1561,7 @@ const tr = (e, o) => {
1560
1561
  * @see https://tailwindcss.com/docs/border-width#between-children
1561
1562
  */
1562
1563
  "divide-y": [{
1563
- "divide-y": S()
1564
+ "divide-y": A()
1564
1565
  }],
1565
1566
  /**
1566
1567
  * Divide Width Y Reverse
@@ -1586,70 +1587,70 @@ const tr = (e, o) => {
1586
1587
  * @see https://tailwindcss.com/docs/border-color
1587
1588
  */
1588
1589
  "border-color": [{
1589
- border: p()
1590
+ border: u()
1590
1591
  }],
1591
1592
  /**
1592
1593
  * Border Color X
1593
1594
  * @see https://tailwindcss.com/docs/border-color
1594
1595
  */
1595
1596
  "border-color-x": [{
1596
- "border-x": p()
1597
+ "border-x": u()
1597
1598
  }],
1598
1599
  /**
1599
1600
  * Border Color Y
1600
1601
  * @see https://tailwindcss.com/docs/border-color
1601
1602
  */
1602
1603
  "border-color-y": [{
1603
- "border-y": p()
1604
+ "border-y": u()
1604
1605
  }],
1605
1606
  /**
1606
1607
  * Border Color S
1607
1608
  * @see https://tailwindcss.com/docs/border-color
1608
1609
  */
1609
1610
  "border-color-s": [{
1610
- "border-s": p()
1611
+ "border-s": u()
1611
1612
  }],
1612
1613
  /**
1613
1614
  * Border Color E
1614
1615
  * @see https://tailwindcss.com/docs/border-color
1615
1616
  */
1616
1617
  "border-color-e": [{
1617
- "border-e": p()
1618
+ "border-e": u()
1618
1619
  }],
1619
1620
  /**
1620
1621
  * Border Color Top
1621
1622
  * @see https://tailwindcss.com/docs/border-color
1622
1623
  */
1623
1624
  "border-color-t": [{
1624
- "border-t": p()
1625
+ "border-t": u()
1625
1626
  }],
1626
1627
  /**
1627
1628
  * Border Color Right
1628
1629
  * @see https://tailwindcss.com/docs/border-color
1629
1630
  */
1630
1631
  "border-color-r": [{
1631
- "border-r": p()
1632
+ "border-r": u()
1632
1633
  }],
1633
1634
  /**
1634
1635
  * Border Color Bottom
1635
1636
  * @see https://tailwindcss.com/docs/border-color
1636
1637
  */
1637
1638
  "border-color-b": [{
1638
- "border-b": p()
1639
+ "border-b": u()
1639
1640
  }],
1640
1641
  /**
1641
1642
  * Border Color Left
1642
1643
  * @see https://tailwindcss.com/docs/border-color
1643
1644
  */
1644
1645
  "border-color-l": [{
1645
- "border-l": p()
1646
+ "border-l": u()
1646
1647
  }],
1647
1648
  /**
1648
1649
  * Divide Color
1649
1650
  * @see https://tailwindcss.com/docs/divide-color
1650
1651
  */
1651
1652
  "divide-color": [{
1652
- divide: p()
1653
+ divide: u()
1653
1654
  }],
1654
1655
  /**
1655
1656
  * Outline Style
@@ -1670,14 +1671,14 @@ const tr = (e, o) => {
1670
1671
  * @see https://tailwindcss.com/docs/outline-width
1671
1672
  */
1672
1673
  "outline-w": [{
1673
- outline: ["", b, $, j]
1674
+ outline: ["", b, X, j]
1674
1675
  }],
1675
1676
  /**
1676
1677
  * Outline Color
1677
1678
  * @see https://tailwindcss.com/docs/outline-color
1678
1679
  */
1679
1680
  "outline-color": [{
1680
- outline: p()
1681
+ outline: u()
1681
1682
  }],
1682
1683
  // ---------------
1683
1684
  // --- Effects ---
@@ -1691,7 +1692,7 @@ const tr = (e, o) => {
1691
1692
  // Deprecated since Tailwind CSS v4.0.0
1692
1693
  "",
1693
1694
  "none",
1694
- f,
1695
+ g,
1695
1696
  ee,
1696
1697
  Z
1697
1698
  ]
@@ -1701,7 +1702,7 @@ const tr = (e, o) => {
1701
1702
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color
1702
1703
  */
1703
1704
  "shadow-color": [{
1704
- shadow: p()
1705
+ shadow: u()
1705
1706
  }],
1706
1707
  /**
1707
1708
  * Inset Box Shadow
@@ -1715,14 +1716,14 @@ const tr = (e, o) => {
1715
1716
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color
1716
1717
  */
1717
1718
  "inset-shadow-color": [{
1718
- "inset-shadow": p()
1719
+ "inset-shadow": u()
1719
1720
  }],
1720
1721
  /**
1721
1722
  * Ring Width
1722
1723
  * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring
1723
1724
  */
1724
1725
  "ring-w": [{
1725
- ring: S()
1726
+ ring: A()
1726
1727
  }],
1727
1728
  /**
1728
1729
  * Ring Width Inset
@@ -1736,7 +1737,7 @@ const tr = (e, o) => {
1736
1737
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color
1737
1738
  */
1738
1739
  "ring-color": [{
1739
- ring: p()
1740
+ ring: u()
1740
1741
  }],
1741
1742
  /**
1742
1743
  * Ring Offset Width
@@ -1754,35 +1755,35 @@ const tr = (e, o) => {
1754
1755
  * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158
1755
1756
  */
1756
1757
  "ring-offset-color": [{
1757
- "ring-offset": p()
1758
+ "ring-offset": u()
1758
1759
  }],
1759
1760
  /**
1760
1761
  * Inset Ring Width
1761
1762
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring
1762
1763
  */
1763
1764
  "inset-ring-w": [{
1764
- "inset-ring": S()
1765
+ "inset-ring": A()
1765
1766
  }],
1766
1767
  /**
1767
1768
  * Inset Ring Color
1768
1769
  * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color
1769
1770
  */
1770
1771
  "inset-ring-color": [{
1771
- "inset-ring": p()
1772
+ "inset-ring": u()
1772
1773
  }],
1773
1774
  /**
1774
1775
  * Text Shadow
1775
1776
  * @see https://tailwindcss.com/docs/text-shadow
1776
1777
  */
1777
1778
  "text-shadow": [{
1778
- "text-shadow": ["none", x, ee, Z]
1779
+ "text-shadow": ["none", N, ee, Z]
1779
1780
  }],
1780
1781
  /**
1781
1782
  * Text Shadow Color
1782
1783
  * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color
1783
1784
  */
1784
1785
  "text-shadow-color": [{
1785
- "text-shadow": p()
1786
+ "text-shadow": u()
1786
1787
  }],
1787
1788
  /**
1788
1789
  * Opacity
@@ -1827,103 +1828,103 @@ const tr = (e, o) => {
1827
1828
  "mask-linear": [b]
1828
1829
  }],
1829
1830
  "mask-image-linear-from-pos": [{
1830
- "mask-linear-from": z()
1831
+ "mask-linear-from": I()
1831
1832
  }],
1832
1833
  "mask-image-linear-to-pos": [{
1833
- "mask-linear-to": z()
1834
+ "mask-linear-to": I()
1834
1835
  }],
1835
1836
  "mask-image-linear-from-color": [{
1836
- "mask-linear-from": p()
1837
+ "mask-linear-from": u()
1837
1838
  }],
1838
1839
  "mask-image-linear-to-color": [{
1839
- "mask-linear-to": p()
1840
+ "mask-linear-to": u()
1840
1841
  }],
1841
1842
  "mask-image-t-from-pos": [{
1842
- "mask-t-from": z()
1843
+ "mask-t-from": I()
1843
1844
  }],
1844
1845
  "mask-image-t-to-pos": [{
1845
- "mask-t-to": z()
1846
+ "mask-t-to": I()
1846
1847
  }],
1847
1848
  "mask-image-t-from-color": [{
1848
- "mask-t-from": p()
1849
+ "mask-t-from": u()
1849
1850
  }],
1850
1851
  "mask-image-t-to-color": [{
1851
- "mask-t-to": p()
1852
+ "mask-t-to": u()
1852
1853
  }],
1853
1854
  "mask-image-r-from-pos": [{
1854
- "mask-r-from": z()
1855
+ "mask-r-from": I()
1855
1856
  }],
1856
1857
  "mask-image-r-to-pos": [{
1857
- "mask-r-to": z()
1858
+ "mask-r-to": I()
1858
1859
  }],
1859
1860
  "mask-image-r-from-color": [{
1860
- "mask-r-from": p()
1861
+ "mask-r-from": u()
1861
1862
  }],
1862
1863
  "mask-image-r-to-color": [{
1863
- "mask-r-to": p()
1864
+ "mask-r-to": u()
1864
1865
  }],
1865
1866
  "mask-image-b-from-pos": [{
1866
- "mask-b-from": z()
1867
+ "mask-b-from": I()
1867
1868
  }],
1868
1869
  "mask-image-b-to-pos": [{
1869
- "mask-b-to": z()
1870
+ "mask-b-to": I()
1870
1871
  }],
1871
1872
  "mask-image-b-from-color": [{
1872
- "mask-b-from": p()
1873
+ "mask-b-from": u()
1873
1874
  }],
1874
1875
  "mask-image-b-to-color": [{
1875
- "mask-b-to": p()
1876
+ "mask-b-to": u()
1876
1877
  }],
1877
1878
  "mask-image-l-from-pos": [{
1878
- "mask-l-from": z()
1879
+ "mask-l-from": I()
1879
1880
  }],
1880
1881
  "mask-image-l-to-pos": [{
1881
- "mask-l-to": z()
1882
+ "mask-l-to": I()
1882
1883
  }],
1883
1884
  "mask-image-l-from-color": [{
1884
- "mask-l-from": p()
1885
+ "mask-l-from": u()
1885
1886
  }],
1886
1887
  "mask-image-l-to-color": [{
1887
- "mask-l-to": p()
1888
+ "mask-l-to": u()
1888
1889
  }],
1889
1890
  "mask-image-x-from-pos": [{
1890
- "mask-x-from": z()
1891
+ "mask-x-from": I()
1891
1892
  }],
1892
1893
  "mask-image-x-to-pos": [{
1893
- "mask-x-to": z()
1894
+ "mask-x-to": I()
1894
1895
  }],
1895
1896
  "mask-image-x-from-color": [{
1896
- "mask-x-from": p()
1897
+ "mask-x-from": u()
1897
1898
  }],
1898
1899
  "mask-image-x-to-color": [{
1899
- "mask-x-to": p()
1900
+ "mask-x-to": u()
1900
1901
  }],
1901
1902
  "mask-image-y-from-pos": [{
1902
- "mask-y-from": z()
1903
+ "mask-y-from": I()
1903
1904
  }],
1904
1905
  "mask-image-y-to-pos": [{
1905
- "mask-y-to": z()
1906
+ "mask-y-to": I()
1906
1907
  }],
1907
1908
  "mask-image-y-from-color": [{
1908
- "mask-y-from": p()
1909
+ "mask-y-from": u()
1909
1910
  }],
1910
1911
  "mask-image-y-to-color": [{
1911
- "mask-y-to": p()
1912
+ "mask-y-to": u()
1912
1913
  }],
1913
1914
  "mask-image-radial": [{
1914
1915
  "mask-radial": [m, d]
1915
1916
  }],
1916
1917
  "mask-image-radial-from-pos": [{
1917
- "mask-radial-from": z()
1918
+ "mask-radial-from": I()
1918
1919
  }],
1919
1920
  "mask-image-radial-to-pos": [{
1920
- "mask-radial-to": z()
1921
+ "mask-radial-to": I()
1921
1922
  }],
1922
1923
  "mask-image-radial-from-color": [{
1923
- "mask-radial-from": p()
1924
+ "mask-radial-from": u()
1924
1925
  }],
1925
1926
  "mask-image-radial-to-color": [{
1926
- "mask-radial-to": p()
1927
+ "mask-radial-to": u()
1927
1928
  }],
1928
1929
  "mask-image-radial-shape": [{
1929
1930
  "mask-radial": ["circle", "ellipse"]
@@ -1935,22 +1936,22 @@ const tr = (e, o) => {
1935
1936
  }]
1936
1937
  }],
1937
1938
  "mask-image-radial-pos": [{
1938
- "mask-radial-at": F()
1939
+ "mask-radial-at": B()
1939
1940
  }],
1940
1941
  "mask-image-conic-pos": [{
1941
1942
  "mask-conic": [b]
1942
1943
  }],
1943
1944
  "mask-image-conic-from-pos": [{
1944
- "mask-conic-from": z()
1945
+ "mask-conic-from": I()
1945
1946
  }],
1946
1947
  "mask-image-conic-to-pos": [{
1947
- "mask-conic-to": z()
1948
+ "mask-conic-to": I()
1948
1949
  }],
1949
1950
  "mask-image-conic-from-color": [{
1950
- "mask-conic-from": p()
1951
+ "mask-conic-from": u()
1951
1952
  }],
1952
1953
  "mask-image-conic-to-color": [{
1953
- "mask-conic-to": p()
1954
+ "mask-conic-to": u()
1954
1955
  }],
1955
1956
  /**
1956
1957
  * Mask Mode
@@ -2047,7 +2048,7 @@ const tr = (e, o) => {
2047
2048
  // Deprecated since Tailwind CSS v4.0.0
2048
2049
  "",
2049
2050
  "none",
2050
- N,
2051
+ C,
2051
2052
  ee,
2052
2053
  Z
2053
2054
  ]
@@ -2057,7 +2058,7 @@ const tr = (e, o) => {
2057
2058
  * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color
2058
2059
  */
2059
2060
  "drop-shadow-color": [{
2060
- "drop-shadow": p()
2061
+ "drop-shadow": u()
2061
2062
  }],
2062
2063
  /**
2063
2064
  * Grayscale
@@ -2185,21 +2186,21 @@ const tr = (e, o) => {
2185
2186
  * @see https://tailwindcss.com/docs/border-spacing
2186
2187
  */
2187
2188
  "border-spacing": [{
2188
- "border-spacing": g()
2189
+ "border-spacing": f()
2189
2190
  }],
2190
2191
  /**
2191
2192
  * Border Spacing X
2192
2193
  * @see https://tailwindcss.com/docs/border-spacing
2193
2194
  */
2194
2195
  "border-spacing-x": [{
2195
- "border-spacing-x": g()
2196
+ "border-spacing-x": f()
2196
2197
  }],
2197
2198
  /**
2198
2199
  * Border Spacing Y
2199
2200
  * @see https://tailwindcss.com/docs/border-spacing
2200
2201
  */
2201
2202
  "border-spacing-y": [{
2202
- "border-spacing-y": g()
2203
+ "border-spacing-y": f()
2203
2204
  }],
2204
2205
  /**
2205
2206
  * Table Layout
@@ -2282,7 +2283,7 @@ const tr = (e, o) => {
2282
2283
  * @see https://tailwindcss.com/docs/perspective-origin
2283
2284
  */
2284
2285
  "perspective-origin": [{
2285
- "perspective-origin": B()
2286
+ "perspective-origin": F()
2286
2287
  }],
2287
2288
  /**
2288
2289
  * Rotate
@@ -2378,7 +2379,7 @@ const tr = (e, o) => {
2378
2379
  * @see https://tailwindcss.com/docs/transform-origin
2379
2380
  */
2380
2381
  "transform-origin": [{
2381
- origin: B()
2382
+ origin: F()
2382
2383
  }],
2383
2384
  /**
2384
2385
  * Transform Style
@@ -2428,7 +2429,7 @@ const tr = (e, o) => {
2428
2429
  * @see https://tailwindcss.com/docs/accent-color
2429
2430
  */
2430
2431
  accent: [{
2431
- accent: p()
2432
+ accent: u()
2432
2433
  }],
2433
2434
  /**
2434
2435
  * Appearance
@@ -2442,7 +2443,7 @@ const tr = (e, o) => {
2442
2443
  * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities
2443
2444
  */
2444
2445
  "caret-color": [{
2445
- caret: p()
2446
+ caret: u()
2446
2447
  }],
2447
2448
  /**
2448
2449
  * Color Scheme
@@ -2491,126 +2492,126 @@ const tr = (e, o) => {
2491
2492
  * @see https://tailwindcss.com/docs/scroll-margin
2492
2493
  */
2493
2494
  "scroll-m": [{
2494
- "scroll-m": g()
2495
+ "scroll-m": f()
2495
2496
  }],
2496
2497
  /**
2497
2498
  * Scroll Margin X
2498
2499
  * @see https://tailwindcss.com/docs/scroll-margin
2499
2500
  */
2500
2501
  "scroll-mx": [{
2501
- "scroll-mx": g()
2502
+ "scroll-mx": f()
2502
2503
  }],
2503
2504
  /**
2504
2505
  * Scroll Margin Y
2505
2506
  * @see https://tailwindcss.com/docs/scroll-margin
2506
2507
  */
2507
2508
  "scroll-my": [{
2508
- "scroll-my": g()
2509
+ "scroll-my": f()
2509
2510
  }],
2510
2511
  /**
2511
2512
  * Scroll Margin Start
2512
2513
  * @see https://tailwindcss.com/docs/scroll-margin
2513
2514
  */
2514
2515
  "scroll-ms": [{
2515
- "scroll-ms": g()
2516
+ "scroll-ms": f()
2516
2517
  }],
2517
2518
  /**
2518
2519
  * Scroll Margin End
2519
2520
  * @see https://tailwindcss.com/docs/scroll-margin
2520
2521
  */
2521
2522
  "scroll-me": [{
2522
- "scroll-me": g()
2523
+ "scroll-me": f()
2523
2524
  }],
2524
2525
  /**
2525
2526
  * Scroll Margin Top
2526
2527
  * @see https://tailwindcss.com/docs/scroll-margin
2527
2528
  */
2528
2529
  "scroll-mt": [{
2529
- "scroll-mt": g()
2530
+ "scroll-mt": f()
2530
2531
  }],
2531
2532
  /**
2532
2533
  * Scroll Margin Right
2533
2534
  * @see https://tailwindcss.com/docs/scroll-margin
2534
2535
  */
2535
2536
  "scroll-mr": [{
2536
- "scroll-mr": g()
2537
+ "scroll-mr": f()
2537
2538
  }],
2538
2539
  /**
2539
2540
  * Scroll Margin Bottom
2540
2541
  * @see https://tailwindcss.com/docs/scroll-margin
2541
2542
  */
2542
2543
  "scroll-mb": [{
2543
- "scroll-mb": g()
2544
+ "scroll-mb": f()
2544
2545
  }],
2545
2546
  /**
2546
2547
  * Scroll Margin Left
2547
2548
  * @see https://tailwindcss.com/docs/scroll-margin
2548
2549
  */
2549
2550
  "scroll-ml": [{
2550
- "scroll-ml": g()
2551
+ "scroll-ml": f()
2551
2552
  }],
2552
2553
  /**
2553
2554
  * Scroll Padding
2554
2555
  * @see https://tailwindcss.com/docs/scroll-padding
2555
2556
  */
2556
2557
  "scroll-p": [{
2557
- "scroll-p": g()
2558
+ "scroll-p": f()
2558
2559
  }],
2559
2560
  /**
2560
2561
  * Scroll Padding X
2561
2562
  * @see https://tailwindcss.com/docs/scroll-padding
2562
2563
  */
2563
2564
  "scroll-px": [{
2564
- "scroll-px": g()
2565
+ "scroll-px": f()
2565
2566
  }],
2566
2567
  /**
2567
2568
  * Scroll Padding Y
2568
2569
  * @see https://tailwindcss.com/docs/scroll-padding
2569
2570
  */
2570
2571
  "scroll-py": [{
2571
- "scroll-py": g()
2572
+ "scroll-py": f()
2572
2573
  }],
2573
2574
  /**
2574
2575
  * Scroll Padding Start
2575
2576
  * @see https://tailwindcss.com/docs/scroll-padding
2576
2577
  */
2577
2578
  "scroll-ps": [{
2578
- "scroll-ps": g()
2579
+ "scroll-ps": f()
2579
2580
  }],
2580
2581
  /**
2581
2582
  * Scroll Padding End
2582
2583
  * @see https://tailwindcss.com/docs/scroll-padding
2583
2584
  */
2584
2585
  "scroll-pe": [{
2585
- "scroll-pe": g()
2586
+ "scroll-pe": f()
2586
2587
  }],
2587
2588
  /**
2588
2589
  * Scroll Padding Top
2589
2590
  * @see https://tailwindcss.com/docs/scroll-padding
2590
2591
  */
2591
2592
  "scroll-pt": [{
2592
- "scroll-pt": g()
2593
+ "scroll-pt": f()
2593
2594
  }],
2594
2595
  /**
2595
2596
  * Scroll Padding Right
2596
2597
  * @see https://tailwindcss.com/docs/scroll-padding
2597
2598
  */
2598
2599
  "scroll-pr": [{
2599
- "scroll-pr": g()
2600
+ "scroll-pr": f()
2600
2601
  }],
2601
2602
  /**
2602
2603
  * Scroll Padding Bottom
2603
2604
  * @see https://tailwindcss.com/docs/scroll-padding
2604
2605
  */
2605
2606
  "scroll-pb": [{
2606
- "scroll-pb": g()
2607
+ "scroll-pb": f()
2607
2608
  }],
2608
2609
  /**
2609
2610
  * Scroll Padding Left
2610
2611
  * @see https://tailwindcss.com/docs/scroll-padding
2611
2612
  */
2612
2613
  "scroll-pl": [{
2613
- "scroll-pl": g()
2614
+ "scroll-pl": f()
2614
2615
  }],
2615
2616
  /**
2616
2617
  * Scroll Snap Align
@@ -2688,21 +2689,21 @@ const tr = (e, o) => {
2688
2689
  * @see https://tailwindcss.com/docs/fill
2689
2690
  */
2690
2691
  fill: [{
2691
- fill: ["none", ...p()]
2692
+ fill: ["none", ...u()]
2692
2693
  }],
2693
2694
  /**
2694
2695
  * Stroke Width
2695
2696
  * @see https://tailwindcss.com/docs/stroke-width
2696
2697
  */
2697
2698
  "stroke-w": [{
2698
- stroke: [b, $, j, ce]
2699
+ stroke: [b, X, j, ce]
2699
2700
  }],
2700
2701
  /**
2701
2702
  * Stroke
2702
2703
  * @see https://tailwindcss.com/docs/stroke
2703
2704
  */
2704
2705
  stroke: [{
2705
- stroke: ["none", ...p()]
2706
+ stroke: ["none", ...u()]
2706
2707
  }],
2707
2708
  // ---------------------
2708
2709
  // --- Accessibility ---
@@ -2770,16 +2771,16 @@ const tr = (e, o) => {
2770
2771
  },
2771
2772
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
2772
2773
  };
2773
- }, Dr = /* @__PURE__ */ kr(Wr);
2774
- function h(...e) {
2775
- return Dr(rr(e));
2774
+ }, Xr = /* @__PURE__ */ zr($r);
2775
+ function x(...e) {
2776
+ return Xr(sr(e));
2776
2777
  }
2777
- const Ur = {
2778
+ const Yr = {
2778
2779
  owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
2779
2780
  manager: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
2780
2781
  member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
2781
2782
  };
2782
- function $r({
2783
+ function qr({
2783
2784
  entity: e,
2784
2785
  isSelected: o = !1,
2785
2786
  onClick: r,
@@ -2795,18 +2796,18 @@ function $r({
2795
2796
  onClick: r ? () => {
2796
2797
  s?.({ action: "click", trackingLabel: c, componentName: n }), r?.();
2797
2798
  } : void 0,
2798
- className: h(
2799
+ className: x(
2799
2800
  "rounded-lg border p-4 transition-all",
2800
2801
  r && "cursor-pointer hover:border-primary",
2801
2802
  o && "border-primary bg-primary/5",
2802
2803
  !o && "border-border bg-card",
2803
2804
  t
2804
2805
  ),
2805
- children: /* @__PURE__ */ w("div", { className: "flex items-start gap-3", children: [
2806
+ children: /* @__PURE__ */ y("div", { className: "flex items-start gap-3", children: [
2806
2807
  /* @__PURE__ */ a(
2807
2808
  "div",
2808
2809
  {
2809
- className: h(
2810
+ className: x(
2810
2811
  "flex h-10 w-10 items-center justify-center rounded-full",
2811
2812
  l ? "bg-blue-100 dark:bg-blue-900" : "bg-purple-100 dark:bg-purple-900"
2812
2813
  ),
@@ -2820,7 +2821,7 @@ function $r({
2820
2821
  ) : /* @__PURE__ */ a(
2821
2822
  i,
2822
2823
  {
2823
- className: h(
2824
+ className: x(
2824
2825
  "h-5 w-5",
2825
2826
  l ? "text-blue-600 dark:text-blue-400" : "text-purple-600 dark:text-purple-400"
2826
2827
  )
@@ -2828,15 +2829,15 @@ function $r({
2828
2829
  )
2829
2830
  }
2830
2831
  ),
2831
- /* @__PURE__ */ w("div", { className: "flex-1 min-w-0", children: [
2832
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
2832
+ /* @__PURE__ */ y("div", { className: "flex-1 min-w-0", children: [
2833
+ /* @__PURE__ */ y("div", { className: "flex items-center gap-2", children: [
2833
2834
  /* @__PURE__ */ a("h3", { className: "font-medium text-foreground truncate", children: e.displayName }),
2834
2835
  /* @__PURE__ */ a(
2835
2836
  "span",
2836
2837
  {
2837
- className: h(
2838
+ className: x(
2838
2839
  "text-xs px-2 py-0.5 rounded-full font-medium",
2839
- Ur[e.userRole]
2840
+ Yr[e.userRole]
2840
2841
  ),
2841
2842
  children: e.userRole
2842
2843
  }
@@ -2849,7 +2850,7 @@ function $r({
2849
2850
  }
2850
2851
  );
2851
2852
  }
2852
- function rt({
2853
+ function nt({
2853
2854
  entities: e,
2854
2855
  selectedSlug: o,
2855
2856
  onSelect: r,
@@ -2861,31 +2862,31 @@ function rt({
2861
2862
  componentName: i = "EntityList"
2862
2863
  }) {
2863
2864
  if (t)
2864
- return /* @__PURE__ */ a("div", { className: h("space-y-3", c), children: [1, 2, 3].map((f) => /* @__PURE__ */ a(
2865
+ return /* @__PURE__ */ a("div", { className: x("space-y-3", c), children: [1, 2, 3].map((g) => /* @__PURE__ */ a(
2865
2866
  "div",
2866
2867
  {
2867
2868
  className: "h-24 rounded-lg border border-border bg-muted animate-pulse"
2868
2869
  },
2869
- f
2870
+ g
2870
2871
  )) });
2871
2872
  if (e.length === 0)
2872
- return /* @__PURE__ */ a("div", { className: h("text-center py-8 text-muted-foreground", c), children: s });
2873
- const u = (f) => {
2874
- n?.({ action: "select", trackingLabel: l, componentName: i }), r?.(f);
2873
+ return /* @__PURE__ */ a("div", { className: x("text-center py-8 text-muted-foreground", c), children: s });
2874
+ const p = (g) => {
2875
+ n?.({ action: "select", trackingLabel: l, componentName: i }), r?.(g);
2875
2876
  };
2876
- return /* @__PURE__ */ a("div", { className: h("space-y-3", c), children: e.map((f) => /* @__PURE__ */ a(
2877
- $r,
2877
+ return /* @__PURE__ */ a("div", { className: x("space-y-3", c), children: e.map((g) => /* @__PURE__ */ a(
2878
+ qr,
2878
2879
  {
2879
- entity: f,
2880
- isSelected: f.entitySlug === o,
2881
- onClick: r ? () => u(f) : void 0,
2880
+ entity: g,
2881
+ isSelected: g.entitySlug === o,
2882
+ onClick: r ? () => p(g) : void 0,
2882
2883
  onTrack: n,
2883
2884
  trackingLabel: l
2884
2885
  },
2885
- f.id
2886
+ g.id
2886
2887
  )) });
2887
2888
  }
2888
- function tt({
2889
+ function at({
2889
2890
  entities: e,
2890
2891
  currentEntity: o,
2891
2892
  onSelect: r,
@@ -2896,87 +2897,87 @@ function tt({
2896
2897
  trackingLabel: l,
2897
2898
  componentName: i = "EntitySelector"
2898
2899
  }) {
2899
- const [u, f] = X(!1), k = () => {
2900
- n?.({ action: "toggle", trackingLabel: l, componentName: i }), f(!u);
2901
- }, x = (y) => {
2902
- n?.({ action: "select", trackingLabel: l, componentName: i }), r(y), f(!1);
2903
- }, N = () => {
2904
- n?.({ action: "create_new", trackingLabel: l, componentName: i }), t?.(), f(!1);
2900
+ const [p, g] = _(!1), k = () => {
2901
+ n?.({ action: "toggle", trackingLabel: l, componentName: i }), g(!p);
2902
+ }, N = (h) => {
2903
+ n?.({ action: "select", trackingLabel: l, componentName: i }), r(h), g(!1);
2904
+ }, C = () => {
2905
+ n?.({ action: "create_new", trackingLabel: l, componentName: i }), t?.(), g(!1);
2905
2906
  };
2906
- return /* @__PURE__ */ w("div", { className: h("relative", c), children: [
2907
- /* @__PURE__ */ w(
2907
+ return /* @__PURE__ */ y("div", { className: x("relative", c), children: [
2908
+ /* @__PURE__ */ y(
2908
2909
  "button",
2909
2910
  {
2910
2911
  type: "button",
2911
2912
  onClick: k,
2912
2913
  disabled: s,
2913
- className: h(
2914
+ className: x(
2914
2915
  "flex items-center gap-2 px-3 py-2 rounded-lg border",
2915
2916
  "bg-background hover:bg-muted transition-colors",
2916
2917
  "focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
2917
2918
  s && "opacity-50 cursor-not-allowed"
2918
2919
  ),
2919
2920
  children: [
2920
- o ? /* @__PURE__ */ w(re, { children: [
2921
+ o ? /* @__PURE__ */ y(re, { children: [
2921
2922
  o.entityType === "personal" ? /* @__PURE__ */ a(se, { className: "h-4 w-4 text-blue-600 dark:text-blue-400" }) : /* @__PURE__ */ a(ue, { className: "h-4 w-4 text-purple-600 dark:text-purple-400" }),
2922
2923
  /* @__PURE__ */ a("span", { className: "font-medium text-sm truncate max-w-[150px]", children: o.displayName })
2923
2924
  ] }) : /* @__PURE__ */ a("span", { className: "text-sm text-muted-foreground", children: "Select workspace" }),
2924
2925
  /* @__PURE__ */ a(
2925
- Re,
2926
+ Se,
2926
2927
  {
2927
- className: h(
2928
+ className: x(
2928
2929
  "h-4 w-4 text-muted-foreground transition-transform",
2929
- u && "rotate-180"
2930
+ p && "rotate-180"
2930
2931
  )
2931
2932
  }
2932
2933
  )
2933
2934
  ]
2934
2935
  }
2935
2936
  ),
2936
- u && /* @__PURE__ */ w(re, { children: [
2937
+ p && /* @__PURE__ */ y(re, { children: [
2937
2938
  /* @__PURE__ */ a(
2938
2939
  "div",
2939
2940
  {
2940
2941
  className: "fixed inset-0 z-40",
2941
- onClick: () => f(!1)
2942
+ onClick: () => g(!1)
2942
2943
  }
2943
2944
  ),
2944
2945
  /* @__PURE__ */ a(
2945
2946
  "div",
2946
2947
  {
2947
- className: h(
2948
+ className: x(
2948
2949
  "absolute top-full left-0 mt-1 z-50",
2949
2950
  "min-w-[220px] rounded-lg border bg-popover shadow-lg",
2950
2951
  "animate-in fade-in-0 zoom-in-95"
2951
2952
  ),
2952
- children: /* @__PURE__ */ w("div", { className: "p-1", children: [
2953
- e.filter((y) => y.entityType === "personal").map((y) => /* @__PURE__ */ a(
2954
- Se,
2953
+ children: /* @__PURE__ */ y("div", { className: "p-1", children: [
2954
+ e.filter((h) => h.entityType === "personal").map((h) => /* @__PURE__ */ a(
2955
+ Ae,
2955
2956
  {
2956
- entity: y,
2957
- isSelected: y.id === o?.id,
2958
- onClick: () => x(y)
2957
+ entity: h,
2958
+ isSelected: h.id === o?.id,
2959
+ onClick: () => N(h)
2959
2960
  },
2960
- y.id
2961
+ h.id
2961
2962
  )),
2962
- e.some((y) => y.entityType === "personal") && e.some((y) => y.entityType === "organization") && /* @__PURE__ */ a("div", { className: "my-1 h-px bg-border" }),
2963
- e.filter((y) => y.entityType === "organization").map((y) => /* @__PURE__ */ a(
2964
- Se,
2963
+ e.some((h) => h.entityType === "personal") && e.some((h) => h.entityType === "organization") && /* @__PURE__ */ a("div", { className: "my-1 h-px bg-border" }),
2964
+ e.filter((h) => h.entityType === "organization").map((h) => /* @__PURE__ */ a(
2965
+ Ae,
2965
2966
  {
2966
- entity: y,
2967
- isSelected: y.id === o?.id,
2968
- onClick: () => x(y)
2967
+ entity: h,
2968
+ isSelected: h.id === o?.id,
2969
+ onClick: () => N(h)
2969
2970
  },
2970
- y.id
2971
+ h.id
2971
2972
  )),
2972
- t && /* @__PURE__ */ w(re, { children: [
2973
+ t && /* @__PURE__ */ y(re, { children: [
2973
2974
  /* @__PURE__ */ a("div", { className: "my-1 h-px bg-border" }),
2974
- /* @__PURE__ */ w(
2975
+ /* @__PURE__ */ y(
2975
2976
  "button",
2976
2977
  {
2977
2978
  type: "button",
2978
- onClick: N,
2979
- className: h(
2979
+ onClick: C,
2980
+ className: x(
2980
2981
  "flex items-center gap-2 w-full px-2 py-1.5 rounded",
2981
2982
  "text-sm text-primary hover:bg-muted transition-colors"
2982
2983
  ),
@@ -2993,14 +2994,14 @@ function tt({
2993
2994
  ] })
2994
2995
  ] });
2995
2996
  }
2996
- function Se({ entity: e, isSelected: o, onClick: r }) {
2997
+ function Ae({ entity: e, isSelected: o, onClick: r }) {
2997
2998
  const t = e.entityType === "personal", s = t ? se : ue;
2998
- return /* @__PURE__ */ w(
2999
+ return /* @__PURE__ */ y(
2999
3000
  "button",
3000
3001
  {
3001
3002
  type: "button",
3002
3003
  onClick: r,
3003
- className: h(
3004
+ className: x(
3004
3005
  "flex items-center gap-2 w-full px-2 py-1.5 rounded",
3005
3006
  "text-sm transition-colors",
3006
3007
  o ? "bg-primary/10 text-primary" : "hover:bg-muted text-foreground"
@@ -3009,7 +3010,7 @@ function Se({ entity: e, isSelected: o, onClick: r }) {
3009
3010
  /* @__PURE__ */ a(
3010
3011
  s,
3011
3012
  {
3012
- className: h(
3013
+ className: x(
3013
3014
  "h-4 w-4",
3014
3015
  t ? "text-blue-600 dark:text-blue-400" : "text-purple-600 dark:text-purple-400"
3015
3016
  )
@@ -3053,30 +3054,44 @@ function Ue({
3053
3054
  trackingLabel: c,
3054
3055
  componentName: n = "MemberRoleSelector"
3055
3056
  }) {
3056
- const [l, i] = X(!1), u = de.find((x) => x.value === e) || de[2], f = () => {
3057
- r || (s?.({ action: "toggle", trackingLabel: c, componentName: n }), i(!l));
3058
- }, k = (x) => {
3059
- s?.({ action: "select", trackingLabel: c, componentName: n }), o(x), i(!1);
3057
+ const [l, i] = _(!1), [p, g] = _({
3058
+ top: 0,
3059
+ right: 0
3060
+ }), k = rr(null), N = de.find((w) => w.value === e) || de[2], C = tr(() => {
3061
+ if (k.current) {
3062
+ const w = k.current.getBoundingClientRect();
3063
+ g({
3064
+ top: w.bottom + 4,
3065
+ right: window.innerWidth - w.right
3066
+ });
3067
+ }
3068
+ }, []), h = () => {
3069
+ r || (s?.({ action: "toggle", trackingLabel: c, componentName: n }), l || C(), i(!l));
3070
+ }, v = (w) => {
3071
+ s?.({ action: "select", trackingLabel: c, componentName: n }), o(w), i(!1);
3060
3072
  };
3061
- return /* @__PURE__ */ w("div", { className: h("relative", t), children: [
3062
- /* @__PURE__ */ w(
3073
+ return /* @__PURE__ */ y("div", { className: x("relative", t), children: [
3074
+ /* @__PURE__ */ y(
3063
3075
  "button",
3064
3076
  {
3077
+ ref: k,
3065
3078
  type: "button",
3066
- onClick: f,
3079
+ onClick: h,
3067
3080
  disabled: r,
3068
- className: h(
3081
+ className: x(
3069
3082
  "flex items-center gap-1.5 px-2 py-1 rounded border text-sm",
3070
3083
  "bg-background transition-colors",
3071
3084
  r ? "opacity-50 cursor-not-allowed" : "hover:bg-muted cursor-pointer"
3072
3085
  ),
3086
+ "aria-expanded": l,
3087
+ "aria-haspopup": "listbox",
3073
3088
  children: [
3074
- /* @__PURE__ */ a(u.icon, { className: h("h-3.5 w-3.5", u.color) }),
3075
- /* @__PURE__ */ a("span", { children: u.label }),
3089
+ /* @__PURE__ */ a(N.icon, { className: x("h-3.5 w-3.5", N.color) }),
3090
+ /* @__PURE__ */ a("span", { children: N.label }),
3076
3091
  /* @__PURE__ */ a(
3077
- Re,
3092
+ Se,
3078
3093
  {
3079
- className: h(
3094
+ className: x(
3080
3095
  "h-3.5 w-3.5 text-muted-foreground transition-transform",
3081
3096
  l && "rotate-180"
3082
3097
  )
@@ -3085,56 +3100,60 @@ function Ue({
3085
3100
  ]
3086
3101
  }
3087
3102
  ),
3088
- l && /* @__PURE__ */ w(re, { children: [
3089
- /* @__PURE__ */ a(
3090
- "div",
3091
- {
3092
- className: "fixed inset-0 z-40",
3093
- onClick: () => i(!1)
3094
- }
3095
- ),
3096
- /* @__PURE__ */ a(
3097
- "div",
3098
- {
3099
- className: h(
3100
- "absolute top-full right-0 mt-1 z-50",
3101
- "min-w-[200px] rounded-lg border bg-popover shadow-lg p-1",
3102
- "animate-in fade-in-0 zoom-in-95"
3103
- ),
3104
- children: de.map((x) => /* @__PURE__ */ w(
3105
- "button",
3106
- {
3107
- type: "button",
3108
- onClick: () => k(x.value),
3109
- className: h(
3110
- "flex items-start gap-2 w-full px-2 py-2 rounded text-left",
3111
- "transition-colors",
3112
- x.value === e ? "bg-primary/10" : "hover:bg-muted"
3113
- ),
3114
- children: [
3115
- /* @__PURE__ */ a(x.icon, { className: h("h-4 w-4 mt-0.5", x.color) }),
3116
- /* @__PURE__ */ w("div", { className: "flex-1 min-w-0", children: [
3117
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
3118
- /* @__PURE__ */ a("span", { className: "font-medium text-sm", children: x.label }),
3119
- x.value === e && /* @__PURE__ */ a(pe, { className: "h-3.5 w-3.5 text-primary" })
3120
- ] }),
3121
- /* @__PURE__ */ a("p", { className: "text-xs text-muted-foreground", children: x.description })
3122
- ] })
3123
- ]
3124
- },
3125
- x.value
3126
- ))
3127
- }
3128
- )
3129
- ] })
3103
+ l && or(
3104
+ /* @__PURE__ */ y(re, { children: [
3105
+ /* @__PURE__ */ a(
3106
+ "div",
3107
+ {
3108
+ className: "fixed inset-0 z-[999998]",
3109
+ onClick: () => i(!1)
3110
+ }
3111
+ ),
3112
+ /* @__PURE__ */ a(
3113
+ "div",
3114
+ {
3115
+ className: "fixed z-[999999] w-52 bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 py-1",
3116
+ style: { top: p.top, right: p.right },
3117
+ role: "listbox",
3118
+ "aria-label": "Roles",
3119
+ children: de.map((w) => /* @__PURE__ */ y(
3120
+ "button",
3121
+ {
3122
+ type: "button",
3123
+ onClick: () => v(w.value),
3124
+ className: x(
3125
+ "flex items-start gap-2 w-full px-3 py-2 text-left",
3126
+ "transition-colors cursor-pointer",
3127
+ w.value === e ? "bg-gray-100 dark:bg-gray-700" : "hover:bg-gray-50 dark:hover:bg-gray-700"
3128
+ ),
3129
+ role: "option",
3130
+ "aria-selected": w.value === e,
3131
+ children: [
3132
+ /* @__PURE__ */ a(w.icon, { className: x("h-4 w-4 mt-0.5", w.color) }),
3133
+ /* @__PURE__ */ y("div", { className: "flex-1 min-w-0", children: [
3134
+ /* @__PURE__ */ y("div", { className: "flex items-center gap-2", children: [
3135
+ /* @__PURE__ */ a("span", { className: "font-medium text-sm text-gray-900 dark:text-gray-100", children: w.label }),
3136
+ w.value === e && /* @__PURE__ */ a(pe, { className: "h-3.5 w-3.5 text-blue-600 dark:text-blue-400" })
3137
+ ] }),
3138
+ /* @__PURE__ */ a("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: w.description })
3139
+ ] })
3140
+ ]
3141
+ },
3142
+ w.value
3143
+ ))
3144
+ }
3145
+ )
3146
+ ] }),
3147
+ document.body
3148
+ )
3130
3149
  ] });
3131
3150
  }
3132
- const Xr = {
3151
+ const Jr = {
3133
3152
  owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
3134
3153
  manager: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
3135
3154
  member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
3136
3155
  };
3137
- function ot({
3156
+ function lt({
3138
3157
  members: e,
3139
3158
  currentUserId: o,
3140
3159
  canManage: r = !1,
@@ -3144,37 +3163,37 @@ function ot({
3144
3163
  emptyMessage: n = "No members found",
3145
3164
  className: l,
3146
3165
  onTrack: i,
3147
- trackingLabel: u,
3148
- componentName: f = "MemberList"
3166
+ trackingLabel: p,
3167
+ componentName: g = "MemberList"
3149
3168
  }) {
3150
3169
  if (c)
3151
- return /* @__PURE__ */ a("div", { className: h("space-y-2", l), children: [1, 2, 3].map((N) => /* @__PURE__ */ a(
3170
+ return /* @__PURE__ */ a("div", { className: x("space-y-2", l), children: [1, 2, 3].map((C) => /* @__PURE__ */ a(
3152
3171
  "div",
3153
3172
  {
3154
3173
  className: "h-16 rounded-lg border border-border bg-muted animate-pulse"
3155
3174
  },
3156
- N
3175
+ C
3157
3176
  )) });
3158
3177
  if (e.length === 0)
3159
- return /* @__PURE__ */ a("div", { className: h("text-center py-8 text-muted-foreground", l), children: n });
3160
- const k = (N, y) => {
3161
- i?.({ action: "role_change", trackingLabel: u, componentName: f }), t?.(N, y);
3162
- }, x = (N) => {
3163
- i?.({ action: "remove", trackingLabel: u, componentName: f }), s?.(N);
3178
+ return /* @__PURE__ */ a("div", { className: x("text-center py-8 text-muted-foreground", l), children: n });
3179
+ const k = (C, h) => {
3180
+ i?.({ action: "role_change", trackingLabel: p, componentName: g }), t?.(C, h);
3181
+ }, N = (C) => {
3182
+ i?.({ action: "remove", trackingLabel: p, componentName: g }), s?.(C);
3164
3183
  };
3165
- return /* @__PURE__ */ a("div", { className: h("divide-y divide-border rounded-lg border", l), children: e.map((N) => /* @__PURE__ */ a(
3166
- Yr,
3184
+ return /* @__PURE__ */ a("div", { className: x("divide-y divide-border rounded-lg border", l), children: e.map((C) => /* @__PURE__ */ a(
3185
+ Hr,
3167
3186
  {
3168
- member: N,
3169
- isSelf: N.userId === o,
3187
+ member: C,
3188
+ isSelf: C.userId === o,
3170
3189
  canManage: r,
3171
3190
  onRoleChange: t ? k : void 0,
3172
- onRemove: s ? x : void 0
3191
+ onRemove: s ? N : void 0
3173
3192
  },
3174
- N.id
3193
+ C.id
3175
3194
  )) });
3176
3195
  }
3177
- function Yr({
3196
+ function Hr({
3178
3197
  member: e,
3179
3198
  isSelf: o,
3180
3199
  canManage: r,
@@ -3182,10 +3201,10 @@ function Yr({
3182
3201
  onRemove: s
3183
3202
  }) {
3184
3203
  const c = e.user?.displayName || e.user?.email || "Unknown user", n = e.user?.email;
3185
- return /* @__PURE__ */ w("div", { className: "flex items-center gap-3 p-3", children: [
3204
+ return /* @__PURE__ */ y("div", { className: "flex items-center gap-3 p-3", children: [
3186
3205
  /* @__PURE__ */ a("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ a(se, { className: "h-5 w-5 text-muted-foreground" }) }),
3187
- /* @__PURE__ */ w("div", { className: "flex-1 min-w-0", children: [
3188
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
3206
+ /* @__PURE__ */ y("div", { className: "flex-1 min-w-0", children: [
3207
+ /* @__PURE__ */ y("div", { className: "flex items-center gap-2", children: [
3189
3208
  /* @__PURE__ */ a("p", { className: "font-medium text-foreground truncate", children: c }),
3190
3209
  o && /* @__PURE__ */ a("span", { className: "text-xs text-muted-foreground", children: "(you)" })
3191
3210
  ] }),
@@ -3200,9 +3219,9 @@ function Yr({
3200
3219
  ) : /* @__PURE__ */ a(
3201
3220
  "span",
3202
3221
  {
3203
- className: h(
3222
+ className: x(
3204
3223
  "text-xs px-2 py-1 rounded-full font-medium",
3205
- Xr[e.role]
3224
+ Jr[e.role]
3206
3225
  ),
3207
3226
  children: e.role
3208
3227
  }
@@ -3212,7 +3231,7 @@ function Yr({
3212
3231
  {
3213
3232
  type: "button",
3214
3233
  onClick: () => s(e.userId),
3215
- className: h(
3234
+ className: x(
3216
3235
  "p-1.5 rounded hover:bg-destructive/10 text-muted-foreground",
3217
3236
  "hover:text-destructive transition-colors"
3218
3237
  ),
@@ -3222,7 +3241,7 @@ function Yr({
3222
3241
  )
3223
3242
  ] });
3224
3243
  }
3225
- function st({
3244
+ function it({
3226
3245
  onSubmit: e,
3227
3246
  isSubmitting: o = !1,
3228
3247
  defaultRole: r = te.MEMBER,
@@ -3231,35 +3250,35 @@ function st({
3231
3250
  trackingLabel: c,
3232
3251
  componentName: n = "InvitationForm"
3233
3252
  }) {
3234
- const [l, i] = X(""), [u, f] = X(r), [k, x] = X(null);
3235
- return /* @__PURE__ */ w("form", { onSubmit: async (y) => {
3236
- if (y.preventDefault(), x(null), !l.trim()) {
3237
- x("Email is required");
3253
+ const [l, i] = _(""), [p, g] = _(r), [k, N] = _(null);
3254
+ return /* @__PURE__ */ y("form", { onSubmit: async (h) => {
3255
+ if (h.preventDefault(), N(null), !l.trim()) {
3256
+ N("Email is required");
3238
3257
  return;
3239
3258
  }
3240
- if (!qr(l)) {
3241
- x("Please enter a valid email address");
3259
+ if (!Kr(l)) {
3260
+ N("Please enter a valid email address");
3242
3261
  return;
3243
3262
  }
3244
3263
  s?.({ action: "submit", trackingLabel: c, componentName: n });
3245
3264
  try {
3246
- await e({ email: l.trim(), role: u }), i(""), f(r);
3265
+ await e({ email: l.trim(), role: p }), i(""), g(r);
3247
3266
  } catch (v) {
3248
- x(v.message || "Failed to send invitation");
3267
+ N(v.message || "Failed to send invitation");
3249
3268
  }
3250
- }, className: h("space-y-4", t), children: [
3251
- /* @__PURE__ */ w("div", { className: "flex gap-2", children: [
3252
- /* @__PURE__ */ w("div", { className: "relative flex-1", children: [
3269
+ }, className: x("space-y-4", t), children: [
3270
+ /* @__PURE__ */ y("div", { className: "flex gap-2", children: [
3271
+ /* @__PURE__ */ y("div", { className: "relative flex-1", children: [
3253
3272
  /* @__PURE__ */ a(Me, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
3254
3273
  /* @__PURE__ */ a(
3255
3274
  "input",
3256
3275
  {
3257
3276
  type: "email",
3258
3277
  value: l,
3259
- onChange: (y) => i(y.target.value),
3278
+ onChange: (h) => i(h.target.value),
3260
3279
  placeholder: "Enter email address",
3261
3280
  disabled: o,
3262
- className: h(
3281
+ className: x(
3263
3282
  "w-full pl-10 pr-3 py-2 rounded-lg border bg-background",
3264
3283
  "text-sm placeholder:text-muted-foreground",
3265
3284
  "focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent",
@@ -3272,17 +3291,17 @@ function st({
3272
3291
  /* @__PURE__ */ a(
3273
3292
  Ue,
3274
3293
  {
3275
- value: u,
3276
- onChange: f,
3294
+ value: p,
3295
+ onChange: g,
3277
3296
  disabled: o
3278
3297
  }
3279
3298
  ),
3280
- /* @__PURE__ */ w(
3299
+ /* @__PURE__ */ y(
3281
3300
  "button",
3282
3301
  {
3283
3302
  type: "submit",
3284
3303
  disabled: o || !l.trim(),
3285
- className: h(
3304
+ className: x(
3286
3305
  "flex items-center gap-2 px-4 py-2 rounded-lg",
3287
3306
  "bg-primary text-primary-foreground font-medium text-sm",
3288
3307
  "hover:bg-primary/90 transition-colors",
@@ -3299,15 +3318,15 @@ function st({
3299
3318
  k && /* @__PURE__ */ a("p", { className: "text-sm text-destructive", children: k })
3300
3319
  ] });
3301
3320
  }
3302
- function qr(e) {
3321
+ function Kr(e) {
3303
3322
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
3304
3323
  }
3305
- const Jr = {
3324
+ const Qr = {
3306
3325
  owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
3307
3326
  manager: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
3308
3327
  member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
3309
3328
  };
3310
- function nt({
3329
+ function ct({
3311
3330
  invitations: e,
3312
3331
  mode: o,
3313
3332
  onCancel: r,
@@ -3317,14 +3336,14 @@ function nt({
3317
3336
  emptyMessage: n = "No pending invitations",
3318
3337
  className: l,
3319
3338
  onTrack: i,
3320
- trackingLabel: u,
3321
- componentName: f = "InvitationList"
3339
+ trackingLabel: p,
3340
+ componentName: g = "InvitationList"
3322
3341
  }) {
3323
3342
  const k = e.filter(
3324
3343
  (v) => v.status === "pending"
3325
3344
  );
3326
3345
  if (c)
3327
- return /* @__PURE__ */ a("div", { className: h("space-y-2", l), children: [1, 2].map((v) => /* @__PURE__ */ a(
3346
+ return /* @__PURE__ */ a("div", { className: x("space-y-2", l), children: [1, 2].map((v) => /* @__PURE__ */ a(
3328
3347
  "div",
3329
3348
  {
3330
3349
  className: "h-16 rounded-lg border border-border bg-muted animate-pulse"
@@ -3332,27 +3351,27 @@ function nt({
3332
3351
  v
3333
3352
  )) });
3334
3353
  if (k.length === 0)
3335
- return /* @__PURE__ */ a("div", { className: h("text-center py-8 text-muted-foreground", l), children: n });
3336
- const x = (v) => {
3337
- i?.({ action: "cancel", trackingLabel: u, componentName: f }), r?.(v);
3338
- }, N = (v) => {
3339
- i?.({ action: "accept", trackingLabel: u, componentName: f }), t?.(v);
3340
- }, y = (v) => {
3341
- i?.({ action: "decline", trackingLabel: u, componentName: f }), s?.(v);
3354
+ return /* @__PURE__ */ a("div", { className: x("text-center py-8 text-muted-foreground", l), children: n });
3355
+ const N = (v) => {
3356
+ i?.({ action: "cancel", trackingLabel: p, componentName: g }), r?.(v);
3357
+ }, C = (v) => {
3358
+ i?.({ action: "accept", trackingLabel: p, componentName: g }), t?.(v);
3359
+ }, h = (v) => {
3360
+ i?.({ action: "decline", trackingLabel: p, componentName: g }), s?.(v);
3342
3361
  };
3343
- return /* @__PURE__ */ a("div", { className: h("divide-y divide-border rounded-lg border", l), children: k.map((v) => /* @__PURE__ */ a(
3344
- Hr,
3362
+ return /* @__PURE__ */ a("div", { className: x("divide-y divide-border rounded-lg border", l), children: k.map((v) => /* @__PURE__ */ a(
3363
+ Zr,
3345
3364
  {
3346
3365
  invitation: v,
3347
3366
  mode: o,
3348
- onCancel: r ? x : void 0,
3349
- onAccept: t ? N : void 0,
3350
- onDecline: s ? y : void 0
3367
+ onCancel: r ? N : void 0,
3368
+ onAccept: t ? C : void 0,
3369
+ onDecline: s ? h : void 0
3351
3370
  },
3352
3371
  v.id
3353
3372
  )) });
3354
3373
  }
3355
- function Hr({
3374
+ function Zr({
3356
3375
  invitation: e,
3357
3376
  mode: o,
3358
3377
  onCancel: r,
@@ -3362,25 +3381,25 @@ function Hr({
3362
3381
  const c = new Date(e.expiresAt), n = c < /* @__PURE__ */ new Date(), l = Math.ceil(
3363
3382
  (c.getTime() - Date.now()) / (1e3 * 60 * 60 * 24)
3364
3383
  );
3365
- return /* @__PURE__ */ w("div", { className: "flex items-center gap-3 p-3", children: [
3384
+ return /* @__PURE__ */ y("div", { className: "flex items-center gap-3 p-3", children: [
3366
3385
  /* @__PURE__ */ a("div", { className: "flex h-10 w-10 items-center justify-center rounded-full bg-muted", children: /* @__PURE__ */ a(Me, { className: "h-5 w-5 text-muted-foreground" }) }),
3367
- /* @__PURE__ */ w("div", { className: "flex-1 min-w-0", children: [
3368
- /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
3386
+ /* @__PURE__ */ y("div", { className: "flex-1 min-w-0", children: [
3387
+ /* @__PURE__ */ y("div", { className: "flex items-center gap-2", children: [
3369
3388
  o === "user" && e.entity ? /* @__PURE__ */ a("p", { className: "font-medium text-foreground truncate", children: e.entity.displayName }) : /* @__PURE__ */ a("p", { className: "font-medium text-foreground truncate", children: e.email }),
3370
3389
  /* @__PURE__ */ a(
3371
3390
  "span",
3372
3391
  {
3373
- className: h(
3392
+ className: x(
3374
3393
  "text-xs px-2 py-0.5 rounded-full font-medium",
3375
- Jr[e.role]
3394
+ Qr[e.role]
3376
3395
  ),
3377
3396
  children: e.role
3378
3397
  }
3379
3398
  )
3380
3399
  ] }),
3381
- /* @__PURE__ */ w("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
3400
+ /* @__PURE__ */ y("div", { className: "flex items-center gap-1.5 text-sm text-muted-foreground", children: [
3382
3401
  /* @__PURE__ */ a(Qe, { className: "h-3.5 w-3.5" }),
3383
- n ? /* @__PURE__ */ a("span", { className: "text-destructive", children: "Expired" }) : /* @__PURE__ */ w("span", { children: [
3402
+ n ? /* @__PURE__ */ a("span", { className: "text-destructive", children: "Expired" }) : /* @__PURE__ */ y("span", { children: [
3384
3403
  "Expires in ",
3385
3404
  l,
3386
3405
  " days"
@@ -3392,7 +3411,7 @@ function Hr({
3392
3411
  {
3393
3412
  type: "button",
3394
3413
  onClick: () => r(e.id),
3395
- className: h(
3414
+ className: x(
3396
3415
  "p-1.5 rounded hover:bg-destructive/10 text-muted-foreground",
3397
3416
  "hover:text-destructive transition-colors"
3398
3417
  ),
@@ -3400,13 +3419,13 @@ function Hr({
3400
3419
  children: /* @__PURE__ */ a(Ze, { className: "h-4 w-4" })
3401
3420
  }
3402
3421
  ),
3403
- o === "user" && /* @__PURE__ */ w("div", { className: "flex items-center gap-2", children: [
3404
- s && /* @__PURE__ */ w(
3422
+ o === "user" && /* @__PURE__ */ y("div", { className: "flex items-center gap-2", children: [
3423
+ s && /* @__PURE__ */ y(
3405
3424
  "button",
3406
3425
  {
3407
3426
  type: "button",
3408
3427
  onClick: () => s(e.token),
3409
- className: h(
3428
+ className: x(
3410
3429
  "flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm",
3411
3430
  "border hover:bg-muted transition-colors"
3412
3431
  ),
@@ -3416,13 +3435,13 @@ function Hr({
3416
3435
  ]
3417
3436
  }
3418
3437
  ),
3419
- t && /* @__PURE__ */ w(
3438
+ t && /* @__PURE__ */ y(
3420
3439
  "button",
3421
3440
  {
3422
3441
  type: "button",
3423
3442
  onClick: () => t(e.token),
3424
3443
  disabled: n,
3425
- className: h(
3444
+ className: x(
3426
3445
  "flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm",
3427
3446
  "bg-primary text-primary-foreground",
3428
3447
  "hover:bg-primary/90 transition-colors",
@@ -3438,12 +3457,12 @@ function Hr({
3438
3457
  ] });
3439
3458
  }
3440
3459
  export {
3441
- $r as EntityCard,
3442
- rt as EntityList,
3443
- tt as EntitySelector,
3444
- st as InvitationForm,
3445
- nt as InvitationList,
3446
- ot as MemberList,
3460
+ qr as EntityCard,
3461
+ nt as EntityList,
3462
+ at as EntitySelector,
3463
+ it as InvitationForm,
3464
+ ct as InvitationList,
3465
+ lt as MemberList,
3447
3466
  Ue as MemberRoleSelector,
3448
- h as cn
3467
+ x as cn
3449
3468
  };