@tetrascience-npm/tetrascience-react-ui 1.0.0-beta.134.1 → 1.0.0-beta.135.1
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/components/ui/text.d.ts +63 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +263 -260
- package/dist/index.js.map +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/ui/text.cjs +2 -0
- package/dist/ui/text.cjs.map +1 -0
- package/dist/ui/text.js +88 -0
- package/dist/ui/text.js.map +1 -0
- package/package.json +1 -1
package/dist/ui/text.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),b=require("class-variance-authority"),i=require("../lib/utils.cjs"),r=b.cva("",{variants:{variant:{display:"gap-2.5 text-3xl font-bold tracking-tight","title-lg":"gap-2.5 text-2xl font-bold tracking-tight",title:"gap-2 text-xl font-semibold","title-sm":"gap-2 text-lg font-semibold","title-xs":"gap-1.5 text-base font-semibold",body:"gap-1.5 text-sm",label:"gap-1.5 text-sm font-medium",caption:"gap-1 text-xs",overline:"gap-1 text-2xs font-semibold tracking-widest uppercase"},state:{default:"",muted:"text-muted-foreground",active:"text-primary",positive:"text-positive",warning:"text-warning",destructive:"text-destructive"}},defaultVariants:{variant:"body",state:"default"}}),f={display:"h1","title-lg":"h1",title:"h2","title-sm":"h3","title-xs":"h4",body:"p",label:"span",caption:"span",overline:"span"};function v({className:x,variant:d="body",state:c="default",as:m,icon:e,truncate:n=!1,children:l,...p}){const a=d??"body",t=m??f[a],u=t,o=!!e||n,g=t==="span"||t==="strong"||t==="em"||t==="small"||t==="label"?"inline-flex":"flex";return s.jsxs(u,{"data-slot":"text","data-variant":a,className:i.cn(r({variant:a,state:c}),o&&i.cn(g,"max-w-full items-baseline"),x),...p,children:[e?s.jsx(e,{"aria-hidden":"true",className:"size-[1em] shrink-0 translate-y-[0.14em]"}):null,o?s.jsx("span",{className:i.cn("min-w-0",n&&"truncate"),children:l}):l]})}exports.Text=v;exports.textVariants=r;
|
|
2
|
+
//# sourceMappingURL=text.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.cjs","sources":["../../src/components/ui/text.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Elements `Text` is allowed to render.\n *\n * `as` controls semantics and the document outline; `variant` controls the\n * visual scale. The two are deliberately independent — a `title-lg` can be an\n * `h2` on a page that already owns its `h1`, and a `caption` can be a `dd`.\n * Coupling them is the failure mode that keeps shadcn from shipping a\n * typography component at all (consumers reach for `h1` to mean \"big\").\n */\ntype TextElement =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"p\"\n | \"span\"\n | \"div\"\n | \"label\"\n | \"legend\"\n | \"figcaption\"\n | \"figure\"\n | \"dt\"\n | \"dd\"\n | \"li\"\n | \"strong\"\n | \"em\"\n | \"small\"\n | \"summary\"\n | \"address\";\n\n/**\n * Every variant maps onto Tailwind's own size/weight/tracking tokens plus the\n * kit's `text-2xs` — no new scale is introduced here (see DESIGN.md §Typography\n * and `Foundations/Typography`). Line heights are deliberately left to\n * Tailwind's size-paired defaults rather than overridden.\n *\n * The `gap-*` in each variant is inert until an `icon` or `truncate` switches\n * the root to a flex box; keeping it on the variant is what makes the\n * icon/text gap scale with the type step.\n */\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"gap-2.5 text-3xl font-bold tracking-tight\",\n \"title-lg\": \"gap-2.5 text-2xl font-bold tracking-tight\",\n title: \"gap-2 text-xl font-semibold\",\n \"title-sm\": \"gap-2 text-lg font-semibold\",\n \"title-xs\": \"gap-1.5 text-base font-semibold\",\n body: \"gap-1.5 text-sm\",\n label: \"gap-1.5 text-sm font-medium\",\n caption: \"gap-1 text-xs\",\n overline: \"gap-1 text-2xs font-semibold tracking-widest uppercase\",\n },\n state: {\n // `default` intentionally sets no colour so `Text` inherits from its\n // container — setting `text-foreground` here would fight every consumer\n // that colours a subtree.\n default: \"\",\n muted: \"text-muted-foreground\",\n // Semantic states follow the kit's colour contract (DESIGN.md): blue =\n // action, green = success, orange = caution, red = error. `warning` is\n // the kit-wide name for the caution slot (Badge/Alert/Banner all use it).\n //\n // Contrast against `--background`, measured in both themes:\n // active 7.66 / 11.12 · positive 4.83 / 8.02 · destructive 4.82 / 10.07\n // all clear AA 4.5 for body text. `warning` is the exception at\n // 4.44 / 8.41 — it clears AA in dark mode but lands just under in light,\n // because `--warning` was tuned to 4.6:1 on pure white while the kit's\n // actual surface is a tinted off-white. That shortfall lives in the token,\n // not here; see SW-2581.\n active: \"text-primary\",\n positive: \"text-positive\",\n warning: \"text-warning\",\n destructive: \"text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"body\",\n state: \"default\",\n },\n});\n\ntype TextVariant = NonNullable<NonNullable<VariantProps<typeof textVariants>>[\"variant\"]>;\n\n/** Sensible default element per variant. Always overridable via `as`. */\nconst DEFAULT_ELEMENT: Record<TextVariant, TextElement> = {\n display: \"h1\",\n \"title-lg\": \"h1\",\n title: \"h2\",\n \"title-sm\": \"h3\",\n \"title-xs\": \"h4\",\n body: \"p\",\n label: \"span\",\n caption: \"span\",\n overline: \"span\",\n};\n\n/**\n * Props are based on `HTMLAttributes<HTMLElement>` rather than the kit's usual\n * `ComponentProps<\"tag\">`, because every handler and the `ref` on a concrete\n * tag is parameterised by that one element type — which cannot hold once `as`\n * is polymorphic. `HTMLElement` is the widest type that stays assignable to all\n * of them. No `ref` is forwarded; the kit is migrating off `forwardRef`.\n */\ninterface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {\n /**\n * Semantic element to render. Defaults per `variant` (see `DEFAULT_ELEMENT`).\n * Set it explicitly whenever the document outline and the visual scale\n * disagree — which is most of the time on a real page.\n */\n as?: TextElement;\n /**\n * Decorative leading glyph. Rendered `aria-hidden`, sized in `em` so it\n * scales with the variant, and nudged down to sit on the cap height rather\n * than centred on the line box.\n *\n * The contract is decorative-only: the accessible name of a heading must be\n * its text. If the glyph carries meaning, keep it outside `Text` (or give\n * `Text` an explicit `aria-label`) — the component will not invent one.\n */\n icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;\n /**\n * Truncate to a single line with an ellipsis. Switches the root to a flex\n * box — `flex` for block elements, `inline-flex` for inline ones such as\n * `span` — so the parent has to bound the width for it to engage, e.g.\n * `<div className=\"flex\"><Text truncate … /></div>` with the sibling marked\n * `shrink-0`.\n */\n truncate?: boolean;\n}\n\nfunction Text({\n className,\n variant = \"body\",\n state = \"default\",\n as,\n icon: Icon,\n truncate = false,\n children,\n ...props\n}: TextProps) {\n const resolvedVariant: TextVariant = variant ?? \"body\";\n const resolvedElement: TextElement = as ?? DEFAULT_ELEMENT[resolvedVariant];\n const Comp: React.ElementType = resolvedElement;\n\n // An icon or a truncating label needs a flex root and a wrapper it can\n // shrink; plain text keeps the bare element so inline flow is untouched.\n const isComposite = Boolean(Icon) || truncate;\n\n const compositeDisplay =\n resolvedElement === \"span\" ||\n resolvedElement === \"strong\" ||\n resolvedElement === \"em\" ||\n resolvedElement === \"small\" ||\n resolvedElement === \"label\"\n ? \"inline-flex\"\n : \"flex\";\n\n return (\n <Comp\n data-slot=\"text\"\n data-variant={resolvedVariant}\n className={cn(\n textVariants({ variant: resolvedVariant, state }),\n isComposite && cn(compositeDisplay, \"max-w-full items-baseline\"),\n className,\n )}\n {...props}\n >\n {Icon ? <Icon aria-hidden=\"true\" className=\"size-[1em] shrink-0 translate-y-[0.14em]\" /> : null}\n {isComposite ? <span className={cn(\"min-w-0\", truncate && \"truncate\")}>{children}</span> : children}\n </Comp>\n );\n}\n\nexport { Text, textVariants };\nexport type { TextProps, TextElement, TextVariant };\n"],"names":["textVariants","cva","DEFAULT_ELEMENT","Text","className","variant","state","as","Icon","truncate","children","props","resolvedVariant","resolvedElement","Comp","isComposite","compositeDisplay","jsxs","cn","jsx"],"mappings":"yLA+CMA,EAAeC,EAAAA,IAAI,GAAI,CAC3B,SAAU,CACR,QAAS,CACP,QAAS,4CACT,WAAY,4CACZ,MAAO,8BACP,WAAY,8BACZ,WAAY,kCACZ,KAAM,kBACN,MAAO,8BACP,QAAS,gBACT,SAAU,wDAAA,EAEZ,MAAO,CAIL,QAAS,GACT,MAAO,wBAYP,OAAQ,eACR,SAAU,gBACV,QAAS,eACT,YAAa,kBAAA,CACf,EAEF,gBAAiB,CACf,QAAS,OACT,MAAO,SAAA,CAEX,CAAC,EAKKC,EAAoD,CACxD,QAAS,KACT,WAAY,KACZ,MAAO,KACP,WAAY,KACZ,WAAY,KACZ,KAAM,IACN,MAAO,OACP,QAAS,OACT,SAAU,MACZ,EAoCA,SAASC,EAAK,CACZ,UAAAC,EACA,QAAAC,EAAU,OACV,MAAAC,EAAQ,UACR,GAAAC,EACA,KAAMC,EACN,SAAAC,EAAW,GACX,SAAAC,EACA,GAAGC,CACL,EAAc,CACZ,MAAMC,EAA+BP,GAAW,OAC1CQ,EAA+BN,GAAML,EAAgBU,CAAe,EACpEE,EAA0BD,EAI1BE,EAAc,EAAQP,GAASC,EAE/BO,EACJH,IAAoB,QACpBA,IAAoB,UACpBA,IAAoB,MACpBA,IAAoB,SACpBA,IAAoB,QAChB,cACA,OAEN,OACEI,EAAAA,KAACH,EAAA,CACC,YAAU,OACV,eAAcF,EACd,UAAWM,EAAAA,GACTlB,EAAa,CAAE,QAASY,EAAiB,MAAAN,EAAO,EAChDS,GAAeG,EAAAA,GAAGF,EAAkB,2BAA2B,EAC/DZ,CAAA,EAED,GAAGO,EAEH,SAAA,CAAAH,QAAQA,EAAA,CAAK,cAAY,OAAO,UAAU,2CAA2C,EAAK,KAC1FO,EAAcI,EAAAA,IAAC,OAAA,CAAK,UAAWD,EAAAA,GAAG,UAAWT,GAAY,UAAU,EAAI,SAAAC,CAAA,CAAS,EAAUA,CAAA,CAAA,CAAA,CAGjG"}
|
package/dist/ui/text.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsxs as f, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { cva as b } from "class-variance-authority";
|
|
3
|
+
import { cn as s } from "../lib/utils.js";
|
|
4
|
+
const u = b("", {
|
|
5
|
+
variants: {
|
|
6
|
+
variant: {
|
|
7
|
+
display: "gap-2.5 text-3xl font-bold tracking-tight",
|
|
8
|
+
"title-lg": "gap-2.5 text-2xl font-bold tracking-tight",
|
|
9
|
+
title: "gap-2 text-xl font-semibold",
|
|
10
|
+
"title-sm": "gap-2 text-lg font-semibold",
|
|
11
|
+
"title-xs": "gap-1.5 text-base font-semibold",
|
|
12
|
+
body: "gap-1.5 text-sm",
|
|
13
|
+
label: "gap-1.5 text-sm font-medium",
|
|
14
|
+
caption: "gap-1 text-xs",
|
|
15
|
+
overline: "gap-1 text-2xs font-semibold tracking-widest uppercase"
|
|
16
|
+
},
|
|
17
|
+
state: {
|
|
18
|
+
// `default` intentionally sets no colour so `Text` inherits from its
|
|
19
|
+
// container — setting `text-foreground` here would fight every consumer
|
|
20
|
+
// that colours a subtree.
|
|
21
|
+
default: "",
|
|
22
|
+
muted: "text-muted-foreground",
|
|
23
|
+
// Semantic states follow the kit's colour contract (DESIGN.md): blue =
|
|
24
|
+
// action, green = success, orange = caution, red = error. `warning` is
|
|
25
|
+
// the kit-wide name for the caution slot (Badge/Alert/Banner all use it).
|
|
26
|
+
//
|
|
27
|
+
// Contrast against `--background`, measured in both themes:
|
|
28
|
+
// active 7.66 / 11.12 · positive 4.83 / 8.02 · destructive 4.82 / 10.07
|
|
29
|
+
// all clear AA 4.5 for body text. `warning` is the exception at
|
|
30
|
+
// 4.44 / 8.41 — it clears AA in dark mode but lands just under in light,
|
|
31
|
+
// because `--warning` was tuned to 4.6:1 on pure white while the kit's
|
|
32
|
+
// actual surface is a tinted off-white. That shortfall lives in the token,
|
|
33
|
+
// not here; see SW-2581.
|
|
34
|
+
active: "text-primary",
|
|
35
|
+
positive: "text-positive",
|
|
36
|
+
warning: "text-warning",
|
|
37
|
+
destructive: "text-destructive"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
variant: "body",
|
|
42
|
+
state: "default"
|
|
43
|
+
}
|
|
44
|
+
}), v = {
|
|
45
|
+
display: "h1",
|
|
46
|
+
"title-lg": "h1",
|
|
47
|
+
title: "h2",
|
|
48
|
+
"title-sm": "h3",
|
|
49
|
+
"title-xs": "h4",
|
|
50
|
+
body: "p",
|
|
51
|
+
label: "span",
|
|
52
|
+
caption: "span",
|
|
53
|
+
overline: "span"
|
|
54
|
+
};
|
|
55
|
+
function E({
|
|
56
|
+
className: r,
|
|
57
|
+
variant: m = "body",
|
|
58
|
+
state: p = "default",
|
|
59
|
+
as: d,
|
|
60
|
+
icon: e,
|
|
61
|
+
truncate: i = !1,
|
|
62
|
+
children: l,
|
|
63
|
+
...x
|
|
64
|
+
}) {
|
|
65
|
+
const a = m ?? "body", t = d ?? v[a], c = t, n = !!e || i, g = t === "span" || t === "strong" || t === "em" || t === "small" || t === "label" ? "inline-flex" : "flex";
|
|
66
|
+
return /* @__PURE__ */ f(
|
|
67
|
+
c,
|
|
68
|
+
{
|
|
69
|
+
"data-slot": "text",
|
|
70
|
+
"data-variant": a,
|
|
71
|
+
className: s(
|
|
72
|
+
u({ variant: a, state: p }),
|
|
73
|
+
n && s(g, "max-w-full items-baseline"),
|
|
74
|
+
r
|
|
75
|
+
),
|
|
76
|
+
...x,
|
|
77
|
+
children: [
|
|
78
|
+
e ? /* @__PURE__ */ o(e, { "aria-hidden": "true", className: "size-[1em] shrink-0 translate-y-[0.14em]" }) : null,
|
|
79
|
+
n ? /* @__PURE__ */ o("span", { className: s("min-w-0", i && "truncate"), children: l }) : l
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
export {
|
|
85
|
+
E as Text,
|
|
86
|
+
u as textVariants
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../src/components/ui/text.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\n/**\n * Elements `Text` is allowed to render.\n *\n * `as` controls semantics and the document outline; `variant` controls the\n * visual scale. The two are deliberately independent — a `title-lg` can be an\n * `h2` on a page that already owns its `h1`, and a `caption` can be a `dd`.\n * Coupling them is the failure mode that keeps shadcn from shipping a\n * typography component at all (consumers reach for `h1` to mean \"big\").\n */\ntype TextElement =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"p\"\n | \"span\"\n | \"div\"\n | \"label\"\n | \"legend\"\n | \"figcaption\"\n | \"figure\"\n | \"dt\"\n | \"dd\"\n | \"li\"\n | \"strong\"\n | \"em\"\n | \"small\"\n | \"summary\"\n | \"address\";\n\n/**\n * Every variant maps onto Tailwind's own size/weight/tracking tokens plus the\n * kit's `text-2xs` — no new scale is introduced here (see DESIGN.md §Typography\n * and `Foundations/Typography`). Line heights are deliberately left to\n * Tailwind's size-paired defaults rather than overridden.\n *\n * The `gap-*` in each variant is inert until an `icon` or `truncate` switches\n * the root to a flex box; keeping it on the variant is what makes the\n * icon/text gap scale with the type step.\n */\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display: \"gap-2.5 text-3xl font-bold tracking-tight\",\n \"title-lg\": \"gap-2.5 text-2xl font-bold tracking-tight\",\n title: \"gap-2 text-xl font-semibold\",\n \"title-sm\": \"gap-2 text-lg font-semibold\",\n \"title-xs\": \"gap-1.5 text-base font-semibold\",\n body: \"gap-1.5 text-sm\",\n label: \"gap-1.5 text-sm font-medium\",\n caption: \"gap-1 text-xs\",\n overline: \"gap-1 text-2xs font-semibold tracking-widest uppercase\",\n },\n state: {\n // `default` intentionally sets no colour so `Text` inherits from its\n // container — setting `text-foreground` here would fight every consumer\n // that colours a subtree.\n default: \"\",\n muted: \"text-muted-foreground\",\n // Semantic states follow the kit's colour contract (DESIGN.md): blue =\n // action, green = success, orange = caution, red = error. `warning` is\n // the kit-wide name for the caution slot (Badge/Alert/Banner all use it).\n //\n // Contrast against `--background`, measured in both themes:\n // active 7.66 / 11.12 · positive 4.83 / 8.02 · destructive 4.82 / 10.07\n // all clear AA 4.5 for body text. `warning` is the exception at\n // 4.44 / 8.41 — it clears AA in dark mode but lands just under in light,\n // because `--warning` was tuned to 4.6:1 on pure white while the kit's\n // actual surface is a tinted off-white. That shortfall lives in the token,\n // not here; see SW-2581.\n active: \"text-primary\",\n positive: \"text-positive\",\n warning: \"text-warning\",\n destructive: \"text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"body\",\n state: \"default\",\n },\n});\n\ntype TextVariant = NonNullable<NonNullable<VariantProps<typeof textVariants>>[\"variant\"]>;\n\n/** Sensible default element per variant. Always overridable via `as`. */\nconst DEFAULT_ELEMENT: Record<TextVariant, TextElement> = {\n display: \"h1\",\n \"title-lg\": \"h1\",\n title: \"h2\",\n \"title-sm\": \"h3\",\n \"title-xs\": \"h4\",\n body: \"p\",\n label: \"span\",\n caption: \"span\",\n overline: \"span\",\n};\n\n/**\n * Props are based on `HTMLAttributes<HTMLElement>` rather than the kit's usual\n * `ComponentProps<\"tag\">`, because every handler and the `ref` on a concrete\n * tag is parameterised by that one element type — which cannot hold once `as`\n * is polymorphic. `HTMLElement` is the widest type that stays assignable to all\n * of them. No `ref` is forwarded; the kit is migrating off `forwardRef`.\n */\ninterface TextProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof textVariants> {\n /**\n * Semantic element to render. Defaults per `variant` (see `DEFAULT_ELEMENT`).\n * Set it explicitly whenever the document outline and the visual scale\n * disagree — which is most of the time on a real page.\n */\n as?: TextElement;\n /**\n * Decorative leading glyph. Rendered `aria-hidden`, sized in `em` so it\n * scales with the variant, and nudged down to sit on the cap height rather\n * than centred on the line box.\n *\n * The contract is decorative-only: the accessible name of a heading must be\n * its text. If the glyph carries meaning, keep it outside `Text` (or give\n * `Text` an explicit `aria-label`) — the component will not invent one.\n */\n icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;\n /**\n * Truncate to a single line with an ellipsis. Switches the root to a flex\n * box — `flex` for block elements, `inline-flex` for inline ones such as\n * `span` — so the parent has to bound the width for it to engage, e.g.\n * `<div className=\"flex\"><Text truncate … /></div>` with the sibling marked\n * `shrink-0`.\n */\n truncate?: boolean;\n}\n\nfunction Text({\n className,\n variant = \"body\",\n state = \"default\",\n as,\n icon: Icon,\n truncate = false,\n children,\n ...props\n}: TextProps) {\n const resolvedVariant: TextVariant = variant ?? \"body\";\n const resolvedElement: TextElement = as ?? DEFAULT_ELEMENT[resolvedVariant];\n const Comp: React.ElementType = resolvedElement;\n\n // An icon or a truncating label needs a flex root and a wrapper it can\n // shrink; plain text keeps the bare element so inline flow is untouched.\n const isComposite = Boolean(Icon) || truncate;\n\n const compositeDisplay =\n resolvedElement === \"span\" ||\n resolvedElement === \"strong\" ||\n resolvedElement === \"em\" ||\n resolvedElement === \"small\" ||\n resolvedElement === \"label\"\n ? \"inline-flex\"\n : \"flex\";\n\n return (\n <Comp\n data-slot=\"text\"\n data-variant={resolvedVariant}\n className={cn(\n textVariants({ variant: resolvedVariant, state }),\n isComposite && cn(compositeDisplay, \"max-w-full items-baseline\"),\n className,\n )}\n {...props}\n >\n {Icon ? <Icon aria-hidden=\"true\" className=\"size-[1em] shrink-0 translate-y-[0.14em]\" /> : null}\n {isComposite ? <span className={cn(\"min-w-0\", truncate && \"truncate\")}>{children}</span> : children}\n </Comp>\n );\n}\n\nexport { Text, textVariants };\nexport type { TextProps, TextElement, TextVariant };\n"],"names":["textVariants","cva","DEFAULT_ELEMENT","Text","className","variant","state","as","Icon","truncate","children","props","resolvedVariant","resolvedElement","Comp","isComposite","compositeDisplay","jsxs","cn","jsx"],"mappings":";;;AA+CA,MAAMA,IAAeC,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,UAAU;AAAA,IAAA;AAAA,IAEZ,OAAO;AAAA;AAAA;AAAA;AAAA,MAIL,SAAS;AAAA,MACT,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAYP,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,EAAA;AAEX,CAAC,GAKKC,IAAoD;AAAA,EACxD,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,UAAU;AACZ;AAoCA,SAASC,EAAK;AAAA,EACZ,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,OAAAC,IAAQ;AAAA,EACR,IAAAC;AAAA,EACA,MAAMC;AAAA,EACN,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,GAAGC;AACL,GAAc;AACZ,QAAMC,IAA+BP,KAAW,QAC1CQ,IAA+BN,KAAML,EAAgBU,CAAe,GACpEE,IAA0BD,GAI1BE,IAAc,EAAQP,KAASC,GAE/BO,IACJH,MAAoB,UACpBA,MAAoB,YACpBA,MAAoB,QACpBA,MAAoB,WACpBA,MAAoB,UAChB,gBACA;AAEN,SACE,gBAAAI;AAAA,IAACH;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcF;AAAA,MACd,WAAWM;AAAA,QACTlB,EAAa,EAAE,SAASY,GAAiB,OAAAN,GAAO;AAAA,QAChDS,KAAeG,EAAGF,GAAkB,2BAA2B;AAAA,QAC/DZ;AAAA,MAAA;AAAA,MAED,GAAGO;AAAA,MAEH,UAAA;AAAA,QAAAH,sBAAQA,GAAA,EAAK,eAAY,QAAO,WAAU,4CAA2C,IAAK;AAAA,QAC1FO,IAAc,gBAAAI,EAAC,QAAA,EAAK,WAAWD,EAAG,WAAWT,KAAY,UAAU,GAAI,UAAAC,EAAA,CAAS,IAAUA;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGjG;"}
|