@agent-ui-kit/web-components 0.0.3 → 0.0.4

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 (186) hide show
  1. package/README.md +429 -0
  2. package/dist/agent-ui.css +1 -1
  3. package/dist/api.json +9519 -0
  4. package/dist/docs/blocks/agent-chat.yaml +111 -0
  5. package/dist/docs/blocks/announcement-card.yaml +30 -0
  6. package/dist/docs/blocks/bpm-process.yaml +7 -0
  7. package/dist/docs/blocks/chart-activity.yaml +73 -0
  8. package/dist/docs/blocks/chart-card.yaml +55 -0
  9. package/dist/docs/blocks/chart-donut.yaml +83 -0
  10. package/dist/docs/blocks/chart-grouped.yaml +75 -0
  11. package/dist/docs/blocks/chart-horizontal.yaml +59 -0
  12. package/dist/docs/blocks/chart-interactive.yaml +58 -0
  13. package/dist/docs/blocks/chart-labeled.yaml +66 -0
  14. package/dist/docs/blocks/checkout-form.yaml +57 -0
  15. package/dist/docs/blocks/clinical-trial.yaml +7 -0
  16. package/dist/docs/blocks/contributors.yaml +51 -0
  17. package/dist/docs/blocks/cyber-threat.yaml +7 -0
  18. package/dist/docs/blocks/dashboard-layout.yaml +121 -0
  19. package/dist/docs/blocks/data-eng-dag.yaml +9 -0
  20. package/dist/docs/blocks/date-picker.yaml +30 -0
  21. package/dist/docs/blocks/ddx-workflow.yaml +9 -0
  22. package/dist/docs/blocks/empty-state.yaml +26 -0
  23. package/dist/docs/blocks/env-variables.yaml +46 -0
  24. package/dist/docs/blocks/feature-upgrade.yaml +52 -0
  25. package/dist/docs/blocks/financial-risk.yaml +7 -0
  26. package/dist/docs/blocks/flow-editor.yaml +113 -0
  27. package/dist/docs/blocks/gen-ai-pipeline.yaml +8 -0
  28. package/dist/docs/blocks/index.yaml +245 -0
  29. package/dist/docs/blocks/issue-assign.yaml +34 -0
  30. package/dist/docs/blocks/keyboard-shortcuts.yaml +49 -0
  31. package/dist/docs/blocks/login-branded.yaml +81 -0
  32. package/dist/docs/blocks/login-email-only.yaml +39 -0
  33. package/dist/docs/blocks/login-form.yaml +42 -0
  34. package/dist/docs/blocks/login-simple.yaml +54 -0
  35. package/dist/docs/blocks/login-social.yaml +73 -0
  36. package/dist/docs/blocks/login-two-column.yaml +78 -0
  37. package/dist/docs/blocks/marketing-automation.yaml +7 -0
  38. package/dist/docs/blocks/member-list.yaml +58 -0
  39. package/dist/docs/blocks/ml-pipeline.yaml +7 -0
  40. package/dist/docs/blocks/nav-card.yaml +27 -0
  41. package/dist/docs/blocks/notification-list.yaml +58 -0
  42. package/dist/docs/blocks/oncology-pathway.yaml +7 -0
  43. package/dist/docs/blocks/pricing-card.yaml +53 -0
  44. package/dist/docs/blocks/processing-state.yaml +25 -0
  45. package/dist/docs/blocks/profile-card.yaml +48 -0
  46. package/dist/docs/blocks/saas-onboarding.yaml +7 -0
  47. package/dist/docs/blocks/settings-form.yaml +42 -0
  48. package/dist/docs/blocks/settings-panel.yaml +54 -0
  49. package/dist/docs/blocks/sidebar-nav.yaml +55 -0
  50. package/dist/docs/blocks/signup-form.yaml +47 -0
  51. package/dist/docs/blocks/stat-cards.yaml +49 -0
  52. package/dist/docs/blocks/status-card.yaml +40 -0
  53. package/dist/docs/blocks/suggested-labs.yaml +79 -0
  54. package/dist/docs/blocks/supply-chain.yaml +7 -0
  55. package/dist/docs/blocks/survey-card.yaml +52 -0
  56. package/dist/docs/blocks/tabbed-panel.yaml +53 -0
  57. package/dist/docs/blocks/team-empty.yaml +27 -0
  58. package/dist/docs/blocks/usage-billing.yaml +99 -0
  59. package/dist/docs/components/accordion-item.yaml +52 -0
  60. package/dist/docs/components/accordion.yaml +69 -0
  61. package/dist/docs/components/agent-activity.yaml +79 -0
  62. package/dist/docs/components/agent-feed.yaml +83 -0
  63. package/dist/docs/components/agent-message.yaml +120 -0
  64. package/dist/docs/components/agent-panel.yaml +91 -0
  65. package/dist/docs/components/agent-prompt.yaml +78 -0
  66. package/dist/docs/components/agent-seeds.yaml +44 -0
  67. package/dist/docs/components/agent-text.yaml +57 -0
  68. package/dist/docs/components/agent-thread.yaml +82 -0
  69. package/dist/docs/components/app-shell.yaml +64 -0
  70. package/dist/docs/components/breadcrumb-item.yaml +49 -0
  71. package/dist/docs/components/breadcrumb.yaml +59 -0
  72. package/dist/docs/components/button.yaml +439 -0
  73. package/dist/docs/components/calendar.yaml +74 -0
  74. package/dist/docs/components/canvas.yaml +161 -0
  75. package/dist/docs/components/checkbox.yaml +141 -0
  76. package/dist/docs/components/command-empty.yaml +13 -0
  77. package/dist/docs/components/command-group.yaml +23 -0
  78. package/dist/docs/components/command-input.yaml +19 -0
  79. package/dist/docs/components/command-item.yaml +37 -0
  80. package/dist/docs/components/command-list.yaml +17 -0
  81. package/dist/docs/components/command.yaml +64 -0
  82. package/dist/docs/components/container.yaml +298 -0
  83. package/dist/docs/components/dialog.yaml +133 -0
  84. package/dist/docs/components/drawer.yaml +124 -0
  85. package/dist/docs/components/editor-layer.yaml +59 -0
  86. package/dist/docs/components/editor.yaml +168 -0
  87. package/dist/docs/components/feed.yaml +72 -0
  88. package/dist/docs/components/field.yaml +145 -0
  89. package/dist/docs/components/graph-layer.yaml +41 -0
  90. package/dist/docs/components/graph-node.yaml +58 -0
  91. package/dist/docs/components/graph-noodle.yaml +103 -0
  92. package/dist/docs/components/graph-port.yaml +71 -0
  93. package/dist/docs/components/graph-ui.yaml +64 -0
  94. package/dist/docs/components/gripper.yaml +55 -0
  95. package/dist/docs/components/icon.yaml +133 -0
  96. package/dist/docs/components/index.yaml +320 -0
  97. package/dist/docs/components/input-otp.yaml +59 -0
  98. package/dist/docs/components/input.yaml +289 -0
  99. package/dist/docs/components/noodles.yaml +184 -0
  100. package/dist/docs/components/optgroup.yaml +38 -0
  101. package/dist/docs/components/option.yaml +56 -0
  102. package/dist/docs/components/page-context.yaml +55 -0
  103. package/dist/docs/components/page-main.yaml +39 -0
  104. package/dist/docs/components/page.yaml +36 -0
  105. package/dist/docs/components/pagination.yaml +46 -0
  106. package/dist/docs/components/pane.yaml +102 -0
  107. package/dist/docs/components/panes.yaml +82 -0
  108. package/dist/docs/components/preview-app.yaml +170 -0
  109. package/dist/docs/components/radio-group.yaml +108 -0
  110. package/dist/docs/components/radio.yaml +132 -0
  111. package/dist/docs/components/range.yaml +97 -0
  112. package/dist/docs/components/root.yaml +18 -0
  113. package/dist/docs/components/segment.yaml +41 -0
  114. package/dist/docs/components/segmented-control.yaml +52 -0
  115. package/dist/docs/components/select.yaml +241 -0
  116. package/dist/docs/components/sidebar-content.yaml +32 -0
  117. package/dist/docs/components/sidebar-footer.yaml +28 -0
  118. package/dist/docs/components/sidebar-header.yaml +28 -0
  119. package/dist/docs/components/sidebar.yaml +133 -0
  120. package/dist/docs/components/switch.yaml +131 -0
  121. package/dist/docs/components/tab-panel.yaml +41 -0
  122. package/dist/docs/components/tab.yaml +51 -0
  123. package/dist/docs/components/table-body.yaml +11 -0
  124. package/dist/docs/components/table-cell.yaml +11 -0
  125. package/dist/docs/components/table-column.yaml +76 -0
  126. package/dist/docs/components/table-head.yaml +11 -0
  127. package/dist/docs/components/table-header.yaml +11 -0
  128. package/dist/docs/components/table-row.yaml +11 -0
  129. package/dist/docs/components/table.yaml +219 -0
  130. package/dist/docs/components/tabs.yaml +61 -0
  131. package/dist/docs/components/textarea.yaml +196 -0
  132. package/dist/docs/components/toast.yaml +62 -0
  133. package/dist/docs/components/tooltip.yaml +98 -0
  134. package/dist/docs/components/tree-item.yaml +46 -0
  135. package/dist/docs/components/tree.yaml +27 -0
  136. package/dist/docs/traits/auto-dismiss.yaml +23 -0
  137. package/dist/docs/traits/backtick-wrap.yaml +22 -0
  138. package/dist/docs/traits/clipboard.yaml +31 -0
  139. package/dist/docs/traits/collapsible.yaml +23 -0
  140. package/dist/docs/traits/confetti.yaml +37 -0
  141. package/dist/docs/traits/copy.yaml +27 -0
  142. package/dist/docs/traits/css-inspect.yaml +46 -0
  143. package/dist/docs/traits/dismiss.yaml +23 -0
  144. package/dist/docs/traits/drag.yaml +88 -0
  145. package/dist/docs/traits/drop-zone.yaml +37 -0
  146. package/dist/docs/traits/edit.yaml +39 -0
  147. package/dist/docs/traits/flip.yaml +40 -0
  148. package/dist/docs/traits/gateway.yaml +33 -0
  149. package/dist/docs/traits/hover.yaml +39 -0
  150. package/dist/docs/traits/intersect.yaml +42 -0
  151. package/dist/docs/traits/link-paste.yaml +28 -0
  152. package/dist/docs/traits/linked-scroll.yaml +37 -0
  153. package/dist/docs/traits/list-navigate.yaml +46 -0
  154. package/dist/docs/traits/magnet.yaml +33 -0
  155. package/dist/docs/traits/mention.yaml +40 -0
  156. package/dist/docs/traits/modal.yaml +28 -0
  157. package/dist/docs/traits/noodle.yaml +45 -0
  158. package/dist/docs/traits/overlay.yaml +58 -0
  159. package/dist/docs/traits/pan-zoom.yaml +47 -0
  160. package/dist/docs/traits/parallax.yaml +36 -0
  161. package/dist/docs/traits/persist.yaml +42 -0
  162. package/dist/docs/traits/popover.yaml +28 -0
  163. package/dist/docs/traits/present.yaml +42 -0
  164. package/dist/docs/traits/press-hold.yaml +34 -0
  165. package/dist/docs/traits/range-select.yaml +42 -0
  166. package/dist/docs/traits/resize.yaml +39 -0
  167. package/dist/docs/traits/ripple.yaml +20 -0
  168. package/dist/docs/traits/roving-focus.yaml +30 -0
  169. package/dist/docs/traits/search.yaml +44 -0
  170. package/dist/docs/traits/selection.yaml +41 -0
  171. package/dist/docs/traits/shortcut.yaml +25 -0
  172. package/dist/docs/traits/slash-command.yaml +40 -0
  173. package/dist/docs/traits/snap-resize.yaml +39 -0
  174. package/dist/docs/traits/sort.yaml +47 -0
  175. package/dist/docs/traits/store.yaml +32 -0
  176. package/dist/docs/traits/swipe.yaml +38 -0
  177. package/dist/docs/traits/text-trigger.yaml +35 -0
  178. package/dist/docs/traits/toast.yaml +41 -0
  179. package/dist/docs/traits/toggle-scheme.yaml +40 -0
  180. package/dist/docs/traits/toggle-state.yaml +23 -0
  181. package/dist/docs/traits/tooltip.yaml +39 -0
  182. package/dist/docs/traits/toss.yaml +40 -0
  183. package/dist/docs/traits/trap-focus.yaml +20 -0
  184. package/dist/docs/traits/validate.yaml +52 -0
  185. package/dist/docs/traits/virtual-scroll.yaml +44 -0
  186. package/package.json +4 -2
@@ -0,0 +1,320 @@
1
+ # ── Components ──────────────────────────────────
2
+
3
+ aui-button:
4
+ summary: Polymorphic action trigger (button) with press semantics.
5
+ uses: [form submit, toolbar action, hide-label close button, link-mode nav, CTA in pricing card]
6
+ children: [aui-icon]
7
+
8
+ aui-icon:
9
+ summary: SVG icon rendered from a global registry.
10
+ uses: [button leading icon, nav menu item, status indicator in toast, toolbar glyph, decorative illustration]
11
+
12
+ aui-input:
13
+ summary: Text input with type variants, slots, and clearable mode.
14
+ uses: [email login field, search bar with clear, password entry, inline cell editor, URL input]
15
+
16
+ aui-textarea:
17
+ summary: Multi-line text input with autogrow support.
18
+ uses: [comment box, chat message composer, bio field in profile, feedback form, code snippet editor]
19
+
20
+ aui-select:
21
+ summary: Universal collection surface — dropdown, toolbar, listbox, and combobox in one element.
22
+ uses: [country picker dropdown, toolbar overflow menu, sidebar nav list, combobox search filter, multi-select tag picker]
23
+ children: [aui-option, aui-optgroup, aui-select]
24
+ modes: [bar, list, combobox]
25
+
26
+ aui-option:
27
+ summary: Selectable item within aui-select.
28
+ uses: [dropdown menu entry, toolbar action, listbox row, combobox suggestion]
29
+
30
+ aui-optgroup:
31
+ summary: Groups related options with an optional label and divider.
32
+ uses: [categorized dropdown sections, grouped combobox results, toolbar divider groups]
33
+ children: [aui-option]
34
+
35
+ aui-checkbox:
36
+ summary: Checkbox with custom check and indeterminate indicators.
37
+ uses: [terms acceptance toggle, bulk-select all in table, survey multi-choice, todo item, filter panel option]
38
+
39
+ aui-switch:
40
+ summary: Toggle switch with track and sliding thumb.
41
+ uses: [dark mode toggle, notification preference, feature flag in settings, auto-save toggle]
42
+
43
+ aui-radio:
44
+ summary: Radio button with custom circle indicator.
45
+ uses: [shipping method choice, plan tier selection, sort order option]
46
+
47
+ aui-radio-group:
48
+ summary: Container that coordinates radio button selection.
49
+ uses: [plan selection in pricing, payment method chooser, frequency toggle in settings]
50
+ children: [aui-radio]
51
+
52
+ aui-field:
53
+ summary: Form field wrapper with label, description, and error.
54
+ 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]
56
+
57
+ aui-tooltip:
58
+ summary: Hover/focus tooltip with popover-based positioning.
59
+ uses: [hide-label button hint, keyboard shortcut callout, truncated text reveal, toolbar action label]
60
+
61
+ aui-range:
62
+ summary: Slider control with custom track and thumb.
63
+ uses: [volume control, price range filter, opacity adjuster, font size slider]
64
+
65
+ aui-input-otp:
66
+ summary: Segmented one-time password input.
67
+ uses: [two-factor auth code, phone verification, invite code entry, PIN confirmation]
68
+
69
+ aui-gripper:
70
+ summary: Resize handle for panes and resizable containers.
71
+ uses: [IDE panel divider, split-view separator, resizable sidebar edge, code/preview splitter]
72
+
73
+ aui-tabs:
74
+ summary: Tabbed interface with roving keyboard navigation.
75
+ uses: [settings page sections, dashboard view switcher, product detail tabs, code/preview toggle]
76
+ children: [aui-tab, aui-tab-panel]
77
+
78
+ aui-tab:
79
+ summary: Individual tab trigger within a tabbed interface.
80
+ uses: [settings section label, dashboard tab header, detail view selector]
81
+
82
+ aui-tab-panel:
83
+ summary: Content panel associated with a tab.
84
+ uses: [settings section body, dashboard tab content, detail view pane]
85
+
86
+ aui-accordion:
87
+ summary: Collapsible section group with optional single-open mode.
88
+ uses: [FAQ page, settings category groups, sidebar filter sections, changelog entries]
89
+ children: [aui-accordion-item]
90
+
91
+ aui-accordion-item:
92
+ summary: Collapsible section with trigger and content panel.
93
+ uses: [FAQ answer reveal, filter group collapse, advanced settings toggle, sidebar section]
94
+
95
+ aui-segmented-control:
96
+ summary: Toggle between mutually exclusive options.
97
+ uses: [list/grid/board view switcher, billing period toggle, codespaces/local tab bar]
98
+ children: [aui-segment]
99
+
100
+ aui-segment:
101
+ summary: Individual toggle within a segmented control.
102
+ uses: [view mode option, billing period choice, tab-like segment]
103
+
104
+ aui-pagination:
105
+ summary: Page navigation with numbered buttons and prev/next.
106
+ uses: [table page controls, search results paging, blog post navigation, gallery pagination]
107
+
108
+ aui-toast:
109
+ summary: Toast notification with auto-dismiss and stacking.
110
+ uses: [save confirmation, error alert after failed request, new message notification, copy-to-clipboard feedback]
111
+
112
+ aui-breadcrumb:
113
+ summary: Breadcrumb navigation trail.
114
+ uses: [file manager path, settings hierarchy, e-commerce category trail, documentation breadcrumb]
115
+ children: [aui-breadcrumb-item]
116
+
117
+ aui-breadcrumb-item:
118
+ summary: Individual breadcrumb link or current-page indicator.
119
+ uses: [parent folder link, category link, current page marker]
120
+
121
+ aui-command:
122
+ summary: Command palette with search, keyboard navigation, and grouping.
123
+ uses: [app-wide quick actions, file search overlay, admin action launcher, keyboard-driven navigation]
124
+ children: [aui-command-input, aui-command-list, aui-command-empty]
125
+
126
+ aui-command-input:
127
+ summary: Search input for the command palette.
128
+ uses: [command search box, action filter field]
129
+
130
+ aui-command-list:
131
+ summary: Scrollable container for command items.
132
+ uses: [command results panel, action list viewport]
133
+ children: [aui-command-item, aui-command-group]
134
+
135
+ aui-command-group:
136
+ summary: Groups command items under a heading.
137
+ uses: [categorized actions section, navigation group in palette]
138
+ children: [aui-command-item]
139
+
140
+ aui-command-item:
141
+ summary: Selectable item within a command palette.
142
+ uses: [quick action entry, search result row, keyboard-navigable option]
143
+
144
+ aui-command-empty:
145
+ summary: Empty state shown when no command items match the query.
146
+ uses: [no-results feedback in command palette, search miss message]
147
+
148
+ aui-panes:
149
+ summary: Resizable split layout with draggable grippers.
150
+ uses: [IDE editor/preview split, email list/detail pane, file browser/content split]
151
+ children: [aui-pane, aui-gripper]
152
+
153
+ aui-pane:
154
+ summary: Individual pane within a resizable split layout.
155
+ uses: [sidebar panel, main content region, detail inspector pane]
156
+
157
+ aui-table:
158
+ summary: CSS grid table with subgrid rows.
159
+ uses: [user admin list, invoice line items, API key management, data export preview]
160
+ children: [aui-table-head, aui-table-body]
161
+
162
+ aui-table-head:
163
+ summary: Table head section using display contents.
164
+ children: [aui-table-row]
165
+
166
+ aui-table-body:
167
+ summary: Table body section using display contents.
168
+ children: [aui-table-row]
169
+
170
+ aui-table-row:
171
+ summary: Table row using CSS subgrid.
172
+ children: [aui-table-header, aui-table-cell]
173
+
174
+ aui-table-header:
175
+ summary: Column header cell with bold label.
176
+ uses: [sortable column title, fixed header cell]
177
+
178
+ aui-table-cell:
179
+ summary: Data cell within a table row.
180
+ uses: [user name cell, status badge cell, action button cell]
181
+
182
+ aui-tree:
183
+ summary: Hierarchical tree view with expand/collapse.
184
+ uses: [file explorer sidebar, org chart, nested settings menu, category taxonomy browser]
185
+ children: [aui-tree-item]
186
+
187
+ aui-tree-item:
188
+ summary: Tree node with expand/collapse and nesting.
189
+ uses: [folder node, file leaf, nested category item]
190
+ children: [aui-tree-item]
191
+
192
+ aui-feed:
193
+ summary: Scrollable feed for messages and activity streams.
194
+ uses: [chat message thread, activity log, notification feed, comment stream]
195
+
196
+ aui-drawer:
197
+ summary: Slide-out panel anchored to a viewport edge.
198
+ uses: [mobile nav menu, filter sidebar, detail inspector, notification tray]
199
+ children: [aui-header, aui-content, aui-footer]
200
+
201
+ aui-dialog:
202
+ summary: Modal dialog with backdrop and focus trapping.
203
+ uses: [delete confirmation prompt, edit profile form, command palette host, session expired alert]
204
+ children: [aui-header, aui-content, aui-footer]
205
+
206
+ aui-root:
207
+ summary: App shell root container.
208
+ uses: [top-level app wrapper, theme provider boundary, full-page layout host]
209
+ children: [aui-header, aui-content, aui-footer, aui-panes]
210
+
211
+ aui-calendar:
212
+ summary: Date picker with day, month, and year views.
213
+ uses: [appointment booking, date-of-birth selector, event scheduler, date range filter]
214
+
215
+ aui-noodles:
216
+ summary: Declarative SVG noodle canvas for node-based flow editors.
217
+ uses: [data pipeline diagram, CI/CD workflow builder, state machine editor, API integration mapper]
218
+
219
+ aui-container:
220
+ summary: Unified card and panel surface.
221
+ uses: [settings form card, dashboard stat widget, profile detail panel, pricing tier card, clickable nav tile]
222
+ children: [aui-header, aui-content, aui-footer, aui-inset]
223
+
224
+ aui-canvas:
225
+ summary: Versatile preview surface with pan/zoom, backgrounds, and editor layout slots.
226
+ uses: [component preview renderer, infinite whiteboard, flow editor viewport, design tool workspace]
227
+
228
+ # ── Agent Chat Components ──────────────────────
229
+
230
+ aui-agent-panel:
231
+ summary: Top-level chat shell that composes header, feed, and input.
232
+ uses: [full chat interface, conversational AI panel, support chat window, agent workspace shell]
233
+ children: [aui-header, aui-agent-feed, aui-agent-input, aui-footer]
234
+
235
+ aui-agent-feed:
236
+ summary: Scrollable chat thread coordinator with auto-scroll and token definitions.
237
+ uses: [chat message thread, conversational AI interface, support chat window, agent conversation log]
238
+ children: [aui-agent-thread]
239
+
240
+ aui-agent-thread:
241
+ summary: Message group with 2x2 grid layout for avatar, context, and bubbles.
242
+ uses: [message cluster from one sender, assistant response group, user message group]
243
+ children: [aui-avatar, aui-agent-message]
244
+
245
+ aui-agent-message:
246
+ summary: Individual chat message bubble with action toolbar.
247
+ uses: [assistant response bubble, user message bubble, system notification bubble]
248
+ children: [aui-agent-text, aui-agent-activity, aui-agent-seeds]
249
+
250
+ aui-agent-text:
251
+ summary: Markdown renderer for chat message content.
252
+ uses: [rich text assistant response, plain text user message, formatted code explanation]
253
+
254
+ aui-agent-activity:
255
+ summary: Streaming activity indicator with typing dots and elapsed timer.
256
+ uses: [thinking indicator, typing animation, tool-use status, reasoning trace display]
257
+
258
+ aui-agent-seeds:
259
+ summary: Suggestion chips for pre-seeded quick responses.
260
+ uses: [conversation starters, quick reply options, follow-up suggestions]
261
+
262
+ aui-agent-input:
263
+ summary: Chat composer surface with textarea, submit button, and keyboard shortcuts.
264
+ uses: [chat message input, agent prompt composer, conversation reply box]
265
+ children: [aui-textarea, aui-agent-prompt, aui-button]
266
+
267
+ aui-agent-prompt:
268
+ summary: Bordered prompt container for the chat composer textarea.
269
+ uses: [advanced composer layout, bordered textarea wrapper, rich input surface]
270
+ children: [aui-textarea, aui-button]
271
+
272
+ # ── Elements (CSS-only, no JS) ──────────────────
273
+
274
+ aui-stack:
275
+ summary: Flex column or row layout container.
276
+ uses: [vertical form layout, horizontal button group, card content stacking, wrapping tag row]
277
+
278
+ aui-grid:
279
+ summary: CSS grid container with column shorthand.
280
+ uses: [dashboard card grid, two-column form fields, image gallery, pricing tier row]
281
+
282
+ aui-inset:
283
+ summary: Density-aware padding wrapper.
284
+ uses: [card content padding, dialog body spacing, scrollable area inset, section content margin]
285
+
286
+ aui-header:
287
+ summary: Adaptive grid container for top bars.
288
+ uses: [page title bar, card header with actions, dialog title row, drawer top bar]
289
+
290
+ aui-footer:
291
+ summary: Adaptive grid container for bottom bars.
292
+ uses: [dialog action buttons, card save/cancel row, page copyright line, pagination bar]
293
+
294
+ aui-content:
295
+ summary: Scrollable content region that fills available space.
296
+ uses: [dialog scrollable body, drawer main content, card middle section, sidebar scrollable list]
297
+
298
+ aui-heading:
299
+ summary: Block-level heading text with size and weight attributes.
300
+ uses: [page title, card heading, stat value label, section title, profile name]
301
+
302
+ aui-text:
303
+ summary: Block-level text element with muted and size attributes.
304
+ uses: [card subtitle, form field description, timestamp label, secondary metadata, empty state message]
305
+
306
+ aui-badge:
307
+ summary: Status indicator with intent colors and dot mode.
308
+ uses: [notification count, plan tier label, online presence dot, PR status tag, version label]
309
+
310
+ aui-avatar:
311
+ summary: Avatar circle or square showing initials or image.
312
+ uses: [user profile photo, team member row, comment author, workspace icon, nav brand mark]
313
+
314
+ aui-divider:
315
+ summary: Semantic separator line.
316
+ uses: [section break in settings, toolbar group separator, form section divider, list item border]
317
+
318
+ aui-kbd:
319
+ summary: Keyboard shortcut indicator styled as a key cap.
320
+ uses: [shortcut hint in tooltip, command palette key combo, documentation hotkey reference]
@@ -0,0 +1,59 @@
1
+ name: aui-input-otp
2
+ tag: aui-input-otp
3
+ type: component
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
+
10
+ base: AgentElement
11
+
12
+ attributes:
13
+ length:
14
+ syntax: key-value
15
+ type: string
16
+ default: "6"
17
+ description: Number of digit cells to render.
18
+
19
+ disabled:
20
+ syntax: boolean
21
+ type: boolean
22
+ default: false
23
+ description: Prevents interaction. Dims visually.
24
+
25
+ value:
26
+ syntax: key-value
27
+ type: string
28
+ default: ""
29
+ description: Current combined value.
30
+
31
+ name:
32
+ syntax: key-value
33
+ type: string
34
+ default: ""
35
+ description: Form field name.
36
+
37
+ a11y:
38
+ role: group
39
+ aria:
40
+ aria-label: '"One-time code" on the container.'
41
+ keyboard:
42
+ ArrowLeft: Move to previous cell.
43
+ ArrowRight: Move to next cell.
44
+ Backspace: Clear current cell and move to previous.
45
+
46
+ events:
47
+ aui:complete:
48
+ description: Fired when all cells are filled. detail.value contains the code.
49
+
50
+ form:
51
+ associated: true
52
+ value: Combined string of all cells.
53
+
54
+ examples:
55
+ - html: <aui-input-otp length="6"></aui-input-otp>
56
+ description: Default 6-digit OTP input.
57
+
58
+ - html: <aui-input-otp length="4" name="code"></aui-input-otp>
59
+ description: 4-digit OTP with form name.
@@ -0,0 +1,289 @@
1
+ name: aui-input
2
+ tag: aui-input
3
+ type: component
4
+ summary: Text input with type variants, slots, and clearable mode.
5
+ description: >
6
+ Single-line text input. The wrapper element owns the visual chrome
7
+ (border, radius, padding, focus ring). A native <input> lives
8
+ inside as a light DOM child with all browser chrome stripped.
9
+ Supports leading/trailing icon slots and a clearable button.
10
+ Defaults to width: 20ch for standalone use. Automatically stretches
11
+ to full width when placed inside aui-field. Use width="full" on the
12
+ element to override the default width in other contexts.
13
+
14
+ base: AgentElement
15
+
16
+ # ── Presentational attributes ─────────────────────────────
17
+
18
+ presentational:
19
+ size:
20
+ syntax: key-value
21
+ attribute: size
22
+ cascades: true
23
+ default: medium
24
+ values: [xs, sm, md, lg, xl]
25
+ description: Controls height, font size, and icon size.
26
+
27
+ radius:
28
+ syntax: boolean
29
+ exclusive: true
30
+ cascades: true
31
+ default: medium
32
+ values: [sharp, round]
33
+ description: Controls border radius.
34
+
35
+ density:
36
+ syntax: key-value
37
+ attribute: density
38
+ cascades: true
39
+ default: regular
40
+ values: [compact, spacious]
41
+ description: Controls padding compression.
42
+
43
+ intent:
44
+ syntax: boolean
45
+ exclusive: true
46
+ cascades: true
47
+ default: neutral
48
+ values: [accent, info, success, warning, danger]
49
+ description: Color family for the input border and focus ring.
50
+
51
+ # ── Component attributes ──────────────────────────────────
52
+
53
+ attributes:
54
+ disabled:
55
+ syntax: boolean
56
+ type: boolean
57
+ default: false
58
+ description: Prevents interaction. Dims visually.
59
+
60
+ readonly:
61
+ syntax: boolean
62
+ type: boolean
63
+ default: false
64
+ description: Allows selection but prevents editing. Dashed border.
65
+
66
+ required:
67
+ syntax: boolean
68
+ type: boolean
69
+ default: false
70
+ description: Marks the input as required for form validation.
71
+
72
+ clearable:
73
+ syntax: boolean
74
+ type: boolean
75
+ default: false
76
+ description: Shows a clear button when the input has a value.
77
+
78
+ autofocus:
79
+ syntax: boolean
80
+ type: boolean
81
+ default: false
82
+ description: Focuses the input on mount.
83
+
84
+ type:
85
+ syntax: key-value
86
+ type: enum
87
+ values: [text, email, password, search, url, tel, number]
88
+ default: text
89
+ description: HTML input type. Forwarded to the native input.
90
+
91
+ placeholder:
92
+ syntax: key-value
93
+ type: string
94
+ default: ""
95
+ description: Placeholder text. Forwarded to the native input.
96
+
97
+ value:
98
+ syntax: key-value
99
+ type: string
100
+ default: ""
101
+ description: Current input value. Two-way synced with the native input.
102
+
103
+ name:
104
+ syntax: key-value
105
+ type: string
106
+ default: ""
107
+ description: Form submission name. Forwarded to the native input.
108
+
109
+ pattern:
110
+ syntax: key-value
111
+ type: string
112
+ default: ""
113
+ description: Regex validation pattern. Forwarded to the native input.
114
+
115
+ minlength:
116
+ syntax: key-value
117
+ type: string
118
+ default: ""
119
+ description: Minimum character count.
120
+
121
+ maxlength:
122
+ syntax: key-value
123
+ type: string
124
+ default: ""
125
+ description: Maximum character count.
126
+
127
+ autocomplete:
128
+ syntax: key-value
129
+ type: string
130
+ default: ""
131
+ description: Browser autocomplete hint. Forwarded to the native input.
132
+
133
+ # ── Modifiers ─────────────────────────────────────────────
134
+
135
+ # None — clearable is a component attribute, not a modifier.
136
+
137
+ # ── Content model ─────────────────────────────────────────
138
+
139
+ content:
140
+ model: mixed
141
+ accepts: [input, span, svg, button]
142
+ required: false
143
+ description: >
144
+ The component auto-stamps a native <input> if none exists.
145
+ Slot elements (leading/trailing) are optional. Do not place
146
+ block elements inside.
147
+
148
+ # ── Slots ─────────────────────────────────────────────────
149
+
150
+ slots:
151
+ default:
152
+ accepts: [input]
153
+ required: false
154
+ description: >
155
+ The native input element. Auto-stamped if not provided.
156
+
157
+ leading:
158
+ accepts: [span, svg, img]
159
+ required: false
160
+ description: Leading icon. Adapts grid to auto 1fr.
161
+
162
+ trailing:
163
+ accepts: [span, svg, img]
164
+ required: false
165
+ description: Trailing icon. Adapts grid to 1fr auto.
166
+
167
+ # ── Composition ───────────────────────────────────────────
168
+
169
+ composition:
170
+ parents: [aui-field, aui-stack, aui-grid, form, div]
171
+ children: null
172
+ context: >
173
+ Use inside aui-field for labeled form inputs. Can also be
174
+ used standalone in search bars, inline editors, or compact
175
+ toolbars. The wrapper is the styling surface — the inner
176
+ input is a plain native element.
177
+
178
+ # ── Constraints ───────────────────────────────────────────
179
+
180
+ constraints:
181
+ - when: inside aui-field
182
+ require: aui-field[label]
183
+ reason: >
184
+ Inputs need an accessible label. When used inside aui-field,
185
+ the field provides the label. When standalone, add aria-label.
186
+
187
+ # ── Accessibility ─────────────────────────────────────────
188
+
189
+ a11y:
190
+ role: implicit (native input)
191
+ keyboard:
192
+ Tab: Focuses the native input.
193
+ Escape: Clears the input (when clearable and focused).
194
+ aria:
195
+ aria-disabled: Reflected from disabled attribute.
196
+ aria-readonly: Reflected from readonly attribute.
197
+ aria-required: Reflected from required attribute.
198
+
199
+ # ── Events ────────────────────────────────────────────────
200
+
201
+ events:
202
+ input:
203
+ description: Fires on every keystroke. Value attribute syncs automatically.
204
+ change:
205
+ description: Fires on blur or enter. Bubbles from the native input.
206
+
207
+ # ── CSS implementation notes ──────────────────────────────
208
+
209
+ css-notes:
210
+ attr-audit:
211
+ - "AB1: [disabled], [readonly], [clearable] — all visual states via attributes"
212
+ - "AB5: No classes used — all state is attribute-driven"
213
+ - ":focus-within on wrapper — delegates focus ring to the container"
214
+ - ":has(> [slot='leading']) — slot-adaptive grid, same pattern as button"
215
+ - ":not(:has(> input:not(:placeholder-shown))) — hides clear button when empty"
216
+
217
+ # ── CSS tokens consumed ──────────────────────────────────
218
+
219
+ tokens:
220
+ sizing:
221
+ - --aui-size
222
+ - --aui-font-size
223
+ - --aui-icon-size
224
+ spacing:
225
+ - --aui-pad-control-block
226
+ - --aui-pad-control-inline
227
+ color:
228
+ - --aui-ink
229
+ - --aui-ink-muted
230
+ - --aui-ink-placeholder
231
+ - --aui-ink-disabled
232
+ - --aui-control
233
+ - --aui-fill
234
+ - --aui-fill-disabled
235
+ - --aui-stroke
236
+ - --aui-stroke-hover
237
+ - --aui-stroke-disabled
238
+ - --aui-focus
239
+ shape:
240
+ - --aui-radius
241
+ motion:
242
+ - --aui-duration
243
+ - --aui-easing
244
+
245
+ # ── Examples ──────────────────────────────────────────────
246
+
247
+ examples:
248
+ - html: <aui-input placeholder="Enter text"></aui-input>
249
+ description: Basic text input.
250
+
251
+ - html: <aui-input type="email" placeholder="you@example.com"></aui-input>
252
+ description: Email input.
253
+
254
+ - html: <aui-input type="password" placeholder="Password"></aui-input>
255
+ description: Password input.
256
+
257
+ - html: <aui-input placeholder="Search" clearable></aui-input>
258
+ description: Clearable input with clear button.
259
+
260
+ - html: <aui-input placeholder="Disabled" disabled></aui-input>
261
+ description: Disabled input.
262
+
263
+ - html: <aui-input value="Read only" readonly></aui-input>
264
+ description: Read-only input with dashed border.
265
+
266
+ - html: |
267
+ <aui-input placeholder="Search">
268
+ <span slot="leading">🔍</span>
269
+ </aui-input>
270
+ description: Input with leading icon.
271
+
272
+ - html: |
273
+ <aui-input type="email" placeholder="Email">
274
+ <span slot="leading">✉</span>
275
+ <span slot="trailing">✓</span>
276
+ </aui-input>
277
+ description: Input with leading and trailing icons.
278
+
279
+ - html: |
280
+ <aui-field label="Email" required>
281
+ <aui-input type="email" placeholder="you@example.com"></aui-input>
282
+ </aui-field>
283
+ description: Input inside a labeled field.
284
+
285
+ - html: |
286
+ <aui-field label="Username" error="Already taken.">
287
+ <aui-input value="admin"></aui-input>
288
+ </aui-field>
289
+ description: Input with error state via parent field.