@zhama/tego-ui 0.0.0-stage → 1.36.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/LICENSE +172 -0
- package/assets/styles/tokens.css +1 -0
- package/dist/animations-FAPO43TO.css +1 -0
- package/dist/chunk-4MXE2PSC.js +1 -0
- package/dist/chunk-6HRT65AA.cjs +1 -0
- package/dist/chunk-6Z2BWV6F.js +1 -0
- package/dist/chunk-CRTE56HI.js +1 -0
- package/dist/chunk-ERURJLNK.cjs +1 -0
- package/dist/chunk-GZXKQ2K6.cjs +1 -0
- package/dist/chunk-H7AHFBEU.js +1 -0
- package/dist/chunk-M2GCF4FZ.cjs +1 -0
- package/dist/chunk-MTA2XHQG.cjs +1 -0
- package/dist/chunk-MVPRTW7Z.js +1 -0
- package/dist/chunk-NA5M3B4G.js +1 -0
- package/dist/chunk-ON32SVTM.cjs +1 -0
- package/dist/chunk-OS64HXLJ.js +1 -0
- package/dist/chunk-QPXIAUJD.js +1 -0
- package/dist/chunk-RWEJPTVG.cjs +1 -0
- package/dist/chunk-SHFR7LZH.js +1 -0
- package/dist/chunk-SLTTRXOU.cjs +1 -0
- package/dist/chunk-ULCTAAJ2.js +1 -0
- package/dist/chunk-UQZZ6WIZ.cjs +1 -0
- package/dist/chunk-YWPIPAUQ.cjs +1 -0
- package/dist/command-palette.cjs +1 -0
- package/dist/command-palette.d.cts +44 -0
- package/dist/command-palette.d.ts +44 -0
- package/dist/command-palette.js +1 -0
- package/dist/config-form/index.cjs +1 -0
- package/dist/config-form/index.d.cts +99 -0
- package/dist/config-form/index.d.ts +99 -0
- package/dist/config-form/index.js +1 -0
- package/dist/design-system/index.cjs +1 -0
- package/dist/design-system/index.d.cts +629 -0
- package/dist/design-system/index.d.ts +629 -0
- package/dist/design-system/index.js +1 -0
- package/dist/editors.cjs +1 -0
- package/dist/editors.d.cts +68 -0
- package/dist/editors.d.ts +68 -0
- package/dist/editors.js +1 -0
- package/dist/highlight-IORKDKTB.css +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +3157 -0
- package/dist/index.d.ts +3157 -0
- package/dist/index.js +2 -0
- package/dist/styles-447PVICJ.css +1 -0
- package/dist/styles-FZ7XXKJP.css +1 -0
- package/dist/summary-charts.cjs +1 -0
- package/dist/summary-charts.d.cts +45 -0
- package/dist/summary-charts.d.ts +45 -0
- package/dist/summary-charts.js +1 -0
- package/dist/tag-input.cjs +1 -0
- package/dist/tag-input.d.cts +15 -0
- package/dist/tag-input.d.ts +15 -0
- package/dist/tag-input.js +1 -0
- package/package.json +122 -4
- package/tailwind-preset.cjs +1 -0
- package/README.md +0 -3
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The schema shape {@link ConfigForm} renders.
|
|
6
|
+
*
|
|
7
|
+
* Structurally the same as the plugin SDK's `PluginConfigSchema`, declared
|
|
8
|
+
* again here rather than imported: `@tego/ui` is the layer everything else
|
|
9
|
+
* builds on, and a dependency on the plugin SDK would make the design system
|
|
10
|
+
* aware of plugins. Callers pass their own type; TypeScript accepts it because
|
|
11
|
+
* the shapes match.
|
|
12
|
+
*/
|
|
13
|
+
type ConfigFormFieldType = 'string' | 'number' | 'integer' | 'boolean' | 'array';
|
|
14
|
+
interface ConfigFormFieldSchema {
|
|
15
|
+
type?: ConfigFormFieldType | string;
|
|
16
|
+
title?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
default?: unknown;
|
|
19
|
+
enum?: (string | number)[];
|
|
20
|
+
minLength?: number;
|
|
21
|
+
maxLength?: number;
|
|
22
|
+
pattern?: string;
|
|
23
|
+
format?: string;
|
|
24
|
+
minimum?: number;
|
|
25
|
+
maximum?: number;
|
|
26
|
+
items?: {
|
|
27
|
+
type?: string;
|
|
28
|
+
enum?: string[];
|
|
29
|
+
};
|
|
30
|
+
maxItems?: number;
|
|
31
|
+
/** Present on a claw schema, which is not held to the flat subset. */
|
|
32
|
+
properties?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
interface ConfigFormSchema {
|
|
35
|
+
type?: string;
|
|
36
|
+
properties?: Record<string, ConfigFormFieldSchema>;
|
|
37
|
+
required?: string[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* How one field is presented. Text is already resolved to one language — the
|
|
41
|
+
* design system has no business knowing which one.
|
|
42
|
+
*/
|
|
43
|
+
interface ConfigFormFieldHint {
|
|
44
|
+
label?: string;
|
|
45
|
+
help?: string;
|
|
46
|
+
placeholder?: string;
|
|
47
|
+
order?: number;
|
|
48
|
+
/** Collapsed until the operator asks for it. */
|
|
49
|
+
advanced?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Rendered as a password field, and its stored value is never sent here.
|
|
52
|
+
*
|
|
53
|
+
* The form shows {@link CONFIG_FORM_SECRET_SENTINEL} for a secret that is
|
|
54
|
+
* set; leaving it untouched submits the sentinel, which the server reads as
|
|
55
|
+
* "keep what is stored".
|
|
56
|
+
*/
|
|
57
|
+
sensitive?: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* What the server substitutes for a stored secret, and what writing it back
|
|
62
|
+
* means: leave the stored value alone.
|
|
63
|
+
*
|
|
64
|
+
* The same literal OpenClaw uses. Two sentinels would mean a secret saved
|
|
65
|
+
* through one console could be clobbered by the other.
|
|
66
|
+
*/
|
|
67
|
+
declare const CONFIG_FORM_SECRET_SENTINEL = "__OPENCLAW_REDACTED__";
|
|
68
|
+
interface ConfigFormLabels {
|
|
69
|
+
/** Shown on the toggle that reveals `advanced` fields. */
|
|
70
|
+
advanced: string;
|
|
71
|
+
/** Empty state when the schema declares nothing. */
|
|
72
|
+
empty: string;
|
|
73
|
+
/** Marks a field the section cannot run without. */
|
|
74
|
+
required: string;
|
|
75
|
+
/** Help text under a secret field that already has a stored value. */
|
|
76
|
+
secretStored: string;
|
|
77
|
+
/** Button that adds an entry to a string list. */
|
|
78
|
+
addItem: string;
|
|
79
|
+
/** Warning under a field the form had to fall back to raw JSON for. */
|
|
80
|
+
rawJson: string;
|
|
81
|
+
/** Shown under a raw JSON field whose text does not parse. */
|
|
82
|
+
invalidJson: string;
|
|
83
|
+
}
|
|
84
|
+
interface ConfigFormProps {
|
|
85
|
+
schema: ConfigFormSchema | null;
|
|
86
|
+
hints?: Record<string, ConfigFormFieldHint>;
|
|
87
|
+
values: Record<string, unknown>;
|
|
88
|
+
onChange: (values: Record<string, unknown>) => void;
|
|
89
|
+
disabled?: boolean;
|
|
90
|
+
/** Field names the caller wants flagged, e.g. from a failed save. */
|
|
91
|
+
errors?: Record<string, string>;
|
|
92
|
+
labels?: Partial<ConfigFormLabels>;
|
|
93
|
+
/** Rendered at the end of a field's label row, e.g. a per-field reset. */
|
|
94
|
+
renderFieldAction?: (name: string) => ReactNode;
|
|
95
|
+
className?: string;
|
|
96
|
+
}
|
|
97
|
+
declare function ConfigForm({ schema, hints, values, onChange, disabled, errors, labels: labelOverrides, renderFieldAction, className, }: ConfigFormProps): React.JSX.Element;
|
|
98
|
+
|
|
99
|
+
export { CONFIG_FORM_SECRET_SENTINEL, ConfigForm, type ConfigFormFieldHint, type ConfigFormFieldSchema, type ConfigFormFieldType, type ConfigFormLabels, type ConfigFormProps, type ConfigFormSchema };
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The schema shape {@link ConfigForm} renders.
|
|
6
|
+
*
|
|
7
|
+
* Structurally the same as the plugin SDK's `PluginConfigSchema`, declared
|
|
8
|
+
* again here rather than imported: `@tego/ui` is the layer everything else
|
|
9
|
+
* builds on, and a dependency on the plugin SDK would make the design system
|
|
10
|
+
* aware of plugins. Callers pass their own type; TypeScript accepts it because
|
|
11
|
+
* the shapes match.
|
|
12
|
+
*/
|
|
13
|
+
type ConfigFormFieldType = 'string' | 'number' | 'integer' | 'boolean' | 'array';
|
|
14
|
+
interface ConfigFormFieldSchema {
|
|
15
|
+
type?: ConfigFormFieldType | string;
|
|
16
|
+
title?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
default?: unknown;
|
|
19
|
+
enum?: (string | number)[];
|
|
20
|
+
minLength?: number;
|
|
21
|
+
maxLength?: number;
|
|
22
|
+
pattern?: string;
|
|
23
|
+
format?: string;
|
|
24
|
+
minimum?: number;
|
|
25
|
+
maximum?: number;
|
|
26
|
+
items?: {
|
|
27
|
+
type?: string;
|
|
28
|
+
enum?: string[];
|
|
29
|
+
};
|
|
30
|
+
maxItems?: number;
|
|
31
|
+
/** Present on a claw schema, which is not held to the flat subset. */
|
|
32
|
+
properties?: Record<string, unknown>;
|
|
33
|
+
}
|
|
34
|
+
interface ConfigFormSchema {
|
|
35
|
+
type?: string;
|
|
36
|
+
properties?: Record<string, ConfigFormFieldSchema>;
|
|
37
|
+
required?: string[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* How one field is presented. Text is already resolved to one language — the
|
|
41
|
+
* design system has no business knowing which one.
|
|
42
|
+
*/
|
|
43
|
+
interface ConfigFormFieldHint {
|
|
44
|
+
label?: string;
|
|
45
|
+
help?: string;
|
|
46
|
+
placeholder?: string;
|
|
47
|
+
order?: number;
|
|
48
|
+
/** Collapsed until the operator asks for it. */
|
|
49
|
+
advanced?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Rendered as a password field, and its stored value is never sent here.
|
|
52
|
+
*
|
|
53
|
+
* The form shows {@link CONFIG_FORM_SECRET_SENTINEL} for a secret that is
|
|
54
|
+
* set; leaving it untouched submits the sentinel, which the server reads as
|
|
55
|
+
* "keep what is stored".
|
|
56
|
+
*/
|
|
57
|
+
sensitive?: boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* What the server substitutes for a stored secret, and what writing it back
|
|
62
|
+
* means: leave the stored value alone.
|
|
63
|
+
*
|
|
64
|
+
* The same literal OpenClaw uses. Two sentinels would mean a secret saved
|
|
65
|
+
* through one console could be clobbered by the other.
|
|
66
|
+
*/
|
|
67
|
+
declare const CONFIG_FORM_SECRET_SENTINEL = "__OPENCLAW_REDACTED__";
|
|
68
|
+
interface ConfigFormLabels {
|
|
69
|
+
/** Shown on the toggle that reveals `advanced` fields. */
|
|
70
|
+
advanced: string;
|
|
71
|
+
/** Empty state when the schema declares nothing. */
|
|
72
|
+
empty: string;
|
|
73
|
+
/** Marks a field the section cannot run without. */
|
|
74
|
+
required: string;
|
|
75
|
+
/** Help text under a secret field that already has a stored value. */
|
|
76
|
+
secretStored: string;
|
|
77
|
+
/** Button that adds an entry to a string list. */
|
|
78
|
+
addItem: string;
|
|
79
|
+
/** Warning under a field the form had to fall back to raw JSON for. */
|
|
80
|
+
rawJson: string;
|
|
81
|
+
/** Shown under a raw JSON field whose text does not parse. */
|
|
82
|
+
invalidJson: string;
|
|
83
|
+
}
|
|
84
|
+
interface ConfigFormProps {
|
|
85
|
+
schema: ConfigFormSchema | null;
|
|
86
|
+
hints?: Record<string, ConfigFormFieldHint>;
|
|
87
|
+
values: Record<string, unknown>;
|
|
88
|
+
onChange: (values: Record<string, unknown>) => void;
|
|
89
|
+
disabled?: boolean;
|
|
90
|
+
/** Field names the caller wants flagged, e.g. from a failed save. */
|
|
91
|
+
errors?: Record<string, string>;
|
|
92
|
+
labels?: Partial<ConfigFormLabels>;
|
|
93
|
+
/** Rendered at the end of a field's label row, e.g. a per-field reset. */
|
|
94
|
+
renderFieldAction?: (name: string) => ReactNode;
|
|
95
|
+
className?: string;
|
|
96
|
+
}
|
|
97
|
+
declare function ConfigForm({ schema, hints, values, onChange, disabled, errors, labels: labelOverrides, renderFieldAction, className, }: ConfigFormProps): React.JSX.Element;
|
|
98
|
+
|
|
99
|
+
export { CONFIG_FORM_SECRET_SENTINEL, ConfigForm, type ConfigFormFieldHint, type ConfigFormFieldSchema, type ConfigFormFieldType, type ConfigFormLabels, type ConfigFormProps, type ConfigFormSchema };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _=Object.defineProperty;var c=(s,n)=>_(s,"name",{value:n,configurable:!0});import{Label as T,Badge as I,Select as J,SelectTrigger as O,SelectValue as K,SelectContent as L,SelectItem as q,Switch as D,Input as S,Textarea as R}from"../chunk-MVPRTW7Z.js";import{Button as C}from"../chunk-OS64HXLJ.js";import{cn as w}from"../chunk-ULCTAAJ2.js";import"../chunk-QPXIAUJD.js";import{ChevronDown as j,X as z,Plus as B,EyeOff as M,Eye as P}from"lucide-react";import{useState as g,useMemo as V}from"react";import{jsx as r,jsxs as h}from"react/jsx-runtime";var k="__OPENCLAW_REDACTED__",G={advanced:"Advanced",empty:"This section has no settings.",required:"Required",secretStored:"A value is stored. Leave this untouched to keep it.",addItem:"Add",rawJson:"This field is edited as JSON.",invalidJson:"Not valid JSON \u2014 the last valid value is kept."};function X(s,n){const o=new Set(s.required??[]);return Object.entries(s.properties??{}).map(([i,e],l)=>{const t=n[i]??{};return{name:i,schema:e,hint:t,required:o.has(i),advanced:t.advanced===!0,sortKey:[t.order??Number.MAX_SAFE_INTEGER,l]}}).sort((i,e)=>i.sortKey[0]-e.sortKey[0]||i.sortKey[1]-e.sortKey[1]).map(({sortKey:i,...e})=>e)}c(X,"orderFields");function U(s){if(s.enum)return!0;switch(s.type){case"string":case"number":case"integer":case"boolean":return!0;case"array":return s.items?.type==="string";default:return!1}}c(U,"isRenderable");function W({schema:s,hints:n={},values:o,onChange:m,disabled:i=!1,errors:e={},labels:l,renderFieldAction:t,className:u}){const d={...G,...l},[f,N]=g(!1),a=V(()=>s?X(s,n):[],[s,n]);if(a.length===0)return r("p",{className:w("py-6 text-center text-sm text-muted-foreground",u),children:d.empty});const x=a.filter(p=>!p.advanced),v=a.filter(p=>p.advanced),F=c((p,y)=>{const b={...o};y===void 0?delete b[p]:b[p]=y,m(b)},"patch"),E=c(p=>r(H,{field:p,value:o[p.name],error:e[p.name],disabled:i,labels:d,action:t?.(p.name),onChange:c(y=>F(p.name,y),"onChange")},p.name),"renderField");return h("div",{className:w("space-y-1",u),children:[x.map(E),v.length>0&&h("div",{className:"pt-2",children:[h("button",{type:"button",className:"flex items-center gap-1.5 text-xs text-muted-foreground transition-colors hover:text-foreground",onClick:c(()=>N(p=>!p),"onClick"),children:[r(j,{className:w("h-3.5 w-3.5 transition-transform",f&&"rotate-180")}),d.advanced,h("span",{className:"opacity-60",children:["(",v.length,")"]})]}),f&&r("div",{className:"mt-1 space-y-1",children:v.map(E)})]})]})}c(W,"ConfigForm");function H({field:s,value:n,error:o,disabled:m,labels:i,action:e,onChange:l}){const{name:t,schema:u,hint:d,required:f}=s,N=d.label??u.title??t,a=d.help??u.description;return h("div",{className:"space-y-1.5 py-2",children:[h("div",{className:"flex items-center gap-2",children:[r(T,{className:"text-sm font-medium",children:N}),f&&r(I,{variant:"outline",className:"h-4 px-1 text-[10px] font-normal",children:i.required}),r("code",{className:"text-[11px] text-muted-foreground/70",children:t}),e&&r("div",{className:"ml-auto",children:e})]}),a&&r("p",{className:"text-xs text-muted-foreground",children:a}),r(Q,{field:s,value:n,disabled:m,labels:i,onChange:l}),o&&r("p",{className:"text-xs text-destructive",children:o})]})}c(H,"ConfigField");function Q({field:s,value:n,disabled:o,labels:m,onChange:i}){const{schema:e,hint:l}=s;if(!U(e))return r($,{value:n,disabled:o,labels:m,onChange:i});if(e.enum)return h(J,{value:n==null?"":String(n),disabled:o,onValueChange:c(t=>i(e.type==="number"||e.type==="integer"?Number(t):t),"onValueChange"),children:[r(O,{className:"h-8 text-sm",children:r(K,{placeholder:l.placeholder??""})}),r(L,{children:e.enum.map(t=>r(q,{value:String(t),children:String(t)},String(t)))})]});if(e.type==="boolean"){const t=typeof n=="boolean"?n:typeof e.default=="boolean"?e.default:!1;return r(D,{checked:t,disabled:o,onCheckedChange:c(u=>i(u),"onCheckedChange")})}return e.type==="number"||e.type==="integer"?r(S,{type:"number",className:"h-8 text-sm",disabled:o,placeholder:l.placeholder??A(e),value:n==null?"":String(n),min:e.minimum,max:e.maximum,onChange:c(t=>{const u=t.target.value;if(u===""){i(void 0);return}const d=Number(u);i(Number.isNaN(d)?u:d)},"onChange")}):e.type==="array"?r(Z,{value:n,disabled:o,labels:m,options:e.items?.enum,maxItems:e.maxItems,onChange:i}):l.sensitive?r(Y,{value:n,disabled:o,labels:m,placeholder:l.placeholder,onChange:i}):r(S,{type:e.format==="email"?"email":"text",className:"h-8 text-sm",disabled:o,placeholder:l.placeholder??A(e),value:n==null?"":String(n),onChange:c(t=>i(t.target.value===""?void 0:t.target.value),"onChange")})}c(Q,"ConfigInput");function A(s){return s.default===void 0?"":String(s.default)}c(A,"defaultPlaceholder");function Y({value:s,disabled:n,labels:o,placeholder:m,onChange:i}){const[e,l]=g(!1),t=s===k,u=s==null?"":String(s);return h("div",{className:"space-y-1",children:[h("div",{className:"flex items-center gap-2",children:[r(S,{type:e&&!t?"text":"password",className:"h-8 text-sm",disabled:n,placeholder:m??"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022",value:u,onFocus:c(()=>{t&&i(void 0)},"onFocus"),onChange:c(d=>i(d.target.value===""?void 0:d.target.value),"onChange")}),r(C,{type:"button",variant:"outline",size:"icon",className:"h-8 w-8 shrink-0 text-muted-foreground",disabled:n||t,onClick:c(()=>l(d=>!d),"onClick"),children:e?r(M,{className:"h-3.5 w-3.5"}):r(P,{className:"h-3.5 w-3.5"})})]}),t&&r("p",{className:"text-xs text-muted-foreground",children:o.secretStored})]})}c(Y,"SecretField");function Z({value:s,disabled:n,labels:o,options:m,maxItems:i,onChange:e}){const l=Array.isArray(s)?s.filter(a=>typeof a=="string"):[],[t,u]=g(""),d=i!==void 0&&l.length>=i,f=c(a=>e(a.length===0?void 0:a),"commit");if(m)return r("div",{className:"flex flex-wrap gap-1.5",children:m.map(a=>{const x=l.includes(a);return r(C,{type:"button",size:"sm",variant:x?"default":"outline",className:"h-7 text-xs",disabled:n||!x&&d,onClick:c(()=>f(x?l.filter(v=>v!==a):[...l,a]),"onClick"),children:a},a)})});const N=c(()=>{const a=t.trim();a===""||l.includes(a)||(f([...l,a]),u(""))},"add");return h("div",{className:"space-y-1.5",children:[l.length>0&&r("div",{className:"flex flex-wrap gap-1.5",children:l.map(a=>h("span",{className:"inline-flex items-center gap-1 rounded-md bg-muted px-2 py-1 text-xs",children:[a,r("button",{type:"button",disabled:n,className:"text-muted-foreground transition-colors hover:text-destructive",onClick:c(()=>f(l.filter(x=>x!==a)),"onClick"),children:r(z,{className:"h-3 w-3"})})]},a))}),h("div",{className:"flex items-center gap-2",children:[r(S,{className:"h-8 text-sm",disabled:n||d,value:t,onChange:c(a=>u(a.target.value),"onChange"),onKeyDown:c(a=>{a.key==="Enter"&&(a.preventDefault(),N())},"onKeyDown")}),h(C,{type:"button",variant:"outline",size:"sm",className:"h-8 shrink-0 text-xs",disabled:n||d||t.trim()==="",onClick:N,children:[r(B,{className:"mr-1 h-3.5 w-3.5"}),o.addItem]})]})]})}c(Z,"StringListField");function $({value:s,disabled:n,labels:o,onChange:m}){const[i,e]=g(()=>s===void 0?"":JSON.stringify(s,null,2)),[l,t]=g(!0);return h("div",{className:"space-y-1",children:[r(R,{rows:4,spellCheck:!1,disabled:n,className:"font-mono text-xs",value:i,onChange:c(u=>{const d=u.target.value;if(e(d),d.trim()===""){t(!0),m(void 0);return}try{m(JSON.parse(d)),t(!0)}catch{t(!1)}},"onChange")}),r("p",{className:w("text-xs",l?"text-muted-foreground":"text-destructive"),children:l?o.rawJson:o.invalidJson})]})}c($,"JsonField");export{k as CONFIG_FORM_SECRET_SENTINEL,W as ConfigForm};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var e=(t,r)=>n(t,"name",{value:r,configurable:!0});var chunkUQZZ6WIZ_cjs=require("../chunk-UQZZ6WIZ.cjs");require("../chunk-6HRT65AA.cjs"),Object.defineProperty(exports,"animations",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.animations},"get")}),Object.defineProperty(exports,"breakpoints",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.breakpoints},"get")}),Object.defineProperty(exports,"buildBadgeClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildBadgeClass},"get")}),Object.defineProperty(exports,"buildButtonClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildButtonClass},"get")}),Object.defineProperty(exports,"buildCardClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildCardClass},"get")}),Object.defineProperty(exports,"buildFocusableClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildFocusableClass},"get")}),Object.defineProperty(exports,"buildGridClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildGridClass},"get")}),Object.defineProperty(exports,"buildInputClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildInputClass},"get")}),Object.defineProperty(exports,"buildSkeletonClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildSkeletonClass},"get")}),Object.defineProperty(exports,"buildTableClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.buildTableClass},"get")}),Object.defineProperty(exports,"chatBubbles",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.chatBubbles},"get")}),Object.defineProperty(exports,"cn",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.cn},"get")}),Object.defineProperty(exports,"colors",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.colors},"get")}),Object.defineProperty(exports,"combineTokens",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.combineTokens},"get")}),Object.defineProperty(exports,"designTokens",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.designTokens},"get")}),Object.defineProperty(exports,"focusRing",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.focusRing},"get")}),Object.defineProperty(exports,"getAnimation",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getAnimation},"get")}),Object.defineProperty(exports,"getContainerClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getContainerClass},"get")}),Object.defineProperty(exports,"getIconSize",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getIconSize},"get")}),Object.defineProperty(exports,"getSpacing",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getSpacing},"get")}),Object.defineProperty(exports,"getStateStyle",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getStateStyle},"get")}),Object.defineProperty(exports,"getStatusBadgeVariant",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getStatusBadgeVariant},"get")}),Object.defineProperty(exports,"getStatusColor",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getStatusColor},"get")}),Object.defineProperty(exports,"getTruncateClass",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getTruncateClass},"get")}),Object.defineProperty(exports,"getTypography",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.getTypography},"get")}),Object.defineProperty(exports,"iconSizes",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.iconSizes},"get")}),Object.defineProperty(exports,"interactions",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.interactions},"get")}),Object.defineProperty(exports,"layout",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.layout},"get")}),Object.defineProperty(exports,"presets",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.presets},"get")}),Object.defineProperty(exports,"radius",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.radius},"get")}),Object.defineProperty(exports,"shadows",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.shadows},"get")}),Object.defineProperty(exports,"spacing",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.spacing},"get")}),Object.defineProperty(exports,"states",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.states},"get")}),Object.defineProperty(exports,"surfaces",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.surfaces},"get")}),Object.defineProperty(exports,"transitions",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.transitions},"get")}),Object.defineProperty(exports,"truncate",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.truncate},"get")}),Object.defineProperty(exports,"typography",{enumerable:!0,get:e(function(){return chunkUQZZ6WIZ_cjs.typography},"get")});
|