@ai-matrx/canvas 0.1.1 → 0.2.1
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 +34 -0
- package/README.md +114 -4
- package/dist/controller-Dv6J6XZm.d.cts +576 -0
- package/dist/controller-Dv6J6XZm.d.ts +576 -0
- package/dist/index.cjs +743 -104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +118 -11
- package/dist/index.d.ts +118 -11
- package/dist/index.js +743 -104
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +1476 -406
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +242 -22
- package/dist/react.d.ts +242 -22
- package/dist/react.js +1486 -404
- package/dist/react.js.map +1 -1
- package/dist/styles.css +347 -50
- package/dist/tokens.css +58 -36
- package/package.json +1 -1
- package/dist/controller-oY84BN2c.d.cts +0 -345
- package/dist/controller-oY84BN2c.d.ts +0 -345
package/dist/styles.css
CHANGED
|
@@ -3,8 +3,13 @@
|
|
|
3
3
|
/*
|
|
4
4
|
* @ai-matrx/canvas — structural CSS (C26).
|
|
5
5
|
*
|
|
6
|
-
* Every colour comes from a --mxc-* token. Hosts set the token VALUES
|
|
7
|
-
* tokens.css
|
|
6
|
+
* Every colour and size comes from a --mxc-* token. Hosts set the token VALUES
|
|
7
|
+
* (tokens.css ships defaults that follow a design-system theme when one is
|
|
8
|
+
* present); this sheet never hardcodes a colour.
|
|
9
|
+
*
|
|
10
|
+
* The look: panes are cards (radius, hairline border) on the column's frame
|
|
11
|
+
* background, separated by a gap that is also the split handle — the Claude
|
|
12
|
+
* desktop / Codex canvas.
|
|
8
13
|
*/
|
|
9
14
|
|
|
10
15
|
.mxc-column {
|
|
@@ -15,15 +20,17 @@
|
|
|
15
20
|
height: 100%;
|
|
16
21
|
min-height: 0;
|
|
17
22
|
flex: none;
|
|
18
|
-
background: var(--mxc-bg);
|
|
23
|
+
background: var(--mxc-frame-bg);
|
|
19
24
|
color: var(--mxc-fg);
|
|
20
|
-
border-left:
|
|
25
|
+
border-left: var(--mxc-column-border-width, 0px) solid var(--mxc-border);
|
|
21
26
|
/* The column owns the top edge of the window: no header sits above it. */
|
|
22
27
|
padding-top: var(--mxc-safe-top, 0px);
|
|
23
28
|
isolation: isolate;
|
|
29
|
+
font-family: inherit;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
|
-
.mxc-column[data-fullscreen]
|
|
32
|
+
.mxc-column[data-fullscreen],
|
|
33
|
+
.mxc-column[data-placement="fill"] {
|
|
27
34
|
width: 100%;
|
|
28
35
|
border-left: 0;
|
|
29
36
|
}
|
|
@@ -51,10 +58,21 @@
|
|
|
51
58
|
user-select: none !important;
|
|
52
59
|
}
|
|
53
60
|
|
|
61
|
+
:root[data-mxc-resizing="row"],
|
|
62
|
+
:root[data-mxc-resizing="row"] * {
|
|
63
|
+
cursor: row-resize !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
54
66
|
.mxc-layout {
|
|
55
67
|
flex: 1 1 auto;
|
|
56
68
|
min-height: 0;
|
|
57
69
|
display: flex;
|
|
70
|
+
padding: var(--mxc-gap);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.mxc-column[data-placement="docked"]:not([data-fullscreen]) > .mxc-layout {
|
|
74
|
+
/* The gap on the left edge is the width handle's room. */
|
|
75
|
+
padding-left: max(var(--mxc-gap), 0px);
|
|
58
76
|
}
|
|
59
77
|
|
|
60
78
|
.mxc-split {
|
|
@@ -74,45 +92,53 @@
|
|
|
74
92
|
display: flex;
|
|
75
93
|
}
|
|
76
94
|
|
|
95
|
+
/* The gap between cards IS the handle: transparent, tinted on hover and drag. */
|
|
77
96
|
.mxc-split-handle {
|
|
78
97
|
flex: none;
|
|
79
|
-
background: var(--mxc-border);
|
|
80
|
-
touch-action: none;
|
|
81
98
|
position: relative;
|
|
99
|
+
touch-action: none;
|
|
100
|
+
border-radius: 999px;
|
|
101
|
+
background: transparent;
|
|
102
|
+
transition: background-color 120ms ease-out;
|
|
82
103
|
}
|
|
83
104
|
|
|
84
105
|
.mxc-split[data-orientation="horizontal"] > .mxc-split-handle {
|
|
85
|
-
width: 1px;
|
|
106
|
+
width: max(var(--mxc-gap), 1px);
|
|
86
107
|
cursor: col-resize;
|
|
87
108
|
}
|
|
88
109
|
|
|
89
110
|
.mxc-split[data-orientation="vertical"] > .mxc-split-handle {
|
|
90
|
-
height: 1px;
|
|
111
|
+
height: max(var(--mxc-gap), 1px);
|
|
91
112
|
cursor: row-resize;
|
|
92
113
|
}
|
|
93
114
|
|
|
94
|
-
/* A
|
|
115
|
+
/* A grab area at least 7px wide around a thin gap. */
|
|
95
116
|
.mxc-split-handle::after {
|
|
96
117
|
content: "";
|
|
97
118
|
position: absolute;
|
|
98
119
|
inset: -3px;
|
|
99
120
|
}
|
|
100
121
|
|
|
101
|
-
.mxc-split-handle:hover
|
|
102
|
-
|
|
122
|
+
.mxc-split-handle:hover,
|
|
123
|
+
.mxc-split-handle:active {
|
|
124
|
+
background: var(--mxc-handle-hover);
|
|
103
125
|
}
|
|
104
126
|
|
|
105
|
-
|
|
127
|
+
/* ── panel (THE chrome) ─────────────────────────────────────────────────── */
|
|
128
|
+
|
|
129
|
+
.mxc-panel {
|
|
106
130
|
flex: 1 1 auto;
|
|
107
131
|
min-width: 0;
|
|
108
132
|
min-height: 0;
|
|
133
|
+
width: 100%;
|
|
134
|
+
height: 100%;
|
|
109
135
|
display: flex;
|
|
110
136
|
flex-direction: column;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
border: 1px solid var(--mxc-border);
|
|
139
|
+
border-radius: var(--mxc-radius);
|
|
111
140
|
background: var(--mxc-bg);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
.mxc-pane[data-drop] {
|
|
115
|
-
box-shadow: inset 0 0 0 2px var(--mxc-accent);
|
|
141
|
+
color: var(--mxc-fg);
|
|
116
142
|
}
|
|
117
143
|
|
|
118
144
|
.mxc-pane-header {
|
|
@@ -120,14 +146,133 @@
|
|
|
120
146
|
display: flex;
|
|
121
147
|
align-items: center;
|
|
122
148
|
gap: 0.25rem;
|
|
123
|
-
height: var(--mxc-header-h, 2.
|
|
124
|
-
padding: 0 0.
|
|
125
|
-
border-bottom: 1px solid var(--mxc-border);
|
|
149
|
+
height: var(--mxc-header-h, 2.25rem);
|
|
150
|
+
padding: 0 0.375rem 0 0.375rem;
|
|
126
151
|
background: var(--mxc-header-bg);
|
|
152
|
+
min-width: 0;
|
|
127
153
|
}
|
|
128
154
|
|
|
129
|
-
.mxc-
|
|
155
|
+
.mxc-panel-title {
|
|
156
|
+
flex: 0 1 auto;
|
|
157
|
+
min-width: 0;
|
|
158
|
+
display: inline-flex;
|
|
159
|
+
align-items: center;
|
|
160
|
+
gap: 0.375rem;
|
|
161
|
+
padding: 0 0.375rem;
|
|
162
|
+
overflow: hidden;
|
|
163
|
+
font-size: 0.75rem;
|
|
164
|
+
font-weight: 500;
|
|
165
|
+
line-height: 1rem;
|
|
166
|
+
color: var(--mxc-title-fg);
|
|
167
|
+
white-space: nowrap;
|
|
168
|
+
text-overflow: ellipsis;
|
|
169
|
+
user-select: none;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.mxc-panel-title[data-draggable] {
|
|
173
|
+
cursor: grab;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.mxc-title-icon {
|
|
177
|
+
flex: none;
|
|
178
|
+
width: 0.875rem;
|
|
179
|
+
height: 0.875rem;
|
|
180
|
+
color: var(--mxc-muted);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* After the title or tabs: grows to fill the header (a browser bar, "+ new"). */
|
|
184
|
+
.mxc-pane-leading {
|
|
185
|
+
flex: 1 1 0;
|
|
186
|
+
min-width: 0;
|
|
187
|
+
display: flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
gap: 0.125rem;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.mxc-pane-leading:empty {
|
|
193
|
+
min-width: 0.25rem;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.mxc-pane-actions {
|
|
197
|
+
flex: none;
|
|
198
|
+
display: flex;
|
|
199
|
+
align-items: center;
|
|
200
|
+
gap: 0.125rem;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.mxc-pane-body {
|
|
204
|
+
position: relative;
|
|
130
205
|
flex: 1 1 auto;
|
|
206
|
+
min-height: 0;
|
|
207
|
+
display: flex;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/* ── header buttons ─────────────────────────────────────────────────────── */
|
|
212
|
+
|
|
213
|
+
.mxc-icon-button {
|
|
214
|
+
position: relative;
|
|
215
|
+
flex: none;
|
|
216
|
+
display: inline-flex;
|
|
217
|
+
align-items: center;
|
|
218
|
+
justify-content: center;
|
|
219
|
+
width: 1.5rem;
|
|
220
|
+
height: 1.5rem;
|
|
221
|
+
padding: 0;
|
|
222
|
+
border: 0;
|
|
223
|
+
border-radius: 0.375rem;
|
|
224
|
+
background: transparent;
|
|
225
|
+
color: var(--mxc-muted);
|
|
226
|
+
cursor: pointer;
|
|
227
|
+
outline: none;
|
|
228
|
+
transition: background-color 120ms ease-out, color 120ms ease-out;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.mxc-icon-button[data-size="md"] {
|
|
232
|
+
width: 1.75rem;
|
|
233
|
+
height: 1.75rem;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.mxc-icon-button svg {
|
|
237
|
+
width: 0.875rem;
|
|
238
|
+
height: 0.875rem;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.mxc-icon-button[data-size="md"] svg {
|
|
242
|
+
width: 1rem;
|
|
243
|
+
height: 1rem;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.mxc-icon-button:hover,
|
|
247
|
+
.mxc-icon-button[data-state="open"],
|
|
248
|
+
.mxc-icon-button[aria-pressed="true"] {
|
|
249
|
+
background: var(--mxc-hover);
|
|
250
|
+
color: var(--mxc-fg);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.mxc-icon-button:focus-visible {
|
|
254
|
+
box-shadow: 0 0 0 2px var(--mxc-ring);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.mxc-icon-button[data-available="false"] {
|
|
258
|
+
cursor: default;
|
|
259
|
+
color: var(--mxc-disabled);
|
|
260
|
+
background: transparent;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/* Touch screens: a 40px hit area around the 24px button. */
|
|
264
|
+
@media (pointer: coarse) {
|
|
265
|
+
.mxc-icon-button::after {
|
|
266
|
+
content: "";
|
|
267
|
+
position: absolute;
|
|
268
|
+
inset: -0.5rem;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/* ── tabs ───────────────────────────────────────────────────────────────── */
|
|
273
|
+
|
|
274
|
+
.mxc-tabs {
|
|
275
|
+
flex: 0 1 auto;
|
|
131
276
|
min-width: 0;
|
|
132
277
|
display: flex;
|
|
133
278
|
align-items: center;
|
|
@@ -141,93 +286,170 @@
|
|
|
141
286
|
}
|
|
142
287
|
|
|
143
288
|
.mxc-tab {
|
|
144
|
-
|
|
145
|
-
|
|
289
|
+
position: relative;
|
|
290
|
+
flex: 0 1 10rem;
|
|
291
|
+
min-width: 4.5rem;
|
|
292
|
+
max-width: 10rem;
|
|
293
|
+
display: flex;
|
|
146
294
|
align-items: center;
|
|
147
295
|
gap: 0.375rem;
|
|
148
|
-
|
|
149
|
-
height: 1.875rem;
|
|
296
|
+
height: 1.75rem;
|
|
150
297
|
padding: 0 0.25rem 0 0.5rem;
|
|
151
|
-
border-radius: 0.
|
|
152
|
-
font-size: 0.
|
|
153
|
-
line-height:
|
|
298
|
+
border-radius: 0.375rem;
|
|
299
|
+
font-size: 0.75rem;
|
|
300
|
+
line-height: 1rem;
|
|
154
301
|
color: var(--mxc-muted);
|
|
155
|
-
cursor:
|
|
302
|
+
cursor: default;
|
|
156
303
|
user-select: none;
|
|
304
|
+
outline: none;
|
|
157
305
|
}
|
|
158
306
|
|
|
159
307
|
.mxc-tab:hover {
|
|
160
308
|
background: var(--mxc-hover);
|
|
161
|
-
color: var(--mxc-fg);
|
|
162
309
|
}
|
|
163
310
|
|
|
164
311
|
.mxc-tab[data-active] {
|
|
165
312
|
background: var(--mxc-tab-active-bg);
|
|
166
313
|
color: var(--mxc-fg);
|
|
314
|
+
box-shadow: var(--mxc-tab-active-shadow);
|
|
167
315
|
}
|
|
168
316
|
|
|
169
317
|
.mxc-pane:not([data-focused]) .mxc-tab[data-active] {
|
|
170
|
-
|
|
318
|
+
color: var(--mxc-title-fg);
|
|
171
319
|
}
|
|
172
320
|
|
|
173
321
|
.mxc-tab:focus-visible {
|
|
174
|
-
|
|
175
|
-
outline-offset: -2px;
|
|
322
|
+
box-shadow: 0 0 0 2px var(--mxc-ring);
|
|
176
323
|
}
|
|
177
324
|
|
|
178
325
|
.mxc-tab-icon {
|
|
179
326
|
flex: none;
|
|
327
|
+
display: inline-flex;
|
|
180
328
|
width: 0.875rem;
|
|
181
329
|
height: 0.875rem;
|
|
330
|
+
opacity: 0.75;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.mxc-tab-icon svg,
|
|
334
|
+
.mxc-favicon {
|
|
335
|
+
width: 0.875rem;
|
|
336
|
+
height: 0.875rem;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.mxc-favicon {
|
|
340
|
+
border-radius: 0.125rem;
|
|
182
341
|
}
|
|
183
342
|
|
|
184
343
|
.mxc-tab-title {
|
|
344
|
+
flex: 1 1 auto;
|
|
185
345
|
min-width: 0;
|
|
186
346
|
overflow: hidden;
|
|
187
347
|
text-overflow: ellipsis;
|
|
188
348
|
white-space: nowrap;
|
|
189
349
|
}
|
|
190
350
|
|
|
351
|
+
.mxc-tab-note {
|
|
352
|
+
flex: none;
|
|
353
|
+
font-size: 0.6875rem;
|
|
354
|
+
color: var(--mxc-disabled);
|
|
355
|
+
}
|
|
356
|
+
|
|
191
357
|
.mxc-tab-close {
|
|
192
358
|
flex: none;
|
|
193
359
|
display: inline-flex;
|
|
194
360
|
align-items: center;
|
|
195
361
|
justify-content: center;
|
|
196
|
-
width:
|
|
197
|
-
height:
|
|
362
|
+
width: 1rem;
|
|
363
|
+
height: 1rem;
|
|
364
|
+
padding: 0;
|
|
198
365
|
border: 0;
|
|
199
|
-
border-radius: 0.
|
|
366
|
+
border-radius: 0.25rem;
|
|
200
367
|
background: transparent;
|
|
201
|
-
color:
|
|
368
|
+
color: var(--mxc-muted);
|
|
202
369
|
opacity: 0;
|
|
203
370
|
cursor: pointer;
|
|
371
|
+
outline: none;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.mxc-tab-close svg {
|
|
375
|
+
width: 0.75rem;
|
|
376
|
+
height: 0.75rem;
|
|
204
377
|
}
|
|
205
378
|
|
|
206
379
|
.mxc-tab:hover .mxc-tab-close,
|
|
207
380
|
.mxc-tab[data-active] .mxc-tab-close,
|
|
208
381
|
.mxc-tab-close:focus-visible {
|
|
209
|
-
opacity:
|
|
382
|
+
opacity: 1;
|
|
210
383
|
}
|
|
211
384
|
|
|
212
385
|
.mxc-tab-close:hover {
|
|
213
|
-
opacity: 1;
|
|
214
386
|
background: var(--mxc-hover);
|
|
387
|
+
color: var(--mxc-fg);
|
|
215
388
|
}
|
|
216
389
|
|
|
217
|
-
.mxc-
|
|
390
|
+
.mxc-tab-close:focus-visible {
|
|
391
|
+
box-shadow: 0 0 0 2px var(--mxc-ring);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/* ── browser bar ────────────────────────────────────────────────────────── */
|
|
395
|
+
|
|
396
|
+
/* In a body column it keeps its own height; in a header's leading slot it fills the width. */
|
|
397
|
+
.mxc-browser-bar {
|
|
218
398
|
flex: none;
|
|
399
|
+
min-width: 0;
|
|
219
400
|
display: flex;
|
|
220
401
|
align-items: center;
|
|
402
|
+
gap: 0.125rem;
|
|
403
|
+
height: 2.5rem;
|
|
404
|
+
padding: 0 0.375rem;
|
|
221
405
|
}
|
|
222
406
|
|
|
223
|
-
.mxc-pane-
|
|
224
|
-
position: relative;
|
|
407
|
+
.mxc-pane-leading > .mxc-browser-bar {
|
|
225
408
|
flex: 1 1 auto;
|
|
226
|
-
|
|
409
|
+
height: auto;
|
|
410
|
+
padding: 0;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.mxc-address-form {
|
|
414
|
+
flex: 1 1 auto;
|
|
415
|
+
min-width: 4rem;
|
|
416
|
+
margin: 0 0 0 0.25rem;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
.mxc-address {
|
|
420
|
+
width: 100%;
|
|
421
|
+
height: 1.75rem;
|
|
422
|
+
padding: 0 0.75rem;
|
|
423
|
+
border: 1px solid var(--mxc-border);
|
|
424
|
+
border-radius: 999px;
|
|
425
|
+
background: var(--mxc-input-bg);
|
|
426
|
+
color: var(--mxc-fg);
|
|
427
|
+
font: inherit;
|
|
428
|
+
font-size: 0.75rem;
|
|
429
|
+
text-align: center;
|
|
430
|
+
outline: none;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.mxc-address::placeholder {
|
|
434
|
+
color: var(--mxc-muted);
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.mxc-address:focus {
|
|
438
|
+
background: var(--mxc-tab-active-bg);
|
|
439
|
+
text-align: left;
|
|
440
|
+
box-shadow: 0 0 0 2px var(--mxc-ring);
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.mxc-browser-bar-trailing {
|
|
444
|
+
flex: none;
|
|
227
445
|
display: flex;
|
|
228
|
-
|
|
446
|
+
align-items: center;
|
|
447
|
+
gap: 0.125rem;
|
|
448
|
+
margin-left: 0.25rem;
|
|
229
449
|
}
|
|
230
450
|
|
|
451
|
+
/* ── bodies ─────────────────────────────────────────────────────────────── */
|
|
452
|
+
|
|
231
453
|
.mxc-item {
|
|
232
454
|
flex: 1 1 auto;
|
|
233
455
|
min-height: 0;
|
|
@@ -240,6 +462,15 @@
|
|
|
240
462
|
display: none;
|
|
241
463
|
}
|
|
242
464
|
|
|
465
|
+
/* Where a host's native view sits (a desktop browser tab). */
|
|
466
|
+
.mxc-native-body {
|
|
467
|
+
flex: 1 1 auto;
|
|
468
|
+
min-height: 0;
|
|
469
|
+
margin: 0 var(--mxc-native-inset, 0.375rem) var(--mxc-native-inset, 0.375rem);
|
|
470
|
+
border-radius: calc(var(--mxc-radius) - 2px);
|
|
471
|
+
background: var(--mxc-tab-active-bg);
|
|
472
|
+
}
|
|
473
|
+
|
|
243
474
|
.mxc-loading {
|
|
244
475
|
flex: 1 1 auto;
|
|
245
476
|
background: linear-gradient(90deg, transparent, var(--mxc-hover), transparent);
|
|
@@ -252,15 +483,27 @@
|
|
|
252
483
|
to { background-position: -200% 0; }
|
|
253
484
|
}
|
|
254
485
|
|
|
255
|
-
|
|
256
|
-
.mxc-empty {
|
|
486
|
+
/* The one-line honest state ("No changes to show", "Files · next release"). */
|
|
487
|
+
.mxc-empty-line {
|
|
488
|
+
flex: 1 1 auto;
|
|
489
|
+
display: flex;
|
|
490
|
+
align-items: center;
|
|
491
|
+
justify-content: center;
|
|
492
|
+
min-height: 3rem;
|
|
493
|
+
padding: 0 1rem;
|
|
494
|
+
font-size: 0.75rem;
|
|
495
|
+
color: var(--mxc-muted);
|
|
496
|
+
text-align: center;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
.mxc-problem {
|
|
257
500
|
margin: auto;
|
|
258
501
|
display: flex;
|
|
259
502
|
flex-direction: column;
|
|
260
503
|
align-items: center;
|
|
261
504
|
gap: 0.5rem;
|
|
262
505
|
padding: 1.5rem;
|
|
263
|
-
font-size: 0.
|
|
506
|
+
font-size: 0.8125rem;
|
|
264
507
|
color: var(--mxc-muted);
|
|
265
508
|
text-align: center;
|
|
266
509
|
}
|
|
@@ -322,6 +565,8 @@
|
|
|
322
565
|
color: var(--mxc-muted);
|
|
323
566
|
}
|
|
324
567
|
|
|
568
|
+
/* ── menu ───────────────────────────────────────────────────────────────── */
|
|
569
|
+
|
|
325
570
|
.mxc-menu {
|
|
326
571
|
z-index: var(--mxc-menu-z, 10000);
|
|
327
572
|
min-width: 11rem;
|
|
@@ -330,7 +575,7 @@
|
|
|
330
575
|
border-radius: 0.625rem;
|
|
331
576
|
background: var(--mxc-bg);
|
|
332
577
|
color: var(--mxc-fg);
|
|
333
|
-
box-shadow:
|
|
578
|
+
box-shadow: var(--mxc-float-shadow);
|
|
334
579
|
font-size: 0.8125rem;
|
|
335
580
|
}
|
|
336
581
|
|
|
@@ -366,6 +611,44 @@
|
|
|
366
611
|
background: var(--mxc-border);
|
|
367
612
|
}
|
|
368
613
|
|
|
614
|
+
/* ── overlay (the DOM default for tooltips and drop indicators) ─────────── */
|
|
615
|
+
|
|
616
|
+
.mxc-overlay {
|
|
617
|
+
position: fixed;
|
|
618
|
+
inset: 0;
|
|
619
|
+
z-index: var(--mxc-overlay-z, 10001);
|
|
620
|
+
pointer-events: none;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
.mxc-tooltip {
|
|
624
|
+
position: fixed;
|
|
625
|
+
max-width: 18rem;
|
|
626
|
+
padding: 0.25rem 0.5rem;
|
|
627
|
+
border-radius: 0.375rem;
|
|
628
|
+
background: var(--mxc-tooltip-bg);
|
|
629
|
+
color: var(--mxc-tooltip-fg);
|
|
630
|
+
font-size: 0.75rem;
|
|
631
|
+
line-height: 1rem;
|
|
632
|
+
white-space: nowrap;
|
|
633
|
+
overflow: hidden;
|
|
634
|
+
text-overflow: ellipsis;
|
|
635
|
+
box-shadow: var(--mxc-float-shadow);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.mxc-tooltip[data-side="top"] {
|
|
639
|
+
transform: translateY(-100%);
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.mxc-drop-indicator {
|
|
643
|
+
position: fixed;
|
|
644
|
+
border-radius: var(--mxc-radius);
|
|
645
|
+
box-shadow: inset 0 0 0 2px var(--mxc-accent);
|
|
646
|
+
background: var(--mxc-accent-soft);
|
|
647
|
+
opacity: 0.6;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
/* ── toggle ─────────────────────────────────────────────────────────────── */
|
|
651
|
+
|
|
369
652
|
.mxc-toggle {
|
|
370
653
|
position: relative;
|
|
371
654
|
display: inline-flex;
|
|
@@ -414,7 +697,7 @@
|
|
|
414
697
|
display: none !important;
|
|
415
698
|
}
|
|
416
699
|
|
|
417
|
-
/* Phones: the canvas is a full-screen layer over the app. */
|
|
700
|
+
/* Phones: the canvas is a full-screen layer over the app, edge to edge. */
|
|
418
701
|
@media (max-width: 767px) {
|
|
419
702
|
.mxc-phone-only {
|
|
420
703
|
display: inline-flex !important;
|
|
@@ -425,7 +708,7 @@
|
|
|
425
708
|
display: none !important;
|
|
426
709
|
}
|
|
427
710
|
|
|
428
|
-
.mxc-column {
|
|
711
|
+
.mxc-column[data-placement="docked"] {
|
|
429
712
|
position: fixed;
|
|
430
713
|
inset: 0;
|
|
431
714
|
z-index: var(--mxc-mobile-z, 60);
|
|
@@ -433,6 +716,16 @@
|
|
|
433
716
|
border-left: 0;
|
|
434
717
|
padding-top: env(safe-area-inset-top, 0px);
|
|
435
718
|
padding-bottom: env(safe-area-inset-bottom, 0px);
|
|
719
|
+
--mxc-gap: 0px;
|
|
720
|
+
--mxc-radius: 0px;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
.mxc-column[data-placement="docked"] .mxc-panel {
|
|
724
|
+
border-width: 0;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.mxc-column[data-placement="docked"] .mxc-split-handle {
|
|
728
|
+
background: var(--mxc-border);
|
|
436
729
|
}
|
|
437
730
|
|
|
438
731
|
.mxc-width-handle {
|
|
@@ -448,4 +741,8 @@
|
|
|
448
741
|
height: 1px;
|
|
449
742
|
cursor: row-resize;
|
|
450
743
|
}
|
|
744
|
+
|
|
745
|
+
.mxc-pane-header {
|
|
746
|
+
height: var(--mxc-header-h-phone, 2.75rem);
|
|
747
|
+
}
|
|
451
748
|
}
|