@fabio.caffarello/react-design-system 3.12.0 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/granular/index.js +393 -389
- package/dist/granular/index.js.map +1 -1
- package/dist/granular/ui/components/ButtonGroup/ButtonGroup.js +68 -0
- package/dist/granular/ui/components/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/granular/ui/primitives/Dot/Dot.js +99 -0
- package/dist/granular/ui/primitives/Dot/Dot.js.map +1 -0
- package/dist/index.cjs +60 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1327 -1218
- package/dist/index.js.map +1 -1
- package/dist/ui/components/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/dist/ui/components/index.d.ts +2 -0
- package/dist/ui/primitives/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var C = Object.defineProperty, v = Object.defineProperties;
|
|
3
|
+
var z = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var i = Object.getOwnPropertySymbols;
|
|
5
|
+
var t = Object.prototype.hasOwnProperty, a = Object.prototype.propertyIsEnumerable;
|
|
6
|
+
var m = (o, s, r) => s in o ? C(o, s, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[s] = r, p = (o, s) => {
|
|
7
|
+
for (var r in s || (s = {}))
|
|
8
|
+
t.call(s, r) && m(o, r, s[r]);
|
|
9
|
+
if (i)
|
|
10
|
+
for (var r of i(s))
|
|
11
|
+
a.call(s, r) && m(o, r, s[r]);
|
|
12
|
+
return o;
|
|
13
|
+
}, f = (o, s) => v(o, z(s));
|
|
14
|
+
var g = (o, s) => {
|
|
15
|
+
var r = {};
|
|
16
|
+
for (var l in o)
|
|
17
|
+
t.call(o, l) && s.indexOf(l) < 0 && (r[l] = o[l]);
|
|
18
|
+
if (o != null && i)
|
|
19
|
+
for (var l of i(o))
|
|
20
|
+
s.indexOf(l) < 0 && a.call(o, l) && (r[l] = o[l]);
|
|
21
|
+
return r;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as j } from "react/jsx-runtime";
|
|
24
|
+
import { getSpacingClass as n } from "../../tokens/spacing.js";
|
|
25
|
+
import { cn as w } from "../../utils/cn.js";
|
|
26
|
+
import { getRadiusClass as B } from "../../tokens/radius.js";
|
|
27
|
+
function q(G) {
|
|
28
|
+
var e = G, {
|
|
29
|
+
children: o,
|
|
30
|
+
orientation: s = "horizontal",
|
|
31
|
+
size: r = "md",
|
|
32
|
+
attached: l = !1,
|
|
33
|
+
className: u = ""
|
|
34
|
+
} = e, c = g(e, [
|
|
35
|
+
"children",
|
|
36
|
+
"orientation",
|
|
37
|
+
"size",
|
|
38
|
+
"attached",
|
|
39
|
+
"className"
|
|
40
|
+
]);
|
|
41
|
+
const x = {
|
|
42
|
+
horizontal: "flex-row",
|
|
43
|
+
vertical: "flex-col"
|
|
44
|
+
}, d = {
|
|
45
|
+
sm: l ? "" : n("xs", "gap"),
|
|
46
|
+
md: l ? "" : n("sm", "gap"),
|
|
47
|
+
lg: l ? "" : n("md", "gap")
|
|
48
|
+
};
|
|
49
|
+
return /* @__PURE__ */ j(
|
|
50
|
+
"div",
|
|
51
|
+
f(p({
|
|
52
|
+
role: "group",
|
|
53
|
+
className: w(
|
|
54
|
+
"inline-flex",
|
|
55
|
+
x[s],
|
|
56
|
+
d[r],
|
|
57
|
+
l && B("md"),
|
|
58
|
+
u
|
|
59
|
+
)
|
|
60
|
+
}, c), {
|
|
61
|
+
children: o
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
q as default
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=ButtonGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.js","sources":["../../../../../src/ui/components/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode, type HTMLAttributes } from \"react\";\nimport { getSpacingClass, getRadiusClass } from \"../../tokens\";\nimport { cn } from \"../../utils\";\n\nexport interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n orientation?: \"horizontal\" | \"vertical\";\n size?: \"sm\" | \"md\" | \"lg\";\n attached?: boolean;\n}\n\n/**\n * ButtonGroup Component\n *\n * A group of buttons displayed together. A component — composed from\n * `Button` primitives.\n *\n * @example\n * ```tsx\n * <ButtonGroup>\n * <Button>Left</Button>\n * <Button>Middle</Button>\n * <Button>Right</Button>\n * </ButtonGroup>\n * ```\n */\nexport default function ButtonGroup({\n children,\n orientation = \"horizontal\",\n size = \"md\",\n attached = false,\n className = \"\",\n ...props\n}: ButtonGroupProps) {\n const orientationClasses = {\n horizontal: \"flex-row\",\n vertical: \"flex-col\",\n };\n\n const spacingClasses = {\n sm: attached ? \"\" : getSpacingClass(\"xs\", \"gap\"),\n md: attached ? \"\" : getSpacingClass(\"sm\", \"gap\"),\n lg: attached ? \"\" : getSpacingClass(\"md\", \"gap\"),\n };\n\n return (\n <div\n role=\"group\"\n className={cn(\n \"inline-flex\",\n orientationClasses[orientation],\n spacingClasses[size],\n attached && getRadiusClass(\"md\"),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["ButtonGroup","_a","_b","children","orientation","size","attached","className","props","__objRest","orientationClasses","spacingClasses","getSpacingClass","jsx","__spreadProps","__spreadValues","cn","getRadiusClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAwBA,EAAYC,GAOf;AAPe,MAAAC,IAAAD,GAClC;AAAA,cAAAE;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,MAAAC,IAAO;AAAA,IACP,UAAAC,IAAW;AAAA,IACX,WAAAC,IAAY;AAAA,MALsBL,GAM/BM,IAAAC,EAN+BP,GAM/B;AAAA,IALH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAMQ,IAAqB;AAAA,IACzB,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA,GAGNC,IAAiB;AAAA,IACrB,IAAIL,IAAW,KAAKM,EAAgB,MAAM,KAAK;AAAA,IAC/C,IAAIN,IAAW,KAAKM,EAAgB,MAAM,KAAK;AAAA,IAC/C,IAAIN,IAAW,KAAKM,EAAgB,MAAM,KAAK;AAAA,EAAA;AAGjD,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAAC,EAAAC,EAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAWC;AAAA,QACT;AAAA,QACAN,EAAmBN,CAAW;AAAA,QAC9BO,EAAeN,CAAI;AAAA,QACnBC,KAAYW,EAAe,IAAI;AAAA,QAC/BV;AAAA,MAAA;AAAA,OAEEC,IATL;AAAA,MAWE,UAAAL;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var v = Object.defineProperty;
|
|
3
|
+
var o = Object.getOwnPropertySymbols;
|
|
4
|
+
var l = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var t = (a, n, r) => n in a ? v(a, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[n] = r, c = (a, n) => {
|
|
6
|
+
for (var r in n || (n = {}))
|
|
7
|
+
l.call(n, r) && t(a, r, n[r]);
|
|
8
|
+
if (o)
|
|
9
|
+
for (var r of o(n))
|
|
10
|
+
f.call(n, r) && t(a, r, n[r]);
|
|
11
|
+
return a;
|
|
12
|
+
};
|
|
13
|
+
var m = (a, n) => {
|
|
14
|
+
var r = {};
|
|
15
|
+
for (var i in a)
|
|
16
|
+
l.call(a, i) && n.indexOf(i) < 0 && (r[i] = a[i]);
|
|
17
|
+
if (a != null && o)
|
|
18
|
+
for (var i of o(a))
|
|
19
|
+
n.indexOf(i) < 0 && f.call(a, i) && (r[i] = a[i]);
|
|
20
|
+
return r;
|
|
21
|
+
};
|
|
22
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
23
|
+
import { memo as D, forwardRef as V, useMemo as g } from "react";
|
|
24
|
+
import { getRadiusClass as x } from "../../tokens/radius.js";
|
|
25
|
+
import { cn as u } from "../../utils/cn.js";
|
|
26
|
+
import { cva as O } from "../../utils/cva.js";
|
|
27
|
+
const R = O(
|
|
28
|
+
// Base classes
|
|
29
|
+
u("inline-block", x("full")),
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
variant: {
|
|
33
|
+
online: "",
|
|
34
|
+
offline: "",
|
|
35
|
+
pending: "",
|
|
36
|
+
warning: "",
|
|
37
|
+
error: "",
|
|
38
|
+
info: ""
|
|
39
|
+
},
|
|
40
|
+
size: {
|
|
41
|
+
sm: "w-1.5 h-1.5",
|
|
42
|
+
md: "w-2 h-2",
|
|
43
|
+
lg: "w-2.5 h-2.5"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
compoundVariants: [
|
|
47
|
+
// Map semantic variants to color tokens
|
|
48
|
+
{ variant: "online", class: "bg-success" },
|
|
49
|
+
{ variant: "offline", class: "bg-status-neutral" },
|
|
50
|
+
{ variant: "pending", class: "bg-warning" },
|
|
51
|
+
{ variant: "warning", class: "bg-warning" },
|
|
52
|
+
{ variant: "error", class: "bg-error" },
|
|
53
|
+
{ variant: "info", class: "bg-info" }
|
|
54
|
+
],
|
|
55
|
+
defaultVariants: {
|
|
56
|
+
variant: "offline",
|
|
57
|
+
size: "md"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
), j = D(
|
|
61
|
+
V(function(k, p) {
|
|
62
|
+
var e = k, {
|
|
63
|
+
variant: n = "offline",
|
|
64
|
+
size: r = "md",
|
|
65
|
+
className: i = "",
|
|
66
|
+
"aria-label": s
|
|
67
|
+
} = e, d = m(e, [
|
|
68
|
+
"variant",
|
|
69
|
+
"size",
|
|
70
|
+
"className",
|
|
71
|
+
"aria-label"
|
|
72
|
+
]);
|
|
73
|
+
const b = g(
|
|
74
|
+
() => u(R({ variant: n, size: r }), i),
|
|
75
|
+
[n, r, i]
|
|
76
|
+
), w = g(() => s || {
|
|
77
|
+
online: "Online",
|
|
78
|
+
offline: "Offline",
|
|
79
|
+
pending: "Pending",
|
|
80
|
+
warning: "Warning",
|
|
81
|
+
error: "Error",
|
|
82
|
+
info: "Info"
|
|
83
|
+
}[n], [s, n]);
|
|
84
|
+
return /* @__PURE__ */ h(
|
|
85
|
+
"span",
|
|
86
|
+
c({
|
|
87
|
+
ref: p,
|
|
88
|
+
role: "status",
|
|
89
|
+
"aria-label": w,
|
|
90
|
+
className: b
|
|
91
|
+
}, d)
|
|
92
|
+
);
|
|
93
|
+
})
|
|
94
|
+
);
|
|
95
|
+
j.displayName = "Dot";
|
|
96
|
+
export {
|
|
97
|
+
j as default
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=Dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dot.js","sources":["../../../../../src/ui/primitives/Dot/Dot.tsx"],"sourcesContent":["\"use client\";\n\nimport { memo, forwardRef, useMemo } from \"react\";\nimport type { HTMLAttributes } from \"react\";\nimport { getRadiusClass } from \"../../tokens/radius\";\nimport { cn, cva } from \"../../utils\";\n\nexport type DotVariant =\n | \"online\"\n | \"offline\"\n | \"pending\"\n | \"warning\"\n | \"error\"\n | \"info\";\nexport type DotSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface DotProps extends HTMLAttributes<HTMLSpanElement> {\n variant?: DotVariant;\n size?: DotSize;\n \"aria-label\"?: string;\n}\n\n/**\n * Dot Component\n *\n * A simple colored circle for status indication. A primitive —\n * indivisible, composes no other UI. Uses semantic color tokens for\n * consistent theming.\n *\n * @example\n * ```tsx\n * <Dot variant=\"online\" aria-label=\"User is online\" />\n * <Dot variant=\"error\" size=\"lg\" aria-label=\"Error occurred\" />\n * <Dot variant=\"pending\" size=\"sm\" aria-label=\"Action pending\" />\n * ```\n */\n// Dot variants using CVA\nconst dotVariants = cva(\n // Base classes\n cn(\"inline-block\", getRadiusClass(\"full\")),\n {\n variants: {\n variant: {\n online: \"\",\n offline: \"\",\n pending: \"\",\n warning: \"\",\n error: \"\",\n info: \"\",\n },\n size: {\n sm: \"w-1.5 h-1.5\",\n md: \"w-2 h-2\",\n lg: \"w-2.5 h-2.5\",\n },\n },\n compoundVariants: [\n // Map semantic variants to color tokens\n { variant: \"online\", class: \"bg-success\" },\n { variant: \"offline\", class: \"bg-status-neutral\" },\n { variant: \"pending\", class: \"bg-warning\" },\n { variant: \"warning\", class: \"bg-warning\" },\n { variant: \"error\", class: \"bg-error\" },\n { variant: \"info\", class: \"bg-info\" },\n ],\n defaultVariants: {\n variant: \"offline\",\n size: \"md\",\n },\n },\n);\n\nconst Dot = memo(\n forwardRef<HTMLSpanElement, DotProps>(function Dot(\n {\n variant = \"offline\",\n size = \"md\",\n className = \"\",\n \"aria-label\": ariaLabel,\n ...props\n },\n ref,\n ) {\n // Memoize classes\n const classes = useMemo(\n () => cn(dotVariants({ variant, size }), className),\n [variant, size, className],\n );\n\n // Memoize accessible label with default fallback\n const accessibleLabel = useMemo(() => {\n if (ariaLabel) return ariaLabel;\n // Provide default labels based on variant\n const defaultLabels: Record<DotVariant, string> = {\n online: \"Online\",\n offline: \"Offline\",\n pending: \"Pending\",\n warning: \"Warning\",\n error: \"Error\",\n info: \"Info\",\n };\n return defaultLabels[variant];\n }, [ariaLabel, variant]);\n\n return (\n <span\n ref={ref}\n role=\"status\"\n aria-label={accessibleLabel}\n className={classes}\n {...props}\n />\n );\n }),\n);\n\nDot.displayName = \"Dot\";\n\nexport default Dot;\n"],"names":["dotVariants","cva","cn","getRadiusClass","Dot","memo","forwardRef","_a","ref","_b","variant","size","className","ariaLabel","props","__objRest","classes","useMemo","accessibleLabel","jsx","__spreadValues"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,MAAMA,IAAcC;AAAA;AAAA,EAElBC,EAAG,gBAAgBC,EAAe,MAAM,CAAC;AAAA,EACzC;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,OAAO;AAAA,QACP,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,kBAAkB;AAAA;AAAA,MAEhB,EAAE,SAAS,UAAU,OAAO,aAAA;AAAA,MAC5B,EAAE,SAAS,WAAW,OAAO,oBAAA;AAAA,MAC7B,EAAE,SAAS,WAAW,OAAO,aAAA;AAAA,MAC7B,EAAE,SAAS,WAAW,OAAO,aAAA;AAAA,MAC7B,EAAE,SAAS,SAAS,OAAO,WAAA;AAAA,MAC3B,EAAE,SAAS,QAAQ,OAAO,UAAA;AAAA,IAAU;AAAA,IAEtC,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEMC,IAAMC;AAAA,EACVC,EAAsC,SACpCC,GAOAC,GACA;AARA,QAAAC,IAAAF,GACE;AAAA,eAAAG,IAAU;AAAA,MACV,MAAAC,IAAO;AAAA,MACP,WAAAC,IAAY;AAAA,MACZ,cAAcC;AAAA,QAJhBJ,GAKKK,IAAAC,EALLN,GAKK;AAAA,MAJH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAMF,UAAMO,IAAUC;AAAA,MACd,MAAMf,EAAGF,EAAY,EAAE,SAAAU,GAAS,MAAAC,EAAA,CAAM,GAAGC,CAAS;AAAA,MAClD,CAACF,GAASC,GAAMC,CAAS;AAAA,IAAA,GAIrBM,IAAkBD,EAAQ,MAC1BJ,KAE8C;AAAA,MAChD,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,MAAM;AAAA,IAAA,EAEaH,CAAO,GAC3B,CAACG,GAAWH,CAAO,CAAC;AAEvB,WACE,gBAAAS;AAAA,MAAC;AAAA,MAAAC,EAAA;AAAA,QACC,KAAAZ;AAAA,QACA,MAAK;AAAA,QACL,cAAYU;AAAA,QACZ,WAAWF;AAAA,SACPF;AAAA,IAAA;AAAA,EAGV,CAAC;AACH;AAEAV,EAAI,cAAc;"}
|