@adia-ai/web-modules 0.3.5 → 0.4.0
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 +55 -0
- package/chat/chat-shell/chat-shell.js +28 -40
- package/chat/chat-shell/css/chat-shell.empty.css +3 -3
- package/chat/chat-shell/css/chat-shell.layout.css +2 -2
- package/editor/editor-canvas/editor-canvas.a2ui.json +87 -0
- package/editor/editor-canvas/editor-canvas.examples.html +65 -0
- package/editor/editor-canvas/editor-canvas.html +43 -0
- package/editor/editor-canvas/editor-canvas.js +103 -0
- package/editor/editor-canvas/editor-canvas.test.js +100 -0
- package/editor/editor-canvas/editor-canvas.yaml +88 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.a2ui.json +69 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.examples.html +65 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.html +42 -0
- package/editor/editor-canvas-empty/editor-canvas-empty.yaml +56 -0
- package/editor/editor-shell/css/editor-shell.bespoke.css +237 -0
- package/editor/editor-shell/css/editor-shell.layout.css +6 -6
- package/editor/editor-shell/editor-shell.css +1 -0
- package/editor/editor-shell/editor-shell.js +87 -30
- package/editor/editor-sidebar/editor-sidebar.a2ui.json +93 -0
- package/editor/editor-sidebar/editor-sidebar.examples.html +65 -0
- package/editor/editor-sidebar/editor-sidebar.html +43 -0
- package/editor/editor-sidebar/editor-sidebar.js +197 -0
- package/editor/editor-sidebar/editor-sidebar.test.js +145 -0
- package/editor/editor-sidebar/editor-sidebar.yaml +91 -0
- package/editor/editor-statusbar/editor-statusbar.a2ui.json +76 -0
- package/editor/editor-statusbar/editor-statusbar.examples.html +65 -0
- package/editor/editor-statusbar/editor-statusbar.html +42 -0
- package/editor/editor-statusbar/editor-statusbar.yaml +57 -0
- package/editor/editor-toolbar/editor-toolbar.a2ui.json +96 -0
- package/editor/editor-toolbar/editor-toolbar.examples.html +65 -0
- package/editor/editor-toolbar/editor-toolbar.html +43 -0
- package/editor/editor-toolbar/editor-toolbar.js +58 -0
- package/editor/editor-toolbar/editor-toolbar.test.js +99 -0
- package/editor/editor-toolbar/editor-toolbar.yaml +81 -0
- package/editor/index.js +3 -0
- package/package.json +4 -4
- package/shell/admin-shell/admin-shell.js +27 -243
- package/shell/admin-shell/css/admin-shell.bespoke.css +22 -26
- package/shell/admin-shell/css/admin-shell.main.css +2 -2
- package/shell/admin-shell/css/admin-shell.shell.css +2 -2
- package/shell/admin-shell/css/admin-shell.sidebar.css +35 -33
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
Acts as a CSS container query provider (container-name: sidebar)
|
|
6
6
|
so children can adapt to collapsed width via @container.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Canonical authoring shape (since v0.4.0, ADR-0023 Phase 3):
|
|
9
|
+
<admin-sidebar slot="leading|trailing" resizable collapsible>
|
|
10
|
+
|
|
11
|
+
Pre-v0.4.0 legacy shapes (<aside data-sidebar>, <aside-ui slot>)
|
|
12
|
+
were retired; see ADR-0024 + git history for the migration recipe.
|
|
11
13
|
═══════════════════════════════════════════════════════════════ */
|
|
12
14
|
|
|
13
|
-
:is(
|
|
15
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) {
|
|
14
16
|
display: flex;
|
|
15
17
|
flex-direction: column;
|
|
16
18
|
flex-shrink: 0;
|
|
@@ -27,7 +29,7 @@
|
|
|
27
29
|
/* ── Resize handle ──
|
|
28
30
|
6px invisible hit area straddling the sidebar edge.
|
|
29
31
|
Accent color on hover/drag. */
|
|
30
|
-
:is(
|
|
32
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize] {
|
|
31
33
|
position: absolute;
|
|
32
34
|
top: 0;
|
|
33
35
|
bottom: 0;
|
|
@@ -38,29 +40,29 @@
|
|
|
38
40
|
z-index: 2;
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
admin-sidebar[slot="leading"] > [data-resize] { right: -3px; }
|
|
44
|
+
admin-sidebar[slot="trailing"] > [data-resize] { left: -3px; }
|
|
43
45
|
|
|
44
|
-
:is(
|
|
46
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > [data-resize]:hover {
|
|
45
47
|
background: var(--page-sidebar-resize-accent);
|
|
46
48
|
}
|
|
47
49
|
|
|
48
|
-
:is(
|
|
50
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[data-resizing] > [data-resize] {
|
|
49
51
|
background: var(--page-sidebar-resize-accent);
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
/* During drag: disable transition + text selection */
|
|
53
|
-
:is(
|
|
55
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"])[data-resizing] {
|
|
54
56
|
user-select: none;
|
|
55
57
|
transition: none;
|
|
56
58
|
}
|
|
57
59
|
|
|
58
60
|
/* ── Sidebar widths ── */
|
|
59
|
-
|
|
61
|
+
admin-sidebar[slot="leading"] {
|
|
60
62
|
width: var(--page-sidebar-width-leading);
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
admin-sidebar[slot="trailing"] {
|
|
64
66
|
width: var(--page-sidebar-width-trailing);
|
|
65
67
|
}
|
|
66
68
|
|
|
@@ -71,8 +73,8 @@
|
|
|
71
73
|
(a workspace-select or user-select) so the slot rules rarely come
|
|
72
74
|
into play — but they stay consistent for authors that compose
|
|
73
75
|
richer sidebar chromes. */
|
|
74
|
-
:is(
|
|
75
|
-
:is(
|
|
76
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui),
|
|
77
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) {
|
|
76
78
|
display: flex;
|
|
77
79
|
align-items: center;
|
|
78
80
|
gap: var(--page-sidebar-gap);
|
|
@@ -82,49 +84,49 @@
|
|
|
82
84
|
min-width: 0;
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
:is(
|
|
87
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) {
|
|
86
88
|
min-height: var(--page-header-height);
|
|
87
89
|
border-bottom: var(--page-border);
|
|
88
90
|
}
|
|
89
91
|
|
|
90
|
-
:is(
|
|
92
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) {
|
|
91
93
|
min-height: var(--page-header-height);
|
|
92
94
|
margin-top: auto;
|
|
93
95
|
border-top: var(--page-border);
|
|
94
96
|
}
|
|
95
97
|
|
|
96
|
-
:is(
|
|
97
|
-
:is(
|
|
98
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="icon"],
|
|
99
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="icon"] {
|
|
98
100
|
display: flex;
|
|
99
101
|
align-items: center;
|
|
100
102
|
flex-shrink: 0;
|
|
101
103
|
color: var(--page-header-fg-muted);
|
|
102
104
|
}
|
|
103
|
-
:is(
|
|
104
|
-
:is(
|
|
105
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="heading"],
|
|
106
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="heading"] {
|
|
105
107
|
font-weight: var(--a-weight-medium);
|
|
106
108
|
color: var(--a-fg);
|
|
107
109
|
}
|
|
108
|
-
:is(
|
|
109
|
-
:is(
|
|
110
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="description"],
|
|
111
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="description"] {
|
|
110
112
|
color: var(--page-header-fg-muted);
|
|
111
113
|
font-size: var(--a-ui-sm);
|
|
112
114
|
}
|
|
113
|
-
:is(
|
|
114
|
-
:is(
|
|
115
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="action"],
|
|
116
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="action"] {
|
|
115
117
|
display: flex;
|
|
116
118
|
align-items: center;
|
|
117
119
|
gap: var(--page-actions-gap);
|
|
118
120
|
flex-shrink: 0;
|
|
119
121
|
margin-inline-start: auto;
|
|
120
122
|
}
|
|
121
|
-
:is(
|
|
122
|
-
:is(
|
|
123
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="action"] ~ [slot="action"],
|
|
124
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="action"] ~ [slot="action"] {
|
|
123
125
|
margin-inline-start: 0;
|
|
124
126
|
}
|
|
125
127
|
/* Dual-cluster: leading group on inline-start, trailing cluster on inline-end. */
|
|
126
|
-
:is(
|
|
127
|
-
:is(
|
|
128
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(header, header-ui) > [slot="action-leading"],
|
|
129
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(footer, footer-ui) > [slot="action-leading"] {
|
|
128
130
|
display: flex;
|
|
129
131
|
align-items: center;
|
|
130
132
|
gap: var(--page-actions-gap);
|
|
@@ -133,7 +135,7 @@
|
|
|
133
135
|
}
|
|
134
136
|
|
|
135
137
|
/* ── Sidebar section (scrollable body) ── */
|
|
136
|
-
:is(
|
|
138
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(section, section-ui) {
|
|
137
139
|
flex: 1;
|
|
138
140
|
overflow-y: auto;
|
|
139
141
|
padding: var(--page-sidebar-px);
|
|
@@ -141,23 +143,23 @@
|
|
|
141
143
|
scrollbar-width: none;
|
|
142
144
|
}
|
|
143
145
|
|
|
144
|
-
:is(
|
|
146
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(section, section-ui)::-webkit-scrollbar { display: none; }
|
|
145
147
|
|
|
146
148
|
/* span[slot="pad"] — opt-in padding wrapper for sidebar content
|
|
147
149
|
that needs inset (e.g. trailing sidebar inspector fields) */
|
|
148
|
-
:is(
|
|
150
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) span[slot="pad"] {
|
|
149
151
|
display: block;
|
|
150
152
|
padding: var(--page-sidebar-px);
|
|
151
153
|
}
|
|
152
154
|
|
|
153
155
|
/* Reset nav-ui border/padding inside sidebars */
|
|
154
|
-
:is(
|
|
156
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) nav-ui {
|
|
155
157
|
border: none;
|
|
156
158
|
padding: 0;
|
|
157
159
|
}
|
|
158
160
|
|
|
159
161
|
/* Sidebar-level divider (outside nav-ui scope) */
|
|
160
|
-
:is(
|
|
162
|
+
:is(admin-sidebar[slot="leading"], admin-sidebar[slot="trailing"]) > :is(section, section-ui) > hr[data-nav-divider] {
|
|
161
163
|
border: none;
|
|
162
164
|
height: 1px;
|
|
163
165
|
background: var(--page-sidebar-divider-bg);
|