@adia-ai/web-modules 0.8.35 → 0.8.37
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/CHANGELOG.md +22 -0
- package/README.md +3 -3
- package/agent-admin/admin-roster/admin-roster.js +1 -1
- package/agent-admin/admin-settings/admin-settings.js +1 -1
- package/agent-admin/agent-admin/agent-admin.js +1 -1
- package/billing/billing-overview/billing-overview.a2ui.json +281 -0
- package/billing/billing-overview/billing-overview.class.js +838 -0
- package/billing/billing-overview/billing-overview.css +223 -0
- package/billing/billing-overview/billing-overview.js +16 -0
- package/billing/billing-overview/billing-overview.yaml +441 -0
- package/billing/index.js +21 -0
- package/billing/invoice-detail/invoice-detail.a2ui.json +276 -0
- package/billing/invoice-detail/invoice-detail.class.js +711 -0
- package/billing/invoice-detail/invoice-detail.css +305 -0
- package/billing/invoice-detail/invoice-detail.js +16 -0
- package/billing/invoice-detail/invoice-detail.yaml +411 -0
- package/billing/invoice-history/invoice-history.a2ui.json +315 -0
- package/billing/invoice-history/invoice-history.class.js +672 -0
- package/billing/invoice-history/invoice-history.css +130 -0
- package/billing/invoice-history/invoice-history.js +16 -0
- package/billing/invoice-history/invoice-history.yaml +398 -0
- package/billing/payment-method-form/payment-method-form.a2ui.json +310 -0
- package/billing/payment-method-form/payment-method-form.class.js +886 -0
- package/billing/payment-method-form/payment-method-form.css +149 -0
- package/billing/payment-method-form/payment-method-form.js +16 -0
- package/billing/payment-method-form/payment-method-form.yaml +430 -0
- package/billing/payment-method-list/payment-method-list.a2ui.json +283 -0
- package/billing/payment-method-list/payment-method-list.class.js +705 -0
- package/billing/payment-method-list/payment-method-list.css +128 -0
- package/billing/payment-method-list/payment-method-list.js +16 -0
- package/billing/payment-method-list/payment-method-list.yaml +355 -0
- package/billing/plan-picker/plan-picker.a2ui.json +349 -0
- package/billing/plan-picker/plan-picker.class.js +635 -0
- package/billing/plan-picker/plan-picker.css +227 -0
- package/billing/plan-picker/plan-picker.js +16 -0
- package/billing/plan-picker/plan-picker.yaml +453 -0
- package/chat/README.md +1 -1
- package/chat/chat-composer/chat-composer.js +2 -2
- package/chat/chat-empty/chat-empty.js +2 -2
- package/chat/chat-shell/chat-shell.js +4 -4
- package/chat/chat-sidebar/chat-sidebar.js +2 -2
- package/chat/chat-surfaces/chat-surfaces.js +2 -2
- package/chat/chat-thread/chat-thread.js +2 -2
- package/dashboard/dashboard-layout/dashboard-layout.a2ui.json +254 -0
- package/dashboard/dashboard-layout/dashboard-layout.css +190 -0
- package/dashboard/dashboard-layout/dashboard-layout.js +289 -0
- package/dashboard/dashboard-layout/dashboard-layout.yaml +374 -0
- package/dashboard/date-range-selector/date-range-selector.a2ui.json +236 -0
- package/dashboard/date-range-selector/date-range-selector.css +84 -0
- package/dashboard/date-range-selector/date-range-selector.js +686 -0
- package/dashboard/date-range-selector/date-range-selector.yaml +358 -0
- package/dashboard/index.js +14 -0
- package/dist/everything.min.js +1 -1
- package/editor/editor-canvas/editor-canvas.js +2 -2
- package/editor/editor-shell/editor-shell.js +2 -2
- package/editor/editor-sidebar/editor-sidebar.js +2 -2
- package/editor/editor-toolbar/editor-toolbar.js +2 -2
- package/feedback/confirm-dialog/confirm-dialog.a2ui.json +206 -0
- package/feedback/confirm-dialog/confirm-dialog.css +157 -0
- package/feedback/confirm-dialog/confirm-dialog.js +383 -0
- package/feedback/confirm-dialog/confirm-dialog.yaml +297 -0
- package/feedback/index.js +10 -0
- package/form/form-popover/form-popover.js +1 -1
- package/generative/index.d.ts +1 -1
- package/generative/index.js +2 -2
- package/onboarding/index.js +1 -0
- package/onboarding/onboarding-checklist/onboarding-checklist.a2ui.json +263 -0
- package/onboarding/onboarding-checklist/onboarding-checklist.css +157 -0
- package/onboarding/onboarding-checklist/onboarding-checklist.js +428 -0
- package/onboarding/onboarding-checklist/onboarding-checklist.yaml +236 -0
- package/package.json +99 -6
- package/runtime/a2ui-root/a2ui-root.js +3 -3
- package/runtime/gen-root/gen-root.js +5 -5
- package/settings/index.js +12 -0
- package/settings/integrations-page/integrations-page.a2ui.json +274 -0
- package/settings/integrations-page/integrations-page.css +177 -0
- package/settings/integrations-page/integrations-page.d.ts +77 -0
- package/settings/integrations-page/integrations-page.js +413 -0
- package/settings/integrations-page/integrations-page.yaml +317 -0
- package/settings/notification-preferences/notification-preferences.a2ui.json +245 -0
- package/settings/notification-preferences/notification-preferences.css +204 -0
- package/settings/notification-preferences/notification-preferences.js +622 -0
- package/settings/notification-preferences/notification-preferences.yaml +358 -0
- package/shell/admin-command/admin-command.js +2 -2
- package/shell/admin-shell/admin-shell.js +2 -2
- package/shell/admin-sidebar/admin-sidebar.js +2 -2
- package/shell/embed-shell/embed-shell.js +3 -3
- package/simple/simple-shell/simple-shell.js +1 -1
- package/theme/theme-panel/theme-panel.js +2 -2
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://adiaui.dev/a2ui/v0_9/components/InvoiceHistory.json",
|
|
4
|
+
"title": "InvoiceHistory",
|
|
5
|
+
"description": "Canonical billing-list composite — a pre-configured <table-ui> with\ninvoice-shaped columns (number, issued, due, amount, status, actions),\nstatus-badge cell renderer (paid/open/past-due/void/draft → semantic\nbadge variant), currency cell renderer, optional search + filter\nchips via <table-toolbar-ui>, and a row-click that navigates to the\ninvoice detail page.\n\nWraps <table-ui> with billing-shaped columns + cell renderers + a\nCSV-export toolbar. Consumer passes invoices[]; the composite owns\ncolumn shape, status-to-badge mapping, currency formatting, date\nformatting, and navigation. Sibling to SPEC-007 (invoice detail).\n\nEach invoice record: {id, number, status, issuedAt, dueAt, amount,\ncurrency}. status MUST be one of \"draft\" | \"open\" | \"paid\" |\n\"past-due\" | \"void\"; unknown values fall back to a neutral badge.\n\nSpec: .claude/docs/specs/implementation-ready/SPEC-008-invoice-history-table.md.\n",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"allOf": [
|
|
8
|
+
{
|
|
9
|
+
"$ref": "common_types.json#/$defs/ComponentCommon"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"$ref": "common_types.json#/$defs/CatalogComponentCommon"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"component": {
|
|
17
|
+
"const": "InvoiceHistory"
|
|
18
|
+
},
|
|
19
|
+
"currency": {
|
|
20
|
+
"description": "Default ISO 4217 currency code for amount formatting. Overridable\nper-row via invoices[].currency.\n",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"default": "USD"
|
|
23
|
+
},
|
|
24
|
+
"data-stream-src": {
|
|
25
|
+
"description": "Optional endpoint returning the `invoices` array (universal\ndata-stream-* trait). On successful load, `invoices` is replaced\nand a `load` event fires; on failure an `error` event fires.\n",
|
|
26
|
+
"type": "string",
|
|
27
|
+
"default": ""
|
|
28
|
+
},
|
|
29
|
+
"density": {
|
|
30
|
+
"description": "Row density, forwarded to <table-ui>. `compact` for dense lists,\n`standard` for default rows, `comfortable` for spacious rows.\n",
|
|
31
|
+
"type": "string",
|
|
32
|
+
"enum": [
|
|
33
|
+
"compact",
|
|
34
|
+
"standard",
|
|
35
|
+
"comfortable"
|
|
36
|
+
],
|
|
37
|
+
"default": "standard"
|
|
38
|
+
},
|
|
39
|
+
"exportable": {
|
|
40
|
+
"description": "When set, the default toolbar carries an \"Export CSV\" button.\nConsumers overriding the toolbar via slot=\"toolbar\" can omit\nthis and stamp their own export affordance.\n",
|
|
41
|
+
"type": "boolean",
|
|
42
|
+
"default": true
|
|
43
|
+
},
|
|
44
|
+
"filter": {
|
|
45
|
+
"description": "Active status filter — narrows visible rows to a single status\nbucket. Empty string = show all. Mirrors the toolbar chip-group\nselection state.\n",
|
|
46
|
+
"$ref": "common_types.json#/$defs/DynamicString"
|
|
47
|
+
},
|
|
48
|
+
"hrefPattern": {
|
|
49
|
+
"description": "URL template for row-click navigation. The literal `{number}` is\nreplaced with the invoice's number on click. Defaults to\n`/invoices/{number}`.\n",
|
|
50
|
+
"type": "string",
|
|
51
|
+
"default": "/invoices/{number}"
|
|
52
|
+
},
|
|
53
|
+
"invoices": {
|
|
54
|
+
"description": "Array of invoice records. Source of truth for the rendered rows.\nShape per record: {id, number, status, issuedAt, dueAt, amount,\ncurrency?}. status must be one of \"draft\" | \"open\" | \"paid\" |\n\"past-due\" | \"void\". Empty array renders the empty-state.\n",
|
|
55
|
+
"$ref": "common_types.json#/$defs/DynamicStringList"
|
|
56
|
+
},
|
|
57
|
+
"loading": {
|
|
58
|
+
"description": "Forwarded to <table-ui> — renders skeleton rows instead of data\nwhile a fetch is in flight.\n",
|
|
59
|
+
"$ref": "common_types.json#/$defs/DynamicBoolean"
|
|
60
|
+
},
|
|
61
|
+
"locale": {
|
|
62
|
+
"description": "Locale for Intl.NumberFormat (amount) and Intl.DateTimeFormat\n(issuedAt / dueAt). Defaults to document.documentElement.lang\n(or \"en-US\" when absent).\n",
|
|
63
|
+
"type": "string",
|
|
64
|
+
"default": ""
|
|
65
|
+
},
|
|
66
|
+
"paginate": {
|
|
67
|
+
"description": "Rows per page, forwarded to <table-ui>. 0 = show all rows.\n",
|
|
68
|
+
"type": "number",
|
|
69
|
+
"default": 25
|
|
70
|
+
},
|
|
71
|
+
"selectable": {
|
|
72
|
+
"description": "When set, enables row selection via a leading checkbox column on\nthe underlying <table-ui> (bulk-action surface).\n",
|
|
73
|
+
"type": "boolean",
|
|
74
|
+
"default": false
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"component",
|
|
79
|
+
"invoices"
|
|
80
|
+
],
|
|
81
|
+
"unevaluatedProperties": false,
|
|
82
|
+
"x-adiaui": {
|
|
83
|
+
"anti_patterns": [
|
|
84
|
+
{
|
|
85
|
+
"fix": "<invoice-history-ui .invoices=\"${rows}\"></invoice-history-ui>\n",
|
|
86
|
+
"why": "Hand-rolled billing list. Reinvents the canonical composite,\ndrifts on status-badge mapping, currency formatting, and\ndate format.\n",
|
|
87
|
+
"wrong": "<table-ui sortable>\n <col-def key=\"number\" label=\"Invoice\"></col-def>\n <col-def key=\"status\" label=\"Status\"></col-def>\n</table-ui>\n"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"fix": "<invoice-history-ui .invoices=\"${rows}\"></invoice-history-ui>\n",
|
|
91
|
+
"why": "Columns are owned by the composite. Custom columns belong on a\ndifferent <table-ui> composition.\n",
|
|
92
|
+
"wrong": "<invoice-history-ui .columns=\"${customColumns}\"\n .invoices=\"${rows}\"></invoice-history-ui>\n"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"category": "display",
|
|
96
|
+
"composes": [
|
|
97
|
+
"table-ui",
|
|
98
|
+
"table-toolbar-ui",
|
|
99
|
+
"badge-ui",
|
|
100
|
+
"button-ui",
|
|
101
|
+
"empty-state-ui",
|
|
102
|
+
"pagination-ui"
|
|
103
|
+
],
|
|
104
|
+
"events": {
|
|
105
|
+
"error": {
|
|
106
|
+
"description": "Fired when a `data-stream-src` fetch fails. Bubbles.\n",
|
|
107
|
+
"detail": {
|
|
108
|
+
"reason": {
|
|
109
|
+
"description": "One of `fetch-failed`.",
|
|
110
|
+
"type": "string"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"invoice-export": {
|
|
115
|
+
"description": "Fired when the default \"Export CSV\" toolbar button is pressed.\nDetail carries the generated blob; consumers may preventDefault\nto suppress the default download. Bubbles.\n",
|
|
116
|
+
"detail": {
|
|
117
|
+
"blob": {
|
|
118
|
+
"description": "The generated text/csv Blob.",
|
|
119
|
+
"type": "object"
|
|
120
|
+
},
|
|
121
|
+
"rowCount": {
|
|
122
|
+
"description": "Number of rows in the export.",
|
|
123
|
+
"type": "integer"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"invoice-filter-change": {
|
|
128
|
+
"description": "Fired when the status filter changes via the toolbar chip group.\nBubbles.\n",
|
|
129
|
+
"detail": {
|
|
130
|
+
"filter": {
|
|
131
|
+
"description": "New status filter value (empty string = all).",
|
|
132
|
+
"type": "string",
|
|
133
|
+
"enum": [
|
|
134
|
+
"",
|
|
135
|
+
"draft",
|
|
136
|
+
"open",
|
|
137
|
+
"paid",
|
|
138
|
+
"past-due",
|
|
139
|
+
"void"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"previous": {
|
|
143
|
+
"description": "Previous filter value.",
|
|
144
|
+
"type": "string"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"invoice-row-click": {
|
|
149
|
+
"description": "Fired when an invoice row is activated (mouse click or keyboard\nEnter / Space). Listener can preventDefault() to suppress the\ndefault `window.location.assign(href)` navigation. Bubbles.\n",
|
|
150
|
+
"detail": {
|
|
151
|
+
"href": {
|
|
152
|
+
"description": "Resolved navigation URL.",
|
|
153
|
+
"type": "string"
|
|
154
|
+
},
|
|
155
|
+
"invoice": {
|
|
156
|
+
"description": "The invoice record under the clicked row.",
|
|
157
|
+
"type": "object"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"invoice-selection-change": {
|
|
162
|
+
"description": "Fired when row selection changes (only when `selectable` is set).\nBubbles.\n",
|
|
163
|
+
"detail": {
|
|
164
|
+
"selected": {
|
|
165
|
+
"description": "Array of selected invoice records.",
|
|
166
|
+
"type": "array"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"load": {
|
|
171
|
+
"description": "Fired when `data-stream-src` finishes a successful fetch and\n`invoices` is populated. Bubbles.\n",
|
|
172
|
+
"detail": {
|
|
173
|
+
"count": {
|
|
174
|
+
"description": "Number of invoices loaded.",
|
|
175
|
+
"type": "integer"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"examples": [
|
|
181
|
+
{
|
|
182
|
+
"description": "6-column billing list with status badges, currency formatting, and pagination.",
|
|
183
|
+
"a2ui": "[\n {\n \"id\": \"inv-hist-1\",\n \"component\": \"InvoiceHistory\",\n \"currency\": \"USD\",\n \"paginate\": 25,\n \"invoices\": [\n {\"id\":\"i1\",\"number\":\"INV-001234\",\"status\":\"paid\",\"issuedAt\":\"2026-05-01\",\"dueAt\":\"2026-05-15\",\"amount\":24.50},\n {\"id\":\"i2\",\"number\":\"INV-001235\",\"status\":\"open\",\"issuedAt\":\"2026-05-08\",\"dueAt\":\"2026-05-22\",\"amount\":24.50},\n {\"id\":\"i3\",\"number\":\"INV-001236\",\"status\":\"past-due\",\"issuedAt\":\"2026-04-15\",\"dueAt\":\"2026-04-29\",\"amount\":24.50}\n ]\n }\n]\n",
|
|
184
|
+
"name": "canonical"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"description": "Server-streamed invoices via data-stream-src.",
|
|
188
|
+
"a2ui": "[\n {\n \"id\": \"inv-hist-stream\",\n \"component\": \"InvoiceHistory\",\n \"data-stream-src\": \"/api/invoices\",\n \"currency\": \"USD\",\n \"paginate\": 50\n }\n]\n",
|
|
189
|
+
"name": "streamed"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"keywords": [
|
|
193
|
+
"invoice",
|
|
194
|
+
"invoices",
|
|
195
|
+
"billing",
|
|
196
|
+
"invoice-history",
|
|
197
|
+
"invoice-list",
|
|
198
|
+
"payments-history",
|
|
199
|
+
"receipt",
|
|
200
|
+
"receipts",
|
|
201
|
+
"statement",
|
|
202
|
+
"statements",
|
|
203
|
+
"subscription",
|
|
204
|
+
"charges",
|
|
205
|
+
"past-due",
|
|
206
|
+
"paid",
|
|
207
|
+
"billing-list",
|
|
208
|
+
"billing-table",
|
|
209
|
+
"download-invoice",
|
|
210
|
+
"export-invoices"
|
|
211
|
+
],
|
|
212
|
+
"name": "InvoiceHistory",
|
|
213
|
+
"related": [
|
|
214
|
+
"Table",
|
|
215
|
+
"TableToolbar",
|
|
216
|
+
"Badge",
|
|
217
|
+
"Button",
|
|
218
|
+
"EmptyState",
|
|
219
|
+
"Pagination"
|
|
220
|
+
],
|
|
221
|
+
"slots": {
|
|
222
|
+
"empty": {
|
|
223
|
+
"description": "Custom empty-state content when `invoices` is empty. Falls back\nto a default <empty-state-ui icon=\"receipt\"> when omitted.\n"
|
|
224
|
+
},
|
|
225
|
+
"toolbar": {
|
|
226
|
+
"description": "Optional pre-table action toolbar — overrides the default\n<table-toolbar-ui> + export button stamp. Use when the host\nsurface needs custom actions (e.g. \"New invoice\", \"Reconcile\").\n"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"states": [
|
|
230
|
+
{
|
|
231
|
+
"description": "Default — rows rendered, ready for interaction.",
|
|
232
|
+
"name": "idle"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"description": "A `data-stream-src` fetch is in flight.",
|
|
236
|
+
"attribute": "loading",
|
|
237
|
+
"name": "loading"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"description": "No invoices to render (computed from invoices.length).",
|
|
241
|
+
"attribute": "empty",
|
|
242
|
+
"name": "empty"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"description": "Last `data-stream-src` fetch failed.",
|
|
246
|
+
"attribute": "error",
|
|
247
|
+
"name": "error"
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
"status": "experimental",
|
|
251
|
+
"synonyms": {
|
|
252
|
+
"billing": [
|
|
253
|
+
"invoice",
|
|
254
|
+
"payment",
|
|
255
|
+
"subscription"
|
|
256
|
+
],
|
|
257
|
+
"history": [
|
|
258
|
+
"log",
|
|
259
|
+
"audit",
|
|
260
|
+
"record",
|
|
261
|
+
"timeline"
|
|
262
|
+
],
|
|
263
|
+
"invoice": [
|
|
264
|
+
"bill",
|
|
265
|
+
"statement",
|
|
266
|
+
"receipt"
|
|
267
|
+
],
|
|
268
|
+
"receipts": [
|
|
269
|
+
"invoices",
|
|
270
|
+
"billing"
|
|
271
|
+
],
|
|
272
|
+
"statement": [
|
|
273
|
+
"invoice",
|
|
274
|
+
"bill"
|
|
275
|
+
]
|
|
276
|
+
},
|
|
277
|
+
"tag": "invoice-history-ui",
|
|
278
|
+
"tokens": {
|
|
279
|
+
"--invoice-history-amount-fg": {
|
|
280
|
+
"description": "Amount cell foreground.",
|
|
281
|
+
"default": "var(--a-fg-strong, var(--a-fg))"
|
|
282
|
+
},
|
|
283
|
+
"--invoice-history-amount-font": {
|
|
284
|
+
"description": "Font family for tabular amounts; defaults to the mono stack.",
|
|
285
|
+
"default": "var(--a-font-mono)"
|
|
286
|
+
},
|
|
287
|
+
"--invoice-history-bg": {
|
|
288
|
+
"description": "Host background. Defaults to transparent.",
|
|
289
|
+
"default": "transparent"
|
|
290
|
+
},
|
|
291
|
+
"--invoice-history-date-fg": {
|
|
292
|
+
"description": "Secondary metadata (issued / due dates) foreground.",
|
|
293
|
+
"default": "var(--a-fg-muted)"
|
|
294
|
+
},
|
|
295
|
+
"--invoice-history-filter-gap": {
|
|
296
|
+
"description": "Gap between status-filter chips.",
|
|
297
|
+
"default": "var(--a-space-2)"
|
|
298
|
+
},
|
|
299
|
+
"--invoice-history-gap": {
|
|
300
|
+
"description": "Vertical gap between toolbar / table / pagination regions.",
|
|
301
|
+
"default": "var(--a-space-3)"
|
|
302
|
+
},
|
|
303
|
+
"--invoice-history-row-min-height": {
|
|
304
|
+
"description": "Forwarded as `--table-row-h` to <table-ui>; row minimum height.",
|
|
305
|
+
"default": "var(--table-row-h, 3rem)"
|
|
306
|
+
},
|
|
307
|
+
"--invoice-history-toolbar-gap": {
|
|
308
|
+
"description": "Gap between toolbar clusters (title · filter chips · export).",
|
|
309
|
+
"default": "var(--a-space-3)"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
"traits": [],
|
|
313
|
+
"version": 1
|
|
314
|
+
}
|
|
315
|
+
}
|