@agent-ui-kit/web-components 0.0.14 → 0.0.16

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.
Files changed (211) hide show
  1. package/dist/agent-ui.css +1 -1
  2. package/dist/api.colors.json +2 -2
  3. package/dist/api.colors.yaml +2 -2
  4. package/dist/api.components.json +3878 -636
  5. package/dist/api.tokens.json +35 -3
  6. package/dist/api.tokens.yaml +27 -3
  7. package/dist/chunks/{agent-C72JZNe6.js → agent-XMhz_6OA.js} +85 -76
  8. package/dist/chunks/{agent-C72JZNe6.js.map → agent-XMhz_6OA.js.map} +1 -1
  9. package/dist/chunks/{empty-state-5M3uR5CM.js → form-oekEhwja.js} +1409 -960
  10. package/dist/chunks/form-oekEhwja.js.map +1 -0
  11. package/dist/components/agent.js +6 -6
  12. package/dist/components/avatar/avatar.d.ts +0 -0
  13. package/dist/components/badge/badge.d.ts +0 -0
  14. package/dist/components/bar/bar.d.ts +0 -0
  15. package/dist/components/breadcrumb/breadcrumb.d.ts +2 -0
  16. package/dist/components/button-group/button-group.d.ts +0 -0
  17. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  18. package/dist/components/checkbox-group/index.d.ts +1 -0
  19. package/dist/components/code/code.d.ts +0 -0
  20. package/dist/components/color-area/color-area.d.ts +2 -1
  21. package/dist/components/color-picker/color-picker.d.ts +1 -0
  22. package/dist/components/color-picker/oklch-utils.d.ts +18 -0
  23. package/dist/components/color-slider/color-slider.d.ts +1 -1
  24. package/dist/components/color-swatch/color-swatch.d.ts +0 -0
  25. package/dist/components/content/content.d.ts +0 -0
  26. package/dist/components/description-list/description-list.d.ts +0 -0
  27. package/dist/components/divider/divider.d.ts +0 -0
  28. package/dist/components/editor.js +1 -1
  29. package/dist/components/fieldset/fieldset.d.ts +0 -0
  30. package/dist/components/footer/footer.d.ts +0 -0
  31. package/dist/components/form/form.d.ts +12 -0
  32. package/dist/components/form/index.d.ts +1 -0
  33. package/dist/components/graph.js +1 -1
  34. package/dist/components/grid/grid.d.ts +0 -0
  35. package/dist/components/header/header.d.ts +0 -0
  36. package/dist/components/heading/heading.d.ts +0 -0
  37. package/dist/components/index.d.ts +2 -0
  38. package/dist/components/input-group/input-group.d.ts +0 -0
  39. package/dist/components/inset/inset.d.ts +0 -0
  40. package/dist/components/kbd/kbd.d.ts +0 -0
  41. package/dist/components/noodles/noodle-controller.d.ts +1 -1
  42. package/dist/components/stack/stack.d.ts +0 -0
  43. package/dist/components/stat/stat.d.ts +4 -0
  44. package/dist/components/text/text.d.ts +0 -0
  45. package/dist/components/time-field/time-field.d.ts +1 -0
  46. package/dist/components/wrap/wrap.d.ts +0 -0
  47. package/dist/components.js +115 -126
  48. package/dist/components.js.map +1 -1
  49. package/dist/docs/blocks/agent-chat.yaml +33 -25
  50. package/dist/docs/blocks/announcement-card.yaml +14 -10
  51. package/dist/docs/blocks/bpm-process.yaml +216 -4
  52. package/dist/docs/blocks/chart-activity.yaml +12 -10
  53. package/dist/docs/blocks/chart-card.yaml +14 -11
  54. package/dist/docs/blocks/chart-donut.yaml +27 -23
  55. package/dist/docs/blocks/chart-grouped.yaml +14 -11
  56. package/dist/docs/blocks/chart-horizontal.yaml +13 -10
  57. package/dist/docs/blocks/chart-interactive.yaml +20 -17
  58. package/dist/docs/blocks/chart-labeled.yaml +14 -11
  59. package/dist/docs/blocks/checkout-form.yaml +26 -16
  60. package/dist/docs/blocks/clinical-trial.yaml +180 -4
  61. package/dist/docs/blocks/contributors.yaml +17 -11
  62. package/dist/docs/blocks/cyber-threat.yaml +158 -4
  63. package/dist/docs/blocks/dashboard-layout.yaml +25 -18
  64. package/dist/docs/blocks/data-eng-dag.yaml +222 -6
  65. package/dist/docs/blocks/date-picker.yaml +11 -10
  66. package/dist/docs/blocks/ddx-workflow.yaml +202 -6
  67. package/dist/docs/blocks/empty-state.yaml +8 -11
  68. package/dist/docs/blocks/env-variables.yaml +29 -20
  69. package/dist/docs/blocks/feature-upgrade.yaml +25 -18
  70. package/dist/docs/blocks/financial-risk.yaml +161 -4
  71. package/dist/docs/blocks/flow-editor.yaml +27 -18
  72. package/dist/docs/blocks/gen-ai-pipeline.yaml +232 -5
  73. package/dist/docs/blocks/issue-assign.yaml +25 -14
  74. package/dist/docs/blocks/keyboard-shortcuts.yaml +14 -9
  75. package/dist/docs/blocks/login-branded.yaml +62 -23
  76. package/dist/docs/blocks/login-email-only.yaml +14 -13
  77. package/dist/docs/blocks/login-form.yaml +17 -11
  78. package/dist/docs/blocks/login-simple.yaml +18 -12
  79. package/dist/docs/blocks/login-social.yaml +21 -14
  80. package/dist/docs/blocks/login-two-column.yaml +42 -22
  81. package/dist/docs/blocks/marketing-automation.yaml +209 -4
  82. package/dist/docs/blocks/member-list.yaml +23 -18
  83. package/dist/docs/blocks/ml-pipeline.yaml +163 -4
  84. package/dist/docs/blocks/nav-card.yaml +13 -11
  85. package/dist/docs/blocks/notification-list.yaml +18 -13
  86. package/dist/docs/blocks/oncology-pathway.yaml +227 -4
  87. package/dist/docs/blocks/pricing-card.yaml +20 -13
  88. package/dist/docs/blocks/processing-state.yaml +14 -11
  89. package/dist/docs/blocks/profile-card.yaml +22 -16
  90. package/dist/docs/blocks/saas-onboarding.yaml +222 -4
  91. package/dist/docs/blocks/settings-form.yaml +20 -11
  92. package/dist/docs/blocks/settings-panel.yaml +23 -22
  93. package/dist/docs/blocks/sidebar-nav.yaml +23 -15
  94. package/dist/docs/blocks/signup-form.yaml +17 -11
  95. package/dist/docs/blocks/stat-cards.yaml +12 -13
  96. package/dist/docs/blocks/status-card.yaml +20 -17
  97. package/dist/docs/blocks/suggested-labs.yaml +20 -13
  98. package/dist/docs/blocks/supply-chain.yaml +160 -4
  99. package/dist/docs/blocks/survey-card.yaml +21 -13
  100. package/dist/docs/blocks/tabbed-panel.yaml +21 -15
  101. package/dist/docs/blocks/team-empty.yaml +8 -9
  102. package/dist/docs/blocks/usage-billing.yaml +20 -16
  103. package/dist/docs/components/accordion-item.yaml +13 -21
  104. package/dist/docs/components/accordion.yaml +23 -29
  105. package/dist/docs/components/agent-activity.yaml +49 -41
  106. package/dist/docs/components/agent-feed.yaml +15 -22
  107. package/dist/docs/components/agent-input.yaml +238 -0
  108. package/dist/docs/components/agent-message.yaml +29 -48
  109. package/dist/docs/components/agent-panel.yaml +21 -24
  110. package/dist/docs/components/agent-prompt.yaml +29 -47
  111. package/dist/docs/components/agent-seeds.yaml +16 -24
  112. package/dist/docs/components/agent-text.yaml +14 -24
  113. package/dist/docs/components/agent-thread.yaml +15 -24
  114. package/dist/docs/components/alert.yaml +41 -39
  115. package/dist/docs/components/avatar-group.yaml +72 -45
  116. package/dist/docs/components/avatar.yaml +99 -0
  117. package/dist/docs/components/badge.yaml +110 -0
  118. package/dist/docs/components/bar.yaml +84 -0
  119. package/dist/docs/components/breadcrumb-item.yaml +8 -17
  120. package/dist/docs/components/breadcrumb.yaml +91 -29
  121. package/dist/docs/components/button-group.yaml +93 -0
  122. package/dist/docs/components/button.yaml +188 -261
  123. package/dist/docs/components/calendar-picker.yaml +16 -35
  124. package/dist/docs/components/calendar-range-picker.yaml +11 -29
  125. package/dist/docs/components/calendar.yaml +11 -29
  126. package/dist/docs/components/canvas.yaml +44 -61
  127. package/dist/docs/components/checkbox.yaml +37 -49
  128. package/dist/docs/components/chip.yaml +89 -55
  129. package/dist/docs/components/code-block.yaml +54 -53
  130. package/dist/docs/components/code.yaml +37 -0
  131. package/dist/docs/components/color-area.yaml +119 -0
  132. package/dist/docs/components/color-field.yaml +121 -0
  133. package/dist/docs/components/color-picker.yaml +87 -35
  134. package/dist/docs/components/color-slider.yaml +153 -0
  135. package/dist/docs/components/color-swatch.yaml +98 -0
  136. package/dist/docs/components/command.yaml +13 -18
  137. package/dist/docs/components/container.yaml +84 -73
  138. package/dist/docs/components/content.yaml +100 -0
  139. package/dist/docs/components/context-menu.yaml +11 -20
  140. package/dist/docs/components/date-field.yaml +81 -33
  141. package/dist/docs/components/description-list.yaml +81 -0
  142. package/dist/docs/components/disclosure-group.yaml +61 -42
  143. package/dist/docs/components/disclosure.yaml +60 -46
  144. package/dist/docs/components/divider.yaml +63 -0
  145. package/dist/docs/components/dropdown-menu.yaml +16 -25
  146. package/dist/docs/components/feed.yaml +15 -24
  147. package/dist/docs/components/field.yaml +50 -71
  148. package/dist/docs/components/fieldset.yaml +92 -0
  149. package/dist/docs/components/footer.yaml +147 -0
  150. package/dist/docs/components/grid.yaml +87 -0
  151. package/dist/docs/components/gripper.yaml +11 -23
  152. package/dist/docs/components/header.yaml +168 -0
  153. package/dist/docs/components/heading.yaml +58 -0
  154. package/dist/docs/components/hover-card.yaml +17 -25
  155. package/dist/docs/components/icon.yaml +32 -65
  156. package/dist/docs/components/index.yaml +11 -1
  157. package/dist/docs/components/input-group.yaml +102 -0
  158. package/dist/docs/components/input-otp.yaml +20 -19
  159. package/dist/docs/components/input.yaml +100 -139
  160. package/dist/docs/components/inset.yaml +59 -0
  161. package/dist/docs/components/kbd.yaml +57 -0
  162. package/dist/docs/components/link.yaml +36 -45
  163. package/dist/docs/components/meter.yaml +54 -42
  164. package/dist/docs/components/nav-item.yaml +54 -43
  165. package/dist/docs/components/noodles.yaml +72 -104
  166. package/dist/docs/components/option.yaml +12 -23
  167. package/dist/docs/components/pagination.yaml +21 -18
  168. package/dist/docs/components/pane.yaml +18 -32
  169. package/dist/docs/components/panes.yaml +19 -27
  170. package/dist/docs/components/progress-circle.yaml +64 -55
  171. package/dist/docs/components/progress.yaml +35 -51
  172. package/dist/docs/components/radio-group.yaml +99 -40
  173. package/dist/docs/components/radio.yaml +40 -41
  174. package/dist/docs/components/range.yaml +24 -27
  175. package/dist/docs/components/segmented-control.yaml +58 -17
  176. package/dist/docs/components/select.yaml +80 -100
  177. package/dist/docs/components/skeleton.yaml +39 -39
  178. package/dist/docs/components/sparkline.yaml +28 -45
  179. package/dist/docs/components/spinner.yaml +32 -33
  180. package/dist/docs/components/stack.yaml +126 -0
  181. package/dist/docs/components/stat.yaml +164 -0
  182. package/dist/docs/components/stepper.yaml +46 -53
  183. package/dist/docs/components/switch.yaml +36 -47
  184. package/dist/docs/components/tab-panel.yaml +27 -18
  185. package/dist/docs/components/tab.yaml +25 -22
  186. package/dist/docs/components/table-header.yaml +22 -12
  187. package/dist/docs/components/tabs.yaml +103 -20
  188. package/dist/docs/components/tag-group.yaml +63 -47
  189. package/dist/docs/components/text.yaml +67 -0
  190. package/dist/docs/components/textarea.yaml +43 -60
  191. package/dist/docs/components/time-field.yaml +108 -34
  192. package/dist/docs/components/toast.yaml +13 -30
  193. package/dist/docs/components/tooltip.yaml +56 -49
  194. package/dist/docs/components/tree-item.yaml +9 -10
  195. package/dist/docs/components/tree.yaml +127 -10
  196. package/dist/docs/components/wrap.yaml +60 -0
  197. package/dist/docs/traits/toggle-theme.yaml +34 -0
  198. package/dist/element.js +1 -1
  199. package/dist/icons.js +79 -59
  200. package/dist/icons.js.map +1 -1
  201. package/dist/reactivity.js +2 -2
  202. package/dist/register.d.ts +0 -1
  203. package/dist/register.js +368 -352
  204. package/dist/register.js.map +1 -1
  205. package/dist/store.js +1 -1
  206. package/dist/traits/toggle-theme/toggle-theme.d.ts +0 -0
  207. package/dist/traits/toggle-theme/toggle-theme.trait.d.ts +2 -0
  208. package/dist/traits.js +528 -485
  209. package/dist/traits.js.map +1 -1
  210. package/package.json +1 -1
  211. package/dist/chunks/empty-state-5M3uR5CM.js.map +0 -1
@@ -0,0 +1,168 @@
1
+ name: aui-header
2
+ tag: aui-header
3
+ type: element
4
+ summary: Float-based layout container for top bars.
5
+ description: |
6
+ Uses float-based slot layout with three zones: leading (float left), content (absolute centered), and trailing (float right). The leading and trailing slots maintain natural text alignment. The content slot is centered via flexbox with text-align: center scoped to it only. Use for page headers, section headers, toolbar bars.
7
+ presentational:
8
+ size:
9
+ syntax: key-value
10
+ attribute: size
11
+ cascades: true
12
+ default: medium
13
+ values:
14
+ - xs
15
+ - sm
16
+ - md
17
+ - lg
18
+ - xl
19
+ description: Controls min-height and font-size.
20
+ density:
21
+ syntax: key-value
22
+ attribute: density
23
+ cascades: true
24
+ default: regular
25
+ values:
26
+ - compact
27
+ - spacious
28
+ description: Controls padding compression.
29
+ responsive:
30
+ syntax: boolean
31
+ attribute: responsive
32
+ cascades: false
33
+ default: false
34
+ description: |
35
+ Enables progressive collapse via container queries. The header becomes a container provider (container-type: inline-size) and slotted children hide progressively as the container shrinks: trailing hides first (< 8rem), then leading (< 5rem), then everything except the leading icon (< 3rem). Use aui-button in slots for best collapse behavior — buttons with icon-leading and label degrade gracefully to icon-only at narrow widths.
36
+ intent:
37
+ syntax: boolean
38
+ exclusive: true
39
+ cascades: true
40
+ default: neutral
41
+ values:
42
+ - accent
43
+ - info
44
+ - success
45
+ - warning
46
+ - danger
47
+ description: Color family — cascades to all children.
48
+ content:
49
+ model: mixed
50
+ accepts:
51
+ - text
52
+ - inline elements
53
+ - aui-button
54
+ - aui-badge
55
+ - aui-avatar
56
+ - span
57
+ - div
58
+ required: true
59
+ description: |
60
+ Title text in the default slot, icons/buttons in leading/trailing. At minimum, provide a default slot child with the header title.
61
+ slots:
62
+ default:
63
+ accepts:
64
+ - text
65
+ - span
66
+ - h1
67
+ - h2
68
+ - h3
69
+ - div
70
+ required: true
71
+ description: Center/main content — typically the title text.
72
+ content:
73
+ accepts:
74
+ - text
75
+ - span
76
+ - h1
77
+ - h2
78
+ - h3
79
+ - div
80
+ required: false
81
+ description: |
82
+ Centered title content. Rendered with position: absolute, inset: 0 and flexbox centering. Text-align: center is scoped to this slot only — it does not cascade to leading/trailing. Prefer this slot when visual centering matters.
83
+ leading:
84
+ accepts:
85
+ - span
86
+ - svg
87
+ - aui-button
88
+ - aui-avatar
89
+ required: false
90
+ description: |
91
+ Leading element (menu icon, back button). Floats left with natural text alignment and z-index above the content slot.
92
+ trailing:
93
+ accepts:
94
+ - span
95
+ - svg
96
+ - aui-button
97
+ - aui-badge
98
+ - div
99
+ required: false
100
+ description: |
101
+ Trailing element (actions, settings icon). Floats right with natural text alignment and z-index above the content slot.
102
+ composition:
103
+ parents:
104
+ - aui-stack
105
+ - div
106
+ - section
107
+ - main
108
+ - nav
109
+ siblings:
110
+ typical:
111
+ - aui-content
112
+ - aui-footer
113
+ pattern: |
114
+ aui-header is typically the first child in a vertical container, followed by aui-content and optionally aui-footer.
115
+ context: |
116
+ Use as the top bar of a page, section, card, or dialog. Pair with aui-content for scrollable content below, and aui-footer for bottom actions. The adaptive grid means you only populate the slots you need — no empty placeholders.
117
+ tokens:
118
+ sizing:
119
+ - --aui-size
120
+ - --aui-font-size
121
+ spacing:
122
+ - --aui-pad-control-block
123
+ - --aui-pad-control-inline
124
+ - --aui-pad-gap-container
125
+ examples:
126
+ - description: Simple centered title
127
+ html: |-
128
+ <aui-header dividers>
129
+ Page Title
130
+ </aui-header>
131
+ - description: Responsive toolbar — leading collapses to icon-only, trailing survives
132
+ html: |-
133
+ <aui-header dividers responsive>
134
+ <aui-button ghost slot="leading" label="Dashboard" icon-leading="house"></aui-button>
135
+ <aui-button ghost slot="trailing" icon-leading="gear" label="Settings" hide-label></aui-button>
136
+ </aui-header>
137
+ - description: Navigation header — back button, centered title, close action
138
+ html: |-
139
+ <aui-header dividers responsive>
140
+ <aui-button ghost slot="leading" label="Back" icon-leading="caret-left"></aui-button>
141
+ <span slot="content">Settings</span>
142
+ <aui-button ghost slot="trailing" icon-leading="x" label="Close" hide-label></aui-button>
143
+ </aui-header>
144
+ - description: Notification header with badge
145
+ html: |-
146
+ <aui-header dividers>
147
+ <aui-icon name="bell" slot="leading"></aui-icon>
148
+ <span slot="content">Notifications</span>
149
+ <aui-badge accent slot="trailing">3</aui-badge>
150
+ </aui-header>
151
+ - description: Toolbar with multiple actions
152
+ html: |-
153
+ <aui-header dividers responsive>
154
+ <aui-button ghost slot="leading" label="New document" icon-leading="plus"></aui-button>
155
+ <span slot="content">Documents</span>
156
+ <span slot="trailing">
157
+ <aui-button ghost icon-leading="magnifying-glass" label="Search" hide-label></aui-button>
158
+ <aui-button ghost icon-leading="funnel" label="Filter" hide-label></aui-button>
159
+ <aui-button ghost icon-leading="dots-three" label="More" hide-label></aui-button>
160
+ </span>
161
+ </aui-header>
162
+ - description: Compact density header
163
+ html: |-
164
+ <aui-header dividers density="compact">
165
+ <aui-icon name="chat-dots" slot="leading"></aui-icon>
166
+ <span slot="content">Chat</span>
167
+ <aui-button ghost slot="trailing" icon-leading="x" label="Close" hide-label density="compact"></aui-button>
168
+ </aui-header>
@@ -0,0 +1,58 @@
1
+ name: aui-heading
2
+ tag: aui-heading
3
+ type: element
4
+ summary: Block-level heading text with size and weight attributes.
5
+ description: |
6
+ A CSS-only heading element that replaces styled <strong> tags. Size maps to the --aui-font-* scale. Weight defaults to 500 (medium). Uses --aui-ink-strong for maximum contrast. No JavaScript required.
7
+ presentational:
8
+ size:
9
+ syntax: key-value
10
+ type: enum
11
+ default: md
12
+ values:
13
+ - xs
14
+ - sm
15
+ - md
16
+ - lg
17
+ - xl
18
+ - 2xl
19
+ description: Font size from the type scale.
20
+ weight:
21
+ syntax: key-value
22
+ type: enum
23
+ default: semibold
24
+ values:
25
+ - normal
26
+ - medium
27
+ - bold
28
+ description: Font weight override.
29
+ modifiers:
30
+ muted:
31
+ syntax: boolean
32
+ description: Sets color to --aui-ink-muted for de-emphasised headings.
33
+ examples:
34
+ - description: Full size scale
35
+ html: |-
36
+ <aui-stack gap="3">
37
+ <aui-heading size="6xl">Heading 6XL — Hero</aui-heading>
38
+ <aui-heading size="5xl">Heading 5XL — Display</aui-heading>
39
+ <aui-heading size="4xl">Heading 4XL — Landing</aui-heading>
40
+ <aui-heading size="3xl">Heading 3XL — Page hero</aui-heading>
41
+ <aui-heading size="2xl">Heading 2XL — Page title</aui-heading>
42
+ <aui-heading size="xl">Heading XL — Section title</aui-heading>
43
+ <aui-heading size="lg">Heading LG — Card title</aui-heading>
44
+ <aui-heading size="md">Heading MD — List item name</aui-heading>
45
+ <aui-heading size="sm">Heading SM — Label</aui-heading>
46
+ </aui-stack>
47
+ - description: Weight variants
48
+ html: |-
49
+ <aui-stack gap="3">
50
+ <aui-heading size="lg" weight="semibold">Semibold (default)</aui-heading>
51
+ <aui-heading size="lg" weight="medium">Medium weight</aui-heading>
52
+ </aui-stack>
53
+ - description: Muted headings
54
+ html: |-
55
+ <aui-stack gap="3">
56
+ <aui-heading size="xl" muted>Muted XL heading</aui-heading>
57
+ <aui-heading size="md" muted>Muted MD heading</aui-heading>
58
+ </aui-stack>
@@ -2,14 +2,9 @@ name: aui-hover-card
2
2
  tag: aui-hover-card
3
3
  type: component
4
4
  summary: Rich preview card shown on hover/focus with configurable delay.
5
- description: >
6
- A popover card that appears after a hover delay on an anchor element.
7
- Uses the Popover API with CSS anchor positioning. The card stays visible
8
- when the pointer moves into it, and hides after a leave delay. Supports
9
- side placement (top/bottom/left/right) and custom show/hide delays.
10
-
5
+ description: |
6
+ A popover card that appears after a hover delay on an anchor element. Uses the Popover API with CSS anchor positioning. The card stays visible when the pointer moves into it, and hides after a leave delay. Supports side placement (top/bottom/left/right) and custom show/hide delays.
11
7
  base: AgentElement
12
-
13
8
  attributes:
14
9
  anchor:
15
10
  syntax: key-value
@@ -29,14 +24,12 @@ attributes:
29
24
  side:
30
25
  syntax: key-value
31
26
  type: string
32
- default: "bottom"
27
+ default: bottom
33
28
  description: Preferred placement side — top, bottom, left, or right.
34
-
35
29
  modifiers:
36
30
  open:
37
31
  syntax: boolean
38
32
  description: Whether the hover card is currently visible.
39
-
40
33
  tokens:
41
34
  - name: --aui-hover-card-background
42
35
  default: var(--aui-modal, var(--aui-doc))
@@ -56,30 +49,29 @@ tokens:
56
49
  - name: --aui-hover-card-max-width
57
50
  default: 20rem
58
51
  description: Maximum width of the card.
59
-
60
52
  a11y:
61
53
  role: tooltip (popover)
62
54
  keyboard:
63
55
  Escape: Close the hover card.
64
-
65
56
  events: {}
66
-
67
57
  composition:
68
- parents: [any]
69
- children: [any]
70
-
58
+ parents:
59
+ - any
60
+ children:
61
+ - any
71
62
  examples:
72
- - html: |
63
+ - description: Basic hover card — hover to show, move pointer away to hide
64
+ html: |-
73
65
  <span id="hc-anchor" style="text-decoration: underline; cursor: pointer; color: var(--aui-ink);">Hover over me</span>
74
66
  <aui-hover-card anchor="#hc-anchor">
75
67
  <aui-heading size="sm">Preview Card</aui-heading>
76
68
  <aui-text muted>This is a rich hover preview with any content.</aui-text>
77
69
  </aui-hover-card>
78
- description: Basic hover card hover to show, move pointer away to hide.
79
-
80
- - html: |
81
- <span id="hc-top" style="text-decoration: underline; cursor: pointer; color: var(--aui-ink);">Hover (top side)</span>
82
- <aui-hover-card anchor="#hc-top" side="top" delay="200">
83
- <aui-text>This card appears above the anchor.</aui-text>
84
- </aui-hover-card>
85
- description: Hover card positioned above the anchor with shorter delay.
70
+ - description: Hover card positioned above the anchor with shorter delay
71
+ html: |-
72
+ <div style="margin-top: 6rem;">
73
+ <span id="hc-top" style="text-decoration: underline; cursor: pointer; color: var(--aui-ink);">Hover (top side)</span>
74
+ <aui-hover-card anchor="#hc-top" side="top" delay="200">
75
+ <aui-text>This card appears above the anchor.</aui-text>
76
+ </aui-hover-card>
77
+ </div>
@@ -2,83 +2,56 @@ name: aui-icon
2
2
  tag: aui-icon
3
3
  type: component
4
4
  summary: SVG icon rendered from a global registry.
5
- description: >
6
- Displays an icon by name from the global icon registry. Icons are
7
- registered via registerIcon() or registerIcons() — the component
8
- itself is icon-set agnostic. Inherits color from its parent via
9
- currentColor. Size follows --aui-icon-size or explicit size attribute.
10
-
5
+ description: |
6
+ Displays an icon by name from the global icon registry. Icons are registered via registerIcon() or registerIcons() — the component itself is icon-set agnostic. Inherits color from its parent via currentColor. Size follows --aui-icon-size or explicit size attribute.
11
7
  base: AgentElement
12
-
13
- # ── Presentational attributes ─────────────────────────────
14
-
15
8
  presentational:
16
9
  size:
17
10
  syntax: key-value
18
11
  cascades: false
19
12
  default: medium
20
- values: [xs, sm, lg, xl]
21
- description: >
22
- Overrides the inherited --aui-icon-size token.
23
- Default (no attribute) uses the token value from context.
24
-
25
- # ── Component attributes ──────────────────────────────────
26
-
13
+ values:
14
+ - xs
15
+ - sm
16
+ - lg
17
+ - xl
18
+ description: |
19
+ Overrides the inherited --aui-icon-size token. Default (no attribute) uses the token value from context.
27
20
  attributes:
28
21
  name:
29
22
  syntax: key-value
30
23
  type: string
31
24
  default: ""
32
- description: >
33
- Icon name matching a key in the global registry.
34
- When the name changes, the SVG is re-rendered.
35
- Registered names: arrow-up, caret-down, caret-left, caret-right,
36
- caret-up, chat-dots, check, check-circle, circle, clock, crosshair,
37
- dots-three, envelope, file-text, flask, gear, globe-simple, house,
38
- image, lightbulb, list-checks, magnifying-glass, microphone, minus,
39
- paperclip, pencil, plus, robot, sliders, sparkle, star, stop, user,
40
- warning, warning-circle, x, chart-bar, sun, moon, heart, trash,
41
- info, copy, thumbs-up, thumbs-down, arrow-clockwise.
42
-
25
+ description: |
26
+ Icon name matching a key in the global registry. When the name changes, the SVG is re-rendered. Registered names: arrow-up, caret-down, caret-left, caret-right, caret-up, chat-dots, check, check-circle, circle, clock, crosshair, dots-three, envelope, file-text, flask, gear, globe-simple, house, image, lightbulb, list-checks, magnifying-glass, microphone, minus, paperclip, pencil, plus, robot, sliders, sparkle, star, stop, user, warning, warning-circle, x, chart-bar, sun, moon, heart, trash, info, copy, thumbs-up, thumbs-down, arrow-clockwise.
43
27
  label:
44
28
  syntax: key-value
45
29
  type: string
46
30
  default: ""
47
- description: >
48
- Accessible label for meaningful icons. When set, the element
49
- gets role="img" and aria-label. When absent, it is treated
50
- as decorative (role="presentation", aria-hidden="true").
51
-
52
- # ── Content model ─────────────────────────────────────────
53
-
31
+ description: |
32
+ Accessible label for meaningful icons. When set, the element gets role="img" and aria-label. When absent, it is treated as decorative (role="presentation", aria-hidden="true").
54
33
  content:
55
34
  model: empty
56
35
  accepts: []
57
36
  required: false
58
- description: >
59
- Content is auto-rendered from the registry. Do not place
60
- children inside aui-icon.
61
-
62
- # ── Composition ───────────────────────────────────────────
63
-
37
+ description: |
38
+ Content is auto-rendered from the registry. Do not place children inside aui-icon.
64
39
  composition:
65
- parents: [aui-button, aui-input, aui-select, aui-header, aui-footer, any]
40
+ parents:
41
+ - aui-button
42
+ - aui-input
43
+ - aui-select
44
+ - aui-header
45
+ - aui-footer
46
+ - any
66
47
  children: null
67
- context: >
68
- Icons appear inside button slots, input leading/trailing,
69
- toolbar items, or standalone. Inherits color and size from
70
- the parent context.
71
-
72
- # ── Accessibility ─────────────────────────────────────────
73
-
48
+ context: |
49
+ Icons appear inside button slots, input leading/trailing, toolbar items, or standalone. Inherits color and size from the parent context.
74
50
  a11y:
75
51
  role: img (when label set) / presentation (decorative)
76
52
  aria:
77
53
  aria-label: Set from label attribute when present.
78
54
  aria-hidden: Set to "true" when no label (decorative icon).
79
-
80
- # ── CSS tokens consumed ──────────────────────────────────
81
-
82
55
  tokens:
83
56
  - name: --aui-icon-width
84
57
  default: var(--aui-icon-size)
@@ -89,11 +62,9 @@ tokens:
89
62
  - name: --aui-icon-color
90
63
  default: currentColor
91
64
  description: Icon fill color, inherited from parent.
92
-
93
- # ── Examples ──────────────────────────────────────────────
94
-
95
65
  examples:
96
- - html: |
66
+ - description: Icon gallery from the Phosphor icon set
67
+ html: |-
97
68
  <aui-stack direction="row" gap="2" align-items="center">
98
69
  <aui-icon name="house"></aui-icon>
99
70
  <aui-icon name="gear"></aui-icon>
@@ -108,9 +79,8 @@ examples:
108
79
  <aui-icon name="warning"></aui-icon>
109
80
  <aui-icon name="info"></aui-icon>
110
81
  </aui-stack>
111
- description: Icon gallery from the Phosphor icon set.
112
-
113
- - html: |
82
+ - description: Size scale from xs to xl
83
+ html: |-
114
84
  <aui-stack direction="row" gap="2" align-items="center">
115
85
  <aui-icon name="star" size="xs"></aui-icon>
116
86
  <aui-icon name="star" size="sm"></aui-icon>
@@ -118,9 +88,8 @@ examples:
118
88
  <aui-icon name="star" size="lg"></aui-icon>
119
89
  <aui-icon name="star" size="xl"></aui-icon>
120
90
  </aui-stack>
121
- description: Size scale from xs to xl.
122
-
123
- - html: |
91
+ - description: Icons inside button slots
92
+ html: |-
124
93
  <aui-stack direction="row" gap="2" align-items="center">
125
94
  <aui-button outline accent>
126
95
  <aui-icon name="pencil" slot="leading"></aui-icon>
@@ -134,7 +103,5 @@ examples:
134
103
  <aui-icon name="magnifying-glass" slot="leading"></aui-icon>
135
104
  </aui-button>
136
105
  </aui-stack>
137
- description: Icons inside button slots.
138
-
139
- - html: <aui-icon name="warning" label="Warning" size="xl"></aui-icon>
140
- description: Meaningful icon with accessible label.
106
+ - description: Meaningful icon with accessible label
107
+ html: <aui-icon name="warning" label="Warning" size="xl"></aui-icon>
@@ -49,10 +49,20 @@ aui-radio-group:
49
49
  uses: [plan selection in pricing, payment method chooser, frequency toggle in settings]
50
50
  children: [aui-radio]
51
51
 
52
+ aui-checkbox-group:
53
+ summary: Container that coordinates checkbox multi-selection with min/max constraints.
54
+ uses: [multi-select form fields, feature toggles, preference checkboxes, filter groups]
55
+ children: [aui-checkbox]
56
+
52
57
  aui-field:
53
58
  summary: Form field wrapper with label, description, and error.
54
59
  uses: [labeled login input, settings form row, registration field with validation, inline error display]
55
- children: [aui-input, aui-textarea, aui-select, aui-checkbox, aui-switch, aui-radio-group]
60
+ children: [aui-input, aui-textarea, aui-select, aui-checkbox, aui-switch, aui-radio-group, aui-checkbox-group]
61
+
62
+ aui-form:
63
+ summary: Form coordinator with validation and structured submit events.
64
+ uses: [settings forms, registration pages, profile editors, search forms, inline data entry]
65
+ children: [aui-field, aui-button, aui-checkbox-group, aui-fieldset]
56
66
 
57
67
  aui-tooltip:
58
68
  summary: Hover/focus tooltip with popover-based positioning.
@@ -0,0 +1,102 @@
1
+ name: aui-input-group
2
+ tag: aui-input-group
3
+ type: element
4
+ summary: Wrapper that connects an input with prefix and/or suffix addons.
5
+ description: |
6
+ CSS-only wrapper that shares a unified border treatment between an input and its prefix/suffix addons. Use for currency fields, URL inputs, unit inputs, and search fields with button suffixes.
7
+ presentational:
8
+ size:
9
+ syntax: key-value
10
+ attribute: size
11
+ cascades: false
12
+ default: md
13
+ values:
14
+ - sm
15
+ - md
16
+ - lg
17
+ description: Matches size to child input.
18
+ modifiers:
19
+ disabled:
20
+ syntax: boolean
21
+ description: |
22
+ Dims the entire group and disables pointer events.
23
+ content:
24
+ model: flow
25
+ accepts:
26
+ - aui-input
27
+ - span
28
+ - aui-button
29
+ required: true
30
+ description: |
31
+ Must contain an aui-input. May include span[slot="prefix"] and/or span[slot="suffix"] for addon labels. Buttons can also be used as suffix addons.
32
+ slots:
33
+ prefix:
34
+ accepts:
35
+ - span
36
+ - aui-button
37
+ required: false
38
+ description: Addon before the input (e.g. currency symbol, protocol).
39
+ default:
40
+ accepts:
41
+ - aui-input
42
+ required: true
43
+ description: The input element.
44
+ suffix:
45
+ accepts:
46
+ - span
47
+ - aui-button
48
+ required: false
49
+ description: Addon after the input (e.g. unit, action button).
50
+ composition:
51
+ parents:
52
+ - aui-field
53
+ - aui-stack
54
+ - aui-grid
55
+ - div
56
+ children:
57
+ - aui-input
58
+ - span
59
+ - aui-button
60
+ context: |
61
+ Use inside aui-field for labeled form fields. The group removes the child input's border so only the group border is visible. Focus-within highlights the entire group.
62
+ tokens:
63
+ color:
64
+ - --aui-border
65
+ - --aui-surface
66
+ - --aui-control
67
+ - --aui-text-muted
68
+ - --aui-accent-500
69
+ shape:
70
+ - --aui-radius
71
+ examples:
72
+ - description: Currency input with dollar prefix
73
+ html: |-
74
+ <aui-input-group>
75
+ <span slot="prefix">$</span>
76
+ <aui-input placeholder="0.00"></aui-input>
77
+ </aui-input-group>
78
+ - description: Domain input with suffix
79
+ html: |-
80
+ <aui-input-group>
81
+ <aui-input placeholder="example.com"></aui-input>
82
+ <span slot="suffix">.com</span>
83
+ </aui-input-group>
84
+ - description: URL input with both prefix and suffix
85
+ html: |-
86
+ <aui-input-group>
87
+ <span slot="prefix">https://</span>
88
+ <aui-input placeholder="example.com"></aui-input>
89
+ <span slot="suffix">/path</span>
90
+ </aui-input-group>
91
+ - description: Unit input with suffix
92
+ html: |-
93
+ <aui-input-group>
94
+ <aui-input placeholder="Weight"></aui-input>
95
+ <span slot="suffix">kg</span>
96
+ </aui-input-group>
97
+ - description: Disabled input group
98
+ html: |-
99
+ <aui-input-group disabled>
100
+ <span slot="prefix">$</span>
101
+ <aui-input placeholder="0.00"></aui-input>
102
+ </aui-input-group>
@@ -2,38 +2,30 @@ name: aui-input-otp
2
2
  tag: aui-input-otp
3
3
  type: component
4
4
  summary: Segmented one-time password input.
5
- description: >
6
- A multi-cell input for one-time codes. Auto-advances on entry,
7
- navigates on backspace/arrows, and distributes pasted values
8
- across cells. A hidden input holds the combined value for forms.
9
-
5
+ description: |
6
+ A multi-cell input for one-time codes. Auto-advances on entry, navigates on backspace/arrows, and distributes pasted values across cells. A hidden input holds the combined value for forms.
10
7
  base: AgentElement
11
-
12
8
  attributes:
13
9
  length:
14
10
  syntax: key-value
15
11
  type: string
16
12
  default: "6"
17
13
  description: Number of digit cells to render.
18
-
19
14
  disabled:
20
15
  syntax: boolean
21
16
  type: boolean
22
17
  default: false
23
18
  description: Prevents interaction. Dims visually.
24
-
25
19
  value:
26
20
  syntax: key-value
27
21
  type: string
28
22
  default: ""
29
23
  description: Current combined value.
30
-
31
24
  name:
32
25
  syntax: key-value
33
26
  type: string
34
27
  default: ""
35
28
  description: Form field name.
36
-
37
29
  a11y:
38
30
  role: group
39
31
  aria:
@@ -42,7 +34,6 @@ a11y:
42
34
  ArrowLeft: Move to previous cell.
43
35
  ArrowRight: Move to next cell.
44
36
  Backspace: Clear current cell and move to previous.
45
-
46
37
  tokens:
47
38
  - name: --aui-input-otp-gap
48
39
  default: var(--aui-pad-gap-control)
@@ -86,18 +77,28 @@ tokens:
86
77
  - name: --aui-input-otp-border-disabled
87
78
  default: var(--aui-stroke-disabled, var(--aui-border-disabled))
88
79
  description: Cell border color when disabled.
89
-
90
80
  events:
91
81
  aui:complete:
92
82
  description: Fired when all cells are filled. detail.value contains the code.
93
-
94
83
  form:
95
84
  associated: true
96
85
  value: Combined string of all cells.
97
-
98
86
  examples:
99
- - html: <aui-input-otp length="6"></aui-input-otp>
100
- description: Default 6-digit OTP input.
101
-
102
- - html: <aui-input-otp length="4" name="code"></aui-input-otp>
103
- description: 4-digit OTP with form name.
87
+ - description: Default 6-digit OTP input
88
+ html: <aui-input-otp length="6"></aui-input-otp>
89
+ - description: 4-digit OTP with form name
90
+ html: <aui-input-otp length="4" name="code"></aui-input-otp>
91
+ - description: Pre-filled OTP value
92
+ html: <aui-input-otp length="6" value="482910"></aui-input-otp>
93
+ - description: Disabled OTP input
94
+ html: <aui-input-otp length="6" value="739201" disabled></aui-input-otp>
95
+ - description: OTP inside aui-field with label and description
96
+ html: |-
97
+ <aui-field label="Verification code" description="Enter the 6-digit code sent to your email.">
98
+ <aui-input-otp length="6" name="verification"></aui-input-otp>
99
+ </aui-field>
100
+ - description: 4-digit OTP inside aui-field with required marker
101
+ html: |-
102
+ <aui-field label="PIN code" description="4-digit code from your authenticator app." required>
103
+ <aui-input-otp length="4" name="pin"></aui-input-otp>
104
+ </aui-field>