@agent-ui-kit/web-components 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,111 @@
|
|
|
1
|
+
name: agent-chat
|
|
2
|
+
type: block
|
|
3
|
+
summary: Full agent chat interface with message feed, composer, and suggestion chips.
|
|
4
|
+
description: >
|
|
5
|
+
Complete chat composition showing a multi-turn conversation between
|
|
6
|
+
user and AI assistant. Uses aui-agent-panel as the outer shell to
|
|
7
|
+
coordinate header, feed, and input. Includes message feed with
|
|
8
|
+
auto-scroll, threaded messages with avatars, markdown rendering,
|
|
9
|
+
activity indicators, bordered prompt input with action toolbar,
|
|
10
|
+
and suggestion chips. Demonstrates all aui-agent-* components
|
|
11
|
+
working together as a cohesive chat experience.
|
|
12
|
+
|
|
13
|
+
components: [aui-agent-panel, aui-header, aui-content, aui-footer, aui-stack, aui-heading, aui-text, aui-avatar, aui-badge, aui-button, aui-icon, aui-agent-feed, aui-agent-thread, aui-agent-message, aui-agent-text, aui-agent-activity, aui-agent-seeds, aui-agent-input, aui-agent-prompt]
|
|
14
|
+
kind: panel
|
|
15
|
+
|
|
16
|
+
examples:
|
|
17
|
+
- html: |
|
|
18
|
+
<aui-agent-panel panel-title="Design Assistant" max-width="xl" style="height: 32rem;">
|
|
19
|
+
<aui-header dividers>
|
|
20
|
+
<span slot="leading">
|
|
21
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
22
|
+
<aui-avatar square>AI</aui-avatar>
|
|
23
|
+
<aui-stack gap="0">
|
|
24
|
+
<aui-heading size="sm">Design Assistant</aui-heading>
|
|
25
|
+
<aui-text muted size="xs">Claude 3.5 Sonnet</aui-text>
|
|
26
|
+
</aui-stack>
|
|
27
|
+
</aui-stack>
|
|
28
|
+
</span>
|
|
29
|
+
<aui-badge accent slot="trailing">Online</aui-badge>
|
|
30
|
+
</aui-header>
|
|
31
|
+
<aui-agent-feed auto-scroll scrollable>
|
|
32
|
+
<aui-agent-thread role="user" sender="You">
|
|
33
|
+
<aui-agent-message role="user">
|
|
34
|
+
<aui-agent-text format="plain">How should I structure the color system for a component library?</aui-agent-text>
|
|
35
|
+
</aui-agent-message>
|
|
36
|
+
</aui-agent-thread>
|
|
37
|
+
<aui-agent-thread role="assistant" sender="Claude">
|
|
38
|
+
<aui-avatar>C</aui-avatar>
|
|
39
|
+
<aui-agent-message role="assistant">
|
|
40
|
+
<aui-agent-text>I recommend a three-layer approach:
|
|
41
|
+
|
|
42
|
+
1. **Primitives** — raw OKLCH values organized by hue family
|
|
43
|
+
2. **Semantic tokens** — purpose-driven aliases like `--ink`, `--fill`, `--border`
|
|
44
|
+
3. **Component tokens** — scoped overrides like `--button-bg`, `--card-border`
|
|
45
|
+
|
|
46
|
+
This gives you theme-ability at layer 1, consistency at layer 2, and precision at layer 3.</aui-agent-text>
|
|
47
|
+
</aui-agent-message>
|
|
48
|
+
<aui-agent-message role="assistant">
|
|
49
|
+
<aui-agent-text>Want me to draft a token file for your palette?</aui-agent-text>
|
|
50
|
+
</aui-agent-message>
|
|
51
|
+
</aui-agent-thread>
|
|
52
|
+
<aui-agent-thread role="user" sender="You">
|
|
53
|
+
<aui-agent-message role="user">
|
|
54
|
+
<aui-agent-text format="plain">Yes, use OKLCH with a blue accent.</aui-agent-text>
|
|
55
|
+
</aui-agent-message>
|
|
56
|
+
</aui-agent-thread>
|
|
57
|
+
<aui-agent-thread role="assistant" sender="Claude">
|
|
58
|
+
<aui-avatar>C</aui-avatar>
|
|
59
|
+
<aui-agent-message role="assistant" status="streaming">
|
|
60
|
+
<aui-agent-activity type="thinking" active></aui-agent-activity>
|
|
61
|
+
</aui-agent-message>
|
|
62
|
+
</aui-agent-thread>
|
|
63
|
+
</aui-agent-feed>
|
|
64
|
+
<aui-agent-input>
|
|
65
|
+
<aui-agent-prompt>
|
|
66
|
+
<aui-textarea placeholder="Ask a follow-up question..."></aui-textarea>
|
|
67
|
+
</aui-agent-prompt>
|
|
68
|
+
</aui-agent-input>
|
|
69
|
+
<aui-agent-seeds options='[{"value":"tokens","label":"Generate token file"},{"value":"themes","label":"Add dark theme"},{"value":"chart","label":"Chart palette"}]'></aui-agent-seeds>
|
|
70
|
+
</aui-agent-panel>
|
|
71
|
+
description: Full chat interface with multi-turn conversation, thinking indicator, and suggestion chips.
|
|
72
|
+
|
|
73
|
+
- html: |
|
|
74
|
+
<aui-agent-panel panel-title="Code Review" max-width="xl" style="height: 28rem;">
|
|
75
|
+
<aui-header dividers>
|
|
76
|
+
<span slot="leading">
|
|
77
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
78
|
+
<aui-avatar square>C</aui-avatar>
|
|
79
|
+
<aui-heading size="sm">Code Review</aui-heading>
|
|
80
|
+
</aui-stack>
|
|
81
|
+
</span>
|
|
82
|
+
</aui-header>
|
|
83
|
+
<aui-agent-feed auto-scroll scrollable>
|
|
84
|
+
<aui-agent-thread role="assistant" sender="Claude">
|
|
85
|
+
<aui-avatar>C</aui-avatar>
|
|
86
|
+
<aui-agent-message role="assistant">
|
|
87
|
+
<aui-agent-text>I've analyzed your pull request. Here's what I found:
|
|
88
|
+
|
|
89
|
+
**2 issues**, **1 suggestion**, **0 blockers**
|
|
90
|
+
|
|
91
|
+
### Issue 1: Memory leak in useSubscription
|
|
92
|
+
|
|
93
|
+
The useEffect cleanup doesn't unsubscribe from the WebSocket channel. This will cause duplicate listeners on hot reload.
|
|
94
|
+
|
|
95
|
+
### Issue 2: Missing error boundary
|
|
96
|
+
|
|
97
|
+
The Dashboard component catches render errors but doesn't report them to your monitoring service.
|
|
98
|
+
|
|
99
|
+
### Suggestion
|
|
100
|
+
|
|
101
|
+
Consider extracting the polling logic into a custom usePolling hook — it's duplicated in 3 files.</aui-agent-text>
|
|
102
|
+
</aui-agent-message>
|
|
103
|
+
</aui-agent-thread>
|
|
104
|
+
</aui-agent-feed>
|
|
105
|
+
<aui-agent-input>
|
|
106
|
+
<aui-agent-prompt>
|
|
107
|
+
<aui-textarea placeholder="Ask about the review..."></aui-textarea>
|
|
108
|
+
</aui-agent-prompt>
|
|
109
|
+
</aui-agent-input>
|
|
110
|
+
</aui-agent-panel>
|
|
111
|
+
description: Code review chat with structured markdown feedback.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: announcement-card
|
|
2
|
+
type: block
|
|
3
|
+
summary: Announcement card with image area, description, and contextual footer actions.
|
|
4
|
+
description: >
|
|
5
|
+
A card featuring a tall image or illustration area at top, followed by
|
|
6
|
+
a title, description, and footer with a primary action and a contextual
|
|
7
|
+
badge or label. Use for product announcements, deprecation notices, or
|
|
8
|
+
feature highlights.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text, aui-badge, aui-button]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="sm" style="overflow: hidden;">
|
|
16
|
+
<div style="height: 12rem; background: linear-gradient(135deg, var(--aui-control) 0%, var(--aui-panel) 100%);"></div>
|
|
17
|
+
<aui-content>
|
|
18
|
+
<aui-inset>
|
|
19
|
+
<aui-stack gap="2">
|
|
20
|
+
<aui-badge warning>Warning</aui-badge>
|
|
21
|
+
<aui-heading size="lg">Observability Plus is replacing Monitoring</aui-heading>
|
|
22
|
+
<aui-text muted size="sm">Switch to the improved way to explore your data with natural language. Monitoring will no longer be available on the Pro plan in November, 2025</aui-text>
|
|
23
|
+
</aui-stack>
|
|
24
|
+
</aui-inset>
|
|
25
|
+
</aui-content>
|
|
26
|
+
<aui-footer>
|
|
27
|
+
<span slot="leading"><aui-button primary>Create Query</aui-button></span>
|
|
28
|
+
</aui-footer>
|
|
29
|
+
</aui-container>
|
|
30
|
+
description: Deprecation announcement with gradient image placeholder and warning badge.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
name: bpm-process
|
|
2
|
+
type: block
|
|
3
|
+
summary: Cross-Functional BPM — 16 nodes, 20 connections.
|
|
4
|
+
description: >
|
|
5
|
+
Visual graph block rendered from the Cross-Functional BPM dataset using
|
|
6
|
+
aui-graph components with port-selector noodle connections.
|
|
7
|
+
components: [aui-container, aui-text, aui-graph-ui, aui-graph-layer, aui-graph-node, aui-graph-noodle, aui-graph-port]
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: chart-activity
|
|
2
|
+
type: block
|
|
3
|
+
summary: Weekly activity chart with labeled columns and rounded bars.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing a 7-day activity grid. Each column has a day label and a
|
|
6
|
+
tall container with a rounded bar showing the day's activity level. The
|
|
7
|
+
bar height is proportional to the value. Use for fitness summaries,
|
|
8
|
+
commit frequency, or daily usage patterns.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-inset, aui-stack, aui-heading, aui-text]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="prose">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Weekly Fitness Summary</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">Calories and workout load by day</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
</aui-header>
|
|
24
|
+
<aui-content>
|
|
25
|
+
<aui-inset>
|
|
26
|
+
<aui-stack direction="row" gap="2">
|
|
27
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
28
|
+
<aui-text muted size="xs">M</aui-text>
|
|
29
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
30
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 78%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
31
|
+
</div>
|
|
32
|
+
</aui-stack>
|
|
33
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
34
|
+
<aui-text muted size="xs">T</aui-text>
|
|
35
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
36
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
37
|
+
</div>
|
|
38
|
+
</aui-stack>
|
|
39
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
40
|
+
<aui-text muted size="xs">W</aui-text>
|
|
41
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
42
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 65%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
43
|
+
</div>
|
|
44
|
+
</aui-stack>
|
|
45
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
46
|
+
<aui-text muted size="xs">T</aui-text>
|
|
47
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
48
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 50%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
49
|
+
</div>
|
|
50
|
+
</aui-stack>
|
|
51
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
52
|
+
<aui-text muted size="xs">F</aui-text>
|
|
53
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
54
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 90%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
55
|
+
</div>
|
|
56
|
+
</aui-stack>
|
|
57
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
58
|
+
<aui-text muted size="xs">S</aui-text>
|
|
59
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
60
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
61
|
+
</div>
|
|
62
|
+
</aui-stack>
|
|
63
|
+
<aui-stack gap="1" align-items="center" spacer>
|
|
64
|
+
<aui-text muted size="xs">S</aui-text>
|
|
65
|
+
<div style="width: 100%; height: 8rem; background: var(--aui-control); border-radius: var(--aui-radius); position: relative; overflow: hidden;">
|
|
66
|
+
<div style="position: absolute; bottom: 0; left: 0; right: 0; height: 45%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
67
|
+
</div>
|
|
68
|
+
</aui-stack>
|
|
69
|
+
</aui-stack>
|
|
70
|
+
</aui-inset>
|
|
71
|
+
</aui-content>
|
|
72
|
+
</aui-container>
|
|
73
|
+
description: Weekly activity bars with day labels showing fitness load.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: chart-card
|
|
2
|
+
type: block
|
|
3
|
+
summary: Simple vertical bar chart card with month labels.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing a 6-month bar chart built with CSS. Header has the
|
|
6
|
+
chart title and date range, content shows proportional bars with
|
|
7
|
+
month labels, footer shows a trend summary. The simplest chart
|
|
8
|
+
pattern — one data series, one color, clear labels.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="prose">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Visitors</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">January – June 2026</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
</aui-header>
|
|
24
|
+
<aui-content>
|
|
25
|
+
<aui-inset>
|
|
26
|
+
<aui-stack gap="1">
|
|
27
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="min-height: 8rem;">
|
|
28
|
+
<div style="flex: 1; height: 45%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
29
|
+
<div style="flex: 1; height: 72%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
30
|
+
<div style="flex: 1; height: 58%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
31
|
+
<div style="flex: 1; height: 30%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
32
|
+
<div style="flex: 1; height: 85%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
33
|
+
<div style="flex: 1; height: 65%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
34
|
+
</aui-stack>
|
|
35
|
+
<aui-stack direction="row" gap="1">
|
|
36
|
+
<aui-text muted size="xs" spacer align-items="center">Jan</aui-text>
|
|
37
|
+
<aui-text muted size="xs" spacer align-items="center">Feb</aui-text>
|
|
38
|
+
<aui-text muted size="xs" spacer align-items="center">Mar</aui-text>
|
|
39
|
+
<aui-text muted size="xs" spacer align-items="center">Apr</aui-text>
|
|
40
|
+
<aui-text muted size="xs" spacer align-items="center">May</aui-text>
|
|
41
|
+
<aui-text muted size="xs" spacer align-items="center">Jun</aui-text>
|
|
42
|
+
</aui-stack>
|
|
43
|
+
</aui-stack>
|
|
44
|
+
</aui-inset>
|
|
45
|
+
</aui-content>
|
|
46
|
+
<aui-footer>
|
|
47
|
+
<span slot="leading">
|
|
48
|
+
<aui-stack gap="1">
|
|
49
|
+
<aui-heading size="md">Trending up by 5.2% this month</aui-heading>
|
|
50
|
+
<aui-text muted size="sm">Showing total visitors for the last 6 months</aui-text>
|
|
51
|
+
</aui-stack>
|
|
52
|
+
</span>
|
|
53
|
+
</aui-footer>
|
|
54
|
+
</aui-container>
|
|
55
|
+
description: Simple 6-month visitor bar chart with trend footer.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
name: chart-donut
|
|
2
|
+
type: block
|
|
3
|
+
summary: Donut chart card with center stat, legend, and selected segment footer.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing a CSS-drawn donut/ring chart with a center value, a legend
|
|
6
|
+
row below the chart, and a footer showing the selected segment's value.
|
|
7
|
+
Use for distribution data like browser share, traffic sources, or
|
|
8
|
+
category breakdowns.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text, aui-badge]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="sm">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Browser Share</aui-heading>
|
|
20
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
21
|
+
<aui-badge>Firefox</aui-badge>
|
|
22
|
+
<aui-text muted size="sm">January – June 2026</aui-text>
|
|
23
|
+
</aui-stack>
|
|
24
|
+
</aui-stack>
|
|
25
|
+
</span>
|
|
26
|
+
</aui-header>
|
|
27
|
+
<aui-content>
|
|
28
|
+
<aui-inset>
|
|
29
|
+
<aui-stack gap="4" align-items="center">
|
|
30
|
+
<!-- Donut chart via SVG -->
|
|
31
|
+
<div style="position: relative; width: 9rem; height: 9rem;">
|
|
32
|
+
<svg viewBox="0 0 100 100" style="width: 100%; height: 100%; transform: rotate(-90deg);">
|
|
33
|
+
<!--
|
|
34
|
+
C = 2π × 38 = 238.76 Gap = 2 units per segment end
|
|
35
|
+
Seg1 (60%): draw = 143.26 - 2 = 141.26 offset = 0
|
|
36
|
+
Seg2 (20%): draw = 47.75 - 2 = 45.75 offset = 238.76 - 143.26 = 95.5
|
|
37
|
+
Seg3 (20%): draw = 47.75 - 2 = 45.75 offset = 238.76 - 191.01 = 47.75
|
|
38
|
+
-->
|
|
39
|
+
<circle cx="50" cy="50" r="38" fill="none" style="stroke: var(--aui-chart-1);" stroke-width="12" stroke-dasharray="141.26 238.76" stroke-dashoffset="0" stroke-linecap="butt"/>
|
|
40
|
+
<circle cx="50" cy="50" r="38" fill="none" style="stroke: var(--aui-chart-2);" stroke-width="12" stroke-dasharray="45.75 238.76" stroke-dashoffset="95.5" stroke-linecap="butt"/>
|
|
41
|
+
<circle cx="50" cy="50" r="38" fill="none" style="stroke: var(--aui-chart-3);" stroke-width="12" stroke-dasharray="45.75 238.76" stroke-dashoffset="47.75" stroke-linecap="butt"/>
|
|
42
|
+
</svg>
|
|
43
|
+
<div style="position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;">
|
|
44
|
+
<aui-heading size="xl">1,125</aui-heading>
|
|
45
|
+
<aui-text muted size="xs">Visitors</aui-text>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
<!-- Legend -->
|
|
49
|
+
<aui-wrap gap="3" style="justify-content: center;">
|
|
50
|
+
<aui-stack direction="row" gap="1" align-items="center">
|
|
51
|
+
<div style="width: 0.625rem; height: 0.625rem; border-radius: 2px; background: var(--aui-chart-1); flex-shrink: 0;"></div>
|
|
52
|
+
<aui-text muted size="xs">Chrome</aui-text>
|
|
53
|
+
</aui-stack>
|
|
54
|
+
<aui-stack direction="row" gap="1" align-items="center">
|
|
55
|
+
<div style="width: 0.625rem; height: 0.625rem; border-radius: 2px; background: var(--aui-chart-2); flex-shrink: 0;"></div>
|
|
56
|
+
<aui-text muted size="xs">Safari</aui-text>
|
|
57
|
+
</aui-stack>
|
|
58
|
+
<aui-stack direction="row" gap="1" align-items="center">
|
|
59
|
+
<div style="width: 0.625rem; height: 0.625rem; border-radius: 2px; background: var(--aui-chart-3); flex-shrink: 0;"></div>
|
|
60
|
+
<aui-text muted size="xs">Firefox</aui-text>
|
|
61
|
+
</aui-stack>
|
|
62
|
+
<aui-stack direction="row" gap="1" align-items="center">
|
|
63
|
+
<div style="width: 0.625rem; height: 0.625rem; border-radius: 2px; background: var(--aui-chart-4); flex-shrink: 0;"></div>
|
|
64
|
+
<aui-text muted size="xs">Edge</aui-text>
|
|
65
|
+
</aui-stack>
|
|
66
|
+
<aui-stack direction="row" gap="1" align-items="center">
|
|
67
|
+
<div style="width: 0.625rem; height: 0.625rem; border-radius: 2px; background: var(--aui-chart-5); flex-shrink: 0;"></div>
|
|
68
|
+
<aui-text muted size="xs">Other</aui-text>
|
|
69
|
+
</aui-stack>
|
|
70
|
+
</aui-wrap>
|
|
71
|
+
</aui-stack>
|
|
72
|
+
</aui-inset>
|
|
73
|
+
</aui-content>
|
|
74
|
+
<aui-footer>
|
|
75
|
+
<span slot="leading">
|
|
76
|
+
<aui-stack direction="row" gap="2" align-items="center" width="full">
|
|
77
|
+
<aui-heading size="md" spacer>Firefox</aui-heading>
|
|
78
|
+
<aui-text muted size="sm">26%</aui-text>
|
|
79
|
+
</aui-stack>
|
|
80
|
+
</span>
|
|
81
|
+
</aui-footer>
|
|
82
|
+
</aui-container>
|
|
83
|
+
description: Donut chart showing browser share with Firefox selected.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: chart-grouped
|
|
2
|
+
type: block
|
|
3
|
+
summary: Grouped vertical bar chart comparing two data series.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing paired vertical bars per category for comparing
|
|
6
|
+
two metrics side by side (e.g. Desktop vs Mobile). Labels are
|
|
7
|
+
in a separate row below so bar height percentages resolve
|
|
8
|
+
correctly against the constrained bar area.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="prose">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Visitors by Device</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">January – June 2026</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
</aui-header>
|
|
24
|
+
<aui-content>
|
|
25
|
+
<aui-inset>
|
|
26
|
+
<aui-stack gap="1">
|
|
27
|
+
<!-- Bars: paired groups as direct children of align-items="end" row -->
|
|
28
|
+
<aui-stack direction="row" gap="3" align-items="end" spacer style="min-height: 9rem;">
|
|
29
|
+
<!-- Chrome: Desktop 55%, Mobile 40% -->
|
|
30
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="height: 100%;">
|
|
31
|
+
<div style="flex: 1; height: 55%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
32
|
+
<div style="flex: 1; height: 40%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
33
|
+
</aui-stack>
|
|
34
|
+
<!-- Safari: Desktop 45%, Mobile 50% -->
|
|
35
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="height: 100%;">
|
|
36
|
+
<div style="flex: 1; height: 45%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
37
|
+
<div style="flex: 1; height: 50%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
38
|
+
</aui-stack>
|
|
39
|
+
<!-- Firefox: Desktop 70%, Mobile 90% -->
|
|
40
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="height: 100%;">
|
|
41
|
+
<div style="flex: 1; height: 70%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
42
|
+
<div style="flex: 1; height: 90%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
43
|
+
</aui-stack>
|
|
44
|
+
<!-- Edge: Desktop 35%, Mobile 30% -->
|
|
45
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="height: 100%;">
|
|
46
|
+
<div style="flex: 1; height: 35%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
47
|
+
<div style="flex: 1; height: 30%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
48
|
+
</aui-stack>
|
|
49
|
+
<!-- Other: Desktop 25%, Mobile 20% -->
|
|
50
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="height: 100%;">
|
|
51
|
+
<div style="flex: 1; height: 25%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
52
|
+
<div style="flex: 1; height: 20%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
53
|
+
</aui-stack>
|
|
54
|
+
</aui-stack>
|
|
55
|
+
<!-- Category labels row -->
|
|
56
|
+
<aui-stack direction="row" gap="3">
|
|
57
|
+
<aui-text muted size="xs" spacer align-items="center">Chrome</aui-text>
|
|
58
|
+
<aui-text muted size="xs" spacer align-items="center">Safari</aui-text>
|
|
59
|
+
<aui-text muted size="xs" spacer align-items="center">Firefox</aui-text>
|
|
60
|
+
<aui-text muted size="xs" spacer align-items="center">Edge</aui-text>
|
|
61
|
+
<aui-text muted size="xs" spacer align-items="center">Other</aui-text>
|
|
62
|
+
</aui-stack>
|
|
63
|
+
</aui-stack>
|
|
64
|
+
</aui-inset>
|
|
65
|
+
</aui-content>
|
|
66
|
+
<aui-footer>
|
|
67
|
+
<span slot="leading">
|
|
68
|
+
<aui-stack gap="1">
|
|
69
|
+
<aui-heading size="md">Mobile overtook Desktop in March</aui-heading>
|
|
70
|
+
<aui-text muted size="sm">Showing Desktop (light) and Mobile (dark) visitors</aui-text>
|
|
71
|
+
</aui-stack>
|
|
72
|
+
</span>
|
|
73
|
+
</aui-footer>
|
|
74
|
+
</aui-container>
|
|
75
|
+
description: Grouped bars with category labels below, Desktop at 60% opacity and Mobile at full opacity.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: chart-horizontal
|
|
2
|
+
type: block
|
|
3
|
+
summary: Horizontal bar chart with category labels.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing horizontal bars for comparing categories. Each row
|
|
6
|
+
has a fixed-width right-aligned label and a proportional bar sized
|
|
7
|
+
via max-width percentage. Useful for browser share, feature usage,
|
|
8
|
+
or any ranked categorical data.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="prose">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Browser Share</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">January – June 2026</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
</aui-header>
|
|
24
|
+
<aui-content>
|
|
25
|
+
<aui-inset>
|
|
26
|
+
<aui-stack gap="3">
|
|
27
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
28
|
+
<aui-text size="sm" text="right" style="width: 4rem;">Chrome</aui-text>
|
|
29
|
+
<div style="width: 85%; height: 1.25rem; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
30
|
+
</aui-stack>
|
|
31
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
32
|
+
<aui-text size="sm" text="right" style="width: 4rem;">Safari</aui-text>
|
|
33
|
+
<div style="width: 65%; height: 1.25rem; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
34
|
+
</aui-stack>
|
|
35
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
36
|
+
<aui-text size="sm" text="right" style="width: 4rem;">Firefox</aui-text>
|
|
37
|
+
<div style="width: 55%; height: 1.25rem; background: var(--aui-chart-3); border-radius: var(--aui-radius);"></div>
|
|
38
|
+
</aui-stack>
|
|
39
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
40
|
+
<aui-text size="sm" text="right" style="width: 4rem;">Edge</aui-text>
|
|
41
|
+
<div style="width: 45%; height: 1.25rem; background: var(--aui-chart-4); border-radius: var(--aui-radius);"></div>
|
|
42
|
+
</aui-stack>
|
|
43
|
+
<aui-stack direction="row" gap="2" align-items="center">
|
|
44
|
+
<aui-text size="sm" text="right" style="width: 4rem;">Other</aui-text>
|
|
45
|
+
<div style="width: 25%; height: 1.25rem; background: var(--aui-chart-5); border-radius: var(--aui-radius);"></div>
|
|
46
|
+
</aui-stack>
|
|
47
|
+
</aui-stack>
|
|
48
|
+
</aui-inset>
|
|
49
|
+
</aui-content>
|
|
50
|
+
<aui-footer>
|
|
51
|
+
<span slot="leading">
|
|
52
|
+
<aui-stack gap="1">
|
|
53
|
+
<aui-heading size="md">Chrome leads at 42%</aui-heading>
|
|
54
|
+
<aui-text muted size="sm">Showing browser usage for the last 6 months</aui-text>
|
|
55
|
+
</aui-stack>
|
|
56
|
+
</span>
|
|
57
|
+
</aui-footer>
|
|
58
|
+
</aui-container>
|
|
59
|
+
description: Horizontal bar chart comparing browser market share with proportional bars.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: chart-interactive
|
|
2
|
+
type: block
|
|
3
|
+
summary: Wide chart card with stat summaries and dense bar visualization.
|
|
4
|
+
description: >
|
|
5
|
+
A dashboard hero chart card. Header shows the title on the left
|
|
6
|
+
with stat summaries (Desktop, Mobile) trailing on the right.
|
|
7
|
+
Content is a dense 12-bar visualization. Footer shows the date
|
|
8
|
+
range. Designed for full-width dashboard positions.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text, aui-bar]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered>
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Total Visitors</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">Last 3 months</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
<span slot="trailing">
|
|
24
|
+
<aui-stack direction="row" gap="4">
|
|
25
|
+
<aui-stack gap="1" align-items="end">
|
|
26
|
+
<aui-text muted size="xs">Desktop</aui-text>
|
|
27
|
+
<aui-heading size="xl">24,828</aui-heading>
|
|
28
|
+
</aui-stack>
|
|
29
|
+
<aui-stack gap="1" align-items="end">
|
|
30
|
+
<aui-text muted size="xs">Mobile</aui-text>
|
|
31
|
+
<aui-heading size="xl">25,010</aui-heading>
|
|
32
|
+
</aui-stack>
|
|
33
|
+
</aui-stack>
|
|
34
|
+
</span>
|
|
35
|
+
</aui-header>
|
|
36
|
+
<aui-content>
|
|
37
|
+
<aui-inset>
|
|
38
|
+
<aui-stack direction="row" gap="1" align-items="end" spacer style="min-height: 10rem;" data-chart-bars>
|
|
39
|
+
<aui-bar label="Apr 1 · 3,120" style="height: 35%;"></aui-bar>
|
|
40
|
+
<aui-bar label="Apr 8 · 4,890" style="height: 55%;"></aui-bar>
|
|
41
|
+
<aui-bar label="Apr 15 · 3,740" style="height: 42%;"></aui-bar>
|
|
42
|
+
<aui-bar label="Apr 22 · 6,050" style="height: 68%;"></aui-bar>
|
|
43
|
+
<aui-bar label="Apr 29 · 4,010" style="height: 45%;"></aui-bar>
|
|
44
|
+
<aui-bar label="May 6 · 6,940" style="height: 78%;"></aui-bar>
|
|
45
|
+
<aui-bar label="May 13 · 4,630" style="height: 52%;"></aui-bar>
|
|
46
|
+
<aui-bar label="May 20 · 5,340" style="height: 60%;"></aui-bar>
|
|
47
|
+
<aui-bar label="May 27 · 8,010" style="height: 90%;" highlighted></aui-bar>
|
|
48
|
+
<aui-bar label="Jun 3 · 6,410" style="height: 72%;"></aui-bar>
|
|
49
|
+
<aui-bar label="Jun 10 · 4,270" style="height: 48%;"></aui-bar>
|
|
50
|
+
<aui-bar label="Jun 17 · 3,380" style="height: 38%;" highlighted></aui-bar>
|
|
51
|
+
</aui-stack>
|
|
52
|
+
</aui-inset>
|
|
53
|
+
</aui-content>
|
|
54
|
+
<aui-footer>
|
|
55
|
+
<span slot="content"><aui-text muted size="sm">April 1 – June 29, 2026</aui-text></span>
|
|
56
|
+
</aui-footer>
|
|
57
|
+
</aui-container>
|
|
58
|
+
description: Wide dashboard chart with stat tabs and 12-bar dense visualization.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
name: chart-labeled
|
|
2
|
+
type: block
|
|
3
|
+
summary: Vertical bar chart with value labels above each bar.
|
|
4
|
+
description: >
|
|
5
|
+
A card showing vertical bars with exact values displayed above
|
|
6
|
+
and month labels below. Labels and bars are in separate rows so
|
|
7
|
+
percentage heights resolve correctly. Alternating opacity adds
|
|
8
|
+
visual rhythm. Useful when exact numbers matter as much as the trend.
|
|
9
|
+
|
|
10
|
+
components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text]
|
|
11
|
+
kind: card
|
|
12
|
+
|
|
13
|
+
examples:
|
|
14
|
+
- html: |
|
|
15
|
+
<aui-container kind="card" bordered max-width="prose">
|
|
16
|
+
<aui-header>
|
|
17
|
+
<span slot="leading">
|
|
18
|
+
<aui-stack gap="1">
|
|
19
|
+
<aui-heading size="lg">Monthly Visitors</aui-heading>
|
|
20
|
+
<aui-text muted size="sm">January – June 2026</aui-text>
|
|
21
|
+
</aui-stack>
|
|
22
|
+
</span>
|
|
23
|
+
</aui-header>
|
|
24
|
+
<aui-content>
|
|
25
|
+
<aui-inset>
|
|
26
|
+
<aui-stack gap="1">
|
|
27
|
+
<!-- Value labels row -->
|
|
28
|
+
<aui-stack direction="row" gap="2">
|
|
29
|
+
<aui-text muted size="xs" spacer text="center">186</aui-text>
|
|
30
|
+
<aui-text muted size="xs" spacer text="center">305</aui-text>
|
|
31
|
+
<aui-text muted size="xs" spacer text="center">237</aui-text>
|
|
32
|
+
<aui-text muted size="xs" spacer text="center">73</aui-text>
|
|
33
|
+
<aui-text muted size="xs" spacer text="center">209</aui-text>
|
|
34
|
+
<aui-text muted size="xs" spacer text="center">214</aui-text>
|
|
35
|
+
</aui-stack>
|
|
36
|
+
<!-- Bars: direct children of align-items="end" row so height % resolves against 8rem -->
|
|
37
|
+
<aui-stack direction="row" gap="2" align-items="end" spacer style="min-height: 8rem;">
|
|
38
|
+
<div style="flex: 1; height: 45%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
39
|
+
<div style="flex: 1; height: 75%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
40
|
+
<div style="flex: 1; height: 58%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
41
|
+
<div style="flex: 1; height: 18%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
42
|
+
<div style="flex: 1; height: 51%; background: var(--aui-chart-2); border-radius: var(--aui-radius);"></div>
|
|
43
|
+
<div style="flex: 1; height: 52%; background: var(--aui-chart-1); border-radius: var(--aui-radius);"></div>
|
|
44
|
+
</aui-stack>
|
|
45
|
+
<!-- Month labels row -->
|
|
46
|
+
<aui-stack direction="row" gap="2">
|
|
47
|
+
<aui-text muted size="xs" spacer text="center">Jan</aui-text>
|
|
48
|
+
<aui-text muted size="xs" spacer text="center">Feb</aui-text>
|
|
49
|
+
<aui-text muted size="xs" spacer text="center">Mar</aui-text>
|
|
50
|
+
<aui-text muted size="xs" spacer text="center">Apr</aui-text>
|
|
51
|
+
<aui-text muted size="xs" spacer text="center">May</aui-text>
|
|
52
|
+
<aui-text muted size="xs" spacer text="center">Jun</aui-text>
|
|
53
|
+
</aui-stack>
|
|
54
|
+
</aui-stack>
|
|
55
|
+
</aui-inset>
|
|
56
|
+
</aui-content>
|
|
57
|
+
<aui-footer>
|
|
58
|
+
<span slot="leading">
|
|
59
|
+
<aui-stack gap="1">
|
|
60
|
+
<aui-heading size="md">February peaked at 305 visitors</aui-heading>
|
|
61
|
+
<aui-text muted size="sm">Showing total visitors for the last 6 months</aui-text>
|
|
62
|
+
</aui-stack>
|
|
63
|
+
</span>
|
|
64
|
+
</aui-footer>
|
|
65
|
+
</aui-container>
|
|
66
|
+
description: Labeled bar chart with value labels row, bar row, and month labels row.
|