@agent-ui-kit/web-components 0.0.15 → 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 (100) 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 +463 -150
  5. package/dist/api.tokens.json +3 -3
  6. package/dist/api.tokens.yaml +3 -3
  7. package/dist/chunks/{agent-BF_R_HJk.js → agent-XMhz_6OA.js} +27 -22
  8. package/dist/chunks/{agent-BF_R_HJk.js.map → agent-XMhz_6OA.js.map} +1 -1
  9. package/dist/chunks/{meter-Dju8ik6C.js → form-oekEhwja.js} +402 -188
  10. package/dist/chunks/form-oekEhwja.js.map +1 -0
  11. package/dist/components/agent.js +1 -1
  12. package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
  13. package/dist/components/checkbox-group/index.d.ts +1 -0
  14. package/dist/components/editor.js +1 -1
  15. package/dist/components/form/form.d.ts +12 -0
  16. package/dist/components/form/index.d.ts +1 -0
  17. package/dist/components/graph.js +1 -1
  18. package/dist/components/index.d.ts +2 -0
  19. package/dist/components/noodles/noodle-controller.d.ts +1 -1
  20. package/dist/components.js +89 -87
  21. package/dist/docs/blocks/agent-chat.yaml +33 -25
  22. package/dist/docs/blocks/announcement-card.yaml +14 -10
  23. package/dist/docs/blocks/bpm-process.yaml +216 -4
  24. package/dist/docs/blocks/chart-activity.yaml +12 -10
  25. package/dist/docs/blocks/chart-card.yaml +14 -11
  26. package/dist/docs/blocks/chart-donut.yaml +27 -23
  27. package/dist/docs/blocks/chart-grouped.yaml +14 -11
  28. package/dist/docs/blocks/chart-horizontal.yaml +13 -10
  29. package/dist/docs/blocks/chart-interactive.yaml +20 -17
  30. package/dist/docs/blocks/chart-labeled.yaml +14 -11
  31. package/dist/docs/blocks/checkout-form.yaml +26 -16
  32. package/dist/docs/blocks/clinical-trial.yaml +180 -4
  33. package/dist/docs/blocks/contributors.yaml +17 -11
  34. package/dist/docs/blocks/cyber-threat.yaml +158 -4
  35. package/dist/docs/blocks/dashboard-layout.yaml +25 -18
  36. package/dist/docs/blocks/data-eng-dag.yaml +222 -6
  37. package/dist/docs/blocks/date-picker.yaml +11 -10
  38. package/dist/docs/blocks/ddx-workflow.yaml +202 -6
  39. package/dist/docs/blocks/empty-state.yaml +8 -11
  40. package/dist/docs/blocks/env-variables.yaml +29 -20
  41. package/dist/docs/blocks/feature-upgrade.yaml +25 -18
  42. package/dist/docs/blocks/financial-risk.yaml +161 -4
  43. package/dist/docs/blocks/flow-editor.yaml +27 -18
  44. package/dist/docs/blocks/gen-ai-pipeline.yaml +232 -5
  45. package/dist/docs/blocks/issue-assign.yaml +25 -14
  46. package/dist/docs/blocks/keyboard-shortcuts.yaml +14 -9
  47. package/dist/docs/blocks/login-branded.yaml +62 -23
  48. package/dist/docs/blocks/login-email-only.yaml +14 -13
  49. package/dist/docs/blocks/login-form.yaml +17 -11
  50. package/dist/docs/blocks/login-simple.yaml +18 -12
  51. package/dist/docs/blocks/login-social.yaml +21 -14
  52. package/dist/docs/blocks/login-two-column.yaml +37 -17
  53. package/dist/docs/blocks/marketing-automation.yaml +209 -4
  54. package/dist/docs/blocks/member-list.yaml +23 -18
  55. package/dist/docs/blocks/ml-pipeline.yaml +163 -4
  56. package/dist/docs/blocks/nav-card.yaml +13 -11
  57. package/dist/docs/blocks/notification-list.yaml +18 -13
  58. package/dist/docs/blocks/oncology-pathway.yaml +227 -4
  59. package/dist/docs/blocks/pricing-card.yaml +20 -13
  60. package/dist/docs/blocks/processing-state.yaml +14 -11
  61. package/dist/docs/blocks/profile-card.yaml +18 -12
  62. package/dist/docs/blocks/saas-onboarding.yaml +222 -4
  63. package/dist/docs/blocks/settings-form.yaml +20 -11
  64. package/dist/docs/blocks/settings-panel.yaml +23 -22
  65. package/dist/docs/blocks/sidebar-nav.yaml +23 -15
  66. package/dist/docs/blocks/signup-form.yaml +17 -11
  67. package/dist/docs/blocks/stat-cards.yaml +12 -13
  68. package/dist/docs/blocks/status-card.yaml +20 -17
  69. package/dist/docs/blocks/suggested-labs.yaml +20 -13
  70. package/dist/docs/blocks/supply-chain.yaml +160 -4
  71. package/dist/docs/blocks/survey-card.yaml +21 -13
  72. package/dist/docs/blocks/tabbed-panel.yaml +21 -15
  73. package/dist/docs/blocks/team-empty.yaml +8 -9
  74. package/dist/docs/blocks/usage-billing.yaml +20 -16
  75. package/dist/docs/components/agent-activity.yaml +27 -7
  76. package/dist/docs/components/agent-prompt.yaml +1 -1
  77. package/dist/docs/components/agent-seeds.yaml +1 -1
  78. package/dist/docs/components/breadcrumb.yaml +35 -8
  79. package/dist/docs/components/button.yaml +13 -2
  80. package/dist/docs/components/calendar-picker.yaml +3 -2
  81. package/dist/docs/components/chip.yaml +1 -1
  82. package/dist/docs/components/color-picker.yaml +33 -7
  83. package/dist/docs/components/color-slider.yaml +7 -7
  84. package/dist/docs/components/container.yaml +2 -1
  85. package/dist/docs/components/heading.yaml +4 -0
  86. package/dist/docs/components/index.yaml +11 -1
  87. package/dist/docs/components/input.yaml +10 -9
  88. package/dist/docs/components/meter.yaml +37 -14
  89. package/dist/docs/components/nav-item.yaml +7 -7
  90. package/dist/docs/components/stat.yaml +164 -0
  91. package/dist/docs/components/stepper.yaml +23 -23
  92. package/dist/docs/components/time-field.yaml +35 -2
  93. package/dist/element.js +1 -1
  94. package/dist/reactivity.js +1 -1
  95. package/dist/register.js +299 -297
  96. package/dist/register.js.map +1 -1
  97. package/dist/store.js +1 -1
  98. package/dist/traits.js +2 -2
  99. package/package.json +1 -1
  100. package/dist/chunks/meter-Dju8ik6C.js.map +0 -1
@@ -17,8 +17,9 @@ presentational:
17
17
  - md
18
18
  - lg
19
19
  - xl
20
+ - fill
20
21
  description: |
21
- Controls dimensions, typography, icon size, and spacing simultaneously. Swaps 7 tokens at once.
22
+ Controls dimensions, typography, icon size, and spacing simultaneously. Swaps 7 tokens at once. The special "fill" value stretches the button to 100% width and height of its parent cell with no minimum constraints.
22
23
  radius:
23
24
  syntax: boolean
24
25
  exclusive: true
@@ -148,7 +149,17 @@ modifiers:
148
149
  hide-label:
149
150
  syntax: boolean
150
151
  description: |
151
- Hides the label text and collapses the button to icon-only. Square button sized to --aui-size. Removes inline padding. Use with a slotted icon, icon-leading, or the icon attribute.
152
+ Hides the label text and collapses the button to icon-only. Square button sized to --aui-size with width/height = var(--aui-size) and padding: 0. Use with a slotted icon, icon-leading, or the icon attribute. Auto-detected when no label attribute and no child text nodes are present.
153
+ icon-size:
154
+ syntax: key-value
155
+ values:
156
+ - half
157
+ - sm
158
+ - md
159
+ - lg
160
+ - full
161
+ description: |
162
+ Percentage-based icon sizing within fill-mode buttons (size="fill"). Maps to 50%, 62.5%, 75%, 87.5%, 100% respectively.
152
163
  text:
153
164
  syntax: key-value
154
165
  values:
@@ -29,8 +29,9 @@ attributes:
29
29
  format:
30
30
  syntax: key-value
31
31
  type: string
32
- default: YYYY-MM-DD
33
- description: Display format for the selected date (e.g. MM/DD/YYYY).
32
+ default: medium
33
+ description: |
34
+ Display format for the selected date. Named presets use Intl.DateTimeFormat: "long" (March 21, 2026), "medium" (Mar 21, 2026), "short" (03/21/2026). Token-based formats also supported: YYYY-MM-DD, MM/DD/YYYY, etc.
34
35
  modifiers:
35
36
  disabled:
36
37
  syntax: boolean
@@ -101,7 +101,7 @@ examples:
101
101
  - description: Chip with leading icon
102
102
  html: |-
103
103
  <aui-chip>
104
- <aui-icon name="tag" size="xs"></aui-icon>
104
+ <aui-icon name="star" size="xs"></aui-icon>
105
105
  Label
106
106
  </aui-chip>
107
107
 
@@ -92,13 +92,39 @@ composition:
92
92
  - any
93
93
  children: []
94
94
  examples:
95
- - description: Basic color picker with initial blue value (hex input)
95
+ - description: Basic color picker with hex input (blue)
96
96
  html: <aui-color-picker value="#3b82f6"></aui-color-picker>
97
97
  - description: Color picker with OKLCH input
98
- html: <aui-color-picker value="oklch(0.65 0.2 250)"></aui-color-picker>
99
- - description: Color picker with alpha transparency slider
100
- html: <aui-color-picker value="oklch(0.65 0.2 15 / 0.8)" alpha></aui-color-picker>
101
- - description: Color picker with hex format output
102
- html: <aui-color-picker value="#10b981" format="hex"></aui-color-picker>
98
+ html: |-
99
+ <aui-color-picker value="oklch(0.65 0.2 250)"></aui-color-picker>
100
+
101
+ <!-- ===============================================================
102
+ ALPHA
103
+ =============================================================== -->
104
+ - description: Color picker with alpha slider row visible
105
+ html: |-
106
+ <aui-color-picker value="oklch(0.65 0.2 15 / 0.8)" alpha></aui-color-picker>
107
+
108
+ <!-- ===============================================================
109
+ HEX OUTPUT FORMAT
110
+ =============================================================== -->
111
+ - description: Color picker serializing value as hex
112
+ html: |-
113
+ <aui-color-picker value="#10b981" format="hex"></aui-color-picker>
114
+
115
+ <!-- ===============================================================
116
+ DISABLED
117
+ =============================================================== -->
103
118
  - description: Disabled color picker
104
- html: <aui-color-picker value="#10b981" disabled></aui-color-picker>
119
+ html: |-
120
+ <aui-color-picker value="#10b981" disabled></aui-color-picker>
121
+
122
+ <!-- ===============================================================
123
+ MULTIPLE PICKERS
124
+ =============================================================== -->
125
+ - description: Two pickers side by side for comparison
126
+ html: |-
127
+ <div style="display: flex; gap: 2rem;">
128
+ <aui-color-picker value="oklch(0.7 0.25 145)"></aui-color-picker>
129
+ <aui-color-picker value="oklch(0.55 0.22 300)" alpha></aui-color-picker>
130
+ </div>
@@ -131,7 +131,7 @@ examples:
131
131
  =============================================================== -->
132
132
  - description: Full-width hue slider
133
133
  html: |-
134
- <aui-color-slider channel="hue" value="200" lightness="0.65" chroma="0.15" style="width: 100%;"></aui-color-slider>
134
+ <aui-color-slider channel="hue" value="200" lightness="0.65" chroma="0.15" width="full"></aui-color-slider>
135
135
 
136
136
  <!-- ===============================================================
137
137
  DISABLED
@@ -143,11 +143,11 @@ examples:
143
143
  <!-- ===============================================================
144
144
  GROUP -- all channels together
145
145
  =============================================================== -->
146
- - description: All four channel sliders together
146
+ - description: All four OKLCH channel sliders together
147
147
  html: |-
148
- <aui-stack gap="3">
149
- <aui-color-slider channel="hue" value="250" lightness="0.65" chroma="0.2" style="width: 100%;"></aui-color-slider>
150
- <aui-color-slider channel="chroma" value="0.2" hue="250" lightness="0.65" style="width: 100%;"></aui-color-slider>
151
- <aui-color-slider channel="lightness" value="0.65" hue="250" chroma="0.2" style="width: 100%;"></aui-color-slider>
152
- <aui-color-slider channel="alpha" value="1" hue="250" chroma="0.2" lightness="0.65" style="width: 100%;"></aui-color-slider>
148
+ <aui-stack gap="3" style="min-width: 20rem;">
149
+ <aui-color-slider channel="hue" value="250" lightness="0.65" chroma="0.2" width="full"></aui-color-slider>
150
+ <aui-color-slider channel="chroma" value="0.2" hue="250" lightness="0.65" width="full"></aui-color-slider>
151
+ <aui-color-slider channel="lightness" value="0.65" hue="250" chroma="0.2" width="full"></aui-color-slider>
152
+ <aui-color-slider channel="alpha" value="1" hue="250" chroma="0.2" lightness="0.65" width="full"></aui-color-slider>
153
153
  </aui-stack>
@@ -56,9 +56,10 @@ attributes:
56
56
  - widget
57
57
  - card
58
58
  - panel
59
+ - popover
59
60
  default: card
60
61
  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).
62
+ Sets the padding and gap scale for all children. widget: 0.75rem (compact). card: 1rem (default). panel: 1.25rem (spacious). popover: 0.75rem with modal background, shadow, border, and auto-computed border-radius (radius + padding) so inner content corners don't clip.
62
63
  href:
63
64
  syntax: key-value
64
65
  type: string
@@ -34,6 +34,10 @@ examples:
34
34
  - description: Full size scale
35
35
  html: |-
36
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>
37
41
  <aui-heading size="2xl">Heading 2XL — Page title</aui-heading>
38
42
  <aui-heading size="xl">Heading XL — Section title</aui-heading>
39
43
  <aui-heading size="lg">Heading LG — Card title</aui-heading>
@@ -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.
@@ -268,16 +268,9 @@ examples:
268
268
  - description: Read-only input with dashed border
269
269
  html: <aui-input value="Read only" readonly></aui-input>
270
270
  - description: Input with leading icon
271
- html: |-
272
- <aui-input placeholder="Search">
273
- <span slot="leading">🔍</span>
274
- </aui-input>
271
+ html: <aui-input placeholder="Search" icon-leading="magnifying-glass"></aui-input>
275
272
  - description: Input with leading and trailing icons
276
- html: |-
277
- <aui-input type="email" placeholder="Email">
278
- <span slot="leading">✉</span>
279
- <span slot="trailing">✓</span>
280
- </aui-input>
273
+ html: <aui-input type="email" placeholder="Email" icon-leading="envelope" icon-trailing="check"></aui-input>
281
274
  - description: Input inside a labeled field
282
275
  html: |-
283
276
  <aui-field label="Email" required>
@@ -299,3 +292,11 @@ examples:
299
292
  <aui-field label="Filter">
300
293
  <aui-input type="search" placeholder="Filter items..." width="full"></aui-input>
301
294
  </aui-field>
295
+ - description: Input with text prefix (currency)
296
+ html: <aui-input placeholder="0.00" prefix="$"></aui-input>
297
+ - description: Input with text suffix (unit)
298
+ html: <aui-input placeholder="Weight" suffix="kg"></aui-input>
299
+ - description: Input with both prefix and suffix (URL)
300
+ html: <aui-input placeholder="example" prefix="https://" suffix=".com"></aui-input>
301
+ - description: Number input with stepper
302
+ html: <aui-input type="number" value="5" min="0" max="100" step="1"></aui-input>
@@ -56,23 +56,46 @@ tokens:
56
56
  shape:
57
57
  - --aui-meter-radius
58
58
  examples:
59
- - description: Default accent meter at 45%
60
- html: <aui-meter value="45"></aui-meter>
61
- - description: Warning meter at 75%
62
- html: <aui-meter value="75" warning></aui-meter>
63
- - description: Danger meter at 95%
64
- html: <aui-meter value="95" danger></aui-meter>
65
- - description: Three sizes with different values
59
+ - description: Labeled meters with values
60
+ html: |-
61
+ <aui-stack gap="4">
62
+ <aui-stack gap="2">
63
+ <aui-stack direction="row" gap="2" align-items="center">
64
+ <aui-text size="sm" spacer>CPU Usage</aui-text>
65
+ <aui-text size="sm" strong>45%</aui-text>
66
+ </aui-stack>
67
+ <aui-meter value="45" size="lg"></aui-meter>
68
+ </aui-stack>
69
+
70
+ <aui-stack gap="2">
71
+ <aui-stack direction="row" gap="2" align-items="center">
72
+ <aui-text size="sm" spacer>Memory</aui-text>
73
+ <aui-text size="sm" strong>75%</aui-text>
74
+ </aui-stack>
75
+ <aui-meter value="75" size="lg" warning></aui-meter>
76
+ </aui-stack>
77
+
78
+ <aui-stack gap="2">
79
+ <aui-stack direction="row" gap="2" align-items="center">
80
+ <aui-text size="sm" spacer>Disk</aui-text>
81
+ <aui-text size="sm" strong>95%</aui-text>
82
+ </aui-stack>
83
+ <aui-meter value="95" size="lg" danger></aui-meter>
84
+ </aui-stack>
85
+ </aui-stack>
86
+ - description: Size comparison
66
87
  html: |-
67
88
  <aui-stack gap="3">
68
- <aui-meter value="30" size="sm"></aui-meter>
89
+ <aui-meter value="60" size="sm" success></aui-meter>
69
90
  <aui-meter value="60"></aui-meter>
70
- <aui-meter value="85" size="lg" warning></aui-meter>
91
+ <aui-meter value="60" size="lg"></aui-meter>
71
92
  </aui-stack>
72
- - description: Meter with context labels in a row
93
+ - description: Custom range (min/max)
73
94
  html: |-
74
- <aui-stack direction="row" gap="2" align-items="center">
75
- <aui-text size="xs" muted>Disk usage</aui-text>
76
- <aui-meter value="82" warning style="flex: 1"></aui-meter>
77
- <aui-text size="xs" muted>82%</aui-text>
95
+ <aui-stack gap="2">
96
+ <aui-stack direction="row" gap="2" align-items="center">
97
+ <aui-text size="sm" spacer>Temperature</aui-text>
98
+ <aui-text size="sm" strong>72°F</aui-text>
99
+ </aui-stack>
100
+ <aui-meter value="72" min="32" max="120" size="lg"></aui-meter>
78
101
  </aui-stack>
@@ -62,20 +62,20 @@ examples:
62
62
  - description: Nav item with leading icon
63
63
  html: |-
64
64
  <aui-nav-item>
65
- <aui-icon name="home"></aui-icon>
65
+ <aui-icon name="house"></aui-icon>
66
66
  Dashboard
67
67
  </aui-nav-item>
68
68
  - description: Active nav item with icon
69
69
  html: |-
70
70
  <aui-nav-item active>
71
- <aui-icon name="settings"></aui-icon>
71
+ <aui-icon name="gear"></aui-icon>
72
72
  Settings
73
73
  </aui-nav-item>
74
74
  - description: Navigation list with mixed states
75
75
  html: |-
76
76
  <aui-stack gap="1">
77
77
  <aui-nav-item active>
78
- <aui-icon name="home"></aui-icon>
78
+ <aui-icon name="house"></aui-icon>
79
79
  Dashboard
80
80
  </aui-nav-item>
81
81
  <aui-nav-item>
@@ -83,22 +83,22 @@ examples:
83
83
  Documents
84
84
  </aui-nav-item>
85
85
  <aui-nav-item>
86
- <aui-icon name="users"></aui-icon>
86
+ <aui-icon name="users-three"></aui-icon>
87
87
  Team
88
88
  </aui-nav-item>
89
89
  <aui-nav-item>
90
- <aui-icon name="settings"></aui-icon>
90
+ <aui-icon name="gear"></aui-icon>
91
91
  Settings
92
92
  </aui-nav-item>
93
93
  <aui-nav-item disabled>
94
- <aui-icon name="lock"></aui-icon>
94
+ <aui-icon name="warning"></aui-icon>
95
95
  Admin
96
96
  </aui-nav-item>
97
97
  </aui-stack>
98
98
  - description: Nav item with trailing badge
99
99
  html: |-
100
100
  <aui-nav-item>
101
- <aui-icon name="inbox"></aui-icon>
101
+ <aui-icon name="envelope"></aui-icon>
102
102
  Inbox
103
103
  <aui-badge>12</aui-badge>
104
104
  </aui-nav-item>
@@ -0,0 +1,164 @@
1
+ name: aui-stat
2
+ tag: aui-stat
3
+ type: component
4
+ summary: Stat display with label, value, trend indicator, and optional animation.
5
+ description: |
6
+ Displays a metric with label, formatted value, and optional trend arrow. Stamps three internal spans: [data-stat-label], [data-stat-value], [data-stat-change]. Supports count-up and character-scramble animations with configurable duration. Value formatting preserves prefixes, suffixes, commas, and decimals. Intent attributes (accent, success, warning, danger) color the value.
7
+ base: AgentElement
8
+ presentational:
9
+ intent:
10
+ syntax: boolean
11
+ exclusive: true
12
+ cascades: false
13
+ default: neutral
14
+ values:
15
+ - accent
16
+ - success
17
+ - warning
18
+ - danger
19
+ description: |
20
+ Colors the stat value text. Default is ink-strong (neutral).
21
+ attributes:
22
+ label:
23
+ syntax: key-value
24
+ type: string
25
+ default: ""
26
+ description: Stat label text shown above the value.
27
+ value:
28
+ syntax: key-value
29
+ type: string
30
+ default: ""
31
+ description: |
32
+ Formatted stat value (e.g. "$1,234.56", "89%", "12.4K"). Preserves prefix, suffix, commas, and decimals during animation.
33
+ trend:
34
+ syntax: key-value
35
+ type: enum
36
+ values:
37
+ - up
38
+ - down
39
+ - neutral
40
+ default: ""
41
+ description: |
42
+ Trend direction. "up" shows a green up-arrow, "down" shows a red down-arrow, "neutral" shows muted text with no arrow.
43
+ change:
44
+ syntax: key-value
45
+ type: string
46
+ default: ""
47
+ description: |
48
+ Change description text (e.g. "+12.5%", "-3 units"). Displayed next to the trend arrow.
49
+ animate-count:
50
+ syntax: boolean
51
+ type: boolean
52
+ default: false
53
+ description: |
54
+ Enables count-up animation from animate-count-start to the target value. Uses ease-out cubic easing.
55
+ animate-count-start:
56
+ syntax: key-value
57
+ type: string
58
+ default: "0"
59
+ description: |
60
+ Starting value for count-up animation. Can include prefix/suffix matching the value format.
61
+ animate-scramble:
62
+ syntax: boolean
63
+ type: boolean
64
+ default: false
65
+ description: |
66
+ Enables character-scramble animation. Digit characters randomize and resolve left-to-right. Non-digit characters pass through unchanged.
67
+ duration-ms:
68
+ syntax: key-value
69
+ type: string
70
+ default: "2000"
71
+ description: |
72
+ Animation duration in milliseconds for both animate-count and animate-scramble.
73
+ content:
74
+ model: block
75
+ accepts:
76
+ - aui-sparkline
77
+ required: false
78
+ description: |
79
+ Optional aui-sparkline child for inline chart below the stat value.
80
+ composition:
81
+ parents:
82
+ - aui-container
83
+ - aui-inset
84
+ - aui-stack
85
+ - aui-grid
86
+ - div
87
+ children:
88
+ - aui-sparkline
89
+ context: |
90
+ Typically placed inside aui-container kind="widget" for KPI cards. Multiple stats in a grid for dashboard layouts.
91
+ tokens:
92
+ - name: font-size (label)
93
+ default: var(--aui-font-xs)
94
+ description: Label font size.
95
+ - name: font-size (value)
96
+ default: var(--aui-font-2xl)
97
+ description: Value font size.
98
+ - name: font-size (change)
99
+ default: var(--aui-font-xs)
100
+ description: Change text font size.
101
+ examples:
102
+ - description: Basic stat with label and value
103
+ html: |-
104
+ <aui-stat label="Total Users" value="12,450"></aui-stat>
105
+
106
+ <!-- ===============================================================
107
+ TREND -- up/down/neutral
108
+ =============================================================== -->
109
+ - description: Upward trend stat
110
+ html: <aui-stat label="Revenue" value="$48,200" trend="up" change="+12.5%"></aui-stat>
111
+ - description: Downward trend stat
112
+ html: <aui-stat label="Churn Rate" value="3.2%" trend="down" change="-0.8%"></aui-stat>
113
+ - description: Neutral trend stat
114
+ html: |-
115
+ <aui-stat label="Active Sessions" value="1,234" trend="neutral" change="0%"></aui-stat>
116
+
117
+ <!-- ===============================================================
118
+ INTENT VARIANTS
119
+ =============================================================== -->
120
+ - description: Success intent stat
121
+ html: <aui-stat label="Uptime" value="99.9%" success trend="up" change="+0.1%"></aui-stat>
122
+ - description: Danger intent stat
123
+ html: |-
124
+ <aui-stat label="Error Rate" value="4.7%" danger trend="up" change="+2.1%"></aui-stat>
125
+
126
+ <!-- ===============================================================
127
+ WITH SPARKLINE
128
+ =============================================================== -->
129
+ - description: Stat with inline sparkline
130
+ html: |-
131
+ <aui-stat label="Weekly Revenue" value="$12,450" trend="up" change="+12%">
132
+ <aui-sparkline values="3,5,4,7,6,8,9,11" color="1"></aui-sparkline>
133
+ </aui-stat>
134
+
135
+ <!-- ===============================================================
136
+ GROUP -- row of stats
137
+ =============================================================== -->
138
+ - description: Row of KPI stats in a grid
139
+ html: |-
140
+ <aui-grid cols="4" gap="4">
141
+ <aui-stat label="Revenue" value="$48,200" trend="up" change="+12.5%"></aui-stat>
142
+ <aui-stat label="Users" value="12,450" trend="up" change="+8.2%"></aui-stat>
143
+ <aui-stat label="Orders" value="1,234" trend="down" change="-3.1%"></aui-stat>
144
+ <aui-stat label="Conversion" value="3.2%" trend="neutral" change="0%"></aui-stat>
145
+ </aui-grid>
146
+
147
+ <!-- ===============================================================
148
+ ANIMATE COUNT -- smooth count-up animation
149
+ =============================================================== -->
150
+ - description: Count-up from 0 to $48,200 over 2s
151
+ html: <aui-stat label="Revenue" value="$48,200" animate-count></aui-stat>
152
+ - description: Count-up from 5,000 to 12,450 over 3s
153
+ html: <aui-stat label="Users" value="12,450" animate-count animate-count-start="5000" duration-ms="3000" trend="up" change="+8.2%"></aui-stat>
154
+ - description: Count-up percentage
155
+ html: |-
156
+ <aui-stat label="Conversion" value="87.3%" animate-count duration-ms="1500"></aui-stat>
157
+
158
+ <!-- ===============================================================
159
+ ANIMATE SCRAMBLE -- character scramble reveal
160
+ =============================================================== -->
161
+ - description: Scramble reveal of a revenue figure
162
+ html: <aui-stat label="Total Sales" value="$2,847,200" animate-scramble duration-ms="2500"></aui-stat>
163
+ - description: Scramble reveal of a percentage
164
+ html: <aui-stat label="Accuracy" value="99.7%" animate-scramble></aui-stat>
@@ -29,23 +29,23 @@ examples:
29
29
  html: |-
30
30
  <aui-stepper>
31
31
  <aui-step state="done">
32
- <aui-badge success>1</aui-badge>
32
+ <aui-avatar size="xs" success solid><aui-icon name="check"></aui-icon></aui-avatar>
33
33
  <aui-stack gap="1">
34
- <aui-text weight="medium">Account created</aui-text>
34
+ <aui-heading size="sm">Account created</aui-heading>
35
35
  <aui-text muted size="xs">Email verified</aui-text>
36
36
  </aui-stack>
37
37
  </aui-step>
38
38
  <aui-step state="running">
39
- <aui-badge accent>2</aui-badge>
39
+ <aui-avatar size="xs" accent solid><aui-icon name="circle-notch"></aui-icon></aui-avatar>
40
40
  <aui-stack gap="1">
41
- <aui-text weight="medium">Profile setup</aui-text>
41
+ <aui-heading size="sm">Profile setup</aui-heading>
42
42
  <aui-text muted size="xs">Add your details</aui-text>
43
43
  </aui-stack>
44
44
  </aui-step>
45
45
  <aui-step>
46
- <aui-badge>3</aui-badge>
46
+ <aui-avatar size="xs" style="background: var(--aui-neutral-highest);">3</aui-avatar>
47
47
  <aui-stack gap="1">
48
- <aui-text weight="medium">Complete</aui-text>
48
+ <aui-heading size="sm">Complete</aui-heading>
49
49
  <aui-text muted size="xs">Ready to go</aui-text>
50
50
  </aui-stack>
51
51
  </aui-step>
@@ -53,32 +53,32 @@ examples:
53
53
  - description: All steps completed
54
54
  html: |-
55
55
  <aui-stepper>
56
- <aui-step completed>
57
- <aui-badge success>1</aui-badge>
58
- <aui-text weight="medium">Order placed</aui-text>
56
+ <aui-step state="done">
57
+ <aui-avatar size="xs" success solid><aui-icon name="check"></aui-icon></aui-avatar>
58
+ <aui-heading size="sm">Order placed</aui-heading>
59
59
  </aui-step>
60
- <aui-step completed>
61
- <aui-badge success>2</aui-badge>
62
- <aui-text weight="medium">Payment confirmed</aui-text>
60
+ <aui-step state="done">
61
+ <aui-avatar size="xs" success solid><aui-icon name="check"></aui-icon></aui-avatar>
62
+ <aui-heading size="sm">Payment confirmed</aui-heading>
63
63
  </aui-step>
64
- <aui-step completed>
65
- <aui-badge success>3</aui-badge>
66
- <aui-text weight="medium">Shipped</aui-text>
64
+ <aui-step state="done">
65
+ <aui-avatar size="xs" success solid><aui-icon name="check"></aui-icon></aui-avatar>
66
+ <aui-heading size="sm">Shipped</aui-heading>
67
67
  </aui-step>
68
68
  </aui-stepper>
69
69
  - description: Stepper with error state
70
70
  html: |-
71
71
  <aui-stepper>
72
- <aui-step completed>
73
- <aui-badge success>1</aui-badge>
74
- <aui-text>Build</aui-text>
72
+ <aui-step state="done">
73
+ <aui-avatar size="xs" success solid><aui-icon name="check"></aui-icon></aui-avatar>
74
+ <aui-heading size="sm">Build</aui-heading>
75
75
  </aui-step>
76
- <aui-step error>
77
- <aui-badge danger>2</aui-badge>
78
- <aui-text>Deploy</aui-text>
76
+ <aui-step state="running">
77
+ <aui-avatar size="xs" danger solid><aui-icon name="warning"></aui-icon></aui-avatar>
78
+ <aui-heading size="sm">Deploy</aui-heading>
79
79
  </aui-step>
80
80
  <aui-step>
81
- <aui-badge>3</aui-badge>
82
- <aui-text>Verify</aui-text>
81
+ <aui-avatar size="xs" style="background: var(--aui-neutral-highest);">3</aui-avatar>
82
+ <aui-heading size="sm">Verify</aui-heading>
83
83
  </aui-step>
84
84
  </aui-stepper>
@@ -1,9 +1,9 @@
1
1
  name: aui-time-field
2
2
  tag: aui-time-field
3
3
  type: component
4
- summary: Segmented time input with independently editable hour and minute segments.
4
+ summary: Segmented time input with independently editable hour, minute, and optional seconds segments.
5
5
  description: |
6
- A time entry control where hour and minute (and optional AM/PM) are separate focusable segments. Each segment supports arrow-key increment/decrement, direct digit entry with auto-advance, and Tab/Arrow navigation between segments. Supports 12h and 24h formats with configurable minute step. No native form elements.
6
+ A time entry control where hour, minute, and optional seconds (via show-seconds) are separate focusable segments. Each segment supports arrow-key increment/decrement, direct digit entry with auto-advance, and Tab/Arrow navigation between segments. Supports 12h and 24h formats with configurable minute step. No native form elements.
7
7
  base: AgentElement
8
8
  attributes:
9
9
  value:
@@ -31,6 +31,12 @@ attributes:
31
31
  type: string
32
32
  default: 24h
33
33
  description: Display format (12h or 24h).
34
+ show-seconds:
35
+ syntax: boolean
36
+ type: boolean
37
+ default: false
38
+ description: |
39
+ Adds a seconds segment (HH:MM:SS). When enabled, value includes seconds and the committed format is HH:MM:SS.
34
40
  placeholder:
35
41
  syntax: key-value
36
42
  type: string
@@ -159,3 +165,30 @@ examples:
159
165
  <aui-time-field value="17:00"></aui-time-field>
160
166
  </aui-field>
161
167
  </aui-stack>
168
+
169
+ <!-- ===============================================================
170
+ WITH SECONDS
171
+ =============================================================== -->
172
+ - description: 24h time with seconds
173
+ html: <aui-time-field value="14:30:45" show-seconds></aui-time-field>
174
+ - description: 12h time with seconds
175
+ html: <aui-time-field value="09:15:30" format="12h" show-seconds></aui-time-field>
176
+ - description: Live clock — updates every second
177
+ html: |-
178
+ <aui-field label="Current time (live)">
179
+ <aui-time-field id="live-clock" show-seconds></aui-time-field>
180
+ </aui-field>
181
+ <script>
182
+ requestAnimationFrame(function tick() {
183
+ const el = document.getElementById('live-clock')
184
+ if (el) {
185
+ const now = new Date()
186
+ el.setAttribute('value',
187
+ String(now.getHours()).padStart(2,'0') + ':' +
188
+ String(now.getMinutes()).padStart(2,'0') + ':' +
189
+ String(now.getSeconds()).padStart(2,'0')
190
+ )
191
+ }
192
+ requestAnimationFrame(tick)
193
+ })
194
+ </script>
package/dist/element.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as n, B as o, C as s, D as a, c as r, p as C } from "./chunks/agent-BF_R_HJk.js";
1
+ import { A as n, B as o, C as s, D as a, c as r, p as C } from "./chunks/agent-XMhz_6OA.js";
2
2
  export {
3
3
  n as AgentElement,
4
4
  o as ContextConsumer,
@@ -1,4 +1,4 @@
1
- import { n as t, m as c, z as e, l as f, u as m } from "./chunks/agent-BF_R_HJk.js";
1
+ import { n as t, m as c, z as e, l as f, u as m } from "./chunks/agent-XMhz_6OA.js";
2
2
  export {
3
3
  t as batch,
4
4
  c as computed,