@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
@@ -1,17 +1,24 @@
1
1
  name: contributors
2
2
  type: block
3
3
  summary: Contributors card showing overlapping avatar group with count and overflow link.
4
- description: >
5
- A card displaying project contributors as an overlapping avatar group with
6
- a count badge and automatic +N overflow counter. Footer shows total
7
- contributor count as a text link. Use for open source projects, team pages,
8
- or community sections.
9
-
10
- components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-heading, aui-text, aui-avatar, aui-avatar-group, aui-badge]
4
+ description: |
5
+ A card displaying project contributors as an overlapping avatar group with a count badge and automatic +N overflow counter. Footer shows total contributor count as a text link. Use for open source projects, team pages, or community sections.
6
+ components:
7
+ - aui-container
8
+ - aui-header
9
+ - aui-content
10
+ - aui-footer
11
+ - aui-inset
12
+ - aui-stack
13
+ - aui-heading
14
+ - aui-text
15
+ - aui-avatar
16
+ - aui-avatar-group
17
+ - aui-badge
11
18
  kind: card
12
-
13
19
  examples:
14
- - html: |
20
+ - description: Contributors card showing overlapping avatar group with count and overflow link.
21
+ html: |-
15
22
  <aui-container kind="card" bordered max-width="prose">
16
23
  <aui-header>
17
24
  <span slot="leading">
@@ -44,7 +51,6 @@ examples:
44
51
  </aui-inset>
45
52
  </aui-content>
46
53
  <aui-footer>
47
- <span slot="leading"><aui-text muted size="sm" style="text-decoration: underline; cursor: pointer;">+ 810 contributors</aui-text></span>
54
+ <span slot="leading"><aui-text muted size="sm"><a href="#">+ 810 contributors</a></aui-text></span>
48
55
  </aui-footer>
49
56
  </aui-container>
50
- description: Contributors avatar group with count badge and overflow link.
@@ -1,7 +1,161 @@
1
1
  name: cyber-threat
2
2
  type: block
3
3
  summary: Cyber Threat Intelligence — 12 nodes, 14 connections.
4
- description: >
5
- Visual graph block rendered from the Cyber Threat Intelligence 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]
4
+ description: |
5
+ Visual graph block rendered from the Cyber Threat Intelligence dataset using aui-graph components with port-selector noodle connections.
6
+ components:
7
+ - aui-container
8
+ - aui-text
9
+ - aui-graph-ui
10
+ - aui-graph-layer
11
+ - aui-graph-node
12
+ - aui-graph-noodle
13
+ - aui-graph-port
14
+ examples:
15
+ - description: Cyber Threat Intelligence — 12 nodes, 14 connections.
16
+ html: |-
17
+ <aui-graph-ui connectable style="width: 100%; height: 32.875rem; min-width: 84.625rem;">
18
+ <aui-graph-layer name="wires" type="svg">
19
+ <!-- Network Sensor → SIEM Aggregator -->
20
+ <aui-graph-noodle from="cy-sensor:right" to="cy-siem:left" color="accent" weight="2"></aui-graph-noodle>
21
+ <!-- Endpoint Agent → SIEM Aggregator -->
22
+ <aui-graph-noodle from="cy-endpoint:right" to="cy-siem:left" color="accent" weight="2"></aui-graph-noodle>
23
+ <!-- Threat Intel Feed → SIEM Aggregator -->
24
+ <aui-graph-noodle from="cy-intel:right" to="cy-siem:left" color="accent" weight="2"></aui-graph-noodle>
25
+ <!-- SIEM Aggregator → Threat Classifier -->
26
+ <aui-graph-noodle from="cy-siem:right" to="cy-classify:left" color="accent" weight="2"></aui-graph-noodle>
27
+ <!-- SIEM Aggregator → IOC Enrichment -->
28
+ <aui-graph-noodle from="cy-siem:right" to="cy-ioc:left" color="accent" weight="2"></aui-graph-noodle>
29
+ <!-- Threat Classifier → Triage Engine -->
30
+ <aui-graph-noodle from="cy-classify:right" to="cy-triage:left" color="accent" weight="2"></aui-graph-noodle>
31
+ <!-- IOC Enrichment → Triage Engine -->
32
+ <aui-graph-noodle from="cy-ioc:right" to="cy-triage:left" color="accent" weight="2"></aui-graph-noodle>
33
+ <!-- Triage Engine → Incident Response -->
34
+ <aui-graph-noodle from="cy-triage:right" to="cy-incident:left" color="danger" weight="2"></aui-graph-noodle>
35
+ <!-- Triage Engine → Containment Action -->
36
+ <aui-graph-noodle from="cy-triage:right" to="cy-contain:left" color="danger" weight="2"></aui-graph-noodle>
37
+ <!-- Incident Response → Forensic Analysis -->
38
+ <aui-graph-noodle from="cy-incident:right" to="cy-forensic:left" color="accent" weight="2"></aui-graph-noodle>
39
+ <!-- Incident Response → Recovery -->
40
+ <aui-graph-noodle from="cy-incident:right" to="cy-recovery:left" color="accent" weight="2"></aui-graph-noodle>
41
+ <!-- Containment Action → Recovery -->
42
+ <aui-graph-noodle from="cy-contain:right" to="cy-recovery:left" color="accent" weight="2"></aui-graph-noodle>
43
+ <!-- Forensic Analysis → Post-Mortem -->
44
+ <aui-graph-noodle from="cy-forensic:left" to="cy-postmortem:left" color="accent" weight="2"></aui-graph-noodle>
45
+ <!-- Recovery → Post-Mortem -->
46
+ <aui-graph-noodle from="cy-recovery:left" to="cy-postmortem:left" color="accent" weight="2"></aui-graph-noodle>
47
+ </aui-graph-layer>
48
+ <aui-graph-layer name="content">
49
+ <!-- Network Sensor -->
50
+ <aui-graph-node x="24" y="46" node-id="cy-sensor">
51
+ <aui-container kind="card" bordered padding="3" accent>
52
+ <aui-text weight="medium">Network Sensor</aui-text>
53
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
54
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
55
+ </aui-container>
56
+ </aui-graph-node>
57
+ <!-- Endpoint Agent -->
58
+ <aui-graph-node x="24" y="186" node-id="cy-endpoint">
59
+ <aui-container kind="card" bordered padding="3" accent>
60
+ <aui-text weight="medium">Endpoint Agent</aui-text>
61
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
62
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
63
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
64
+ </aui-container>
65
+ </aui-graph-node>
66
+ <!-- Threat Intel Feed -->
67
+ <aui-graph-node x="24" y="326" node-id="cy-intel">
68
+ <aui-container kind="card" bordered padding="3" accent>
69
+ <aui-text weight="medium">Threat Intel Feed</aui-text>
70
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
71
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
72
+ </aui-container>
73
+ </aui-graph-node>
74
+ <!-- SIEM Aggregator -->
75
+ <aui-graph-node x="240" y="186" node-id="cy-siem">
76
+ <aui-container kind="card" bordered padding="3" info>
77
+ <aui-text weight="medium">SIEM Aggregator</aui-text>
78
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
79
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
80
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
81
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
82
+ </aui-container>
83
+ </aui-graph-node>
84
+ <!-- Threat Classifier -->
85
+ <aui-graph-node x="456" y="116" node-id="cy-classify">
86
+ <aui-container kind="card" bordered padding="3" warning>
87
+ <aui-text weight="medium">Threat Classifier</aui-text>
88
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
89
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
90
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
91
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
92
+ </aui-container>
93
+ </aui-graph-node>
94
+ <!-- IOC Enrichment -->
95
+ <aui-graph-node x="456" y="256" node-id="cy-ioc">
96
+ <aui-container kind="card" bordered padding="3" warning>
97
+ <aui-text weight="medium">IOC Enrichment</aui-text>
98
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
99
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
100
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
101
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
102
+ </aui-container>
103
+ </aui-graph-node>
104
+ <!-- Triage Engine -->
105
+ <aui-graph-node x="672" y="186" node-id="cy-triage">
106
+ <aui-container kind="card" bordered padding="3" danger>
107
+ <aui-text weight="medium">Triage Engine</aui-text>
108
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
109
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
110
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
111
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
112
+ </aui-container>
113
+ </aui-graph-node>
114
+ <!-- Incident Response -->
115
+ <aui-graph-node x="888" y="116" node-id="cy-incident">
116
+ <aui-container kind="card" bordered padding="3" danger>
117
+ <aui-text weight="medium">Incident Response</aui-text>
118
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
119
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
120
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
121
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
122
+ </aui-container>
123
+ </aui-graph-node>
124
+ <!-- Containment Action -->
125
+ <aui-graph-node x="888" y="256" node-id="cy-contain">
126
+ <aui-container kind="card" bordered padding="3" danger>
127
+ <aui-text weight="medium">Containment Action</aui-text>
128
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
129
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
130
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
131
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
132
+ </aui-container>
133
+ </aui-graph-node>
134
+ <!-- Forensic Analysis -->
135
+ <aui-graph-node x="1104" y="46" node-id="cy-forensic">
136
+ <aui-container kind="card" bordered padding="3" success>
137
+ <aui-text weight="medium">Forensic Analysis</aui-text>
138
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
139
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
140
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
141
+ </aui-container>
142
+ </aui-graph-node>
143
+ <!-- Recovery -->
144
+ <aui-graph-node x="1104" y="186" node-id="cy-recovery">
145
+ <aui-container kind="card" bordered padding="3" success>
146
+ <aui-text weight="medium">Recovery</aui-text>
147
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
148
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
149
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
150
+ </aui-container>
151
+ </aui-graph-node>
152
+ <!-- Post-Mortem -->
153
+ <aui-graph-node x="1104" y="326" node-id="cy-postmortem">
154
+ <aui-container kind="card" bordered padding="3" info>
155
+ <aui-text weight="medium">Post-Mortem</aui-text>
156
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
157
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
158
+ </aui-container>
159
+ </aui-graph-node>
160
+ </aui-graph-layer>
161
+ </aui-graph-ui>
@@ -1,22 +1,30 @@
1
1
  name: dashboard-layout
2
2
  type: block
3
3
  summary: Application shell with sidebar, page header, and content grid.
4
- description: >
5
- A production-ready app shell combining a compact sidebar with a
6
- main content area. The sidebar uses card kind with elevation for
7
- visual separation, aui-nav-item elements with an active state, and a
8
- user footer. The main area has a welcoming page header and a
9
- responsive grid of aui-stat widgets. This is a starting composition —
10
- the content area would hold tables, charts, or lists in a real app.
11
-
12
- components: [aui-container, aui-header, aui-content, aui-footer, aui-inset, aui-stack, aui-wrap, aui-heading, aui-text, aui-stat, aui-icon, aui-avatar, aui-divider, aui-nav-item]
4
+ description: |
5
+ A production-ready app shell combining a compact sidebar with a main content area. The sidebar uses card kind with elevation for visual separation, aui-nav-item elements with an active state, and a user footer. The main area has a welcoming page header and a responsive grid of aui-stat widgets. This is a starting composition — the content area would hold tables, charts, or lists in a real app.
6
+ components:
7
+ - aui-container
8
+ - aui-header
9
+ - aui-content
10
+ - aui-footer
11
+ - aui-inset
12
+ - aui-stack
13
+ - aui-wrap
14
+ - aui-heading
15
+ - aui-text
16
+ - aui-stat
17
+ - aui-icon
18
+ - aui-avatar
19
+ - aui-divider
20
+ - aui-nav-item
13
21
  kind: card
14
-
15
22
  examples:
16
- - html: |
23
+ - description: Application shell with sidebar, page header, and content grid.
24
+ html: |-
17
25
  <aui-stack direction="row" gap="0" style="min-height: 28rem;">
18
26
  <!-- Sidebar -->
19
- <aui-container kind="card" elevation="2" style="width: 14rem; flex-shrink: 0;">
27
+ <aui-container kind="card" elevation="2" shrink="0" style="width: 14rem;">
20
28
  <aui-header>
21
29
  <span slot="leading"><aui-avatar square size="sm"><img src="/icon.svg" alt="Acme Inc"></aui-avatar></span>
22
30
  <span slot="content"><aui-heading size="md" weight="medium">Acme Inc</aui-heading></span>
@@ -59,7 +67,7 @@ examples:
59
67
  <!-- Main -->
60
68
  <aui-stack gap="0" spacer>
61
69
  <!-- Page header -->
62
- <aui-header style="padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--aui-border-muted);">
70
+ <aui-header class="aui-dashboard-layout-page-header">
63
71
  <span slot="leading">
64
72
  <aui-stack gap="1">
65
73
  <aui-heading size="xl">Dashboard</aui-heading>
@@ -69,19 +77,19 @@ examples:
69
77
  </aui-header>
70
78
 
71
79
  <!-- Content -->
72
- <aui-stack gap="3" style="padding: 1.5rem;">
80
+ <aui-stack padding="6">
73
81
  <aui-wrap gap="3">
74
- <aui-container kind="widget" bordered spacer style="min-width: 11rem;">
82
+ <aui-container kind="widget" bordered spacer min-width="11">
75
83
  <aui-inset>
76
84
  <aui-stat label="Revenue" value="$24,500" trend="up" change="+12%"></aui-stat>
77
85
  </aui-inset>
78
86
  </aui-container>
79
- <aui-container kind="widget" bordered spacer style="min-width: 11rem;">
87
+ <aui-container kind="widget" bordered spacer min-width="11">
80
88
  <aui-inset>
81
89
  <aui-stat label="Active Users" value="1,240" trend="up" change="+8%"></aui-stat>
82
90
  </aui-inset>
83
91
  </aui-container>
84
- <aui-container kind="widget" bordered spacer style="min-width: 11rem;">
92
+ <aui-container kind="widget" bordered spacer min-width="11">
85
93
  <aui-inset>
86
94
  <aui-stat label="Open Tasks" value="17" change="3 overdue"></aui-stat>
87
95
  </aui-inset>
@@ -100,4 +108,3 @@ examples:
100
108
  </aui-stack>
101
109
  </aui-stack>
102
110
  </aui-stack>
103
- description: Full dashboard shell with sidebar, page header, aui-stat widgets, and content placeholder.
@@ -1,9 +1,225 @@
1
1
  name: data-eng-dag
2
2
  type: block
3
3
  summary: Airflow-style data engineering DAG with medallion architecture and quality gates.
4
- description: >
5
- A visual directed acyclic graph representing a modern data engineering pipeline.
6
- Ingests from S3, Kafka, PostgreSQL CDC, and REST APIs through schema validation,
7
- deduplication, and PII scrubbing into a Bronze/Silver/Gold medallion lakehouse
8
- architecture with quality checks, aggregation, and BI dashboard refresh.
9
- components: [aui-container, aui-text, aui-graph-ui, aui-graph-layer, aui-graph-node, aui-graph-noodle, aui-graph-port]
4
+ description: |
5
+ A visual directed acyclic graph representing a modern data engineering pipeline. Ingests from S3, Kafka, PostgreSQL CDC, and REST APIs through schema validation, deduplication, and PII scrubbing into a Bronze/Silver/Gold medallion lakehouse architecture with quality checks, aggregation, and BI dashboard refresh.
6
+ components:
7
+ - aui-container
8
+ - aui-text
9
+ - aui-graph-ui
10
+ - aui-graph-layer
11
+ - aui-graph-node
12
+ - aui-graph-noodle
13
+ - aui-graph-port
14
+ examples:
15
+ - description: Airflow-style data engineering DAG with medallion architecture and quality gates.
16
+ html: |-
17
+ <aui-graph-ui connectable style="width: 100%; height: 39rem; min-width: 89rem;">
18
+ <aui-graph-layer name="wires" type="svg">
19
+ <!-- S3 Raw Bucket → Schema Validator -->
20
+ <aui-graph-noodle from="de-s3-raw:right" to="de-schema-val:left" color="accent" weight="2"></aui-graph-noodle>
21
+ <!-- Kafka Stream → Schema Validator -->
22
+ <aui-graph-noodle from="de-kafka:right" to="de-schema-val:left" color="accent" weight="2"></aui-graph-noodle>
23
+ <!-- Kafka Stream → Deduplication -->
24
+ <aui-graph-noodle from="de-kafka:right" to="de-dedup:left" color="accent" weight="2"></aui-graph-noodle>
25
+ <!-- PostgreSQL CDC → Deduplication -->
26
+ <aui-graph-noodle from="de-postgres:right" to="de-dedup:left" color="accent" weight="2"></aui-graph-noodle>
27
+ <!-- PostgreSQL CDC → PII Scrubber -->
28
+ <aui-graph-noodle from="de-postgres:right" to="de-pii:left" color="accent" weight="2"></aui-graph-noodle>
29
+ <!-- REST API Ingest → PII Scrubber -->
30
+ <aui-graph-noodle from="de-api-ingest:right" to="de-pii:left" color="accent" weight="2"></aui-graph-noodle>
31
+ <!-- Schema Validator → Bronze Layer -->
32
+ <aui-graph-noodle from="de-schema-val:right" to="de-bronze:left" color="accent" weight="2"></aui-graph-noodle>
33
+ <!-- Deduplication → Bronze Layer -->
34
+ <aui-graph-noodle from="de-dedup:right" to="de-bronze:left" color="accent" weight="2"></aui-graph-noodle>
35
+ <!-- PII Scrubber → Bronze Layer -->
36
+ <aui-graph-noodle from="de-pii:right" to="de-bronze:left" color="accent" weight="2"></aui-graph-noodle>
37
+ <!-- Bronze Layer → Spark Cleaning Job -->
38
+ <aui-graph-noodle from="de-bronze:right" to="de-spark-clean:left" color="accent" weight="2"></aui-graph-noodle>
39
+ <!-- Bronze Layer → dbt Transform Models -->
40
+ <aui-graph-noodle from="de-bronze:right" to="de-dbt-models:left" color="accent" weight="2"></aui-graph-noodle>
41
+ <!-- Bronze Layer → Great Expectations QA -->
42
+ <aui-graph-noodle from="de-bronze:right" to="de-quality:left" color="danger" weight="2"></aui-graph-noodle>
43
+ <!-- Spark Cleaning Job → Silver Layer -->
44
+ <aui-graph-noodle from="de-spark-clean:right" to="de-silver:left" color="accent" weight="2"></aui-graph-noodle>
45
+ <!-- dbt Transform Models → Silver Layer -->
46
+ <aui-graph-noodle from="de-dbt-models:right" to="de-silver:left" color="accent" weight="2"></aui-graph-noodle>
47
+ <!-- Great Expectations QA → Pipeline Alert -->
48
+ <aui-graph-noodle from="de-quality:bottom" to="de-alert:left" color="danger" weight="2"></aui-graph-noodle>
49
+ <!-- Great Expectations QA → Silver Layer -->
50
+ <aui-graph-noodle from="de-quality:right" to="de-silver:left" color="accent" weight="2"></aui-graph-noodle>
51
+ <!-- Silver Layer → Aggregation Engine -->
52
+ <aui-graph-noodle from="de-silver:bottom" to="de-agg:top" color="accent" weight="2"></aui-graph-noodle>
53
+ <!-- Silver Layer → Gold Layer -->
54
+ <aui-graph-noodle from="de-silver:right" to="de-gold:left" color="accent" weight="2"></aui-graph-noodle>
55
+ <!-- Aggregation Engine → Data Warehouse Sync -->
56
+ <aui-graph-noodle from="de-agg:right" to="de-warehouse:left" color="accent" weight="2"></aui-graph-noodle>
57
+ <!-- Gold Layer → Data Warehouse Sync -->
58
+ <aui-graph-noodle from="de-gold:bottom" to="de-warehouse:top" color="accent" weight="2"></aui-graph-noodle>
59
+ <!-- Data Warehouse Sync → BI Dashboard Refresh -->
60
+ <aui-graph-noodle from="de-warehouse:bottom" to="de-dashboard:top" color="accent" weight="2"></aui-graph-noodle>
61
+ </aui-graph-layer>
62
+ <aui-graph-layer name="content">
63
+ <!-- S3 Raw Bucket -->
64
+ <aui-graph-node x="24" y="46" node-id="de-s3-raw">
65
+ <aui-container kind="card" bordered padding="3" accent>
66
+ <aui-text weight="medium">S3 Raw Bucket</aui-text>
67
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
68
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
69
+ </aui-container>
70
+ </aui-graph-node>
71
+ <!-- Kafka Stream -->
72
+ <aui-graph-node x="24" y="186" node-id="de-kafka">
73
+ <aui-container kind="card" bordered padding="3" accent>
74
+ <aui-text weight="medium">Kafka Stream</aui-text>
75
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
76
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
77
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
78
+ </aui-container>
79
+ </aui-graph-node>
80
+ <!-- PostgreSQL CDC -->
81
+ <aui-graph-node x="24" y="326" node-id="de-postgres">
82
+ <aui-container kind="card" bordered padding="3" accent>
83
+ <aui-text weight="medium">PostgreSQL CDC</aui-text>
84
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
85
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
86
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
87
+ </aui-container>
88
+ </aui-graph-node>
89
+ <!-- REST API Ingest -->
90
+ <aui-graph-node x="24" y="466" node-id="de-api-ingest">
91
+ <aui-container kind="card" bordered padding="3" accent>
92
+ <aui-text weight="medium">REST API Ingest</aui-text>
93
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
94
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
95
+ </aui-container>
96
+ </aui-graph-node>
97
+ <!-- Schema Validator -->
98
+ <aui-graph-node x="260" y="116" node-id="de-schema-val">
99
+ <aui-container kind="card" bordered padding="3" info>
100
+ <aui-text weight="medium">Schema Validator</aui-text>
101
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
102
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
103
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
104
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
105
+ </aui-container>
106
+ </aui-graph-node>
107
+ <!-- Deduplication -->
108
+ <aui-graph-node x="260" y="256" node-id="de-dedup">
109
+ <aui-container kind="card" bordered padding="3" info>
110
+ <aui-text weight="medium">Deduplication</aui-text>
111
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
112
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
113
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
114
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
115
+ </aui-container>
116
+ </aui-graph-node>
117
+ <!-- PII Scrubber -->
118
+ <aui-graph-node x="260" y="396" node-id="de-pii">
119
+ <aui-container kind="card" bordered padding="3" danger>
120
+ <aui-text weight="medium">PII Scrubber</aui-text>
121
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
122
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
123
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
124
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
125
+ </aui-container>
126
+ </aui-graph-node>
127
+ <!-- Bronze Layer (Iceberg) -->
128
+ <aui-graph-node x="500" y="186" node-id="de-bronze">
129
+ <aui-container kind="card" bordered padding="3" warning>
130
+ <aui-text weight="medium">Bronze Layer (Iceberg)</aui-text>
131
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
132
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
133
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
134
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
135
+ </aui-container>
136
+ </aui-graph-node>
137
+ <!-- Spark Cleaning Job -->
138
+ <aui-graph-node x="740" y="116" node-id="de-spark-clean">
139
+ <aui-container kind="card" bordered padding="3" warning>
140
+ <aui-text weight="medium">Spark Cleaning Job</aui-text>
141
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
142
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
143
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
144
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
145
+ </aui-container>
146
+ </aui-graph-node>
147
+ <!-- dbt Transform Models -->
148
+ <aui-graph-node x="740" y="256" node-id="de-dbt-models">
149
+ <aui-container kind="card" bordered padding="3" warning>
150
+ <aui-text weight="medium">dbt Transform Models</aui-text>
151
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
152
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
153
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
154
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
155
+ </aui-container>
156
+ </aui-graph-node>
157
+ <!-- Great Expectations QA -->
158
+ <aui-graph-node x="740" y="396" node-id="de-quality">
159
+ <aui-container kind="card" bordered padding="3" danger>
160
+ <aui-text weight="medium">Great Expectations QA</aui-text>
161
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
162
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
163
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
164
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
165
+ </aui-container>
166
+ </aui-graph-node>
167
+ <!-- Silver Layer -->
168
+ <aui-graph-node x="980" y="186" node-id="de-silver">
169
+ <aui-container kind="card" bordered padding="3" success>
170
+ <aui-text weight="medium">Silver Layer</aui-text>
171
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
172
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
173
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
174
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
175
+ </aui-container>
176
+ </aui-graph-node>
177
+ <!-- Aggregation Engine -->
178
+ <aui-graph-node x="980" y="326" node-id="de-agg">
179
+ <aui-container kind="card" bordered padding="3" success>
180
+ <aui-text weight="medium">Aggregation Engine</aui-text>
181
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
182
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
183
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
184
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
185
+ </aui-container>
186
+ </aui-graph-node>
187
+ <!-- Gold Layer (Analytics) -->
188
+ <aui-graph-node x="1220" y="116" node-id="de-gold">
189
+ <aui-container kind="card" bordered padding="3" success>
190
+ <aui-text weight="medium">Gold Layer (Analytics)</aui-text>
191
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
192
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
193
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
194
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
195
+ </aui-container>
196
+ </aui-graph-node>
197
+ <!-- Data Warehouse Sync -->
198
+ <aui-graph-node x="1220" y="256" node-id="de-warehouse">
199
+ <aui-container kind="card" bordered padding="3" success>
200
+ <aui-text weight="medium">Data Warehouse Sync</aui-text>
201
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
202
+ <aui-graph-port port-id="right" side="right" type="output"></aui-graph-port>
203
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
204
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
205
+ </aui-container>
206
+ </aui-graph-node>
207
+ <!-- BI Dashboard Refresh -->
208
+ <aui-graph-node x="1220" y="396" node-id="de-dashboard">
209
+ <aui-container kind="card" bordered padding="3" info>
210
+ <aui-text weight="medium">BI Dashboard Refresh</aui-text>
211
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
212
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
213
+ <aui-graph-port port-id="bottom" side="bottom" type="output"></aui-graph-port>
214
+ </aui-container>
215
+ </aui-graph-node>
216
+ <!-- Pipeline Alert -->
217
+ <aui-graph-node x="980" y="466" node-id="de-alert">
218
+ <aui-container kind="card" bordered padding="3" danger>
219
+ <aui-text weight="medium">Pipeline Alert</aui-text>
220
+ <aui-graph-port port-id="left" side="left" type="input"></aui-graph-port>
221
+ <aui-graph-port port-id="top" side="top" type="input"></aui-graph-port>
222
+ </aui-container>
223
+ </aui-graph-node>
224
+ </aui-graph-layer>
225
+ </aui-graph-ui>
@@ -1,17 +1,19 @@
1
1
  name: date-picker
2
2
  type: block
3
3
  summary: Calendar date picker inside a bordered card.
4
- description: >
5
- A date selection card wrapping the aui-calendar component. Shows
6
- the calendar with a card surface and border for visual containment.
7
- Use as a standalone picker or compose inside dialogs, popovers,
8
- or form layouts. Supports single selection and range mode.
9
-
10
- components: [aui-container, aui-inset, aui-stack, aui-heading, aui-text, aui-calendar]
4
+ description: |
5
+ A date selection card wrapping the aui-calendar component. Shows the calendar with a card surface and border for visual containment. Use as a standalone picker or compose inside dialogs, popovers, or form layouts. Supports single selection and range mode.
6
+ components:
7
+ - aui-container
8
+ - aui-inset
9
+ - aui-stack
10
+ - aui-heading
11
+ - aui-text
12
+ - aui-calendar
11
13
  kind: card
12
-
13
14
  examples:
14
- - html: |
15
+ - description: Calendar date picker inside a bordered card.
16
+ html: |-
15
17
  <aui-container kind="card" bordered max-width="sm">
16
18
  <aui-header>
17
19
  <span slot="leading">
@@ -27,4 +29,3 @@ examples:
27
29
  </aui-inset>
28
30
  </aui-content>
29
31
  </aui-container>
30
- description: Calendar picker inside a card with header context.