@omicronenergy/oscd-shell 0.0.10 → 0.0.12
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 +23 -23
- package/dist/landing-page/landing-page.js.map +1 -1
- package/dist/menus/files-menu.js +17 -6
- package/dist/menus/files-menu.js.map +1 -1
- package/dist/menus/plugins-menu.js +22 -9
- package/dist/menus/plugins-menu.js.map +1 -1
- package/dist/oscd-shell-design-tokens.d.ts +11 -0
- package/dist/oscd-shell-design-tokens.js +312 -0
- package/dist/oscd-shell-design-tokens.js.map +1 -0
- package/dist/oscd-shell.d.ts +1 -1
- package/dist/oscd-shell.js +70 -88
- package/dist/oscd-shell.js.map +1 -1
- package/dist/side-panel/editor-plugins-panel.js +33 -17
- package/dist/side-panel/editor-plugins-panel.js.map +1 -1
- package/package.json +2 -1
- package/dist/colors.d.ts +0 -1
- package/dist/colors.js +0 -60
- package/dist/colors.js.map +0 -1
- package/dist/theming.d.ts +0 -1
- package/dist/theming.js +0 -76
- package/dist/theming.js.map +0 -1
package/dist/oscd-shell.js
CHANGED
|
@@ -8,11 +8,11 @@ import { OscdFilledIconButton } from '@omicronenergy/oscd-ui/iconbutton/OscdFill
|
|
|
8
8
|
import { XMLEditor } from '@omicronenergy/oscd-editor';
|
|
9
9
|
import { loadSourcedPlugins } from './utils/plugin-utils.js';
|
|
10
10
|
import { getLocale, setLocale, } from './localization.js';
|
|
11
|
-
import { theming } from './theming.js';
|
|
12
11
|
import { EditorPluginsPanel } from './side-panel/editor-plugins-panel.js';
|
|
13
12
|
import { PluginsMenu } from './menus/plugins-menu.js';
|
|
14
13
|
import { LandingPage } from './landing-page/landing-page.js';
|
|
15
14
|
import { FilesMenu } from './menus/files-menu.js';
|
|
15
|
+
import { oscdShellDesignTokens } from './oscd-shell-design-tokens.js';
|
|
16
16
|
import { OscdAppBar } from '@omicronenergy/oscd-ui/app-bar/OscdAppBar.js';
|
|
17
17
|
import { OscdIcon } from '@omicronenergy/oscd-ui/icon/OscdIcon.js';
|
|
18
18
|
let OscdShell = class OscdShell extends ScopedElementsMixin(LitElement) {
|
|
@@ -348,101 +348,83 @@ OscdShell.scopedElements = {
|
|
|
348
348
|
'editor-plugins-panel': EditorPluginsPanel,
|
|
349
349
|
'landing-page': LandingPage,
|
|
350
350
|
};
|
|
351
|
-
OscdShell.styles =
|
|
352
|
-
|
|
351
|
+
OscdShell.styles = [
|
|
352
|
+
oscdShellDesignTokens,
|
|
353
|
+
css `
|
|
354
|
+
:host {
|
|
355
|
+
height: 100%;
|
|
356
|
+
display: grid;
|
|
357
|
+
grid-template-rows: min-content 1fr;
|
|
358
|
+
grid-template-columns: 1fr;
|
|
359
|
+
grid-template-areas:
|
|
360
|
+
'header'
|
|
361
|
+
'main';
|
|
362
|
+
}
|
|
353
363
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
364
|
+
oscd-app-bar {
|
|
365
|
+
grid-area: header;
|
|
366
|
+
box-shadow: var(--md-sys-elevation-level-2);
|
|
367
|
+
z-index: 10;
|
|
368
|
+
}
|
|
358
369
|
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
370
|
+
oscd-app-bar * {
|
|
371
|
+
--md-filled-icon-button-disabled-container-opacity: var(
|
|
372
|
+
--app-bar-action-icon-disabled-container-opacity,
|
|
373
|
+
0
|
|
374
|
+
);
|
|
375
|
+
--md-filled-icon-button-disabled-icon-color: var(
|
|
376
|
+
--app-bar-action-icon-disabled-color,
|
|
377
|
+
var(--md-sys-color-on-primary)
|
|
378
|
+
);
|
|
379
|
+
--md-filled-icon-button-icon-size: var(--app-bar-action-icon-size);
|
|
380
|
+
--md-filled-icon-button-icon-color: var(--app-bar-action-icon-color);
|
|
381
|
+
}
|
|
368
382
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
383
|
+
main {
|
|
384
|
+
grid-area: main;
|
|
385
|
+
display: grid;
|
|
386
|
+
grid-template-columns: var(--side-panel-width) 1fr;
|
|
387
|
+
grid-template-areas: 'sidebar editor';
|
|
388
|
+
overflow: hidden;
|
|
389
|
+
}
|
|
374
390
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
grid-template-areas: 'sidebar editor';
|
|
380
|
-
overflow: hidden;
|
|
381
|
-
}
|
|
391
|
+
/* Side panel collapsed state */
|
|
392
|
+
main.sidebar-collapsed {
|
|
393
|
+
grid-template-columns: 0 1fr;
|
|
394
|
+
}
|
|
382
395
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
396
|
+
section.editors-side-panel-section {
|
|
397
|
+
grid-area: sidebar;
|
|
398
|
+
overflow-y: auto;
|
|
399
|
+
overflow-x: hidden;
|
|
400
|
+
transition: transform 0.3s ease-in-out;
|
|
401
|
+
}
|
|
387
402
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
transition: transform 0.3s ease-in-out;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
/* Hide side panel when collapsed */
|
|
396
|
-
main.sidebar-collapsed section.editors-side-panel-section {
|
|
397
|
-
transform: translateX(-100%);
|
|
398
|
-
}
|
|
403
|
+
/* Hide side panel when collapsed */
|
|
404
|
+
main.sidebar-collapsed section.editors-side-panel-section {
|
|
405
|
+
transform: translateX(-100%);
|
|
406
|
+
}
|
|
399
407
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
408
|
+
section.editor-container {
|
|
409
|
+
grid-area: editor;
|
|
410
|
+
background-color: var(--editor-background-color);
|
|
411
|
+
padding: var(--editor-padding);
|
|
412
|
+
overflow: auto;
|
|
413
|
+
position: relative;
|
|
414
|
+
}
|
|
407
415
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
--md-list-item-supporting-text-color: var(--md-sys-color-on-surface);
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
oscd-app-bar * {
|
|
424
|
-
--md-filled-icon-button-disabled-container-opacity: 0;
|
|
425
|
-
--md-filled-icon-button-disabled-icon-color: var(
|
|
426
|
-
--md-sys-color-on-primary
|
|
427
|
-
);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
.edit-dialog-remove-button {
|
|
431
|
-
--md-text-button-icon-color: var(--oscd-error);
|
|
432
|
-
--md-text-button-label-text-color: var(--oscd-error);
|
|
433
|
-
--md-text-button-focus-label-text-color: var(--oscd-error);
|
|
434
|
-
--md-text-button-focus-icon-color: var(--oscd-error);
|
|
435
|
-
--md-text-button-hover-label-text-color: var(--oscd-error);
|
|
436
|
-
--md-text-button-hover-state-layer-color: var(--oscd-error);
|
|
437
|
-
--md-text-button-hover-icon-color: var(--oscd-error);
|
|
438
|
-
--md-text-button-pressed-label-text-color: var(--oscd-error);
|
|
439
|
-
--md-text-button-pressed-state-layer-color: var(--oscd-error);
|
|
440
|
-
--md-text-button-pressed-icon-color: var(--oscd-error);
|
|
441
|
-
}
|
|
442
|
-
#title {
|
|
443
|
-
position: relative;
|
|
444
|
-
}
|
|
445
|
-
`;
|
|
416
|
+
.off-screen-plugin-container {
|
|
417
|
+
position: absolute;
|
|
418
|
+
top: 0;
|
|
419
|
+
left: 0;
|
|
420
|
+
width: 0;
|
|
421
|
+
height: 0;
|
|
422
|
+
overflow: hidden;
|
|
423
|
+
margin: 0;
|
|
424
|
+
padding: 0;
|
|
425
|
+
}
|
|
426
|
+
`,
|
|
427
|
+
];
|
|
446
428
|
__decorate([
|
|
447
429
|
property({ type: String })
|
|
448
430
|
], OscdShell.prototype, "appIcon", void 0);
|
package/dist/oscd-shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oscd-shell.js","sourceRoot":"","sources":["../src/oscd-shell.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements/lit-element.js';\nimport { localized, msg } from '@lit/localize';\nimport { html as staticHtml, unsafeStatic } from 'lit/static-html.js';\n\nimport { OscdFilledIconButton } from '@omicronenergy/oscd-ui/iconbutton/OscdFilledIconButton.js';\nimport { XMLEditor } from '@omicronenergy/oscd-editor';\nimport { EditEventV2, OpenEvent } from '@openscd/oscd-api';\n\nimport { loadSourcedPlugins } from './utils/plugin-utils.js';\nimport {\n getLocale,\n LocaleTag,\n setLocale,\n Translations,\n} from './localization.js';\nimport { theming } from './theming.js';\nimport { EditorPluginsPanel } from './side-panel/editor-plugins-panel.js';\nimport { PluginsMenu } from './menus/plugins-menu.js';\nimport { LandingPage } from './landing-page/landing-page.js';\nimport { RenameEvent, CloseEvent } from './foundation/events.js';\nimport { FilesMenu } from './menus/files-menu.js';\nimport { OscdAppBar } from '@omicronenergy/oscd-ui/app-bar/OscdAppBar.js';\nimport { OscdIcon } from '@omicronenergy/oscd-ui/icon/OscdIcon.js';\n\nexport type PluginEntry = {\n name: string;\n translations?: Translations;\n tagName: string;\n icon: string;\n requireDoc?: boolean;\n};\n\nexport type SourcedPluginEntry = {\n name: string;\n translations?: Translations;\n src: string;\n icon: string;\n requireDoc?: boolean;\n};\nexport type PluginSet<P = PluginEntry> = {\n menu: P[];\n editor: P[];\n background: P[];\n};\n\n@localized()\n@customElement('oscd-shell')\nexport class OscdShell extends ScopedElementsMixin(LitElement) {\n static scopedElements = {\n 'oscd-app-bar': OscdAppBar,\n 'oscd-filled-icon-button': OscdFilledIconButton,\n 'oscd-icon': OscdIcon,\n 'files-menu': FilesMenu,\n 'plugins-menu': PluginsMenu,\n 'editor-plugins-panel': EditorPluginsPanel,\n 'landing-page': LandingPage,\n };\n\n /*\n * Properties\n */\n\n /**\n * Url to the app icon displayed in the app bar\n */\n @property({ type: String })\n appIcon: string = '';\n\n @property({ type: String })\n appTitle: string = 'OpenSCD';\n\n @property({ type: String })\n landingPageHeading: string = 'Welcome to OpenSCD';\n\n @property({ type: String })\n landingPageSubHeading: string =\n 'Open Source IEC-61850-6 SCL Editing Platform';\n\n /** The file endings of editable files */\n @property({ type: Array, reflect: true }) editable = [\n 'cid',\n 'icd',\n 'iid',\n 'scd',\n 'sed',\n 'ssd',\n ];\n\n @property({ type: String, reflect: true })\n get locale() {\n return getLocale() as LocaleTag;\n }\n\n set locale(tag: LocaleTag) {\n try {\n if (tag) {\n setLocale(tag);\n }\n } catch {\n // don't change locale if tag is invalid\n }\n }\n\n _plugins: PluginSet = { menu: [], editor: [], background: [] };\n\n @property({ type: Object })\n get plugins(): PluginSet {\n return this._plugins;\n }\n\n set plugins(\n plugins: Partial<PluginSet<Partial<PluginEntry | SourcedPluginEntry>>>,\n ) {\n this._plugins = Object.entries(plugins).reduce(\n (acc, [pluginType, kind]) => {\n const convertedPlugins = loadSourcedPlugins(kind, this.registry!);\n acc[pluginType as keyof PluginSet] = convertedPlugins;\n return acc;\n },\n { menu: [], editor: [], background: [] } as PluginSet,\n );\n }\n\n /*\n * States\n */\n @state()\n get canRedo(): boolean {\n return this.xmlEditor.future.length >= 1;\n }\n\n @state()\n get canUndo(): boolean {\n return this.xmlEditor.past.length >= 1;\n }\n\n @state()\n get editor() {\n return this.plugins.editor[this.editorIndex]?.tagName ?? '';\n }\n\n @state()\n private editorIndex = 0;\n\n @state()\n /** The `XMLDocument` currently being edited */\n get doc(): XMLDocument {\n return this.docs[this.docName];\n }\n\n /** The name of the [[`doc`]] currently being edited */\n @property({ type: String, reflect: true })\n docName = '';\n\n /** The set of `XMLDocument`s currently loaded */\n private _docs: Record<string, XMLDocument> = {};\n\n @state()\n get docs(): Record<string, XMLDocument> {\n return this._docs;\n }\n\n set docs(newDocs: Record<string, XMLDocument>) {\n this._docs = newDocs;\n this.onDocsChanged();\n }\n\n @state()\n docVersion: number = -1;\n\n @state()\n get editableDocs(): string[] {\n return Object.keys(this.docs).filter(name => this.isEditable(name));\n }\n\n @state()\n get last(): number {\n return this.xmlEditor.past.length - 1;\n }\n\n @state()\n xmlEditor: XMLEditor = new XMLEditor();\n\n /*\n * All Queries\n */\n\n @query('plugins-menu')\n pluginsMenu!: PluginsMenu;\n\n @query('editor-plugins-panel')\n editorPluginsPanel!: EditorPluginsPanel;\n\n @queryAssignedNodes({ slot: 'landing-page' })\n private _landingPageNodes?: NodeListOf<HTMLElement>;\n\n /*\n * Constructor & life cycle methods\n */\n constructor() {\n super();\n // Catch all edits (from commits AND events) and trigger an update\n this.xmlEditor.subscribe(() => {\n this.docVersion += 1;\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n document.addEventListener('keydown', this.handleKeyPress);\n this.addEventListener('oscd-open', this.handleOpenDoc);\n this.addEventListener('oscd-rename', this.handleRenameDoc);\n this.addEventListener('oscd-close', this.handleCloseDoc);\n this.addEventListener('oscd-edit-v2', this.handleEditV2);\n this.addEventListener('oscd-undo', this.handleUndo);\n this.addEventListener('oscd-redo', this.handleRedo);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove event listeners\n document.removeEventListener('keydown', this.handleKeyPress);\n this.removeEventListener('oscd-open', this.handleOpenDoc);\n this.removeEventListener('oscd-rename', this.handleRenameDoc);\n this.removeEventListener('oscd-edit-v2', this.handleEditV2);\n this.removeEventListener('oscd-undo', this.handleUndo);\n this.removeEventListener('oscd-redo', this.handleRedo);\n this.removeEventListener('oscd-close', this.handleCloseDoc);\n }\n\n /*\n * Event Handlers\n */\n\n handleOpenDoc = ({ detail: { docName, doc } }: OpenEvent) => {\n this.docs = {\n ...this.docs,\n [docName]: doc,\n };\n if (this.isEditable(docName)) {\n this.docName = docName;\n }\n this.requestUpdate();\n };\n\n handleRenameDoc = (customEvent: RenameEvent) => {\n const { oldName, newName } = customEvent.detail;\n if (!this.docs[oldName] || newName === oldName || this.docs[newName]) {\n return;\n }\n const doc = this.docs[oldName];\n delete this.docs[oldName];\n this.docs = {\n ...this.docs,\n [newName]: doc,\n };\n this.docName = newName;\n };\n\n handleEditV2 = (event: EditEventV2) => {\n const { edit, title, squash } = event.detail;\n this.xmlEditor.commit(edit, { title, squash });\n };\n\n handleCloseDoc = (event: CloseEvent) => {\n const docName = event.detail.docName as string;\n delete this.docs[docName];\n if (this.docName === docName) {\n this.docName = this.editableDocs[0] || '';\n }\n };\n\n handleUndo = () => {\n this.undo();\n };\n\n handleRedo = () => {\n this.redo();\n };\n\n private handleKeyPress = (e: KeyboardEvent) => {\n if (!e.ctrlKey) {\n return;\n }\n if (!Object.prototype.hasOwnProperty.call(this.hotkeys, e.key)) {\n return;\n }\n this.hotkeys[e.key]!.call(this);\n e.preventDefault();\n };\n\n handleOpenPluginMenu = () => {\n this.pluginsMenu.open();\n };\n\n /** Undo the last `n` [[Edit]]s committed */\n undo = (n = 1) => {\n if (!this.canUndo || n < 1) {\n return;\n }\n this.xmlEditor.undo();\n if (n > 1) {\n this.undo(n - 1);\n }\n this.requestUpdate();\n };\n\n /** Redo the last `n` [[Edit]]s that have been undone */\n redo = (n = 1) => {\n if (!this.canRedo || n < 1) {\n return;\n }\n this.xmlEditor.redo();\n if (n > 1) {\n this.redo(n - 1);\n }\n this.requestUpdate();\n };\n\n private hotkeys: Partial<Record<string, () => void>> = {\n m: this.handleOpenPluginMenu,\n z: this.undo,\n y: this.redo,\n Z: this.redo,\n };\n\n isEditable(docName: string): boolean {\n return !!this.editable.find(ext =>\n docName.toLowerCase().endsWith(`.${ext}`),\n );\n }\n\n onDocsChanged() {\n this.docVersion += 1;\n }\n\n renderPlugin(tagName: string) {\n const tag = unsafeStatic(tagName);\n return staticHtml`<${tag} \n .locale=\"${this.locale}\"\n .docName=\"${this.docName}\"\n .doc=${this.doc}\n .docs=${this.docs} \n .editCount=${this.docVersion}\n .docVersion=${this.docVersion}\n .editor=${this.xmlEditor}>\n </${tag}>`;\n }\n\n onMenuPluginSelect(customEvent: CustomEvent) {\n const plugin = customEvent.detail.plugin as PluginEntry;\n if (plugin.tagName) {\n this.shadowRoot!.querySelector<\n HTMLElement & { run: () => Promise<void> }\n >(plugin.tagName)!.run?.();\n }\n }\n\n renderOffScreenPlugins() {\n return html`\n <section class=\"off-screen-plugin-container\" aria-hidden=\"true\">\n <div class=\"menu-plugins\">\n ${this.plugins.menu\n .filter(plugin => !plugin.requireDoc || !!this.docName)\n .map(plugin => this.renderPlugin(plugin.tagName))}\n </div>\n <div class=\"background-plugins\">\n ${this.plugins.background\n .filter(plugin => !plugin.requireDoc || !!this.docName)\n .map(plugin => this.renderPlugin(plugin.tagName))}\n </div>\n </section>\n `;\n }\n\n renderDefaultLandingPage() {\n return html`\n <landing-page\n heading=${this.landingPageHeading}\n subHeading=${this.landingPageSubHeading}\n .menuPlugins=${this.plugins.menu.filter(\n plugin => !plugin.requireDoc || !!this.docName,\n )}\n .locale=${this.locale}\n @menu-plugin-select=${(event: CustomEvent) =>\n this.onMenuPluginSelect(event)}\n >\n </landing-page>\n `;\n }\n\n render() {\n const hasCustomLandingPage = !!this._landingPageNodes?.length;\n if (this.editableDocs.length === 0) {\n return html` <slot\n name=\"landing-page\"\n @slotchange=${() => this.requestUpdate()}\n ></slot>\n ${!hasCustomLandingPage ? this.renderDefaultLandingPage() : nothing}\n ${this.renderOffScreenPlugins()}`;\n }\n\n return html` <oscd-app-bar>\n <plugins-menu\n slot=\"alignStart\"\n appTitle=${this.appTitle}\n appIcon=${this.appIcon}\n .editableDocs=${this.editableDocs}\n .menuPlugins=${this.plugins.menu}\n .locale=${this.locale}\n @menu-plugin-select=${(event: CustomEvent) =>\n this.onMenuPluginSelect(event)}\n ></plugins-menu>\n\n <files-menu\n slot=\"alignMiddle\"\n .selectedDocName=${this.docName}\n .editableDocs=${this.editableDocs}\n .locale=${this.locale}\n @change=${(event: CustomEvent) => {\n const name = event.detail.name as string;\n this.docName = name;\n }}\n ></files-menu>\n\n <div slot=\"alignEnd\">\n <oscd-filled-icon-button\n aria-label=\"${msg('Undo')}\"\n ?disabled=${!this.canUndo}\n @click=${async () => {\n this.dispatchEvent(\n new CustomEvent('oscd-undo', {\n bubbles: true,\n composed: true,\n }),\n );\n }}\n ><oscd-icon>undo</oscd-icon></oscd-filled-icon-button\n >\n <oscd-filled-icon-button\n aria-label=\"${msg('Redo')}\"\n ?disabled=${!this.canRedo}\n @click=${async () => {\n this.dispatchEvent(\n new CustomEvent('oscd-redo', {\n bubbles: true,\n composed: true,\n }),\n );\n }}\n ><oscd-icon>redo</oscd-icon></oscd-filled-icon-button\n >\n </div>\n </oscd-app-bar>\n\n <main>\n <section class=\"editors-side-panel-section\">\n <editor-plugins-panel\n .editors=${this.plugins.editor}\n .editorIndex=${this.editorIndex}\n .locale=${this.locale}\n @editor-select=${(e: CustomEvent) => {\n this.editorIndex = e.detail.index;\n }}\n ></editor-plugins-panel>\n </section>\n\n <section class=\"editor-container\">\n ${this.editor ? this.renderPlugin(this.editor) : nothing}\n </section>\n\n ${this.renderOffScreenPlugins()}\n </main>`;\n }\n\n static styles = css`\n ${theming}\n\n * {\n --app-bar-height: 54px;\n --side-panel-width: 280px;\n }\n\n :host {\n height: 100%;\n display: grid;\n grid-template-rows: min-content 1fr;\n grid-template-columns: 1fr;\n grid-template-areas:\n 'header'\n 'main';\n }\n\n oscd-app-bar {\n grid-area: header;\n box-shadow: var(--md-sys-elevation-level-2);\n z-index: 10;\n }\n\n main {\n grid-area: main;\n display: grid;\n grid-template-columns: var(--side-panel-width) 1fr;\n grid-template-areas: 'sidebar editor';\n overflow: hidden;\n }\n\n /* Side panel collapsed state */\n main.sidebar-collapsed {\n grid-template-columns: 0 1fr;\n }\n\n section.editors-side-panel-section {\n grid-area: sidebar;\n overflow-y: auto;\n overflow-x: hidden;\n transition: transform 0.3s ease-in-out;\n }\n\n /* Hide side panel when collapsed */\n main.sidebar-collapsed section.editors-side-panel-section {\n transform: translateX(-100%);\n }\n\n section.editor-container {\n grid-area: editor;\n background-color: var(--slate-100);\n padding: 8px;\n overflow: auto;\n position: relative;\n }\n\n .off-screen-plugin-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n\n oscd-navigation-drawer-header {\n --md-list-item-supporting-text-color: var(--md-sys-color-on-surface);\n }\n\n oscd-app-bar * {\n --md-filled-icon-button-disabled-container-opacity: 0;\n --md-filled-icon-button-disabled-icon-color: var(\n --md-sys-color-on-primary\n );\n }\n\n .edit-dialog-remove-button {\n --md-text-button-icon-color: var(--oscd-error);\n --md-text-button-label-text-color: var(--oscd-error);\n --md-text-button-focus-label-text-color: var(--oscd-error);\n --md-text-button-focus-icon-color: var(--oscd-error);\n --md-text-button-hover-label-text-color: var(--oscd-error);\n --md-text-button-hover-state-layer-color: var(--oscd-error);\n --md-text-button-hover-icon-color: var(--oscd-error);\n --md-text-button-pressed-label-text-color: var(--oscd-error);\n --md-text-button-pressed-state-layer-color: var(--oscd-error);\n --md-text-button-pressed-icon-color: var(--oscd-error);\n }\n #title {\n position: relative;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'oscd-shell': OscdShell;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"oscd-shell.js","sourceRoot":"","sources":["../src/oscd-shell.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EACL,aAAa,EACb,QAAQ,EACR,KAAK,EACL,kBAAkB,EAClB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,SAAS,EAET,SAAS,GAEV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAyB5D,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IA0C5D,IAAI,MAAM;QACR,OAAO,SAAS,EAAe,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,GAAc;QACvB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,SAAS,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;IAKD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CACT,OAAsE;QAEtE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1B,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;YAClE,GAAG,CAAC,UAA6B,CAAC,GAAG,gBAAgB,CAAC;YACtD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAe,CACtD,CAAC;IACJ,CAAC;IAED;;OAEG;IAEH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3C,CAAC;IAGD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACzC,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC9D,CAAC;IAOD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAUD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,OAAoC;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAMD,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAGD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,CAAC;IAkBD;;OAEG;IACH;QACE,KAAK,EAAE,CAAC;QA9IV;;WAEG;QAEH;;WAEG;QAEH,YAAO,GAAW,EAAE,CAAC;QAGrB,aAAQ,GAAW,SAAS,CAAC;QAG7B,uBAAkB,GAAW,oBAAoB,CAAC;QAGlD,0BAAqB,GACnB,8CAA8C,CAAC;QAEjD,yCAAyC;QACC,aAAQ,GAAG;YACnD,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;SACN,CAAC;QAiBF,aAAQ,GAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAuCvD,gBAAW,GAAG,CAAC,CAAC;QAQxB,uDAAuD;QAEvD,YAAO,GAAG,EAAE,CAAC;QAEb,iDAAiD;QACzC,UAAK,GAAgC,EAAE,CAAC;QAahD,eAAU,GAAW,CAAC,CAAC,CAAC;QAaxB,cAAS,GAAc,IAAI,SAAS,EAAE,CAAC;QAmDvC;;WAEG;QAEH,kBAAa,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAa,EAAE,EAAE;YAC1D,IAAI,CAAC,IAAI,GAAG;gBACV,GAAG,IAAI,CAAC,IAAI;gBACZ,CAAC,OAAO,CAAC,EAAE,GAAG;aACf,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,oBAAe,GAAG,CAAC,WAAwB,EAAE,EAAE;YAC7C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG;gBACV,GAAG,IAAI,CAAC,IAAI;gBACZ,CAAC,OAAO,CAAC,EAAE,GAAG;aACf,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC;QAEF,iBAAY,GAAG,CAAC,KAAkB,EAAE,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,mBAAc,GAAG,CAAC,KAAiB,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAiB,CAAC;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEF,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC5C,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,yBAAoB,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC,CAAC;QAEF,4CAA4C;QAC5C,SAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,wDAAwD;QACxD,SAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,YAAO,GAAwC;YACrD,CAAC,EAAE,IAAI,CAAC,oBAAoB;YAC5B,CAAC,EAAE,IAAI,CAAC,IAAI;YACZ,CAAC,EAAE,IAAI,CAAC,IAAI;YACZ,CAAC,EAAE,IAAI,CAAC,IAAI;SACb,CAAC;QA7HA,kEAAkE;QAClE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,yBAAyB;QACzB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAkGD,UAAU,CAAC,OAAe;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAChC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,OAAe;QAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,UAAU,CAAA,IAAI,GAAG;yBACH,IAAI,CAAC,MAAM;0BACV,IAAI,CAAC,OAAO;qBACjB,IAAI,CAAC,GAAG;sBACP,IAAI,CAAC,IAAI;2BACJ,IAAI,CAAC,UAAU;4BACd,IAAI,CAAC,UAAU;wBACnB,IAAI,CAAC,SAAS;gBACtB,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,WAAwB;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAqB,CAAC;QACxD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,UAAW,CAAC,aAAa,CAE5B,MAAM,CAAC,OAAO,CAAE,CAAC,GAAG,EAAE,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAA;;;YAGH,IAAI,CAAC,OAAO,CAAC,IAAI;aAChB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;aACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;;YAGjD,IAAI,CAAC,OAAO,CAAC,UAAU;aACtB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;aACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;;KAGxD,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAA;;kBAEG,IAAI,CAAC,kBAAkB;qBACpB,IAAI,CAAC,qBAAqB;uBACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CACrC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAC/C;kBACS,IAAI,CAAC,MAAM;8BACC,CAAC,KAAkB,EAAE,EAAE,CAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;;;KAGnC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAA;;wBAEO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;;UAExC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,OAAO;UACjE,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAA;;;qBAGM,IAAI,CAAC,QAAQ;oBACd,IAAI,CAAC,OAAO;0BACN,IAAI,CAAC,YAAY;yBAClB,IAAI,CAAC,OAAO,CAAC,IAAI;oBACtB,IAAI,CAAC,MAAM;gCACC,CAAC,KAAkB,EAAE,EAAE,CAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;;;;;6BAKb,IAAI,CAAC,OAAO;0BACf,IAAI,CAAC,YAAY;oBACvB,IAAI,CAAC,MAAM;oBACX,CAAC,KAAkB,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAc,CAAC;YACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;;;;;0BAKe,GAAG,CAAC,MAAM,CAAC;wBACb,CAAC,IAAI,CAAC,OAAO;qBAChB,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;QACJ,CAAC;;;;0BAIa,GAAG,CAAC,MAAM,CAAC;wBACb,CAAC,IAAI,CAAC,OAAO;qBAChB,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;gBAC3B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;QACJ,CAAC;;;;;;;;;uBASU,IAAI,CAAC,OAAO,CAAC,MAAM;2BACf,IAAI,CAAC,WAAW;sBACrB,IAAI,CAAC,MAAM;6BACJ,CAAC,CAAc,EAAE,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,CAAC;;;;;YAKD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;;;UAGxD,IAAI,CAAC,sBAAsB,EAAE;cACzB,CAAC;IACb,CAAC;;AA3aM,wBAAc,GAAG;IACtB,cAAc,EAAE,UAAU;IAC1B,yBAAyB,EAAE,oBAAoB;IAC/C,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,WAAW;IAC3B,sBAAsB,EAAE,kBAAkB;IAC1C,cAAc,EAAE,WAAW;CAC5B,AARoB,CAQnB;AAqaK,gBAAM,GAAG;IACd,qBAAqB;IACrB,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyEF;CACF,AA5EY,CA4EX;AAveF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CACN;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACE;AAG7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACuB;AAGlD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDAEsB;AAGP;IAAzC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAOvC;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uCAGzC;AAeD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAG1B;AAmBD;IADC,KAAK,EAAE;wCAGP;AAGD;IADC,KAAK,EAAE;wCAGP;AAGD;IADC,KAAK,EAAE;uCAGP;AAGO;IADP,KAAK,EAAE;8CACgB;AAIxB;IAFC,KAAK,EAAE;IACR,+CAA+C;oCAG9C;AAID;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAC7B;AAMb;IADC,KAAK,EAAE;qCAGP;AAQD;IADC,KAAK,EAAE;6CACgB;AAGxB;IADC,KAAK,EAAE;6CAGP;AAGD;IADC,KAAK,EAAE;qCAGP;AAGD;IADC,KAAK,EAAE;4CAC+B;AAOvC;IADC,KAAK,CAAC,cAAc,CAAC;8CACI;AAG1B;IADC,KAAK,CAAC,sBAAsB,CAAC;qDACU;AAGhC;IADP,kBAAkB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;oDACO;AAnJzC,SAAS;IAFrB,SAAS,EAAE;IACX,aAAa,CAAC,YAAY,CAAC;GACf,SAAS,CA2frB","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport {\n customElement,\n property,\n query,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements/lit-element.js';\nimport { localized, msg } from '@lit/localize';\nimport { html as staticHtml, unsafeStatic } from 'lit/static-html.js';\n\nimport { OscdFilledIconButton } from '@omicronenergy/oscd-ui/iconbutton/OscdFilledIconButton.js';\nimport { XMLEditor } from '@omicronenergy/oscd-editor';\nimport { EditEventV2, OpenEvent } from '@openscd/oscd-api';\n\nimport { loadSourcedPlugins } from './utils/plugin-utils.js';\nimport {\n getLocale,\n LocaleTag,\n setLocale,\n Translations,\n} from './localization.js';\nimport { EditorPluginsPanel } from './side-panel/editor-plugins-panel.js';\nimport { PluginsMenu } from './menus/plugins-menu.js';\nimport { LandingPage } from './landing-page/landing-page.js';\nimport { RenameEvent, CloseEvent } from './foundation/events.js';\nimport { FilesMenu } from './menus/files-menu.js';\nimport { oscdShellDesignTokens } from './oscd-shell-design-tokens.js';\nimport { OscdAppBar } from '@omicronenergy/oscd-ui/app-bar/OscdAppBar.js';\nimport { OscdIcon } from '@omicronenergy/oscd-ui/icon/OscdIcon.js';\n\nexport type PluginEntry = {\n name: string;\n translations?: Translations;\n tagName: string;\n icon: string;\n requireDoc?: boolean;\n};\n\nexport type SourcedPluginEntry = {\n name: string;\n translations?: Translations;\n src: string;\n icon: string;\n requireDoc?: boolean;\n};\nexport type PluginSet<P = PluginEntry> = {\n menu: P[];\n editor: P[];\n background: P[];\n};\n\n@localized()\n@customElement('oscd-shell')\nexport class OscdShell extends ScopedElementsMixin(LitElement) {\n static scopedElements = {\n 'oscd-app-bar': OscdAppBar,\n 'oscd-filled-icon-button': OscdFilledIconButton,\n 'oscd-icon': OscdIcon,\n 'files-menu': FilesMenu,\n 'plugins-menu': PluginsMenu,\n 'editor-plugins-panel': EditorPluginsPanel,\n 'landing-page': LandingPage,\n };\n\n /*\n * Properties\n */\n\n /**\n * Url to the app icon displayed in the app bar\n */\n @property({ type: String })\n appIcon: string = '';\n\n @property({ type: String })\n appTitle: string = 'OpenSCD';\n\n @property({ type: String })\n landingPageHeading: string = 'Welcome to OpenSCD';\n\n @property({ type: String })\n landingPageSubHeading: string =\n 'Open Source IEC-61850-6 SCL Editing Platform';\n\n /** The file endings of editable files */\n @property({ type: Array, reflect: true }) editable = [\n 'cid',\n 'icd',\n 'iid',\n 'scd',\n 'sed',\n 'ssd',\n ];\n\n @property({ type: String, reflect: true })\n get locale() {\n return getLocale() as LocaleTag;\n }\n\n set locale(tag: LocaleTag) {\n try {\n if (tag) {\n setLocale(tag);\n }\n } catch {\n // don't change locale if tag is invalid\n }\n }\n\n _plugins: PluginSet = { menu: [], editor: [], background: [] };\n\n @property({ type: Object })\n get plugins(): PluginSet {\n return this._plugins;\n }\n\n set plugins(\n plugins: Partial<PluginSet<Partial<PluginEntry | SourcedPluginEntry>>>,\n ) {\n this._plugins = Object.entries(plugins).reduce(\n (acc, [pluginType, kind]) => {\n const convertedPlugins = loadSourcedPlugins(kind, this.registry!);\n acc[pluginType as keyof PluginSet] = convertedPlugins;\n return acc;\n },\n { menu: [], editor: [], background: [] } as PluginSet,\n );\n }\n\n /*\n * States\n */\n @state()\n get canRedo(): boolean {\n return this.xmlEditor.future.length >= 1;\n }\n\n @state()\n get canUndo(): boolean {\n return this.xmlEditor.past.length >= 1;\n }\n\n @state()\n get editor() {\n return this.plugins.editor[this.editorIndex]?.tagName ?? '';\n }\n\n @state()\n private editorIndex = 0;\n\n @state()\n /** The `XMLDocument` currently being edited */\n get doc(): XMLDocument {\n return this.docs[this.docName];\n }\n\n /** The name of the [[`doc`]] currently being edited */\n @property({ type: String, reflect: true })\n docName = '';\n\n /** The set of `XMLDocument`s currently loaded */\n private _docs: Record<string, XMLDocument> = {};\n\n @state()\n get docs(): Record<string, XMLDocument> {\n return this._docs;\n }\n\n set docs(newDocs: Record<string, XMLDocument>) {\n this._docs = newDocs;\n this.onDocsChanged();\n }\n\n @state()\n docVersion: number = -1;\n\n @state()\n get editableDocs(): string[] {\n return Object.keys(this.docs).filter(name => this.isEditable(name));\n }\n\n @state()\n get last(): number {\n return this.xmlEditor.past.length - 1;\n }\n\n @state()\n xmlEditor: XMLEditor = new XMLEditor();\n\n /*\n * All Queries\n */\n\n @query('plugins-menu')\n pluginsMenu!: PluginsMenu;\n\n @query('editor-plugins-panel')\n editorPluginsPanel!: EditorPluginsPanel;\n\n @queryAssignedNodes({ slot: 'landing-page' })\n private _landingPageNodes?: NodeListOf<HTMLElement>;\n\n /*\n * Constructor & life cycle methods\n */\n constructor() {\n super();\n // Catch all edits (from commits AND events) and trigger an update\n this.xmlEditor.subscribe(() => {\n this.docVersion += 1;\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n document.addEventListener('keydown', this.handleKeyPress);\n this.addEventListener('oscd-open', this.handleOpenDoc);\n this.addEventListener('oscd-rename', this.handleRenameDoc);\n this.addEventListener('oscd-close', this.handleCloseDoc);\n this.addEventListener('oscd-edit-v2', this.handleEditV2);\n this.addEventListener('oscd-undo', this.handleUndo);\n this.addEventListener('oscd-redo', this.handleRedo);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n\n // Remove event listeners\n document.removeEventListener('keydown', this.handleKeyPress);\n this.removeEventListener('oscd-open', this.handleOpenDoc);\n this.removeEventListener('oscd-rename', this.handleRenameDoc);\n this.removeEventListener('oscd-edit-v2', this.handleEditV2);\n this.removeEventListener('oscd-undo', this.handleUndo);\n this.removeEventListener('oscd-redo', this.handleRedo);\n this.removeEventListener('oscd-close', this.handleCloseDoc);\n }\n\n /*\n * Event Handlers\n */\n\n handleOpenDoc = ({ detail: { docName, doc } }: OpenEvent) => {\n this.docs = {\n ...this.docs,\n [docName]: doc,\n };\n if (this.isEditable(docName)) {\n this.docName = docName;\n }\n this.requestUpdate();\n };\n\n handleRenameDoc = (customEvent: RenameEvent) => {\n const { oldName, newName } = customEvent.detail;\n if (!this.docs[oldName] || newName === oldName || this.docs[newName]) {\n return;\n }\n const doc = this.docs[oldName];\n delete this.docs[oldName];\n this.docs = {\n ...this.docs,\n [newName]: doc,\n };\n this.docName = newName;\n };\n\n handleEditV2 = (event: EditEventV2) => {\n const { edit, title, squash } = event.detail;\n this.xmlEditor.commit(edit, { title, squash });\n };\n\n handleCloseDoc = (event: CloseEvent) => {\n const docName = event.detail.docName as string;\n delete this.docs[docName];\n if (this.docName === docName) {\n this.docName = this.editableDocs[0] || '';\n }\n };\n\n handleUndo = () => {\n this.undo();\n };\n\n handleRedo = () => {\n this.redo();\n };\n\n private handleKeyPress = (e: KeyboardEvent) => {\n if (!e.ctrlKey) {\n return;\n }\n if (!Object.prototype.hasOwnProperty.call(this.hotkeys, e.key)) {\n return;\n }\n this.hotkeys[e.key]!.call(this);\n e.preventDefault();\n };\n\n handleOpenPluginMenu = () => {\n this.pluginsMenu.open();\n };\n\n /** Undo the last `n` [[Edit]]s committed */\n undo = (n = 1) => {\n if (!this.canUndo || n < 1) {\n return;\n }\n this.xmlEditor.undo();\n if (n > 1) {\n this.undo(n - 1);\n }\n this.requestUpdate();\n };\n\n /** Redo the last `n` [[Edit]]s that have been undone */\n redo = (n = 1) => {\n if (!this.canRedo || n < 1) {\n return;\n }\n this.xmlEditor.redo();\n if (n > 1) {\n this.redo(n - 1);\n }\n this.requestUpdate();\n };\n\n private hotkeys: Partial<Record<string, () => void>> = {\n m: this.handleOpenPluginMenu,\n z: this.undo,\n y: this.redo,\n Z: this.redo,\n };\n\n isEditable(docName: string): boolean {\n return !!this.editable.find(ext =>\n docName.toLowerCase().endsWith(`.${ext}`),\n );\n }\n\n onDocsChanged() {\n this.docVersion += 1;\n }\n\n renderPlugin(tagName: string) {\n const tag = unsafeStatic(tagName);\n return staticHtml`<${tag} \n .locale=\"${this.locale}\"\n .docName=\"${this.docName}\"\n .doc=${this.doc}\n .docs=${this.docs} \n .editCount=${this.docVersion}\n .docVersion=${this.docVersion}\n .editor=${this.xmlEditor}>\n </${tag}>`;\n }\n\n onMenuPluginSelect(customEvent: CustomEvent) {\n const plugin = customEvent.detail.plugin as PluginEntry;\n if (plugin.tagName) {\n this.shadowRoot!.querySelector<\n HTMLElement & { run: () => Promise<void> }\n >(plugin.tagName)!.run?.();\n }\n }\n\n renderOffScreenPlugins() {\n return html`\n <section class=\"off-screen-plugin-container\" aria-hidden=\"true\">\n <div class=\"menu-plugins\">\n ${this.plugins.menu\n .filter(plugin => !plugin.requireDoc || !!this.docName)\n .map(plugin => this.renderPlugin(plugin.tagName))}\n </div>\n <div class=\"background-plugins\">\n ${this.plugins.background\n .filter(plugin => !plugin.requireDoc || !!this.docName)\n .map(plugin => this.renderPlugin(plugin.tagName))}\n </div>\n </section>\n `;\n }\n\n renderDefaultLandingPage() {\n return html`\n <landing-page\n heading=${this.landingPageHeading}\n subHeading=${this.landingPageSubHeading}\n .menuPlugins=${this.plugins.menu.filter(\n plugin => !plugin.requireDoc || !!this.docName,\n )}\n .locale=${this.locale}\n @menu-plugin-select=${(event: CustomEvent) =>\n this.onMenuPluginSelect(event)}\n >\n </landing-page>\n `;\n }\n\n render() {\n const hasCustomLandingPage = !!this._landingPageNodes?.length;\n if (this.editableDocs.length === 0) {\n return html` <slot\n name=\"landing-page\"\n @slotchange=${() => this.requestUpdate()}\n ></slot>\n ${!hasCustomLandingPage ? this.renderDefaultLandingPage() : nothing}\n ${this.renderOffScreenPlugins()}`;\n }\n\n return html` <oscd-app-bar>\n <plugins-menu\n slot=\"alignStart\"\n appTitle=${this.appTitle}\n appIcon=${this.appIcon}\n .editableDocs=${this.editableDocs}\n .menuPlugins=${this.plugins.menu}\n .locale=${this.locale}\n @menu-plugin-select=${(event: CustomEvent) =>\n this.onMenuPluginSelect(event)}\n ></plugins-menu>\n\n <files-menu\n slot=\"alignMiddle\"\n .selectedDocName=${this.docName}\n .editableDocs=${this.editableDocs}\n .locale=${this.locale}\n @change=${(event: CustomEvent) => {\n const name = event.detail.name as string;\n this.docName = name;\n }}\n ></files-menu>\n\n <div slot=\"alignEnd\">\n <oscd-filled-icon-button\n aria-label=\"${msg('Undo')}\"\n ?disabled=${!this.canUndo}\n @click=${async () => {\n this.dispatchEvent(\n new CustomEvent('oscd-undo', {\n bubbles: true,\n composed: true,\n }),\n );\n }}\n ><oscd-icon>undo</oscd-icon></oscd-filled-icon-button\n >\n <oscd-filled-icon-button\n aria-label=\"${msg('Redo')}\"\n ?disabled=${!this.canRedo}\n @click=${async () => {\n this.dispatchEvent(\n new CustomEvent('oscd-redo', {\n bubbles: true,\n composed: true,\n }),\n );\n }}\n ><oscd-icon>redo</oscd-icon></oscd-filled-icon-button\n >\n </div>\n </oscd-app-bar>\n\n <main>\n <section class=\"editors-side-panel-section\">\n <editor-plugins-panel\n .editors=${this.plugins.editor}\n .editorIndex=${this.editorIndex}\n .locale=${this.locale}\n @editor-select=${(e: CustomEvent) => {\n this.editorIndex = e.detail.index;\n }}\n ></editor-plugins-panel>\n </section>\n\n <section class=\"editor-container\">\n ${this.editor ? this.renderPlugin(this.editor) : nothing}\n </section>\n\n ${this.renderOffScreenPlugins()}\n </main>`;\n }\n\n static styles = [\n oscdShellDesignTokens,\n css`\n :host {\n height: 100%;\n display: grid;\n grid-template-rows: min-content 1fr;\n grid-template-columns: 1fr;\n grid-template-areas:\n 'header'\n 'main';\n }\n\n oscd-app-bar {\n grid-area: header;\n box-shadow: var(--md-sys-elevation-level-2);\n z-index: 10;\n }\n\n oscd-app-bar * {\n --md-filled-icon-button-disabled-container-opacity: var(\n --app-bar-action-icon-disabled-container-opacity,\n 0\n );\n --md-filled-icon-button-disabled-icon-color: var(\n --app-bar-action-icon-disabled-color,\n var(--md-sys-color-on-primary)\n );\n --md-filled-icon-button-icon-size: var(--app-bar-action-icon-size);\n --md-filled-icon-button-icon-color: var(--app-bar-action-icon-color);\n }\n\n main {\n grid-area: main;\n display: grid;\n grid-template-columns: var(--side-panel-width) 1fr;\n grid-template-areas: 'sidebar editor';\n overflow: hidden;\n }\n\n /* Side panel collapsed state */\n main.sidebar-collapsed {\n grid-template-columns: 0 1fr;\n }\n\n section.editors-side-panel-section {\n grid-area: sidebar;\n overflow-y: auto;\n overflow-x: hidden;\n transition: transform 0.3s ease-in-out;\n }\n\n /* Hide side panel when collapsed */\n main.sidebar-collapsed section.editors-side-panel-section {\n transform: translateX(-100%);\n }\n\n section.editor-container {\n grid-area: editor;\n background-color: var(--editor-background-color);\n padding: var(--editor-padding);\n overflow: auto;\n position: relative;\n }\n\n .off-screen-plugin-container {\n position: absolute;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: hidden;\n margin: 0;\n padding: 0;\n }\n `,\n ];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'oscd-shell': OscdShell;\n }\n}\n"]}
|
|
@@ -71,12 +71,12 @@ EditorPluginsPanel.scopedElements = {
|
|
|
71
71
|
};
|
|
72
72
|
EditorPluginsPanel.styles = css `
|
|
73
73
|
:host {
|
|
74
|
-
width:
|
|
75
|
-
height: calc(100% -
|
|
74
|
+
width: var(--editor-plugins-panel-width);
|
|
75
|
+
height: calc(100% - var(--editor-plugins-panel-padding-top));
|
|
76
76
|
display: grid;
|
|
77
77
|
grid-template-rows: 1fr auto;
|
|
78
78
|
min-height: 0;
|
|
79
|
-
padding-top:
|
|
79
|
+
padding-top: var(--editor-plugins-panel-padding-top);
|
|
80
80
|
transition: width 0.1s ease-in-out;
|
|
81
81
|
overflow-y: auto;
|
|
82
82
|
overflow-x: hidden;
|
|
@@ -84,16 +84,24 @@ EditorPluginsPanel.styles = css `
|
|
|
84
84
|
|
|
85
85
|
.editors-list {
|
|
86
86
|
min-height: 0;
|
|
87
|
-
--md-list-item-leading-space:
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
--md-list-item-leading-space: var(
|
|
88
|
+
--editor-plugins-panel-item-leading-space
|
|
89
|
+
);
|
|
90
|
+
--md-list-item-trailing-space: var(
|
|
91
|
+
--editor-plugins-panel-item-trailing-space
|
|
92
|
+
);
|
|
93
|
+
--md-icon-size: var(--editor-plugins-panel-item-icon-size);
|
|
90
94
|
--md-list-container-color: rgba(0, 0, 0, 0);
|
|
91
|
-
--md-list-item-label-text-color: var(
|
|
92
|
-
|
|
95
|
+
--md-list-item-label-text-color: var(
|
|
96
|
+
--editor-plugins-panel-item-text-color
|
|
97
|
+
);
|
|
98
|
+
--md-list-item-leading-icon-color: var(
|
|
99
|
+
--editor-plugins-panel-item-icon-color
|
|
100
|
+
);
|
|
93
101
|
}
|
|
94
102
|
|
|
95
103
|
.editors-list .active {
|
|
96
|
-
background-color: var(--
|
|
104
|
+
background-color: var(--editor-plugins-panel-item-active-bg);
|
|
97
105
|
}
|
|
98
106
|
|
|
99
107
|
.editors-list oscd-list-item span {
|
|
@@ -110,20 +118,28 @@ EditorPluginsPanel.styles = css `
|
|
|
110
118
|
}
|
|
111
119
|
|
|
112
120
|
.toggle-button {
|
|
113
|
-
--md-icon-color: var(--
|
|
114
|
-
--md-icon-button-icon-size:
|
|
115
|
-
--md-icon-button-hover-state-layer-color: var(
|
|
121
|
+
--md-icon-color: var(--editor-plugins-panel-item-icon-color);
|
|
122
|
+
--md-icon-button-icon-size: var(--editor-plugins-panel-item-icon-size);
|
|
123
|
+
--md-icon-button-hover-state-layer-color: var(
|
|
124
|
+
--editor-plugins-panel-item-icon-color
|
|
125
|
+
);
|
|
116
126
|
--md-icon-button-hover-state-layer-opacity: 0.08;
|
|
117
|
-
--md-icon-button-icon-color: var(--
|
|
118
|
-
--md-icon-button-hover-icon-color: var(
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
--md-icon-button-icon-color: var(--editor-plugins-panel-item-icon-color);
|
|
128
|
+
--md-icon-button-hover-icon-color: var(
|
|
129
|
+
--editor-plugins-panel-item-icon-color
|
|
130
|
+
);
|
|
131
|
+
--md-icon-button-focus-icon-color: var(
|
|
132
|
+
--editor-plugins-panel-item-icon-color
|
|
133
|
+
);
|
|
134
|
+
--md-icon-button-pressed-icon-color: var(
|
|
135
|
+
--editor-plugins-panel-item-icon-color
|
|
136
|
+
);
|
|
121
137
|
--md-icon-button-state-layer-height: 48px;
|
|
122
138
|
--md-icon-button-state-layer-width: 48px;
|
|
123
139
|
}
|
|
124
140
|
|
|
125
141
|
:host([expanded]) {
|
|
126
|
-
width: var(--
|
|
142
|
+
width: var(--editor-plugins-panel-width);
|
|
127
143
|
}
|
|
128
144
|
|
|
129
145
|
/* :host([expanded]) .footer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-plugins-panel.js","sourceRoot":"","sources":["../../src/side-panel/editor-plugins-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAUhD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmB,CAAC,UAAU,CAAC;IAAhE;;QASL,YAAO,GAAkB,EAAE,CAAC;QAG5B,gBAAW,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"editor-plugins-panel.js","sourceRoot":"","sources":["../../src/side-panel/editor-plugins-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements/lit-element.js';\nimport { localized } from '@lit/localize';\n\nimport { OscdIconButton } from '@omicronenergy/oscd-ui/iconbutton/OscdIconButton.js';\nimport { OscdIcon } from '@omicronenergy/oscd-ui/icon/OscdIcon.js';\nimport { OscdList } from '@omicronenergy/oscd-ui/list/OscdList.js';\nimport { OscdListItem } from '@omicronenergy/oscd-ui/list/OscdListItem.js';\n\nimport { LocaleTag, Translation } from '../localization.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { PluginEntry } from '../oscd-shell.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'editor-plugins-panel': EditorPluginsPanel;\n }\n}\n\n@localized()\nexport class EditorPluginsPanel extends ScopedElementsMixin(LitElement) {\n static scopedElements = {\n 'oscd-icon-button': OscdIconButton,\n 'oscd-icon': OscdIcon,\n 'oscd-list': OscdList,\n 'oscd-list-item': OscdListItem,\n };\n\n @property({ type: Array })\n editors: PluginEntry[] = [];\n\n @property({ type: Number })\n editorIndex = 0;\n\n @property({ type: String })\n locale!: LocaleTag;\n\n // eslint-disable-next-line class-methods-use-this\n @property({ type: Boolean, reflect: true })\n get expanded() {\n const expandedStr = localStorage.getItem('editorsPanel.expanded');\n return expandedStr === 'false' ? false : true;\n }\n // eslint-disable-next-line class-methods-use-this\n set expanded(expanded: boolean) {\n localStorage.setItem('editorsPanel.expanded', String(expanded));\n }\n\n render() {\n return html`\n <oscd-list class=\"editors-list\" role=\"tablist\">\n ${this.editors.map(\n (editor, index) =>\n html`<oscd-list-item\n class=${classMap({ active: this.editorIndex === index })}\n type=\"button\"\n @click=${() => {\n this.dispatchEvent(\n new CustomEvent('editor-select', {\n detail: { editor, index },\n bubbles: true,\n composed: true,\n }),\n );\n }}\n >\n <oscd-icon slot=\"start\">${editor.icon}</oscd-icon>\n ${this.expanded\n ? html`<span\n >${editor.translations?.[this.locale as Translation] ||\n editor.name}</span\n >`\n : nothing}\n </oscd-list-item>`,\n )}\n </oscd-list>\n <div class=\"footer\">\n <oscd-icon-button\n class=\"toggle-button\"\n @click=${() => {\n this.expanded = !this.expanded;\n }}\n >\n <oscd-icon\n >${this.expanded\n ? 'left_panel_close'\n : 'left_panel_open'}</oscd-icon\n ></oscd-icon-button\n >\n </div>\n `;\n }\n\n static styles = css`\n :host {\n width: var(--editor-plugins-panel-width);\n height: calc(100% - var(--editor-plugins-panel-padding-top));\n display: grid;\n grid-template-rows: 1fr auto;\n min-height: 0;\n padding-top: var(--editor-plugins-panel-padding-top);\n transition: width 0.1s ease-in-out;\n overflow-y: auto;\n overflow-x: hidden;\n }\n\n .editors-list {\n min-height: 0;\n --md-list-item-leading-space: var(\n --editor-plugins-panel-item-leading-space\n );\n --md-list-item-trailing-space: var(\n --editor-plugins-panel-item-trailing-space\n );\n --md-icon-size: var(--editor-plugins-panel-item-icon-size);\n --md-list-container-color: rgba(0, 0, 0, 0);\n --md-list-item-label-text-color: var(\n --editor-plugins-panel-item-text-color\n );\n --md-list-item-leading-icon-color: var(\n --editor-plugins-panel-item-icon-color\n );\n }\n\n .editors-list .active {\n background-color: var(--editor-plugins-panel-item-active-bg);\n }\n\n .editors-list oscd-list-item span {\n /* prevents jitter when collapsing */\n white-space: nowrap;\n }\n\n .footer {\n /* setting this to display:none until re-design is fixed and its safe to remove */\n display: none;\n /* justify-self: center;\n justify-content: center;\n padding-block: 22px; */\n }\n\n .toggle-button {\n --md-icon-color: var(--editor-plugins-panel-item-icon-color);\n --md-icon-button-icon-size: var(--editor-plugins-panel-item-icon-size);\n --md-icon-button-hover-state-layer-color: var(\n --editor-plugins-panel-item-icon-color\n );\n --md-icon-button-hover-state-layer-opacity: 0.08;\n --md-icon-button-icon-color: var(--editor-plugins-panel-item-icon-color);\n --md-icon-button-hover-icon-color: var(\n --editor-plugins-panel-item-icon-color\n );\n --md-icon-button-focus-icon-color: var(\n --editor-plugins-panel-item-icon-color\n );\n --md-icon-button-pressed-icon-color: var(\n --editor-plugins-panel-item-icon-color\n );\n --md-icon-button-state-layer-height: 48px;\n --md-icon-button-state-layer-width: 48px;\n }\n\n :host([expanded]) {\n width: var(--editor-plugins-panel-width);\n }\n\n /* :host([expanded]) .footer {\n justify-self: flex-end;\n justify-content: flex-end;\n padding-inline: 22px;\n } */\n `;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omicronenergy/oscd-shell",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "The shell component of OpenSCD, where plugins are loaded and the application is initialized.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"@lit/localize": "^0.12.2",
|
|
54
54
|
"@omicronenergy/oscd-background-editv1": "^0.0.6",
|
|
55
55
|
"@omicronenergy/oscd-editor": "^1.7.1",
|
|
56
|
+
"@omicronenergy/oscd-editor-source": "^0.0.1",
|
|
56
57
|
"@omicronenergy/oscd-menu-commons": "^0.0.1",
|
|
57
58
|
"@omicronenergy/oscd-menu-open": "^0.0.6",
|
|
58
59
|
"@omicronenergy/oscd-menu-save": "^0.0.2",
|
package/dist/colors.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const colors: import("lit").CSSResult;
|
package/dist/colors.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
export const colors = css `
|
|
3
|
-
* {
|
|
4
|
-
--french-blue-15: #0b335b;
|
|
5
|
-
--french-blue-55: #2485e5;
|
|
6
|
-
|
|
7
|
-
--omicron-yellow: #f5e214;
|
|
8
|
-
|
|
9
|
-
--slate-0: #121417; /* L* ≈ 7% */
|
|
10
|
-
--slate-5: #1a1e23; /* L* ≈ 10% */
|
|
11
|
-
--slate-10: #23282f; /* L* ≈ 14% */
|
|
12
|
-
--slate-15: #2c323a; /* L* ≈ 18% */
|
|
13
|
-
--slate-20: #363d47; /* L* ≈ 22% */
|
|
14
|
-
--slate-25: #3d4651; /* L* ≈ 26% */
|
|
15
|
-
--slate-30: #46505d; /* L* ≈ 30% */
|
|
16
|
-
--slate-35: #4f5a69; /* L* ≈ 34% */
|
|
17
|
-
--slate-40: #586474; /* L* ≈ 38% */
|
|
18
|
-
--slate-45: #606e80; /* L* ≈ 42% */
|
|
19
|
-
--slate-50: #69788c; /* L* ≈ 46% */
|
|
20
|
-
--slate-55: #738296; /* L* ≈ 50% */
|
|
21
|
-
--slate-60: #7f8c9f; /* L* ≈ 54% */
|
|
22
|
-
--slate-65: #8b97a7; /* L* ≈ 58% */
|
|
23
|
-
--slate-70: #96a1b0; /* L* ≈ 62% */
|
|
24
|
-
--slate-75: #a2abb9; /* L* ≈ 66% */
|
|
25
|
-
--slate-80: #aeb6c2; /* L* ≈ 70% */
|
|
26
|
-
--slate-85: #b9c0ca; /* L* ≈ 74% */
|
|
27
|
-
--slate-90: #c5cbd3; /* L* ≈ 78% */
|
|
28
|
-
--slate-95: #d0d5dc; /* L* ≈ 82% */
|
|
29
|
-
--slate-100: #dce0e5; /* L* ≈ 86% */
|
|
30
|
-
--slate-105: #e8eaed; /* L* ≈ 90% */
|
|
31
|
-
--slate-110: #f3f5f6; /* L* ≈ 94% */
|
|
32
|
-
/* --slate-white: #FFF; L* ≈ 100% */
|
|
33
|
-
|
|
34
|
-
--coal-0: #0a0a0a; /* L* ≈ 4% */
|
|
35
|
-
--coal-5: #141414; /* L* ≈ 8% */
|
|
36
|
-
--coal-10: #1f1f1f; /* L* ≈ 12% */
|
|
37
|
-
--coal-15: #292929; /* L* ≈ 16% */
|
|
38
|
-
--coal-20: #333333; /* L* ≈ 20% */
|
|
39
|
-
--coal-25: #3d3d3d; /* L* ≈ 24% */
|
|
40
|
-
--coal-30: #474747; /* L* ≈ 28% */
|
|
41
|
-
--coal-35: #525252; /* L* ≈ 32% */
|
|
42
|
-
--coal-40: #5c5c5c; /* L* ≈ 36% */
|
|
43
|
-
--coal-45: #666666; /* L* ≈ 40% */
|
|
44
|
-
--coal-50: #707070; /* L* ≈ 44% */
|
|
45
|
-
--coal-55: #7a7a7a; /* L* ≈ 48% */
|
|
46
|
-
--coal-60: #858585; /* L* ≈ 52% */
|
|
47
|
-
--coal-65: #8f8f8f; /* L* ≈ 56% */
|
|
48
|
-
--coal-70: #999999; /* L* ≈ 60% */
|
|
49
|
-
--coal-75: #a3a3a3; /* L* ≈ 64% */
|
|
50
|
-
--coal-80: #adadad; /* L* ≈ 68% */
|
|
51
|
-
--coal-85: #b8b8b8; /* L* ≈ 72% */
|
|
52
|
-
--coal-90: #c2c2c2; /* L* ≈ 76% */
|
|
53
|
-
--coal-95: #cccccc; /* L* ≈ 80% */
|
|
54
|
-
--coal-100: #d6d6d6; /* L* ≈ 84% */
|
|
55
|
-
--coal-105: #e0e0e0; /* L* ≈ 88% */
|
|
56
|
-
--coal-110: #ebebeb; /* L* ≈ 92% */
|
|
57
|
-
/* --coal-white: #FFF; L* ≈ 100% */
|
|
58
|
-
}
|
|
59
|
-
`;
|
|
60
|
-
//# sourceMappingURL=colors.js.map
|
package/dist/colors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const colors = css`\n * {\n --french-blue-15: #0b335b;\n --french-blue-55: #2485e5;\n\n --omicron-yellow: #f5e214;\n\n --slate-0: #121417; /* L* ≈ 7% */\n --slate-5: #1a1e23; /* L* ≈ 10% */\n --slate-10: #23282f; /* L* ≈ 14% */\n --slate-15: #2c323a; /* L* ≈ 18% */\n --slate-20: #363d47; /* L* ≈ 22% */\n --slate-25: #3d4651; /* L* ≈ 26% */\n --slate-30: #46505d; /* L* ≈ 30% */\n --slate-35: #4f5a69; /* L* ≈ 34% */\n --slate-40: #586474; /* L* ≈ 38% */\n --slate-45: #606e80; /* L* ≈ 42% */\n --slate-50: #69788c; /* L* ≈ 46% */\n --slate-55: #738296; /* L* ≈ 50% */\n --slate-60: #7f8c9f; /* L* ≈ 54% */\n --slate-65: #8b97a7; /* L* ≈ 58% */\n --slate-70: #96a1b0; /* L* ≈ 62% */\n --slate-75: #a2abb9; /* L* ≈ 66% */\n --slate-80: #aeb6c2; /* L* ≈ 70% */\n --slate-85: #b9c0ca; /* L* ≈ 74% */\n --slate-90: #c5cbd3; /* L* ≈ 78% */\n --slate-95: #d0d5dc; /* L* ≈ 82% */\n --slate-100: #dce0e5; /* L* ≈ 86% */\n --slate-105: #e8eaed; /* L* ≈ 90% */\n --slate-110: #f3f5f6; /* L* ≈ 94% */\n /* --slate-white: #FFF; L* ≈ 100% */\n\n --coal-0: #0a0a0a; /* L* ≈ 4% */\n --coal-5: #141414; /* L* ≈ 8% */\n --coal-10: #1f1f1f; /* L* ≈ 12% */\n --coal-15: #292929; /* L* ≈ 16% */\n --coal-20: #333333; /* L* ≈ 20% */\n --coal-25: #3d3d3d; /* L* ≈ 24% */\n --coal-30: #474747; /* L* ≈ 28% */\n --coal-35: #525252; /* L* ≈ 32% */\n --coal-40: #5c5c5c; /* L* ≈ 36% */\n --coal-45: #666666; /* L* ≈ 40% */\n --coal-50: #707070; /* L* ≈ 44% */\n --coal-55: #7a7a7a; /* L* ≈ 48% */\n --coal-60: #858585; /* L* ≈ 52% */\n --coal-65: #8f8f8f; /* L* ≈ 56% */\n --coal-70: #999999; /* L* ≈ 60% */\n --coal-75: #a3a3a3; /* L* ≈ 64% */\n --coal-80: #adadad; /* L* ≈ 68% */\n --coal-85: #b8b8b8; /* L* ≈ 72% */\n --coal-90: #c2c2c2; /* L* ≈ 76% */\n --coal-95: #cccccc; /* L* ≈ 80% */\n --coal-100: #d6d6d6; /* L* ≈ 84% */\n --coal-105: #e0e0e0; /* L* ≈ 88% */\n --coal-110: #ebebeb; /* L* ≈ 92% */\n /* --coal-white: #FFF; L* ≈ 100% */\n }\n`;\n"]}
|
package/dist/theming.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const theming: import("lit").CSSResult;
|
package/dist/theming.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import { colors } from './colors.js';
|
|
3
|
-
export const theming = css `
|
|
4
|
-
${colors}
|
|
5
|
-
* {
|
|
6
|
-
--oscd-primary: var(--oscd-theme-primary, var(--french-blue-15));
|
|
7
|
-
--oscd-secondary: var(--oscd-theme-secondary, var(--french-blue-55));
|
|
8
|
-
--secondary: var(--oscd-secondary);
|
|
9
|
-
--oscd-theme-error: var(--oscd-theme-error, #dc322f);
|
|
10
|
-
--oscd-base03: var(--oscd-theme-base03, var(--slate-0));
|
|
11
|
-
--oscd-base02: var(--oscd-theme-base02, var(--slate-5));
|
|
12
|
-
--oscd-base01: var(--oscd-theme-base01, var(--slate-25));
|
|
13
|
-
--oscd-base00: var(--oscd-theme-base00, var(--slate-30));
|
|
14
|
-
--oscd-base0: var(--oscd-theme-base0, var(--slate-65));
|
|
15
|
-
--oscd-base1: var(--oscd-theme-base1, var(--slate-70));
|
|
16
|
-
--oscd-base2: var(--oscd-theme-base2, var(--slate-110));
|
|
17
|
-
--oscd-base3: var(--oscd-theme-base3, white);
|
|
18
|
-
--oscd-error: var(--oscd-theme-error, #dc322f);
|
|
19
|
-
--oscd-text-font: var(--oscd-theme-text-font, 'Roboto');
|
|
20
|
-
--oscd-icon-font: var(--oscd-theme-icon-font, 'Material Icons');
|
|
21
|
-
--oscd-text-font-mono: var(--oscd-theme-text-font-mono, 'Roboto Mono');
|
|
22
|
-
--oscd-warning: var(--oscd-theme-warning, #b58900);
|
|
23
|
-
--md-sys-color-primary: var(--oscd-primary);
|
|
24
|
-
--md-sys-color-on-primary: var(--oscd-base3);
|
|
25
|
-
--md-sys-color-secondary: var(--oscd-secondary);
|
|
26
|
-
--md-sys-color-on-secondary: var(--oscd-base3);
|
|
27
|
-
--md-sys-color-secondary-container: var(--oscd-base2);
|
|
28
|
-
--md-sys-color-surface: var(--oscd-base3);
|
|
29
|
-
--md-sys-color-on-surface: var(--oscd-base00);
|
|
30
|
-
--md-sys-color-surface-variant: var(--oscd-base3);
|
|
31
|
-
--md-sys-color-on-surface-variant: var(--oscd-base00);
|
|
32
|
-
--md-sys-color-surface-bright: var(--oscd-base2);
|
|
33
|
-
--md-sys-color-surface-container: var(--oscd-base3);
|
|
34
|
-
--md-sys-color-surface-container-high: var(--oscd-base3);
|
|
35
|
-
--md-sys-color-surface-container-highest: var(--oscd-base3);
|
|
36
|
-
--md-sys-color-outline-variant: var(--oscd-primary);
|
|
37
|
-
--md-sys-color-scrim: #000000;
|
|
38
|
-
--md-sys-color-error: var(--oscd-error);
|
|
39
|
-
--md-sys-color-on-error: var(--oscd-base3);
|
|
40
|
-
/* --md-menu-item-selected-label-text-color: var(--oscd-base01); */
|
|
41
|
-
--md-icon-button-disabled-icon-color: var(--oscd-base3);
|
|
42
|
-
/* MDC Theme Colors
|
|
43
|
-
* Needed for supporting any pluggins still using the depricated MWC Components
|
|
44
|
-
*/
|
|
45
|
-
--mdc-theme-primary: var(--oscd-primary);
|
|
46
|
-
--mdc-theme-secondary: var(--oscd-secondary);
|
|
47
|
-
--mdc-theme-background: var(--oscd-base3);
|
|
48
|
-
--mdc-theme-surface: var(--oscd-base3);
|
|
49
|
-
--mdc-theme-on-primary: var(--oscd-base2);
|
|
50
|
-
--mdc-theme-on-secondary: var(--oscd-base3);
|
|
51
|
-
--mdc-theme-on-background: var(--oscd-base00);
|
|
52
|
-
--mdc-theme-on-surface: var(--oscd-base00);
|
|
53
|
-
--mdc-theme-text-primary-on-background: var(--oscd-base01);
|
|
54
|
-
--mdc-theme-text-secondary-on-background: var(--oscd-base3);
|
|
55
|
-
--mdc-theme-text-icon-on-background: var(--oscd-base3);
|
|
56
|
-
--mdc-theme-error: var(--oscd-error);
|
|
57
|
-
--mdc-button-disabled-ink-color: var(--oscd-base1);
|
|
58
|
-
--mdc-drawer-heading-ink-color: var(--oscd-base00);
|
|
59
|
-
--mdc-dialog-heading-ink-color: var(--oscd-base00);
|
|
60
|
-
--mdc-text-field-fill-color: var(--oscd-base2);
|
|
61
|
-
--mdc-text-field-ink-color: var(--oscd-base02);
|
|
62
|
-
--mdc-text-field-label-ink-color: var(--oscd-base01);
|
|
63
|
-
--mdc-text-field-idle-line-color: var(--oscd-base00);
|
|
64
|
-
--mdc-text-field-hover-line-color: var(--oscd-base02);
|
|
65
|
-
--mdc-select-fill-color: var(--oscd-base2);
|
|
66
|
-
--mdc-select-ink-color: var(--oscd-base02);
|
|
67
|
-
--mdc-select-label-ink-color: var(--oscd-base01);
|
|
68
|
-
--mdc-select-idle-line-color: var(--oscd-base00);
|
|
69
|
-
--mdc-select-hover-line-color: var(--oscd-base02);
|
|
70
|
-
--mdc-select-dropdown-icon-color: var(--oscd-base01);
|
|
71
|
-
--mdc-typography-font-family: var(--oscd-text-font);
|
|
72
|
-
--mdc-icon-font: var(--oscd-icon-font);
|
|
73
|
-
--mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);
|
|
74
|
-
}
|
|
75
|
-
`;
|
|
76
|
-
//# sourceMappingURL=theming.js.map
|
package/dist/theming.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theming.js","sourceRoot":"","sources":["../src/theming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAA;IACtB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuET,CAAC","sourcesContent":["import { css } from 'lit';\nimport { colors } from './colors.js';\n\nexport const theming = css`\n ${colors}\n * {\n --oscd-primary: var(--oscd-theme-primary, var(--french-blue-15));\n --oscd-secondary: var(--oscd-theme-secondary, var(--french-blue-55));\n --secondary: var(--oscd-secondary);\n --oscd-theme-error: var(--oscd-theme-error, #dc322f);\n --oscd-base03: var(--oscd-theme-base03, var(--slate-0));\n --oscd-base02: var(--oscd-theme-base02, var(--slate-5));\n --oscd-base01: var(--oscd-theme-base01, var(--slate-25));\n --oscd-base00: var(--oscd-theme-base00, var(--slate-30));\n --oscd-base0: var(--oscd-theme-base0, var(--slate-65));\n --oscd-base1: var(--oscd-theme-base1, var(--slate-70));\n --oscd-base2: var(--oscd-theme-base2, var(--slate-110));\n --oscd-base3: var(--oscd-theme-base3, white);\n --oscd-error: var(--oscd-theme-error, #dc322f);\n --oscd-text-font: var(--oscd-theme-text-font, 'Roboto');\n --oscd-icon-font: var(--oscd-theme-icon-font, 'Material Icons');\n --oscd-text-font-mono: var(--oscd-theme-text-font-mono, 'Roboto Mono');\n --oscd-warning: var(--oscd-theme-warning, #b58900);\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-menu-item-selected-label-text-color: var(--oscd-base01); */\n --md-icon-button-disabled-icon-color: var(--oscd-base3);\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-base3);\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-base3);\n --mdc-theme-text-icon-on-background: var(--oscd-base3);\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-ink-color: var(--oscd-base02);\n --mdc-text-field-label-ink-color: var(--oscd-base01);\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-ink-color: var(--oscd-base02);\n --mdc-select-label-ink-color: var(--oscd-base01);\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"]}
|