@agent-ui-kit/web-components 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +429 -0
- package/dist/agent-ui.css +1 -1
- package/dist/api.json +9519 -0
- package/dist/docs/blocks/agent-chat.yaml +111 -0
- package/dist/docs/blocks/announcement-card.yaml +30 -0
- package/dist/docs/blocks/bpm-process.yaml +7 -0
- package/dist/docs/blocks/chart-activity.yaml +73 -0
- package/dist/docs/blocks/chart-card.yaml +55 -0
- package/dist/docs/blocks/chart-donut.yaml +83 -0
- package/dist/docs/blocks/chart-grouped.yaml +75 -0
- package/dist/docs/blocks/chart-horizontal.yaml +59 -0
- package/dist/docs/blocks/chart-interactive.yaml +58 -0
- package/dist/docs/blocks/chart-labeled.yaml +66 -0
- package/dist/docs/blocks/checkout-form.yaml +57 -0
- package/dist/docs/blocks/clinical-trial.yaml +7 -0
- package/dist/docs/blocks/contributors.yaml +51 -0
- package/dist/docs/blocks/cyber-threat.yaml +7 -0
- package/dist/docs/blocks/dashboard-layout.yaml +121 -0
- package/dist/docs/blocks/data-eng-dag.yaml +9 -0
- package/dist/docs/blocks/date-picker.yaml +30 -0
- package/dist/docs/blocks/ddx-workflow.yaml +9 -0
- package/dist/docs/blocks/empty-state.yaml +26 -0
- package/dist/docs/blocks/env-variables.yaml +46 -0
- package/dist/docs/blocks/feature-upgrade.yaml +52 -0
- package/dist/docs/blocks/financial-risk.yaml +7 -0
- package/dist/docs/blocks/flow-editor.yaml +113 -0
- package/dist/docs/blocks/gen-ai-pipeline.yaml +8 -0
- package/dist/docs/blocks/index.yaml +245 -0
- package/dist/docs/blocks/issue-assign.yaml +34 -0
- package/dist/docs/blocks/keyboard-shortcuts.yaml +49 -0
- package/dist/docs/blocks/login-branded.yaml +81 -0
- package/dist/docs/blocks/login-email-only.yaml +39 -0
- package/dist/docs/blocks/login-form.yaml +42 -0
- package/dist/docs/blocks/login-simple.yaml +54 -0
- package/dist/docs/blocks/login-social.yaml +73 -0
- package/dist/docs/blocks/login-two-column.yaml +78 -0
- package/dist/docs/blocks/marketing-automation.yaml +7 -0
- package/dist/docs/blocks/member-list.yaml +58 -0
- package/dist/docs/blocks/ml-pipeline.yaml +7 -0
- package/dist/docs/blocks/nav-card.yaml +27 -0
- package/dist/docs/blocks/notification-list.yaml +58 -0
- package/dist/docs/blocks/oncology-pathway.yaml +7 -0
- package/dist/docs/blocks/pricing-card.yaml +53 -0
- package/dist/docs/blocks/processing-state.yaml +25 -0
- package/dist/docs/blocks/profile-card.yaml +48 -0
- package/dist/docs/blocks/saas-onboarding.yaml +7 -0
- package/dist/docs/blocks/settings-form.yaml +42 -0
- package/dist/docs/blocks/settings-panel.yaml +54 -0
- package/dist/docs/blocks/sidebar-nav.yaml +55 -0
- package/dist/docs/blocks/signup-form.yaml +47 -0
- package/dist/docs/blocks/stat-cards.yaml +49 -0
- package/dist/docs/blocks/status-card.yaml +40 -0
- package/dist/docs/blocks/suggested-labs.yaml +79 -0
- package/dist/docs/blocks/supply-chain.yaml +7 -0
- package/dist/docs/blocks/survey-card.yaml +52 -0
- package/dist/docs/blocks/tabbed-panel.yaml +53 -0
- package/dist/docs/blocks/team-empty.yaml +27 -0
- package/dist/docs/blocks/usage-billing.yaml +99 -0
- package/dist/docs/components/accordion-item.yaml +52 -0
- package/dist/docs/components/accordion.yaml +69 -0
- package/dist/docs/components/agent-activity.yaml +79 -0
- package/dist/docs/components/agent-feed.yaml +83 -0
- package/dist/docs/components/agent-message.yaml +120 -0
- package/dist/docs/components/agent-panel.yaml +91 -0
- package/dist/docs/components/agent-prompt.yaml +78 -0
- package/dist/docs/components/agent-seeds.yaml +44 -0
- package/dist/docs/components/agent-text.yaml +57 -0
- package/dist/docs/components/agent-thread.yaml +82 -0
- package/dist/docs/components/app-shell.yaml +64 -0
- package/dist/docs/components/breadcrumb-item.yaml +49 -0
- package/dist/docs/components/breadcrumb.yaml +59 -0
- package/dist/docs/components/button.yaml +439 -0
- package/dist/docs/components/calendar.yaml +74 -0
- package/dist/docs/components/canvas.yaml +161 -0
- package/dist/docs/components/checkbox.yaml +141 -0
- package/dist/docs/components/command-empty.yaml +13 -0
- package/dist/docs/components/command-group.yaml +23 -0
- package/dist/docs/components/command-input.yaml +19 -0
- package/dist/docs/components/command-item.yaml +37 -0
- package/dist/docs/components/command-list.yaml +17 -0
- package/dist/docs/components/command.yaml +64 -0
- package/dist/docs/components/container.yaml +298 -0
- package/dist/docs/components/dialog.yaml +133 -0
- package/dist/docs/components/drawer.yaml +124 -0
- package/dist/docs/components/editor-layer.yaml +59 -0
- package/dist/docs/components/editor.yaml +168 -0
- package/dist/docs/components/feed.yaml +72 -0
- package/dist/docs/components/field.yaml +145 -0
- package/dist/docs/components/graph-layer.yaml +41 -0
- package/dist/docs/components/graph-node.yaml +58 -0
- package/dist/docs/components/graph-noodle.yaml +103 -0
- package/dist/docs/components/graph-port.yaml +71 -0
- package/dist/docs/components/graph-ui.yaml +64 -0
- package/dist/docs/components/gripper.yaml +55 -0
- package/dist/docs/components/icon.yaml +133 -0
- package/dist/docs/components/index.yaml +320 -0
- package/dist/docs/components/input-otp.yaml +59 -0
- package/dist/docs/components/input.yaml +289 -0
- package/dist/docs/components/noodles.yaml +184 -0
- package/dist/docs/components/optgroup.yaml +38 -0
- package/dist/docs/components/option.yaml +56 -0
- package/dist/docs/components/page-context.yaml +55 -0
- package/dist/docs/components/page-main.yaml +39 -0
- package/dist/docs/components/page.yaml +36 -0
- package/dist/docs/components/pagination.yaml +46 -0
- package/dist/docs/components/pane.yaml +102 -0
- package/dist/docs/components/panes.yaml +82 -0
- package/dist/docs/components/preview-app.yaml +170 -0
- package/dist/docs/components/radio-group.yaml +108 -0
- package/dist/docs/components/radio.yaml +132 -0
- package/dist/docs/components/range.yaml +97 -0
- package/dist/docs/components/root.yaml +18 -0
- package/dist/docs/components/segment.yaml +41 -0
- package/dist/docs/components/segmented-control.yaml +52 -0
- package/dist/docs/components/select.yaml +241 -0
- package/dist/docs/components/sidebar-content.yaml +32 -0
- package/dist/docs/components/sidebar-footer.yaml +28 -0
- package/dist/docs/components/sidebar-header.yaml +28 -0
- package/dist/docs/components/sidebar.yaml +133 -0
- package/dist/docs/components/switch.yaml +131 -0
- package/dist/docs/components/tab-panel.yaml +41 -0
- package/dist/docs/components/tab.yaml +51 -0
- package/dist/docs/components/table-body.yaml +11 -0
- package/dist/docs/components/table-cell.yaml +11 -0
- package/dist/docs/components/table-column.yaml +76 -0
- package/dist/docs/components/table-head.yaml +11 -0
- package/dist/docs/components/table-header.yaml +11 -0
- package/dist/docs/components/table-row.yaml +11 -0
- package/dist/docs/components/table.yaml +219 -0
- package/dist/docs/components/tabs.yaml +61 -0
- package/dist/docs/components/textarea.yaml +196 -0
- package/dist/docs/components/toast.yaml +62 -0
- package/dist/docs/components/tooltip.yaml +98 -0
- package/dist/docs/components/tree-item.yaml +46 -0
- package/dist/docs/components/tree.yaml +27 -0
- package/dist/docs/traits/auto-dismiss.yaml +23 -0
- package/dist/docs/traits/backtick-wrap.yaml +22 -0
- package/dist/docs/traits/clipboard.yaml +31 -0
- package/dist/docs/traits/collapsible.yaml +23 -0
- package/dist/docs/traits/confetti.yaml +37 -0
- package/dist/docs/traits/copy.yaml +27 -0
- package/dist/docs/traits/css-inspect.yaml +46 -0
- package/dist/docs/traits/dismiss.yaml +23 -0
- package/dist/docs/traits/drag.yaml +88 -0
- package/dist/docs/traits/drop-zone.yaml +37 -0
- package/dist/docs/traits/edit.yaml +39 -0
- package/dist/docs/traits/flip.yaml +40 -0
- package/dist/docs/traits/gateway.yaml +33 -0
- package/dist/docs/traits/hover.yaml +39 -0
- package/dist/docs/traits/intersect.yaml +42 -0
- package/dist/docs/traits/link-paste.yaml +28 -0
- package/dist/docs/traits/linked-scroll.yaml +37 -0
- package/dist/docs/traits/list-navigate.yaml +46 -0
- package/dist/docs/traits/magnet.yaml +33 -0
- package/dist/docs/traits/mention.yaml +40 -0
- package/dist/docs/traits/modal.yaml +28 -0
- package/dist/docs/traits/noodle.yaml +45 -0
- package/dist/docs/traits/overlay.yaml +58 -0
- package/dist/docs/traits/pan-zoom.yaml +47 -0
- package/dist/docs/traits/parallax.yaml +36 -0
- package/dist/docs/traits/persist.yaml +42 -0
- package/dist/docs/traits/popover.yaml +28 -0
- package/dist/docs/traits/present.yaml +42 -0
- package/dist/docs/traits/press-hold.yaml +34 -0
- package/dist/docs/traits/range-select.yaml +42 -0
- package/dist/docs/traits/resize.yaml +39 -0
- package/dist/docs/traits/ripple.yaml +20 -0
- package/dist/docs/traits/roving-focus.yaml +30 -0
- package/dist/docs/traits/search.yaml +44 -0
- package/dist/docs/traits/selection.yaml +41 -0
- package/dist/docs/traits/shortcut.yaml +25 -0
- package/dist/docs/traits/slash-command.yaml +40 -0
- package/dist/docs/traits/snap-resize.yaml +39 -0
- package/dist/docs/traits/sort.yaml +47 -0
- package/dist/docs/traits/store.yaml +32 -0
- package/dist/docs/traits/swipe.yaml +38 -0
- package/dist/docs/traits/text-trigger.yaml +35 -0
- package/dist/docs/traits/toast.yaml +41 -0
- package/dist/docs/traits/toggle-scheme.yaml +40 -0
- package/dist/docs/traits/toggle-state.yaml +23 -0
- package/dist/docs/traits/tooltip.yaml +39 -0
- package/dist/docs/traits/toss.yaml +40 -0
- package/dist/docs/traits/trap-focus.yaml +20 -0
- package/dist/docs/traits/validate.yaml +52 -0
- package/dist/docs/traits/virtual-scroll.yaml +44 -0
- package/package.json +4 -2
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
name: aui-preview-app
|
|
2
|
+
tag: aui-preview-app
|
|
3
|
+
type: component
|
|
4
|
+
summary: Full-screen preview shell with navigation, command palette, and pannable canvas.
|
|
5
|
+
description: >
|
|
6
|
+
Top-level application shell for browsing block, component, and trait
|
|
7
|
+
previews. Fetches a preview.json manifest, renders a nav bar with
|
|
8
|
+
section select and color-scheme toggle, and loads each preview item
|
|
9
|
+
into an aui-editor pannable canvas. Includes a Cmd+K command palette
|
|
10
|
+
for fuzzy-finding items and Alt+Arrow keyboard navigation for
|
|
11
|
+
stepping through the item list. Each loaded preview's children are
|
|
12
|
+
absolutely positioned, given drag and resize traits, and centered
|
|
13
|
+
on the canvas automatically.
|
|
14
|
+
|
|
15
|
+
base: AgentElement
|
|
16
|
+
|
|
17
|
+
attributes:
|
|
18
|
+
src:
|
|
19
|
+
syntax: key-value
|
|
20
|
+
type: string
|
|
21
|
+
default: "./preview.json"
|
|
22
|
+
description: >
|
|
23
|
+
URL to the preview.json manifest file. Resolved relative to the
|
|
24
|
+
page. The directory containing this file becomes the base path
|
|
25
|
+
for resolving item HTML, CSS, and TS files.
|
|
26
|
+
|
|
27
|
+
preview-json:
|
|
28
|
+
description: >
|
|
29
|
+
JSON manifest that drives the preview app. Must live at the URL
|
|
30
|
+
specified by the src attribute.
|
|
31
|
+
format: |
|
|
32
|
+
{
|
|
33
|
+
"section": "blocks",
|
|
34
|
+
"param": "block",
|
|
35
|
+
"items": [
|
|
36
|
+
{
|
|
37
|
+
"slug": "agent-chat",
|
|
38
|
+
"name": "agent-chat",
|
|
39
|
+
"file": "agent-chat/agent-chat.html",
|
|
40
|
+
"group": "Chat",
|
|
41
|
+
"summary": "Full chat interface block",
|
|
42
|
+
"category": "messaging"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"links": [
|
|
46
|
+
{ "label": "Components", "href": "../components/preview.html" }
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
fields:
|
|
50
|
+
section:
|
|
51
|
+
type: string
|
|
52
|
+
description: >
|
|
53
|
+
Human-readable section name (e.g. "blocks", "components", "traits").
|
|
54
|
+
Used for the page select placeholder and document title.
|
|
55
|
+
param:
|
|
56
|
+
type: string
|
|
57
|
+
description: >
|
|
58
|
+
URL search parameter name used to track the current item
|
|
59
|
+
(e.g. "block" produces ?block=agent-chat).
|
|
60
|
+
items:
|
|
61
|
+
type: array
|
|
62
|
+
description: >
|
|
63
|
+
Ordered list of preview items. Each item has a slug (unique ID),
|
|
64
|
+
name (display label), and optional file (relative path to the
|
|
65
|
+
.html file, defaults to "{slug}/{slug}.html"). Optional group
|
|
66
|
+
for optgroup headings, summary for command palette search
|
|
67
|
+
keywords, and category for classification.
|
|
68
|
+
links:
|
|
69
|
+
type: array
|
|
70
|
+
description: >
|
|
71
|
+
Cross-section navigation links shown at the top of both the
|
|
72
|
+
page select dropdown and the command palette. Each entry has
|
|
73
|
+
a label and href.
|
|
74
|
+
|
|
75
|
+
features:
|
|
76
|
+
- "Cmd/Ctrl+K command palette with fuzzy search across all items and section links"
|
|
77
|
+
- "Alt+ArrowLeft / Alt+ArrowRight navigates to previous/next item (wraps around)"
|
|
78
|
+
- "Color scheme toggle (light/dark) persisted to localStorage under aui-preview-scheme"
|
|
79
|
+
- "aui-editor canvas with dot background for pan/zoom of loaded previews"
|
|
80
|
+
- "Auto-centers content on the canvas after load"
|
|
81
|
+
- "Each preview child gets drag (free mode) and resize traits attached automatically"
|
|
82
|
+
- "Loads per-item CSS and TS modules dynamically alongside HTML content"
|
|
83
|
+
- "Section links for cross-navigation between blocks, components, and traits"
|
|
84
|
+
- "Grouped items via optgroup in both page select and command palette"
|
|
85
|
+
- "URL-driven state: current item stored as a query parameter"
|
|
86
|
+
|
|
87
|
+
internal-structure:
|
|
88
|
+
navbar:
|
|
89
|
+
element: div[data-role="navbar"]
|
|
90
|
+
description: >
|
|
91
|
+
Absolutely positioned top bar containing an aui-select in bar
|
|
92
|
+
mode. Holds the logo link, color scheme toggle button, and the
|
|
93
|
+
page select dropdown. pointer-events: none on the wrapper with
|
|
94
|
+
pointer-events: auto on children so the canvas remains pannable
|
|
95
|
+
through empty nav space.
|
|
96
|
+
|
|
97
|
+
canvas:
|
|
98
|
+
element: aui-editor[data-role="canvas"]
|
|
99
|
+
description: >
|
|
100
|
+
Full-viewport aui-editor with background="dots". Contains a
|
|
101
|
+
single aui-editor-layer named "content" which holds a
|
|
102
|
+
div[data-role="content"] where preview HTML is injected.
|
|
103
|
+
|
|
104
|
+
command-palette:
|
|
105
|
+
element: aui-dialog > aui-command
|
|
106
|
+
description: >
|
|
107
|
+
A small aui-dialog (size="sm") positioned at 20% from top,
|
|
108
|
+
containing an aui-command with input, grouped list of all items
|
|
109
|
+
and section links, and an empty state. Opened/closed via Cmd+K.
|
|
110
|
+
Selecting an item navigates by updating the URL query parameter.
|
|
111
|
+
|
|
112
|
+
empty-state:
|
|
113
|
+
element: div[data-role="empty"]
|
|
114
|
+
description: >
|
|
115
|
+
Shown when no item is selected. Centered text prompting the
|
|
116
|
+
user to select from the section.
|
|
117
|
+
|
|
118
|
+
item-loading:
|
|
119
|
+
description: >
|
|
120
|
+
When an item is selected, the component resolves three files
|
|
121
|
+
relative to the preview.json base path. The item's file field
|
|
122
|
+
(or default "{slug}/{slug}.html") provides the HTML. CSS is
|
|
123
|
+
loaded as "{dir}/{dir}.css" via a <link> appended to <head>.
|
|
124
|
+
TS is imported as "{dir}/{dir}.ts" via dynamic import. HTML
|
|
125
|
+
content children are measured, positioned absolutely with a
|
|
126
|
+
40px gap, and given drag and resize traits via attachTrait().
|
|
127
|
+
|
|
128
|
+
a11y:
|
|
129
|
+
role: No implicit role. Acts as a full-screen application shell.
|
|
130
|
+
keyboard:
|
|
131
|
+
"Cmd/Ctrl+K": Toggle command palette open/closed.
|
|
132
|
+
"Alt+ArrowLeft": Navigate to previous item (wraps to last).
|
|
133
|
+
"Alt+ArrowRight": Navigate to next item (wraps to first).
|
|
134
|
+
Escape: Close command palette (delegated to aui-dialog native behavior).
|
|
135
|
+
|
|
136
|
+
composition:
|
|
137
|
+
parents: [body, div]
|
|
138
|
+
children: [internal -- all DOM is stamped by the component]
|
|
139
|
+
context: >
|
|
140
|
+
Place as the sole child of <body> for a full-screen preview
|
|
141
|
+
experience. The component manages its own layout (position: fixed,
|
|
142
|
+
inset: 0) and stamps all internal structure on activation.
|
|
143
|
+
|
|
144
|
+
tokens:
|
|
145
|
+
color:
|
|
146
|
+
- --aui-doc
|
|
147
|
+
- --aui-ink
|
|
148
|
+
- --aui-ink-muted
|
|
149
|
+
- --aui-ink-strong
|
|
150
|
+
- --aui-border-muted
|
|
151
|
+
- --aui-focus
|
|
152
|
+
typography:
|
|
153
|
+
- --aui-font-family
|
|
154
|
+
- --aui-font-size
|
|
155
|
+
- --aui-font-sm
|
|
156
|
+
- --aui-font-weight-semibold
|
|
157
|
+
|
|
158
|
+
examples:
|
|
159
|
+
- html: |
|
|
160
|
+
<aui-preview-app src="./preview.json"></aui-preview-app>
|
|
161
|
+
description: >
|
|
162
|
+
Standard usage. Place in an HTML page alongside the preview.json
|
|
163
|
+
manifest. The component fetches the manifest and renders the full
|
|
164
|
+
preview shell.
|
|
165
|
+
|
|
166
|
+
- html: |
|
|
167
|
+
<aui-preview-app src="/blocks/preview.json"></aui-preview-app>
|
|
168
|
+
description: >
|
|
169
|
+
Absolute path to a manifest in a different directory. Useful
|
|
170
|
+
when the preview page is not co-located with the manifest.
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
name: aui-radio-group
|
|
2
|
+
tag: aui-radio-group
|
|
3
|
+
type: component
|
|
4
|
+
summary: Container that coordinates radio button selection.
|
|
5
|
+
description: >
|
|
6
|
+
Wraps aui-radio children and manages single-selection, name
|
|
7
|
+
propagation, and arrow-key navigation. Set value to pre-select
|
|
8
|
+
an option.
|
|
9
|
+
|
|
10
|
+
base: AgentElement
|
|
11
|
+
|
|
12
|
+
presentational:
|
|
13
|
+
size:
|
|
14
|
+
syntax: key-value
|
|
15
|
+
attribute: size
|
|
16
|
+
cascades: true
|
|
17
|
+
default: medium
|
|
18
|
+
values: [xs, sm, md, lg, xl]
|
|
19
|
+
description: Cascades size to all child radios.
|
|
20
|
+
|
|
21
|
+
intent:
|
|
22
|
+
syntax: boolean
|
|
23
|
+
exclusive: true
|
|
24
|
+
cascades: true
|
|
25
|
+
default: neutral
|
|
26
|
+
values: [accent, info, success, warning, danger]
|
|
27
|
+
description: Cascades color family to all child radios.
|
|
28
|
+
|
|
29
|
+
attributes:
|
|
30
|
+
disabled:
|
|
31
|
+
syntax: boolean
|
|
32
|
+
type: boolean
|
|
33
|
+
default: false
|
|
34
|
+
description: Disables all child radios.
|
|
35
|
+
|
|
36
|
+
name:
|
|
37
|
+
syntax: key-value
|
|
38
|
+
type: string
|
|
39
|
+
default: ""
|
|
40
|
+
description: >
|
|
41
|
+
Form group name. Propagated to all child aui-radio elements.
|
|
42
|
+
|
|
43
|
+
value:
|
|
44
|
+
syntax: key-value
|
|
45
|
+
type: string
|
|
46
|
+
default: ""
|
|
47
|
+
description: >
|
|
48
|
+
Currently selected value. Setting this checks the matching
|
|
49
|
+
child radio and unchecks others.
|
|
50
|
+
|
|
51
|
+
content:
|
|
52
|
+
model: block
|
|
53
|
+
accepts: [aui-radio]
|
|
54
|
+
required: true
|
|
55
|
+
min-children: 2
|
|
56
|
+
description: Two or more aui-radio children.
|
|
57
|
+
|
|
58
|
+
composition:
|
|
59
|
+
parents: [aui-field, aui-stack, form, div]
|
|
60
|
+
children: [aui-radio]
|
|
61
|
+
context: >
|
|
62
|
+
Use inside aui-field for labeled radio groups. The group
|
|
63
|
+
handles keyboard navigation (arrow keys cycle through options)
|
|
64
|
+
and single-selection enforcement.
|
|
65
|
+
|
|
66
|
+
a11y:
|
|
67
|
+
role: radiogroup
|
|
68
|
+
keyboard:
|
|
69
|
+
ArrowDown: Select next radio.
|
|
70
|
+
ArrowRight: Select next radio.
|
|
71
|
+
ArrowUp: Select previous radio.
|
|
72
|
+
ArrowLeft: Select previous radio.
|
|
73
|
+
|
|
74
|
+
events:
|
|
75
|
+
change:
|
|
76
|
+
description: >
|
|
77
|
+
Bubbles from the selected child radio. Read the group's
|
|
78
|
+
value attribute for the current selection.
|
|
79
|
+
|
|
80
|
+
tokens:
|
|
81
|
+
spacing:
|
|
82
|
+
- --aui-space
|
|
83
|
+
|
|
84
|
+
examples:
|
|
85
|
+
- html: |
|
|
86
|
+
<aui-radio-group name="size" value="md">
|
|
87
|
+
<aui-radio label="Small" value="sm"></aui-radio>
|
|
88
|
+
<aui-radio label="Medium" value="md"></aui-radio>
|
|
89
|
+
<aui-radio label="Large" value="lg"></aui-radio>
|
|
90
|
+
</aui-radio-group>
|
|
91
|
+
description: Radio group with pre-selected value.
|
|
92
|
+
|
|
93
|
+
- html: |
|
|
94
|
+
<aui-field label="Plan">
|
|
95
|
+
<aui-radio-group name="plan">
|
|
96
|
+
<aui-radio label="Free" value="free"></aui-radio>
|
|
97
|
+
<aui-radio label="Pro" value="pro"></aui-radio>
|
|
98
|
+
<aui-radio label="Enterprise" value="enterprise"></aui-radio>
|
|
99
|
+
</aui-radio-group>
|
|
100
|
+
</aui-field>
|
|
101
|
+
description: Radio group inside a labeled field.
|
|
102
|
+
|
|
103
|
+
- html: |
|
|
104
|
+
<aui-radio-group name="status" disabled>
|
|
105
|
+
<aui-radio label="Active" value="active"></aui-radio>
|
|
106
|
+
<aui-radio label="Inactive" value="inactive"></aui-radio>
|
|
107
|
+
</aui-radio-group>
|
|
108
|
+
description: Disabled radio group.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
name: aui-radio
|
|
2
|
+
tag: aui-radio
|
|
3
|
+
type: component
|
|
4
|
+
summary: Radio button with custom circle indicator.
|
|
5
|
+
description: >
|
|
6
|
+
Custom radio button. Hidden native input for form participation.
|
|
7
|
+
Visual circle with dot indicator via ::before. Label rendered via
|
|
8
|
+
CSS ::after { content: attr(label) } — JS only sets aria-label
|
|
9
|
+
for accessibility, no DOM stamping for the visible label. Use
|
|
10
|
+
inside aui-radio-group for coordinated single-selection.
|
|
11
|
+
|
|
12
|
+
base: AgentElement
|
|
13
|
+
|
|
14
|
+
presentational:
|
|
15
|
+
size:
|
|
16
|
+
syntax: key-value
|
|
17
|
+
attribute: size
|
|
18
|
+
cascades: true
|
|
19
|
+
default: medium
|
|
20
|
+
values: [xs, sm, md, lg, xl]
|
|
21
|
+
description: Controls radio and label size.
|
|
22
|
+
|
|
23
|
+
intent:
|
|
24
|
+
syntax: boolean
|
|
25
|
+
exclusive: true
|
|
26
|
+
cascades: true
|
|
27
|
+
default: neutral
|
|
28
|
+
values: [accent, info, success, warning, danger]
|
|
29
|
+
description: Color family for the selected state.
|
|
30
|
+
|
|
31
|
+
attributes:
|
|
32
|
+
disabled:
|
|
33
|
+
syntax: boolean
|
|
34
|
+
type: boolean
|
|
35
|
+
default: false
|
|
36
|
+
description: Prevents interaction.
|
|
37
|
+
|
|
38
|
+
checked:
|
|
39
|
+
syntax: boolean
|
|
40
|
+
type: boolean
|
|
41
|
+
default: false
|
|
42
|
+
description: Whether this radio is selected.
|
|
43
|
+
|
|
44
|
+
required:
|
|
45
|
+
syntax: boolean
|
|
46
|
+
type: boolean
|
|
47
|
+
default: false
|
|
48
|
+
description: Marks as required for form validation.
|
|
49
|
+
|
|
50
|
+
label:
|
|
51
|
+
syntax: key-value
|
|
52
|
+
type: string
|
|
53
|
+
default: ""
|
|
54
|
+
description: Label text next to the radio.
|
|
55
|
+
|
|
56
|
+
name:
|
|
57
|
+
syntax: key-value
|
|
58
|
+
type: string
|
|
59
|
+
default: ""
|
|
60
|
+
description: Form group name. Usually set by parent aui-radio-group.
|
|
61
|
+
|
|
62
|
+
value:
|
|
63
|
+
syntax: key-value
|
|
64
|
+
type: string
|
|
65
|
+
default: ""
|
|
66
|
+
description: Form submission value for this option.
|
|
67
|
+
|
|
68
|
+
content:
|
|
69
|
+
model: inline
|
|
70
|
+
accepts: [input]
|
|
71
|
+
required: false
|
|
72
|
+
description: >
|
|
73
|
+
Auto-stamps hidden input for form participation. Label is
|
|
74
|
+
rendered purely via CSS ::after on :scope — no stamped span.
|
|
75
|
+
|
|
76
|
+
composition:
|
|
77
|
+
parents: [aui-radio-group, aui-field, aui-stack, form, div]
|
|
78
|
+
children: null
|
|
79
|
+
context: >
|
|
80
|
+
Almost always used inside aui-radio-group which handles
|
|
81
|
+
name propagation, single-selection, and keyboard navigation.
|
|
82
|
+
|
|
83
|
+
constraints:
|
|
84
|
+
- when: standalone (no aui-radio-group parent)
|
|
85
|
+
require: name attribute
|
|
86
|
+
reason: Radios need a shared name for browser grouping.
|
|
87
|
+
|
|
88
|
+
a11y:
|
|
89
|
+
role: radio
|
|
90
|
+
keyboard:
|
|
91
|
+
Space: Selects this radio.
|
|
92
|
+
Enter: Selects this radio.
|
|
93
|
+
aria:
|
|
94
|
+
aria-checked: Mirrors checked attribute.
|
|
95
|
+
aria-disabled: Mirrors disabled attribute.
|
|
96
|
+
|
|
97
|
+
events:
|
|
98
|
+
change:
|
|
99
|
+
description: Fires when this radio becomes selected.
|
|
100
|
+
|
|
101
|
+
tokens:
|
|
102
|
+
sizing:
|
|
103
|
+
- --aui-size
|
|
104
|
+
- --aui-widget-size
|
|
105
|
+
- --aui-font-size
|
|
106
|
+
color:
|
|
107
|
+
- --aui-ink
|
|
108
|
+
- --aui-control
|
|
109
|
+
- --aui-fill
|
|
110
|
+
- --aui-stroke
|
|
111
|
+
- --aui-solid
|
|
112
|
+
- --aui-focus
|
|
113
|
+
motion:
|
|
114
|
+
- --aui-duration
|
|
115
|
+
- --aui-easing
|
|
116
|
+
|
|
117
|
+
css-notes:
|
|
118
|
+
attr-audit:
|
|
119
|
+
- "AB1: [checked], [disabled] — visual state via attributes"
|
|
120
|
+
- "CG2: ::before on [data-circle] for dot indicator"
|
|
121
|
+
- "CG3: ::after { content: attr(label) } — label rendered in CSS, overflow: hidden on ::after only"
|
|
122
|
+
- "CG4: gap uses 2 * space (tightened from 3 * space)"
|
|
123
|
+
|
|
124
|
+
examples:
|
|
125
|
+
- html: <aui-radio label="Option A" value="a"></aui-radio>
|
|
126
|
+
description: Default unchecked radio.
|
|
127
|
+
|
|
128
|
+
- html: <aui-radio label="Option B" value="b" checked></aui-radio>
|
|
129
|
+
description: Pre-selected radio.
|
|
130
|
+
|
|
131
|
+
- html: <aui-radio label="Unavailable" disabled></aui-radio>
|
|
132
|
+
description: Disabled radio.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
name: aui-range
|
|
2
|
+
tag: aui-range
|
|
3
|
+
type: component
|
|
4
|
+
summary: Slider control with custom track and thumb.
|
|
5
|
+
description: >
|
|
6
|
+
A range slider that wraps a native input[type="range"] for form
|
|
7
|
+
participation and full keyboard/ARIA support. The wrapper renders
|
|
8
|
+
a custom track, fill, and wide iOS-style thumb contained within the
|
|
9
|
+
track — the native input is visually hidden. The thumb uses a scaleX
|
|
10
|
+
animation on press (:active) with transform-origin: center for
|
|
11
|
+
centered scaling.
|
|
12
|
+
|
|
13
|
+
base: AgentElement
|
|
14
|
+
|
|
15
|
+
attributes:
|
|
16
|
+
disabled:
|
|
17
|
+
syntax: boolean
|
|
18
|
+
type: boolean
|
|
19
|
+
default: false
|
|
20
|
+
description: Prevents interaction. Dims visually.
|
|
21
|
+
|
|
22
|
+
min:
|
|
23
|
+
syntax: key-value
|
|
24
|
+
type: string
|
|
25
|
+
default: "0"
|
|
26
|
+
description: Minimum value.
|
|
27
|
+
|
|
28
|
+
max:
|
|
29
|
+
syntax: key-value
|
|
30
|
+
type: string
|
|
31
|
+
default: "100"
|
|
32
|
+
description: Maximum value.
|
|
33
|
+
|
|
34
|
+
step:
|
|
35
|
+
syntax: key-value
|
|
36
|
+
type: string
|
|
37
|
+
default: "1"
|
|
38
|
+
description: Step increment.
|
|
39
|
+
|
|
40
|
+
value:
|
|
41
|
+
syntax: key-value
|
|
42
|
+
type: string
|
|
43
|
+
default: "50"
|
|
44
|
+
description: Current value.
|
|
45
|
+
|
|
46
|
+
label:
|
|
47
|
+
syntax: key-value
|
|
48
|
+
type: string
|
|
49
|
+
default: ""
|
|
50
|
+
description: Accessible label (maps to aria-label on the native input).
|
|
51
|
+
|
|
52
|
+
name:
|
|
53
|
+
syntax: key-value
|
|
54
|
+
type: string
|
|
55
|
+
default: ""
|
|
56
|
+
description: Form field name.
|
|
57
|
+
|
|
58
|
+
a11y:
|
|
59
|
+
role: slider (via native input)
|
|
60
|
+
keyboard:
|
|
61
|
+
ArrowLeft: Decrease by step.
|
|
62
|
+
ArrowRight: Increase by step.
|
|
63
|
+
Home: Set to min.
|
|
64
|
+
End: Set to max.
|
|
65
|
+
aria:
|
|
66
|
+
aria-label: Set from label attribute.
|
|
67
|
+
|
|
68
|
+
form:
|
|
69
|
+
associated: true
|
|
70
|
+
value: Current slider value.
|
|
71
|
+
|
|
72
|
+
tokens:
|
|
73
|
+
sizing:
|
|
74
|
+
- --aui-size
|
|
75
|
+
- --aui-widget-size
|
|
76
|
+
spacing:
|
|
77
|
+
- --aui-pad-control-block
|
|
78
|
+
color:
|
|
79
|
+
- --aui-control
|
|
80
|
+
- --aui-fill
|
|
81
|
+
- --aui-stroke
|
|
82
|
+
- --aui-solid
|
|
83
|
+
- --aui-focus
|
|
84
|
+
shape:
|
|
85
|
+
- --aui-radius-round
|
|
86
|
+
motion:
|
|
87
|
+
- --aui-easing
|
|
88
|
+
|
|
89
|
+
examples:
|
|
90
|
+
- html: <aui-range></aui-range>
|
|
91
|
+
description: Default slider (0–100, value 50).
|
|
92
|
+
|
|
93
|
+
- html: <aui-range min="0" max="10" step="1" value="3" label="Volume"></aui-range>
|
|
94
|
+
description: Slider with custom range and label.
|
|
95
|
+
|
|
96
|
+
- html: <aui-range disabled value="75"></aui-range>
|
|
97
|
+
description: Disabled slider.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
name: aui-root
|
|
2
|
+
tag: aui-root
|
|
3
|
+
type: component
|
|
4
|
+
summary: App shell root container
|
|
5
|
+
base: AgentElement
|
|
6
|
+
composition:
|
|
7
|
+
parents: [body]
|
|
8
|
+
children: [aui-header, aui-content, aui-footer, aui-panes, any]
|
|
9
|
+
examples:
|
|
10
|
+
- html: |
|
|
11
|
+
<aui-container bordered style="min-height: 12rem;">
|
|
12
|
+
<aui-header><span>App Title</span></aui-header>
|
|
13
|
+
<aui-content><aui-inset><p>Main content area</p></aui-inset></aui-content>
|
|
14
|
+
<aui-footer><span slot="leading">v0.1</span></aui-footer>
|
|
15
|
+
</aui-container>
|
|
16
|
+
description: >
|
|
17
|
+
App shell structure (shown via aui-container for inline preview).
|
|
18
|
+
In use, wrap with aui-root at the document body level.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: aui-segment
|
|
2
|
+
tag: aui-segment
|
|
3
|
+
type: component
|
|
4
|
+
summary: Individual toggle within a segmented control.
|
|
5
|
+
description: >
|
|
6
|
+
A single option within aui-segmented-control. Uses radio role
|
|
7
|
+
for accessibility. Selection coordinated by parent.
|
|
8
|
+
|
|
9
|
+
base: AgentElement
|
|
10
|
+
|
|
11
|
+
attributes:
|
|
12
|
+
value:
|
|
13
|
+
syntax: key-value
|
|
14
|
+
type: string
|
|
15
|
+
default: ""
|
|
16
|
+
description: Segment identifier.
|
|
17
|
+
|
|
18
|
+
disabled:
|
|
19
|
+
syntax: boolean
|
|
20
|
+
type: boolean
|
|
21
|
+
default: false
|
|
22
|
+
description: Prevents selection.
|
|
23
|
+
|
|
24
|
+
selected:
|
|
25
|
+
syntax: boolean
|
|
26
|
+
type: boolean
|
|
27
|
+
default: false
|
|
28
|
+
description: Whether this segment is active.
|
|
29
|
+
|
|
30
|
+
a11y:
|
|
31
|
+
role: radio
|
|
32
|
+
aria:
|
|
33
|
+
aria-checked: Reflects selected state.
|
|
34
|
+
|
|
35
|
+
composition:
|
|
36
|
+
parents: [aui-segmented-control]
|
|
37
|
+
children: null
|
|
38
|
+
|
|
39
|
+
examples:
|
|
40
|
+
- html: <aui-segment value="list">List</aui-segment>
|
|
41
|
+
description: Simple segment.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: aui-segmented-control
|
|
2
|
+
tag: aui-segmented-control
|
|
3
|
+
type: component
|
|
4
|
+
summary: Toggle between mutually exclusive options.
|
|
5
|
+
description: >
|
|
6
|
+
A radiogroup-style control for switching between views or values.
|
|
7
|
+
Contains aui-segment children. Selected segment gets a raised
|
|
8
|
+
pill appearance.
|
|
9
|
+
|
|
10
|
+
base: AgentElement
|
|
11
|
+
|
|
12
|
+
attributes:
|
|
13
|
+
value:
|
|
14
|
+
syntax: key-value
|
|
15
|
+
type: string
|
|
16
|
+
default: ""
|
|
17
|
+
description: Currently selected segment value.
|
|
18
|
+
|
|
19
|
+
name:
|
|
20
|
+
syntax: key-value
|
|
21
|
+
type: string
|
|
22
|
+
default: ""
|
|
23
|
+
description: Form field name.
|
|
24
|
+
|
|
25
|
+
a11y:
|
|
26
|
+
role: radiogroup
|
|
27
|
+
keyboard:
|
|
28
|
+
ArrowRight: Select next segment.
|
|
29
|
+
ArrowLeft: Select previous segment.
|
|
30
|
+
Home: Select first segment.
|
|
31
|
+
End: Select last segment.
|
|
32
|
+
|
|
33
|
+
events:
|
|
34
|
+
change:
|
|
35
|
+
description: Fired when selection changes. detail.value is the new value.
|
|
36
|
+
|
|
37
|
+
form:
|
|
38
|
+
associated: true
|
|
39
|
+
value: Selected segment value.
|
|
40
|
+
|
|
41
|
+
composition:
|
|
42
|
+
parents: [any]
|
|
43
|
+
children: [aui-segment]
|
|
44
|
+
|
|
45
|
+
examples:
|
|
46
|
+
- html: |
|
|
47
|
+
<aui-segmented-control value="list">
|
|
48
|
+
<aui-segment value="list" selected>List</aui-segment>
|
|
49
|
+
<aui-segment value="grid">Grid</aui-segment>
|
|
50
|
+
<aui-segment value="board">Board</aui-segment>
|
|
51
|
+
</aui-segmented-control>
|
|
52
|
+
description: View mode toggle.
|