@things-factory/figure-ui 10.1.172 → 10.1.174
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/client/modeller/editor-styles.ts +11 -3
- package/client/modeller/figure-capability-panel.ts +1 -1
- package/client/modeller/figure-controls.ts +2 -2
- package/client/modeller/figure-data-panel.ts +1 -1
- package/client/modeller/figure-first-save.ts +1 -1
- package/client/modeller/figure-history-panel.ts +8 -8
- package/client/modeller/figure-parts.ts +35 -13
- package/client/modeller/figure-preview.ts +6 -6
- package/client/modeller/figure-recipe-catalog.ts +1 -1
- package/client/modeller/figure-section-editor.ts +5 -5
- package/client/modeller/figure-settings.ts +7 -7
- package/client/modeller/figure-verdict.ts +16 -15
- package/client/modeller/gate-findings.ts +5 -6
- package/client/modeller/group-menu.ts +1 -1
- package/client/pages/figure-modeller-page.ts +1 -1
- package/client/viewparts/figure-detail-dock.ts +1 -1
- package/dist-client/modeller/editor-styles.js +11 -3
- package/dist-client/modeller/editor-styles.js.map +1 -1
- package/dist-client/modeller/figure-capability-panel.js +1 -1
- package/dist-client/modeller/figure-capability-panel.js.map +1 -1
- package/dist-client/modeller/figure-controls.js +2 -2
- package/dist-client/modeller/figure-controls.js.map +1 -1
- package/dist-client/modeller/figure-data-panel.js +1 -1
- package/dist-client/modeller/figure-data-panel.js.map +1 -1
- package/dist-client/modeller/figure-first-save.js +1 -1
- package/dist-client/modeller/figure-first-save.js.map +1 -1
- package/dist-client/modeller/figure-history-panel.js +8 -8
- package/dist-client/modeller/figure-history-panel.js.map +1 -1
- package/dist-client/modeller/figure-parts.js +35 -13
- package/dist-client/modeller/figure-parts.js.map +1 -1
- package/dist-client/modeller/figure-preview.js +6 -6
- package/dist-client/modeller/figure-preview.js.map +1 -1
- package/dist-client/modeller/figure-recipe-catalog.js +1 -1
- package/dist-client/modeller/figure-recipe-catalog.js.map +1 -1
- package/dist-client/modeller/figure-section-editor.js +5 -5
- package/dist-client/modeller/figure-section-editor.js.map +1 -1
- package/dist-client/modeller/figure-settings.js +7 -7
- package/dist-client/modeller/figure-settings.js.map +1 -1
- package/dist-client/modeller/figure-verdict.js +16 -15
- package/dist-client/modeller/figure-verdict.js.map +1 -1
- package/dist-client/modeller/gate-findings.js +5 -6
- package/dist-client/modeller/gate-findings.js.map +1 -1
- package/dist-client/modeller/group-menu.js +1 -1
- package/dist-client/modeller/group-menu.js.map +1 -1
- package/dist-client/pages/figure-modeller-page.js +1 -1
- package/dist-client/pages/figure-modeller-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/figure-detail-dock.js +1 -1
- package/dist-client/viewparts/figure-detail-dock.js.map +1 -1
- package/package.json +3 -3
- package/test/browser/props.check.mjs +17 -0
- package/test/type-guard.test.ts +133 -0
|
@@ -10,7 +10,10 @@ export const EditorStyles = css`
|
|
|
10
10
|
height: 100%;
|
|
11
11
|
/* The editor folds by the width it is given, not the window's (UX ruling, 2026-09-24). */
|
|
12
12
|
container-type: inline-size;
|
|
13
|
-
font:
|
|
13
|
+
/* The app's one face (its typography theme's --theme-font) at the body size: a bare sans-serif here put a second
|
|
14
|
+
face under everything the editor draws, beside the parts list and the shell in the app's own (2026-10-16). */
|
|
15
|
+
font-family: var(--theme-font, ui-sans-serif, system-ui, sans-serif);
|
|
16
|
+
font-size: var(--ui-t-body, 13px);
|
|
14
17
|
color: var(--md-sys-color-on-surface);
|
|
15
18
|
}
|
|
16
19
|
/* The bar over the work is ox-canvas-bar (ADR-0060 decision 8): the folds at its edges, undo, redo and
|
|
@@ -177,10 +180,15 @@ export const EditorStyles = css`
|
|
|
177
180
|
color: var(--md-sys-color-on-surface-variant);
|
|
178
181
|
}
|
|
179
182
|
/* The side: tabs over one panel at a time, each using the whole height. */
|
|
183
|
+
/*
|
|
184
|
+
The side's words at the panel's size (side-panel-styles: titles body, the rest small). The editor's host is at body
|
|
185
|
+
for the bar, and the fields the editor drew itself -- the part's name -- stood a step larger than every other field.
|
|
186
|
+
*/
|
|
180
187
|
aside {
|
|
181
188
|
display: flex;
|
|
182
189
|
flex-direction: column;
|
|
183
190
|
min-height: 0;
|
|
191
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
184
192
|
background: var(--md-sys-color-surface-container-lowest);
|
|
185
193
|
}
|
|
186
194
|
div[tabs] {
|
|
@@ -220,7 +228,7 @@ export const EditorStyles = css`
|
|
|
220
228
|
button[tab] span[tab-label] {
|
|
221
229
|
max-width: 100%;
|
|
222
230
|
overflow: hidden;
|
|
223
|
-
font-size:
|
|
231
|
+
font-size: var(--ui-t-micro, 11px);
|
|
224
232
|
line-height: 1.2;
|
|
225
233
|
white-space: nowrap;
|
|
226
234
|
text-overflow: ellipsis;
|
|
@@ -230,7 +238,7 @@ export const EditorStyles = css`
|
|
|
230
238
|
top: 3px;
|
|
231
239
|
right: 2px;
|
|
232
240
|
padding: 0 5px;
|
|
233
|
-
font-size:
|
|
241
|
+
font-size: var(--ui-t-micro, 11px);
|
|
234
242
|
font-weight: 700;
|
|
235
243
|
line-height: 1.5;
|
|
236
244
|
color: var(--md-sys-color-on-primary-container);
|
|
@@ -40,13 +40,13 @@ export class FigureControls extends localize(i18next)(LitElement) {
|
|
|
40
40
|
}
|
|
41
41
|
div[control] > span[name] em {
|
|
42
42
|
font-style: normal;
|
|
43
|
-
font-size:
|
|
43
|
+
font-size: var(--ui-t-micro, 11px);
|
|
44
44
|
color: var(--md-sys-color-on-surface-variant);
|
|
45
45
|
}
|
|
46
46
|
div[control] input[type='number'] {
|
|
47
47
|
min-height: 24px;
|
|
48
48
|
padding: 2px 5px;
|
|
49
|
-
font-family: var(--mono-
|
|
49
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
50
50
|
text-align: right;
|
|
51
51
|
}
|
|
52
52
|
svg[dial] {
|
|
@@ -139,7 +139,7 @@ export class FigureDataPanel extends localize(i18next)(LitElement) {
|
|
|
139
139
|
width: 100%;
|
|
140
140
|
min-height: 96px;
|
|
141
141
|
box-sizing: border-box;
|
|
142
|
-
font-family: var(--ui-
|
|
142
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
143
143
|
font-size: inherit;
|
|
144
144
|
}
|
|
145
145
|
ul[result] {
|
|
@@ -56,7 +56,7 @@ export class FigureHistoryPanel extends localize(i18next)(LitElement) {
|
|
|
56
56
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
57
57
|
color: var(--md-sys-color-on-surface);
|
|
58
58
|
font: var(--label-font, inherit);
|
|
59
|
-
font-size:
|
|
59
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
:host([off]) {
|
|
@@ -88,7 +88,7 @@ export class FigureHistoryPanel extends localize(i18next)(LitElement) {
|
|
|
88
88
|
span[state] {
|
|
89
89
|
padding: 2px 8px;
|
|
90
90
|
border-radius: 10px;
|
|
91
|
-
font-size:
|
|
91
|
+
font-size: var(--ui-t-micro, 11px);
|
|
92
92
|
font-weight: 700;
|
|
93
93
|
color: var(--md-sys-color-on-secondary-container);
|
|
94
94
|
background-color: var(--md-sys-color-secondary-container);
|
|
@@ -100,14 +100,14 @@ export class FigureHistoryPanel extends localize(i18next)(LitElement) {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
span[ver] {
|
|
103
|
-
font-family: var(--mono-
|
|
103
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
104
104
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
input,
|
|
108
108
|
button {
|
|
109
109
|
font: var(--input-field-font, inherit);
|
|
110
|
-
font-size:
|
|
110
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
input[note] {
|
|
@@ -140,14 +140,14 @@ export class FigureHistoryPanel extends localize(i18next)(LitElement) {
|
|
|
140
140
|
/* 왜 못 누르는지 — 눌러 보고 알게 하지 않는다 */
|
|
141
141
|
p[why] {
|
|
142
142
|
margin: 6px 0 0 0;
|
|
143
|
-
font-size:
|
|
143
|
+
font-size: var(--ui-t-micro, 11px);
|
|
144
144
|
line-height: 1.5;
|
|
145
145
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
p[failed] {
|
|
149
149
|
margin: 6px 0 0 0;
|
|
150
|
-
font-size:
|
|
150
|
+
font-size: var(--ui-t-micro, 11px);
|
|
151
151
|
line-height: 1.5;
|
|
152
152
|
color: var(--md-sys-color-error);
|
|
153
153
|
}
|
|
@@ -172,13 +172,13 @@ export class FigureHistoryPanel extends localize(i18next)(LitElement) {
|
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
li span[no] {
|
|
175
|
-
font-family: var(--mono-
|
|
175
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
176
176
|
font-weight: 700;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
li span[when] {
|
|
180
180
|
grid-column: 2 / 4;
|
|
181
|
-
font-size:
|
|
181
|
+
font-size: var(--ui-t-micro, 11px);
|
|
182
182
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
183
183
|
}
|
|
184
184
|
|
|
@@ -84,7 +84,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
84
84
|
/* The divider beside it is the editor's frame's (ox-three-pane). */
|
|
85
85
|
color: var(--md-sys-color-on-surface);
|
|
86
86
|
font: var(--label-font, inherit);
|
|
87
|
-
font-size:
|
|
87
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
88
88
|
/* Folds by its own width: the editor gives this column 140 px when it has two columns (UX, 2026-09-24). */
|
|
89
89
|
container-type: inline-size;
|
|
90
90
|
}
|
|
@@ -148,7 +148,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
148
148
|
margin: 0 0 6px;
|
|
149
149
|
padding: 4px 6px;
|
|
150
150
|
font: inherit;
|
|
151
|
-
font-size:
|
|
151
|
+
font-size: var(--ui-t-micro, 11px);
|
|
152
152
|
line-height: 1.5;
|
|
153
153
|
text-align: left;
|
|
154
154
|
color: var(--md-sys-color-on-surface-variant);
|
|
@@ -190,7 +190,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
190
190
|
}
|
|
191
191
|
p[full] {
|
|
192
192
|
margin: 4px 0 0;
|
|
193
|
-
font-size:
|
|
193
|
+
font-size: var(--ui-t-micro, 11px);
|
|
194
194
|
color: var(--md-sys-color-error);
|
|
195
195
|
}
|
|
196
196
|
div[level] {
|
|
@@ -199,14 +199,16 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
199
199
|
align-items: center;
|
|
200
200
|
gap: 6px;
|
|
201
201
|
margin: 0 0 6px;
|
|
202
|
-
font-size:
|
|
202
|
+
font-size: var(--ui-t-micro, 11px);
|
|
203
203
|
color: var(--md-sys-color-on-surface-variant);
|
|
204
204
|
}
|
|
205
|
+
/* One height with the side's fields (30px, side-panel-styles): it stood at 21px, the only small box on the screen. */
|
|
205
206
|
div[level] select {
|
|
206
207
|
min-width: 0;
|
|
208
|
+
min-height: 30px;
|
|
207
209
|
padding: 2px 4px;
|
|
208
210
|
font: inherit;
|
|
209
|
-
font-size:
|
|
211
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
210
212
|
color: var(--md-sys-color-on-surface);
|
|
211
213
|
background: var(--md-sys-color-surface-container-lowest);
|
|
212
214
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -216,7 +218,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
216
218
|
color: var(--md-sys-color-on-surface-variant);
|
|
217
219
|
}
|
|
218
220
|
span[room] {
|
|
219
|
-
font-size:
|
|
221
|
+
font-size: var(--ui-t-micro, 11px);
|
|
220
222
|
font-weight: 400;
|
|
221
223
|
letter-spacing: 0;
|
|
222
224
|
text-transform: none;
|
|
@@ -235,7 +237,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
235
237
|
min-width: 0;
|
|
236
238
|
padding: 5px 1px 4px;
|
|
237
239
|
font: var(--label-font, inherit);
|
|
238
|
-
font-size:
|
|
240
|
+
font-size: var(--ui-t-micro, 11px);
|
|
239
241
|
line-height: 1.2;
|
|
240
242
|
text-align: center;
|
|
241
243
|
overflow-wrap: anywhere;
|
|
@@ -245,13 +247,25 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
245
247
|
border-radius: 6px;
|
|
246
248
|
cursor: pointer;
|
|
247
249
|
}
|
|
250
|
+
/*
|
|
251
|
+
A file brought in is not a starting shape: its own row under the nine, its words on one line. As a tenth tile its
|
|
252
|
+
two-word name broke onto two lines and stood it taller than the rest (2026-10-16).
|
|
253
|
+
*/
|
|
254
|
+
button[shape][import] {
|
|
255
|
+
grid-column: 1 / -1;
|
|
256
|
+
flex-direction: row;
|
|
257
|
+
justify-content: center;
|
|
258
|
+
gap: 6px;
|
|
259
|
+
min-height: 30px;
|
|
260
|
+
padding: 0 8px;
|
|
261
|
+
}
|
|
248
262
|
button[recipe-catalog] {
|
|
249
263
|
display: inline-flex;
|
|
250
264
|
align-items: center;
|
|
251
265
|
gap: 4px;
|
|
252
266
|
padding: 4px 10px;
|
|
253
267
|
font: inherit;
|
|
254
|
-
font-size:
|
|
268
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
255
269
|
color: var(--md-sys-color-on-surface);
|
|
256
270
|
background: none;
|
|
257
271
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -293,6 +307,13 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
293
307
|
color: var(--md-sys-color-on-primary-container);
|
|
294
308
|
background-color: var(--md-sys-color-primary-container);
|
|
295
309
|
}
|
|
310
|
+
/*
|
|
311
|
+
Icons by role, three sizes on the whole screen (2026-10-16; there were six): 20 for the bar, the tabs and the
|
|
312
|
+
model's head, 18 for a palette tile, 16 beside words and on a row.
|
|
313
|
+
*/
|
|
314
|
+
button[model-root] md-icon {
|
|
315
|
+
--md-icon-size: 20px;
|
|
316
|
+
}
|
|
296
317
|
li md-icon {
|
|
297
318
|
--md-icon-size: 16px;
|
|
298
319
|
flex: none;
|
|
@@ -325,7 +346,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
325
346
|
color: var(--md-sys-color-tertiary);
|
|
326
347
|
}
|
|
327
348
|
button[eye] md-icon {
|
|
328
|
-
--md-icon-size:
|
|
349
|
+
--md-icon-size: 16px;
|
|
329
350
|
color: inherit;
|
|
330
351
|
}
|
|
331
352
|
li[off] span[label],
|
|
@@ -343,11 +364,11 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
343
364
|
overflow: hidden;
|
|
344
365
|
text-overflow: ellipsis;
|
|
345
366
|
white-space: nowrap;
|
|
346
|
-
font-size:
|
|
367
|
+
font-size: var(--ui-t-body, 13px);
|
|
347
368
|
}
|
|
348
369
|
span[label] small {
|
|
349
370
|
margin-left: 4px;
|
|
350
|
-
font-size:
|
|
371
|
+
font-size: var(--ui-t-micro, 11px);
|
|
351
372
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
352
373
|
}
|
|
353
374
|
div[ops] {
|
|
@@ -374,7 +395,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
374
395
|
cursor: default;
|
|
375
396
|
}
|
|
376
397
|
div[ops] md-icon {
|
|
377
|
-
--md-icon-size:
|
|
398
|
+
--md-icon-size: 16px;
|
|
378
399
|
color: inherit;
|
|
379
400
|
}
|
|
380
401
|
/*
|
|
@@ -392,7 +413,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
392
413
|
}
|
|
393
414
|
p[quiet] {
|
|
394
415
|
margin: 0;
|
|
395
|
-
font-size:
|
|
416
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
396
417
|
line-height: 1.6;
|
|
397
418
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
398
419
|
}
|
|
@@ -441,6 +462,7 @@ export class FigureParts extends localize(i18next)(LitElement) {
|
|
|
441
462
|
)}
|
|
442
463
|
<button
|
|
443
464
|
shape
|
|
465
|
+
import
|
|
444
466
|
?disabled=${this.locked || full}
|
|
445
467
|
title=${full ? i18next.t('figure.text.part-limit-reached') : i18next.t('figure.text.import-mesh-hint')}
|
|
446
468
|
@click=${() => this.renderRoot.querySelector<HTMLInputElement>('input[mesh-file]')?.click()}
|
|
@@ -51,7 +51,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
51
51
|
min-height: 0;
|
|
52
52
|
overflow: hidden;
|
|
53
53
|
background-color: ${unsafeCSS(WORKBENCH)};
|
|
54
|
-
font-size:
|
|
54
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
55
55
|
}
|
|
56
56
|
div[stage] {
|
|
57
57
|
position: absolute;
|
|
@@ -91,7 +91,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
91
91
|
color: rgba(255, 255, 255, 0.9);
|
|
92
92
|
background-color: rgba(28, 28, 30, 0.6);
|
|
93
93
|
border-radius: 6px;
|
|
94
|
-
font-size:
|
|
94
|
+
font-size: var(--ui-t-micro, 11px);
|
|
95
95
|
flex-wrap: wrap;
|
|
96
96
|
max-width: calc(100% - 16px);
|
|
97
97
|
}
|
|
@@ -123,7 +123,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
123
123
|
color: rgba(255, 255, 255, 0.92);
|
|
124
124
|
background-color: rgba(28, 28, 30, 0.72);
|
|
125
125
|
border-radius: 8px;
|
|
126
|
-
font-size:
|
|
126
|
+
font-size: var(--ui-t-micro, 11px);
|
|
127
127
|
}
|
|
128
128
|
div[sizes] label {
|
|
129
129
|
display: grid;
|
|
@@ -158,7 +158,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
158
158
|
color: rgba(255, 255, 255, 0.92);
|
|
159
159
|
background-color: rgba(28, 28, 30, 0.72);
|
|
160
160
|
border-radius: 8px;
|
|
161
|
-
font-size:
|
|
161
|
+
font-size: var(--ui-t-micro, 11px);
|
|
162
162
|
}
|
|
163
163
|
div[clips] label {
|
|
164
164
|
display: grid;
|
|
@@ -196,7 +196,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
196
196
|
align-self: stretch;
|
|
197
197
|
padding: 4px 8px;
|
|
198
198
|
font: inherit;
|
|
199
|
-
font-size:
|
|
199
|
+
font-size: var(--ui-t-micro, 11px);
|
|
200
200
|
color: rgba(255, 255, 255, 0.92);
|
|
201
201
|
background-color: rgba(255, 255, 255, 0.14);
|
|
202
202
|
border: 1px solid rgba(255, 255, 255, 0.22);
|
|
@@ -208,7 +208,7 @@ export class FigurePreview extends localize(i18next)(LitElement) {
|
|
|
208
208
|
}
|
|
209
209
|
div[clips] span[drive] {
|
|
210
210
|
opacity: 0.6;
|
|
211
|
-
font-size:
|
|
211
|
+
font-size: var(--ui-t-micro, 11px);
|
|
212
212
|
}
|
|
213
213
|
div[clips] input {
|
|
214
214
|
width: 96px;
|
|
@@ -29,7 +29,7 @@ export class FigureRecipeCatalog extends localize(i18next)(LitElement) {
|
|
|
29
29
|
display: grid;
|
|
30
30
|
place-items: center;
|
|
31
31
|
background: color-mix(in srgb, var(--md-sys-color-scrim, #000) 32%, transparent);
|
|
32
|
-
font-size:
|
|
32
|
+
font-size: var(--ui-t-body, 13px);
|
|
33
33
|
color: var(--md-sys-color-on-surface);
|
|
34
34
|
}
|
|
35
35
|
div[panel] {
|
|
@@ -90,7 +90,7 @@ export class FigureSectionEditor extends localize(i18next)(LitElement) {
|
|
|
90
90
|
font-size: var(--ui-t-body);
|
|
91
91
|
}
|
|
92
92
|
header span {
|
|
93
|
-
font-size:
|
|
93
|
+
font-size: var(--ui-t-micro, 11px);
|
|
94
94
|
color: var(--md-sys-color-on-surface-variant);
|
|
95
95
|
}
|
|
96
96
|
nav[tabs] {
|
|
@@ -102,7 +102,7 @@ export class FigureSectionEditor extends localize(i18next)(LitElement) {
|
|
|
102
102
|
footer button,
|
|
103
103
|
li button {
|
|
104
104
|
font: inherit;
|
|
105
|
-
font-size:
|
|
105
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
106
106
|
min-height: 30px;
|
|
107
107
|
padding: 0 12px;
|
|
108
108
|
border-radius: 15px;
|
|
@@ -136,7 +136,7 @@ export class FigureSectionEditor extends localize(i18next)(LitElement) {
|
|
|
136
136
|
position: absolute;
|
|
137
137
|
left: 8px;
|
|
138
138
|
top: 6px;
|
|
139
|
-
font-size:
|
|
139
|
+
font-size: var(--ui-t-micro, 11px);
|
|
140
140
|
color: var(--md-sys-color-on-surface-variant);
|
|
141
141
|
pointer-events: none;
|
|
142
142
|
}
|
|
@@ -222,7 +222,7 @@ export class FigureSectionEditor extends localize(i18next)(LitElement) {
|
|
|
222
222
|
margin: 8px 0 0;
|
|
223
223
|
padding: 0 0 0 16px;
|
|
224
224
|
color: var(--md-sys-color-error);
|
|
225
|
-
font-size:
|
|
225
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
226
226
|
}
|
|
227
227
|
small {
|
|
228
228
|
color: var(--md-sys-color-on-surface-variant);
|
|
@@ -236,7 +236,7 @@ export class FigureSectionEditor extends localize(i18next)(LitElement) {
|
|
|
236
236
|
}
|
|
237
237
|
footer span[grow] {
|
|
238
238
|
flex: 1;
|
|
239
|
-
font-size:
|
|
239
|
+
font-size: var(--ui-t-micro, 11px);
|
|
240
240
|
color: var(--md-sys-color-on-surface-variant);
|
|
241
241
|
}
|
|
242
242
|
footer span[grow][stale] {
|
|
@@ -34,7 +34,7 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
34
34
|
background-color: var(--md-sys-color-surface-container-lowest);
|
|
35
35
|
color: var(--md-sys-color-on-surface);
|
|
36
36
|
font: var(--label-font, inherit);
|
|
37
|
-
font-size:
|
|
37
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
section {
|
|
@@ -58,7 +58,7 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
58
58
|
/* 저장되지 않는다는 것을 한 번 말해 둔다 */
|
|
59
59
|
p[quiet] {
|
|
60
60
|
margin: 0;
|
|
61
|
-
font-size:
|
|
61
|
+
font-size: var(--ui-t-micro, 11px);
|
|
62
62
|
line-height: 1.5;
|
|
63
63
|
color: var(--md-sys-color-on-surface-variant);
|
|
64
64
|
}
|
|
@@ -76,7 +76,7 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
76
76
|
}
|
|
77
77
|
label[row] em {
|
|
78
78
|
font-style: normal;
|
|
79
|
-
font-size:
|
|
79
|
+
font-size: var(--ui-t-micro, 11px);
|
|
80
80
|
color: var(--md-sys-color-on-surface-variant);
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -104,7 +104,7 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
104
104
|
width: 100%;
|
|
105
105
|
padding: 5px 6px;
|
|
106
106
|
font: var(--input-field-font, inherit);
|
|
107
|
-
font-size:
|
|
107
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
108
108
|
color: var(--md-sys-color-on-surface);
|
|
109
109
|
background-color: var(--md-sys-color-surface);
|
|
110
110
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -131,8 +131,8 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
131
131
|
flex: none;
|
|
132
132
|
width: 2.4em;
|
|
133
133
|
text-align: right;
|
|
134
|
-
font: var(--mono
|
|
135
|
-
font-size:
|
|
134
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
135
|
+
font-size: var(--ui-t-micro, 11px);
|
|
136
136
|
color: var(--md-sys-color-on-surface-variant);
|
|
137
137
|
}
|
|
138
138
|
|
|
@@ -140,7 +140,7 @@ export class FigureSettings extends localize(i18next)(LitElement) {
|
|
|
140
140
|
align-self: flex-start;
|
|
141
141
|
padding: 5px 12px;
|
|
142
142
|
font: var(--label-font, inherit);
|
|
143
|
-
font-size:
|
|
143
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
144
144
|
color: var(--md-sys-color-on-surface-variant);
|
|
145
145
|
background: none;
|
|
146
146
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -72,7 +72,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
72
72
|
p[lead],
|
|
73
73
|
p[basis],
|
|
74
74
|
p[quiet] {
|
|
75
|
-
font-size:
|
|
75
|
+
font-size: var(--ui-t-micro, 11px);
|
|
76
76
|
line-height: 1.55;
|
|
77
77
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
78
78
|
}
|
|
@@ -86,14 +86,14 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
86
86
|
gap: 6px;
|
|
87
87
|
}
|
|
88
88
|
span[capacity] {
|
|
89
|
-
font-size:
|
|
89
|
+
font-size: var(--ui-t-hero, 26px);
|
|
90
90
|
font-weight: 800;
|
|
91
91
|
line-height: 1;
|
|
92
92
|
letter-spacing: -0.01em;
|
|
93
93
|
color: var(--md-sys-color-primary);
|
|
94
94
|
}
|
|
95
95
|
span[unit] {
|
|
96
|
-
font-size:
|
|
96
|
+
font-size: var(--ui-t-title, 15px);
|
|
97
97
|
font-weight: 600;
|
|
98
98
|
color: var(--md-sys-color-primary);
|
|
99
99
|
}
|
|
@@ -104,7 +104,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
104
104
|
gap: 5px;
|
|
105
105
|
margin-left: auto;
|
|
106
106
|
padding: 3px 10px;
|
|
107
|
-
font-size:
|
|
107
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
108
108
|
font-weight: 700;
|
|
109
109
|
color: var(--md-sys-color-on-primary-container);
|
|
110
110
|
background-color: var(--md-sys-color-primary-container);
|
|
@@ -113,7 +113,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
113
113
|
span[grade] small {
|
|
114
114
|
display: inline;
|
|
115
115
|
margin: 0;
|
|
116
|
-
font-size:
|
|
116
|
+
font-size: var(--ui-t-micro, 11px);
|
|
117
117
|
font-weight: 500;
|
|
118
118
|
color: inherit;
|
|
119
119
|
}
|
|
@@ -127,7 +127,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
127
127
|
background-color: var(--md-sys-color-error-container);
|
|
128
128
|
}
|
|
129
129
|
p[because] {
|
|
130
|
-
font-size:
|
|
130
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
131
131
|
line-height: 1.6;
|
|
132
132
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
133
133
|
}
|
|
@@ -139,7 +139,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
139
139
|
display: flex;
|
|
140
140
|
flex-wrap: wrap;
|
|
141
141
|
gap: 2px 10px;
|
|
142
|
-
font-size:
|
|
142
|
+
font-size: var(--ui-t-micro, 11px);
|
|
143
143
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
144
144
|
}
|
|
145
145
|
p[scale] b {
|
|
@@ -184,11 +184,12 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
184
184
|
fill: var(--md-sys-color-primary);
|
|
185
185
|
}
|
|
186
186
|
div[radar] text {
|
|
187
|
+
/* svg-units: the radar's own coordinates (its viewBox), drawn to the chart's size -- not a page size. */
|
|
187
188
|
font-size: 5.2px;
|
|
188
189
|
fill: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
189
190
|
}
|
|
190
191
|
p[unmeasured] {
|
|
191
|
-
font-size:
|
|
192
|
+
font-size: var(--ui-t-micro, 11px);
|
|
192
193
|
line-height: 1.5;
|
|
193
194
|
color: var(--md-sys-color-tertiary);
|
|
194
195
|
}
|
|
@@ -209,7 +210,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
209
210
|
display: grid;
|
|
210
211
|
grid-template-columns: 1fr auto;
|
|
211
212
|
gap: 2px 8px;
|
|
212
|
-
font-size:
|
|
213
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
213
214
|
}
|
|
214
215
|
ul[axes] li[blocked] {
|
|
215
216
|
opacity: 0.7;
|
|
@@ -217,7 +218,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
217
218
|
ul[axes] em {
|
|
218
219
|
grid-column: 1 / -1;
|
|
219
220
|
font-style: normal;
|
|
220
|
-
font-size:
|
|
221
|
+
font-size: var(--ui-t-micro, 11px);
|
|
221
222
|
line-height: 1.5;
|
|
222
223
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
223
224
|
}
|
|
@@ -225,7 +226,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
225
226
|
color: var(--md-sys-color-tertiary);
|
|
226
227
|
}
|
|
227
228
|
span[reading] {
|
|
228
|
-
font-family: var(--mono-
|
|
229
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
229
230
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
230
231
|
}
|
|
231
232
|
div[bar] {
|
|
@@ -250,7 +251,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
250
251
|
display: grid;
|
|
251
252
|
grid-template-columns: 1fr auto;
|
|
252
253
|
gap: 4px 8px;
|
|
253
|
-
font-size:
|
|
254
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
254
255
|
}
|
|
255
256
|
dl[metrics] dt {
|
|
256
257
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
@@ -258,7 +259,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
258
259
|
dl[metrics] dd {
|
|
259
260
|
margin: 0;
|
|
260
261
|
text-align: right;
|
|
261
|
-
font-family: var(--mono-
|
|
262
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
262
263
|
}
|
|
263
264
|
|
|
264
265
|
/* ── Trend ──────────────────────────────────────────────────────
|
|
@@ -268,7 +269,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
268
269
|
justify-self: start;
|
|
269
270
|
padding: 4px 10px;
|
|
270
271
|
font: inherit;
|
|
271
|
-
font-size:
|
|
272
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
272
273
|
color: var(--md-sys-color-on-surface);
|
|
273
274
|
background: none;
|
|
274
275
|
border: 1px solid var(--md-sys-color-outline-variant);
|
|
@@ -304,7 +305,7 @@ export class FigureVerdict extends localize(i18next)(LitElement) {
|
|
|
304
305
|
/* Not shrunk below its natural size — a narrow window scrolls instead. */
|
|
305
306
|
min-width: 680px;
|
|
306
307
|
font-family: inherit;
|
|
307
|
-
font-size: 11px;
|
|
308
|
+
font-size: var(--ui-t-micro, 11px);
|
|
308
309
|
fill: currentColor;
|
|
309
310
|
}
|
|
310
311
|
div[sheet] svg [grid] {
|
|
@@ -50,7 +50,7 @@ export const gateFindingStyles = css`
|
|
|
50
50
|
|
|
51
51
|
li[head] {
|
|
52
52
|
font: var(--label-font, inherit);
|
|
53
|
-
font-size:
|
|
53
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
54
54
|
color: var(--md-sys-color-error);
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -64,7 +64,7 @@ export const gateFindingStyles = css`
|
|
|
64
64
|
align-items: flex-start;
|
|
65
65
|
gap: 3px;
|
|
66
66
|
padding: 3px 6px;
|
|
67
|
-
font-size:
|
|
67
|
+
font-size: var(--ui-t-small, 11.5px);
|
|
68
68
|
line-height: 1.5;
|
|
69
69
|
color: var(--md-sys-color-on-surface-variant, var(--md-sys-color-on-surface));
|
|
70
70
|
background-color: var(--md-sys-color-surface-container);
|
|
@@ -77,8 +77,8 @@ export const gateFindingStyles = css`
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
li[finding] [where] {
|
|
80
|
-
font-family: var(--mono-
|
|
81
|
-
font-size:
|
|
80
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
81
|
+
font-size: var(--ui-t-micro, 11px);
|
|
82
82
|
opacity: 0.85;
|
|
83
83
|
}
|
|
84
84
|
|
|
@@ -106,8 +106,7 @@ export const gateFindingStyles = css`
|
|
|
106
106
|
font-weight: 600;
|
|
107
107
|
}
|
|
108
108
|
li[finding] span[how-line] md-icon {
|
|
109
|
-
--md-icon-size:
|
|
109
|
+
--md-icon-size: 16px;
|
|
110
110
|
flex: none;
|
|
111
|
-
margin-top: 1px;
|
|
112
111
|
}
|
|
113
112
|
`
|
|
@@ -72,7 +72,7 @@ export class FigureModellerPage extends PageView {
|
|
|
72
72
|
box-sizing: border-box;
|
|
73
73
|
min-height: 30px;
|
|
74
74
|
padding: 4px 7px;
|
|
75
|
-
font-family: var(--mono-
|
|
75
|
+
font-family: var(--ui-mono, ui-monospace, monospace);
|
|
76
76
|
font-size: 0.76rem;
|
|
77
77
|
color: var(--md-sys-color-on-surface);
|
|
78
78
|
background: var(--md-sys-color-surface-container-lowest);
|
|
@@ -38,7 +38,7 @@ export class FigureDetailDock extends localize(i18next)(LitElement) {
|
|
|
38
38
|
header { display: flex; align-items: flex-start; gap: 2px; padding: 12px 8px 4px 16px; }
|
|
39
39
|
[title-block] { flex: 1; min-width: 0; display: grid; gap: 2px; }
|
|
40
40
|
h2 { margin: 0; font-size: var(--ui-t-title, 16px); font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
41
|
-
code { font-family: var(--mono-
|
|
41
|
+
code { font-family: var(--ui-mono, ui-monospace, monospace); color: var(--md-sys-color-on-surface-variant); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
42
42
|
button { font: inherit; color: inherit; cursor: pointer; }
|
|
43
43
|
button:focus-visible { outline: 2px solid var(--md-sys-color-primary); outline-offset: 1px; }
|
|
44
44
|
button[icon] { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: none; border-radius: 6px;
|