@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.
Files changed (36) hide show
  1. package/dist/landing-page/landing-page.js +3 -2
  2. package/dist/landing-page/landing-page.js.map +1 -1
  3. package/dist/landing-page/landing-page.spec.js +4 -2
  4. package/dist/landing-page/landing-page.spec.js.map +1 -1
  5. package/dist/locales/de.d.ts +8 -0
  6. package/dist/locales/de.js +9 -0
  7. package/dist/locales/de.js.map +1 -1
  8. package/dist/menus/files-menu.js +4 -5
  9. package/dist/menus/files-menu.js.map +1 -1
  10. package/dist/menus/plugins-menu.d.ts +6 -3
  11. package/dist/menus/plugins-menu.js +46 -5
  12. package/dist/menus/plugins-menu.js.map +1 -1
  13. package/dist/menus/plugins-menu.spec.js +1 -0
  14. package/dist/menus/plugins-menu.spec.js.map +1 -1
  15. package/dist/oscd-shell-design-tokens.js +134 -62
  16. package/dist/oscd-shell-design-tokens.js.map +1 -1
  17. package/dist/oscd-shell.d.ts +31 -22
  18. package/dist/oscd-shell.js +136 -72
  19. package/dist/oscd-shell.js.map +1 -1
  20. package/dist/side-panel/build-tree-nodes.spec.d.ts +1 -0
  21. package/dist/side-panel/build-tree-nodes.spec.js +50 -0
  22. package/dist/side-panel/build-tree-nodes.spec.js.map +1 -0
  23. package/dist/side-panel/editor-plugins-panel.d.ts +79 -7
  24. package/dist/side-panel/editor-plugins-panel.js +823 -92
  25. package/dist/side-panel/editor-plugins-panel.js.map +1 -1
  26. package/dist/side-panel/editor-plugins-panel.spec.js +469 -24
  27. package/dist/side-panel/editor-plugins-panel.spec.js.map +1 -1
  28. package/dist/utils/plugin-utils.d.ts +29 -5
  29. package/dist/utils/plugin-utils.js +73 -14
  30. package/dist/utils/plugin-utils.js.map +1 -1
  31. package/dist/utils/plugin-utils.spec.js +113 -4
  32. package/dist/utils/plugin-utils.spec.js.map +1 -1
  33. package/dist/utils/testing/plugin-helpers.d.ts +7 -3
  34. package/dist/utils/testing/plugin-helpers.js +21 -9
  35. package/dist/utils/testing/plugin-helpers.js.map +1 -1
  36. 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
- --oscd-primary: var(--oscd-theme-primary, #0b335b);
16
- --oscd-secondary: var(--oscd-theme-secondary, #2485e5);
17
- --oscd-base03: var(--oscd-theme-base03, #121417);
18
- --oscd-base02: var(--oscd-theme-base02, #1a1e23);
19
- --oscd-base01: var(--oscd-theme-base01, #3d4651);
20
- --oscd-base00: var(--oscd-theme-base00, #46505d);
21
- --oscd-base0: var(--oscd-theme-base0, #8b97a7);
22
- --oscd-base1: var(--oscd-theme-base1, #96a1b0);
23
- --oscd-base2: var(--oscd-theme-base2, #f3f5f6);
24
- --oscd-base3: var(--oscd-theme-base3, white);
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
- /* --md-menu-item-selected-label-text-color: var(--oscd-base01); */
51
- --md-icon-button-disabled-icon-color: var(--oscd-base3);
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(--oscd-shell-app-bar-color, var(--oscd-base3));
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(--oscd-primary)
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(--oscd-text-font)
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(--oscd-text-font)
225
+ var(--md-ref-typeface-plain)
173
226
  );
174
- --file-menu-text-size: var(--oscd-shell-file-menu-text-size, 18px);
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(--oscd-base3)
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(--oscd-base3)
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(--oscd-base00)
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(--oscd-base00)
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(--oscd-base2)
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(--oscd-base00)
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
- 280px
269
+ 308px
209
270
  );
210
271
  --editor-plugins-panel-collapsed-width: var(
211
- --oscd-shell-editor-plugins-panel-width,
212
- 280px
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(--oscd-base3)
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(--oscd-base3)
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(--oscd-primary)
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(--oscd-base3)
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(--oscd-base3)
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(--oscd-text-font)
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(--oscd-base3)
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(--oscd-text-font)
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(--oscd-primary)
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(--oscd-base3)
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
- var(--omicron-yellow)
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"]}
@@ -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 '@omicronenergy/oscd-editor';
3
+ import { XMLEditor } from '@openscd/oscd-editor';
4
4
  import { EditEventV2, OpenEvent } from '@openscd/oscd-api';
5
- import { LocaleTag, Translations } from './localization.js';
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 type PluginEntry = {
14
+ export interface PluginBase {
14
15
  name: string;
15
- translations?: Translations;
16
- tagName: string;
16
+ translations?: Record<string, string>;
17
17
  icon: string;
18
- requireDoc?: boolean;
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 type PluginSet<P = PluginEntry> = {
28
- menu: P[];
29
- editor: P[];
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<Partial<PluginEntry | SourcedPluginEntry>>>);
66
+ set plugins(plugins: Partial<PluginSet<InputPluginEntry>>);
57
67
  get canRedo(): boolean;
58
68
  get canUndo(): boolean;
59
- get editor(): string;
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
- onDocsChanged(): void;
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>;