@adia-ai/web-modules 0.8.40 → 0.8.42
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 +47 -0
- package/README.md +7 -7
- package/agent-admin/admin-roster/admin-roster.a2ui.json +1 -0
- package/agent-admin/admin-roster/admin-roster.css +10 -2
- package/agent-admin/admin-roster/admin-roster.js +70 -22
- package/agent-admin/admin-settings/admin-settings.a2ui.json +1 -0
- package/agent-admin/agent-admin/agent-admin.a2ui.json +1 -0
- package/billing/billing-overview/billing-overview.a2ui.json +10 -1
- package/billing/billing-overview/billing-overview.class.js +142 -73
- package/billing/billing-overview/billing-overview.css +70 -57
- package/billing/billing-overview/billing-overview.yaml +5 -0
- package/billing/invoice-detail/invoice-detail.a2ui.json +9 -4
- package/billing/invoice-detail/invoice-detail.class.js +6 -5
- package/billing/invoice-detail/invoice-detail.yaml +9 -4
- package/billing/invoice-history/invoice-history.a2ui.json +7 -4
- package/billing/invoice-history/invoice-history.class.js +29 -18
- package/billing/invoice-history/invoice-history.css +18 -15
- package/billing/invoice-history/invoice-history.yaml +10 -4
- package/billing/payment-method-form/payment-method-form.a2ui.json +1 -0
- package/billing/payment-method-form/payment-method-form.class.js +3 -3
- package/billing/payment-method-form/payment-method-form.css +4 -4
- package/billing/payment-method-list/payment-method-list.a2ui.json +4 -0
- package/billing/payment-method-list/payment-method-list.class.js +31 -11
- package/billing/payment-method-list/payment-method-list.css +13 -10
- package/billing/payment-method-list/payment-method-list.yaml +3 -0
- package/billing/plan-picker/plan-picker.a2ui.json +6 -0
- package/billing/plan-picker/plan-picker.class.js +70 -22
- package/billing/plan-picker/plan-picker.css +21 -38
- package/billing/plan-picker/plan-picker.yaml +5 -0
- package/chat/chat-composer/chat-composer.a2ui.json +1 -0
- package/chat/chat-empty/chat-empty.a2ui.json +4 -0
- package/chat/chat-empty/chat-empty.yaml +2 -0
- package/chat/chat-header/chat-header.a2ui.json +5 -0
- package/chat/chat-header/chat-header.yaml +3 -0
- package/chat/chat-shell/chat-shell.a2ui.json +4 -0
- package/chat/chat-shell/chat-shell.yaml +2 -0
- package/chat/chat-shell/css/chat-shell.bespoke.css +5 -5
- package/chat/chat-sidebar/chat-sidebar.a2ui.json +5 -1
- package/chat/chat-sidebar/chat-sidebar.d.ts +1 -1
- package/chat/chat-sidebar/chat-sidebar.js +25 -3
- package/chat/chat-sidebar/chat-sidebar.yaml +3 -1
- package/chat/chat-status/chat-status.a2ui.json +4 -0
- package/chat/chat-status/chat-status.yaml +2 -0
- package/chat/chat-thread/chat-thread.a2ui.json +4 -0
- package/chat/chat-thread/chat-thread.yaml +2 -0
- package/dashboard/dashboard-layout/dashboard-layout.a2ui.json +8 -8
- package/dashboard/dashboard-layout/dashboard-layout.css +4 -4
- package/dashboard/dashboard-layout/dashboard-layout.js +10 -9
- package/dashboard/dashboard-layout/dashboard-layout.yaml +19 -7
- package/dashboard/date-range-selector/date-range-selector.a2ui.json +4 -3
- package/dashboard/date-range-selector/date-range-selector.yaml +6 -4
- package/dist/chat/chat-shell.min.css +1 -1
- package/dist/chat/chat-shell.min.js +23 -23
- package/dist/editor/editor-shell.min.js +3 -3
- package/dist/everything.min.js +127 -140
- package/dist/shell/admin-shell.min.css +1 -1
- package/dist/shell/admin-shell.min.js +6 -6
- package/dist/simple/simple-shell.min.js +5 -5
- package/dist/web-modules.min.css +1 -1
- package/dist/web-modules.sheet.js +1 -1
- package/editor/editor-canvas/editor-canvas.a2ui.json +4 -0
- package/editor/editor-canvas/editor-canvas.yaml +2 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.a2ui.json +4 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.yaml +2 -0
- package/editor/editor-canvas-toolbar/editor-canvas-toolbar.a2ui.json +4 -0
- package/editor/editor-canvas-toolbar/editor-canvas-toolbar.yaml +2 -0
- package/editor/editor-shell/editor-shell.a2ui.json +5 -0
- package/editor/editor-shell/editor-shell.yaml +3 -0
- package/editor/editor-sidebar/editor-sidebar.a2ui.json +4 -0
- package/editor/editor-sidebar/editor-sidebar.js +5 -3
- package/editor/editor-sidebar/editor-sidebar.yaml +2 -0
- package/editor/editor-statusbar/editor-statusbar.a2ui.json +4 -0
- package/editor/editor-statusbar/editor-statusbar.yaml +2 -0
- package/editor/editor-toolbar/editor-toolbar.a2ui.json +4 -0
- package/editor/editor-toolbar/editor-toolbar.yaml +2 -0
- package/feedback/confirm-dialog/confirm-dialog.a2ui.json +1 -0
- package/form/form-popover/form-popover.a2ui.json +1 -0
- package/onboarding/onboarding-checklist/onboarding-checklist.a2ui.json +2 -1
- package/onboarding/onboarding-checklist/onboarding-checklist.js +2 -2
- package/onboarding/onboarding-checklist/onboarding-checklist.yaml +1 -1
- package/package.json +6 -6
- package/runtime/a2ui-root/a2ui-root.a2ui.json +6 -5
- package/runtime/a2ui-root/a2ui-root.css +75 -0
- package/runtime/a2ui-root/a2ui-root.js +118 -10
- package/runtime/a2ui-root/a2ui-root.yaml +7 -2
- package/runtime/gen-root/gen-root.a2ui.json +6 -5
- package/runtime/gen-root/gen-root.yaml +10 -2
- package/settings/integrations-page/integrations-page.a2ui.json +3 -2
- package/settings/integrations-page/integrations-page.js +8 -8
- package/settings/integrations-page/integrations-page.yaml +2 -2
- package/settings/notification-preferences/notification-preferences.a2ui.json +1 -0
- package/shell/admin-command/admin-command.a2ui.json +5 -1
- package/shell/admin-command/admin-command.yaml +3 -1
- package/shell/admin-content/admin-content.a2ui.json +4 -0
- package/shell/admin-content/admin-content.yaml +2 -0
- package/shell/admin-entity-item/admin-entity-item.a2ui.json +1 -0
- package/shell/admin-page/admin-page.a2ui.json +5 -0
- package/shell/admin-page/admin-page.yaml +3 -0
- package/shell/admin-page-body/admin-page-body.a2ui.json +4 -0
- package/shell/admin-page-body/admin-page-body.yaml +2 -0
- package/shell/admin-page-footer/admin-page-footer.a2ui.json +4 -0
- package/shell/admin-page-footer/admin-page-footer.yaml +2 -0
- package/shell/admin-page-header/admin-page-header.a2ui.json +4 -0
- package/shell/admin-page-header/admin-page-header.yaml +2 -0
- package/shell/admin-scroll/admin-scroll.a2ui.json +4 -0
- package/shell/admin-scroll/admin-scroll.yaml +2 -0
- package/shell/admin-shell/admin-shell.a2ui.json +8 -4
- package/shell/admin-shell/admin-shell.d.ts +1 -1
- package/shell/admin-shell/admin-shell.yaml +5 -3
- package/shell/admin-shell/css/admin-shell.bespoke.css +5 -5
- package/shell/admin-shell/css/admin-shell.helpers.css +8 -3
- package/shell/admin-shell/css/admin-shell.sidebar.css +6 -6
- package/shell/admin-sidebar/admin-sidebar.a2ui.json +5 -1
- package/shell/admin-sidebar/admin-sidebar.d.ts +1 -1
- package/shell/admin-sidebar/admin-sidebar.js +31 -9
- package/shell/admin-sidebar/admin-sidebar.yaml +3 -1
- package/shell/admin-statusbar/admin-statusbar.a2ui.json +6 -0
- package/shell/admin-statusbar/admin-statusbar.yaml +4 -0
- package/shell/admin-topbar/admin-topbar.a2ui.json +6 -0
- package/shell/admin-topbar/admin-topbar.yaml +4 -0
- package/shell/embed-shell/embed-shell.a2ui.json +1 -0
- package/simple/simple-content/simple-content.a2ui.json +4 -0
- package/simple/simple-content/simple-content.yaml +2 -0
- package/simple/simple-hero/simple-hero.a2ui.json +4 -0
- package/simple/simple-hero/simple-hero.yaml +2 -0
- package/simple/simple-shell/simple-shell.a2ui.json +4 -0
- package/simple/simple-shell/simple-shell.yaml +2 -0
- package/theme/theme-panel/theme-panel.a2ui.json +1 -0
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"AdminPage"
|
|
27
|
+
],
|
|
25
28
|
"anti_patterns": [],
|
|
26
29
|
"category": "layout",
|
|
27
30
|
"composes": [],
|
|
@@ -33,6 +36,7 @@
|
|
|
33
36
|
"page-band"
|
|
34
37
|
],
|
|
35
38
|
"name": "AdminPageHeader",
|
|
39
|
+
"parts": {},
|
|
36
40
|
"related": [
|
|
37
41
|
"AdminPage",
|
|
38
42
|
"AdminPageBody",
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"AdminContent"
|
|
27
|
+
],
|
|
25
28
|
"anti_patterns": [],
|
|
26
29
|
"category": "layout",
|
|
27
30
|
"composes": [],
|
|
@@ -33,6 +36,7 @@
|
|
|
33
36
|
"scroll-container"
|
|
34
37
|
],
|
|
35
38
|
"name": "AdminScroll",
|
|
39
|
+
"parts": {},
|
|
36
40
|
"related": [
|
|
37
41
|
"AdminShell",
|
|
38
42
|
"AdminContent",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://adiaui.dev/a2ui/v0_9/components/
|
|
4
|
-
"title": "
|
|
5
|
-
"description": "Behavior-only application shell. Canonical authoring shape uses\ncluster-namespaced bespoke children — <admin-topbar> at the top,\n<admin-sidebar slot=\"leading|trailing\"> rails, <admin-content> for\nthe main content region, <admin-command> for the Cmd+K palette, and\noptional <admin-statusbar> at the bottom. The shell wires sidebar\ntoggle forwarding, command-palette triggers, and the ResizeObserver\nthat drives responsive sidebar collapse; each bespoke child owns\nits own resize / collapse / open state-as-attribute semantics per\nADR-0023.\n\nLegacy data-attribute shapes (<aside data-sidebar>, <dialog\ndata-command>, [data-resize], <aside-ui slot=>, <span data-spacer>,\n<div data-actions>) were RETIRED in v0.4.0 per ADR-0024 and are no\nlonger recognized. Consumers must use the bespoke vocabulary.\n",
|
|
3
|
+
"$id": "https://adiaui.dev/a2ui/v0_9/components/AdminShell.json",
|
|
4
|
+
"title": "AdminShell",
|
|
5
|
+
"description": "Behavior-only application shell. Canonical authoring shape uses\ncluster-namespaced bespoke children — <admin-topbar> at the top,\n<admin-sidebar slot=\"leading|trailing\"> rails, <admin-content> for\nthe main content region, <admin-command> for the Cmd+K palette, and\noptional <admin-statusbar> at the bottom. The shell wires sidebar\ntoggle forwarding, command-palette triggers, and the ResizeObserver\nthat drives responsive sidebar collapse; each bespoke child owns\nits own resize / collapse / open state-as-attribute semantics per\nADR-0023.\n\nLegacy data-attribute shapes (<aside data-sidebar>, <dialog\ndata-command>, [data-sidebar-resize], <aside-ui slot=>, <span data-spacer>,\n<div data-actions>) were RETIRED in v0.4.0 per ADR-0024 and are no\nlonger recognized. Consumers must use the bespoke vocabulary.\n",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
],
|
|
15
15
|
"properties": {
|
|
16
16
|
"component": {
|
|
17
|
-
"const": "
|
|
17
|
+
"const": "AdminShell"
|
|
18
18
|
},
|
|
19
19
|
"mode": {
|
|
20
20
|
"description": "Layout variant — space-separated token set. Recognized tokens:\n rounded — softens content-surface edges (border-radius from --page-content-radius)\n borderless — removes outer chrome borders (content dividers persist)\nThe CSS uses `mode~=\"<token>\"` attribute selectors, so multiple\ntokens combine additively (\"rounded borderless\" = both).\n\nDefault since v0.6.13: \"rounded borderless\". A bare `<admin-shell>`\nwith no `mode` attribute auto-promotes to this pair on connect.\nAuthor-supplied `mode` attributes (including the empty string\n`mode=\"\"` for flat bordered chrome) are respected verbatim.\n",
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
],
|
|
28
28
|
"unevaluatedProperties": false,
|
|
29
29
|
"x-adiaui": {
|
|
30
|
+
"allowedParents": [
|
|
31
|
+
"Surface"
|
|
32
|
+
],
|
|
30
33
|
"anti_patterns": [],
|
|
31
34
|
"category": "layout",
|
|
32
35
|
"composes": [],
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
"nav"
|
|
64
67
|
],
|
|
65
68
|
"name": "AdminShell",
|
|
69
|
+
"parts": {},
|
|
66
70
|
"related": [
|
|
67
71
|
"Nav",
|
|
68
72
|
"NavGroup",
|
|
@@ -10,7 +10,7 @@ its own resize / collapse / open state-as-attribute semantics per
|
|
|
10
10
|
ADR-0023.
|
|
11
11
|
|
|
12
12
|
Legacy data-attribute shapes (<aside data-sidebar>, <dialog
|
|
13
|
-
data-command>, [data-resize], <aside-ui slot=>, <span data-spacer>,
|
|
13
|
+
data-command>, [data-sidebar-resize], <aside-ui slot=>, <span data-spacer>,
|
|
14
14
|
<div data-actions>) were RETIRED in v0.4.0 per ADR-0024 and are no
|
|
15
15
|
longer recognized. Consumers must use the bespoke vocabulary.
|
|
16
16
|
|
|
@@ -2,7 +2,7 @@ $schema: ../../../../scripts/schemas/component.yaml.schema.json
|
|
|
2
2
|
name: AdminShell
|
|
3
3
|
tag: admin-shell
|
|
4
4
|
status: stable
|
|
5
|
-
component:
|
|
5
|
+
component: AdminShell
|
|
6
6
|
category: layout
|
|
7
7
|
version: 1
|
|
8
8
|
description: |
|
|
@@ -17,7 +17,7 @@ description: |
|
|
|
17
17
|
ADR-0023.
|
|
18
18
|
|
|
19
19
|
Legacy data-attribute shapes (<aside data-sidebar>, <dialog
|
|
20
|
-
data-command>, [data-resize], <aside-ui slot=>, <span data-spacer>,
|
|
20
|
+
data-command>, [data-sidebar-resize], <aside-ui slot=>, <span data-spacer>,
|
|
21
21
|
<div data-actions>) were RETIRED in v0.4.0 per ADR-0024 and are no
|
|
22
22
|
longer recognized. Consumers must use the bespoke vocabulary.
|
|
23
23
|
|
|
@@ -98,6 +98,8 @@ states:
|
|
|
98
98
|
traits: []
|
|
99
99
|
|
|
100
100
|
a2ui:
|
|
101
|
+
allowedParents:
|
|
102
|
+
- Surface
|
|
101
103
|
rules:
|
|
102
104
|
- >-
|
|
103
105
|
admin-shell takes bespoke admin-* children only. The canonical
|
|
@@ -119,7 +121,7 @@ a2ui:
|
|
|
119
121
|
- >-
|
|
120
122
|
Legacy data-attribute shapes were retired in v0.4.0 per ADR-0024.
|
|
121
123
|
Do not author <aside data-sidebar>, <dialog data-command>,
|
|
122
|
-
[data-resize], <aside-ui slot=>, <span data-spacer>, or
|
|
124
|
+
[data-sidebar-resize], <aside-ui slot=>, <span data-spacer>, or
|
|
123
125
|
<div data-actions> inside admin-shell.
|
|
124
126
|
|
|
125
127
|
keywords: [app-shell, shell, layout, admin, dashboard, sidebar, nav]
|
|
@@ -201,7 +201,7 @@ admin-sidebar[slot="trailing"] {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
/* Resize handle */
|
|
204
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize] {
|
|
204
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is([data-resize], [data-sidebar-resize]) {
|
|
205
205
|
position: absolute;
|
|
206
206
|
top: 0;
|
|
207
207
|
bottom: 0;
|
|
@@ -211,10 +211,10 @@ admin-sidebar[slot="trailing"] {
|
|
|
211
211
|
user-select: none;
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
admin-sidebar[slot="leading"] > [data-resize] { right: -3px; }
|
|
215
|
-
admin-sidebar[slot="trailing"] > [data-resize] { left: -3px; }
|
|
214
|
+
admin-sidebar[slot="leading"] > :is([data-resize], [data-sidebar-resize]) { right: -3px; }
|
|
215
|
+
admin-sidebar[slot="trailing"] > :is([data-resize], [data-sidebar-resize]) { left: -3px; }
|
|
216
216
|
|
|
217
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize]:hover {
|
|
217
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is([data-resize], [data-sidebar-resize]):hover {
|
|
218
218
|
background: var(--page-sidebar-resize-accent);
|
|
219
219
|
opacity: 0.5;
|
|
220
220
|
}
|
|
@@ -223,7 +223,7 @@ admin-sidebar[resizing] {
|
|
|
223
223
|
transition: none;
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
admin-sidebar[resizing] > [data-resize] {
|
|
226
|
+
admin-sidebar[resizing] > :is([data-resize], [data-sidebar-resize]) {
|
|
227
227
|
background: var(--page-sidebar-resize-accent);
|
|
228
228
|
opacity: 0.8;
|
|
229
229
|
}
|
|
@@ -26,14 +26,19 @@ admin-shell [data-actions] {
|
|
|
26
26
|
|
|
27
27
|
/* ── Form layout helpers ── */
|
|
28
28
|
|
|
29
|
-
/* 2-column grid (default), 3-column with data-grid="3" */
|
|
30
|
-
|
|
29
|
+
/* 2-column grid (default), 3-column with data-layout-grid="3" */
|
|
30
|
+
/* Rename-wave compat (docs/ops/plan/plan-090-rename-wave.md W1):
|
|
31
|
+
`data-layout-grid` is the current name; `data-grid` still dual-reads
|
|
32
|
+
until the 0.9.0 cut (W3). No JS reads this attribute, so there is no
|
|
33
|
+
deprecation warn to hang here — the migration guide + adia-lint advisory
|
|
34
|
+
are the signal (plan-090's own recorded honest limit). */
|
|
35
|
+
admin-shell :is([data-grid], [data-layout-grid]) {
|
|
31
36
|
display: grid;
|
|
32
37
|
grid-template-columns: 1fr 1fr;
|
|
33
38
|
gap: var(--page-grid-gap);
|
|
34
39
|
}
|
|
35
40
|
|
|
36
|
-
admin-shell [data-grid="3"] {
|
|
41
|
+
admin-shell :is([data-grid="3"], [data-layout-grid="3"]) {
|
|
37
42
|
grid-template-columns: 1fr 1fr 1fr;
|
|
38
43
|
}
|
|
39
44
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
/* ── Resize handle ──
|
|
31
31
|
6px invisible hit area straddling the sidebar edge.
|
|
32
32
|
Accent color on hover/drag. */
|
|
33
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize] {
|
|
33
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is([data-resize], [data-sidebar-resize]) {
|
|
34
34
|
position: absolute;
|
|
35
35
|
top: 0;
|
|
36
36
|
bottom: 0;
|
|
@@ -41,19 +41,19 @@
|
|
|
41
41
|
z-index: 3; /* above the content island's sticky bands (z 1) and sidebar chrome (z 2) — the grabber is a transient affordance and reads on top of shell chrome (gh#513) */
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
admin-sidebar[slot="leading"] > [data-resize] { right: -3px; }
|
|
45
|
-
admin-sidebar[slot="trailing"] > [data-resize] { left: -3px; }
|
|
44
|
+
admin-sidebar[slot="leading"] > :is([data-resize], [data-sidebar-resize]) { right: -3px; }
|
|
45
|
+
admin-sidebar[slot="trailing"] > :is([data-resize], [data-sidebar-resize]) { left: -3px; }
|
|
46
46
|
|
|
47
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize]:hover {
|
|
47
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is([data-resize], [data-sidebar-resize]):hover {
|
|
48
48
|
background: var(--page-sidebar-resize-accent);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[
|
|
51
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[resizing] > :is([data-resize], [data-sidebar-resize]) {
|
|
52
52
|
background: var(--page-sidebar-resize-accent);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/* During drag: disable transition + text selection */
|
|
56
|
-
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[
|
|
56
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[resizing] {
|
|
57
57
|
user-select: none;
|
|
58
58
|
transition: none;
|
|
59
59
|
}
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"default": ""
|
|
38
38
|
},
|
|
39
39
|
"resizable": {
|
|
40
|
-
"description": "Opts in to drag-to-resize behavior. Author supplies a child\n[data-resize] element as the drag handle.\n",
|
|
40
|
+
"description": "Opts in to drag-to-resize behavior. Author supplies a child\n[data-sidebar-resize] element as the drag handle.\n",
|
|
41
41
|
"type": "boolean",
|
|
42
42
|
"default": false
|
|
43
43
|
},
|
|
@@ -52,6 +52,9 @@
|
|
|
52
52
|
],
|
|
53
53
|
"unevaluatedProperties": false,
|
|
54
54
|
"x-adiaui": {
|
|
55
|
+
"allowedParents": [
|
|
56
|
+
"AdminShell"
|
|
57
|
+
],
|
|
55
58
|
"anti_patterns": [],
|
|
56
59
|
"category": "layout",
|
|
57
60
|
"composes": [],
|
|
@@ -84,6 +87,7 @@
|
|
|
84
87
|
"nav"
|
|
85
88
|
],
|
|
86
89
|
"name": "AdminSidebar",
|
|
90
|
+
"parts": {},
|
|
87
91
|
"related": [
|
|
88
92
|
"AdminShell",
|
|
89
93
|
"AdminCommand",
|
|
@@ -49,7 +49,7 @@ with the same slot.
|
|
|
49
49
|
*/
|
|
50
50
|
name: string;
|
|
51
51
|
/** Opts in to drag-to-resize behavior. Author supplies a child
|
|
52
|
-
[data-resize] element as the drag handle.
|
|
52
|
+
[data-sidebar-resize] element as the drag handle.
|
|
53
53
|
*/
|
|
54
54
|
resizable: boolean;
|
|
55
55
|
/** Reflected — set during an active pointer-drag on the resize handle.
|
|
@@ -29,8 +29,10 @@
|
|
|
29
29
|
* sidebar-toggle — bubbles. detail: { name, expanded }
|
|
30
30
|
* sidebar-resize — bubbles. detail: { name, width }
|
|
31
31
|
*
|
|
32
|
-
* The drag handle is conventional: a child `[data-resize]` element
|
|
33
|
-
*
|
|
32
|
+
* The drag handle is conventional: a child `[data-sidebar-resize]` element
|
|
33
|
+
* (`[data-resize]` still works — deprecated, dual-read compat shim, removed
|
|
34
|
+
* in 0.9.0: docs/ops/plan/plan-090-rename-wave.md). Authors may provide a
|
|
35
|
+
* custom one, or omit (no resize affordance).
|
|
34
36
|
*
|
|
35
37
|
* Backwards compat: <admin-shell> still recognizes the legacy
|
|
36
38
|
* `<aside data-sidebar="leading">` shape via :is() selector. New
|
|
@@ -59,6 +61,11 @@ class AdminSidebar extends UIElement {
|
|
|
59
61
|
// handle — one-shot per element so re-renders stay quiet. GC-friendly.
|
|
60
62
|
static #warnedNoHandle = new WeakSet();
|
|
61
63
|
|
|
64
|
+
// Rename-wave compat (docs/ops/plan/plan-090-rename-wave.md W1): one-shot
|
|
65
|
+
// deprecation warn per element when the legacy `[data-resize]` name is the
|
|
66
|
+
// one that resolved the handle. Same GC-friendly WeakSet pattern as above.
|
|
67
|
+
static #warnedOldResizeName = new WeakSet();
|
|
68
|
+
|
|
62
69
|
// The width the sidebar had before being collapsed — used for restore.
|
|
63
70
|
// Map keyed by sidebar name allows multiple sidebars on one host.
|
|
64
71
|
#previousExpandedWidth = '';
|
|
@@ -166,19 +173,34 @@ class AdminSidebar extends UIElement {
|
|
|
166
173
|
// ── Resize drag handle ──
|
|
167
174
|
|
|
168
175
|
#setupResizeHandle() {
|
|
169
|
-
|
|
176
|
+
// Rename-wave compat (plan-090 W1): `[data-sidebar-resize]` is the
|
|
177
|
+
// current name; `[data-resize]` still dual-reads until the 0.9.0 cut
|
|
178
|
+
// (W3), warning once per element when it's the name that resolved.
|
|
179
|
+
let handle = this.querySelector(':scope > [data-sidebar-resize]');
|
|
180
|
+
if (!handle) {
|
|
181
|
+
handle = this.querySelector(':scope > [data-resize]');
|
|
182
|
+
if (handle && !AdminSidebar.#warnedOldResizeName.has(this)) {
|
|
183
|
+
AdminSidebar.#warnedOldResizeName.add(this);
|
|
184
|
+
// eslint-disable-next-line no-console
|
|
185
|
+
console.warn(
|
|
186
|
+
'[admin-sidebar] `[data-resize]` is deprecated and removed in ' +
|
|
187
|
+
'0.9.0 — rename the drag-handle child to `[data-sidebar-resize]`.',
|
|
188
|
+
this,
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
170
192
|
if (!handle) {
|
|
171
193
|
// FEEDBACK-17: `resizable` opts in to drag-resize but relies on an
|
|
172
|
-
// author-supplied `[data-resize]` child. A silent return left
|
|
173
|
-
// with a no-op `resizable` attribute and zero diagnostic signal.
|
|
194
|
+
// author-supplied `[data-sidebar-resize]` child. A silent return left
|
|
195
|
+
// authors with a no-op `resizable` attribute and zero diagnostic signal.
|
|
174
196
|
if (!AdminSidebar.#warnedNoHandle.has(this)) {
|
|
175
197
|
AdminSidebar.#warnedNoHandle.add(this);
|
|
176
198
|
// eslint-disable-next-line no-console
|
|
177
199
|
console.warn(
|
|
178
|
-
'[admin-sidebar] `resizable` is set but no `[data-resize]`
|
|
179
|
-
'was found. Add `<div data-resize></div>` as a direct
|
|
180
|
-
'enable drag-to-resize. (Unlike `collapsible`, `resizable`
|
|
181
|
-
'this author-supplied handle.)',
|
|
200
|
+
'[admin-sidebar] `resizable` is set but no `[data-sidebar-resize]` ' +
|
|
201
|
+
'child was found. Add `<div data-sidebar-resize></div>` as a direct ' +
|
|
202
|
+
'child to enable drag-to-resize. (Unlike `collapsible`, `resizable` ' +
|
|
203
|
+
'requires this author-supplied handle.)',
|
|
182
204
|
this,
|
|
183
205
|
);
|
|
184
206
|
}
|
|
@@ -37,7 +37,7 @@ props:
|
|
|
37
37
|
resizable:
|
|
38
38
|
description: |
|
|
39
39
|
Opts in to drag-to-resize behavior. Author supplies a child
|
|
40
|
-
[data-resize] element as the drag handle.
|
|
40
|
+
[data-sidebar-resize] element as the drag handle.
|
|
41
41
|
type: boolean
|
|
42
42
|
default: false
|
|
43
43
|
reflect: true
|
|
@@ -105,6 +105,8 @@ states:
|
|
|
105
105
|
traits: []
|
|
106
106
|
|
|
107
107
|
a2ui:
|
|
108
|
+
allowedParents:
|
|
109
|
+
- AdminShell
|
|
108
110
|
rules:
|
|
109
111
|
- >-
|
|
110
112
|
admin-sidebar is the bespoke replacement for legacy
|
|
@@ -22,6 +22,11 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"AdminShell",
|
|
27
|
+
"AdminContent",
|
|
28
|
+
"AdminSidebar"
|
|
29
|
+
],
|
|
25
30
|
"anti_patterns": [],
|
|
26
31
|
"category": "layout",
|
|
27
32
|
"composes": [],
|
|
@@ -35,6 +40,7 @@
|
|
|
35
40
|
"status-line"
|
|
36
41
|
],
|
|
37
42
|
"name": "AdminStatusbar",
|
|
43
|
+
"parts": {},
|
|
38
44
|
"related": [
|
|
39
45
|
"AdminShell",
|
|
40
46
|
"AdminContent",
|
|
@@ -22,6 +22,11 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"AdminShell",
|
|
27
|
+
"AdminContent",
|
|
28
|
+
"AdminSidebar"
|
|
29
|
+
],
|
|
25
30
|
"anti_patterns": [],
|
|
26
31
|
"category": "layout",
|
|
27
32
|
"composes": [],
|
|
@@ -35,6 +40,7 @@
|
|
|
35
40
|
"shell-header"
|
|
36
41
|
],
|
|
37
42
|
"name": "AdminTopbar",
|
|
43
|
+
"parts": {},
|
|
38
44
|
"related": [
|
|
39
45
|
"AdminShell",
|
|
40
46
|
"AdminContent",
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"SimpleShell"
|
|
27
|
+
],
|
|
25
28
|
"anti_patterns": [],
|
|
26
29
|
"category": "shells",
|
|
27
30
|
"composes": [],
|
|
@@ -37,6 +40,7 @@
|
|
|
37
40
|
"marketing-body"
|
|
38
41
|
],
|
|
39
42
|
"name": "SimpleContent",
|
|
43
|
+
"parts": {},
|
|
40
44
|
"related": [
|
|
41
45
|
"SimpleShell",
|
|
42
46
|
"SimpleHero"
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"unevaluatedProperties": false,
|
|
24
24
|
"x-adiaui": {
|
|
25
|
+
"allowedParents": [
|
|
26
|
+
"SimpleShell"
|
|
27
|
+
],
|
|
25
28
|
"anti_patterns": [],
|
|
26
29
|
"category": "shells",
|
|
27
30
|
"composes": [],
|
|
@@ -37,6 +40,7 @@
|
|
|
37
40
|
"page-title"
|
|
38
41
|
],
|
|
39
42
|
"name": "SimpleHero",
|
|
43
|
+
"parts": {},
|
|
40
44
|
"related": [
|
|
41
45
|
"SimpleShell",
|
|
42
46
|
"SimpleContent"
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
],
|
|
33
33
|
"unevaluatedProperties": false,
|
|
34
34
|
"x-adiaui": {
|
|
35
|
+
"allowedParents": [
|
|
36
|
+
"Surface"
|
|
37
|
+
],
|
|
35
38
|
"anti_patterns": [],
|
|
36
39
|
"category": "shells",
|
|
37
40
|
"composes": [],
|
|
@@ -47,6 +50,7 @@
|
|
|
47
50
|
"minimal-shell"
|
|
48
51
|
],
|
|
49
52
|
"name": "SimpleShell",
|
|
53
|
+
"parts": {},
|
|
50
54
|
"related": [
|
|
51
55
|
"SimpleHero",
|
|
52
56
|
"SimpleContent",
|