@agent-ui-kit/web-components 0.0.2 → 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.
Files changed (194) hide show
  1. package/README.md +429 -0
  2. package/dist/agent-ui.css +1 -1
  3. package/dist/api.json +9519 -0
  4. package/dist/docs/blocks/agent-chat.yaml +111 -0
  5. package/dist/docs/blocks/announcement-card.yaml +30 -0
  6. package/dist/docs/blocks/bpm-process.yaml +7 -0
  7. package/dist/docs/blocks/chart-activity.yaml +73 -0
  8. package/dist/docs/blocks/chart-card.yaml +55 -0
  9. package/dist/docs/blocks/chart-donut.yaml +83 -0
  10. package/dist/docs/blocks/chart-grouped.yaml +75 -0
  11. package/dist/docs/blocks/chart-horizontal.yaml +59 -0
  12. package/dist/docs/blocks/chart-interactive.yaml +58 -0
  13. package/dist/docs/blocks/chart-labeled.yaml +66 -0
  14. package/dist/docs/blocks/checkout-form.yaml +57 -0
  15. package/dist/docs/blocks/clinical-trial.yaml +7 -0
  16. package/dist/docs/blocks/contributors.yaml +51 -0
  17. package/dist/docs/blocks/cyber-threat.yaml +7 -0
  18. package/dist/docs/blocks/dashboard-layout.yaml +121 -0
  19. package/dist/docs/blocks/data-eng-dag.yaml +9 -0
  20. package/dist/docs/blocks/date-picker.yaml +30 -0
  21. package/dist/docs/blocks/ddx-workflow.yaml +9 -0
  22. package/dist/docs/blocks/empty-state.yaml +26 -0
  23. package/dist/docs/blocks/env-variables.yaml +46 -0
  24. package/dist/docs/blocks/feature-upgrade.yaml +52 -0
  25. package/dist/docs/blocks/financial-risk.yaml +7 -0
  26. package/dist/docs/blocks/flow-editor.yaml +113 -0
  27. package/dist/docs/blocks/gen-ai-pipeline.yaml +8 -0
  28. package/dist/docs/blocks/index.yaml +245 -0
  29. package/dist/docs/blocks/issue-assign.yaml +34 -0
  30. package/dist/docs/blocks/keyboard-shortcuts.yaml +49 -0
  31. package/dist/docs/blocks/login-branded.yaml +81 -0
  32. package/dist/docs/blocks/login-email-only.yaml +39 -0
  33. package/dist/docs/blocks/login-form.yaml +42 -0
  34. package/dist/docs/blocks/login-simple.yaml +54 -0
  35. package/dist/docs/blocks/login-social.yaml +73 -0
  36. package/dist/docs/blocks/login-two-column.yaml +78 -0
  37. package/dist/docs/blocks/marketing-automation.yaml +7 -0
  38. package/dist/docs/blocks/member-list.yaml +58 -0
  39. package/dist/docs/blocks/ml-pipeline.yaml +7 -0
  40. package/dist/docs/blocks/nav-card.yaml +27 -0
  41. package/dist/docs/blocks/notification-list.yaml +58 -0
  42. package/dist/docs/blocks/oncology-pathway.yaml +7 -0
  43. package/dist/docs/blocks/pricing-card.yaml +53 -0
  44. package/dist/docs/blocks/processing-state.yaml +25 -0
  45. package/dist/docs/blocks/profile-card.yaml +48 -0
  46. package/dist/docs/blocks/saas-onboarding.yaml +7 -0
  47. package/dist/docs/blocks/settings-form.yaml +42 -0
  48. package/dist/docs/blocks/settings-panel.yaml +54 -0
  49. package/dist/docs/blocks/sidebar-nav.yaml +55 -0
  50. package/dist/docs/blocks/signup-form.yaml +47 -0
  51. package/dist/docs/blocks/stat-cards.yaml +49 -0
  52. package/dist/docs/blocks/status-card.yaml +40 -0
  53. package/dist/docs/blocks/suggested-labs.yaml +79 -0
  54. package/dist/docs/blocks/supply-chain.yaml +7 -0
  55. package/dist/docs/blocks/survey-card.yaml +52 -0
  56. package/dist/docs/blocks/tabbed-panel.yaml +53 -0
  57. package/dist/docs/blocks/team-empty.yaml +27 -0
  58. package/dist/docs/blocks/usage-billing.yaml +99 -0
  59. package/dist/docs/components/accordion-item.yaml +52 -0
  60. package/dist/docs/components/accordion.yaml +69 -0
  61. package/dist/docs/components/agent-activity.yaml +79 -0
  62. package/dist/docs/components/agent-feed.yaml +83 -0
  63. package/dist/docs/components/agent-message.yaml +120 -0
  64. package/dist/docs/components/agent-panel.yaml +91 -0
  65. package/dist/docs/components/agent-prompt.yaml +78 -0
  66. package/dist/docs/components/agent-seeds.yaml +44 -0
  67. package/dist/docs/components/agent-text.yaml +57 -0
  68. package/dist/docs/components/agent-thread.yaml +82 -0
  69. package/dist/docs/components/app-shell.yaml +64 -0
  70. package/dist/docs/components/breadcrumb-item.yaml +49 -0
  71. package/dist/docs/components/breadcrumb.yaml +59 -0
  72. package/dist/docs/components/button.yaml +439 -0
  73. package/dist/docs/components/calendar.yaml +74 -0
  74. package/dist/docs/components/canvas.yaml +161 -0
  75. package/dist/docs/components/checkbox.yaml +141 -0
  76. package/dist/docs/components/command-empty.yaml +13 -0
  77. package/dist/docs/components/command-group.yaml +23 -0
  78. package/dist/docs/components/command-input.yaml +19 -0
  79. package/dist/docs/components/command-item.yaml +37 -0
  80. package/dist/docs/components/command-list.yaml +17 -0
  81. package/dist/docs/components/command.yaml +64 -0
  82. package/dist/docs/components/container.yaml +298 -0
  83. package/dist/docs/components/dialog.yaml +133 -0
  84. package/dist/docs/components/drawer.yaml +124 -0
  85. package/dist/docs/components/editor-layer.yaml +59 -0
  86. package/dist/docs/components/editor.yaml +168 -0
  87. package/dist/docs/components/feed.yaml +72 -0
  88. package/dist/docs/components/field.yaml +145 -0
  89. package/dist/docs/components/graph-layer.yaml +41 -0
  90. package/dist/docs/components/graph-node.yaml +58 -0
  91. package/dist/docs/components/graph-noodle.yaml +103 -0
  92. package/dist/docs/components/graph-port.yaml +71 -0
  93. package/dist/docs/components/graph-ui.yaml +64 -0
  94. package/dist/docs/components/gripper.yaml +55 -0
  95. package/dist/docs/components/icon.yaml +133 -0
  96. package/dist/docs/components/index.yaml +320 -0
  97. package/dist/docs/components/input-otp.yaml +59 -0
  98. package/dist/docs/components/input.yaml +289 -0
  99. package/dist/docs/components/noodles.yaml +184 -0
  100. package/dist/docs/components/optgroup.yaml +38 -0
  101. package/dist/docs/components/option.yaml +56 -0
  102. package/dist/docs/components/page-context.yaml +55 -0
  103. package/dist/docs/components/page-main.yaml +39 -0
  104. package/dist/docs/components/page.yaml +36 -0
  105. package/dist/docs/components/pagination.yaml +46 -0
  106. package/dist/docs/components/pane.yaml +102 -0
  107. package/dist/docs/components/panes.yaml +82 -0
  108. package/dist/docs/components/preview-app.yaml +170 -0
  109. package/dist/docs/components/radio-group.yaml +108 -0
  110. package/dist/docs/components/radio.yaml +132 -0
  111. package/dist/docs/components/range.yaml +97 -0
  112. package/dist/docs/components/root.yaml +18 -0
  113. package/dist/docs/components/segment.yaml +41 -0
  114. package/dist/docs/components/segmented-control.yaml +52 -0
  115. package/dist/docs/components/select.yaml +241 -0
  116. package/dist/docs/components/sidebar-content.yaml +32 -0
  117. package/dist/docs/components/sidebar-footer.yaml +28 -0
  118. package/dist/docs/components/sidebar-header.yaml +28 -0
  119. package/dist/docs/components/sidebar.yaml +133 -0
  120. package/dist/docs/components/switch.yaml +131 -0
  121. package/dist/docs/components/tab-panel.yaml +41 -0
  122. package/dist/docs/components/tab.yaml +51 -0
  123. package/dist/docs/components/table-body.yaml +11 -0
  124. package/dist/docs/components/table-cell.yaml +11 -0
  125. package/dist/docs/components/table-column.yaml +76 -0
  126. package/dist/docs/components/table-head.yaml +11 -0
  127. package/dist/docs/components/table-header.yaml +11 -0
  128. package/dist/docs/components/table-row.yaml +11 -0
  129. package/dist/docs/components/table.yaml +219 -0
  130. package/dist/docs/components/tabs.yaml +61 -0
  131. package/dist/docs/components/textarea.yaml +196 -0
  132. package/dist/docs/components/toast.yaml +62 -0
  133. package/dist/docs/components/tooltip.yaml +98 -0
  134. package/dist/docs/components/tree-item.yaml +46 -0
  135. package/dist/docs/components/tree.yaml +27 -0
  136. package/dist/docs/traits/auto-dismiss.yaml +23 -0
  137. package/dist/docs/traits/backtick-wrap.yaml +22 -0
  138. package/dist/docs/traits/clipboard.yaml +31 -0
  139. package/dist/docs/traits/collapsible.yaml +23 -0
  140. package/dist/docs/traits/confetti.yaml +37 -0
  141. package/dist/docs/traits/copy.yaml +27 -0
  142. package/dist/docs/traits/css-inspect.yaml +46 -0
  143. package/dist/docs/traits/dismiss.yaml +23 -0
  144. package/dist/docs/traits/drag.yaml +88 -0
  145. package/dist/docs/traits/drop-zone.yaml +37 -0
  146. package/dist/docs/traits/edit.yaml +39 -0
  147. package/dist/docs/traits/flip.yaml +40 -0
  148. package/dist/docs/traits/gateway.yaml +33 -0
  149. package/dist/docs/traits/hover.yaml +39 -0
  150. package/dist/docs/traits/intersect.yaml +42 -0
  151. package/dist/docs/traits/link-paste.yaml +28 -0
  152. package/dist/docs/traits/linked-scroll.yaml +37 -0
  153. package/dist/docs/traits/list-navigate.yaml +46 -0
  154. package/dist/docs/traits/magnet.yaml +33 -0
  155. package/dist/docs/traits/mention.yaml +40 -0
  156. package/dist/docs/traits/modal.yaml +28 -0
  157. package/dist/docs/traits/noodle.yaml +45 -0
  158. package/dist/docs/traits/overlay.yaml +58 -0
  159. package/dist/docs/traits/pan-zoom.yaml +47 -0
  160. package/dist/docs/traits/parallax.yaml +36 -0
  161. package/dist/docs/traits/persist.yaml +42 -0
  162. package/dist/docs/traits/popover.yaml +28 -0
  163. package/dist/docs/traits/present.yaml +42 -0
  164. package/dist/docs/traits/press-hold.yaml +34 -0
  165. package/dist/docs/traits/range-select.yaml +42 -0
  166. package/dist/docs/traits/resize.yaml +39 -0
  167. package/dist/docs/traits/ripple.yaml +20 -0
  168. package/dist/docs/traits/roving-focus.yaml +30 -0
  169. package/dist/docs/traits/search.yaml +44 -0
  170. package/dist/docs/traits/selection.yaml +41 -0
  171. package/dist/docs/traits/shortcut.yaml +25 -0
  172. package/dist/docs/traits/slash-command.yaml +40 -0
  173. package/dist/docs/traits/snap-resize.yaml +39 -0
  174. package/dist/docs/traits/sort.yaml +47 -0
  175. package/dist/docs/traits/store.yaml +32 -0
  176. package/dist/docs/traits/swipe.yaml +38 -0
  177. package/dist/docs/traits/text-trigger.yaml +35 -0
  178. package/dist/docs/traits/toast.yaml +41 -0
  179. package/dist/docs/traits/toggle-scheme.yaml +40 -0
  180. package/dist/docs/traits/toggle-state.yaml +23 -0
  181. package/dist/docs/traits/tooltip.yaml +39 -0
  182. package/dist/docs/traits/toss.yaml +40 -0
  183. package/dist/docs/traits/trap-focus.yaml +20 -0
  184. package/dist/docs/traits/validate.yaml +52 -0
  185. package/dist/docs/traits/virtual-scroll.yaml +44 -0
  186. package/dist/favicon/apple-touch-icon.png +0 -0
  187. package/dist/favicon/favicon-96x96.png +0 -0
  188. package/dist/favicon/favicon.ico +0 -0
  189. package/dist/favicon/favicon.svg +1 -0
  190. package/dist/favicon/site.webmanifest +21 -0
  191. package/dist/favicon/web-app-manifest-192x192.png +0 -0
  192. package/dist/favicon/web-app-manifest-512x512.png +0 -0
  193. package/dist/icon.svg +4 -0
  194. package/package.json +4 -2
@@ -0,0 +1,184 @@
1
+ name: aui-noodles
2
+ tag: aui-noodles
3
+ type: component
4
+ summary: Declarative SVG noodle canvas for node-based flow editors.
5
+ description: >
6
+ Renders SVG bezier/step/straight connections between child elements.
7
+ Children declare ports via `data-noodle-port="left right"` and the
8
+ element handles the SVG overlay, coordinate system, path computation,
9
+ and interactive drag-to-connect when editable. Supports reconnect
10
+ (grab an existing noodle to move it), proximity-based port snapping,
11
+ and animated dash patterns.
12
+
13
+ base: AgentElement
14
+
15
+ attributes:
16
+ editable:
17
+ syntax: boolean
18
+ type: boolean
19
+ default: false
20
+ description: >
21
+ Allow interactive creation and deletion of connections via
22
+ drag-to-connect from port indicators.
23
+
24
+ color:
25
+ syntax: key-value
26
+ type: string
27
+ default: ""
28
+ description: >
29
+ Noodle stroke color. Defaults to var(--aui-accent-500).
30
+ Individual connections can override via the color property.
31
+
32
+ stroke-width:
33
+ syntax: key-value
34
+ type: string
35
+ default: "2"
36
+ description: Stroke width in px.
37
+
38
+ tension:
39
+ syntax: key-value
40
+ type: string
41
+ default: "0.5"
42
+ description: >
43
+ Bezier control point distance as a fraction of the distance
44
+ between endpoints. 0 = flat, 1 = dramatic curves.
45
+
46
+ show-ports:
47
+ syntax: boolean
48
+ type: boolean
49
+ default: false
50
+ description: >
51
+ Show port indicator dots on connectable elements. Defaults to
52
+ true when editable is set.
53
+
54
+ port-size:
55
+ syntax: key-value
56
+ type: string
57
+ default: "10"
58
+ description: Port indicator dot diameter in px.
59
+
60
+ curve:
61
+ syntax: key-value
62
+ type: enum
63
+ values: [bezier, step, straight]
64
+ default: bezier
65
+ description: >
66
+ Curve style for noodle paths. bezier = smooth cubic bezier,
67
+ step = right-angle step, straight = direct line.
68
+
69
+ animated:
70
+ syntax: boolean
71
+ type: boolean
72
+ default: false
73
+ description: >
74
+ Animate noodles with a flowing dash pattern.
75
+
76
+ disabled:
77
+ syntax: boolean
78
+ type: boolean
79
+ default: false
80
+ description: >
81
+ Disable the controller. Paths render as muted dashed lines
82
+ and interaction is prevented.
83
+
84
+ content:
85
+ model: block
86
+ accepts: [div, section, any]
87
+ required: true
88
+ description: >
89
+ Child elements that participate in the noodle graph. Each connectable
90
+ element must have an `id` and a `data-noodle-port` attribute listing
91
+ which sides accept connections (e.g. "left right top bottom").
92
+
93
+ slots:
94
+ default:
95
+ accepts: [any]
96
+ required: true
97
+ description: Node elements with data-noodle-port attributes.
98
+
99
+ composition:
100
+ parents: [aui-container, div, section, main]
101
+ children:
102
+ typical: [div, aui-container]
103
+ pattern: >
104
+ Absolutely positioned child elements with id and data-noodle-port
105
+ attributes. The noodles element establishes a positioning context.
106
+ context: >
107
+ Use for flow editors, pipeline visualizations, node-based UIs,
108
+ and any diagram where elements need visible connections.
109
+
110
+ a11y:
111
+ role: No implicit role. The SVG overlay is pointer-events:none.
112
+ keyboard:
113
+ Tab: Port indicators are not in tab order (crosshair cursor).
114
+ focus:
115
+ default: Not focusable.
116
+
117
+ events:
118
+ aui:noodle-connect:
119
+ description: >
120
+ Fired when a connection is created (programmatic or drag).
121
+ Detail: { id, from, to, fromPort, toPort }
122
+ bubbles: true
123
+
124
+ aui:noodle-disconnect:
125
+ description: >
126
+ Fired when a connection is removed.
127
+ Detail: { id, from, to, fromPort, toPort }
128
+ bubbles: true
129
+
130
+ aui:noodle-drag:
131
+ description: >
132
+ Fired during drag-to-connect pointer movement.
133
+ Detail: { from, fromPort, x, y, reconnect? }
134
+ bubbles: true
135
+
136
+ tokens:
137
+ color:
138
+ - --aui-accent-500
139
+ - --aui-ink-muted
140
+ motion:
141
+ - noodle-flow (keyframe animation)
142
+
143
+ examples:
144
+ - html: |
145
+ <aui-noodles style="width: 600px; height: 300px;">
146
+ <aui-container id="a" data-noodle-port="right" kind="card" bordered padding="3" style="position: absolute; left: 40px; top: 120px;">
147
+ <aui-text weight="medium">Source</aui-text>
148
+ </aui-container>
149
+ <aui-container id="b" data-noodle-port="left" kind="card" bordered padding="3" style="position: absolute; left: 400px; top: 120px;">
150
+ <aui-text weight="medium">Target</aui-text>
151
+ </aui-container>
152
+ </aui-noodles>
153
+ description: Two connected nodes with a bezier noodle.
154
+ script: |
155
+ const noodles = document.querySelector('aui-noodles');
156
+ noodles.connect('a', 'b', 'right', 'left');
157
+
158
+ - html: |
159
+ <aui-noodles editable show-ports style="width: 600px; height: 300px;">
160
+ <aui-container id="n1" data-noodle-port="right bottom" kind="card" bordered padding="3" style="position: absolute; left: 40px; top: 40px;">
161
+ <aui-text weight="medium">Node 1</aui-text>
162
+ </aui-container>
163
+ <aui-container id="n2" data-noodle-port="left right" kind="card" bordered padding="3" style="position: absolute; left: 240px; top: 120px;">
164
+ <aui-text weight="medium">Node 2</aui-text>
165
+ </aui-container>
166
+ <aui-container id="n3" data-noodle-port="left top" kind="card" bordered padding="3" style="position: absolute; left: 440px; top: 40px;">
167
+ <aui-text weight="medium">Node 3</aui-text>
168
+ </aui-container>
169
+ </aui-noodles>
170
+ description: Editable canvas with port indicators. Drag between ports to connect.
171
+
172
+ - html: |
173
+ <aui-noodles curve="step" stroke-width="3" animated style="width: 500px; height: 200px;">
174
+ <aui-container id="s1" data-noodle-port="right" kind="card" bordered padding="3" style="position: absolute; left: 20px; top: 80px;">
175
+ <aui-text weight="medium">Step A</aui-text>
176
+ </aui-container>
177
+ <aui-container id="s2" data-noodle-port="left" kind="card" bordered padding="3" style="position: absolute; left: 340px; top: 80px;">
178
+ <aui-text weight="medium">Step B</aui-text>
179
+ </aui-container>
180
+ </aui-noodles>
181
+ description: Step curve style with animated dash pattern.
182
+ script: |
183
+ const noodles = document.querySelector('aui-noodles');
184
+ noodles.connect('s1', 's2', 'right', 'left');
@@ -0,0 +1,38 @@
1
+ name: aui-optgroup
2
+ tag: aui-optgroup
3
+ type: component
4
+ summary: Groups related options with an optional label and divider.
5
+ description: >
6
+ Wraps aui-option elements into a labeled section within aui-select.
7
+ In dropdown/list/combobox modes, renders an uppercase heading above
8
+ the group. Use divider attribute to add a visual separator before the
9
+ group. In bar mode, groups are layout-transparent (display: contents)
10
+ with labels hidden — adjacent groups are separated by auto-stamped
11
+ vertical dividers. When a group overflows, all its items move to the
12
+ overflow menu together, rendered under a divider + uppercase header.
13
+
14
+ attributes:
15
+ label:
16
+ type: string
17
+ default: ""
18
+ description: Group heading text displayed above the options.
19
+ divider:
20
+ type: boolean
21
+ default: false
22
+ description: Adds a visual separator (border-top) before the group.
23
+
24
+ examples:
25
+ - html: |
26
+ <aui-select placeholder="Choose a color">
27
+ <aui-optgroup label="Warm">
28
+ <aui-option value="red">Red</aui-option>
29
+ <aui-option value="orange">Orange</aui-option>
30
+ <aui-option value="yellow">Yellow</aui-option>
31
+ </aui-optgroup>
32
+ <aui-optgroup label="Cool" divider>
33
+ <aui-option value="blue">Blue</aui-option>
34
+ <aui-option value="green">Green</aui-option>
35
+ <aui-option value="purple">Purple</aui-option>
36
+ </aui-optgroup>
37
+ </aui-select>
38
+ description: Two option groups with a divider between them.
@@ -0,0 +1,56 @@
1
+ name: aui-option
2
+ tag: aui-option
3
+ type: component
4
+ summary: Selectable item within aui-select.
5
+ description: >
6
+ A single option within aui-select.
7
+ Most behavior is coordinated by the parent listbox. Visual states
8
+ driven by selected, disabled, and data-navigate-active attributes.
9
+
10
+ base: AgentElement
11
+
12
+ attributes:
13
+ value:
14
+ syntax: key-value
15
+ type: string
16
+ default: ""
17
+ description: The option's value for form submission.
18
+
19
+ disabled:
20
+ syntax: boolean
21
+ type: boolean
22
+ default: false
23
+ description: Prevents selection.
24
+
25
+ selected:
26
+ syntax: boolean
27
+ type: boolean
28
+ default: false
29
+ description: Whether this option is currently selected.
30
+
31
+ label:
32
+ syntax: key-value
33
+ type: string
34
+ default: ""
35
+ description: >
36
+ Display label override. When empty, textContent is used.
37
+
38
+ a11y:
39
+ role: option
40
+ aria:
41
+ aria-selected: Reflects selected attribute.
42
+ aria-disabled: Reflects disabled attribute.
43
+
44
+ composition:
45
+ parents: [aui-select, aui-optgroup]
46
+ children: null
47
+
48
+ examples:
49
+ - html: <aui-option value="apple">Apple</aui-option>
50
+ description: Simple option.
51
+
52
+ - html: <aui-option value="banana" selected>Banana</aui-option>
53
+ description: Pre-selected option.
54
+
55
+ - html: <aui-option value="cherry" disabled>Cherry</aui-option>
56
+ description: Disabled option.
@@ -0,0 +1,55 @@
1
+ name: aui-page-context
2
+ tag: aui-page-context
3
+ type: component
4
+ summary: Page context bar with leading, center, and trailing sections.
5
+ description: >
6
+ Adaptive 3-column grid bar at the top of aui-page. Automatically
7
+ adjusts grid layout via :has() selectors based on which child
8
+ slots are present (leading, center breadcrumb, trailing aside).
9
+
10
+ base: AgentElement
11
+
12
+ a11y:
13
+ role: navigation
14
+ aria:
15
+ aria-label: Breadcrumb
16
+
17
+ composition:
18
+ parents: [aui-page]
19
+ children:
20
+ typical: [div, aui-breadcrumb, aside]
21
+ pattern: >
22
+ First child is the leading section (e.g. back button),
23
+ center child is typically aui-breadcrumb, trailing aside
24
+ holds action buttons. Grid adapts from 1 to 3 columns
25
+ based on which children are present.
26
+
27
+ tokens:
28
+ sizing:
29
+ - --aui-pad-control-block
30
+ - --aui-size
31
+ - --aui-space
32
+
33
+ examples:
34
+ - html: |
35
+ <aui-page-context>
36
+ <div>
37
+ <aui-button icon="arrow-left" hide-label label="Back"></aui-button>
38
+ </div>
39
+ <aui-breadcrumb>
40
+ <aui-breadcrumb-item label="Home"></aui-breadcrumb-item>
41
+ <aui-breadcrumb-item label="Projects"></aui-breadcrumb-item>
42
+ </aui-breadcrumb>
43
+ <aside>
44
+ <aui-button icon="plus" label="New"></aui-button>
45
+ </aside>
46
+ </aui-page-context>
47
+ description: Full 3-column context bar with leading, breadcrumb, and trailing actions.
48
+
49
+ - html: |
50
+ <aui-page-context>
51
+ <aui-breadcrumb>
52
+ <aui-breadcrumb-item label="Dashboard"></aui-breadcrumb-item>
53
+ </aui-breadcrumb>
54
+ </aui-page-context>
55
+ description: Minimal context bar with breadcrumb only.
@@ -0,0 +1,39 @@
1
+ name: aui-page-main
2
+ tag: aui-page-main
3
+ type: component
4
+ summary: Canvas area below the page context bar.
5
+ description: >
6
+ Contains a <main> element with a scrollable, rounded content panel.
7
+ Supports sticky header and footer inside the main panel. Provides
8
+ the primary content surface with panel background and border radius.
9
+
10
+ base: AgentElement
11
+
12
+ composition:
13
+ parents: [aui-page]
14
+ children:
15
+ typical: [main]
16
+ pattern: >
17
+ Direct child should be a <main> element containing the page
18
+ content. The main element gets panel styling with rounded
19
+ corners, hidden scrollbar, and supports sticky header/footer
20
+ children.
21
+
22
+ tokens:
23
+ color:
24
+ - --aui-panel
25
+ - --aui-border
26
+ sizing:
27
+ - --aui-space
28
+ - --aui-radius
29
+
30
+ examples:
31
+ - html: |
32
+ <aui-page-main>
33
+ <main>
34
+ <header>Sticky page header</header>
35
+ <section>Scrollable content</section>
36
+ <footer>Sticky page footer</footer>
37
+ </main>
38
+ </aui-page-main>
39
+ description: Main content area with sticky header and footer inside the panel.
@@ -0,0 +1,36 @@
1
+ name: aui-page
2
+ tag: aui-page
3
+ type: component
4
+ summary: Content column within the app shell.
5
+ description: >
6
+ Flex column that fills the remaining space beside the sidebar.
7
+ Contains a page context bar and a main content area. Acts as
8
+ the primary content region of the application layout.
9
+
10
+ base: AgentElement
11
+
12
+ a11y:
13
+ role: main
14
+
15
+ composition:
16
+ parents: [aui-app-shell]
17
+ children:
18
+ typical: [aui-page-context, aui-page-main]
19
+ pattern: >
20
+ Context bar at top for breadcrumbs and actions, page-main
21
+ below for the scrollable content panel.
22
+
23
+ examples:
24
+ - html: |
25
+ <aui-page>
26
+ <aui-page-context>
27
+ <aui-breadcrumb>
28
+ <aui-breadcrumb-item label="Home"></aui-breadcrumb-item>
29
+ <aui-breadcrumb-item label="Settings"></aui-breadcrumb-item>
30
+ </aui-breadcrumb>
31
+ </aui-page-context>
32
+ <aui-page-main>
33
+ <main>Page content here</main>
34
+ </aui-page-main>
35
+ </aui-page>
36
+ description: Page with breadcrumb context bar and main content area.
@@ -0,0 +1,46 @@
1
+ name: aui-pagination
2
+ tag: aui-pagination
3
+ type: component
4
+ summary: Page navigation with numbered buttons and prev/next.
5
+ description: >
6
+ Stamps page buttons, prev/next arrows, and ellipsis from the
7
+ page and total attributes. Handles large page counts with
8
+ configurable sibling count.
9
+
10
+ base: AgentElement
11
+
12
+ attributes:
13
+ page:
14
+ syntax: key-value
15
+ type: string
16
+ default: "1"
17
+ description: Current page number.
18
+
19
+ total:
20
+ syntax: key-value
21
+ type: string
22
+ default: "1"
23
+ description: Total number of pages.
24
+
25
+ siblings:
26
+ syntax: key-value
27
+ type: string
28
+ default: "1"
29
+ description: Number of sibling pages to show around the current page.
30
+
31
+ a11y:
32
+ role: navigation
33
+ aria:
34
+ aria-label: Pagination
35
+ aria-current: page (on the current page button).
36
+
37
+ events:
38
+ change:
39
+ description: Fired when page changes. detail.page is the new page number.
40
+
41
+ examples:
42
+ - html: <aui-pagination page="3" total="10"></aui-pagination>
43
+ description: Pagination on page 3 of 10.
44
+
45
+ - html: <aui-pagination page="1" total="5" siblings="2"></aui-pagination>
46
+ description: Small pagination with 2 siblings.
@@ -0,0 +1,102 @@
1
+ name: aui-pane
2
+ tag: aui-pane
3
+ type: component
4
+ summary: Individual pane within a resizable split layout.
5
+ description: >
6
+ A flexible panel within aui-panes. Supports auto-stamped headers with
7
+ label, icon, close and minimize buttons. Can be minimized to header-only,
8
+ collapsed to a thin strip, or hidden. Resize priority (high/normal/low)
9
+ controls how cascade resizing distributes space.
10
+
11
+ base: AgentElement
12
+
13
+ attributes:
14
+ label:
15
+ syntax: key-value
16
+ type: string
17
+ default: ""
18
+ description: >
19
+ Pane header label. When set, auto-stamps an aui-header with the label
20
+ text and optional action buttons.
21
+
22
+ icon:
23
+ syntax: key-value
24
+ type: string
25
+ default: ""
26
+ description: Icon name shown before the label in the stamped header.
27
+
28
+ closeable:
29
+ syntax: boolean
30
+ type: boolean
31
+ default: false
32
+ description: Adds a close button to the stamped header.
33
+
34
+ minimizable:
35
+ syntax: boolean
36
+ type: boolean
37
+ default: false
38
+ description: Adds a minimize/restore button to the stamped header.
39
+
40
+ minimized:
41
+ syntax: boolean
42
+ type: boolean
43
+ default: false
44
+ description: Collapses pane to header-only.
45
+
46
+ fixed-size:
47
+ syntax: key-value
48
+ type: string
49
+ default: ""
50
+ description: Fixed flex value (e.g. "300px"). Sets flex to 0 1 {fixed-size}.
51
+
52
+ basis:
53
+ syntax: key-value
54
+ type: string
55
+ default: ""
56
+ description: Preferred size (e.g. "14rem"). Sets flex to 1 1 {basis}.
57
+
58
+ priority:
59
+ syntax: key-value
60
+ type: enum
61
+ values: [high, low]
62
+ default: ""
63
+ description: >
64
+ Resize priority. High-priority panes absorb delta first during
65
+ cascade resize. Low-priority panes resize last.
66
+
67
+ composition:
68
+ parents: [aui-panes]
69
+ children: [any]
70
+
71
+ examples:
72
+ - html: |
73
+ <aui-panes style="height: 20rem; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
74
+ <aui-pane label="Explorer" size="xs" density="compact">
75
+ <aui-stack gap="1" padding="2">
76
+ <aui-text muted size="xs">src/</aui-text>
77
+ <aui-text size="xs">components/</aui-text>
78
+ <aui-text size="xs">utils/</aui-text>
79
+ </aui-stack>
80
+ </aui-pane>
81
+ <aui-pane label="Editor" size="xs" density="compact">
82
+ <aui-stack gap="1" padding="2">
83
+ <aui-text muted size="xs">main.ts</aui-text>
84
+ </aui-stack>
85
+ </aui-pane>
86
+ </aui-panes>
87
+ description: Two-pane split with labeled headers and resizable boundary.
88
+
89
+ - html: |
90
+ <aui-panes direction="vertical" style="height: 20rem; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
91
+ <aui-pane label="Output" minimizable size="xs" density="compact">
92
+ <aui-stack padding="2">
93
+ <aui-text muted size="xs">Build succeeded in 1.2s</aui-text>
94
+ </aui-stack>
95
+ </aui-pane>
96
+ <aui-pane label="Terminal" minimizable size="xs" density="compact">
97
+ <aui-stack padding="2">
98
+ <aui-text size="xs" style="font-family: var(--aui-font-family-mono);">$ npm run dev</aui-text>
99
+ </aui-stack>
100
+ </aui-pane>
101
+ </aui-panes>
102
+ description: Vertical split with minimizable panes.
@@ -0,0 +1,82 @@
1
+ name: aui-panes
2
+ tag: aui-panes
3
+ type: component
4
+ summary: Resizable split layout with pointer-proximity resize.
5
+ description: >
6
+ Split-pane container with VS Code-style cascade resize. No handle elements —
7
+ resize boundaries are detected by pointer proximity (8px threshold) and
8
+ visualized with an accent bar. Supports priority-based size distribution,
9
+ min/max constraints, and proportional container resize.
10
+
11
+ base: AgentElement
12
+
13
+ attributes:
14
+ direction:
15
+ syntax: key-value
16
+ type: enum
17
+ values: [vertical]
18
+ default: ""
19
+ description: >
20
+ Layout direction. Default is horizontal (row). Set to "vertical"
21
+ for top/bottom stacking.
22
+
23
+ composition:
24
+ parents: [any]
25
+ children: [aui-pane, aui-panes]
26
+ context: >
27
+ Direct children should be aui-pane elements. Nested aui-panes are
28
+ supported for complex layouts. No gripper elements needed — resize
29
+ is handled by pointer proximity detection.
30
+
31
+ examples:
32
+ - html: |
33
+ <aui-panes style="height: 16rem; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
34
+ <aui-pane label="Sidebar" basis="12rem" size="xs" density="compact">
35
+ <aui-stack gap="1" padding="2">
36
+ <aui-text size="xs">Navigation</aui-text>
37
+ <aui-text muted size="xs">Drag the boundary to resize</aui-text>
38
+ </aui-stack>
39
+ </aui-pane>
40
+ <aui-pane label="Content" size="xs" density="compact">
41
+ <aui-stack gap="1" padding="2">
42
+ <aui-text size="xs">Main content area</aui-text>
43
+ </aui-stack>
44
+ </aui-pane>
45
+ </aui-panes>
46
+ description: Horizontal split — hover between panes to see resize handle.
47
+
48
+ - html: |
49
+ <aui-panes direction="vertical" style="height: 20rem; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
50
+ <aui-pane label="Editor" size="xs" density="compact">
51
+ <aui-stack padding="2">
52
+ <aui-text size="xs" style="font-family: var(--aui-font-family-mono);">const x = 42;</aui-text>
53
+ </aui-stack>
54
+ </aui-pane>
55
+ <aui-pane label="Terminal" basis="8rem" minimizable size="xs" density="compact">
56
+ <aui-stack padding="2">
57
+ <aui-text muted size="xs">$ npm run build</aui-text>
58
+ </aui-stack>
59
+ </aui-pane>
60
+ </aui-panes>
61
+ description: Vertical split with minimizable bottom pane.
62
+
63
+ - html: |
64
+ <aui-panes style="height: 18rem; border: 1px solid var(--aui-border-muted); border-radius: var(--aui-radius);">
65
+ <aui-pane label="Files" basis="10rem" priority="low" size="xs" density="compact">
66
+ <aui-stack gap="1" padding="2">
67
+ <aui-text size="xs">src/</aui-text>
68
+ <aui-text size="xs">tests/</aui-text>
69
+ </aui-stack>
70
+ </aui-pane>
71
+ <aui-pane label="Editor" priority="high" size="xs" density="compact">
72
+ <aui-stack padding="2">
73
+ <aui-text size="xs">Editor gets priority during resize</aui-text>
74
+ </aui-stack>
75
+ </aui-pane>
76
+ <aui-pane label="Preview" basis="12rem" size="xs" density="compact">
77
+ <aui-stack padding="2">
78
+ <aui-text muted size="xs">Live preview</aui-text>
79
+ </aui-stack>
80
+ </aui-pane>
81
+ </aui-panes>
82
+ description: Three-pane layout with resize priority.