@sudobility/entity-components 1.0.2 → 1.0.4
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 +77 -77
- package/dist/index.umd.js +1 -1
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
|
@@ -99,7 +99,7 @@ const tr = (e, o) => {
|
|
|
99
99
|
}
|
|
100
100
|
ur(e, o, r, t);
|
|
101
101
|
}, dr = (e, o, r) => {
|
|
102
|
-
const t = e === "" ? o :
|
|
102
|
+
const t = e === "" ? o : Oe(o, e);
|
|
103
103
|
t.classGroupId = r;
|
|
104
104
|
}, mr = (e, o, r, t) => {
|
|
105
105
|
if (pr(e)) {
|
|
@@ -111,9 +111,9 @@ const tr = (e, o) => {
|
|
|
111
111
|
const s = Object.entries(e), c = s.length;
|
|
112
112
|
for (let n = 0; n < c; n++) {
|
|
113
113
|
const [l, i] = s[n];
|
|
114
|
-
fe(i,
|
|
114
|
+
fe(i, Oe(o, l), r, t);
|
|
115
115
|
}
|
|
116
|
-
},
|
|
116
|
+
}, Oe = (e, o) => {
|
|
117
117
|
let r = e;
|
|
118
118
|
const t = o.split(oe), s = t.length;
|
|
119
119
|
for (let c = 0; c < s; c++) {
|
|
@@ -249,14 +249,14 @@ const tr = (e, o) => {
|
|
|
249
249
|
}
|
|
250
250
|
A = !1;
|
|
251
251
|
}
|
|
252
|
-
const Y = x.length === 0 ? "" : x.length === 1 ? x[0] : c(x).join(":"),
|
|
253
|
-
if (n.indexOf(
|
|
252
|
+
const Y = x.length === 0 ? "" : x.length === 1 ? x[0] : c(x).join(":"), W = N ? Y + me : Y, F = W + T;
|
|
253
|
+
if (n.indexOf(F) > -1)
|
|
254
254
|
continue;
|
|
255
|
-
n.push(
|
|
256
|
-
const
|
|
257
|
-
for (let
|
|
258
|
-
const U =
|
|
259
|
-
n.push(
|
|
255
|
+
n.push(F);
|
|
256
|
+
const L = s(T, A);
|
|
257
|
+
for (let O = 0; O < L.length; ++O) {
|
|
258
|
+
const U = L[O];
|
|
259
|
+
n.push(W + U);
|
|
260
260
|
}
|
|
261
261
|
i = f + (i.length > 0 ? " " + i : i);
|
|
262
262
|
}
|
|
@@ -264,14 +264,14 @@ const tr = (e, o) => {
|
|
|
264
264
|
}, vr = (...e) => {
|
|
265
265
|
let o = 0, r, t, s = "";
|
|
266
266
|
for (; o < e.length; )
|
|
267
|
-
(r = e[o++]) && (t =
|
|
267
|
+
(r = e[o++]) && (t = Ge(r)) && (s && (s += " "), s += t);
|
|
268
268
|
return s;
|
|
269
|
-
},
|
|
269
|
+
}, Ge = (e) => {
|
|
270
270
|
if (typeof e == "string")
|
|
271
271
|
return e;
|
|
272
272
|
let o, r = "";
|
|
273
273
|
for (let t = 0; t < e.length; t++)
|
|
274
|
-
e[t] && (o =
|
|
274
|
+
e[t] && (o = Ge(e[t])) && (r && (r += " "), r += o);
|
|
275
275
|
return r;
|
|
276
276
|
}, kr = (e, ...o) => {
|
|
277
277
|
let r, t, s, c;
|
|
@@ -289,19 +289,19 @@ const tr = (e, o) => {
|
|
|
289
289
|
}, Nr = [], C = (e) => {
|
|
290
290
|
const o = (r) => r[e] || Nr;
|
|
291
291
|
return o.isThemeGetter = !0, o;
|
|
292
|
-
},
|
|
292
|
+
}, je = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, Fe = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Cr = /^\d+\/\d+$/, zr = /^(\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$/, Ar = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Ir = /^(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
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
296
|
Sr.test(e) && !Ar.test(e)
|
|
297
|
-
),
|
|
298
|
-
const t =
|
|
297
|
+
), Le = () => !1, Pr = (e) => Ir.test(e), Tr = (e) => Rr.test(e), Or = (e) => !d(e) && !m(e), Gr = (e) => _(e, _e, Le), d = (e) => je.test(e), j = (e) => _(e, De, Er), ce = (e) => _(e, Vr, b), Se = (e) => _(e, Be, Le), jr = (e) => _(e, Ve, Tr), Z = (e) => _(e, We, Pr), m = (e) => Fe.test(e), $ = (e) => D(e, De), Fr = (e) => D(e, _r), Ae = (e) => D(e, Be), Lr = (e) => D(e, _e), Br = (e) => D(e, Ve), ee = (e) => D(e, We, !0), _ = (e, o, r) => {
|
|
298
|
+
const t = je.exec(e);
|
|
299
299
|
return t ? t[1] ? o(t[1]) : r(t[2]) : !1;
|
|
300
|
-
},
|
|
301
|
-
const t =
|
|
300
|
+
}, D = (e, o, r = !1) => {
|
|
301
|
+
const t = Fe.exec(e);
|
|
302
302
|
return t ? t[1] ? o(t[1]) : r : !1;
|
|
303
|
-
},
|
|
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"),
|
|
303
|
+
}, Be = (e) => e === "position" || e === "percentage", Ve = (e) => e === "image" || e === "url", _e = (e) => e === "length" || e === "size" || e === "bg-size", De = (e) => e === "length", Vr = (e) => e === "number", _r = (e) => e === "family-name", We = (e) => e === "shadow", Dr = () => {
|
|
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"), W = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], F = () => [
|
|
305
305
|
"center",
|
|
306
306
|
"top",
|
|
307
307
|
"bottom",
|
|
@@ -319,15 +319,15 @@ const tr = (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
|
-
],
|
|
322
|
+
], L = () => [...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
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"],
|
|
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"], B = () => ["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, Se, {
|
|
325
325
|
position: [m, d]
|
|
326
326
|
}], ye = () => ["no-repeat", {
|
|
327
327
|
repeat: ["", "x", "y", "space", "round"]
|
|
328
|
-
}], we = () => ["auto", "cover", "contain",
|
|
328
|
+
}], we = () => ["auto", "cover", "contain", Lr, Gr, {
|
|
329
329
|
size: [m, d]
|
|
330
|
-
}], ae = () => [ie, $,
|
|
330
|
+
}], ae = () => [ie, $, j], S = () => [
|
|
331
331
|
// Deprecated since Tailwind CSS v4.0.0
|
|
332
332
|
"",
|
|
333
333
|
"none",
|
|
@@ -335,14 +335,14 @@ const tr = (e, o) => {
|
|
|
335
335
|
u,
|
|
336
336
|
m,
|
|
337
337
|
d
|
|
338
|
-
], I = () => ["", b, $,
|
|
338
|
+
], I = () => ["", 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, Se], ke = () => [
|
|
339
339
|
// Deprecated since Tailwind CSS v4.0.0
|
|
340
340
|
"",
|
|
341
341
|
"none",
|
|
342
342
|
y,
|
|
343
343
|
m,
|
|
344
344
|
d
|
|
345
|
-
], H = () => ["none", b, m, d], K = () => ["none", b, m, d], le = () => [b, m, d], Q = () => [
|
|
345
|
+
], H = () => ["none", b, m, d], K = () => ["none", b, m, d], le = () => [b, m, d], Q = () => [V, "full", ...g()];
|
|
346
346
|
return {
|
|
347
347
|
cacheSize: 500,
|
|
348
348
|
theme: {
|
|
@@ -354,7 +354,7 @@ const tr = (e, o) => {
|
|
|
354
354
|
container: [E],
|
|
355
355
|
"drop-shadow": [E],
|
|
356
356
|
ease: ["in", "out", "in-out"],
|
|
357
|
-
font: [
|
|
357
|
+
font: [Or],
|
|
358
358
|
"font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
|
|
359
359
|
"inset-shadow": [E],
|
|
360
360
|
leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
|
|
@@ -375,7 +375,7 @@ const tr = (e, o) => {
|
|
|
375
375
|
* @see https://tailwindcss.com/docs/aspect-ratio
|
|
376
376
|
*/
|
|
377
377
|
aspect: [{
|
|
378
|
-
aspect: ["auto", "square",
|
|
378
|
+
aspect: ["auto", "square", V, d, m, A]
|
|
379
379
|
}],
|
|
380
380
|
/**
|
|
381
381
|
* Container
|
|
@@ -395,14 +395,14 @@ const tr = (e, o) => {
|
|
|
395
395
|
* @see https://tailwindcss.com/docs/break-after
|
|
396
396
|
*/
|
|
397
397
|
"break-after": [{
|
|
398
|
-
"break-after":
|
|
398
|
+
"break-after": W()
|
|
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":
|
|
405
|
+
"break-before": W()
|
|
406
406
|
}],
|
|
407
407
|
/**
|
|
408
408
|
* Break Inside
|
|
@@ -466,28 +466,28 @@ const tr = (e, o) => {
|
|
|
466
466
|
* @see https://tailwindcss.com/docs/object-position
|
|
467
467
|
*/
|
|
468
468
|
"object-position": [{
|
|
469
|
-
object:
|
|
469
|
+
object: L()
|
|
470
470
|
}],
|
|
471
471
|
/**
|
|
472
472
|
* Overflow
|
|
473
473
|
* @see https://tailwindcss.com/docs/overflow
|
|
474
474
|
*/
|
|
475
475
|
overflow: [{
|
|
476
|
-
overflow:
|
|
476
|
+
overflow: O()
|
|
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":
|
|
483
|
+
"overflow-x": O()
|
|
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":
|
|
490
|
+
"overflow-y": O()
|
|
491
491
|
}],
|
|
492
492
|
/**
|
|
493
493
|
* Overscroll Behavior
|
|
@@ -598,7 +598,7 @@ const tr = (e, o) => {
|
|
|
598
598
|
* @see https://tailwindcss.com/docs/flex-basis
|
|
599
599
|
*/
|
|
600
600
|
basis: [{
|
|
601
|
-
basis: [
|
|
601
|
+
basis: [V, "full", "auto", l, ...g()]
|
|
602
602
|
}],
|
|
603
603
|
/**
|
|
604
604
|
* Flex Direction
|
|
@@ -619,7 +619,7 @@ const tr = (e, o) => {
|
|
|
619
619
|
* @see https://tailwindcss.com/docs/flex
|
|
620
620
|
*/
|
|
621
621
|
flex: [{
|
|
622
|
-
flex: [b,
|
|
622
|
+
flex: [b, V, "auto", "initial", "none", d]
|
|
623
623
|
}],
|
|
624
624
|
/**
|
|
625
625
|
* Flex Grow
|
|
@@ -752,14 +752,14 @@ const tr = (e, o) => {
|
|
|
752
752
|
* @see https://tailwindcss.com/docs/justify-items
|
|
753
753
|
*/
|
|
754
754
|
"justify-items": [{
|
|
755
|
-
"justify-items": [...
|
|
755
|
+
"justify-items": [...B(), "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", ...
|
|
762
|
+
"justify-self": ["auto", ...B()]
|
|
763
763
|
}],
|
|
764
764
|
/**
|
|
765
765
|
* Align Content
|
|
@@ -773,7 +773,7 @@ const tr = (e, o) => {
|
|
|
773
773
|
* @see https://tailwindcss.com/docs/align-items
|
|
774
774
|
*/
|
|
775
775
|
"align-items": [{
|
|
776
|
-
items: [...
|
|
776
|
+
items: [...B(), {
|
|
777
777
|
baseline: ["", "last"]
|
|
778
778
|
}]
|
|
779
779
|
}],
|
|
@@ -782,7 +782,7 @@ const tr = (e, o) => {
|
|
|
782
782
|
* @see https://tailwindcss.com/docs/align-self
|
|
783
783
|
*/
|
|
784
784
|
"align-self": [{
|
|
785
|
-
self: ["auto", ...
|
|
785
|
+
self: ["auto", ...B(), {
|
|
786
786
|
baseline: ["", "last"]
|
|
787
787
|
}]
|
|
788
788
|
}],
|
|
@@ -798,14 +798,14 @@ const tr = (e, o) => {
|
|
|
798
798
|
* @see https://tailwindcss.com/docs/place-items
|
|
799
799
|
*/
|
|
800
800
|
"place-items": [{
|
|
801
|
-
"place-items": [...
|
|
801
|
+
"place-items": [...B(), "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", ...
|
|
808
|
+
"place-self": ["auto", ...B()]
|
|
809
809
|
}],
|
|
810
810
|
// Spacing
|
|
811
811
|
/**
|
|
@@ -966,14 +966,14 @@ const tr = (e, o) => {
|
|
|
966
966
|
* @see https://tailwindcss.com/docs/width#setting-both-width-and-height
|
|
967
967
|
*/
|
|
968
968
|
size: [{
|
|
969
|
-
size:
|
|
969
|
+
size: G()
|
|
970
970
|
}],
|
|
971
971
|
/**
|
|
972
972
|
* Width
|
|
973
973
|
* @see https://tailwindcss.com/docs/width
|
|
974
974
|
*/
|
|
975
975
|
w: [{
|
|
976
|
-
w: [l, "screen", ...
|
|
976
|
+
w: [l, "screen", ...G()]
|
|
977
977
|
}],
|
|
978
978
|
/**
|
|
979
979
|
* Min-Width
|
|
@@ -985,7 +985,7 @@ const tr = (e, o) => {
|
|
|
985
985
|
"screen",
|
|
986
986
|
/** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */
|
|
987
987
|
"none",
|
|
988
|
-
...
|
|
988
|
+
...G()
|
|
989
989
|
]
|
|
990
990
|
}],
|
|
991
991
|
/**
|
|
@@ -1003,7 +1003,7 @@ const tr = (e, o) => {
|
|
|
1003
1003
|
{
|
|
1004
1004
|
screen: [n]
|
|
1005
1005
|
},
|
|
1006
|
-
...
|
|
1006
|
+
...G()
|
|
1007
1007
|
]
|
|
1008
1008
|
}],
|
|
1009
1009
|
/**
|
|
@@ -1011,21 +1011,21 @@ const tr = (e, o) => {
|
|
|
1011
1011
|
* @see https://tailwindcss.com/docs/height
|
|
1012
1012
|
*/
|
|
1013
1013
|
h: [{
|
|
1014
|
-
h: ["screen", "lh", ...
|
|
1014
|
+
h: ["screen", "lh", ...G()]
|
|
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", ...
|
|
1021
|
+
"min-h": ["screen", "lh", "none", ...G()]
|
|
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", ...
|
|
1028
|
+
"max-h": ["screen", "lh", ...G()]
|
|
1029
1029
|
}],
|
|
1030
1030
|
// ------------------
|
|
1031
1031
|
// --- Typography ---
|
|
@@ -1035,7 +1035,7 @@ const tr = (e, o) => {
|
|
|
1035
1035
|
* @see https://tailwindcss.com/docs/font-size
|
|
1036
1036
|
*/
|
|
1037
1037
|
"font-size": [{
|
|
1038
|
-
text: ["base", r, $,
|
|
1038
|
+
text: ["base", r, $, j]
|
|
1039
1039
|
}],
|
|
1040
1040
|
/**
|
|
1041
1041
|
* Font Smoothing
|
|
@@ -1066,7 +1066,7 @@ const tr = (e, o) => {
|
|
|
1066
1066
|
* @see https://tailwindcss.com/docs/font-family
|
|
1067
1067
|
*/
|
|
1068
1068
|
"font-family": [{
|
|
1069
|
-
font: [
|
|
1069
|
+
font: [Fr, d, o]
|
|
1070
1070
|
}],
|
|
1071
1071
|
/**
|
|
1072
1072
|
* Font Variant Numeric
|
|
@@ -1183,7 +1183,7 @@ const tr = (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", m,
|
|
1186
|
+
decoration: [b, "from-font", "auto", m, j]
|
|
1187
1187
|
}],
|
|
1188
1188
|
/**
|
|
1189
1189
|
* Text Decoration Color
|
|
@@ -1321,7 +1321,7 @@ const tr = (e, o) => {
|
|
|
1321
1321
|
}, P, m, d],
|
|
1322
1322
|
radial: ["", m, d],
|
|
1323
1323
|
conic: [P, m, d]
|
|
1324
|
-
},
|
|
1324
|
+
}, Br, jr]
|
|
1325
1325
|
}],
|
|
1326
1326
|
/**
|
|
1327
1327
|
* Background Color
|
|
@@ -1670,7 +1670,7 @@ const tr = (e, o) => {
|
|
|
1670
1670
|
* @see https://tailwindcss.com/docs/outline-width
|
|
1671
1671
|
*/
|
|
1672
1672
|
"outline-w": [{
|
|
1673
|
-
outline: ["", b, $,
|
|
1673
|
+
outline: ["", b, $, j]
|
|
1674
1674
|
}],
|
|
1675
1675
|
/**
|
|
1676
1676
|
* Outline Color
|
|
@@ -1745,7 +1745,7 @@ const tr = (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,
|
|
1748
|
+
"ring-offset": [b, j]
|
|
1749
1749
|
}],
|
|
1750
1750
|
/**
|
|
1751
1751
|
* Ring Offset Color
|
|
@@ -1935,7 +1935,7 @@ const tr = (e, o) => {
|
|
|
1935
1935
|
}]
|
|
1936
1936
|
}],
|
|
1937
1937
|
"mask-image-radial-pos": [{
|
|
1938
|
-
"mask-radial-at":
|
|
1938
|
+
"mask-radial-at": F()
|
|
1939
1939
|
}],
|
|
1940
1940
|
"mask-image-conic-pos": [{
|
|
1941
1941
|
"mask-conic": [b]
|
|
@@ -2282,7 +2282,7 @@ const tr = (e, o) => {
|
|
|
2282
2282
|
* @see https://tailwindcss.com/docs/perspective-origin
|
|
2283
2283
|
*/
|
|
2284
2284
|
"perspective-origin": [{
|
|
2285
|
-
"perspective-origin":
|
|
2285
|
+
"perspective-origin": L()
|
|
2286
2286
|
}],
|
|
2287
2287
|
/**
|
|
2288
2288
|
* Rotate
|
|
@@ -2378,7 +2378,7 @@ const tr = (e, o) => {
|
|
|
2378
2378
|
* @see https://tailwindcss.com/docs/transform-origin
|
|
2379
2379
|
*/
|
|
2380
2380
|
"transform-origin": [{
|
|
2381
|
-
origin:
|
|
2381
|
+
origin: L()
|
|
2382
2382
|
}],
|
|
2383
2383
|
/**
|
|
2384
2384
|
* Transform Style
|
|
@@ -2695,7 +2695,7 @@ const tr = (e, o) => {
|
|
|
2695
2695
|
* @see https://tailwindcss.com/docs/stroke-width
|
|
2696
2696
|
*/
|
|
2697
2697
|
"stroke-w": [{
|
|
2698
|
-
stroke: [b, $,
|
|
2698
|
+
stroke: [b, $, j, ce]
|
|
2699
2699
|
}],
|
|
2700
2700
|
/**
|
|
2701
2701
|
* Stroke
|
|
@@ -2770,14 +2770,14 @@ const tr = (e, o) => {
|
|
|
2770
2770
|
},
|
|
2771
2771
|
orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
|
|
2772
2772
|
};
|
|
2773
|
-
},
|
|
2773
|
+
}, Wr = /* @__PURE__ */ kr(Dr);
|
|
2774
2774
|
function h(...e) {
|
|
2775
|
-
return
|
|
2775
|
+
return Wr(rr(e));
|
|
2776
2776
|
}
|
|
2777
2777
|
const Ur = {
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2778
|
+
owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
|
|
2779
|
+
admin: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
|
|
2780
|
+
member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
|
|
2781
2781
|
};
|
|
2782
2782
|
function $r({
|
|
2783
2783
|
entity: e,
|
|
@@ -3023,22 +3023,22 @@ function Ie({ entity: e, isSelected: o, onClick: r }) {
|
|
|
3023
3023
|
}
|
|
3024
3024
|
const de = [
|
|
3025
3025
|
{
|
|
3026
|
-
value: te.
|
|
3027
|
-
label: "
|
|
3026
|
+
value: te.OWNER,
|
|
3027
|
+
label: "Owner",
|
|
3028
3028
|
description: "Full access to all settings and members",
|
|
3029
3029
|
icon: Xe,
|
|
3030
3030
|
color: "text-purple-600 dark:text-purple-400"
|
|
3031
3031
|
},
|
|
3032
3032
|
{
|
|
3033
|
-
value: te.
|
|
3034
|
-
label: "
|
|
3033
|
+
value: te.ADMIN,
|
|
3034
|
+
label: "Admin",
|
|
3035
3035
|
description: "Can manage projects and API keys",
|
|
3036
3036
|
icon: Ye,
|
|
3037
3037
|
color: "text-blue-600 dark:text-blue-400"
|
|
3038
3038
|
},
|
|
3039
3039
|
{
|
|
3040
|
-
value: te.
|
|
3041
|
-
label: "
|
|
3040
|
+
value: te.MEMBER,
|
|
3041
|
+
label: "Member",
|
|
3042
3042
|
description: "Read-only access",
|
|
3043
3043
|
icon: qe,
|
|
3044
3044
|
color: "text-gray-600 dark:text-gray-400"
|
|
@@ -3130,9 +3130,9 @@ function Ue({
|
|
|
3130
3130
|
] });
|
|
3131
3131
|
}
|
|
3132
3132
|
const Xr = {
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3133
|
+
owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
|
|
3134
|
+
admin: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
|
|
3135
|
+
member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
|
|
3136
3136
|
};
|
|
3137
3137
|
function ot({
|
|
3138
3138
|
members: e,
|
|
@@ -3225,7 +3225,7 @@ function Yr({
|
|
|
3225
3225
|
function st({
|
|
3226
3226
|
onSubmit: e,
|
|
3227
3227
|
isSubmitting: o = !1,
|
|
3228
|
-
defaultRole: r = te.
|
|
3228
|
+
defaultRole: r = te.MEMBER,
|
|
3229
3229
|
className: t,
|
|
3230
3230
|
onTrack: s,
|
|
3231
3231
|
trackingLabel: c,
|
|
@@ -3303,9 +3303,9 @@ function qr(e) {
|
|
|
3303
3303
|
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
|
|
3304
3304
|
}
|
|
3305
3305
|
const Jr = {
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3306
|
+
owner: "bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",
|
|
3307
|
+
admin: "bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",
|
|
3308
|
+
member: "bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"
|
|
3309
3309
|
};
|
|
3310
3310
|
function nt({
|
|
3311
3311
|
invitations: e,
|
package/dist/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(S,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react/jsx-runtime"),require("lucide-react"),require("react"),require("@sudobility/types")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","lucide-react","react","@sudobility/types"],r):(S=typeof globalThis<"u"?globalThis:S||self,r(S.EntityComponents={},S.ReactJSXRuntime,S.LucideReact,S.React,S.SudobilityTypes))})(this,(function(S,r,v,$,J){"use strict";function ue(e){var s,o,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(s=0;s<n;s++)e[s]&&(o=ue(e[s]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Ue(){for(var e,s,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(s=ue(e))&&(t&&(t+=" "),t+=s);return t}const _e=(e,s)=>{const o=new Array(e.length+s.length);for(let t=0;t<e.length;t++)o[t]=e[t];for(let t=0;t<s.length;t++)o[e.length+t]=s[t];return o},We=(e,s)=>({classGroupId:e,validator:s}),fe=(e=new Map,s=null,o)=>({nextPart:e,validators:s,classGroupId:o}),H="-",ge=[],$e="arbitrary..",qe=e=>{const s=Ye(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Xe(a);const l=a.split(H),i=l[0]===""&&l.length>1?1:0;return be(l,i,s)},getConflictingClassGroupIds:(a,l)=>{if(l){const i=t[a],m=o[a];return i?m?_e(m,i):i:m||ge}return o[a]||ge}}},be=(e,s,o)=>{if(e.length-s===0)return o.classGroupId;const n=e[s],c=o.nextPart.get(n);if(c){const m=be(e,s+1,c);if(m)return m}const a=o.validators;if(a===null)return;const l=s===0?e.join(H):e.slice(s).join(H),i=a.length;for(let m=0;m<i;m++){const f=a[m];if(f.validator(l))return f.classGroupId}},Xe=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const s=e.slice(1,-1),o=s.indexOf(":"),t=s.slice(0,o);return t?$e+t:void 0})(),Ye=e=>{const{theme:s,classGroups:o}=e;return Je(o,s)},Je=(e,s)=>{const o=fe();for(const t in e){const n=e[t];se(n,o,t,s)}return o},se=(e,s,o,t)=>{const n=e.length;for(let c=0;c<n;c++){const a=e[c];He(a,s,o,t)}},He=(e,s,o,t)=>{if(typeof e=="string"){Ke(e,s,o);return}if(typeof e=="function"){Qe(e,s,o,t);return}Ze(e,s,o,t)},Ke=(e,s,o)=>{const t=e===""?s:he(s,e);t.classGroupId=o},Qe=(e,s,o,t)=>{if(Re(e)){se(e(t),s,o,t);return}s.validators===null&&(s.validators=[]),s.validators.push(We(o,e))},Ze=(e,s,o,t)=>{const n=Object.entries(e),c=n.length;for(let a=0;a<c;a++){const[l,i]=n[a];se(i,he(s,l),o,t)}},he=(e,s)=>{let o=e;const t=s.split(H),n=t.length;for(let c=0;c<n;c++){const a=t[c];let l=o.nextPart.get(a);l||(l=fe(),o.nextPart.set(a,l)),o=l}return o},Re=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,er=e=>{if(e<1)return{get:()=>{},set:()=>{}};let s=0,o=Object.create(null),t=Object.create(null);const n=(c,a)=>{o[c]=a,s++,s>e&&(s=0,t=o,o=Object.create(null))};return{get(c){let a=o[c];if(a!==void 0)return a;if((a=t[c])!==void 0)return n(c,a),a},set(c,a){c in o?o[c]=a:n(c,a)}}},ne="!",xe=":",rr=[],ye=(e,s,o,t,n)=>({modifiers:e,hasImportantModifier:s,baseClassName:o,maybePostfixModifierPosition:t,isExternal:n}),or=e=>{const{prefix:s,experimentalParseClassName:o}=e;let t=n=>{const c=[];let a=0,l=0,i=0,m;const f=n.length;for(let w=0;w<f;w++){const I=n[w];if(a===0&&l===0){if(I===xe){c.push(n.slice(i,w)),i=w+1;continue}if(I==="/"){m=w;continue}}I==="["?a++:I==="]"?a--:I==="("?l++:I===")"&&l--}const k=c.length===0?n:n.slice(i);let x=k,N=!1;k.endsWith(ne)?(x=k.slice(0,-1),N=!0):k.startsWith(ne)&&(x=k.slice(1),N=!0);const y=m&&m>i?m-i:void 0;return ye(c,N,x,y)};if(s){const n=s+xe,c=t;t=a=>a.startsWith(n)?c(a.slice(n.length)):ye(rr,!1,a,void 0,!0)}if(o){const n=t;t=c=>o({className:c,parseClassName:n})}return t},tr=e=>{const s=new Map;return e.orderSensitiveModifiers.forEach((o,t)=>{s.set(o,1e6+t)}),o=>{const t=[];let n=[];for(let c=0;c<o.length;c++){const a=o[c],l=a[0]==="[",i=s.has(a);l||i?(n.length>0&&(n.sort(),t.push(...n),n=[]),t.push(a)):n.push(a)}return n.length>0&&(n.sort(),t.push(...n)),t}},sr=e=>({cache:er(e.cacheSize),parseClassName:or(e),sortModifiers:tr(e),...qe(e)}),nr=/\s+/,ar=(e,s)=>{const{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n,sortModifiers:c}=s,a=[],l=e.trim().split(nr);let i="";for(let m=l.length-1;m>=0;m-=1){const f=l[m],{isExternal:k,modifiers:x,hasImportantModifier:N,baseClassName:y,maybePostfixModifierPosition:w}=o(f);if(k){i=f+(i.length>0?" "+i:i);continue}let I=!!w,j=t(I?y.substring(0,w):y);if(!j){if(!I){i=f+(i.length>0?" "+i:i);continue}if(j=t(y),!j){i=f+(i.length>0?" "+i:i);continue}I=!1}const Z=x.length===0?"":x.length===1?x[0]:c(x).join(":"),X=N?Z+ne:Z,U=X+j;if(a.indexOf(U)>-1)continue;a.push(U);const _=n(j,I);for(let F=0;F<_.length;++F){const Y=_[F];a.push(X+Y)}i=f+(i.length>0?" "+i:i)}return i},lr=(...e)=>{let s=0,o,t,n="";for(;s<e.length;)(o=e[s++])&&(t=we(o))&&(n&&(n+=" "),n+=t);return n},we=e=>{if(typeof e=="string")return e;let s,o="";for(let t=0;t<e.length;t++)e[t]&&(s=we(e[t]))&&(o&&(o+=" "),o+=s);return o},ir=(e,...s)=>{let o,t,n,c;const a=i=>{const m=s.reduce((f,k)=>k(f),e());return o=sr(m),t=o.cache.get,n=o.cache.set,c=l,l(i)},l=i=>{const m=t(i);if(m)return m;const f=ar(i,o);return n(i,f),f};return c=a,(...i)=>c(lr(...i))},cr=[],C=e=>{const s=o=>o[e]||cr;return s.isThemeGetter=!0,s},ve=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ke=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dr=/^\d+\/\d+$/,pr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,mr=/\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$/,ur=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,fr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,V=e=>dr.test(e),b=e=>!!e&&!Number.isNaN(Number(e)),G=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith("%")&&b(e.slice(0,-1)),E=e=>pr.test(e),br=()=>!0,hr=e=>mr.test(e)&&!ur.test(e),Ne=()=>!1,xr=e=>fr.test(e),yr=e=>gr.test(e),wr=e=>!d(e)&&!p(e),vr=e=>B(e,Ie,Ne),d=e=>ve.test(e),O=e=>B(e,Me,hr),le=e=>B(e,Sr,b),Ce=e=>B(e,Se,Ne),kr=e=>B(e,Ae,yr),K=e=>B(e,Ee,xr),p=e=>ke.test(e),q=e=>D(e,Me),Nr=e=>D(e,Ar),ze=e=>D(e,Se),Cr=e=>D(e,Ie),zr=e=>D(e,Ae),Q=e=>D(e,Ee,!0),B=(e,s,o)=>{const t=ve.exec(e);return t?t[1]?s(t[1]):o(t[2]):!1},D=(e,s,o=!1)=>{const t=ke.exec(e);return t?t[1]?s(t[1]):o:!1},Se=e=>e==="position"||e==="percentage",Ae=e=>e==="image"||e==="url",Ie=e=>e==="length"||e==="size"||e==="bg-size",Me=e=>e==="length",Sr=e=>e==="number",Ar=e=>e==="family-name",Ee=e=>e==="shadow",Ir=ir(()=>{const e=C("color"),s=C("font"),o=C("text"),t=C("font-weight"),n=C("tracking"),c=C("leading"),a=C("breakpoint"),l=C("container"),i=C("spacing"),m=C("radius"),f=C("shadow"),k=C("inset-shadow"),x=C("text-shadow"),N=C("drop-shadow"),y=C("blur"),w=C("perspective"),I=C("aspect"),j=C("ease"),Z=C("animate"),X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],U=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],_=()=>[...U(),p,d],F=()=>["auto","hidden","clip","visible","scroll"],Y=()=>["auto","contain","none"],g=()=>[p,d,i],P=()=>[V,"full","auto",...g()],Ge=()=>[G,"none","subgrid",p,d],Oe=()=>["auto",{span:["full",G,p,d]},G,p,d],R=()=>[G,"auto",p,d],je=()=>["auto","min","max","fr",p,d],de=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],W=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...g()],L=()=>[V,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],u=()=>[e,p,d],Fe=()=>[...U(),ze,Ce,{position:[p,d]}],Le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",Cr,vr,{size:[p,d]}],pe=()=>[ae,q,O],A=()=>["","none","full",m,p,d],M=()=>["",b,q,O],ee=()=>["solid","dashed","dotted","double"],Be=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],z=()=>[b,ae,ze,Ce],De=()=>["","none",y,p,d],re=()=>["none",b,p,d],oe=()=>["none",b,p,d],me=()=>[b,p,d],te=()=>[V,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[E],breakpoint:[E],color:[br],container:[E],"drop-shadow":[E],ease:["in","out","in-out"],font:[wr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[E],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[E],shadow:[E],spacing:["px",b],text:[E],"text-shadow":[E],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",V,d,p,I]}],container:["container"],columns:[{columns:[b,d,p,l]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:_()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:Y()}],"overscroll-x":[{"overscroll-x":Y()}],"overscroll-y":[{"overscroll-y":Y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{start:P()}],end:[{end:P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[G,"auto",p,d]}],basis:[{basis:[V,"full","auto",l,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[b,V,"auto","initial","none",d]}],grow:[{grow:["",b,p,d]}],shrink:[{shrink:["",b,p,d]}],order:[{order:[G,"first","last","none",p,d]}],"grid-cols":[{"grid-cols":Ge()}],"col-start-end":[{col:Oe()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":Ge()}],"row-start-end":[{row:Oe()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":je()}],"auto-rows":[{"auto-rows":je()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...de(),"normal"]}],"justify-items":[{"justify-items":[...W(),"normal"]}],"justify-self":[{"justify-self":["auto",...W()]}],"align-content":[{content:["normal",...de()]}],"align-items":[{items:[...W(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...W(),{baseline:["","last"]}]}],"place-content":[{"place-content":de()}],"place-items":[{"place-items":[...W(),"baseline"]}],"place-self":[{"place-self":["auto",...W()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],w:[{w:[l,"screen",...L()]}],"min-w":[{"min-w":[l,"screen","none",...L()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",o,q,O]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,p,le]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ae,d]}],"font-family":[{font:[Nr,d,s]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,p,d]}],"line-clamp":[{"line-clamp":[b,"none",p,le]}],leading:[{leading:[c,...g()]}],"list-image":[{"list-image":["none",p,d]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,d]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:u()}],"text-color":[{text:u()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[b,"from-font","auto",p,O]}],"text-decoration-color":[{decoration:u()}],"underline-offset":[{"underline-offset":[b,"auto",p,d]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,d]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,d]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Fe()}],"bg-repeat":[{bg:Le()}],"bg-size":[{bg:Ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},G,p,d],radial:["",p,d],conic:[G,p,d]},zr,kr]}],"bg-color":[{bg:u()}],"gradient-from-pos":[{from:pe()}],"gradient-via-pos":[{via:pe()}],"gradient-to-pos":[{to:pe()}],"gradient-from":[{from:u()}],"gradient-via":[{via:u()}],"gradient-to":[{to:u()}],rounded:[{rounded:A()}],"rounded-s":[{"rounded-s":A()}],"rounded-e":[{"rounded-e":A()}],"rounded-t":[{"rounded-t":A()}],"rounded-r":[{"rounded-r":A()}],"rounded-b":[{"rounded-b":A()}],"rounded-l":[{"rounded-l":A()}],"rounded-ss":[{"rounded-ss":A()}],"rounded-se":[{"rounded-se":A()}],"rounded-ee":[{"rounded-ee":A()}],"rounded-es":[{"rounded-es":A()}],"rounded-tl":[{"rounded-tl":A()}],"rounded-tr":[{"rounded-tr":A()}],"rounded-br":[{"rounded-br":A()}],"rounded-bl":[{"rounded-bl":A()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":M()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:u()}],"border-color-x":[{"border-x":u()}],"border-color-y":[{"border-y":u()}],"border-color-s":[{"border-s":u()}],"border-color-e":[{"border-e":u()}],"border-color-t":[{"border-t":u()}],"border-color-r":[{"border-r":u()}],"border-color-b":[{"border-b":u()}],"border-color-l":[{"border-l":u()}],"divide-color":[{divide:u()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[b,p,d]}],"outline-w":[{outline:["",b,q,O]}],"outline-color":[{outline:u()}],shadow:[{shadow:["","none",f,Q,K]}],"shadow-color":[{shadow:u()}],"inset-shadow":[{"inset-shadow":["none",k,Q,K]}],"inset-shadow-color":[{"inset-shadow":u()}],"ring-w":[{ring:M()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:u()}],"ring-offset-w":[{"ring-offset":[b,O]}],"ring-offset-color":[{"ring-offset":u()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":u()}],"text-shadow":[{"text-shadow":["none",x,Q,K]}],"text-shadow-color":[{"text-shadow":u()}],opacity:[{opacity:[b,p,d]}],"mix-blend":[{"mix-blend":[...Be(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Be()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[b]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":u()}],"mask-image-linear-to-color":[{"mask-linear-to":u()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":u()}],"mask-image-t-to-color":[{"mask-t-to":u()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":u()}],"mask-image-r-to-color":[{"mask-r-to":u()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":u()}],"mask-image-b-to-color":[{"mask-b-to":u()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":u()}],"mask-image-l-to-color":[{"mask-l-to":u()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":u()}],"mask-image-x-to-color":[{"mask-x-to":u()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":u()}],"mask-image-y-to-color":[{"mask-y-to":u()}],"mask-image-radial":[{"mask-radial":[p,d]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":u()}],"mask-image-radial-to-color":[{"mask-radial-to":u()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":U()}],"mask-image-conic-pos":[{"mask-conic":[b]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":u()}],"mask-image-conic-to-color":[{"mask-conic-to":u()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Fe()}],"mask-repeat":[{mask:Le()}],"mask-size":[{mask:Ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,d]}],filter:[{filter:["","none",p,d]}],blur:[{blur:De()}],brightness:[{brightness:[b,p,d]}],contrast:[{contrast:[b,p,d]}],"drop-shadow":[{"drop-shadow":["","none",N,Q,K]}],"drop-shadow-color":[{"drop-shadow":u()}],grayscale:[{grayscale:["",b,p,d]}],"hue-rotate":[{"hue-rotate":[b,p,d]}],invert:[{invert:["",b,p,d]}],saturate:[{saturate:[b,p,d]}],sepia:[{sepia:["",b,p,d]}],"backdrop-filter":[{"backdrop-filter":["","none",p,d]}],"backdrop-blur":[{"backdrop-blur":De()}],"backdrop-brightness":[{"backdrop-brightness":[b,p,d]}],"backdrop-contrast":[{"backdrop-contrast":[b,p,d]}],"backdrop-grayscale":[{"backdrop-grayscale":["",b,p,d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b,p,d]}],"backdrop-invert":[{"backdrop-invert":["",b,p,d]}],"backdrop-opacity":[{"backdrop-opacity":[b,p,d]}],"backdrop-saturate":[{"backdrop-saturate":[b,p,d]}],"backdrop-sepia":[{"backdrop-sepia":["",b,p,d]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,d]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[b,"initial",p,d]}],ease:[{ease:["linear","initial",j,p,d]}],delay:[{delay:[b,p,d]}],animate:[{animate:["none",Z,p,d]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,p,d]}],"perspective-origin":[{"perspective-origin":_()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[p,d,"","none","gpu","cpu"]}],"transform-origin":[{origin:_()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:te()}],"translate-x":[{"translate-x":te()}],"translate-y":[{"translate-y":te()}],"translate-z":[{"translate-z":te()}],"translate-none":["translate-none"],accent:[{accent:u()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:u()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",p,d]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",p,d]}],fill:[{fill:["none",...u()]}],"stroke-w":[{stroke:[b,q,O,le]}],stroke:[{stroke:["none",...u()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function h(...e){return Ir(Ue(e))}const Mr={admin:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",manager:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",viewer:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Pe({entity:e,isSelected:s=!1,onClick:o,className:t,onTrack:n,trackingLabel:c,componentName:a="EntityCard"}){const l=e.entityType==="personal",i=l?v.User:v.Building2,m=()=>{n?.({action:"click",trackingLabel:c,componentName:a}),o?.()};return r.jsx("div",{onClick:o?m:void 0,className:h("rounded-lg border p-4 transition-all",o&&"cursor-pointer hover:border-primary",s&&"border-primary bg-primary/5",!s&&"border-border bg-card",t),children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:h("flex h-10 w-10 items-center justify-center rounded-full",l?"bg-blue-100 dark:bg-blue-900":"bg-purple-100 dark:bg-purple-900"),children:e.avatarUrl?r.jsx("img",{src:e.avatarUrl,alt:e.displayName,className:"h-10 w-10 rounded-full object-cover"}):r.jsx(i,{className:h("h-5 w-5",l?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400")})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h3",{className:"font-medium text-foreground truncate",children:e.displayName}),r.jsx("span",{className:h("text-xs px-2 py-0.5 rounded-full font-medium",Mr[e.userRole]),children:e.userRole})]}),r.jsx("p",{className:"text-sm text-muted-foreground",children:l?"Personal workspace":"Organization"}),e.description&&r.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:e.description})]})]})})}function Er({entities:e,selectedSlug:s,onSelect:o,isLoading:t=!1,emptyMessage:n="No workspaces found",className:c,onTrack:a,trackingLabel:l,componentName:i="EntityList"}){if(t)return r.jsx("div",{className:h("space-y-3",c),children:[1,2,3].map(f=>r.jsx("div",{className:"h-24 rounded-lg border border-border bg-muted animate-pulse"},f))});if(e.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",c),children:n});const m=f=>{a?.({action:"select",trackingLabel:l,componentName:i}),o?.(f)};return r.jsx("div",{className:h("space-y-3",c),children:e.map(f=>r.jsx(Pe,{entity:f,isSelected:f.entitySlug===s,onClick:o?()=>m(f):void 0,onTrack:a,trackingLabel:l},f.id))})}function Pr({entities:e,currentEntity:s,onSelect:o,onCreateNew:t,isLoading:n=!1,className:c,onTrack:a,trackingLabel:l,componentName:i="EntitySelector"}){const[m,f]=$.useState(!1),k=()=>{a?.({action:"toggle",trackingLabel:l,componentName:i}),f(!m)},x=y=>{a?.({action:"select",trackingLabel:l,componentName:i}),o(y),f(!1)},N=()=>{a?.({action:"create_new",trackingLabel:l,componentName:i}),t?.(),f(!1)};return r.jsxs("div",{className:h("relative",c),children:[r.jsxs("button",{type:"button",onClick:k,disabled:n,className:h("flex items-center gap-2 px-3 py-2 rounded-lg border","bg-background hover:bg-muted transition-colors","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",n&&"opacity-50 cursor-not-allowed"),children:[s?r.jsxs(r.Fragment,{children:[s.entityType==="personal"?r.jsx(v.User,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}):r.jsx(v.Building2,{className:"h-4 w-4 text-purple-600 dark:text-purple-400"}),r.jsx("span",{className:"font-medium text-sm truncate max-w-[150px]",children:s.displayName})]}):r.jsx("span",{className:"text-sm text-muted-foreground",children:"Select workspace"}),r.jsx(v.ChevronDown,{className:h("h-4 w-4 text-muted-foreground transition-transform",m&&"rotate-180")})]}),m&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>f(!1)}),r.jsx("div",{className:h("absolute top-full left-0 mt-1 z-50","min-w-[220px] rounded-lg border bg-popover shadow-lg","animate-in fade-in-0 zoom-in-95"),children:r.jsxs("div",{className:"p-1",children:[e.filter(y=>y.entityType==="personal").map(y=>r.jsx(Te,{entity:y,isSelected:y.id===s?.id,onClick:()=>x(y)},y.id)),e.some(y=>y.entityType==="personal")&&e.some(y=>y.entityType==="organization")&&r.jsx("div",{className:"my-1 h-px bg-border"}),e.filter(y=>y.entityType==="organization").map(y=>r.jsx(Te,{entity:y,isSelected:y.id===s?.id,onClick:()=>x(y)},y.id)),t&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"my-1 h-px bg-border"}),r.jsxs("button",{type:"button",onClick:N,className:h("flex items-center gap-2 w-full px-2 py-1.5 rounded","text-sm text-primary hover:bg-muted transition-colors"),children:[r.jsx(v.Plus,{className:"h-4 w-4"}),r.jsx("span",{children:"Create organization"})]})]})]})})]})]})}function Te({entity:e,isSelected:s,onClick:o}){const t=e.entityType==="personal",n=t?v.User:v.Building2;return r.jsxs("button",{type:"button",onClick:o,className:h("flex items-center gap-2 w-full px-2 py-1.5 rounded","text-sm transition-colors",s?"bg-primary/10 text-primary":"hover:bg-muted text-foreground"),children:[r.jsx(n,{className:h("h-4 w-4",t?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400")}),r.jsx("span",{className:"flex-1 text-left truncate",children:e.displayName}),s&&r.jsx(v.Check,{className:"h-4 w-4"})]})}const ie=[{value:J.EntityRole.ADMIN,label:"Admin",description:"Full access to all settings and members",icon:v.Shield,color:"text-purple-600 dark:text-purple-400"},{value:J.EntityRole.MANAGER,label:"Manager",description:"Can manage projects and API keys",icon:v.Briefcase,color:"text-blue-600 dark:text-blue-400"},{value:J.EntityRole.VIEWER,label:"Viewer",description:"Read-only access",icon:v.Eye,color:"text-gray-600 dark:text-gray-400"}];function ce({value:e,onChange:s,disabled:o=!1,className:t,onTrack:n,trackingLabel:c,componentName:a="MemberRoleSelector"}){const[l,i]=$.useState(!1),m=ie.find(x=>x.value===e)||ie[2],f=()=>{o||(n?.({action:"toggle",trackingLabel:c,componentName:a}),i(!l))},k=x=>{n?.({action:"select",trackingLabel:c,componentName:a}),s(x),i(!1)};return r.jsxs("div",{className:h("relative",t),children:[r.jsxs("button",{type:"button",onClick:f,disabled:o,className:h("flex items-center gap-1.5 px-2 py-1 rounded border text-sm","bg-background transition-colors",o?"opacity-50 cursor-not-allowed":"hover:bg-muted cursor-pointer"),children:[r.jsx(m.icon,{className:h("h-3.5 w-3.5",m.color)}),r.jsx("span",{children:m.label}),r.jsx(v.ChevronDown,{className:h("h-3.5 w-3.5 text-muted-foreground transition-transform",l&&"rotate-180")})]}),l&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>i(!1)}),r.jsx("div",{className:h("absolute top-full right-0 mt-1 z-50","min-w-[200px] rounded-lg border bg-popover shadow-lg p-1","animate-in fade-in-0 zoom-in-95"),children:ie.map(x=>r.jsxs("button",{type:"button",onClick:()=>k(x.value),className:h("flex items-start gap-2 w-full px-2 py-2 rounded text-left","transition-colors",x.value===e?"bg-primary/10":"hover:bg-muted"),children:[r.jsx(x.icon,{className:h("h-4 w-4 mt-0.5",x.color)}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"font-medium text-sm",children:x.label}),x.value===e&&r.jsx(v.Check,{className:"h-3.5 w-3.5 text-primary"})]}),r.jsx("p",{className:"text-xs text-muted-foreground",children:x.description})]})]},x.value))})]})]})}const Tr={admin:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",manager:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",viewer:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Gr({members:e,currentUserId:s,canManage:o=!1,onRoleChange:t,onRemove:n,isLoading:c=!1,emptyMessage:a="No members found",className:l,onTrack:i,trackingLabel:m,componentName:f="MemberList"}){if(c)return r.jsx("div",{className:h("space-y-2",l),children:[1,2,3].map(N=>r.jsx("div",{className:"h-16 rounded-lg border border-border bg-muted animate-pulse"},N))});if(e.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",l),children:a});const k=(N,y)=>{i?.({action:"role_change",trackingLabel:m,componentName:f}),t?.(N,y)},x=N=>{i?.({action:"remove",trackingLabel:m,componentName:f}),n?.(N)};return r.jsx("div",{className:h("divide-y divide-border rounded-lg border",l),children:e.map(N=>r.jsx(Or,{member:N,isSelf:N.userId===s,canManage:o,onRoleChange:t?k:void 0,onRemove:n?x:void 0},N.id))})}function Or({member:e,isSelf:s,canManage:o,onRoleChange:t,onRemove:n}){const c=e.user?.displayName||e.user?.email||"Unknown user",a=e.user?.email;return r.jsxs("div",{className:"flex items-center gap-3 p-3",children:[r.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-muted",children:r.jsx(v.User,{className:"h-5 w-5 text-muted-foreground"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("p",{className:"font-medium text-foreground truncate",children:c}),s&&r.jsx("span",{className:"text-xs text-muted-foreground",children:"(you)"})]}),a&&r.jsx("p",{className:"text-sm text-muted-foreground truncate",children:a})]}),o&&t&&!s?r.jsx(ce,{value:e.role,onChange:l=>t(e.userId,l)}):r.jsx("span",{className:h("text-xs px-2 py-1 rounded-full font-medium",Tr[e.role]),children:e.role}),o&&n&&!s&&r.jsx("button",{type:"button",onClick:()=>n(e.userId),className:h("p-1.5 rounded hover:bg-destructive/10 text-muted-foreground","hover:text-destructive transition-colors"),title:"Remove member",children:r.jsx(v.Trash2,{className:"h-4 w-4"})})]})}function jr({onSubmit:e,isSubmitting:s=!1,defaultRole:o=J.EntityRole.VIEWER,className:t,onTrack:n,trackingLabel:c,componentName:a="InvitationForm"}){const[l,i]=$.useState(""),[m,f]=$.useState(o),[k,x]=$.useState(null),N=async y=>{if(y.preventDefault(),x(null),!l.trim()){x("Email is required");return}if(!Fr(l)){x("Please enter a valid email address");return}n?.({action:"submit",trackingLabel:c,componentName:a});try{await e({email:l.trim(),role:m}),i(""),f(o)}catch(w){x(w.message||"Failed to send invitation")}};return r.jsxs("form",{onSubmit:N,className:h("space-y-4",t),children:[r.jsxs("div",{className:"flex gap-2",children:[r.jsxs("div",{className:"relative flex-1",children:[r.jsx(v.Mail,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),r.jsx("input",{type:"email",value:l,onChange:y=>i(y.target.value),placeholder:"Enter email address",disabled:s,className:h("w-full pl-10 pr-3 py-2 rounded-lg border bg-background","text-sm placeholder:text-muted-foreground","focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent",k&&"border-destructive focus:ring-destructive",s&&"opacity-50 cursor-not-allowed")})]}),r.jsx(ce,{value:m,onChange:f,disabled:s}),r.jsxs("button",{type:"submit",disabled:s||!l.trim(),className:h("flex items-center gap-2 px-4 py-2 rounded-lg","bg-primary text-primary-foreground font-medium text-sm","hover:bg-primary/90 transition-colors","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",(s||!l.trim())&&"opacity-50 cursor-not-allowed"),children:[s?r.jsx(v.Loader2,{className:"h-4 w-4 animate-spin"}):r.jsx(v.Send,{className:"h-4 w-4"}),r.jsx("span",{className:"hidden sm:inline",children:"Invite"})]})]}),k&&r.jsx("p",{className:"text-sm text-destructive",children:k})]})}function Fr(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}const Lr={admin:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",manager:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",viewer:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Vr({invitations:e,mode:s,onCancel:o,onAccept:t,onDecline:n,isLoading:c=!1,emptyMessage:a="No pending invitations",className:l,onTrack:i,trackingLabel:m,componentName:f="InvitationList"}){const k=e.filter(w=>w.status==="pending");if(c)return r.jsx("div",{className:h("space-y-2",l),children:[1,2].map(w=>r.jsx("div",{className:"h-16 rounded-lg border border-border bg-muted animate-pulse"},w))});if(k.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",l),children:a});const x=w=>{i?.({action:"cancel",trackingLabel:m,componentName:f}),o?.(w)},N=w=>{i?.({action:"accept",trackingLabel:m,componentName:f}),t?.(w)},y=w=>{i?.({action:"decline",trackingLabel:m,componentName:f}),n?.(w)};return r.jsx("div",{className:h("divide-y divide-border rounded-lg border",l),children:k.map(w=>r.jsx(Br,{invitation:w,mode:s,onCancel:o?x:void 0,onAccept:t?N:void 0,onDecline:n?y:void 0},w.id))})}function Br({invitation:e,mode:s,onCancel:o,onAccept:t,onDecline:n}){const c=new Date(e.expiresAt),a=c<new Date,l=Math.ceil((c.getTime()-Date.now())/(1e3*60*60*24));return r.jsxs("div",{className:"flex items-center gap-3 p-3",children:[r.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-muted",children:r.jsx(v.Mail,{className:"h-5 w-5 text-muted-foreground"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[s==="user"&&e.entity?r.jsx("p",{className:"font-medium text-foreground truncate",children:e.entity.displayName}):r.jsx("p",{className:"font-medium text-foreground truncate",children:e.email}),r.jsx("span",{className:h("text-xs px-2 py-0.5 rounded-full font-medium",Lr[e.role]),children:e.role})]}),r.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[r.jsx(v.Clock,{className:"h-3.5 w-3.5"}),a?r.jsx("span",{className:"text-destructive",children:"Expired"}):r.jsxs("span",{children:["Expires in ",l," days"]})]})]}),s==="admin"&&o&&r.jsx("button",{type:"button",onClick:()=>o(e.id),className:h("p-1.5 rounded hover:bg-destructive/10 text-muted-foreground","hover:text-destructive transition-colors"),title:"Cancel invitation",children:r.jsx(v.XCircle,{className:"h-4 w-4"})}),s==="user"&&r.jsxs("div",{className:"flex items-center gap-2",children:[n&&r.jsxs("button",{type:"button",onClick:()=>n(e.token),className:h("flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm","border hover:bg-muted transition-colors"),children:[r.jsx(v.X,{className:"h-4 w-4"}),r.jsx("span",{children:"Decline"})]}),t&&r.jsxs("button",{type:"button",onClick:()=>t(e.token),disabled:a,className:h("flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm","bg-primary text-primary-foreground","hover:bg-primary/90 transition-colors",a&&"opacity-50 cursor-not-allowed"),children:[r.jsx(v.Check,{className:"h-4 w-4"}),r.jsx("span",{children:"Accept"})]})]})]})}S.EntityCard=Pe,S.EntityList=Er,S.EntitySelector=Pr,S.InvitationForm=jr,S.InvitationList=Vr,S.MemberList=Gr,S.MemberRoleSelector=ce,S.cn=h,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(S,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("react/jsx-runtime"),require("lucide-react"),require("react"),require("@sudobility/types")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","lucide-react","react","@sudobility/types"],r):(S=typeof globalThis<"u"?globalThis:S||self,r(S.EntityComponents={},S.ReactJSXRuntime,S.LucideReact,S.React,S.SudobilityTypes))})(this,(function(S,r,v,$,J){"use strict";function ue(e){var s,o,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(s=0;s<n;s++)e[s]&&(o=ue(e[s]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Ue(){for(var e,s,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(s=ue(e))&&(t&&(t+=" "),t+=s);return t}const _e=(e,s)=>{const o=new Array(e.length+s.length);for(let t=0;t<e.length;t++)o[t]=e[t];for(let t=0;t<s.length;t++)o[e.length+t]=s[t];return o},We=(e,s)=>({classGroupId:e,validator:s}),fe=(e=new Map,s=null,o)=>({nextPart:e,validators:s,classGroupId:o}),H="-",ge=[],$e="arbitrary..",qe=e=>{const s=Ye(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Xe(a);const l=a.split(H),i=l[0]===""&&l.length>1?1:0;return be(l,i,s)},getConflictingClassGroupIds:(a,l)=>{if(l){const i=t[a],m=o[a];return i?m?_e(m,i):i:m||ge}return o[a]||ge}}},be=(e,s,o)=>{if(e.length-s===0)return o.classGroupId;const n=e[s],c=o.nextPart.get(n);if(c){const m=be(e,s+1,c);if(m)return m}const a=o.validators;if(a===null)return;const l=s===0?e.join(H):e.slice(s).join(H),i=a.length;for(let m=0;m<i;m++){const f=a[m];if(f.validator(l))return f.classGroupId}},Xe=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const s=e.slice(1,-1),o=s.indexOf(":"),t=s.slice(0,o);return t?$e+t:void 0})(),Ye=e=>{const{theme:s,classGroups:o}=e;return Je(o,s)},Je=(e,s)=>{const o=fe();for(const t in e){const n=e[t];se(n,o,t,s)}return o},se=(e,s,o,t)=>{const n=e.length;for(let c=0;c<n;c++){const a=e[c];He(a,s,o,t)}},He=(e,s,o,t)=>{if(typeof e=="string"){Ke(e,s,o);return}if(typeof e=="function"){Qe(e,s,o,t);return}Ze(e,s,o,t)},Ke=(e,s,o)=>{const t=e===""?s:he(s,e);t.classGroupId=o},Qe=(e,s,o,t)=>{if(Re(e)){se(e(t),s,o,t);return}s.validators===null&&(s.validators=[]),s.validators.push(We(o,e))},Ze=(e,s,o,t)=>{const n=Object.entries(e),c=n.length;for(let a=0;a<c;a++){const[l,i]=n[a];se(i,he(s,l),o,t)}},he=(e,s)=>{let o=e;const t=s.split(H),n=t.length;for(let c=0;c<n;c++){const a=t[c];let l=o.nextPart.get(a);l||(l=fe(),o.nextPart.set(a,l)),o=l}return o},Re=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,er=e=>{if(e<1)return{get:()=>{},set:()=>{}};let s=0,o=Object.create(null),t=Object.create(null);const n=(c,a)=>{o[c]=a,s++,s>e&&(s=0,t=o,o=Object.create(null))};return{get(c){let a=o[c];if(a!==void 0)return a;if((a=t[c])!==void 0)return n(c,a),a},set(c,a){c in o?o[c]=a:n(c,a)}}},ne="!",xe=":",rr=[],ye=(e,s,o,t,n)=>({modifiers:e,hasImportantModifier:s,baseClassName:o,maybePostfixModifierPosition:t,isExternal:n}),or=e=>{const{prefix:s,experimentalParseClassName:o}=e;let t=n=>{const c=[];let a=0,l=0,i=0,m;const f=n.length;for(let w=0;w<f;w++){const I=n[w];if(a===0&&l===0){if(I===xe){c.push(n.slice(i,w)),i=w+1;continue}if(I==="/"){m=w;continue}}I==="["?a++:I==="]"?a--:I==="("?l++:I===")"&&l--}const k=c.length===0?n:n.slice(i);let x=k,N=!1;k.endsWith(ne)?(x=k.slice(0,-1),N=!0):k.startsWith(ne)&&(x=k.slice(1),N=!0);const y=m&&m>i?m-i:void 0;return ye(c,N,x,y)};if(s){const n=s+xe,c=t;t=a=>a.startsWith(n)?c(a.slice(n.length)):ye(rr,!1,a,void 0,!0)}if(o){const n=t;t=c=>o({className:c,parseClassName:n})}return t},tr=e=>{const s=new Map;return e.orderSensitiveModifiers.forEach((o,t)=>{s.set(o,1e6+t)}),o=>{const t=[];let n=[];for(let c=0;c<o.length;c++){const a=o[c],l=a[0]==="[",i=s.has(a);l||i?(n.length>0&&(n.sort(),t.push(...n),n=[]),t.push(a)):n.push(a)}return n.length>0&&(n.sort(),t.push(...n)),t}},sr=e=>({cache:er(e.cacheSize),parseClassName:or(e),sortModifiers:tr(e),...qe(e)}),nr=/\s+/,ar=(e,s)=>{const{parseClassName:o,getClassGroupId:t,getConflictingClassGroupIds:n,sortModifiers:c}=s,a=[],l=e.trim().split(nr);let i="";for(let m=l.length-1;m>=0;m-=1){const f=l[m],{isExternal:k,modifiers:x,hasImportantModifier:N,baseClassName:y,maybePostfixModifierPosition:w}=o(f);if(k){i=f+(i.length>0?" "+i:i);continue}let I=!!w,j=t(I?y.substring(0,w):y);if(!j){if(!I){i=f+(i.length>0?" "+i:i);continue}if(j=t(y),!j){i=f+(i.length>0?" "+i:i);continue}I=!1}const Z=x.length===0?"":x.length===1?x[0]:c(x).join(":"),X=N?Z+ne:Z,U=X+j;if(a.indexOf(U)>-1)continue;a.push(U);const _=n(j,I);for(let F=0;F<_.length;++F){const Y=_[F];a.push(X+Y)}i=f+(i.length>0?" "+i:i)}return i},lr=(...e)=>{let s=0,o,t,n="";for(;s<e.length;)(o=e[s++])&&(t=we(o))&&(n&&(n+=" "),n+=t);return n},we=e=>{if(typeof e=="string")return e;let s,o="";for(let t=0;t<e.length;t++)e[t]&&(s=we(e[t]))&&(o&&(o+=" "),o+=s);return o},ir=(e,...s)=>{let o,t,n,c;const a=i=>{const m=s.reduce((f,k)=>k(f),e());return o=sr(m),t=o.cache.get,n=o.cache.set,c=l,l(i)},l=i=>{const m=t(i);if(m)return m;const f=ar(i,o);return n(i,f),f};return c=a,(...i)=>c(lr(...i))},cr=[],C=e=>{const s=o=>o[e]||cr;return s.isThemeGetter=!0,s},ve=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ke=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dr=/^\d+\/\d+$/,pr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,mr=/\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$/,ur=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,fr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,B=e=>dr.test(e),b=e=>!!e&&!Number.isNaN(Number(e)),O=e=>!!e&&Number.isInteger(Number(e)),ae=e=>e.endsWith("%")&&b(e.slice(0,-1)),E=e=>pr.test(e),br=()=>!0,hr=e=>mr.test(e)&&!ur.test(e),Ne=()=>!1,xr=e=>fr.test(e),yr=e=>gr.test(e),wr=e=>!d(e)&&!p(e),vr=e=>V(e,Ie,Ne),d=e=>ve.test(e),G=e=>V(e,Me,hr),le=e=>V(e,Sr,b),Ce=e=>V(e,Se,Ne),kr=e=>V(e,Ae,yr),K=e=>V(e,Ee,xr),p=e=>ke.test(e),q=e=>D(e,Me),Nr=e=>D(e,Ar),ze=e=>D(e,Se),Cr=e=>D(e,Ie),zr=e=>D(e,Ae),Q=e=>D(e,Ee,!0),V=(e,s,o)=>{const t=ve.exec(e);return t?t[1]?s(t[1]):o(t[2]):!1},D=(e,s,o=!1)=>{const t=ke.exec(e);return t?t[1]?s(t[1]):o:!1},Se=e=>e==="position"||e==="percentage",Ae=e=>e==="image"||e==="url",Ie=e=>e==="length"||e==="size"||e==="bg-size",Me=e=>e==="length",Sr=e=>e==="number",Ar=e=>e==="family-name",Ee=e=>e==="shadow",Ir=ir(()=>{const e=C("color"),s=C("font"),o=C("text"),t=C("font-weight"),n=C("tracking"),c=C("leading"),a=C("breakpoint"),l=C("container"),i=C("spacing"),m=C("radius"),f=C("shadow"),k=C("inset-shadow"),x=C("text-shadow"),N=C("drop-shadow"),y=C("blur"),w=C("perspective"),I=C("aspect"),j=C("ease"),Z=C("animate"),X=()=>["auto","avoid","all","avoid-page","page","left","right","column"],U=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],_=()=>[...U(),p,d],F=()=>["auto","hidden","clip","visible","scroll"],Y=()=>["auto","contain","none"],g=()=>[p,d,i],P=()=>[B,"full","auto",...g()],Oe=()=>[O,"none","subgrid",p,d],Ge=()=>["auto",{span:["full",O,p,d]},O,p,d],R=()=>[O,"auto",p,d],je=()=>["auto","min","max","fr",p,d],de=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],W=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...g()],L=()=>[B,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],u=()=>[e,p,d],Fe=()=>[...U(),ze,Ce,{position:[p,d]}],Le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Be=()=>["auto","cover","contain",Cr,vr,{size:[p,d]}],pe=()=>[ae,q,G],A=()=>["","none","full",m,p,d],M=()=>["",b,q,G],ee=()=>["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,ae,ze,Ce],De=()=>["","none",y,p,d],re=()=>["none",b,p,d],oe=()=>["none",b,p,d],me=()=>[b,p,d],te=()=>[B,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[E],breakpoint:[E],color:[br],container:[E],"drop-shadow":[E],ease:["in","out","in-out"],font:[wr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[E],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[E],shadow:[E],spacing:["px",b],text:[E],"text-shadow":[E],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",B,d,p,I]}],container:["container"],columns:[{columns:[b,d,p,l]}],"break-after":[{"break-after":X()}],"break-before":[{"break-before":X()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:_()}],overflow:[{overflow:F()}],"overflow-x":[{"overflow-x":F()}],"overflow-y":[{"overflow-y":F()}],overscroll:[{overscroll:Y()}],"overscroll-x":[{"overscroll-x":Y()}],"overscroll-y":[{"overscroll-y":Y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{start:P()}],end:[{end:P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[O,"auto",p,d]}],basis:[{basis:[B,"full","auto",l,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[b,B,"auto","initial","none",d]}],grow:[{grow:["",b,p,d]}],shrink:[{shrink:["",b,p,d]}],order:[{order:[O,"first","last","none",p,d]}],"grid-cols":[{"grid-cols":Oe()}],"col-start-end":[{col:Ge()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":Oe()}],"row-start-end":[{row:Ge()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":je()}],"auto-rows":[{"auto-rows":je()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...de(),"normal"]}],"justify-items":[{"justify-items":[...W(),"normal"]}],"justify-self":[{"justify-self":["auto",...W()]}],"align-content":[{content:["normal",...de()]}],"align-items":[{items:[...W(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...W(),{baseline:["","last"]}]}],"place-content":[{"place-content":de()}],"place-items":[{"place-items":[...W(),"baseline"]}],"place-self":[{"place-self":["auto",...W()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:L()}],w:[{w:[l,"screen",...L()]}],"min-w":[{"min-w":[l,"screen","none",...L()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...L()]}],h:[{h:["screen","lh",...L()]}],"min-h":[{"min-h":["screen","lh","none",...L()]}],"max-h":[{"max-h":["screen","lh",...L()]}],"font-size":[{text:["base",o,q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,p,le]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ae,d]}],"font-family":[{font:[Nr,d,s]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,p,d]}],"line-clamp":[{"line-clamp":[b,"none",p,le]}],leading:[{leading:[c,...g()]}],"list-image":[{"list-image":["none",p,d]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",p,d]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:u()}],"text-color":[{text:u()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ee(),"wavy"]}],"text-decoration-thickness":[{decoration:[b,"from-font","auto",p,G]}],"text-decoration-color":[{decoration:u()}],"underline-offset":[{"underline-offset":[b,"auto",p,d]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",p,d]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",p,d]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Fe()}],"bg-repeat":[{bg:Le()}],"bg-size":[{bg:Be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},O,p,d],radial:["",p,d],conic:[O,p,d]},zr,kr]}],"bg-color":[{bg:u()}],"gradient-from-pos":[{from:pe()}],"gradient-via-pos":[{via:pe()}],"gradient-to-pos":[{to:pe()}],"gradient-from":[{from:u()}],"gradient-via":[{via:u()}],"gradient-to":[{to:u()}],rounded:[{rounded:A()}],"rounded-s":[{"rounded-s":A()}],"rounded-e":[{"rounded-e":A()}],"rounded-t":[{"rounded-t":A()}],"rounded-r":[{"rounded-r":A()}],"rounded-b":[{"rounded-b":A()}],"rounded-l":[{"rounded-l":A()}],"rounded-ss":[{"rounded-ss":A()}],"rounded-se":[{"rounded-se":A()}],"rounded-ee":[{"rounded-ee":A()}],"rounded-es":[{"rounded-es":A()}],"rounded-tl":[{"rounded-tl":A()}],"rounded-tr":[{"rounded-tr":A()}],"rounded-br":[{"rounded-br":A()}],"rounded-bl":[{"rounded-bl":A()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":M()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ee(),"hidden","none"]}],"divide-style":[{divide:[...ee(),"hidden","none"]}],"border-color":[{border:u()}],"border-color-x":[{"border-x":u()}],"border-color-y":[{"border-y":u()}],"border-color-s":[{"border-s":u()}],"border-color-e":[{"border-e":u()}],"border-color-t":[{"border-t":u()}],"border-color-r":[{"border-r":u()}],"border-color-b":[{"border-b":u()}],"border-color-l":[{"border-l":u()}],"divide-color":[{divide:u()}],"outline-style":[{outline:[...ee(),"none","hidden"]}],"outline-offset":[{"outline-offset":[b,p,d]}],"outline-w":[{outline:["",b,q,G]}],"outline-color":[{outline:u()}],shadow:[{shadow:["","none",f,Q,K]}],"shadow-color":[{shadow:u()}],"inset-shadow":[{"inset-shadow":["none",k,Q,K]}],"inset-shadow-color":[{"inset-shadow":u()}],"ring-w":[{ring:M()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:u()}],"ring-offset-w":[{"ring-offset":[b,G]}],"ring-offset-color":[{"ring-offset":u()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":u()}],"text-shadow":[{"text-shadow":["none",x,Q,K]}],"text-shadow-color":[{"text-shadow":u()}],opacity:[{opacity:[b,p,d]}],"mix-blend":[{"mix-blend":[...Ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[b]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":u()}],"mask-image-linear-to-color":[{"mask-linear-to":u()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":u()}],"mask-image-t-to-color":[{"mask-t-to":u()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":u()}],"mask-image-r-to-color":[{"mask-r-to":u()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":u()}],"mask-image-b-to-color":[{"mask-b-to":u()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":u()}],"mask-image-l-to-color":[{"mask-l-to":u()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":u()}],"mask-image-x-to-color":[{"mask-x-to":u()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":u()}],"mask-image-y-to-color":[{"mask-y-to":u()}],"mask-image-radial":[{"mask-radial":[p,d]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":u()}],"mask-image-radial-to-color":[{"mask-radial-to":u()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":U()}],"mask-image-conic-pos":[{"mask-conic":[b]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":u()}],"mask-image-conic-to-color":[{"mask-conic-to":u()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Fe()}],"mask-repeat":[{mask:Le()}],"mask-size":[{mask:Be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",p,d]}],filter:[{filter:["","none",p,d]}],blur:[{blur:De()}],brightness:[{brightness:[b,p,d]}],contrast:[{contrast:[b,p,d]}],"drop-shadow":[{"drop-shadow":["","none",N,Q,K]}],"drop-shadow-color":[{"drop-shadow":u()}],grayscale:[{grayscale:["",b,p,d]}],"hue-rotate":[{"hue-rotate":[b,p,d]}],invert:[{invert:["",b,p,d]}],saturate:[{saturate:[b,p,d]}],sepia:[{sepia:["",b,p,d]}],"backdrop-filter":[{"backdrop-filter":["","none",p,d]}],"backdrop-blur":[{"backdrop-blur":De()}],"backdrop-brightness":[{"backdrop-brightness":[b,p,d]}],"backdrop-contrast":[{"backdrop-contrast":[b,p,d]}],"backdrop-grayscale":[{"backdrop-grayscale":["",b,p,d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b,p,d]}],"backdrop-invert":[{"backdrop-invert":["",b,p,d]}],"backdrop-opacity":[{"backdrop-opacity":[b,p,d]}],"backdrop-saturate":[{"backdrop-saturate":[b,p,d]}],"backdrop-sepia":[{"backdrop-sepia":["",b,p,d]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",p,d]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[b,"initial",p,d]}],ease:[{ease:["linear","initial",j,p,d]}],delay:[{delay:[b,p,d]}],animate:[{animate:["none",Z,p,d]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,p,d]}],"perspective-origin":[{"perspective-origin":_()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":["scale-3d"],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[p,d,"","none","gpu","cpu"]}],"transform-origin":[{origin:_()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:te()}],"translate-x":[{"translate-x":te()}],"translate-y":[{"translate-y":te()}],"translate-z":[{"translate-z":te()}],"translate-none":["translate-none"],accent:[{accent:u()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:u()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",p,d]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",p,d]}],fill:[{fill:["none",...u()]}],"stroke-w":[{stroke:[b,q,G,le]}],stroke:[{stroke:["none",...u()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function h(...e){return Ir(Ue(e))}const Mr={owner:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",admin:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",member:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Pe({entity:e,isSelected:s=!1,onClick:o,className:t,onTrack:n,trackingLabel:c,componentName:a="EntityCard"}){const l=e.entityType==="personal",i=l?v.User:v.Building2,m=()=>{n?.({action:"click",trackingLabel:c,componentName:a}),o?.()};return r.jsx("div",{onClick:o?m:void 0,className:h("rounded-lg border p-4 transition-all",o&&"cursor-pointer hover:border-primary",s&&"border-primary bg-primary/5",!s&&"border-border bg-card",t),children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:h("flex h-10 w-10 items-center justify-center rounded-full",l?"bg-blue-100 dark:bg-blue-900":"bg-purple-100 dark:bg-purple-900"),children:e.avatarUrl?r.jsx("img",{src:e.avatarUrl,alt:e.displayName,className:"h-10 w-10 rounded-full object-cover"}):r.jsx(i,{className:h("h-5 w-5",l?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400")})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("h3",{className:"font-medium text-foreground truncate",children:e.displayName}),r.jsx("span",{className:h("text-xs px-2 py-0.5 rounded-full font-medium",Mr[e.userRole]),children:e.userRole})]}),r.jsx("p",{className:"text-sm text-muted-foreground",children:l?"Personal workspace":"Organization"}),e.description&&r.jsx("p",{className:"text-sm text-muted-foreground mt-1 line-clamp-2",children:e.description})]})]})})}function Er({entities:e,selectedSlug:s,onSelect:o,isLoading:t=!1,emptyMessage:n="No workspaces found",className:c,onTrack:a,trackingLabel:l,componentName:i="EntityList"}){if(t)return r.jsx("div",{className:h("space-y-3",c),children:[1,2,3].map(f=>r.jsx("div",{className:"h-24 rounded-lg border border-border bg-muted animate-pulse"},f))});if(e.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",c),children:n});const m=f=>{a?.({action:"select",trackingLabel:l,componentName:i}),o?.(f)};return r.jsx("div",{className:h("space-y-3",c),children:e.map(f=>r.jsx(Pe,{entity:f,isSelected:f.entitySlug===s,onClick:o?()=>m(f):void 0,onTrack:a,trackingLabel:l},f.id))})}function Pr({entities:e,currentEntity:s,onSelect:o,onCreateNew:t,isLoading:n=!1,className:c,onTrack:a,trackingLabel:l,componentName:i="EntitySelector"}){const[m,f]=$.useState(!1),k=()=>{a?.({action:"toggle",trackingLabel:l,componentName:i}),f(!m)},x=y=>{a?.({action:"select",trackingLabel:l,componentName:i}),o(y),f(!1)},N=()=>{a?.({action:"create_new",trackingLabel:l,componentName:i}),t?.(),f(!1)};return r.jsxs("div",{className:h("relative",c),children:[r.jsxs("button",{type:"button",onClick:k,disabled:n,className:h("flex items-center gap-2 px-3 py-2 rounded-lg border","bg-background hover:bg-muted transition-colors","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",n&&"opacity-50 cursor-not-allowed"),children:[s?r.jsxs(r.Fragment,{children:[s.entityType==="personal"?r.jsx(v.User,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}):r.jsx(v.Building2,{className:"h-4 w-4 text-purple-600 dark:text-purple-400"}),r.jsx("span",{className:"font-medium text-sm truncate max-w-[150px]",children:s.displayName})]}):r.jsx("span",{className:"text-sm text-muted-foreground",children:"Select workspace"}),r.jsx(v.ChevronDown,{className:h("h-4 w-4 text-muted-foreground transition-transform",m&&"rotate-180")})]}),m&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>f(!1)}),r.jsx("div",{className:h("absolute top-full left-0 mt-1 z-50","min-w-[220px] rounded-lg border bg-popover shadow-lg","animate-in fade-in-0 zoom-in-95"),children:r.jsxs("div",{className:"p-1",children:[e.filter(y=>y.entityType==="personal").map(y=>r.jsx(Te,{entity:y,isSelected:y.id===s?.id,onClick:()=>x(y)},y.id)),e.some(y=>y.entityType==="personal")&&e.some(y=>y.entityType==="organization")&&r.jsx("div",{className:"my-1 h-px bg-border"}),e.filter(y=>y.entityType==="organization").map(y=>r.jsx(Te,{entity:y,isSelected:y.id===s?.id,onClick:()=>x(y)},y.id)),t&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"my-1 h-px bg-border"}),r.jsxs("button",{type:"button",onClick:N,className:h("flex items-center gap-2 w-full px-2 py-1.5 rounded","text-sm text-primary hover:bg-muted transition-colors"),children:[r.jsx(v.Plus,{className:"h-4 w-4"}),r.jsx("span",{children:"Create organization"})]})]})]})})]})]})}function Te({entity:e,isSelected:s,onClick:o}){const t=e.entityType==="personal",n=t?v.User:v.Building2;return r.jsxs("button",{type:"button",onClick:o,className:h("flex items-center gap-2 w-full px-2 py-1.5 rounded","text-sm transition-colors",s?"bg-primary/10 text-primary":"hover:bg-muted text-foreground"),children:[r.jsx(n,{className:h("h-4 w-4",t?"text-blue-600 dark:text-blue-400":"text-purple-600 dark:text-purple-400")}),r.jsx("span",{className:"flex-1 text-left truncate",children:e.displayName}),s&&r.jsx(v.Check,{className:"h-4 w-4"})]})}const ie=[{value:J.EntityRole.OWNER,label:"Owner",description:"Full access to all settings and members",icon:v.Shield,color:"text-purple-600 dark:text-purple-400"},{value:J.EntityRole.ADMIN,label:"Admin",description:"Can manage projects and API keys",icon:v.Briefcase,color:"text-blue-600 dark:text-blue-400"},{value:J.EntityRole.MEMBER,label:"Member",description:"Read-only access",icon:v.Eye,color:"text-gray-600 dark:text-gray-400"}];function ce({value:e,onChange:s,disabled:o=!1,className:t,onTrack:n,trackingLabel:c,componentName:a="MemberRoleSelector"}){const[l,i]=$.useState(!1),m=ie.find(x=>x.value===e)||ie[2],f=()=>{o||(n?.({action:"toggle",trackingLabel:c,componentName:a}),i(!l))},k=x=>{n?.({action:"select",trackingLabel:c,componentName:a}),s(x),i(!1)};return r.jsxs("div",{className:h("relative",t),children:[r.jsxs("button",{type:"button",onClick:f,disabled:o,className:h("flex items-center gap-1.5 px-2 py-1 rounded border text-sm","bg-background transition-colors",o?"opacity-50 cursor-not-allowed":"hover:bg-muted cursor-pointer"),children:[r.jsx(m.icon,{className:h("h-3.5 w-3.5",m.color)}),r.jsx("span",{children:m.label}),r.jsx(v.ChevronDown,{className:h("h-3.5 w-3.5 text-muted-foreground transition-transform",l&&"rotate-180")})]}),l&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>i(!1)}),r.jsx("div",{className:h("absolute top-full right-0 mt-1 z-50","min-w-[200px] rounded-lg border bg-popover shadow-lg p-1","animate-in fade-in-0 zoom-in-95"),children:ie.map(x=>r.jsxs("button",{type:"button",onClick:()=>k(x.value),className:h("flex items-start gap-2 w-full px-2 py-2 rounded text-left","transition-colors",x.value===e?"bg-primary/10":"hover:bg-muted"),children:[r.jsx(x.icon,{className:h("h-4 w-4 mt-0.5",x.color)}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("span",{className:"font-medium text-sm",children:x.label}),x.value===e&&r.jsx(v.Check,{className:"h-3.5 w-3.5 text-primary"})]}),r.jsx("p",{className:"text-xs text-muted-foreground",children:x.description})]})]},x.value))})]})]})}const Tr={owner:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",admin:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",member:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Or({members:e,currentUserId:s,canManage:o=!1,onRoleChange:t,onRemove:n,isLoading:c=!1,emptyMessage:a="No members found",className:l,onTrack:i,trackingLabel:m,componentName:f="MemberList"}){if(c)return r.jsx("div",{className:h("space-y-2",l),children:[1,2,3].map(N=>r.jsx("div",{className:"h-16 rounded-lg border border-border bg-muted animate-pulse"},N))});if(e.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",l),children:a});const k=(N,y)=>{i?.({action:"role_change",trackingLabel:m,componentName:f}),t?.(N,y)},x=N=>{i?.({action:"remove",trackingLabel:m,componentName:f}),n?.(N)};return r.jsx("div",{className:h("divide-y divide-border rounded-lg border",l),children:e.map(N=>r.jsx(Gr,{member:N,isSelf:N.userId===s,canManage:o,onRoleChange:t?k:void 0,onRemove:n?x:void 0},N.id))})}function Gr({member:e,isSelf:s,canManage:o,onRoleChange:t,onRemove:n}){const c=e.user?.displayName||e.user?.email||"Unknown user",a=e.user?.email;return r.jsxs("div",{className:"flex items-center gap-3 p-3",children:[r.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-muted",children:r.jsx(v.User,{className:"h-5 w-5 text-muted-foreground"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx("p",{className:"font-medium text-foreground truncate",children:c}),s&&r.jsx("span",{className:"text-xs text-muted-foreground",children:"(you)"})]}),a&&r.jsx("p",{className:"text-sm text-muted-foreground truncate",children:a})]}),o&&t&&!s?r.jsx(ce,{value:e.role,onChange:l=>t(e.userId,l)}):r.jsx("span",{className:h("text-xs px-2 py-1 rounded-full font-medium",Tr[e.role]),children:e.role}),o&&n&&!s&&r.jsx("button",{type:"button",onClick:()=>n(e.userId),className:h("p-1.5 rounded hover:bg-destructive/10 text-muted-foreground","hover:text-destructive transition-colors"),title:"Remove member",children:r.jsx(v.Trash2,{className:"h-4 w-4"})})]})}function jr({onSubmit:e,isSubmitting:s=!1,defaultRole:o=J.EntityRole.MEMBER,className:t,onTrack:n,trackingLabel:c,componentName:a="InvitationForm"}){const[l,i]=$.useState(""),[m,f]=$.useState(o),[k,x]=$.useState(null),N=async y=>{if(y.preventDefault(),x(null),!l.trim()){x("Email is required");return}if(!Fr(l)){x("Please enter a valid email address");return}n?.({action:"submit",trackingLabel:c,componentName:a});try{await e({email:l.trim(),role:m}),i(""),f(o)}catch(w){x(w.message||"Failed to send invitation")}};return r.jsxs("form",{onSubmit:N,className:h("space-y-4",t),children:[r.jsxs("div",{className:"flex gap-2",children:[r.jsxs("div",{className:"relative flex-1",children:[r.jsx(v.Mail,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),r.jsx("input",{type:"email",value:l,onChange:y=>i(y.target.value),placeholder:"Enter email address",disabled:s,className:h("w-full pl-10 pr-3 py-2 rounded-lg border bg-background","text-sm placeholder:text-muted-foreground","focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent",k&&"border-destructive focus:ring-destructive",s&&"opacity-50 cursor-not-allowed")})]}),r.jsx(ce,{value:m,onChange:f,disabled:s}),r.jsxs("button",{type:"submit",disabled:s||!l.trim(),className:h("flex items-center gap-2 px-4 py-2 rounded-lg","bg-primary text-primary-foreground font-medium text-sm","hover:bg-primary/90 transition-colors","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",(s||!l.trim())&&"opacity-50 cursor-not-allowed"),children:[s?r.jsx(v.Loader2,{className:"h-4 w-4 animate-spin"}):r.jsx(v.Send,{className:"h-4 w-4"}),r.jsx("span",{className:"hidden sm:inline",children:"Invite"})]})]}),k&&r.jsx("p",{className:"text-sm text-destructive",children:k})]})}function Fr(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}const Lr={owner:"bg-purple-100 text-purple-700 dark:bg-purple-900 dark:text-purple-300",admin:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300",member:"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"};function Br({invitations:e,mode:s,onCancel:o,onAccept:t,onDecline:n,isLoading:c=!1,emptyMessage:a="No pending invitations",className:l,onTrack:i,trackingLabel:m,componentName:f="InvitationList"}){const k=e.filter(w=>w.status==="pending");if(c)return r.jsx("div",{className:h("space-y-2",l),children:[1,2].map(w=>r.jsx("div",{className:"h-16 rounded-lg border border-border bg-muted animate-pulse"},w))});if(k.length===0)return r.jsx("div",{className:h("text-center py-8 text-muted-foreground",l),children:a});const x=w=>{i?.({action:"cancel",trackingLabel:m,componentName:f}),o?.(w)},N=w=>{i?.({action:"accept",trackingLabel:m,componentName:f}),t?.(w)},y=w=>{i?.({action:"decline",trackingLabel:m,componentName:f}),n?.(w)};return r.jsx("div",{className:h("divide-y divide-border rounded-lg border",l),children:k.map(w=>r.jsx(Vr,{invitation:w,mode:s,onCancel:o?x:void 0,onAccept:t?N:void 0,onDecline:n?y:void 0},w.id))})}function Vr({invitation:e,mode:s,onCancel:o,onAccept:t,onDecline:n}){const c=new Date(e.expiresAt),a=c<new Date,l=Math.ceil((c.getTime()-Date.now())/(1e3*60*60*24));return r.jsxs("div",{className:"flex items-center gap-3 p-3",children:[r.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-muted",children:r.jsx(v.Mail,{className:"h-5 w-5 text-muted-foreground"})}),r.jsxs("div",{className:"flex-1 min-w-0",children:[r.jsxs("div",{className:"flex items-center gap-2",children:[s==="user"&&e.entity?r.jsx("p",{className:"font-medium text-foreground truncate",children:e.entity.displayName}):r.jsx("p",{className:"font-medium text-foreground truncate",children:e.email}),r.jsx("span",{className:h("text-xs px-2 py-0.5 rounded-full font-medium",Lr[e.role]),children:e.role})]}),r.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[r.jsx(v.Clock,{className:"h-3.5 w-3.5"}),a?r.jsx("span",{className:"text-destructive",children:"Expired"}):r.jsxs("span",{children:["Expires in ",l," days"]})]})]}),s==="admin"&&o&&r.jsx("button",{type:"button",onClick:()=>o(e.id),className:h("p-1.5 rounded hover:bg-destructive/10 text-muted-foreground","hover:text-destructive transition-colors"),title:"Cancel invitation",children:r.jsx(v.XCircle,{className:"h-4 w-4"})}),s==="user"&&r.jsxs("div",{className:"flex items-center gap-2",children:[n&&r.jsxs("button",{type:"button",onClick:()=>n(e.token),className:h("flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm","border hover:bg-muted transition-colors"),children:[r.jsx(v.X,{className:"h-4 w-4"}),r.jsx("span",{children:"Decline"})]}),t&&r.jsxs("button",{type:"button",onClick:()=>t(e.token),disabled:a,className:h("flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm","bg-primary text-primary-foreground","hover:bg-primary/90 transition-colors",a&&"opacity-50 cursor-not-allowed"),children:[r.jsx(v.Check,{className:"h-4 w-4"}),r.jsx("span",{children:"Accept"})]})]})]})}S.EntityCard=Pe,S.EntityList=Er,S.EntitySelector=Pr,S.InvitationForm=jr,S.InvitationList=Br,S.MemberList=Or,S.MemberRoleSelector=ce,S.cn=h,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/entity-components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Entity/Organization UI components for React",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.umd.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@sudobility/components": "*",
|
|
42
42
|
"@sudobility/design": "^1.1.14",
|
|
43
|
-
"@sudobility/types": "^1.9.
|
|
43
|
+
"@sudobility/types": "^1.9.43",
|
|
44
44
|
"react": "^18.0.0 || ^19.0.0",
|
|
45
45
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
46
46
|
},
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"ajv": "^8.17.1",
|
|
50
50
|
"@sudobility/components": "*",
|
|
51
51
|
"@sudobility/design": "^1.1.14",
|
|
52
|
-
"@sudobility/types": "^1.9.
|
|
52
|
+
"@sudobility/types": "^1.9.43",
|
|
53
53
|
"@testing-library/dom": "^10.4.0",
|
|
54
54
|
"@testing-library/jest-dom": "^6.4.2",
|
|
55
55
|
"@testing-library/react": "^16.0.0",
|