@omicronenergy/oscd-shell 0.0.12 → 0.0.14
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 +46 -5
- 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 +134 -62
- package/dist/oscd-shell-design-tokens.js.map +1 -1
- package/dist/oscd-shell.d.ts +31 -22
- package/dist/oscd-shell.js +136 -72
- 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 +823 -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 +36 -37
|
@@ -10,18 +10,27 @@ 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);
|
|
27
36
|
--oscd-text-font: var(--oscd-theme-text-font, 'Roboto');
|
|
@@ -47,8 +56,14 @@ export const oscdShellDesignTokens = css `
|
|
|
47
56
|
--md-sys-color-error: var(--oscd-error);
|
|
48
57
|
--md-sys-color-on-error: var(--oscd-base3);
|
|
49
58
|
--md-icon-button-disabled-icon-color: var(--oscd-base3);
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
|
|
60
|
+
/* MD3 has no single generic "system font" token (unlike color); its
|
|
61
|
+
* closest reference-tier equivalent is --md-ref-typeface-plain. Icon
|
|
62
|
+
* fonts (--oscd-icon-font) and monospace fonts (--oscd-text-font-mono)
|
|
63
|
+
* have no MD3 system-token equivalent at all, so they are referenced
|
|
64
|
+
* directly where needed instead of through an --md-* mapping.
|
|
65
|
+
*/
|
|
66
|
+
--md-ref-typeface-plain: var(--oscd-text-font);
|
|
52
67
|
|
|
53
68
|
/* MDC Theme Colors
|
|
54
69
|
* Needed for supporting any pluggins still using the depricated MWC Components
|
|
@@ -86,31 +101,27 @@ export const oscdShellDesignTokens = css `
|
|
|
86
101
|
--mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);
|
|
87
102
|
}
|
|
88
103
|
|
|
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
104
|
/*
|
|
103
105
|
* Public token -> internal token mappings
|
|
104
106
|
*
|
|
105
107
|
* Example pattern:
|
|
106
108
|
* --internal-variable-name: var(--oscd-shell-public-token, <default>);
|
|
107
109
|
*/
|
|
108
|
-
|
|
110
|
+
:host {
|
|
111
|
+
/* Shell root */
|
|
112
|
+
--shell-background-color: var(
|
|
113
|
+
--oscd-shell-background-color,
|
|
114
|
+
var(--md-sys-color-surface)
|
|
115
|
+
);
|
|
116
|
+
|
|
109
117
|
/* App bar */
|
|
110
|
-
--app-bar-color: var(
|
|
118
|
+
--app-bar-color: var(
|
|
119
|
+
--oscd-shell-app-bar-color,
|
|
120
|
+
var(--md-sys-color-on-primary)
|
|
121
|
+
);
|
|
111
122
|
--app-bar-background-color: var(
|
|
112
123
|
--oscd-shell-app-bar-background-color,
|
|
113
|
-
var(--
|
|
124
|
+
var(--md-sys-color-primary)
|
|
114
125
|
);
|
|
115
126
|
--app-bar-height: var(--oscd-shell-app-bar-height, 54px);
|
|
116
127
|
--app-bar-small-height: var(--oscd-shell-app-bar-small-height, 48px);
|
|
@@ -120,9 +131,11 @@ export const oscdShellDesignTokens = css `
|
|
|
120
131
|
);
|
|
121
132
|
--app-bar-app-icon-height: var(--oscd-shell-app-bar-icon-height, 34.4px);
|
|
122
133
|
--app-bar-app-icon-width: var(--oscd-shell-app-bar-icon-width, auto);
|
|
134
|
+
--app-bar-logo-gap: var(--oscd-shell-app-bar-logo-gap, 16px);
|
|
135
|
+
--app-bar-title-menu-gap: var(--oscd-shell-app-bar-title-menu-gap, 4px);
|
|
123
136
|
--app-bar-title-text-font-family: var(
|
|
124
137
|
--oscd-shell-app-bar-title-font-family,
|
|
125
|
-
var(--
|
|
138
|
+
var(--md-ref-typeface-plain)
|
|
126
139
|
);
|
|
127
140
|
--app-bar-title-text-color: var(
|
|
128
141
|
--oscd-shell-app-bar-title-color,
|
|
@@ -148,6 +161,30 @@ export const oscdShellDesignTokens = css `
|
|
|
148
161
|
--oscd-shell-app-bar-title-letter-spacing,
|
|
149
162
|
inherit
|
|
150
163
|
);
|
|
164
|
+
--app-bar-current-editor-font-family: var(
|
|
165
|
+
--oscd-shell-app-bar-current-editor-font-family,
|
|
166
|
+
var(--md-ref-typeface-plain)
|
|
167
|
+
);
|
|
168
|
+
--app-bar-current-editor-font-size: var(
|
|
169
|
+
--oscd-shell-app-bar-current-editor-font-size,
|
|
170
|
+
16px
|
|
171
|
+
);
|
|
172
|
+
--app-bar-current-editor-font-weight: var(
|
|
173
|
+
--oscd-shell-app-bar-current-editor-font-weight,
|
|
174
|
+
500
|
|
175
|
+
);
|
|
176
|
+
--app-bar-current-editor-font-style: var(
|
|
177
|
+
--oscd-shell-app-bar-current-editor-font-style,
|
|
178
|
+
normal
|
|
179
|
+
);
|
|
180
|
+
--app-bar-current-editor-line-height: var(
|
|
181
|
+
--oscd-shell-app-bar-current-editor-line-height,
|
|
182
|
+
normal
|
|
183
|
+
);
|
|
184
|
+
--app-bar-current-editor-color: var(
|
|
185
|
+
--oscd-shell-app-bar-current-editor-color,
|
|
186
|
+
var(--app-bar-color)
|
|
187
|
+
);
|
|
151
188
|
--app-bar-action-icon-size: var(
|
|
152
189
|
--oscd-shell-app-bar-action-icon-size,
|
|
153
190
|
24px
|
|
@@ -156,6 +193,22 @@ export const oscdShellDesignTokens = css `
|
|
|
156
193
|
--oscd-shell-app-bar-action-icon-color,
|
|
157
194
|
var(--md-sys-color-on-primary)
|
|
158
195
|
);
|
|
196
|
+
--app-bar-action-icon-disabled-color: var(
|
|
197
|
+
--oscd-shell-app-bar-action-icon-disabled-color,
|
|
198
|
+
var(--md-sys-color-on-primary)
|
|
199
|
+
);
|
|
200
|
+
--app-bar-action-icon-disabled-container-opacity: var(
|
|
201
|
+
--oscd-shell-app-bar-action-icon-disabled-container-opacity,
|
|
202
|
+
0
|
|
203
|
+
);
|
|
204
|
+
--app-bar-separator-color: var(
|
|
205
|
+
--oscd-shell-app-bar-separator-color,
|
|
206
|
+
currentColor
|
|
207
|
+
);
|
|
208
|
+
--app-bar-separator-opacity: var(
|
|
209
|
+
--oscd-shell-app-bar-separator-opacity,
|
|
210
|
+
0.38
|
|
211
|
+
);
|
|
159
212
|
|
|
160
213
|
/* Bridge to oscd-ui app bar tokens */
|
|
161
214
|
--oscd-app-bar-color: var(--app-bar-color);
|
|
@@ -169,93 +222,112 @@ export const oscdShellDesignTokens = css `
|
|
|
169
222
|
/* Files menu */
|
|
170
223
|
--file-menu-text-font-family: var(
|
|
171
224
|
--oscd-shell-file-menu-text-font-family,
|
|
172
|
-
var(--
|
|
225
|
+
var(--md-ref-typeface-plain)
|
|
173
226
|
);
|
|
174
|
-
--file-menu-text-size: var(--oscd-shell-file-menu-text-size,
|
|
227
|
+
--file-menu-text-size: var(--oscd-shell-file-menu-text-size, 16px);
|
|
175
228
|
--file-menu-text-weight: var(--oscd-shell-file-menu-text-weight, 500);
|
|
176
229
|
--file-menu-text-color: var(
|
|
177
230
|
--oscd-shell-file-menu-text-color,
|
|
178
|
-
var(--
|
|
231
|
+
var(--md-sys-color-on-primary)
|
|
179
232
|
);
|
|
180
233
|
|
|
181
234
|
/* Plugins menu */
|
|
235
|
+
--plugins-menu-button-size: var(
|
|
236
|
+
--oscd-shell-plugins-menu-button-size,
|
|
237
|
+
24px
|
|
238
|
+
);
|
|
239
|
+
--plugins-menu-button-color: var(
|
|
240
|
+
--oscd-shell-plugins-menu-button-color,
|
|
241
|
+
var(--md-sys-color-on-primary)
|
|
242
|
+
);
|
|
182
243
|
--plugins-menu-min-width: var(--oscd-shell-plugins-menu-min-width, 350px);
|
|
183
244
|
--plugins-menu-padding: var(--oscd-shell-plugins-menu-padding, 12px);
|
|
184
245
|
--plugins-menu-container-color: var(
|
|
185
246
|
--oscd-shell-plugins-menu-container-color,
|
|
186
|
-
var(--
|
|
247
|
+
var(--md-sys-color-surface)
|
|
187
248
|
);
|
|
188
249
|
--plugins-menu-item-label-color: var(
|
|
189
250
|
--oscd-shell-plugins-menu-item-label-color,
|
|
190
|
-
var(--
|
|
251
|
+
var(--md-sys-color-on-surface)
|
|
191
252
|
);
|
|
192
253
|
--plugins-menu-item-leading-icon-color: var(
|
|
193
254
|
--oscd-shell-plugins-menu-item-leading-icon-color,
|
|
194
|
-
var(--
|
|
255
|
+
var(--md-sys-color-on-surface)
|
|
195
256
|
);
|
|
196
257
|
--plugins-menu-item-selected-container-color: var(
|
|
197
258
|
--oscd-shell-plugins-menu-item-selected-container-color,
|
|
198
|
-
var(--
|
|
259
|
+
var(--md-sys-color-secondary-container)
|
|
199
260
|
);
|
|
200
261
|
--plugins-menu-item-selected-label-color: var(
|
|
201
262
|
--oscd-shell-plugins-menu-item-selected-label-color,
|
|
202
|
-
var(--
|
|
263
|
+
var(--md-sys-color-on-surface)
|
|
203
264
|
);
|
|
204
265
|
|
|
205
266
|
/* Editor plugins panel */
|
|
206
267
|
--editor-plugins-panel-width: var(
|
|
207
268
|
--oscd-shell-editor-plugins-panel-width,
|
|
208
|
-
|
|
269
|
+
308px
|
|
209
270
|
);
|
|
210
271
|
--editor-plugins-panel-collapsed-width: var(
|
|
211
|
-
--oscd-shell-editor-plugins-panel-width,
|
|
212
|
-
|
|
272
|
+
--oscd-shell-editor-plugins-panel-collapsed-width,
|
|
273
|
+
76px
|
|
213
274
|
);
|
|
214
275
|
--editor-plugins-panel-padding-top: var(
|
|
215
276
|
--oscd-shell-editor-plugins-panel-padding-top,
|
|
216
277
|
20px
|
|
217
278
|
);
|
|
218
|
-
--editor-plugins-panel-item-leading-space: var(
|
|
219
|
-
--oscd-shell-editor-plugins-panel-item-leading-space,
|
|
220
|
-
22px
|
|
221
|
-
);
|
|
222
|
-
--editor-plugins-panel-item-trailing-space: var(
|
|
223
|
-
--oscd-shell-editor-plugins-panel-item-trailing-space,
|
|
224
|
-
10px
|
|
225
|
-
);
|
|
226
279
|
--editor-plugins-panel-item-icon-size: var(
|
|
227
280
|
--oscd-shell-editor-plugins-panel-item-icon-size,
|
|
228
281
|
28px
|
|
229
282
|
);
|
|
283
|
+
--editor-plugins-panel-background-color: var(
|
|
284
|
+
--oscd-shell-editor-plugins-panel-background-color,
|
|
285
|
+
var(--md-sys-color-surface)
|
|
286
|
+
);
|
|
230
287
|
--editor-plugins-panel-item-text-color: var(
|
|
231
288
|
--oscd-shell-editor-plugins-panel-item-text-color,
|
|
232
|
-
var(--
|
|
289
|
+
var(--md-sys-color-on-surface)
|
|
233
290
|
);
|
|
234
291
|
--editor-plugins-panel-item-icon-color: var(
|
|
235
292
|
--oscd-shell-editor-plugins-panel-item-icon-color,
|
|
236
|
-
var(--
|
|
293
|
+
var(--md-sys-color-on-surface)
|
|
237
294
|
);
|
|
238
295
|
--editor-plugins-panel-item-active-bg: var(
|
|
239
296
|
--oscd-shell-editor-plugins-panel-item-active-bg,
|
|
240
|
-
var(--
|
|
297
|
+
var(--md-sys-color-primary)
|
|
298
|
+
);
|
|
299
|
+
--editor-plugins-panel-item-active-color: var(
|
|
300
|
+
--oscd-shell-editor-plugins-panel-item-active-color,
|
|
301
|
+
var(--md-sys-color-on-primary)
|
|
302
|
+
);
|
|
303
|
+
--editor-plugins-panel-divider-color: var(
|
|
304
|
+
--oscd-shell-editor-plugins-panel-divider-color,
|
|
305
|
+
#d0d5dc40
|
|
306
|
+
);
|
|
307
|
+
--editor-plugins-panel-flyout-header-text-color: var(
|
|
308
|
+
--oscd-shell-editor-plugins-panel-flyout-header-text-color,
|
|
309
|
+
var(--md-sys-color-secondary)
|
|
241
310
|
);
|
|
242
|
-
--side-panel-width: var(--editor-plugins-panel-width);
|
|
243
311
|
|
|
244
312
|
/* Main editor container */
|
|
245
313
|
--editor-background-color: var(
|
|
246
314
|
--oscd-shell-editor-background-color,
|
|
247
|
-
var(--
|
|
315
|
+
var(--md-sys-color-surface)
|
|
248
316
|
);
|
|
249
317
|
--editor-padding: var(--oscd-shell-editor-padding, 8px);
|
|
250
318
|
|
|
251
319
|
/* Landing page */
|
|
320
|
+
--landing-background-color: var(
|
|
321
|
+
--oscd-shell-landing-background-color,
|
|
322
|
+
var(--md-sys-color-surface)
|
|
323
|
+
);
|
|
252
324
|
--landing-heading-color: var(
|
|
253
325
|
--oscd-shell-landing-heading-color,
|
|
254
|
-
var(--
|
|
326
|
+
var(--md-sys-color-on-surface)
|
|
255
327
|
);
|
|
256
328
|
--landing-heading-font-family: var(
|
|
257
329
|
--oscd-shell-landing-heading-font-family,
|
|
258
|
-
var(--
|
|
330
|
+
var(--md-ref-typeface-plain)
|
|
259
331
|
);
|
|
260
332
|
--landing-heading-size: var(--oscd-shell-landing-heading-size, 50px);
|
|
261
333
|
--landing-heading-style: var(--oscd-shell-landing-heading-style, normal);
|
|
@@ -267,11 +339,11 @@ export const oscdShellDesignTokens = css `
|
|
|
267
339
|
|
|
268
340
|
--landing-subheading-color: var(
|
|
269
341
|
--oscd-shell-landing-subheading-color,
|
|
270
|
-
var(--
|
|
342
|
+
var(--md-sys-color-on-surface)
|
|
271
343
|
);
|
|
272
344
|
--landing-subheading-font-family: var(
|
|
273
345
|
--oscd-shell-landing-subheading-font-family,
|
|
274
|
-
var(--
|
|
346
|
+
var(--md-ref-typeface-plain)
|
|
275
347
|
);
|
|
276
348
|
--landing-subheading-size: var(
|
|
277
349
|
--oscd-shell-landing-subheading-size,
|
|
@@ -295,17 +367,17 @@ export const oscdShellDesignTokens = css `
|
|
|
295
367
|
--landing-card-height: var(--oscd-shell-landing-card-height, 180px);
|
|
296
368
|
--landing-card-background: var(
|
|
297
369
|
--oscd-shell-landing-card-background,
|
|
298
|
-
var(--
|
|
370
|
+
var(--md-sys-color-secondary)
|
|
299
371
|
);
|
|
300
372
|
--landing-card-text-color: var(
|
|
301
373
|
--oscd-shell-landing-card-text-color,
|
|
302
|
-
var(--
|
|
374
|
+
var(--md-sys-color-on-secondary)
|
|
303
375
|
);
|
|
304
376
|
--landing-card-radius: var(--oscd-shell-landing-card-radius, 2px);
|
|
305
377
|
--landing-card-icon-size: var(--oscd-shell-landing-card-icon-size, 54px);
|
|
306
378
|
--landing-card-corner-accent: var(
|
|
307
379
|
--oscd-shell-landing-card-corner-accent,
|
|
308
|
-
|
|
380
|
+
transparent
|
|
309
381
|
);
|
|
310
382
|
}
|
|
311
383
|
`;
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2SvC,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(--md-sys-color-on-primary)\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-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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmXvC,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-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 /* 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>;
|