@atelier-ui/react 0.0.31 → 0.0.33

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/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## 0.0.33 (2026-04-25)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **storybook:** theme toggle compares against background key not hex ([#1](https://github.com/DominikPieper/atelier-ui/issues/1))
6
+ - **tokens:** consolidate on-primary into mode-aware text-on-primary ([#0](https://github.com/DominikPieper/atelier-ui/issues/0), [#00](https://github.com/DominikPieper/atelier-ui/issues/00))
7
+
8
+ ### ❤️ Thank You
9
+
10
+ - Claude Opus 4.7 (1M context)
11
+ - Dominik Pieper
12
+
13
+ ## 0.0.32 (2026-04-25)
14
+
15
+ ### 🚀 Features
16
+
17
+ - **icon:** add LlmIcon component across all frameworks ([7ef91f2](https://github.com/DominikPieper/atelier-ui/commit/7ef91f2))
18
+
19
+ ### ❤️ Thank You
20
+
21
+ - Claude Opus 4.7 (1M context)
22
+ - Dominik Pieper
23
+
1
24
  ## 0.0.31 (2026-04-25)
2
25
 
3
26
  ### 🩹 Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atelier-ui/react",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Atelier UI component library for React — LLM-optimised, accessible, design-token-driven",
5
5
  "keywords": [
6
6
  "react",
package/src/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './lib/accordion/llm-accordion';
2
2
  export * from './lib/alert/llm-alert';
3
3
  export * from './lib/avatar/llm-avatar';
4
4
  export * from './lib/badge/llm-badge';
5
+ export * from './lib/icon/llm-icon';
5
6
  export * from './lib/breadcrumbs/llm-breadcrumbs';
6
7
  export * from './lib/button/llm-button';
7
8
  export * from './lib/card/llm-card';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/react/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../libs/react/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC"}
package/src/index.js CHANGED
@@ -2,6 +2,7 @@ export * from './lib/accordion/llm-accordion';
2
2
  export * from './lib/alert/llm-alert';
3
3
  export * from './lib/avatar/llm-avatar';
4
4
  export * from './lib/badge/llm-badge';
5
+ export * from './lib/icon/llm-icon';
5
6
  export * from './lib/breadcrumbs/llm-breadcrumbs';
6
7
  export * from './lib/button/llm-button';
7
8
  export * from './lib/card/llm-card';
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/react/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './lib/accordion/llm-accordion';\nexport * from './lib/alert/llm-alert';\nexport * from './lib/avatar/llm-avatar';\nexport * from './lib/badge/llm-badge';\nexport * from './lib/breadcrumbs/llm-breadcrumbs';\nexport * from './lib/button/llm-button';\nexport * from './lib/card/llm-card';\nexport * from './lib/checkbox/llm-checkbox';\nexport * from './lib/dialog/llm-dialog';\nexport * from './lib/drawer/llm-drawer';\nexport * from './lib/input/llm-input';\nexport * from './lib/menu/llm-menu';\nexport * from './lib/pagination/llm-pagination';\nexport * from './lib/progress/llm-progress';\nexport * from './lib/radio-group/llm-radio-group';\nexport * from './lib/radio/llm-radio';\nexport * from './lib/select/llm-select';\nexport * from './lib/combobox/llm-combobox';\nexport * from './lib/skeleton/llm-skeleton';\nexport * from './lib/table/llm-table';\nexport * from './lib/tabs/llm-tabs';\nexport * from './lib/textarea/llm-textarea';\nexport * from './lib/toast/llm-toast';\nexport * from './lib/stepper/llm-stepper';\nexport * from './lib/toggle/llm-toggle';\nexport * from './lib/tooltip/llm-tooltip';\nexport * from './lib/code-block/llm-code-block';\nexport * from './lib/chat/llm-chat';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/react/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './lib/accordion/llm-accordion';\nexport * from './lib/alert/llm-alert';\nexport * from './lib/avatar/llm-avatar';\nexport * from './lib/badge/llm-badge';\nexport * from './lib/icon/llm-icon';\nexport * from './lib/breadcrumbs/llm-breadcrumbs';\nexport * from './lib/button/llm-button';\nexport * from './lib/card/llm-card';\nexport * from './lib/checkbox/llm-checkbox';\nexport * from './lib/dialog/llm-dialog';\nexport * from './lib/drawer/llm-drawer';\nexport * from './lib/input/llm-input';\nexport * from './lib/menu/llm-menu';\nexport * from './lib/pagination/llm-pagination';\nexport * from './lib/progress/llm-progress';\nexport * from './lib/radio-group/llm-radio-group';\nexport * from './lib/radio/llm-radio';\nexport * from './lib/select/llm-select';\nexport * from './lib/combobox/llm-combobox';\nexport * from './lib/skeleton/llm-skeleton';\nexport * from './lib/table/llm-table';\nexport * from './lib/tabs/llm-tabs';\nexport * from './lib/textarea/llm-textarea';\nexport * from './lib/toast/llm-toast';\nexport * from './lib/stepper/llm-stepper';\nexport * from './lib/toggle/llm-toggle';\nexport * from './lib/tooltip/llm-tooltip';\nexport * from './lib/code-block/llm-code-block';\nexport * from './lib/chat/llm-chat';\n"]}
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import type { LlmIconName, LlmIconSize, LlmIconSpec } from '../spec';
3
+ import './llm-icon.css';
4
+ /**
5
+ * Properties for the LlmIcon component.
6
+ */
7
+ export interface LlmIconProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'aria-label'>, LlmIconSpec {
8
+ /** The icon name. */
9
+ name: LlmIconName;
10
+ /** The icon size. */
11
+ size?: LlmIconSize;
12
+ /**
13
+ * Accessible label. When provided, the icon is announced as an image with
14
+ * this label. When omitted, the icon is hidden from assistive tech.
15
+ */
16
+ label?: string;
17
+ }
18
+ /**
19
+ * Pictogram glyph icon. 21 named variants matching the Figma `LlmIcon`
20
+ * component set. Decorative by default; pass `label` to announce a meaning
21
+ * to assistive tech.
22
+ */
23
+ export declare function LlmIcon({ name, size, label, className, ...rest }: LlmIconProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=llm-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-icon.d.ts","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/icon/llm-icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,gBAAgB,CAAC;AA0BxB;;GAEG;AACH,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,EACzD,WAAW;IACb,qBAAqB;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EACtB,IAAI,EACJ,IAAW,EACX,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACR,EAAE,YAAY,2CAUd"}
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import './llm-icon.css';
3
+ const ICON_GLYPHS = {
4
+ success: '✓',
5
+ warning: '⚠',
6
+ danger: '✕',
7
+ info: 'ℹ',
8
+ error: '!',
9
+ 'chevron-up': '▲',
10
+ 'chevron-down': '▼',
11
+ 'chevron-left': '‹',
12
+ 'chevron-right': '›',
13
+ 'sort-asc': '↑',
14
+ 'sort-desc': '↓',
15
+ 'arrow-right': '→',
16
+ 'arrow-left': '←',
17
+ copy: '⎘',
18
+ paste: '⎗',
19
+ add: '⊕',
20
+ edit: '✏',
21
+ delete: '🗑',
22
+ close: '×',
23
+ more: '…',
24
+ 'default-toast': '💬',
25
+ };
26
+ /**
27
+ * Pictogram glyph icon. 21 named variants matching the Figma `LlmIcon`
28
+ * component set. Decorative by default; pass `label` to announce a meaning
29
+ * to assistive tech.
30
+ */
31
+ export function LlmIcon({ name, size = 'md', label, className, ...rest }) {
32
+ const classes = ['llm-icon', `size-${size}`, className].filter(Boolean).join(' ');
33
+ const accessibilityProps = label
34
+ ? { role: 'img', 'aria-label': label }
35
+ : { 'aria-hidden': true };
36
+ return (_jsx("span", { className: classes, ...accessibilityProps, ...rest, children: ICON_GLYPHS[name] }));
37
+ }
38
+ //# sourceMappingURL=llm-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-icon.js","sourceRoot":"","sources":["../../../../../../libs/react/src/lib/icon/llm-icon.tsx"],"names":[],"mappings":";AAEA,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,GAAgC;IAC/C,OAAO,EAAE,GAAG;IACZ,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,GAAG;IACjB,cAAc,EAAE,GAAG;IACnB,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,aAAa,EAAE,GAAG;IAClB,YAAY,EAAE,GAAG;IACjB,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;IACT,eAAe,EAAE,IAAI;CACtB,CAAC;AAmBF;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACM;IACb,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClF,MAAM,kBAAkB,GAAG,KAAK;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;QACtC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE,CAAC;IACrC,OAAO,CACL,eAAM,SAAS,EAAE,OAAO,KAAM,kBAAkB,KAAM,IAAI,YACvD,WAAW,CAAC,IAAI,CAAC,GACb,CACR,CAAC;AACJ,CAAC","sourcesContent":["import { HTMLAttributes } from 'react';\nimport type { LlmIconName, LlmIconSize, LlmIconSpec } from '../spec';\nimport './llm-icon.css';\n\nconst ICON_GLYPHS: Record<LlmIconName, string> = {\n success: '✓',\n warning: '⚠',\n danger: '✕',\n info: 'ℹ',\n error: '!',\n 'chevron-up': '▲',\n 'chevron-down': '▼',\n 'chevron-left': '‹',\n 'chevron-right': '›',\n 'sort-asc': '↑',\n 'sort-desc': '↓',\n 'arrow-right': '→',\n 'arrow-left': '←',\n copy: '⎘',\n paste: '⎗',\n add: '⊕',\n edit: '✏',\n delete: '🗑',\n close: '×',\n more: '…',\n 'default-toast': '💬',\n};\n\n/**\n * Properties for the LlmIcon component.\n */\nexport interface LlmIconProps\n extends Omit<HTMLAttributes<HTMLSpanElement>, 'aria-label'>,\n LlmIconSpec {\n /** The icon name. */\n name: LlmIconName;\n /** The icon size. */\n size?: LlmIconSize;\n /**\n * Accessible label. When provided, the icon is announced as an image with\n * this label. When omitted, the icon is hidden from assistive tech.\n */\n label?: string;\n}\n\n/**\n * Pictogram glyph icon. 21 named variants matching the Figma `LlmIcon`\n * component set. Decorative by default; pass `label` to announce a meaning\n * to assistive tech.\n */\nexport function LlmIcon({\n name,\n size = 'md',\n label,\n className,\n ...rest\n}: LlmIconProps) {\n const classes = ['llm-icon', `size-${size}`, className].filter(Boolean).join(' ');\n const accessibilityProps = label\n ? { role: 'img', 'aria-label': label }\n : { 'aria-hidden': true as const };\n return (\n <span className={classes} {...accessibilityProps} {...rest}>\n {ICON_GLYPHS[name]}\n </span>\n );\n}\n"]}
package/src/lib/spec.d.ts CHANGED
@@ -225,6 +225,18 @@ export interface LlmThSpec {
225
225
  export interface LlmTdSpec {
226
226
  align?: LlmTableAlign;
227
227
  }
228
+ export type LlmIconName = 'success' | 'warning' | 'danger' | 'info' | 'error' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'sort-asc' | 'sort-desc' | 'arrow-right' | 'arrow-left' | 'copy' | 'paste' | 'add' | 'edit' | 'delete' | 'close' | 'more' | 'default-toast';
229
+ export type LlmIconSize = 'sm' | 'md' | 'lg';
230
+ export interface LlmIconSpec {
231
+ name: LlmIconName;
232
+ size?: LlmIconSize;
233
+ /**
234
+ * Accessible label. When provided, the icon is announced as an image with
235
+ * this label. When omitted, the icon is hidden from assistive tech (treated
236
+ * as decorative).
237
+ */
238
+ label?: string;
239
+ }
228
240
  export type LlmChatVariant = 'drawer' | 'popup' | 'inline';
229
241
  export type LlmChatStatus = 'idle' | 'streaming' | 'error';
230
242
  export type LlmChatMessageRole = 'user' | 'assistant' | 'system';
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../../../libs/react/src/lib/spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../../../libs/react/src/lib/spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../../../libs/react/src/lib/spec.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,4EAA4E;AAC5E,4EAA4E","sourcesContent":["// AUTO-GENERATED from libs/spec/src/index.ts — do not edit here.\n// Run `node tools/scripts/sync-spec.mjs` after editing the source of truth.\n// The framework libs inline these types so @atelier-ui/spec stays internal.\n\n/**\n * @atelier-ui/spec\n *\n * Framework-agnostic TypeScript interfaces defining the public API contract\n * for every llm-components component. Both the Angular and React libraries\n * import from here so the compiler enforces parity.\n *\n * Angular: use the union types as `input<T>()` type parameters.\n * React: extend the spec interface from the framework-specific props interface.\n */\n\n// ---------------------------------------------------------------------------\n// Button\n// ---------------------------------------------------------------------------\nexport type LlmButtonVariant = 'primary' | 'secondary' | 'outline' | 'danger';\nexport type LlmButtonSize = 'sm' | 'md' | 'lg';\nexport interface LlmButtonSpec {\n variant?: LlmButtonVariant;\n size?: LlmButtonSize;\n disabled?: boolean;\n loading?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Badge\n// ---------------------------------------------------------------------------\nexport type LlmBadgeVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';\nexport type LlmBadgeSize = 'sm' | 'md';\nexport interface LlmBadgeSpec {\n variant?: LlmBadgeVariant;\n size?: LlmBadgeSize;\n}\n\n// ---------------------------------------------------------------------------\n// Avatar / AvatarGroup\n// ---------------------------------------------------------------------------\nexport type LlmAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type LlmAvatarShape = 'circle' | 'square';\nexport type LlmAvatarStatus = 'online' | 'offline' | 'away' | 'busy' | '';\nexport interface LlmAvatarSpec {\n src?: string;\n alt?: string;\n name?: string;\n size?: LlmAvatarSize;\n shape?: LlmAvatarShape;\n status?: LlmAvatarStatus;\n}\nexport interface LlmAvatarGroupSpec {\n max?: number;\n size?: LlmAvatarSize;\n}\n\n// ---------------------------------------------------------------------------\n// Card\n// ---------------------------------------------------------------------------\nexport type LlmCardVariant = 'elevated' | 'outlined' | 'flat';\nexport type LlmCardPadding = 'none' | 'sm' | 'md' | 'lg';\nexport interface LlmCardSpec {\n variant?: LlmCardVariant;\n padding?: LlmCardPadding;\n}\n\n// ---------------------------------------------------------------------------\n// Input / Textarea (shared form field props)\n// ---------------------------------------------------------------------------\n// `any` is intentional here: downstream form-field interfaces narrow `value`\n// to the concrete primitive they accept (string, number, boolean, Date, …).\n// Using `unknown` would force every downstream consumer to redeclare the\n// property, defeating the purpose of the shared spec.\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport interface LlmFormFieldSpec {\n value?: any;\n onValueChange?: (value: any) => void;\n disabled?: boolean;\n readonly?: boolean;\n invalid?: boolean;\n required?: boolean;\n name?: string;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nexport type LlmInputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';\nexport interface LlmInputSpec extends LlmFormFieldSpec {\n type?: LlmInputType;\n placeholder?: string;\n}\n\nexport interface LlmTextareaSpec extends LlmFormFieldSpec {\n rows?: number;\n placeholder?: string;\n autoResize?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Checkbox / Toggle\n// ---------------------------------------------------------------------------\nexport interface LlmCheckboxSpec extends LlmFormFieldSpec {\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n indeterminate?: boolean;\n}\n\nexport interface LlmToggleSpec extends LlmFormFieldSpec {\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Radio / RadioGroup\n// ---------------------------------------------------------------------------\nexport interface LlmRadioSpec {\n radioValue: string;\n disabled?: boolean;\n}\n\nexport interface LlmRadioGroupSpec extends LlmFormFieldSpec {\n value?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Select / Option\n// ---------------------------------------------------------------------------\nexport interface LlmSelectSpec extends LlmFormFieldSpec {\n placeholder?: string;\n}\n\nexport interface LlmOptionSpec {\n optionValue: string;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Stepper\n// ---------------------------------------------------------------------------\nexport interface LlmStepperSpec {\n activeStep?: number;\n orientation?: 'horizontal' | 'vertical';\n linear?: boolean;\n}\n\nexport interface LlmStepSpec {\n label: string;\n description?: string;\n completed?: boolean;\n error?: boolean;\n optional?: boolean;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Combobox\n// ---------------------------------------------------------------------------\nexport interface LlmComboboxOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface LlmComboboxSpec extends LlmFormFieldSpec {\n options?: LlmComboboxOption[];\n placeholder?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Alert\n// ---------------------------------------------------------------------------\nexport type LlmAlertVariant = 'info' | 'success' | 'warning' | 'danger';\nexport interface LlmAlertSpec {\n variant?: LlmAlertVariant;\n dismissible?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Dialog\n// ---------------------------------------------------------------------------\nexport type LlmDialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';\nexport interface LlmDialogSpec {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n closeOnBackdrop?: boolean;\n size?: LlmDialogSize;\n}\n\n// ---------------------------------------------------------------------------\n// TabGroup / Tab\n// ---------------------------------------------------------------------------\nexport type LlmTabGroupVariant = 'default' | 'pills';\nexport interface LlmTabGroupSpec {\n selectedIndex?: number;\n onSelectedIndexChange?: (index: number) => void;\n variant?: LlmTabGroupVariant;\n}\n\nexport interface LlmTabSpec {\n label: string;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// AccordionGroup / AccordionItem\n// ---------------------------------------------------------------------------\nexport type LlmAccordionGroupVariant = 'default' | 'bordered' | 'separated';\nexport interface LlmAccordionGroupSpec {\n multi?: boolean;\n variant?: LlmAccordionGroupVariant;\n}\n\nexport interface LlmAccordionItemSpec {\n expanded?: boolean;\n onExpandedChange?: (expanded: boolean) => void;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Menu / MenuItem\n// ---------------------------------------------------------------------------\nexport type LlmMenuVariant = 'default' | 'compact';\nexport interface LlmMenuSpec {\n variant?: LlmMenuVariant;\n}\n\nexport interface LlmMenuItemSpec {\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Tooltip\n// ---------------------------------------------------------------------------\nexport type LlmTooltipPosition = 'above' | 'below' | 'left' | 'right';\nexport interface LlmTooltipSpec {\n llmTooltip: string;\n llmTooltipPosition?: LlmTooltipPosition;\n llmTooltipDisabled?: boolean;\n llmTooltipShowDelay?: number;\n llmTooltipHideDelay?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Toast\n// ---------------------------------------------------------------------------\nexport type LlmToastVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';\nexport type LlmToastContainerPosition =\n | 'top-right'\n | 'top-center'\n | 'bottom-right'\n | 'bottom-center';\nexport interface LlmToastOptions {\n variant?: LlmToastVariant;\n duration?: number;\n dismissible?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Skeleton\n// ---------------------------------------------------------------------------\nexport type LlmSkeletonVariant = 'text' | 'circular' | 'rectangular';\nexport interface LlmSkeletonSpec {\n variant?: LlmSkeletonVariant;\n width?: string;\n height?: string;\n animated?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Breadcrumbs / BreadcrumbItem\n// ---------------------------------------------------------------------------\nexport interface LlmBreadcrumbsSpec {\n separator?: string;\n}\n\nexport interface LlmBreadcrumbItemSpec {\n href?: string;\n current?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Pagination\n// ---------------------------------------------------------------------------\nexport interface LlmPaginationSpec {\n page?: number;\n pageCount?: number;\n siblingCount?: number;\n showFirstLast?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Progress\n// ---------------------------------------------------------------------------\nexport type LlmProgressVariant = 'default' | 'success' | 'warning' | 'danger';\nexport type LlmProgressSize = 'sm' | 'md' | 'lg';\nexport interface LlmProgressSpec {\n value?: number;\n max?: number;\n variant?: LlmProgressVariant;\n size?: LlmProgressSize;\n indeterminate?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Drawer\n// ---------------------------------------------------------------------------\nexport type LlmDrawerPosition = 'left' | 'right' | 'top' | 'bottom';\nexport type LlmDrawerSize = 'sm' | 'md' | 'lg' | 'full';\nexport interface LlmDrawerSpec {\n open?: boolean;\n position?: LlmDrawerPosition;\n size?: LlmDrawerSize;\n closeOnBackdrop?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Table\n// ---------------------------------------------------------------------------\nexport type LlmTableVariant = 'default' | 'striped' | 'bordered';\nexport type LlmTableSize = 'sm' | 'md' | 'lg';\nexport type LlmSortDirection = 'asc' | 'desc' | null;\nexport type LlmTableAlign = 'start' | 'center' | 'end';\n\nexport interface LlmTableSpec {\n variant?: LlmTableVariant;\n size?: LlmTableSize;\n stickyHeader?: boolean;\n}\n\nexport interface LlmTbodySpec {\n empty?: boolean;\n colSpan?: number;\n}\n\nexport interface LlmTrSpec {\n selected?: boolean;\n selectable?: boolean;\n rowId?: string;\n}\n\nexport interface LlmThSpec {\n sortable?: boolean;\n sortDirection?: LlmSortDirection;\n align?: LlmTableAlign;\n width?: string;\n}\n\nexport interface LlmTdSpec {\n align?: LlmTableAlign;\n}\n\n// ---------------------------------------------------------------------------\n// Chat (AI surface)\n// ---------------------------------------------------------------------------\nexport type LlmChatVariant = 'drawer' | 'popup' | 'inline';\nexport type LlmChatStatus = 'idle' | 'streaming' | 'error';\nexport type LlmChatMessageRole = 'user' | 'assistant' | 'system';\n\nexport interface LlmChatMessageSpec {\n id: string;\n role: LlmChatMessageRole;\n content: string;\n failed?: boolean;\n}\n\nexport interface LlmChatSuggestionSpec {\n id: string;\n label: string;\n hint?: string;\n}\n\nexport interface LlmChatSpec {\n variant?: LlmChatVariant;\n status?: LlmChatStatus;\n open?: boolean;\n}\n"]}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../../../libs/react/src/lib/spec.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,4EAA4E;AAC5E,4EAA4E","sourcesContent":["// AUTO-GENERATED from libs/spec/src/index.ts — do not edit here.\n// Run `node tools/scripts/sync-spec.mjs` after editing the source of truth.\n// The framework libs inline these types so @atelier-ui/spec stays internal.\n\n/**\n * @atelier-ui/spec\n *\n * Framework-agnostic TypeScript interfaces defining the public API contract\n * for every llm-components component. Both the Angular and React libraries\n * import from here so the compiler enforces parity.\n *\n * Angular: use the union types as `input<T>()` type parameters.\n * React: extend the spec interface from the framework-specific props interface.\n */\n\n// ---------------------------------------------------------------------------\n// Button\n// ---------------------------------------------------------------------------\nexport type LlmButtonVariant = 'primary' | 'secondary' | 'outline' | 'danger';\nexport type LlmButtonSize = 'sm' | 'md' | 'lg';\nexport interface LlmButtonSpec {\n variant?: LlmButtonVariant;\n size?: LlmButtonSize;\n disabled?: boolean;\n loading?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Badge\n// ---------------------------------------------------------------------------\nexport type LlmBadgeVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';\nexport type LlmBadgeSize = 'sm' | 'md';\nexport interface LlmBadgeSpec {\n variant?: LlmBadgeVariant;\n size?: LlmBadgeSize;\n}\n\n// ---------------------------------------------------------------------------\n// Avatar / AvatarGroup\n// ---------------------------------------------------------------------------\nexport type LlmAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport type LlmAvatarShape = 'circle' | 'square';\nexport type LlmAvatarStatus = 'online' | 'offline' | 'away' | 'busy' | '';\nexport interface LlmAvatarSpec {\n src?: string;\n alt?: string;\n name?: string;\n size?: LlmAvatarSize;\n shape?: LlmAvatarShape;\n status?: LlmAvatarStatus;\n}\nexport interface LlmAvatarGroupSpec {\n max?: number;\n size?: LlmAvatarSize;\n}\n\n// ---------------------------------------------------------------------------\n// Card\n// ---------------------------------------------------------------------------\nexport type LlmCardVariant = 'elevated' | 'outlined' | 'flat';\nexport type LlmCardPadding = 'none' | 'sm' | 'md' | 'lg';\nexport interface LlmCardSpec {\n variant?: LlmCardVariant;\n padding?: LlmCardPadding;\n}\n\n// ---------------------------------------------------------------------------\n// Input / Textarea (shared form field props)\n// ---------------------------------------------------------------------------\n// `any` is intentional here: downstream form-field interfaces narrow `value`\n// to the concrete primitive they accept (string, number, boolean, Date, …).\n// Using `unknown` would force every downstream consumer to redeclare the\n// property, defeating the purpose of the shared spec.\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport interface LlmFormFieldSpec {\n value?: any;\n onValueChange?: (value: any) => void;\n disabled?: boolean;\n readonly?: boolean;\n invalid?: boolean;\n required?: boolean;\n name?: string;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nexport type LlmInputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url';\nexport interface LlmInputSpec extends LlmFormFieldSpec {\n type?: LlmInputType;\n placeholder?: string;\n}\n\nexport interface LlmTextareaSpec extends LlmFormFieldSpec {\n rows?: number;\n placeholder?: string;\n autoResize?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Checkbox / Toggle\n// ---------------------------------------------------------------------------\nexport interface LlmCheckboxSpec extends LlmFormFieldSpec {\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n indeterminate?: boolean;\n}\n\nexport interface LlmToggleSpec extends LlmFormFieldSpec {\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n}\n\n// ---------------------------------------------------------------------------\n// Radio / RadioGroup\n// ---------------------------------------------------------------------------\nexport interface LlmRadioSpec {\n radioValue: string;\n disabled?: boolean;\n}\n\nexport interface LlmRadioGroupSpec extends LlmFormFieldSpec {\n value?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Select / Option\n// ---------------------------------------------------------------------------\nexport interface LlmSelectSpec extends LlmFormFieldSpec {\n placeholder?: string;\n}\n\nexport interface LlmOptionSpec {\n optionValue: string;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Stepper\n// ---------------------------------------------------------------------------\nexport interface LlmStepperSpec {\n activeStep?: number;\n orientation?: 'horizontal' | 'vertical';\n linear?: boolean;\n}\n\nexport interface LlmStepSpec {\n label: string;\n description?: string;\n completed?: boolean;\n error?: boolean;\n optional?: boolean;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Combobox\n// ---------------------------------------------------------------------------\nexport interface LlmComboboxOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\nexport interface LlmComboboxSpec extends LlmFormFieldSpec {\n options?: LlmComboboxOption[];\n placeholder?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Alert\n// ---------------------------------------------------------------------------\nexport type LlmAlertVariant = 'info' | 'success' | 'warning' | 'danger';\nexport interface LlmAlertSpec {\n variant?: LlmAlertVariant;\n dismissible?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Dialog\n// ---------------------------------------------------------------------------\nexport type LlmDialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';\nexport interface LlmDialogSpec {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n closeOnBackdrop?: boolean;\n size?: LlmDialogSize;\n}\n\n// ---------------------------------------------------------------------------\n// TabGroup / Tab\n// ---------------------------------------------------------------------------\nexport type LlmTabGroupVariant = 'default' | 'pills';\nexport interface LlmTabGroupSpec {\n selectedIndex?: number;\n onSelectedIndexChange?: (index: number) => void;\n variant?: LlmTabGroupVariant;\n}\n\nexport interface LlmTabSpec {\n label: string;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// AccordionGroup / AccordionItem\n// ---------------------------------------------------------------------------\nexport type LlmAccordionGroupVariant = 'default' | 'bordered' | 'separated';\nexport interface LlmAccordionGroupSpec {\n multi?: boolean;\n variant?: LlmAccordionGroupVariant;\n}\n\nexport interface LlmAccordionItemSpec {\n expanded?: boolean;\n onExpandedChange?: (expanded: boolean) => void;\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Menu / MenuItem\n// ---------------------------------------------------------------------------\nexport type LlmMenuVariant = 'default' | 'compact';\nexport interface LlmMenuSpec {\n variant?: LlmMenuVariant;\n}\n\nexport interface LlmMenuItemSpec {\n disabled?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Tooltip\n// ---------------------------------------------------------------------------\nexport type LlmTooltipPosition = 'above' | 'below' | 'left' | 'right';\nexport interface LlmTooltipSpec {\n llmTooltip: string;\n llmTooltipPosition?: LlmTooltipPosition;\n llmTooltipDisabled?: boolean;\n llmTooltipShowDelay?: number;\n llmTooltipHideDelay?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Toast\n// ---------------------------------------------------------------------------\nexport type LlmToastVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';\nexport type LlmToastContainerPosition =\n | 'top-right'\n | 'top-center'\n | 'bottom-right'\n | 'bottom-center';\nexport interface LlmToastOptions {\n variant?: LlmToastVariant;\n duration?: number;\n dismissible?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Skeleton\n// ---------------------------------------------------------------------------\nexport type LlmSkeletonVariant = 'text' | 'circular' | 'rectangular';\nexport interface LlmSkeletonSpec {\n variant?: LlmSkeletonVariant;\n width?: string;\n height?: string;\n animated?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Breadcrumbs / BreadcrumbItem\n// ---------------------------------------------------------------------------\nexport interface LlmBreadcrumbsSpec {\n separator?: string;\n}\n\nexport interface LlmBreadcrumbItemSpec {\n href?: string;\n current?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Pagination\n// ---------------------------------------------------------------------------\nexport interface LlmPaginationSpec {\n page?: number;\n pageCount?: number;\n siblingCount?: number;\n showFirstLast?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Progress\n// ---------------------------------------------------------------------------\nexport type LlmProgressVariant = 'default' | 'success' | 'warning' | 'danger';\nexport type LlmProgressSize = 'sm' | 'md' | 'lg';\nexport interface LlmProgressSpec {\n value?: number;\n max?: number;\n variant?: LlmProgressVariant;\n size?: LlmProgressSize;\n indeterminate?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Drawer\n// ---------------------------------------------------------------------------\nexport type LlmDrawerPosition = 'left' | 'right' | 'top' | 'bottom';\nexport type LlmDrawerSize = 'sm' | 'md' | 'lg' | 'full';\nexport interface LlmDrawerSpec {\n open?: boolean;\n position?: LlmDrawerPosition;\n size?: LlmDrawerSize;\n closeOnBackdrop?: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Table\n// ---------------------------------------------------------------------------\nexport type LlmTableVariant = 'default' | 'striped' | 'bordered';\nexport type LlmTableSize = 'sm' | 'md' | 'lg';\nexport type LlmSortDirection = 'asc' | 'desc' | null;\nexport type LlmTableAlign = 'start' | 'center' | 'end';\n\nexport interface LlmTableSpec {\n variant?: LlmTableVariant;\n size?: LlmTableSize;\n stickyHeader?: boolean;\n}\n\nexport interface LlmTbodySpec {\n empty?: boolean;\n colSpan?: number;\n}\n\nexport interface LlmTrSpec {\n selected?: boolean;\n selectable?: boolean;\n rowId?: string;\n}\n\nexport interface LlmThSpec {\n sortable?: boolean;\n sortDirection?: LlmSortDirection;\n align?: LlmTableAlign;\n width?: string;\n}\n\nexport interface LlmTdSpec {\n align?: LlmTableAlign;\n}\n\n// ---------------------------------------------------------------------------\n// Icon\n// ---------------------------------------------------------------------------\nexport type LlmIconName =\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'error'\n | 'chevron-up'\n | 'chevron-down'\n | 'chevron-left'\n | 'chevron-right'\n | 'sort-asc'\n | 'sort-desc'\n | 'arrow-right'\n | 'arrow-left'\n | 'copy'\n | 'paste'\n | 'add'\n | 'edit'\n | 'delete'\n | 'close'\n | 'more'\n | 'default-toast';\nexport type LlmIconSize = 'sm' | 'md' | 'lg';\nexport interface LlmIconSpec {\n name: LlmIconName;\n size?: LlmIconSize;\n /**\n * Accessible label. When provided, the icon is announced as an image with\n * this label. When omitted, the icon is hidden from assistive tech (treated\n * as decorative).\n */\n label?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Chat (AI surface)\n// ---------------------------------------------------------------------------\nexport type LlmChatVariant = 'drawer' | 'popup' | 'inline';\nexport type LlmChatStatus = 'idle' | 'streaming' | 'error';\nexport type LlmChatMessageRole = 'user' | 'assistant' | 'system';\n\nexport interface LlmChatMessageSpec {\n id: string;\n role: LlmChatMessageRole;\n content: string;\n failed?: boolean;\n}\n\nexport interface LlmChatSuggestionSpec {\n id: string;\n label: string;\n hint?: string;\n}\n\nexport interface LlmChatSpec {\n variant?: LlmChatVariant;\n status?: LlmChatStatus;\n open?: boolean;\n}\n"]}