@things-factory/shell 10.1.26 → 10.1.28
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/themes/layout-theme.css +7 -7
- package/client/themes/material-theme.css +6 -46
- package/client/themes/spacing.css +11 -9
- package/client/themes/ui-tokens.css +13 -12
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/tests/control-height-tokens.test.ts +31 -60
- package/translations/en.json +54 -1
- package/translations/ja.json +55 -1
- package/translations/ko.json +55 -1
- package/translations/ms.json +55 -1
- package/translations/zh.json +55 -1
|
@@ -78,10 +78,10 @@ body {
|
|
|
78
78
|
|
|
79
79
|
/* ── 크기 ────────────────────────────────────────────────────────────── */
|
|
80
80
|
/*
|
|
81
|
-
* Assist chips draw page actions (the action overlay, board info)
|
|
82
|
-
*
|
|
81
|
+
* Assist chips draw page actions (the action overlay, board info). The platform keeps 36px; the
|
|
82
|
+
* operato products give them their page action height (ADR-0060 decision 6-1).
|
|
83
83
|
*/
|
|
84
|
-
--md-assist-chip-container-height: var(--context-action-height);
|
|
84
|
+
--md-assist-chip-container-height: var(--suite-context-action-height, 36px);
|
|
85
85
|
--md-assist-chip-container-shape: var(--ui-r-small, 6px);
|
|
86
86
|
--md-assist-chip-leading-space: 14px;
|
|
87
87
|
--md-assist-chip-trailing-space: 16px;
|
|
@@ -191,13 +191,13 @@ body {
|
|
|
191
191
|
/*
|
|
192
192
|
* Finger-driven devices (tablets, phones) opening office screens.
|
|
193
193
|
*
|
|
194
|
-
* The
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
* with --ui-tap-glove / --ui-tap-station.
|
|
194
|
+
* The platform keeps a 44px chip (--ui-tap). The operato products use one height for mouse and
|
|
195
|
+
* finger (WCAG 2.2 AA, their suite value). The icon grows a little for thumbs either way. Shop-floor
|
|
196
|
+
* screens size themselves with --ui-tap-glove / --ui-tap-station.
|
|
198
197
|
*/
|
|
199
198
|
@media (pointer: coarse) {
|
|
200
199
|
body {
|
|
200
|
+
--md-assist-chip-container-height: var(--suite-context-action-height, var(--ui-tap, 44px));
|
|
201
201
|
--md-assist-chip-icon-size: 20px;
|
|
202
202
|
}
|
|
203
203
|
}
|
|
@@ -22,9 +22,9 @@ body {
|
|
|
22
22
|
--md-elevated-button-container-shape: var(--md-sys-shape-corner-small);
|
|
23
23
|
|
|
24
24
|
/*
|
|
25
|
-
* Material buttons
|
|
26
|
-
*
|
|
27
|
-
* point the same variables
|
|
25
|
+
* Material buttons follow the form height, set once here rather than on every screen (ADR-0060
|
|
26
|
+
* decision 6). On the platform that is Material's own 40px; the operato products are compact. The
|
|
27
|
+
* page action bar and the popup action row point the same variables at their own heights.
|
|
28
28
|
*/
|
|
29
29
|
--md-filled-button-container-height: var(--form-action-height);
|
|
30
30
|
--md-outlined-button-container-height: var(--form-action-height);
|
|
@@ -33,48 +33,8 @@ body {
|
|
|
33
33
|
--md-filled-tonal-button-container-height: var(--form-action-height);
|
|
34
34
|
|
|
35
35
|
/*
|
|
36
|
-
* Material text fields and selects
|
|
37
|
-
* and
|
|
38
|
-
*
|
|
39
|
-
* rest of an office form. The filled label sits above the value at 11px on a 14px line.
|
|
40
|
-
*
|
|
41
|
-
* [measured 2026-09-17, @material/web 2.5.0, headless Chrome] outlined text field and select 32px,
|
|
42
|
-
* filled text field and select 40px; resting labels centred, floating labels clear of the value.
|
|
36
|
+
* Material text fields and selects keep their own size (56px). Their label sits inside the box
|
|
37
|
+
* and floats above the value as you type, and that needs the room (user decision 2026-09-17).
|
|
38
|
+
* The compact input heights (--form-element-height-*) are for our own inputs and filter bars.
|
|
43
39
|
*/
|
|
44
|
-
--md-outlined-text-field-input-text-size: 14px;
|
|
45
|
-
--md-outlined-text-field-input-text-line-height: 20px;
|
|
46
|
-
--md-outlined-text-field-label-text-size: 14px;
|
|
47
|
-
--md-outlined-text-field-label-text-line-height: 20px;
|
|
48
|
-
--md-outlined-text-field-top-space: calc((var(--form-element-height-medium) - 20px) / 2);
|
|
49
|
-
--md-outlined-text-field-bottom-space: calc((var(--form-element-height-medium) - 20px) / 2);
|
|
50
|
-
--md-outlined-select-text-field-input-text-size: 14px;
|
|
51
|
-
--md-outlined-select-text-field-input-text-line-height: 20px;
|
|
52
|
-
--md-outlined-select-text-field-label-text-size: 14px;
|
|
53
|
-
--md-outlined-select-text-field-label-text-line-height: 20px;
|
|
54
|
-
--md-outlined-field-top-space: calc((var(--form-element-height-medium) - 20px) / 2);
|
|
55
|
-
--md-outlined-field-bottom-space: calc((var(--form-element-height-medium) - 20px) / 2);
|
|
56
|
-
|
|
57
|
-
--md-filled-text-field-input-text-size: 14px;
|
|
58
|
-
--md-filled-text-field-input-text-line-height: 20px;
|
|
59
|
-
--md-filled-text-field-label-text-size: 14px;
|
|
60
|
-
--md-filled-text-field-label-text-line-height: 20px;
|
|
61
|
-
--md-filled-text-field-label-text-populated-size: 11px;
|
|
62
|
-
--md-filled-text-field-label-text-populated-line-height: 14px;
|
|
63
|
-
--md-filled-text-field-top-space: calc((var(--form-element-height-large) - 20px) / 2);
|
|
64
|
-
--md-filled-text-field-bottom-space: calc((var(--form-element-height-large) - 20px) / 2);
|
|
65
|
-
--md-filled-text-field-with-label-top-space: calc((var(--form-element-height-large) - 34px) / 2);
|
|
66
|
-
--md-filled-text-field-with-label-bottom-space: calc((var(--form-element-height-large) - 34px) / 2);
|
|
67
|
-
--md-filled-select-text-field-input-text-size: 14px;
|
|
68
|
-
--md-filled-select-text-field-input-text-line-height: 20px;
|
|
69
|
-
--md-filled-select-text-field-label-text-size: 14px;
|
|
70
|
-
--md-filled-select-text-field-label-text-line-height: 20px;
|
|
71
|
-
--md-filled-select-text-field-label-text-populated-size: 11px;
|
|
72
|
-
--md-filled-select-text-field-label-text-populated-line-height: 14px;
|
|
73
|
-
--md-filled-field-top-space: calc((var(--form-element-height-large) - 20px) / 2);
|
|
74
|
-
--md-filled-field-bottom-space: calc((var(--form-element-height-large) - 20px) / 2);
|
|
75
|
-
--md-filled-field-with-label-top-space: calc((var(--form-element-height-large) - 34px) / 2);
|
|
76
|
-
--md-filled-field-with-label-bottom-space: calc((var(--form-element-height-large) - 34px) / 2);
|
|
77
|
-
|
|
78
|
-
/* Filter chips are small controls. */
|
|
79
|
-
--md-filter-chip-container-height: var(--form-element-height-small);
|
|
80
40
|
}
|
|
@@ -15,16 +15,18 @@
|
|
|
15
15
|
--icon-size-huge: 48px;
|
|
16
16
|
|
|
17
17
|
/*
|
|
18
|
-
* Input heights: small, medium, large
|
|
19
|
-
* the
|
|
20
|
-
*
|
|
21
|
-
* (FORM_ELEMENT_HEIGHT_TOKENS); tests/control-height-tokens.test.ts checks
|
|
18
|
+
* Input heights: small, medium, large (ADR-0060 decisions 6 and 6-1). The fallbacks are the platform
|
|
19
|
+
* defaults, the heights before the operato standardization; operato-suite fills the --suite-* slot
|
|
20
|
+
* with the compact scale that lines up with its buttons (26/32/40). @operato/styles declares the
|
|
21
|
+
* same platform numbers (FORM_ELEMENT_HEIGHT_TOKENS); tests/control-height-tokens.test.ts checks.
|
|
22
22
|
*
|
|
23
|
-
* small grid filter bars, in-cell editors,
|
|
23
|
+
* small grid filter bars, in-cell editors, dense option buttons
|
|
24
24
|
* medium forms, popups, search fields - the default
|
|
25
|
-
* large
|
|
25
|
+
* large roomier single forms
|
|
26
|
+
*
|
|
27
|
+
* Material text fields and selects are not on this scale: they keep their own 56px.
|
|
26
28
|
*/
|
|
27
|
-
--form-element-height-small:
|
|
28
|
-
--form-element-height-medium:
|
|
29
|
-
--form-element-height-large: 40px;
|
|
29
|
+
--form-element-height-small: var(--suite-form-element-height-small, 24px);
|
|
30
|
+
--form-element-height-medium: var(--suite-form-element-height-medium, 30px);
|
|
31
|
+
--form-element-height-large: var(--suite-form-element-height-large, 40px);
|
|
30
32
|
}
|
|
@@ -159,7 +159,7 @@ body {
|
|
|
159
159
|
/**
|
|
160
160
|
* Finger minimum on shop-floor screens: 44px (WCAG 2.2 SC 2.5.5, AAA).
|
|
161
161
|
* Office screens do not use this token. The product targets WCAG AA (SC 2.5.8, 24px minimum), and
|
|
162
|
-
* office buttons use the action heights below for mouse and finger alike
|
|
162
|
+
* the operato products' office buttons use the action heights below for mouse and finger alike.
|
|
163
163
|
* A shop-floor screen raises an action height with it: `--popup-action-height: var(--ui-tap-glove)`.
|
|
164
164
|
*/
|
|
165
165
|
--ui-tap: 44px;
|
|
@@ -168,21 +168,22 @@ body {
|
|
|
168
168
|
/** 서서 보는 작업대. 팔을 뻗어 누르므로 조준이 거칠다. */
|
|
169
169
|
--ui-tap-station: 96px;
|
|
170
170
|
|
|
171
|
-
/* ── 단추 높이
|
|
171
|
+
/* ── 단추 높이 ──────────────────────────────────────────────────────── */
|
|
172
172
|
/*
|
|
173
|
-
* One token per use (ADR-0060
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
173
|
+
* One token per use (ADR-0060 decisions 6 and 6-1). The fallbacks are the platform defaults - the
|
|
174
|
+
* heights every application had before the operato standardization, so dssp, fmsim and the rest do
|
|
175
|
+
* not change when they upgrade. The operato products are compact: operato-suite fills the
|
|
176
|
+
* --suite-* slot. @operato/styles declares the same platform numbers (ACTION_HEIGHT_TOKENS);
|
|
177
|
+
* tests/control-height-tokens.test.ts checks they agree.
|
|
177
178
|
*/
|
|
178
179
|
/** Page action bar: publish, save, export. */
|
|
179
|
-
--context-action-height: 32px;
|
|
180
|
-
/** Popup action row: cancel, confirm -
|
|
181
|
-
--popup-action-height:
|
|
182
|
-
/** Form and settings screens. Every Material button follows it
|
|
183
|
-
--form-action-height:
|
|
180
|
+
--context-action-height: var(--suite-context-action-height, 32px);
|
|
181
|
+
/** Popup action row: cancel, confirm - <ox-popup-actions>, OxPrompt and the older .footer. */
|
|
182
|
+
--popup-action-height: var(--suite-popup-action-height, 30px);
|
|
183
|
+
/** Form and settings screens. Every Material button follows it (Material's own 40px by default). */
|
|
184
|
+
--form-action-height: var(--suite-form-action-height, 40px);
|
|
184
185
|
/** A button inside a grid cell; icon-only cell buttons use it for their width too. */
|
|
185
|
-
--cell-action-height: 26px;
|
|
186
|
+
--cell-action-height: var(--suite-cell-action-height, 26px);
|
|
186
187
|
|
|
187
188
|
/* ── 모서리 ──────────────────────────────────────────────────────────── */
|
|
188
189
|
/** 카드·표. */
|