@omicronenergy/oscd-shell 0.0.13 → 0.0.15
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/dist/landing-page/landing-page.js +3 -2
- package/dist/landing-page/landing-page.js.map +1 -1
- package/dist/landing-page/landing-page.spec.js +4 -2
- package/dist/landing-page/landing-page.spec.js.map +1 -1
- package/dist/locales/de.d.ts +8 -0
- package/dist/locales/de.js +9 -0
- package/dist/locales/de.js.map +1 -1
- package/dist/menus/files-menu.js +4 -5
- package/dist/menus/files-menu.js.map +1 -1
- package/dist/menus/plugins-menu.d.ts +6 -3
- package/dist/menus/plugins-menu.js +40 -6
- package/dist/menus/plugins-menu.js.map +1 -1
- package/dist/menus/plugins-menu.spec.js +1 -0
- package/dist/menus/plugins-menu.spec.js.map +1 -1
- package/dist/oscd-shell-design-tokens.js +139 -64
- package/dist/oscd-shell-design-tokens.js.map +1 -1
- package/dist/oscd-shell.d.ts +31 -22
- package/dist/oscd-shell.js +136 -73
- package/dist/oscd-shell.js.map +1 -1
- package/dist/side-panel/build-tree-nodes.spec.d.ts +1 -0
- package/dist/side-panel/build-tree-nodes.spec.js +50 -0
- package/dist/side-panel/build-tree-nodes.spec.js.map +1 -0
- package/dist/side-panel/editor-plugins-panel.d.ts +79 -7
- package/dist/side-panel/editor-plugins-panel.js +829 -92
- package/dist/side-panel/editor-plugins-panel.js.map +1 -1
- package/dist/side-panel/editor-plugins-panel.spec.js +469 -24
- package/dist/side-panel/editor-plugins-panel.spec.js.map +1 -1
- package/dist/utils/plugin-utils.d.ts +29 -5
- package/dist/utils/plugin-utils.js +73 -14
- package/dist/utils/plugin-utils.js.map +1 -1
- package/dist/utils/plugin-utils.spec.js +113 -4
- package/dist/utils/plugin-utils.spec.js.map +1 -1
- package/dist/utils/testing/plugin-helpers.d.ts +7 -3
- package/dist/utils/testing/plugin-helpers.js +21 -9
- package/dist/utils/testing/plugin-helpers.js.map +1 -1
- package/package.json +37 -38
|
@@ -10,20 +10,30 @@ import { css } from 'lit';
|
|
|
10
10
|
* internal base tokens (e.g. --oscd-base*).
|
|
11
11
|
*/
|
|
12
12
|
export const oscdShellDesignTokens = css `
|
|
13
|
-
/* Internal base theme tokens and defaults
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
--oscd-
|
|
13
|
+
/* Internal base theme tokens and defaults.
|
|
14
|
+
*
|
|
15
|
+
* Defaults are the Solarized (https://ethanschoonover.com/solarized/)
|
|
16
|
+
* light palette used by the legacy OpenSCD shell, so oscd-shell is
|
|
17
|
+
* brand-neutral out of the box: consumers who set none of the
|
|
18
|
+
* --oscd-theme-* variables get the classic OpenSCD look. Distro-specific
|
|
19
|
+
* branding (e.g. Omicron colors) is applied entirely by overriding the
|
|
20
|
+
* --oscd-theme-* variables from outside; nothing brand-specific belongs
|
|
21
|
+
* in this file.
|
|
22
|
+
*/
|
|
23
|
+
:host {
|
|
24
|
+
--oscd-primary: var(--oscd-theme-primary, #2aa198);
|
|
25
|
+
--oscd-secondary: var(--oscd-theme-secondary, #6c71c4);
|
|
26
|
+
--oscd-base03: var(--oscd-theme-base03, #002b36);
|
|
27
|
+
--oscd-base02: var(--oscd-theme-base02, #073642);
|
|
28
|
+
--oscd-base01: var(--oscd-theme-base01, #586e75);
|
|
29
|
+
--oscd-base00: var(--oscd-theme-base00, #657b83);
|
|
30
|
+
--oscd-base0: var(--oscd-theme-base0, #839496);
|
|
31
|
+
--oscd-base1: var(--oscd-theme-base1, #93a1a1);
|
|
32
|
+
--oscd-base2: var(--oscd-theme-base2, #eee8d5);
|
|
33
|
+
--oscd-base3: var(--oscd-theme-base3, #fdf6e3);
|
|
25
34
|
--oscd-error: var(--oscd-theme-error, #dc322f);
|
|
26
35
|
--oscd-warning: var(--oscd-theme-warning, #b58900);
|
|
36
|
+
--oscd-shape: var(--oscd-theme-shape, 8px);
|
|
27
37
|
--oscd-text-font: var(--oscd-theme-text-font, 'Roboto');
|
|
28
38
|
--oscd-text-font-mono: var(--oscd-theme-text-font-mono, 'Roboto Mono');
|
|
29
39
|
--oscd-icon-font: var(--oscd-theme-icon-font, 'Material Symbols Outlined');
|
|
@@ -47,8 +57,24 @@ export const oscdShellDesignTokens = css `
|
|
|
47
57
|
--md-sys-color-error: var(--oscd-error);
|
|
48
58
|
--md-sys-color-on-error: var(--oscd-base3);
|
|
49
59
|
--md-icon-button-disabled-icon-color: var(--oscd-base3);
|
|
50
|
-
|
|
51
|
-
--
|
|
60
|
+
|
|
61
|
+
/* Material shape scale, derived from --oscd-shape (the Material
|
|
62
|
+
* "small" corner size) per the ratios documented in oscd-api's
|
|
63
|
+
* theming.md: none=0, extra-small=0.5x, small=1x, medium=1.5x, large=2x.
|
|
64
|
+
*/
|
|
65
|
+
--md-sys-shape-corner-none: 0;
|
|
66
|
+
--md-sys-shape-corner-extra-small: calc(0.5 * var(--oscd-shape));
|
|
67
|
+
--md-sys-shape-corner-small: var(--oscd-shape);
|
|
68
|
+
--md-sys-shape-corner-medium: calc(1.5 * var(--oscd-shape));
|
|
69
|
+
--md-sys-shape-corner-large: calc(2 * var(--oscd-shape));
|
|
70
|
+
|
|
71
|
+
/* MD3 has no single generic "system font" token (unlike color); its
|
|
72
|
+
* closest reference-tier equivalent is --md-ref-typeface-plain. Icon
|
|
73
|
+
* fonts (--oscd-icon-font) and monospace fonts (--oscd-text-font-mono)
|
|
74
|
+
* have no MD3 system-token equivalent at all, so they are referenced
|
|
75
|
+
* directly where needed instead of through an --md-* mapping.
|
|
76
|
+
*/
|
|
77
|
+
--md-ref-typeface-plain: var(--oscd-text-font);
|
|
52
78
|
|
|
53
79
|
/* MDC Theme Colors
|
|
54
80
|
* Needed for supporting any pluggins still using the depricated MWC Components
|
|
@@ -86,31 +112,27 @@ export const oscdShellDesignTokens = css `
|
|
|
86
112
|
--mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);
|
|
87
113
|
}
|
|
88
114
|
|
|
89
|
-
* {
|
|
90
|
-
--app-bar-height: 54px;
|
|
91
|
-
--side-panel-width: 280px;
|
|
92
|
-
|
|
93
|
-
--md-sys-color-primary: var(--oscd-primary);
|
|
94
|
-
--md-sys-color-on-primary: var(--oscd-base3);
|
|
95
|
-
|
|
96
|
-
--md-sys-color-secondary-container: var(--oscd-base2);
|
|
97
|
-
|
|
98
|
-
--md-sys-color-surface: var(--oscd-base3);
|
|
99
|
-
--md-sys-color-on-surface: var(--oscd-base00);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
115
|
/*
|
|
103
116
|
* Public token -> internal token mappings
|
|
104
117
|
*
|
|
105
118
|
* Example pattern:
|
|
106
119
|
* --internal-variable-name: var(--oscd-shell-public-token, <default>);
|
|
107
120
|
*/
|
|
108
|
-
|
|
121
|
+
:host {
|
|
122
|
+
/* Shell root */
|
|
123
|
+
--shell-background-color: var(
|
|
124
|
+
--oscd-shell-background-color,
|
|
125
|
+
var(--md-sys-color-surface)
|
|
126
|
+
);
|
|
127
|
+
|
|
109
128
|
/* App bar */
|
|
110
|
-
--app-bar-color: var(
|
|
129
|
+
--app-bar-color: var(
|
|
130
|
+
--oscd-shell-app-bar-color,
|
|
131
|
+
var(--md-sys-color-on-primary)
|
|
132
|
+
);
|
|
111
133
|
--app-bar-background-color: var(
|
|
112
134
|
--oscd-shell-app-bar-background-color,
|
|
113
|
-
var(--
|
|
135
|
+
var(--md-sys-color-primary)
|
|
114
136
|
);
|
|
115
137
|
--app-bar-height: var(--oscd-shell-app-bar-height, 54px);
|
|
116
138
|
--app-bar-small-height: var(--oscd-shell-app-bar-small-height, 48px);
|
|
@@ -120,9 +142,11 @@ export const oscdShellDesignTokens = css `
|
|
|
120
142
|
);
|
|
121
143
|
--app-bar-app-icon-height: var(--oscd-shell-app-bar-icon-height, 34.4px);
|
|
122
144
|
--app-bar-app-icon-width: var(--oscd-shell-app-bar-icon-width, auto);
|
|
145
|
+
--app-bar-logo-gap: var(--oscd-shell-app-bar-logo-gap, 16px);
|
|
146
|
+
--app-bar-title-menu-gap: var(--oscd-shell-app-bar-title-menu-gap, 4px);
|
|
123
147
|
--app-bar-title-text-font-family: var(
|
|
124
148
|
--oscd-shell-app-bar-title-font-family,
|
|
125
|
-
var(--
|
|
149
|
+
var(--md-ref-typeface-plain)
|
|
126
150
|
);
|
|
127
151
|
--app-bar-title-text-color: var(
|
|
128
152
|
--oscd-shell-app-bar-title-color,
|
|
@@ -148,13 +172,53 @@ export const oscdShellDesignTokens = css `
|
|
|
148
172
|
--oscd-shell-app-bar-title-letter-spacing,
|
|
149
173
|
inherit
|
|
150
174
|
);
|
|
175
|
+
--app-bar-current-editor-font-family: var(
|
|
176
|
+
--oscd-shell-app-bar-current-editor-font-family,
|
|
177
|
+
var(--md-ref-typeface-plain)
|
|
178
|
+
);
|
|
179
|
+
--app-bar-current-editor-font-size: var(
|
|
180
|
+
--oscd-shell-app-bar-current-editor-font-size,
|
|
181
|
+
16px
|
|
182
|
+
);
|
|
183
|
+
--app-bar-current-editor-font-weight: var(
|
|
184
|
+
--oscd-shell-app-bar-current-editor-font-weight,
|
|
185
|
+
500
|
|
186
|
+
);
|
|
187
|
+
--app-bar-current-editor-font-style: var(
|
|
188
|
+
--oscd-shell-app-bar-current-editor-font-style,
|
|
189
|
+
normal
|
|
190
|
+
);
|
|
191
|
+
--app-bar-current-editor-line-height: var(
|
|
192
|
+
--oscd-shell-app-bar-current-editor-line-height,
|
|
193
|
+
normal
|
|
194
|
+
);
|
|
195
|
+
--app-bar-current-editor-color: var(
|
|
196
|
+
--oscd-shell-app-bar-current-editor-color,
|
|
197
|
+
var(--app-bar-color)
|
|
198
|
+
);
|
|
151
199
|
--app-bar-action-icon-size: var(
|
|
152
200
|
--oscd-shell-app-bar-action-icon-size,
|
|
153
201
|
24px
|
|
154
202
|
);
|
|
155
203
|
--app-bar-action-icon-color: var(
|
|
156
204
|
--oscd-shell-app-bar-action-icon-color,
|
|
157
|
-
var(--
|
|
205
|
+
var(--md-sys-color-on-primary)
|
|
206
|
+
);
|
|
207
|
+
--app-bar-action-icon-disabled-color: var(
|
|
208
|
+
--oscd-shell-app-bar-action-icon-disabled-color,
|
|
209
|
+
var(--md-sys-color-on-primary)
|
|
210
|
+
);
|
|
211
|
+
--app-bar-action-icon-disabled-container-opacity: var(
|
|
212
|
+
--oscd-shell-app-bar-action-icon-disabled-container-opacity,
|
|
213
|
+
0
|
|
214
|
+
);
|
|
215
|
+
--app-bar-separator-color: var(
|
|
216
|
+
--oscd-shell-app-bar-separator-color,
|
|
217
|
+
currentColor
|
|
218
|
+
);
|
|
219
|
+
--app-bar-separator-opacity: var(
|
|
220
|
+
--oscd-shell-app-bar-separator-opacity,
|
|
221
|
+
0.38
|
|
158
222
|
);
|
|
159
223
|
|
|
160
224
|
/* Bridge to oscd-ui app bar tokens */
|
|
@@ -169,13 +233,13 @@ export const oscdShellDesignTokens = css `
|
|
|
169
233
|
/* Files menu */
|
|
170
234
|
--file-menu-text-font-family: var(
|
|
171
235
|
--oscd-shell-file-menu-text-font-family,
|
|
172
|
-
var(--
|
|
236
|
+
var(--md-ref-typeface-plain)
|
|
173
237
|
);
|
|
174
|
-
--file-menu-text-size: var(--oscd-shell-file-menu-text-size,
|
|
238
|
+
--file-menu-text-size: var(--oscd-shell-file-menu-text-size, 16px);
|
|
175
239
|
--file-menu-text-weight: var(--oscd-shell-file-menu-text-weight, 500);
|
|
176
240
|
--file-menu-text-color: var(
|
|
177
241
|
--oscd-shell-file-menu-text-color,
|
|
178
|
-
var(--
|
|
242
|
+
var(--md-sys-color-on-primary)
|
|
179
243
|
);
|
|
180
244
|
|
|
181
245
|
/* Plugins menu */
|
|
@@ -185,85 +249,96 @@ export const oscdShellDesignTokens = css `
|
|
|
185
249
|
);
|
|
186
250
|
--plugins-menu-button-color: var(
|
|
187
251
|
--oscd-shell-plugins-menu-button-color,
|
|
188
|
-
var(--
|
|
252
|
+
var(--md-sys-color-on-primary)
|
|
189
253
|
);
|
|
190
254
|
--plugins-menu-min-width: var(--oscd-shell-plugins-menu-min-width, 350px);
|
|
191
255
|
--plugins-menu-padding: var(--oscd-shell-plugins-menu-padding, 12px);
|
|
192
256
|
--plugins-menu-container-color: var(
|
|
193
257
|
--oscd-shell-plugins-menu-container-color,
|
|
194
|
-
var(--
|
|
258
|
+
var(--md-sys-color-surface)
|
|
195
259
|
);
|
|
196
260
|
--plugins-menu-item-label-color: var(
|
|
197
261
|
--oscd-shell-plugins-menu-item-label-color,
|
|
198
|
-
var(--
|
|
262
|
+
var(--md-sys-color-on-surface)
|
|
199
263
|
);
|
|
200
264
|
--plugins-menu-item-leading-icon-color: var(
|
|
201
265
|
--oscd-shell-plugins-menu-item-leading-icon-color,
|
|
202
|
-
var(--
|
|
266
|
+
var(--md-sys-color-on-surface)
|
|
203
267
|
);
|
|
204
268
|
--plugins-menu-item-selected-container-color: var(
|
|
205
269
|
--oscd-shell-plugins-menu-item-selected-container-color,
|
|
206
|
-
var(--
|
|
270
|
+
var(--md-sys-color-secondary-container)
|
|
207
271
|
);
|
|
208
272
|
--plugins-menu-item-selected-label-color: var(
|
|
209
273
|
--oscd-shell-plugins-menu-item-selected-label-color,
|
|
210
|
-
var(--
|
|
274
|
+
var(--md-sys-color-on-surface)
|
|
211
275
|
);
|
|
212
276
|
|
|
213
277
|
/* Editor plugins panel */
|
|
214
278
|
--editor-plugins-panel-width: var(
|
|
215
279
|
--oscd-shell-editor-plugins-panel-width,
|
|
216
|
-
|
|
280
|
+
308px
|
|
217
281
|
);
|
|
218
282
|
--editor-plugins-panel-collapsed-width: var(
|
|
219
|
-
--oscd-shell-editor-plugins-panel-width,
|
|
220
|
-
|
|
283
|
+
--oscd-shell-editor-plugins-panel-collapsed-width,
|
|
284
|
+
76px
|
|
221
285
|
);
|
|
222
286
|
--editor-plugins-panel-padding-top: var(
|
|
223
287
|
--oscd-shell-editor-plugins-panel-padding-top,
|
|
224
288
|
20px
|
|
225
289
|
);
|
|
226
|
-
--editor-plugins-panel-item-leading-space: var(
|
|
227
|
-
--oscd-shell-editor-plugins-panel-item-leading-space,
|
|
228
|
-
22px
|
|
229
|
-
);
|
|
230
|
-
--editor-plugins-panel-item-trailing-space: var(
|
|
231
|
-
--oscd-shell-editor-plugins-panel-item-trailing-space,
|
|
232
|
-
10px
|
|
233
|
-
);
|
|
234
290
|
--editor-plugins-panel-item-icon-size: var(
|
|
235
291
|
--oscd-shell-editor-plugins-panel-item-icon-size,
|
|
236
292
|
28px
|
|
237
293
|
);
|
|
294
|
+
--editor-plugins-panel-background-color: var(
|
|
295
|
+
--oscd-shell-editor-plugins-panel-background-color,
|
|
296
|
+
var(--md-sys-color-surface)
|
|
297
|
+
);
|
|
238
298
|
--editor-plugins-panel-item-text-color: var(
|
|
239
299
|
--oscd-shell-editor-plugins-panel-item-text-color,
|
|
240
|
-
var(--
|
|
300
|
+
var(--md-sys-color-on-surface)
|
|
241
301
|
);
|
|
242
302
|
--editor-plugins-panel-item-icon-color: var(
|
|
243
303
|
--oscd-shell-editor-plugins-panel-item-icon-color,
|
|
244
|
-
var(--
|
|
304
|
+
var(--md-sys-color-on-surface)
|
|
245
305
|
);
|
|
246
306
|
--editor-plugins-panel-item-active-bg: var(
|
|
247
307
|
--oscd-shell-editor-plugins-panel-item-active-bg,
|
|
248
|
-
var(--
|
|
308
|
+
var(--md-sys-color-primary)
|
|
309
|
+
);
|
|
310
|
+
--editor-plugins-panel-item-active-color: var(
|
|
311
|
+
--oscd-shell-editor-plugins-panel-item-active-color,
|
|
312
|
+
var(--md-sys-color-on-primary)
|
|
313
|
+
);
|
|
314
|
+
--editor-plugins-panel-divider-color: var(
|
|
315
|
+
--oscd-shell-editor-plugins-panel-divider-color,
|
|
316
|
+
#d0d5dc40
|
|
317
|
+
);
|
|
318
|
+
--editor-plugins-panel-flyout-header-text-color: var(
|
|
319
|
+
--oscd-shell-editor-plugins-panel-flyout-header-text-color,
|
|
320
|
+
var(--md-sys-color-secondary)
|
|
249
321
|
);
|
|
250
|
-
--side-panel-width: var(--editor-plugins-panel-width);
|
|
251
322
|
|
|
252
323
|
/* Main editor container */
|
|
253
324
|
--editor-background-color: var(
|
|
254
325
|
--oscd-shell-editor-background-color,
|
|
255
|
-
var(--
|
|
326
|
+
var(--md-sys-color-surface)
|
|
256
327
|
);
|
|
257
328
|
--editor-padding: var(--oscd-shell-editor-padding, 8px);
|
|
258
329
|
|
|
259
330
|
/* Landing page */
|
|
331
|
+
--landing-background-color: var(
|
|
332
|
+
--oscd-shell-landing-background-color,
|
|
333
|
+
var(--md-sys-color-surface)
|
|
334
|
+
);
|
|
260
335
|
--landing-heading-color: var(
|
|
261
336
|
--oscd-shell-landing-heading-color,
|
|
262
|
-
var(--
|
|
337
|
+
var(--md-sys-color-on-surface)
|
|
263
338
|
);
|
|
264
339
|
--landing-heading-font-family: var(
|
|
265
340
|
--oscd-shell-landing-heading-font-family,
|
|
266
|
-
var(--
|
|
341
|
+
var(--md-ref-typeface-plain)
|
|
267
342
|
);
|
|
268
343
|
--landing-heading-size: var(--oscd-shell-landing-heading-size, 50px);
|
|
269
344
|
--landing-heading-style: var(--oscd-shell-landing-heading-style, normal);
|
|
@@ -275,11 +350,11 @@ export const oscdShellDesignTokens = css `
|
|
|
275
350
|
|
|
276
351
|
--landing-subheading-color: var(
|
|
277
352
|
--oscd-shell-landing-subheading-color,
|
|
278
|
-
var(--
|
|
353
|
+
var(--md-sys-color-on-surface)
|
|
279
354
|
);
|
|
280
355
|
--landing-subheading-font-family: var(
|
|
281
356
|
--oscd-shell-landing-subheading-font-family,
|
|
282
|
-
var(--
|
|
357
|
+
var(--md-ref-typeface-plain)
|
|
283
358
|
);
|
|
284
359
|
--landing-subheading-size: var(
|
|
285
360
|
--oscd-shell-landing-subheading-size,
|
|
@@ -303,17 +378,17 @@ export const oscdShellDesignTokens = css `
|
|
|
303
378
|
--landing-card-height: var(--oscd-shell-landing-card-height, 180px);
|
|
304
379
|
--landing-card-background: var(
|
|
305
380
|
--oscd-shell-landing-card-background,
|
|
306
|
-
var(--
|
|
381
|
+
var(--md-sys-color-secondary)
|
|
307
382
|
);
|
|
308
383
|
--landing-card-text-color: var(
|
|
309
384
|
--oscd-shell-landing-card-text-color,
|
|
310
|
-
var(--
|
|
385
|
+
var(--md-sys-color-on-secondary)
|
|
311
386
|
);
|
|
312
387
|
--landing-card-radius: var(--oscd-shell-landing-card-radius, 2px);
|
|
313
388
|
--landing-card-icon-size: var(--oscd-shell-landing-card-icon-size, 54px);
|
|
314
389
|
--landing-card-corner-accent: var(
|
|
315
390
|
--oscd-shell-landing-card-corner-accent,
|
|
316
|
-
|
|
391
|
+
transparent
|
|
317
392
|
);
|
|
318
393
|
}
|
|
319
394
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oscd-shell-design-tokens.js","sourceRoot":"","sources":["../src/oscd-shell-design-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmTvC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * Single source of truth for oscd-shell design tokens.\n *\n * This block contains:\n * 1) Internal base tokens and fallbacks\n * 2) Public token -> internal token mappings\n *\n * Keep this as an all-or-nothing layer so mappings can safely reference\n * internal base tokens (e.g. --oscd-base*).\n */\nexport const oscdShellDesignTokens = css`\n /* Internal base theme tokens and defaults */\n * {\n --oscd-primary: var(--oscd-theme-primary, #0b335b);\n --oscd-secondary: var(--oscd-theme-secondary, #2485e5);\n --oscd-base03: var(--oscd-theme-base03, #121417);\n --oscd-base02: var(--oscd-theme-base02, #1a1e23);\n --oscd-base01: var(--oscd-theme-base01, #3d4651);\n --oscd-base00: var(--oscd-theme-base00, #46505d);\n --oscd-base0: var(--oscd-theme-base0, #8b97a7);\n --oscd-base1: var(--oscd-theme-base1, #96a1b0);\n --oscd-base2: var(--oscd-theme-base2, #f3f5f6);\n --oscd-base3: var(--oscd-theme-base3, white);\n --oscd-error: var(--oscd-theme-error, #dc322f);\n --oscd-warning: var(--oscd-theme-warning, #b58900);\n --oscd-text-font: var(--oscd-theme-text-font, 'Roboto');\n --oscd-text-font-mono: var(--oscd-theme-text-font-mono, 'Roboto Mono');\n --oscd-icon-font: var(--oscd-theme-icon-font, 'Material Symbols Outlined');\n\n /* Fallbacks for Material Design variables */\n --md-sys-color-primary: var(--oscd-primary);\n --md-sys-color-on-primary: var(--oscd-base3);\n --md-sys-color-secondary: var(--oscd-secondary);\n --md-sys-color-on-secondary: var(--oscd-base3);\n --md-sys-color-secondary-container: var(--oscd-base2);\n --md-sys-color-surface: var(--oscd-base3);\n --md-sys-color-on-surface: var(--oscd-base00);\n --md-sys-color-surface-variant: var(--oscd-base3);\n --md-sys-color-on-surface-variant: var(--oscd-base00);\n --md-sys-color-surface-bright: var(--oscd-base2);\n --md-sys-color-surface-container: var(--oscd-base3);\n --md-sys-color-surface-container-high: var(--oscd-base3);\n --md-sys-color-surface-container-highest: var(--oscd-base3);\n --md-sys-color-outline-variant: var(--oscd-primary);\n --md-sys-color-scrim: #000000;\n --md-sys-color-error: var(--oscd-error);\n --md-sys-color-on-error: var(--oscd-base3);\n --md-icon-button-disabled-icon-color: var(--oscd-base3);\n /* --md-menu-item-selected-label-text-color: var(--oscd-base01); */\n --md-icon-button-disabled-icon-color: var(--oscd-base3);\n\n /* MDC Theme Colors\n * Needed for supporting any pluggins still using the depricated MWC Components\n */\n --mdc-theme-primary: var(--oscd-primary);\n --mdc-theme-secondary: var(--oscd-secondary);\n --mdc-theme-background: var(--oscd-base3);\n --mdc-theme-surface: var(--oscd-base3);\n --mdc-theme-on-primary: var(--oscd-base2);\n --mdc-theme-on-secondary: var(--oscd-base2);\n --mdc-theme-on-background: var(--oscd-base00);\n --mdc-theme-on-surface: var(--oscd-base00);\n --mdc-theme-text-primary-on-background: var(--oscd-base01);\n --mdc-theme-text-secondary-on-background: var(--oscd-base00);\n --mdc-theme-text-icon-on-background: var(--oscd-base00);\n --mdc-theme-error: var(--oscd-error);\n --mdc-button-disabled-ink-color: var(--oscd-base1);\n --mdc-drawer-heading-ink-color: var(--oscd-base00);\n --mdc-dialog-heading-ink-color: var(--oscd-base00);\n --mdc-text-field-fill-color: var(--oscd-base2);\n --mdc-text-field-disabled-fill-color: var(--oscd-base3);\n --mdc-text-field-ink-color: var(--oscd-base00);\n --mdc-text-field-label-ink-color: var(--oscd-base00);\n --mdc-text-field-idle-line-color: var(--oscd-base00);\n --mdc-text-field-hover-line-color: var(--oscd-base02);\n --mdc-select-fill-color: var(--oscd-base2);\n --mdc-select-disabled-fill-color: var(--oscd-base3);\n --mdc-select-ink-color: var(--oscd-base00);\n --mdc-select-label-ink-color: var(--oscd-base00);\n --mdc-select-idle-line-color: var(--oscd-base00);\n --mdc-select-hover-line-color: var(--oscd-base02);\n --mdc-select-dropdown-icon-color: var(--oscd-base01);\n --mdc-typography-font-family: var(--oscd-text-font);\n --mdc-icon-font: var(--oscd-icon-font);\n --mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);\n }\n\n * {\n --app-bar-height: 54px;\n --side-panel-width: 280px;\n\n --md-sys-color-primary: var(--oscd-primary);\n --md-sys-color-on-primary: var(--oscd-base3);\n\n --md-sys-color-secondary-container: var(--oscd-base2);\n\n --md-sys-color-surface: var(--oscd-base3);\n --md-sys-color-on-surface: var(--oscd-base00);\n }\n\n /*\n * Public token -> internal token mappings\n *\n * Example pattern:\n * --internal-variable-name: var(--oscd-shell-public-token, <default>);\n */\n * {\n /* App bar */\n --app-bar-color: var(--oscd-shell-app-bar-color, var(--oscd-base3));\n --app-bar-background-color: var(\n --oscd-shell-app-bar-background-color,\n var(--oscd-primary)\n );\n --app-bar-height: var(--oscd-shell-app-bar-height, 54px);\n --app-bar-small-height: var(--oscd-shell-app-bar-small-height, 48px);\n --app-bar-elevation: var(\n --oscd-shell-app-bar-elevation,\n var(--md-sys-elevation-level-2)\n );\n --app-bar-app-icon-height: var(--oscd-shell-app-bar-icon-height, 34.4px);\n --app-bar-app-icon-width: var(--oscd-shell-app-bar-icon-width, auto);\n --app-bar-title-text-font-family: var(\n --oscd-shell-app-bar-title-font-family,\n var(--oscd-text-font)\n );\n --app-bar-title-text-color: var(\n --oscd-shell-app-bar-title-color,\n var(--app-bar-color)\n );\n --app-bar-title-text-font-size: var(\n --oscd-shell-app-bar-title-font-size,\n 22.114px\n );\n --app-bar-title-text-font-weight: var(\n --oscd-shell-app-bar-title-font-weight,\n 400\n );\n --app-bar-title-text-font-style: var(\n --oscd-shell-app-bar-title-font-style,\n normal\n );\n --app-bar-title-text-line-height: var(\n --oscd-shell-app-bar-title-line-height,\n normal\n );\n --app-bar-title-text-letter-spacing: var(\n --oscd-shell-app-bar-title-letter-spacing,\n inherit\n );\n --app-bar-action-icon-size: var(\n --oscd-shell-app-bar-action-icon-size,\n 24px\n );\n --app-bar-action-icon-color: var(\n --oscd-shell-app-bar-action-icon-color,\n var(--oscd-base3)\n );\n\n /* Bridge to oscd-ui app bar tokens */\n --oscd-app-bar-color: var(--app-bar-color);\n --oscd-app-bar-background-color: var(--app-bar-background-color);\n --oscd-app-bar-elevation: var(--app-bar-elevation);\n --oscd-app-bar-title-font-family: var(--app-bar-title-text-font-family);\n --oscd-app-bar-title-font-size: var(--app-bar-title-text-font-size);\n --oscd-app-bar-title-font-weight: var(--app-bar-title-text-font-weight);\n --oscd-app-bar-title-line-height: var(--app-bar-title-text-line-height);\n\n /* Files menu */\n --file-menu-text-font-family: var(\n --oscd-shell-file-menu-text-font-family,\n var(--oscd-text-font)\n );\n --file-menu-text-size: var(--oscd-shell-file-menu-text-size, 18px);\n --file-menu-text-weight: var(--oscd-shell-file-menu-text-weight, 500);\n --file-menu-text-color: var(\n --oscd-shell-file-menu-text-color,\n var(--oscd-base3)\n );\n\n /* Plugins menu */\n --plugins-menu-button-size: var(\n --oscd-shell-plugins-menu-button-size,\n 24px\n );\n --plugins-menu-button-color: var(\n --oscd-shell-plugins-menu-button-color,\n var(--oscd-base3)\n );\n --plugins-menu-min-width: var(--oscd-shell-plugins-menu-min-width, 350px);\n --plugins-menu-padding: var(--oscd-shell-plugins-menu-padding, 12px);\n --plugins-menu-container-color: var(\n --oscd-shell-plugins-menu-container-color,\n var(--oscd-base3)\n );\n --plugins-menu-item-label-color: var(\n --oscd-shell-plugins-menu-item-label-color,\n var(--oscd-base00)\n );\n --plugins-menu-item-leading-icon-color: var(\n --oscd-shell-plugins-menu-item-leading-icon-color,\n var(--oscd-base00)\n );\n --plugins-menu-item-selected-container-color: var(\n --oscd-shell-plugins-menu-item-selected-container-color,\n var(--oscd-base2)\n );\n --plugins-menu-item-selected-label-color: var(\n --oscd-shell-plugins-menu-item-selected-label-color,\n var(--oscd-base00)\n );\n\n /* Editor plugins panel */\n --editor-plugins-panel-width: var(\n --oscd-shell-editor-plugins-panel-width,\n 280px\n );\n --editor-plugins-panel-collapsed-width: var(\n --oscd-shell-editor-plugins-panel-width,\n 280px\n );\n --editor-plugins-panel-padding-top: var(\n --oscd-shell-editor-plugins-panel-padding-top,\n 20px\n );\n --editor-plugins-panel-item-leading-space: var(\n --oscd-shell-editor-plugins-panel-item-leading-space,\n 22px\n );\n --editor-plugins-panel-item-trailing-space: var(\n --oscd-shell-editor-plugins-panel-item-trailing-space,\n 10px\n );\n --editor-plugins-panel-item-icon-size: var(\n --oscd-shell-editor-plugins-panel-item-icon-size,\n 28px\n );\n --editor-plugins-panel-item-text-color: var(\n --oscd-shell-editor-plugins-panel-item-text-color,\n var(--oscd-base3)\n );\n --editor-plugins-panel-item-icon-color: var(\n --oscd-shell-editor-plugins-panel-item-icon-color,\n var(--oscd-base3)\n );\n --editor-plugins-panel-item-active-bg: var(\n --oscd-shell-editor-plugins-panel-item-active-bg,\n var(--oscd-primary)\n );\n --side-panel-width: var(--editor-plugins-panel-width);\n\n /* Main editor container */\n --editor-background-color: var(\n --oscd-shell-editor-background-color,\n var(--oscd-base3)\n );\n --editor-padding: var(--oscd-shell-editor-padding, 8px);\n\n /* Landing page */\n --landing-heading-color: var(\n --oscd-shell-landing-heading-color,\n var(--oscd-base3)\n );\n --landing-heading-font-family: var(\n --oscd-shell-landing-heading-font-family,\n var(--oscd-text-font)\n );\n --landing-heading-size: var(--oscd-shell-landing-heading-size, 50px);\n --landing-heading-style: var(--oscd-shell-landing-heading-style, normal);\n --landing-heading-weight: var(--oscd-shell-landing-heading-weight, 600);\n --landing-heading-line-height: var(\n --oscd-shell-landing-heading-line-height,\n normal\n );\n\n --landing-subheading-color: var(\n --oscd-shell-landing-subheading-color,\n var(--oscd-base3)\n );\n --landing-subheading-font-family: var(\n --oscd-shell-landing-subheading-font-family,\n var(--oscd-text-font)\n );\n --landing-subheading-size: var(\n --oscd-shell-landing-subheading-size,\n 16.909px\n );\n --landing-subheading-style: var(\n --oscd-shell-landing-subheading-style,\n normal\n );\n --landing-subheading-weight: var(\n --oscd-shell-landing-subheading-weight,\n 400\n );\n --landing-subheading-line-height: var(\n --oscd-shell-landing-subheading-line-height,\n 65.194px\n );\n --landing-grid-width: var(--oscd-shell-landing-grid-width, 60%);\n --landing-grid-gap: var(--oscd-shell-landing-grid-gap, 95px);\n --landing-card-width: var(--oscd-shell-landing-card-width, 240px);\n --landing-card-height: var(--oscd-shell-landing-card-height, 180px);\n --landing-card-background: var(\n --oscd-shell-landing-card-background,\n var(--oscd-primary)\n );\n --landing-card-text-color: var(\n --oscd-shell-landing-card-text-color,\n var(--oscd-base3)\n );\n --landing-card-radius: var(--oscd-shell-landing-card-radius, 2px);\n --landing-card-icon-size: var(--oscd-shell-landing-card-icon-size, 54px);\n --landing-card-corner-accent: var(\n --oscd-shell-landing-card-corner-accent,\n var(--omicron-yellow)\n );\n }\n`;\n"]}
|
|
1
|
+
{"version":3,"file":"oscd-shell-design-tokens.js","sourceRoot":"","sources":["../src/oscd-shell-design-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8XvC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * Single source of truth for oscd-shell design tokens.\n *\n * This block contains:\n * 1) Internal base tokens and fallbacks\n * 2) Public token -> internal token mappings\n *\n * Keep this as an all-or-nothing layer so mappings can safely reference\n * internal base tokens (e.g. --oscd-base*).\n */\nexport const oscdShellDesignTokens = css`\n /* Internal base theme tokens and defaults.\n *\n * Defaults are the Solarized (https://ethanschoonover.com/solarized/)\n * light palette used by the legacy OpenSCD shell, so oscd-shell is\n * brand-neutral out of the box: consumers who set none of the\n * --oscd-theme-* variables get the classic OpenSCD look. Distro-specific\n * branding (e.g. Omicron colors) is applied entirely by overriding the\n * --oscd-theme-* variables from outside; nothing brand-specific belongs\n * in this file.\n */\n :host {\n --oscd-primary: var(--oscd-theme-primary, #2aa198);\n --oscd-secondary: var(--oscd-theme-secondary, #6c71c4);\n --oscd-base03: var(--oscd-theme-base03, #002b36);\n --oscd-base02: var(--oscd-theme-base02, #073642);\n --oscd-base01: var(--oscd-theme-base01, #586e75);\n --oscd-base00: var(--oscd-theme-base00, #657b83);\n --oscd-base0: var(--oscd-theme-base0, #839496);\n --oscd-base1: var(--oscd-theme-base1, #93a1a1);\n --oscd-base2: var(--oscd-theme-base2, #eee8d5);\n --oscd-base3: var(--oscd-theme-base3, #fdf6e3);\n --oscd-error: var(--oscd-theme-error, #dc322f);\n --oscd-warning: var(--oscd-theme-warning, #b58900);\n --oscd-shape: var(--oscd-theme-shape, 8px);\n --oscd-text-font: var(--oscd-theme-text-font, 'Roboto');\n --oscd-text-font-mono: var(--oscd-theme-text-font-mono, 'Roboto Mono');\n --oscd-icon-font: var(--oscd-theme-icon-font, 'Material Symbols Outlined');\n\n /* Fallbacks for Material Design variables */\n --md-sys-color-primary: var(--oscd-primary);\n --md-sys-color-on-primary: var(--oscd-base3);\n --md-sys-color-secondary: var(--oscd-secondary);\n --md-sys-color-on-secondary: var(--oscd-base3);\n --md-sys-color-secondary-container: var(--oscd-base2);\n --md-sys-color-surface: var(--oscd-base3);\n --md-sys-color-on-surface: var(--oscd-base00);\n --md-sys-color-surface-variant: var(--oscd-base3);\n --md-sys-color-on-surface-variant: var(--oscd-base00);\n --md-sys-color-surface-bright: var(--oscd-base2);\n --md-sys-color-surface-container: var(--oscd-base3);\n --md-sys-color-surface-container-high: var(--oscd-base3);\n --md-sys-color-surface-container-highest: var(--oscd-base3);\n --md-sys-color-outline-variant: var(--oscd-primary);\n --md-sys-color-scrim: #000000;\n --md-sys-color-error: var(--oscd-error);\n --md-sys-color-on-error: var(--oscd-base3);\n --md-icon-button-disabled-icon-color: var(--oscd-base3);\n\n /* Material shape scale, derived from --oscd-shape (the Material\n * \"small\" corner size) per the ratios documented in oscd-api's\n * theming.md: none=0, extra-small=0.5x, small=1x, medium=1.5x, large=2x.\n */\n --md-sys-shape-corner-none: 0;\n --md-sys-shape-corner-extra-small: calc(0.5 * var(--oscd-shape));\n --md-sys-shape-corner-small: var(--oscd-shape);\n --md-sys-shape-corner-medium: calc(1.5 * var(--oscd-shape));\n --md-sys-shape-corner-large: calc(2 * var(--oscd-shape));\n\n /* MD3 has no single generic \"system font\" token (unlike color); its\n * closest reference-tier equivalent is --md-ref-typeface-plain. Icon\n * fonts (--oscd-icon-font) and monospace fonts (--oscd-text-font-mono)\n * have no MD3 system-token equivalent at all, so they are referenced\n * directly where needed instead of through an --md-* mapping.\n */\n --md-ref-typeface-plain: var(--oscd-text-font);\n\n /* MDC Theme Colors\n * Needed for supporting any pluggins still using the depricated MWC Components\n */\n --mdc-theme-primary: var(--oscd-primary);\n --mdc-theme-secondary: var(--oscd-secondary);\n --mdc-theme-background: var(--oscd-base3);\n --mdc-theme-surface: var(--oscd-base3);\n --mdc-theme-on-primary: var(--oscd-base2);\n --mdc-theme-on-secondary: var(--oscd-base2);\n --mdc-theme-on-background: var(--oscd-base00);\n --mdc-theme-on-surface: var(--oscd-base00);\n --mdc-theme-text-primary-on-background: var(--oscd-base01);\n --mdc-theme-text-secondary-on-background: var(--oscd-base00);\n --mdc-theme-text-icon-on-background: var(--oscd-base00);\n --mdc-theme-error: var(--oscd-error);\n --mdc-button-disabled-ink-color: var(--oscd-base1);\n --mdc-drawer-heading-ink-color: var(--oscd-base00);\n --mdc-dialog-heading-ink-color: var(--oscd-base00);\n --mdc-text-field-fill-color: var(--oscd-base2);\n --mdc-text-field-disabled-fill-color: var(--oscd-base3);\n --mdc-text-field-ink-color: var(--oscd-base00);\n --mdc-text-field-label-ink-color: var(--oscd-base00);\n --mdc-text-field-idle-line-color: var(--oscd-base00);\n --mdc-text-field-hover-line-color: var(--oscd-base02);\n --mdc-select-fill-color: var(--oscd-base2);\n --mdc-select-disabled-fill-color: var(--oscd-base3);\n --mdc-select-ink-color: var(--oscd-base00);\n --mdc-select-label-ink-color: var(--oscd-base00);\n --mdc-select-idle-line-color: var(--oscd-base00);\n --mdc-select-hover-line-color: var(--oscd-base02);\n --mdc-select-dropdown-icon-color: var(--oscd-base01);\n --mdc-typography-font-family: var(--oscd-text-font);\n --mdc-icon-font: var(--oscd-icon-font);\n --mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);\n }\n\n /*\n * Public token -> internal token mappings\n *\n * Example pattern:\n * --internal-variable-name: var(--oscd-shell-public-token, <default>);\n */\n :host {\n /* Shell root */\n --shell-background-color: var(\n --oscd-shell-background-color,\n var(--md-sys-color-surface)\n );\n\n /* App bar */\n --app-bar-color: var(\n --oscd-shell-app-bar-color,\n var(--md-sys-color-on-primary)\n );\n --app-bar-background-color: var(\n --oscd-shell-app-bar-background-color,\n var(--md-sys-color-primary)\n );\n --app-bar-height: var(--oscd-shell-app-bar-height, 54px);\n --app-bar-small-height: var(--oscd-shell-app-bar-small-height, 48px);\n --app-bar-elevation: var(\n --oscd-shell-app-bar-elevation,\n var(--md-sys-elevation-level-2)\n );\n --app-bar-app-icon-height: var(--oscd-shell-app-bar-icon-height, 34.4px);\n --app-bar-app-icon-width: var(--oscd-shell-app-bar-icon-width, auto);\n --app-bar-logo-gap: var(--oscd-shell-app-bar-logo-gap, 16px);\n --app-bar-title-menu-gap: var(--oscd-shell-app-bar-title-menu-gap, 4px);\n --app-bar-title-text-font-family: var(\n --oscd-shell-app-bar-title-font-family,\n var(--md-ref-typeface-plain)\n );\n --app-bar-title-text-color: var(\n --oscd-shell-app-bar-title-color,\n var(--app-bar-color)\n );\n --app-bar-title-text-font-size: var(\n --oscd-shell-app-bar-title-font-size,\n 22.114px\n );\n --app-bar-title-text-font-weight: var(\n --oscd-shell-app-bar-title-font-weight,\n 400\n );\n --app-bar-title-text-font-style: var(\n --oscd-shell-app-bar-title-font-style,\n normal\n );\n --app-bar-title-text-line-height: var(\n --oscd-shell-app-bar-title-line-height,\n normal\n );\n --app-bar-title-text-letter-spacing: var(\n --oscd-shell-app-bar-title-letter-spacing,\n inherit\n );\n --app-bar-current-editor-font-family: var(\n --oscd-shell-app-bar-current-editor-font-family,\n var(--md-ref-typeface-plain)\n );\n --app-bar-current-editor-font-size: var(\n --oscd-shell-app-bar-current-editor-font-size,\n 16px\n );\n --app-bar-current-editor-font-weight: var(\n --oscd-shell-app-bar-current-editor-font-weight,\n 500\n );\n --app-bar-current-editor-font-style: var(\n --oscd-shell-app-bar-current-editor-font-style,\n normal\n );\n --app-bar-current-editor-line-height: var(\n --oscd-shell-app-bar-current-editor-line-height,\n normal\n );\n --app-bar-current-editor-color: var(\n --oscd-shell-app-bar-current-editor-color,\n var(--app-bar-color)\n );\n --app-bar-action-icon-size: var(\n --oscd-shell-app-bar-action-icon-size,\n 24px\n );\n --app-bar-action-icon-color: var(\n --oscd-shell-app-bar-action-icon-color,\n var(--md-sys-color-on-primary)\n );\n --app-bar-action-icon-disabled-color: var(\n --oscd-shell-app-bar-action-icon-disabled-color,\n var(--md-sys-color-on-primary)\n );\n --app-bar-action-icon-disabled-container-opacity: var(\n --oscd-shell-app-bar-action-icon-disabled-container-opacity,\n 0\n );\n --app-bar-separator-color: var(\n --oscd-shell-app-bar-separator-color,\n currentColor\n );\n --app-bar-separator-opacity: var(\n --oscd-shell-app-bar-separator-opacity,\n 0.38\n );\n\n /* Bridge to oscd-ui app bar tokens */\n --oscd-app-bar-color: var(--app-bar-color);\n --oscd-app-bar-background-color: var(--app-bar-background-color);\n --oscd-app-bar-elevation: var(--app-bar-elevation);\n --oscd-app-bar-title-font-family: var(--app-bar-title-text-font-family);\n --oscd-app-bar-title-font-size: var(--app-bar-title-text-font-size);\n --oscd-app-bar-title-font-weight: var(--app-bar-title-text-font-weight);\n --oscd-app-bar-title-line-height: var(--app-bar-title-text-line-height);\n\n /* Files menu */\n --file-menu-text-font-family: var(\n --oscd-shell-file-menu-text-font-family,\n var(--md-ref-typeface-plain)\n );\n --file-menu-text-size: var(--oscd-shell-file-menu-text-size, 16px);\n --file-menu-text-weight: var(--oscd-shell-file-menu-text-weight, 500);\n --file-menu-text-color: var(\n --oscd-shell-file-menu-text-color,\n var(--md-sys-color-on-primary)\n );\n\n /* Plugins menu */\n --plugins-menu-button-size: var(\n --oscd-shell-plugins-menu-button-size,\n 24px\n );\n --plugins-menu-button-color: var(\n --oscd-shell-plugins-menu-button-color,\n var(--md-sys-color-on-primary)\n );\n --plugins-menu-min-width: var(--oscd-shell-plugins-menu-min-width, 350px);\n --plugins-menu-padding: var(--oscd-shell-plugins-menu-padding, 12px);\n --plugins-menu-container-color: var(\n --oscd-shell-plugins-menu-container-color,\n var(--md-sys-color-surface)\n );\n --plugins-menu-item-label-color: var(\n --oscd-shell-plugins-menu-item-label-color,\n var(--md-sys-color-on-surface)\n );\n --plugins-menu-item-leading-icon-color: var(\n --oscd-shell-plugins-menu-item-leading-icon-color,\n var(--md-sys-color-on-surface)\n );\n --plugins-menu-item-selected-container-color: var(\n --oscd-shell-plugins-menu-item-selected-container-color,\n var(--md-sys-color-secondary-container)\n );\n --plugins-menu-item-selected-label-color: var(\n --oscd-shell-plugins-menu-item-selected-label-color,\n var(--md-sys-color-on-surface)\n );\n\n /* Editor plugins panel */\n --editor-plugins-panel-width: var(\n --oscd-shell-editor-plugins-panel-width,\n 308px\n );\n --editor-plugins-panel-collapsed-width: var(\n --oscd-shell-editor-plugins-panel-collapsed-width,\n 76px\n );\n --editor-plugins-panel-padding-top: var(\n --oscd-shell-editor-plugins-panel-padding-top,\n 20px\n );\n --editor-plugins-panel-item-icon-size: var(\n --oscd-shell-editor-plugins-panel-item-icon-size,\n 28px\n );\n --editor-plugins-panel-background-color: var(\n --oscd-shell-editor-plugins-panel-background-color,\n var(--md-sys-color-surface)\n );\n --editor-plugins-panel-item-text-color: var(\n --oscd-shell-editor-plugins-panel-item-text-color,\n var(--md-sys-color-on-surface)\n );\n --editor-plugins-panel-item-icon-color: var(\n --oscd-shell-editor-plugins-panel-item-icon-color,\n var(--md-sys-color-on-surface)\n );\n --editor-plugins-panel-item-active-bg: var(\n --oscd-shell-editor-plugins-panel-item-active-bg,\n var(--md-sys-color-primary)\n );\n --editor-plugins-panel-item-active-color: var(\n --oscd-shell-editor-plugins-panel-item-active-color,\n var(--md-sys-color-on-primary)\n );\n --editor-plugins-panel-divider-color: var(\n --oscd-shell-editor-plugins-panel-divider-color,\n #d0d5dc40\n );\n --editor-plugins-panel-flyout-header-text-color: var(\n --oscd-shell-editor-plugins-panel-flyout-header-text-color,\n var(--md-sys-color-secondary)\n );\n\n /* Main editor container */\n --editor-background-color: var(\n --oscd-shell-editor-background-color,\n var(--md-sys-color-surface)\n );\n --editor-padding: var(--oscd-shell-editor-padding, 8px);\n\n /* Landing page */\n --landing-background-color: var(\n --oscd-shell-landing-background-color,\n var(--md-sys-color-surface)\n );\n --landing-heading-color: var(\n --oscd-shell-landing-heading-color,\n var(--md-sys-color-on-surface)\n );\n --landing-heading-font-family: var(\n --oscd-shell-landing-heading-font-family,\n var(--md-ref-typeface-plain)\n );\n --landing-heading-size: var(--oscd-shell-landing-heading-size, 50px);\n --landing-heading-style: var(--oscd-shell-landing-heading-style, normal);\n --landing-heading-weight: var(--oscd-shell-landing-heading-weight, 600);\n --landing-heading-line-height: var(\n --oscd-shell-landing-heading-line-height,\n normal\n );\n\n --landing-subheading-color: var(\n --oscd-shell-landing-subheading-color,\n var(--md-sys-color-on-surface)\n );\n --landing-subheading-font-family: var(\n --oscd-shell-landing-subheading-font-family,\n var(--md-ref-typeface-plain)\n );\n --landing-subheading-size: var(\n --oscd-shell-landing-subheading-size,\n 16.909px\n );\n --landing-subheading-style: var(\n --oscd-shell-landing-subheading-style,\n normal\n );\n --landing-subheading-weight: var(\n --oscd-shell-landing-subheading-weight,\n 400\n );\n --landing-subheading-line-height: var(\n --oscd-shell-landing-subheading-line-height,\n 65.194px\n );\n --landing-grid-width: var(--oscd-shell-landing-grid-width, 60%);\n --landing-grid-gap: var(--oscd-shell-landing-grid-gap, 95px);\n --landing-card-width: var(--oscd-shell-landing-card-width, 240px);\n --landing-card-height: var(--oscd-shell-landing-card-height, 180px);\n --landing-card-background: var(\n --oscd-shell-landing-card-background,\n var(--md-sys-color-secondary)\n );\n --landing-card-text-color: var(\n --oscd-shell-landing-card-text-color,\n var(--md-sys-color-on-secondary)\n );\n --landing-card-radius: var(--oscd-shell-landing-card-radius, 2px);\n --landing-card-icon-size: var(--oscd-shell-landing-card-icon-size, 54px);\n --landing-card-corner-accent: var(\n --oscd-shell-landing-card-corner-accent,\n transparent\n );\n }\n`;\n"]}
|
package/dist/oscd-shell.d.ts
CHANGED
|
@@ -1,39 +1,49 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import { OscdFilledIconButton } from '@omicronenergy/oscd-ui/iconbutton/OscdFilledIconButton.js';
|
|
3
|
-
import { XMLEditor } from '@
|
|
3
|
+
import { XMLEditor } from '@openscd/oscd-editor';
|
|
4
4
|
import { EditEventV2, OpenEvent } from '@openscd/oscd-api';
|
|
5
|
-
import { LocaleTag
|
|
5
|
+
import { LocaleTag } from './localization.js';
|
|
6
6
|
import { EditorPluginsPanel } from './side-panel/editor-plugins-panel.js';
|
|
7
7
|
import { PluginsMenu } from './menus/plugins-menu.js';
|
|
8
8
|
import { LandingPage } from './landing-page/landing-page.js';
|
|
9
9
|
import { RenameEvent, CloseEvent } from './foundation/events.js';
|
|
10
10
|
import { FilesMenu } from './menus/files-menu.js';
|
|
11
11
|
import { OscdAppBar } from '@omicronenergy/oscd-ui/app-bar/OscdAppBar.js';
|
|
12
|
+
import { OscdDivider } from '@omicronenergy/oscd-ui/divider/OscdDivider.js';
|
|
12
13
|
import { OscdIcon } from '@omicronenergy/oscd-ui/icon/OscdIcon.js';
|
|
13
|
-
export
|
|
14
|
+
export interface PluginBase {
|
|
14
15
|
name: string;
|
|
15
|
-
translations?:
|
|
16
|
-
tagName: string;
|
|
16
|
+
translations?: Record<string, string>;
|
|
17
17
|
icon: string;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export type SourcedPluginEntry = {
|
|
21
|
-
name: string;
|
|
22
|
-
translations?: Translations;
|
|
18
|
+
}
|
|
19
|
+
export interface SourcedPluginEntry extends PluginBase {
|
|
23
20
|
src: string;
|
|
24
|
-
icon: string;
|
|
25
21
|
requireDoc?: boolean;
|
|
26
|
-
}
|
|
27
|
-
export
|
|
28
|
-
|
|
29
|
-
|
|
22
|
+
}
|
|
23
|
+
export interface PluginEntry extends PluginBase {
|
|
24
|
+
tagName: string;
|
|
25
|
+
requireDoc?: boolean;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The unvalidated plugin shape accepted at the `plugins` setter boundary.
|
|
29
|
+
* Fields are optional and either `tagName` or `src` may be present; the
|
|
30
|
+
* concrete kind is resolved and validated later by `loadSourcedPlugins`.
|
|
31
|
+
*/
|
|
32
|
+
export type InputPluginEntry = Partial<PluginEntry & SourcedPluginEntry>;
|
|
33
|
+
export interface PluginGroup<P extends Partial<PluginBase> = PluginEntry> extends PluginBase {
|
|
34
|
+
plugins: P[];
|
|
35
|
+
}
|
|
36
|
+
export interface PluginSet<P extends Partial<PluginBase> = PluginEntry> {
|
|
37
|
+
menu: (P | PluginGroup<P>)[];
|
|
38
|
+
editor: (P | PluginGroup<P>)[];
|
|
30
39
|
background: P[];
|
|
31
|
-
}
|
|
40
|
+
}
|
|
32
41
|
declare const OscdShell_base: typeof LitElement & import("@open-wc/scoped-elements/lit-element.js").ScopedElementsHostConstructor;
|
|
33
42
|
export declare class OscdShell extends OscdShell_base {
|
|
34
43
|
static scopedElements: {
|
|
35
44
|
'oscd-app-bar': typeof OscdAppBar;
|
|
36
45
|
'oscd-filled-icon-button': typeof OscdFilledIconButton;
|
|
46
|
+
'oscd-divider': typeof OscdDivider;
|
|
37
47
|
'oscd-icon': typeof OscdIcon;
|
|
38
48
|
'files-menu': typeof FilesMenu;
|
|
39
49
|
'plugins-menu': typeof PluginsMenu;
|
|
@@ -53,11 +63,10 @@ export declare class OscdShell extends OscdShell_base {
|
|
|
53
63
|
set locale(tag: LocaleTag);
|
|
54
64
|
_plugins: PluginSet;
|
|
55
65
|
get plugins(): PluginSet;
|
|
56
|
-
set plugins(plugins: Partial<PluginSet<
|
|
66
|
+
set plugins(plugins: Partial<PluginSet<InputPluginEntry>>);
|
|
57
67
|
get canRedo(): boolean;
|
|
58
68
|
get canUndo(): boolean;
|
|
59
|
-
|
|
60
|
-
private editorIndex;
|
|
69
|
+
selectedEditor?: PluginEntry;
|
|
61
70
|
get doc(): XMLDocument;
|
|
62
71
|
/** The name of the [[`doc`]] currently being edited */
|
|
63
72
|
docName: string;
|
|
@@ -73,6 +82,7 @@ export declare class OscdShell extends OscdShell_base {
|
|
|
73
82
|
editorPluginsPanel: EditorPluginsPanel;
|
|
74
83
|
private _landingPageNodes?;
|
|
75
84
|
constructor();
|
|
85
|
+
willUpdate(changedProperties: Map<PropertyKey, unknown>): void;
|
|
76
86
|
connectedCallback(): void;
|
|
77
87
|
disconnectedCallback(): void;
|
|
78
88
|
handleOpenDoc: ({ detail: { docName, doc } }: OpenEvent) => void;
|
|
@@ -83,15 +93,14 @@ export declare class OscdShell extends OscdShell_base {
|
|
|
83
93
|
handleRedo: () => void;
|
|
84
94
|
private handleKeyPress;
|
|
85
95
|
handleOpenPluginMenu: () => void;
|
|
96
|
+
handlePluginMenuSelect(customEvent: CustomEvent): void;
|
|
86
97
|
/** Undo the last `n` [[Edit]]s committed */
|
|
87
98
|
undo: (n?: number) => void;
|
|
88
99
|
/** Redo the last `n` [[Edit]]s that have been undone */
|
|
89
100
|
redo: (n?: number) => void;
|
|
90
101
|
private hotkeys;
|
|
91
102
|
isEditable(docName: string): boolean;
|
|
92
|
-
|
|
93
|
-
renderPlugin(tagName: string): import("lit-html").TemplateResult;
|
|
94
|
-
onMenuPluginSelect(customEvent: CustomEvent): void;
|
|
103
|
+
renderPlugin(plugin: PluginEntry): import("lit-html").TemplateResult;
|
|
95
104
|
renderOffScreenPlugins(): import("lit-html").TemplateResult<1>;
|
|
96
105
|
renderDefaultLandingPage(): import("lit-html").TemplateResult<1>;
|
|
97
106
|
render(): import("lit-html").TemplateResult<1>;
|