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

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 (151) 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 +4570 -1641
  5. package/dist/api.tokens.json +34 -2
  6. package/dist/api.tokens.yaml +26 -2
  7. package/dist/chunks/{agent-C72JZNe6.js → agent-BF_R_HJk.js} +65 -61
  8. package/dist/chunks/{agent-C72JZNe6.js.map → agent-BF_R_HJk.js.map} +1 -1
  9. package/dist/chunks/{empty-state-5M3uR5CM.js → meter-Dju8ik6C.js} +1169 -934
  10. package/dist/chunks/meter-Dju8ik6C.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/code/code.d.ts +0 -0
  18. package/dist/components/color-area/color-area.d.ts +2 -1
  19. package/dist/components/color-picker/color-picker.d.ts +1 -0
  20. package/dist/components/color-picker/oklch-utils.d.ts +18 -0
  21. package/dist/components/color-slider/color-slider.d.ts +1 -1
  22. package/dist/components/color-swatch/color-swatch.d.ts +0 -0
  23. package/dist/components/content/content.d.ts +0 -0
  24. package/dist/components/description-list/description-list.d.ts +0 -0
  25. package/dist/components/divider/divider.d.ts +0 -0
  26. package/dist/components/editor.js +1 -1
  27. package/dist/components/fieldset/fieldset.d.ts +0 -0
  28. package/dist/components/footer/footer.d.ts +0 -0
  29. package/dist/components/graph.js +1 -1
  30. package/dist/components/grid/grid.d.ts +0 -0
  31. package/dist/components/header/header.d.ts +0 -0
  32. package/dist/components/heading/heading.d.ts +0 -0
  33. package/dist/components/input-group/input-group.d.ts +0 -0
  34. package/dist/components/inset/inset.d.ts +0 -0
  35. package/dist/components/kbd/kbd.d.ts +0 -0
  36. package/dist/components/stack/stack.d.ts +0 -0
  37. package/dist/components/stat/stat.d.ts +4 -0
  38. package/dist/components/text/text.d.ts +0 -0
  39. package/dist/components/time-field/time-field.d.ts +1 -0
  40. package/dist/components/wrap/wrap.d.ts +0 -0
  41. package/dist/components.js +114 -127
  42. package/dist/components.js.map +1 -1
  43. package/dist/docs/blocks/login-two-column.yaml +6 -6
  44. package/dist/docs/blocks/profile-card.yaml +5 -5
  45. package/dist/docs/components/accordion-item.yaml +13 -21
  46. package/dist/docs/components/accordion.yaml +23 -29
  47. package/dist/docs/components/agent-activity.yaml +27 -39
  48. package/dist/docs/components/agent-feed.yaml +15 -22
  49. package/dist/docs/components/agent-input.yaml +238 -0
  50. package/dist/docs/components/agent-message.yaml +29 -48
  51. package/dist/docs/components/agent-panel.yaml +21 -24
  52. package/dist/docs/components/agent-prompt.yaml +28 -46
  53. package/dist/docs/components/agent-seeds.yaml +15 -23
  54. package/dist/docs/components/agent-text.yaml +14 -24
  55. package/dist/docs/components/agent-thread.yaml +15 -24
  56. package/dist/docs/components/alert.yaml +41 -39
  57. package/dist/docs/components/avatar-group.yaml +72 -45
  58. package/dist/docs/components/avatar.yaml +99 -0
  59. package/dist/docs/components/badge.yaml +110 -0
  60. package/dist/docs/components/bar.yaml +84 -0
  61. package/dist/docs/components/breadcrumb-item.yaml +8 -17
  62. package/dist/docs/components/breadcrumb.yaml +60 -25
  63. package/dist/docs/components/button-group.yaml +93 -0
  64. package/dist/docs/components/button.yaml +177 -261
  65. package/dist/docs/components/calendar-picker.yaml +14 -34
  66. package/dist/docs/components/calendar-range-picker.yaml +11 -29
  67. package/dist/docs/components/calendar.yaml +11 -29
  68. package/dist/docs/components/canvas.yaml +44 -61
  69. package/dist/docs/components/checkbox.yaml +37 -49
  70. package/dist/docs/components/chip.yaml +88 -54
  71. package/dist/docs/components/code-block.yaml +54 -53
  72. package/dist/docs/components/code.yaml +37 -0
  73. package/dist/docs/components/color-area.yaml +119 -0
  74. package/dist/docs/components/color-field.yaml +121 -0
  75. package/dist/docs/components/color-picker.yaml +64 -38
  76. package/dist/docs/components/color-slider.yaml +153 -0
  77. package/dist/docs/components/color-swatch.yaml +98 -0
  78. package/dist/docs/components/command.yaml +13 -18
  79. package/dist/docs/components/container.yaml +83 -73
  80. package/dist/docs/components/content.yaml +100 -0
  81. package/dist/docs/components/context-menu.yaml +11 -20
  82. package/dist/docs/components/date-field.yaml +81 -33
  83. package/dist/docs/components/description-list.yaml +81 -0
  84. package/dist/docs/components/disclosure-group.yaml +61 -42
  85. package/dist/docs/components/disclosure.yaml +60 -46
  86. package/dist/docs/components/divider.yaml +63 -0
  87. package/dist/docs/components/dropdown-menu.yaml +16 -25
  88. package/dist/docs/components/feed.yaml +15 -24
  89. package/dist/docs/components/field.yaml +50 -71
  90. package/dist/docs/components/fieldset.yaml +92 -0
  91. package/dist/docs/components/footer.yaml +147 -0
  92. package/dist/docs/components/grid.yaml +87 -0
  93. package/dist/docs/components/gripper.yaml +11 -23
  94. package/dist/docs/components/header.yaml +168 -0
  95. package/dist/docs/components/heading.yaml +54 -0
  96. package/dist/docs/components/hover-card.yaml +17 -25
  97. package/dist/docs/components/icon.yaml +32 -65
  98. package/dist/docs/components/input-group.yaml +102 -0
  99. package/dist/docs/components/input-otp.yaml +20 -19
  100. package/dist/docs/components/input.yaml +92 -132
  101. package/dist/docs/components/inset.yaml +59 -0
  102. package/dist/docs/components/kbd.yaml +57 -0
  103. package/dist/docs/components/link.yaml +36 -45
  104. package/dist/docs/components/meter.yaml +27 -38
  105. package/dist/docs/components/nav-item.yaml +51 -40
  106. package/dist/docs/components/noodles.yaml +72 -104
  107. package/dist/docs/components/option.yaml +12 -23
  108. package/dist/docs/components/pagination.yaml +21 -18
  109. package/dist/docs/components/pane.yaml +18 -32
  110. package/dist/docs/components/panes.yaml +19 -27
  111. package/dist/docs/components/progress-circle.yaml +64 -55
  112. package/dist/docs/components/progress.yaml +35 -51
  113. package/dist/docs/components/radio-group.yaml +99 -40
  114. package/dist/docs/components/radio.yaml +40 -41
  115. package/dist/docs/components/range.yaml +24 -27
  116. package/dist/docs/components/segmented-control.yaml +58 -17
  117. package/dist/docs/components/select.yaml +80 -100
  118. package/dist/docs/components/skeleton.yaml +39 -39
  119. package/dist/docs/components/sparkline.yaml +28 -45
  120. package/dist/docs/components/spinner.yaml +32 -33
  121. package/dist/docs/components/stack.yaml +126 -0
  122. package/dist/docs/components/stepper.yaml +31 -38
  123. package/dist/docs/components/switch.yaml +36 -47
  124. package/dist/docs/components/tab-panel.yaml +27 -18
  125. package/dist/docs/components/tab.yaml +25 -22
  126. package/dist/docs/components/table-header.yaml +22 -12
  127. package/dist/docs/components/tabs.yaml +103 -20
  128. package/dist/docs/components/tag-group.yaml +63 -47
  129. package/dist/docs/components/text.yaml +67 -0
  130. package/dist/docs/components/textarea.yaml +43 -60
  131. package/dist/docs/components/time-field.yaml +74 -33
  132. package/dist/docs/components/toast.yaml +13 -30
  133. package/dist/docs/components/tooltip.yaml +56 -49
  134. package/dist/docs/components/tree-item.yaml +9 -10
  135. package/dist/docs/components/tree.yaml +127 -10
  136. package/dist/docs/components/wrap.yaml +60 -0
  137. package/dist/docs/traits/toggle-theme.yaml +34 -0
  138. package/dist/element.js +1 -1
  139. package/dist/icons.js +79 -59
  140. package/dist/icons.js.map +1 -1
  141. package/dist/reactivity.js +2 -2
  142. package/dist/register.d.ts +0 -1
  143. package/dist/register.js +258 -244
  144. package/dist/register.js.map +1 -1
  145. package/dist/store.js +1 -1
  146. package/dist/traits/toggle-theme/toggle-theme.d.ts +0 -0
  147. package/dist/traits/toggle-theme/toggle-theme.trait.d.ts +2 -0
  148. package/dist/traits.js +528 -485
  149. package/dist/traits.js.map +1 -1
  150. package/package.json +1 -1
  151. package/dist/chunks/empty-state-5M3uR5CM.js.map +0 -1
@@ -2,126 +2,143 @@ name: aui-container
2
2
  tag: aui-container
3
3
  type: component
4
4
  summary: Unified card and panel surface.
5
- description: >
6
- The standard surface element for cards, panels, and sections.
7
- Replaces separate Card and Panel components — a single element
8
- with bordered, elevation, shadow, and interactive modifiers. Composes
9
- aui-header, aui-content, aui-footer as children.
10
-
5
+ description: |
6
+ The standard surface element for cards, panels, and sections. Replaces separate Card and Panel components — a single element with bordered, elevation, shadow, and interactive modifiers. Composes aui-header, aui-content, aui-footer as children.
11
7
  base: AgentElement
12
-
13
8
  presentational:
14
9
  size:
15
10
  syntax: key-value
16
11
  attribute: size
17
12
  cascades: true
18
13
  default: medium
19
- values: [xs, sm, md, lg, xl]
14
+ values:
15
+ - xs
16
+ - sm
17
+ - md
18
+ - lg
19
+ - xl
20
20
  description: Cascades size to all children (header, body, footer).
21
-
22
21
  density:
23
22
  syntax: key-value
24
23
  attribute: density
25
24
  cascades: true
26
25
  default: regular
27
- values: [compact, spacious]
26
+ values:
27
+ - compact
28
+ - spacious
28
29
  description: Cascades density to all children.
29
-
30
30
  intent:
31
31
  syntax: boolean
32
32
  exclusive: true
33
33
  cascades: true
34
34
  default: neutral
35
- values: [accent, info, success, warning, danger]
35
+ values:
36
+ - accent
37
+ - info
38
+ - success
39
+ - warning
40
+ - danger
36
41
  description: Cascades color family to all children.
37
-
38
42
  radius:
39
43
  syntax: boolean
40
44
  exclusive: true
41
45
  cascades: true
42
46
  default: medium
43
- values: [sharp, round]
47
+ values:
48
+ - sharp
49
+ - round
44
50
  description: Controls corner radius of the container.
45
-
46
51
  attributes:
47
52
  kind:
48
53
  syntax: key-value
49
54
  type: enum
50
- values: [widget, card, panel]
55
+ values:
56
+ - widget
57
+ - card
58
+ - panel
51
59
  default: card
52
- description: >
53
- Sets the padding and gap scale for all children.
54
- widget: 0.75rem (compact, 1/6–1/4 page).
55
- card: 1rem (default, 1/4–1/3 page).
56
- panel: 1.75rem (spacious, 1/3–3/4 page, modals).
57
-
60
+ description: |
61
+ Sets the padding and gap scale for all children. widget: 0.75rem (compact, 1/6–1/4 page). card: 1rem (default, 1/4–1/3 page). panel: 1.75rem (spacious, 1/3–3/4 page, modals).
58
62
  href:
59
63
  syntax: key-value
60
64
  type: string
61
65
  default: ""
62
- description: >
63
- Navigation target when interactive. Clicking the container
64
- navigates to this URL.
65
-
66
+ description: |
67
+ Navigation target when interactive. Clicking the container navigates to this URL.
66
68
  elevation:
67
69
  syntax: key-value
68
70
  type: enum
69
- values: ["1", "2", "3", "4", "5", "6", "7"]
71
+ values:
72
+ - "1"
73
+ - "2"
74
+ - "3"
75
+ - "4"
76
+ - "5"
77
+ - "6"
78
+ - "7"
70
79
  default: ""
71
- description: >
72
- Surface brightness level. 1=doc (dimmest) through
73
- 7=modal (brightest). Controls background color.
74
-
80
+ description: |
81
+ Surface brightness level. 1=doc (dimmest) through 7=modal (brightest). Controls background color.
75
82
  shadow:
76
83
  syntax: key-value
77
84
  type: enum
78
- values: ["1", "2", "3"]
85
+ values:
86
+ - "1"
87
+ - "2"
88
+ - "3"
79
89
  default: ""
80
- description: >
90
+ description: |
81
91
  Shadow depth. 1=subtle, 2=medium, 3=prominent.
82
-
83
92
  modifiers:
84
93
  bordered:
85
94
  syntax: boolean
86
95
  description: Adds a visible border around the container.
87
-
88
96
  interactive:
89
97
  syntax: boolean
90
- description: >
98
+ description: |
91
99
  Makes the container clickable with hover/active states.
92
-
93
100
  content:
94
101
  model: block
95
- accepts: [aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-grid, div, p, any]
102
+ accepts:
103
+ - aui-header
104
+ - aui-content
105
+ - aui-footer
106
+ - aui-inset
107
+ - aui-stack
108
+ - aui-grid
109
+ - div
110
+ - p
111
+ - any
96
112
  required: true
97
- description: >
98
- Typically aui-header + aui-content + aui-footer for structured
99
- cards. Or aui-inset for simple content cards. Child headers
100
- and footers automatically get separator borders.
101
-
113
+ description: |
114
+ Typically aui-header + aui-content + aui-footer for structured cards. Or aui-inset for simple content cards. Child headers and footers automatically get separator borders.
102
115
  slots:
103
116
  default:
104
- accepts: [any]
117
+ accepts:
118
+ - any
105
119
  required: true
106
120
  description: Container content.
107
-
108
121
  composition:
109
- parents: [aui-stack, aui-grid, div, section, main]
122
+ parents:
123
+ - aui-stack
124
+ - aui-grid
125
+ - div
126
+ - section
127
+ - main
110
128
  children:
111
- typical: [aui-header, aui-content, aui-footer, aui-inset]
112
- pattern: >
113
- The standard card pattern is header + body + footer.
114
- For simple content, use aui-inset directly.
115
- context: >
116
- Use for cards in grids, settings panels, dashboard tiles,
117
- detail panes. The bordered modifier is the most common
118
- shadow/elevation is for floating/overlay surfaces.
119
-
129
+ typical:
130
+ - aui-header
131
+ - aui-content
132
+ - aui-footer
133
+ - aui-inset
134
+ pattern: |
135
+ The standard card pattern is header + body + footer. For simple content, use aui-inset directly.
136
+ context: |
137
+ Use for cards in grids, settings panels, dashboard tiles, detail panes. The bordered modifier is the most common — shadow/elevation is for floating/overlay surfaces.
120
138
  constraints:
121
139
  - when: interactive
122
140
  require: href or click handler
123
141
  reason: Interactive containers need a destination or action.
124
-
125
142
  a11y:
126
143
  role: When interactive, role="button" is set automatically.
127
144
  keyboard:
@@ -130,11 +147,9 @@ a11y:
130
147
  focus:
131
148
  default: Not focusable unless interactive.
132
149
  interactive: tabindex="0".
133
-
134
150
  events:
135
151
  click:
136
152
  description: Fires on interactive containers. Navigates to href if set.
137
-
138
153
  tokens:
139
154
  - name: --aui-container-background
140
155
  default: var(--aui-card, var(--aui-doc))
@@ -145,9 +160,9 @@ tokens:
145
160
  - name: --aui-container-font-size
146
161
  default: var(--aui-font-lg)
147
162
  description: Base font size for the container.
148
-
149
163
  examples:
150
- - html: |
164
+ - description: Card kind — Settings form (1.25rem padding)
165
+ html: |-
151
166
  <aui-container kind="card" bordered max-width="prose">
152
167
  <aui-header>
153
168
  <aui-stack gap="1">
@@ -176,9 +191,8 @@ examples:
176
191
  </span>
177
192
  </aui-footer>
178
193
  </aui-container>
179
- description: Card kind — Settings form (1.25rem padding).
180
-
181
- - html: |
194
+ - description: Widget kind — Compact dashboard stat cards (0.75rem padding)
195
+ html: |-
182
196
  <aui-stack direction="row" gap="3" style="flex-wrap: wrap;">
183
197
  <aui-container kind="widget" bordered style="flex: 1; min-width: 12rem;">
184
198
  <aui-inset>
@@ -214,9 +228,8 @@ examples:
214
228
  </aui-inset>
215
229
  </aui-container>
216
230
  </aui-stack>
217
- description: Widget kind — Compact dashboard stat cards (0.75rem padding).
218
-
219
- - html: |
231
+ - description: Panel kind — Spacious member list (1.75rem padding)
232
+ html: |-
220
233
  <aui-container kind="panel" bordered max-width="xl">
221
234
  <aui-header>
222
235
  <span slot="leading">
@@ -261,9 +274,8 @@ examples:
261
274
  </aui-inset>
262
275
  </aui-content>
263
276
  </aui-container>
264
- description: Panel kind Spacious member list (1.75rem padding).
265
-
266
- - html: |
277
+ - description: Elevated success card with centered content
278
+ html: |-
267
279
  <aui-container kind="card" bordered shadow="2" success max-width="md">
268
280
  <aui-inset>
269
281
  <aui-stack gap="4" align-items="center" style="text-align: center;">
@@ -274,9 +286,8 @@ examples:
274
286
  </aui-stack>
275
287
  </aui-inset>
276
288
  </aui-container>
277
- description: Elevated success card with centered content.
278
-
279
- - html: |
289
+ - description: Widget kind Compact clickable navigation card
290
+ html: |-
280
291
  <aui-container kind="widget" bordered interactive href="#" max-width="sm">
281
292
  <aui-inset>
282
293
  <aui-stack direction="row" gap="2" align-items="center">
@@ -289,4 +300,3 @@ examples:
289
300
  </aui-stack>
290
301
  </aui-inset>
291
302
  </aui-container>
292
- description: Widget kind — Compact clickable navigation card.
@@ -0,0 +1,100 @@
1
+ name: aui-content
2
+ tag: aui-content
3
+ type: element
4
+ summary: Scrollable content region that fills available space.
5
+ description: >
6
+ Flex child that grows to fill remaining space in a flex column
7
+ container. Clips vertical overflow with scroll. Typically used
8
+ between aui-header and aui-footer to create a scrollable content
9
+ area within a fixed-height layout.
10
+
11
+ # ── Content model ─────────────────────────────────────────
12
+
13
+ content:
14
+ model: block
15
+ accepts: [aui-inset, aui-stack, aui-grid, div, section, p, any]
16
+ required: true
17
+ description: >
18
+ Block-level content. Wrap in aui-inset for consistent padding.
19
+ Content that exceeds the available height will scroll vertically.
20
+
21
+ # ── Slots ─────────────────────────────────────────────────
22
+
23
+ slots:
24
+ default:
25
+ accepts: [any]
26
+ required: true
27
+ description: Scrollable body content.
28
+
29
+ # ── Composition ───────────────────────────────────────────
30
+
31
+ composition:
32
+ parents: [aui-stack, div, section]
33
+ siblings:
34
+ typical: [aui-header, aui-footer]
35
+ pattern: >
36
+ aui-content sits between aui-header and aui-footer in a
37
+ vertical flex container. The parent must have a constrained
38
+ height (explicit height or flex layout) for scrolling
39
+ to work — aui-content grows to fill remaining space.
40
+ children:
41
+ typical: [aui-inset, aui-stack, aui-grid]
42
+ pattern: >
43
+ Wrap content in aui-inset for consistent padding. Direct
44
+ children are laid out in a flex column.
45
+ context: >
46
+ The key structural element for scrollable layouts. Without
47
+ a constrained parent, aui-content simply grows without scrolling.
48
+
49
+ # ── Attributes ────────────────────────────────────────────
50
+
51
+ attributes:
52
+ scroll-shadow:
53
+ type: boolean
54
+ default: absent
55
+ description: >
56
+ Enables gradient mask at scroll edges to hint that more content
57
+ exists above or below. Only takes effect when `scrollable` is also
58
+ present. Uses CSS mask-image — no JS required. Horizontal variant
59
+ activates when `scrollable="x"` is set alongside `scroll-shadow`.
60
+
61
+ # ── Constraints ───────────────────────────────────────────
62
+
63
+ constraints:
64
+ - when: always
65
+ require: parent with constrained height
66
+ reason: >
67
+ aui-content uses flex-grow: 1 and overflow-y: auto. Without a
68
+ height constraint on the parent, it will grow indefinitely
69
+ and never scroll.
70
+
71
+ # ── Examples ──────────────────────────────────────────────
72
+
73
+ examples:
74
+ - html: |
75
+ <div style="height: 150px; display: flex; flex-direction: column; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
76
+ <aui-header>
77
+ <span>Title</span>
78
+ </aui-header>
79
+ <aui-content>
80
+ <aui-inset>
81
+ <p>Line 1</p><p>Line 2</p><p>Line 3</p>
82
+ <p>Line 4</p><p>Line 5</p><p>Line 6</p>
83
+ </aui-inset>
84
+ </aui-content>
85
+ </div>
86
+ description: Scrollable body below a header in a fixed-height container.
87
+
88
+ - html: |
89
+ <div style="height: 150px; display: flex; flex-direction: column; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
90
+ <aui-header>
91
+ <span>Title</span>
92
+ </aui-header>
93
+ <aui-content scrollable scroll-shadow>
94
+ <aui-inset>
95
+ <p>Line 1</p><p>Line 2</p><p>Line 3</p>
96
+ <p>Line 4</p><p>Line 5</p><p>Line 6</p>
97
+ </aui-inset>
98
+ </aui-content>
99
+ </div>
100
+ description: Scroll shadow fades top and bottom edges to indicate overflow.
@@ -2,14 +2,9 @@ name: aui-context-menu
2
2
  tag: aui-context-menu
3
3
  type: component
4
4
  summary: Right-click triggered context menu using the Popover API.
5
- description: >
6
- Declarative context menu that listens for contextmenu events on a target
7
- element and positions a popover at the pointer location. Reuses aui-option
8
- for menu items and aui-optgroup for grouped sections. Supports keyboard
9
- navigation with arrow keys, Enter to select, and Escape to close.
10
-
5
+ description: |
6
+ Declarative context menu that listens for contextmenu events on a target element and positions a popover at the pointer location. Reuses aui-option for menu items and aui-optgroup for grouped sections. Supports keyboard navigation with arrow keys, Enter to select, and Escape to close.
11
7
  base: AgentElement
12
-
13
8
  attributes:
14
9
  target:
15
10
  syntax: key-value
@@ -26,7 +21,6 @@ attributes:
26
21
  type: boolean
27
22
  default: false
28
23
  description: Whether the menu is currently open.
29
-
30
24
  tokens:
31
25
  - name: --aui-context-menu-font-family
32
26
  default: var(--aui-font-family)
@@ -49,7 +43,6 @@ tokens:
49
43
  - name: --aui-context-menu-shadow
50
44
  default: var(--aui-shadow-lg)
51
45
  description: Box shadow of the menu.
52
-
53
46
  a11y:
54
47
  role: menu
55
48
  keyboard:
@@ -60,21 +53,21 @@ a11y:
60
53
  Enter: Select the active menu item.
61
54
  Space: Select the active menu item.
62
55
  Escape: Close the menu.
63
-
64
56
  events:
65
57
  select:
66
58
  description: Fired when a menu item is selected. Detail contains { value }.
67
-
68
59
  dependencies:
69
60
  - aui-option
70
61
  - aui-optgroup
71
-
72
62
  composition:
73
- parents: [any]
74
- children: [aui-option, aui-optgroup]
75
-
63
+ parents:
64
+ - any
65
+ children:
66
+ - aui-option
67
+ - aui-optgroup
76
68
  examples:
77
- - html: |
69
+ - description: Basic context menu — right-click the target area to open
70
+ html: |-
78
71
  <div id="ctx-target" style="padding: 2rem; border: 1px dashed var(--aui-border-muted); border-radius: var(--aui-radius); text-align: center; color: var(--aui-ink-muted);">
79
72
  Right-click here
80
73
  </div>
@@ -83,9 +76,8 @@ examples:
83
76
  <aui-option value="duplicate">Duplicate</aui-option>
84
77
  <aui-option value="delete">Delete</aui-option>
85
78
  </aui-context-menu>
86
- description: Basic context menu right-click the target area to open.
87
-
88
- - html: |
79
+ - description: Context menu with grouped options
80
+ html: |-
89
81
  <div id="ctx-grouped" style="padding: 2rem; border: 1px dashed var(--aui-border-muted); border-radius: var(--aui-radius); text-align: center; color: var(--aui-ink-muted);">
90
82
  Right-click for grouped menu
91
83
  </div>
@@ -99,4 +91,3 @@ examples:
99
91
  <aui-option value="delete">Delete</aui-option>
100
92
  </aui-optgroup>
101
93
  </aui-context-menu>
102
- description: Context menu with grouped options.
@@ -2,54 +2,40 @@ name: aui-date-field
2
2
  tag: aui-date-field
3
3
  type: component
4
4
  summary: Segmented date input with independently editable month, day, and year segments.
5
- description: >
6
- An inline date entry control where month, day, and year are
7
- separate focusable segments. Segment order and separator are
8
- determined by the format attribute (MM/DD/YYYY, DD/MM/YYYY,
9
- YYYY-MM-DD). Each segment supports arrow-key increment/decrement,
10
- direct digit entry with auto-advance, and Tab/Arrow navigation.
11
- Validates dates on commit (e.g. Feb 30 clamps to Feb 28/29).
12
- Value is always stored as ISO YYYY-MM-DD. No native form elements.
13
-
5
+ description: |
6
+ An inline date entry control where month, day, and year are separate focusable segments. Segment order and separator are determined by the format attribute (MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD). Each segment supports arrow-key increment/decrement, direct digit entry with auto-advance, and Tab/Arrow navigation. Validates dates on commit (e.g. Feb 30 clamps to Feb 28/29). Value is always stored as ISO YYYY-MM-DD. No native form elements.
14
7
  base: AgentElement
15
-
16
8
  attributes:
17
9
  value:
18
10
  syntax: key-value
19
11
  type: string
20
12
  default: ""
21
13
  description: Date value in ISO format (YYYY-MM-DD).
22
-
23
14
  min:
24
15
  syntax: key-value
25
16
  type: string
26
17
  default: ""
27
18
  description: Earliest allowed date (YYYY-MM-DD).
28
-
29
19
  max:
30
20
  syntax: key-value
31
21
  type: string
32
22
  default: ""
33
23
  description: Latest allowed date (YYYY-MM-DD).
34
-
35
24
  format:
36
25
  syntax: key-value
37
26
  type: string
38
- default: "MM/DD/YYYY"
27
+ default: MM/DD/YYYY
39
28
  description: Segment display order (MM/DD/YYYY, DD/MM/YYYY, YYYY-MM-DD).
40
-
41
29
  placeholder:
42
30
  syntax: key-value
43
31
  type: string
44
32
  default: ""
45
33
  description: Placeholder shown in empty segments.
46
-
47
34
  disabled:
48
35
  syntax: boolean
49
36
  type: boolean
50
37
  default: false
51
38
  description: Prevents interaction. Dims visually.
52
-
53
39
  a11y:
54
40
  role: spinbutton (on each segment)
55
41
  keyboard:
@@ -58,13 +44,12 @@ a11y:
58
44
  ArrowLeft: Move to previous segment.
59
45
  ArrowRight: Move to next segment.
60
46
  Tab: Move between segments.
61
- "0-9": Digit entry with auto-advance.
47
+ 0-9: Digit entry with auto-advance.
62
48
  Backspace: Clear segment.
63
49
  aria:
64
50
  aria-label: Segment name (Month, Day, Year).
65
51
  aria-valuemin: Segment minimum.
66
52
  aria-valuemax: Segment maximum.
67
-
68
53
  tokens:
69
54
  - name: --aui-date-field-background
70
55
  default: var(--aui-control, var(--aui-fill))
@@ -93,23 +78,86 @@ tokens:
93
78
  - name: --aui-date-field-segment-color-focus
94
79
  default: var(--aui-accent-700)
95
80
  description: Focused segment text color.
96
-
97
81
  composition:
98
- parents: [aui-field, aui-stack, aui-container, div]
82
+ parents:
83
+ - aui-field
84
+ - aui-stack
85
+ - aui-container
86
+ - div
99
87
  children: []
100
- context: >
101
- Standalone date entry for inline forms. Use inside aui-field
102
- for labeled forms. For full calendar popup, use aui-calendar-picker.
103
-
88
+ context: |
89
+ Standalone date entry for inline forms. Use inside aui-field for labeled forms. For full calendar popup, use aui-calendar-picker.
104
90
  examples:
105
- - html: <aui-date-field value="2026-03-21"></aui-date-field>
106
- description: Default MM/DD/YYYY date field.
91
+ - description: Default date field (MM/DD/YYYY)
92
+ html: <aui-date-field value="2026-03-21"></aui-date-field>
93
+ - description: Another date
94
+ html: |-
95
+ <aui-date-field value="2026-12-25"></aui-date-field>
96
+
97
+ <!-- ===============================================================
98
+ FORMATS
99
+ =============================================================== -->
100
+ - description: DD/MM/YYYY format
101
+ html: <aui-date-field value="2026-03-21" format="DD/MM/YYYY"></aui-date-field>
102
+ - description: ISO format (YYYY-MM-DD)
103
+ html: |-
104
+ <aui-date-field value="2026-03-21" format="YYYY-MM-DD"></aui-date-field>
105
+
106
+ <!-- ===============================================================
107
+ EMPTY STATE
108
+ =============================================================== -->
109
+ - description: Empty date field (segments show --/----)
110
+ html: |-
111
+ <aui-date-field></aui-date-field>
112
+
113
+ <!-- ===============================================================
114
+ DISABLED
115
+ =============================================================== -->
116
+ - description: Disabled date field
117
+ html: |-
118
+ <aui-date-field value="2026-03-21" disabled></aui-date-field>
107
119
 
108
- - html: <aui-date-field value="2026-03-21" format="DD/MM/YYYY"></aui-date-field>
109
- description: European DD/MM/YYYY format.
120
+ <!-- ===============================================================
121
+ IN FORM FIELD
122
+ =============================================================== -->
123
+ - description: Date field inside aui-field with label
124
+ html: |-
125
+ <aui-field label="Date of Birth">
126
+ <aui-date-field></aui-date-field>
127
+ </aui-field>
128
+ - description: Date field with min/max constraints
129
+ html: |-
130
+ <aui-field label="Appointment Date">
131
+ <aui-date-field value="2026-03-21" min="2026-01-01" max="2026-12-31"></aui-date-field>
132
+ </aui-field>
110
133
 
111
- - html: <aui-date-field value="2026-03-21" format="YYYY-MM-DD"></aui-date-field>
112
- description: ISO format.
134
+ <!-- ===============================================================
135
+ ROW -- multiple date fields
136
+ =============================================================== -->
137
+ - description: Start and end date fields
138
+ html: |-
139
+ <aui-stack direction="row" gap="3">
140
+ <aui-field label="Check-in">
141
+ <aui-date-field value="2026-06-15"></aui-date-field>
142
+ </aui-field>
143
+ <aui-field label="Check-out">
144
+ <aui-date-field value="2026-06-20"></aui-date-field>
145
+ </aui-field>
146
+ </aui-stack>
113
147
 
114
- - html: <aui-date-field value="2026-03-21" disabled></aui-date-field>
115
- description: Disabled date field.
148
+ <!-- ===============================================================
149
+ ALL FORMATS SIDE BY SIDE
150
+ =============================================================== -->
151
+ - description: All three format variants
152
+ html: |-
153
+ <aui-stack gap="3">
154
+ <aui-field label="US Format (MM/DD/YYYY)">
155
+ <aui-date-field value="2026-03-21" format="MM/DD/YYYY"></aui-date-field>
156
+ </aui-field>
157
+ <aui-field label="EU Format (DD/MM/YYYY)">
158
+ <aui-date-field value="2026-03-21" format="DD/MM/YYYY"></aui-date-field>
159
+ </aui-field>
160
+ <aui-field label="ISO Format (YYYY-MM-DD)">
161
+ <aui-date-field value="2026-03-21" format="YYYY-MM-DD"></aui-date-field>
162
+ </aui-field>
163
+ </aui-stack>