@compas-oscd/open-scd 0.34.29 → 0.34.31

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 (128) hide show
  1. package/dist/WizardDivider.d.ts +0 -1
  2. package/dist/Wizarding.d.ts +2 -16
  3. package/dist/Wizarding.js +2 -4
  4. package/dist/Wizarding.js.map +1 -1
  5. package/dist/action-icon.d.ts +0 -1
  6. package/dist/action-pane.d.ts +0 -1
  7. package/dist/addons/Editor.d.ts +0 -1
  8. package/dist/addons/Editor.js +1 -3
  9. package/dist/addons/Editor.js.map +1 -1
  10. package/dist/addons/History.d.ts +3 -8
  11. package/dist/addons/History.js +3 -12
  12. package/dist/addons/History.js.map +1 -1
  13. package/dist/addons/Layout.d.ts +0 -1
  14. package/dist/addons/Layout.js +1 -2
  15. package/dist/addons/Layout.js.map +1 -1
  16. package/dist/addons/Settings.d.ts +1 -2
  17. package/dist/addons/Settings.js +5 -6
  18. package/dist/addons/Settings.js.map +1 -1
  19. package/dist/addons/Waiter.d.ts +0 -1
  20. package/dist/addons/Waiter.js +11 -3
  21. package/dist/addons/Waiter.js.map +1 -1
  22. package/dist/addons/Wizards.d.ts +0 -1
  23. package/dist/addons/editor/edit-action-to-v1-converter.d.ts +1 -3
  24. package/dist/addons/editor/edit-action-to-v1-converter.js +11 -13
  25. package/dist/addons/editor/edit-action-to-v1-converter.js.map +1 -1
  26. package/dist/addons/editor/edit-v1-to-v2-converter.d.ts +0 -1
  27. package/dist/addons/editor/edit-v1-to-v2-converter.js +3 -2
  28. package/dist/addons/editor/edit-v1-to-v2-converter.js.map +1 -1
  29. package/dist/addons/history/get-log-text.d.ts +0 -1
  30. package/dist/addons/history/get-log-text.js +1 -1
  31. package/dist/addons/history/get-log-text.js.map +1 -1
  32. package/dist/addons/menu-tabs/menu-tabs.d.ts +0 -1
  33. package/dist/addons/plugin-manager/custom-plugin-dialog.d.ts +0 -1
  34. package/dist/addons/plugin-manager/plugin-manager.d.ts +0 -1
  35. package/dist/addons/plugin-manager/plugin-manager.js.map +1 -1
  36. package/dist/filtered-list.d.ts +0 -1
  37. package/dist/finder-list.d.ts +0 -1
  38. package/dist/foundation/compare.d.ts +0 -1
  39. package/dist/foundation/dai.d.ts +0 -1
  40. package/dist/foundation/generators.d.ts +0 -1
  41. package/dist/foundation/ied.d.ts +1 -2
  42. package/dist/foundation/ied.js.map +1 -1
  43. package/dist/foundation/nsd.d.ts +0 -1
  44. package/dist/foundation/nsdoc.d.ts +0 -1
  45. package/dist/foundation/scl.d.ts +0 -1
  46. package/dist/foundation.d.ts +1 -2
  47. package/dist/foundation.js +1 -1
  48. package/dist/foundation.js.map +1 -1
  49. package/dist/icons/compare.d.ts +0 -1
  50. package/dist/icons/icons.d.ts +0 -1
  51. package/dist/icons/ied-icons.d.ts +0 -1
  52. package/dist/icons/lnode.d.ts +0 -1
  53. package/dist/index.d.ts +13 -20
  54. package/dist/index.js +18 -20
  55. package/dist/index.js.map +1 -1
  56. package/dist/open-scd.d.ts +1 -2
  57. package/dist/open-scd.js +10 -10
  58. package/dist/open-scd.js.map +1 -1
  59. package/dist/oscd-filter-button.d.ts +0 -1
  60. package/dist/plain-compare-list.d.ts +0 -1
  61. package/dist/plugin-tag.d.ts +0 -1
  62. package/dist/plugin.d.ts +0 -1
  63. package/dist/plugin.events.d.ts +0 -1
  64. package/dist/plugins.d.ts +0 -1
  65. package/dist/schemas.d.ts +0 -1
  66. package/dist/themes.d.ts +1 -2
  67. package/dist/themes.js.map +1 -1
  68. package/dist/translations/de.d.ts +0 -1
  69. package/dist/translations/en.d.ts +0 -1
  70. package/dist/translations/loader.d.ts +0 -1
  71. package/dist/translations/loader.js.map +1 -1
  72. package/dist/wizard-checkbox.d.ts +0 -1
  73. package/dist/wizard-dialog.d.ts +0 -1
  74. package/dist/wizard-dialog.js +2 -2
  75. package/dist/wizard-dialog.js.map +1 -1
  76. package/dist/wizard-select.d.ts +0 -1
  77. package/dist/wizard-textfield.d.ts +1 -2
  78. package/dist/wizards.d.ts +0 -1
  79. package/dist/wizards.js.map +1 -1
  80. package/package.json +11 -352
  81. package/dist/WizardDivider.d.ts.map +0 -1
  82. package/dist/Wizarding.d.ts.map +0 -1
  83. package/dist/action-icon.d.ts.map +0 -1
  84. package/dist/action-pane.d.ts.map +0 -1
  85. package/dist/addons/Editor.d.ts.map +0 -1
  86. package/dist/addons/History.d.ts.map +0 -1
  87. package/dist/addons/Layout.d.ts.map +0 -1
  88. package/dist/addons/Settings.d.ts.map +0 -1
  89. package/dist/addons/Waiter.d.ts.map +0 -1
  90. package/dist/addons/Wizards.d.ts.map +0 -1
  91. package/dist/addons/editor/edit-action-to-v1-converter.d.ts.map +0 -1
  92. package/dist/addons/editor/edit-v1-to-v2-converter.d.ts.map +0 -1
  93. package/dist/addons/history/get-log-text.d.ts.map +0 -1
  94. package/dist/addons/menu-tabs/menu-tabs.d.ts.map +0 -1
  95. package/dist/addons/plugin-manager/custom-plugin-dialog.d.ts.map +0 -1
  96. package/dist/addons/plugin-manager/plugin-manager.d.ts.map +0 -1
  97. package/dist/filtered-list.d.ts.map +0 -1
  98. package/dist/finder-list.d.ts.map +0 -1
  99. package/dist/foundation/compare.d.ts.map +0 -1
  100. package/dist/foundation/dai.d.ts.map +0 -1
  101. package/dist/foundation/generators.d.ts.map +0 -1
  102. package/dist/foundation/ied.d.ts.map +0 -1
  103. package/dist/foundation/nsd.d.ts.map +0 -1
  104. package/dist/foundation/nsdoc.d.ts.map +0 -1
  105. package/dist/foundation/scl.d.ts.map +0 -1
  106. package/dist/foundation.d.ts.map +0 -1
  107. package/dist/icons/compare.d.ts.map +0 -1
  108. package/dist/icons/icons.d.ts.map +0 -1
  109. package/dist/icons/ied-icons.d.ts.map +0 -1
  110. package/dist/icons/lnode.d.ts.map +0 -1
  111. package/dist/index.d.ts.map +0 -1
  112. package/dist/open-scd.d.ts.map +0 -1
  113. package/dist/oscd-filter-button.d.ts.map +0 -1
  114. package/dist/plain-compare-list.d.ts.map +0 -1
  115. package/dist/plugin-tag.d.ts.map +0 -1
  116. package/dist/plugin.d.ts.map +0 -1
  117. package/dist/plugin.events.d.ts.map +0 -1
  118. package/dist/plugins.d.ts.map +0 -1
  119. package/dist/schemas.d.ts.map +0 -1
  120. package/dist/themes.d.ts.map +0 -1
  121. package/dist/translations/de.d.ts.map +0 -1
  122. package/dist/translations/en.d.ts.map +0 -1
  123. package/dist/translations/loader.d.ts.map +0 -1
  124. package/dist/wizard-checkbox.d.ts.map +0 -1
  125. package/dist/wizard-dialog.d.ts.map +0 -1
  126. package/dist/wizard-select.d.ts.map +0 -1
  127. package/dist/wizard-textfield.d.ts.map +0 -1
  128. package/dist/wizards.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-dialog.js","sourceRoot":"","sources":["../src/wizard-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n css,\n queryAll,\n LitElement,\n property,\n state,\n TemplateResult,\n html,\n query,\n} from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-button';\nimport '@material/mwc-dialog';\nimport '@material/mwc-icon-button';\nimport '@material/mwc-icon-button-toggle';\nimport '@material/mwc-menu';\nimport { Dialog } from '@material/mwc-dialog';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { List } from '@material/mwc-list';\nimport { Menu } from '@material/mwc-menu';\n\nimport { formatXml } from '@openscd/xml';\n\nimport 'ace-custom-element';\nimport './wizard-checkbox.js';\nimport './wizard-textfield.js';\nimport './wizard-select.js';\n\nimport {\n newActionEvent,\n Delete,\n Create,\n} from '@compas-oscd/core/foundation/deprecated/editor';\nimport {\n Wizard,\n WizardInputElement,\n WizardPage,\n newWizardEvent,\n WizardActor,\n wizardInputSelector,\n isWizardFactory,\n checkValidity,\n reportValidity,\n identity,\n WizardInput,\n WizardMenuActor,\n} from './foundation.js';\n\nfunction renderWizardInput(\n input: TemplateResult | WizardInput\n): TemplateResult {\n if (input instanceof TemplateResult) return input;\n\n if (input.kind === 'Checkbox')\n return html`<wizard-checkbox\n ?nullable=${input.nullable}\n ?defaultChecked=${input.default}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n .maybeValue=${input.maybeValue}\n ></wizard-checkbox>`;\n\n if (input.kind === 'Select')\n return html`<wizard-select\n ?nullable=${input.nullable}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n defaultValue=\"${ifDefined(input.default)}\"\n validationMessage=\"${ifDefined(input.valadationMessage)}\"\n .maybeValue=${input.maybeValue}\n >${input.values.map(\n value => html`<mwc-list-item value=\"${value}\">${value}</mwc-list-item>`\n )}</wizard-select\n >`;\n\n return html`<wizard-textfield\n ?nullable=${input.nullable}\n ?required=${input.required}\n ?disabled=${input.disabled}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n defaultValue=\"${ifDefined(input.default)}\"\n helper=\"${ifDefined(input.helper)}\"\n validationMessage=\"${ifDefined(input.helper)}\"\n unit=\"${ifDefined(input.unit)}\"\n .multipliers=${input.multipliers ?? []}\n .multiplier=${input.multiplier ?? null}\n suffix=\"${ifDefined(input.suffix)}\"\n .maybeValue=${input.maybeValue}\n pattern=\"${ifDefined(input.pattern)}\"\n minLength=\"${ifDefined(input.minLength)}\"\n maxLength=\"${ifDefined(input.maxLength)}\"\n type=\"${ifDefined(input.type)}\"\n min=\"${ifDefined(input.min)}\"\n max=\"${ifDefined(input.max)}\"\n ></wizard-textfield>`;\n}\n\nfunction dialogInputs(dialog?: Dialog): WizardInputElement[] {\n return Array.from(dialog?.querySelectorAll(wizardInputSelector) ?? []);\n}\n\nfunction dialogValid(dialog?: Dialog): boolean {\n return dialogInputs(dialog).every(checkValidity);\n}\n\nfunction codeAction(element: Element): WizardActor {\n return inputs => {\n const text = inputs[0].value!;\n if (!text || !element.parentElement) return [];\n const desc = {\n parent: element.parentElement!,\n reference: element.nextSibling,\n element,\n };\n const del: Delete = {\n old: desc,\n checkValidity: () => true,\n };\n const cre: Create = {\n new: {\n ...desc,\n element: new DOMParser().parseFromString(text, 'application/xml')\n .documentElement,\n },\n checkValidity: () => true,\n };\n return [\n {\n actions: [del, cre],\n title: get('code.log', {\n id: identity(element),\n }),\n },\n ];\n };\n}\n\n/** A wizard style dialog consisting of several pages commiting some\n * [[`EditorAction`]] on completion and aborting on dismissal. */\n@customElement('wizard-dialog')\nexport class WizardDialog extends LitElement {\n /** The [[`Wizard`]] implemented by this dialog. */\n @property({ type: Array })\n wizard: Wizard = [];\n /** Index of the currently active [[`WizardPage`]] */\n @state()\n pageIndex = 0;\n\n @queryAll('mwc-dialog') dialogs!: NodeListOf<Dialog>;\n @queryAll(wizardInputSelector) inputs!: NodeListOf<WizardInputElement>;\n @query('.actions-menu') actionsMenu!: Menu;\n @query('mwc-icon-button[icon=\"more_vert\"]') menuButton!: IconButton;\n\n /** The `Dialog` showing the active [[`WizardPage`]]. */\n get dialog(): Dialog | undefined {\n return this.dialogs[this.pageIndex];\n }\n\n get code(): boolean {\n return (\n (this.dialog?.querySelector('mwc-icon-button-toggle')?.on ?? false) &&\n localStorage.getItem('mode') === 'pro'\n );\n }\n\n /** Checks the inputs of all [[`WizardPage`]]s for validity. */\n checkValidity(): boolean {\n return Array.from(this.inputs).every(checkValidity);\n }\n\n private get firstInvalidPage(): number {\n return Array.from(this.dialogs).findIndex(dialog => !dialogValid(dialog));\n }\n\n prev(): void {\n if (this.pageIndex <= 0) return;\n this.pageIndex--;\n this.dialog?.show();\n }\n\n async next(): Promise<void> {\n if (dialogValid(this.dialog)) {\n if (this.wizard.length > this.pageIndex + 1) this.pageIndex++;\n this.dialog?.show();\n } else {\n this.dialog?.show();\n await this.dialog?.updateComplete;\n dialogInputs(this.dialog).map(reportValidity);\n }\n }\n\n /** Commits `action` if all inputs are valid, reports validity otherwise. */\n async act(action?: WizardActor, primary = true): Promise<boolean> {\n if (action === undefined) return false;\n const wizardInputs = Array.from(this.inputs);\n const wizardList = <List | null>(\n this.dialog?.querySelector('filtered-list,mwc-list')\n );\n if (!this.checkValidity()) {\n this.pageIndex = this.firstInvalidPage;\n wizardInputs.map(reportValidity);\n return false;\n }\n\n const wizardActions = action(wizardInputs, this, wizardList);\n if (wizardActions.length > 0) {\n if (primary) this.wizard[this.pageIndex].primary = undefined;\n else this.wizard[this.pageIndex].secondary = undefined;\n this.dispatchEvent(newWizardEvent());\n }\n wizardActions.forEach(wa =>\n isWizardFactory(wa)\n ? this.dispatchEvent(newWizardEvent(wa))\n : this.dispatchEvent(newActionEvent(wa))\n );\n return true;\n }\n\n /** Triggers menu action callback */\n async menuAct(action?: WizardMenuActor): Promise<void> {\n if (!action) return;\n\n action(this);\n }\n\n private onClosed(ae: CustomEvent<{ action: string } | null>): void {\n if (!(ae.target instanceof Dialog && ae.detail?.action)) return;\n if (ae.detail.action === 'close') this.dispatchEvent(newWizardEvent());\n else if (ae.detail.action === 'prev') this.prev();\n else if (ae.detail.action === 'next') this.next();\n }\n\n constructor() {\n super();\n\n this.act = this.act.bind(this);\n this.renderPage = this.renderPage.bind(this);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n if (changedProperties.has('wizard')) {\n this.pageIndex = 0;\n while (\n this.wizard.findIndex(page => page.initial) > this.pageIndex &&\n dialogValid(this.dialog)\n ) {\n this.dialog?.close();\n this.next();\n }\n this.dialog?.show();\n }\n if (this.wizard[this.pageIndex]?.primary?.auto) {\n this.updateComplete.then(() =>\n this.act(this.wizard[this.pageIndex].primary!.action)\n );\n }\n\n if (this.actionsMenu)\n this.actionsMenu.anchor = <HTMLElement>this.menuButton;\n }\n\n renderMenu(page: WizardPage): TemplateResult {\n const someIconsDefined = page.menuActions?.some(\n menuAction => menuAction.icon\n );\n\n return html` <mwc-icon-button\n icon=\"more_vert\"\n @click=${() => {\n if (!this.actionsMenu.open) this.actionsMenu.show();\n else this.actionsMenu.close();\n }}\n ></mwc-icon-button>\n <mwc-menu class=\"actions-menu\" corner=\"BOTTOM_RIGHT\" menuCorner=\"END\">\n ${page.menuActions!.map(\n menuAction =>\n html`<mwc-list-item\n .graphic=${someIconsDefined ? 'icon' : null}\n @click=${() => this.menuAct(menuAction.action)}\n >\n <span>${menuAction.label}</span>\n ${menuAction.icon\n ? html`<mwc-icon slot=\"graphic\">${menuAction.icon}</mwc-icon>`\n : html``}\n </mwc-list-item>`\n )}\n </mwc-menu>`;\n }\n\n renderPage(page: WizardPage, index: number): TemplateResult {\n const isProMode = localStorage.getItem('mode') === 'pro';\n const hasPageElement = Boolean(page.element);\n const showCodeToggleButton = hasPageElement && isProMode\n\n let extraWidth = 0;\n\n if(showCodeToggleButton && page.menuActions){\n extraWidth = 96;\n }else if(showCodeToggleButton || page.menuActions){\n extraWidth = 48;\n }else{\n extraWidth = 0;\n }\n\n\n return html`<mwc-dialog\n defaultAction=\"next\"\n heading=${page.title}\n @closed=${this.onClosed}\n style=\"--mdc-dialog-min-width:calc(100% + ${extraWidth}px)\"\n >\n ${showCodeToggleButton || page.menuActions\n ? html`<nav>\n ${showCodeToggleButton\n ? html`<mwc-icon-button-toggle\n onicon=\"code\"\n officon=\"code_off\"\n @click=${() => this.requestUpdate()}\n ></mwc-icon-button-toggle>`\n : ''}\n ${page.menuActions ? this.renderMenu(page) : ''}\n </nav>`\n : ''}\n <div id=\"wizard-content\">\n ${this.code && page.element\n ? html`<ace-editor\n base-path=\"/public/ace\"\n wrap\n soft-tabs\n style=\"width: 80vw; height: calc(100vh - 240px);\"\n theme=\"ace/theme/solarized_${localStorage.getItem('theme')}\"\n mode=\"ace/mode/xml\"\n value=\"${formatXml(\n new XMLSerializer().serializeToString(page.element)\n )}\"\n ></ace-editor>`\n : page.content?.map(renderWizardInput)}\n </div>\n ${index > 0\n ? html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"prev\"\n icon=\"navigate_before\"\n label=${this.wizard?.[index - 1].title}\n ></mwc-button>`\n : html``}\n ${page.secondary\n ? html`<mwc-button\n slot=\"secondaryAction\"\n @click=${() => this.act(page.secondary?.action, false)}\n icon=\"${page.secondary.icon}\"\n label=\"${page.secondary.label}\"\n ></mwc-button>`\n : html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"close\"\n label=\"${get('close')}\"\n style=\"--mdc-theme-primary: var(--mdc-theme-error)\"\n ></mwc-button>`}\n ${this.code && page.element\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(codeAction(page.element!))}\n icon=\"code\"\n label=\"${get('save')}\"\n trailingIcon\n ></mwc-button>`\n : page.primary\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(page.primary?.action)}\n icon=\"${page.primary.icon}\"\n label=\"${page.primary.label}\"\n trailingIcon\n ></mwc-button>`\n : index + 1 < (this.wizard?.length ?? 0)\n ? html`<mwc-button\n slot=\"primaryAction\"\n dialogAction=\"next\"\n icon=\"navigate_next\"\n label=${this.wizard?.[index + 1].title}\n trailingicon\n ></mwc-button>`\n : html``}\n </mwc-dialog>`;\n }\n\n render(): TemplateResult {\n return html`${this.wizard.map(this.renderPage)}`;\n }\n\n static styles = css`\n mwc-dialog {\n --mdc-dialog-max-width: 92vw;\n }\n\n mwc-dialog > nav {\n position: absolute;\n top: 8px;\n right: 14px;\n color: var(--base00);\n }\n\n mwc-dialog > nav > mwc-icon-button-toggle[on] {\n color: var(--mdc-theme-primary);\n }\n\n #wizard-content {\n display: flex;\n flex-direction: column;\n }\n\n #wizard-content > * {\n display: block;\n margin-top: 16px;\n }\n\n *[iconTrailing='search'] {\n --mdc-shape-small: 28px;\n }\n `;\n}\n"]}
1
+ {"version":3,"file":"wizard-dialog.js","sourceRoot":"","sources":["../src/wizard-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n customElement,\n css,\n queryAll,\n LitElement,\n property,\n state,\n TemplateResult,\n html,\n query,\n} from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-button';\nimport '@material/mwc-dialog';\nimport '@material/mwc-icon-button';\nimport '@material/mwc-icon-button-toggle';\nimport '@material/mwc-menu';\nimport { Dialog } from '@material/mwc-dialog';\nimport { IconButton } from '@material/mwc-icon-button';\nimport { List } from '@material/mwc-list';\nimport { Menu } from '@material/mwc-menu';\n\nimport { formatXml } from '@compas-oscd/xml';\n\nimport 'ace-custom-element';\nimport './wizard-checkbox.js';\nimport './wizard-textfield.js';\nimport './wizard-select.js';\nimport {\n newActionEvent,\n Delete,\n Create,\n} from '@compas-oscd/core';\nimport {\n Wizard,\n WizardInputElement,\n WizardPage,\n newWizardEvent,\n WizardActor,\n wizardInputSelector,\n isWizardFactory,\n checkValidity,\n reportValidity,\n identity,\n WizardInput,\n WizardMenuActor,\n} from './foundation.js';\n\nfunction renderWizardInput(\n input: TemplateResult | WizardInput\n): TemplateResult {\n if (input instanceof TemplateResult) return input;\n\n if (input.kind === 'Checkbox')\n return html`<wizard-checkbox\n ?nullable=${input.nullable}\n ?defaultChecked=${input.default}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n .maybeValue=${input.maybeValue}\n ></wizard-checkbox>`;\n\n if (input.kind === 'Select')\n return html`<wizard-select\n ?nullable=${input.nullable}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n helper=\"${ifDefined(input.helper)}\"\n defaultValue=\"${ifDefined(input.default)}\"\n validationMessage=\"${ifDefined(input.valadationMessage)}\"\n .maybeValue=${input.maybeValue}\n >${input.values.map(\n value => html`<mwc-list-item value=\"${value}\">${value}</mwc-list-item>`\n )}</wizard-select\n >`;\n\n return html`<wizard-textfield\n ?nullable=${input.nullable}\n ?required=${input.required}\n ?disabled=${input.disabled}\n ?dialogInitialFocus=${input.dialogInitialFocus}\n label=\"${input.label}\"\n defaultValue=\"${ifDefined(input.default)}\"\n helper=\"${ifDefined(input.helper)}\"\n validationMessage=\"${ifDefined(input.helper)}\"\n unit=\"${ifDefined(input.unit)}\"\n .multipliers=${input.multipliers ?? []}\n .multiplier=${input.multiplier ?? null}\n suffix=\"${ifDefined(input.suffix)}\"\n .maybeValue=${input.maybeValue}\n pattern=\"${ifDefined(input.pattern)}\"\n minLength=\"${ifDefined(input.minLength)}\"\n maxLength=\"${ifDefined(input.maxLength)}\"\n type=\"${ifDefined(input.type)}\"\n min=\"${ifDefined(input.min)}\"\n max=\"${ifDefined(input.max)}\"\n ></wizard-textfield>`;\n}\n\nfunction dialogInputs(dialog?: Dialog): WizardInputElement[] {\n return Array.from(dialog?.querySelectorAll(wizardInputSelector) ?? []);\n}\n\nfunction dialogValid(dialog?: Dialog): boolean {\n return dialogInputs(dialog).every(checkValidity);\n}\n\nfunction codeAction(element: Element): WizardActor {\n return inputs => {\n const text = inputs[0].value!;\n if (!text || !element.parentElement) return [];\n const desc = {\n parent: element.parentElement!,\n reference: element.nextSibling,\n element,\n };\n const del: Delete = {\n old: desc,\n checkValidity: () => true,\n };\n const cre: Create = {\n new: {\n ...desc,\n element: new DOMParser().parseFromString(text, 'application/xml')\n .documentElement,\n },\n checkValidity: () => true,\n };\n return [\n {\n actions: [del, cre],\n title: get('code.log', {\n id: identity(element),\n }),\n },\n ];\n };\n}\n\n/** A wizard style dialog consisting of several pages commiting some\n * [[`EditorAction`]] on completion and aborting on dismissal. */\n@customElement('wizard-dialog')\nexport class WizardDialog extends LitElement {\n /** The [[`Wizard`]] implemented by this dialog. */\n @property({ type: Array })\n wizard: Wizard = [];\n /** Index of the currently active [[`WizardPage`]] */\n @state()\n pageIndex = 0;\n\n @queryAll('mwc-dialog') dialogs!: NodeListOf<Dialog>;\n @queryAll(wizardInputSelector) inputs!: NodeListOf<WizardInputElement>;\n @query('.actions-menu') actionsMenu!: Menu;\n @query('mwc-icon-button[icon=\"more_vert\"]') menuButton!: IconButton;\n\n /** The `Dialog` showing the active [[`WizardPage`]]. */\n get dialog(): Dialog | undefined {\n return this.dialogs[this.pageIndex];\n }\n\n get code(): boolean {\n return (\n (this.dialog?.querySelector('mwc-icon-button-toggle')?.on ?? false) &&\n localStorage.getItem('mode') === 'pro'\n );\n }\n\n /** Checks the inputs of all [[`WizardPage`]]s for validity. */\n checkValidity(): boolean {\n return Array.from(this.inputs).every(checkValidity);\n }\n\n private get firstInvalidPage(): number {\n return Array.from(this.dialogs).findIndex(dialog => !dialogValid(dialog));\n }\n\n prev(): void {\n if (this.pageIndex <= 0) return;\n this.pageIndex--;\n this.dialog?.show();\n }\n\n async next(): Promise<void> {\n if (dialogValid(this.dialog)) {\n if (this.wizard.length > this.pageIndex + 1) this.pageIndex++;\n this.dialog?.show();\n } else {\n this.dialog?.show();\n await this.dialog?.updateComplete;\n dialogInputs(this.dialog).map(reportValidity);\n }\n }\n\n /** Commits `action` if all inputs are valid, reports validity otherwise. */\n async act(action?: WizardActor, primary = true): Promise<boolean> {\n if (action === undefined) return false;\n const wizardInputs = Array.from(this.inputs);\n const wizardList = <List | null>(\n this.dialog?.querySelector('filtered-list,mwc-list')\n );\n if (!this.checkValidity()) {\n this.pageIndex = this.firstInvalidPage;\n wizardInputs.map(reportValidity);\n return false;\n }\n\n const wizardActions = action(wizardInputs, this, wizardList);\n if (wizardActions.length > 0) {\n if (primary) this.wizard[this.pageIndex].primary = undefined;\n else this.wizard[this.pageIndex].secondary = undefined;\n this.dispatchEvent(newWizardEvent());\n }\n wizardActions.forEach(wa =>\n isWizardFactory(wa)\n ? this.dispatchEvent(newWizardEvent(wa))\n : this.dispatchEvent(newActionEvent(wa))\n );\n return true;\n }\n\n /** Triggers menu action callback */\n async menuAct(action?: WizardMenuActor): Promise<void> {\n if (!action) return;\n\n action(this);\n }\n\n private onClosed(ae: CustomEvent<{ action: string } | null>): void {\n if (!(ae.target instanceof Dialog && ae.detail?.action)) return;\n if (ae.detail.action === 'close') this.dispatchEvent(newWizardEvent());\n else if (ae.detail.action === 'prev') this.prev();\n else if (ae.detail.action === 'next') this.next();\n }\n\n constructor() {\n super();\n\n this.act = this.act.bind(this);\n this.renderPage = this.renderPage.bind(this);\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n if (changedProperties.has('wizard')) {\n this.pageIndex = 0;\n while (\n this.wizard.findIndex(page => page.initial) > this.pageIndex &&\n dialogValid(this.dialog)\n ) {\n this.dialog?.close();\n this.next();\n }\n this.dialog?.show();\n }\n if (this.wizard[this.pageIndex]?.primary?.auto) {\n this.updateComplete.then(() =>\n this.act(this.wizard[this.pageIndex].primary!.action)\n );\n }\n\n if (this.actionsMenu)\n this.actionsMenu.anchor = <HTMLElement>this.menuButton;\n }\n\n renderMenu(page: WizardPage): TemplateResult {\n const someIconsDefined = page.menuActions?.some(\n menuAction => menuAction.icon\n );\n\n return html` <mwc-icon-button\n icon=\"more_vert\"\n @click=${() => {\n if (!this.actionsMenu.open) this.actionsMenu.show();\n else this.actionsMenu.close();\n }}\n ></mwc-icon-button>\n <mwc-menu class=\"actions-menu\" corner=\"BOTTOM_RIGHT\" menuCorner=\"END\">\n ${page.menuActions!.map(\n menuAction =>\n html`<mwc-list-item\n .graphic=${someIconsDefined ? 'icon' : null}\n @click=${() => this.menuAct(menuAction.action)}\n >\n <span>${menuAction.label}</span>\n ${menuAction.icon\n ? html`<mwc-icon slot=\"graphic\">${menuAction.icon}</mwc-icon>`\n : html``}\n </mwc-list-item>`\n )}\n </mwc-menu>`;\n }\n\n renderPage(page: WizardPage, index: number): TemplateResult {\n const isProMode = localStorage.getItem('mode') === 'pro';\n const hasPageElement = Boolean(page.element);\n const showCodeToggleButton = hasPageElement && isProMode\n\n let extraWidth = 0;\n\n if(showCodeToggleButton && page.menuActions){\n extraWidth = 96;\n }else if(showCodeToggleButton || page.menuActions){\n extraWidth = 48;\n }else{\n extraWidth = 0;\n }\n\n\n return html`<mwc-dialog\n defaultAction=\"next\"\n heading=${page.title}\n @closed=${this.onClosed}\n style=\"--mdc-dialog-min-width:calc(100% + ${extraWidth}px)\"\n >\n ${showCodeToggleButton || page.menuActions\n ? html`<nav>\n ${showCodeToggleButton\n ? html`<mwc-icon-button-toggle\n onicon=\"code\"\n officon=\"code_off\"\n @click=${() => this.requestUpdate()}\n ></mwc-icon-button-toggle>`\n : ''}\n ${page.menuActions ? this.renderMenu(page) : ''}\n </nav>`\n : ''}\n <div id=\"wizard-content\">\n ${this.code && page.element\n ? html`<ace-editor\n base-path=\"/public/ace\"\n wrap\n soft-tabs\n style=\"width: 80vw; height: calc(100vh - 240px);\"\n theme=\"ace/theme/solarized_${localStorage.getItem('theme')}\"\n mode=\"ace/mode/xml\"\n value=\"${formatXml(\n new XMLSerializer().serializeToString(page.element)\n )}\"\n ></ace-editor>`\n : page.content?.map(renderWizardInput)}\n </div>\n ${index > 0\n ? html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"prev\"\n icon=\"navigate_before\"\n label=${this.wizard?.[index - 1].title}\n ></mwc-button>`\n : html``}\n ${page.secondary\n ? html`<mwc-button\n slot=\"secondaryAction\"\n @click=${() => this.act(page.secondary?.action, false)}\n icon=\"${page.secondary.icon}\"\n label=\"${page.secondary.label}\"\n ></mwc-button>`\n : html`<mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"close\"\n label=\"${get('close')}\"\n style=\"--mdc-theme-primary: var(--mdc-theme-error)\"\n ></mwc-button>`}\n ${this.code && page.element\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(codeAction(page.element!))}\n icon=\"code\"\n label=\"${get('save')}\"\n trailingIcon\n ></mwc-button>`\n : page.primary\n ? html`<mwc-button\n slot=\"primaryAction\"\n @click=${() => this.act(page.primary?.action)}\n icon=\"${page.primary.icon}\"\n label=\"${page.primary.label}\"\n trailingIcon\n ></mwc-button>`\n : index + 1 < (this.wizard?.length ?? 0)\n ? html`<mwc-button\n slot=\"primaryAction\"\n dialogAction=\"next\"\n icon=\"navigate_next\"\n label=${this.wizard?.[index + 1].title}\n trailingicon\n ></mwc-button>`\n : html``}\n </mwc-dialog>`;\n }\n\n render(): TemplateResult {\n return html`${this.wizard.map(this.renderPage)}`;\n }\n\n static styles = css`\n mwc-dialog {\n --mdc-dialog-max-width: 92vw;\n }\n\n mwc-dialog > nav {\n position: absolute;\n top: 8px;\n right: 14px;\n color: var(--base00);\n }\n\n mwc-dialog > nav > mwc-icon-button-toggle[on] {\n color: var(--mdc-theme-primary);\n }\n\n #wizard-content {\n display: flex;\n flex-direction: column;\n }\n\n #wizard-content > * {\n display: block;\n margin-top: 16px;\n }\n\n *[iconTrailing='search'] {\n --mdc-shape-small: 28px;\n }\n `;\n}\n"]}
@@ -29,4 +29,3 @@ export declare class WizardSelect extends Select {
29
29
  renderSwitch(): TemplateResult;
30
30
  render(): TemplateResult;
31
31
  }
32
- //# sourceMappingURL=wizard-select.d.ts.map
@@ -15,7 +15,7 @@ export declare class WizardTextField extends TextField {
15
15
  /** Whether [[`maybeValue`]] may be `null` */
16
16
  nullable: boolean;
17
17
  /** Selectable SI multipliers for a non-empty [[`unit`]]. */
18
- multipliers: string[];
18
+ multipliers: (string | null)[];
19
19
  private multiplierIndex;
20
20
  get multiplier(): string | null;
21
21
  set multiplier(value: string | null);
@@ -48,4 +48,3 @@ export declare class WizardTextField extends TextField {
48
48
  renderSwitch(): TemplateResult;
49
49
  render(): TemplateResult;
50
50
  }
51
- //# sourceMappingURL=wizard-textfield.d.ts.map
package/dist/wizards.d.ts CHANGED
@@ -21,4 +21,3 @@ export type Diff<T> = {
21
21
  };
22
22
  export declare function mergeWizard(sink: Element, source: Element, options?: MergeOptions): Wizard;
23
23
  export {};
24
- //# sourceMappingURL=wizards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wizards.js","sourceRoot":"","sources":["../src/wizards.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-icon';\nimport '@material/mwc-list';\nimport '@material/mwc-list/mwc-check-list-item';\nimport '@material/mwc-list/mwc-list-item';\nimport { ListItem } from '@material/mwc-list/mwc-list-item';\n\nimport {\n identity,\n isEqual,\n isSame,\n newWizardEvent,\n Wizard,\n WizardActor,\n} from './foundation.js';\nimport { EditorAction, SimpleAction } from '@compas-oscd/core/foundation/deprecated/editor';\ninterface MergeOptions {\n title?: string;\n selected?: (diff: Diff<Element | string>) => boolean;\n disabled?: (diff: Diff<Element | string>) => boolean;\n auto?: (sink: Element, source: Element) => boolean;\n}\n\nexport type Diff<T> =\n | { ours: T; theirs: null }\n | { ours: null; theirs: T }\n | { ours: T; theirs: T };\n\nfunction describe(element: Element): string {\n const id = identity(element);\n\n return typeof id === 'string' ? id.replace(/^>/, '') : get('unidentifiable');\n}\n\nfunction mergeWizardAction(\n attrDiffs: [string, Diff<string>][],\n childDiffs: Diff<Element>[],\n sink: Element,\n source: Element,\n options?: MergeOptions\n): WizardActor {\n return (_, wizard: Element): EditorAction[] => {\n const actions: SimpleAction[] = [];\n const checkList = wizard.shadowRoot!.querySelector('mwc-list')!;\n\n const selectedAttrDiffs = (<ListItem[]>checkList.selected)\n .filter(item => item.classList.contains('attr'))\n .map(item => attrDiffs[item.value as unknown as number]);\n\n const newSink = <Element>sink.cloneNode(false);\n const parent = selectedAttrDiffs.length ? newSink : sink;\n if (selectedAttrDiffs.length) {\n if (sink.childElementCount === 0) newSink.textContent = sink.textContent;\n for (const [name, diff] of selectedAttrDiffs)\n if (name === 'value') {\n newSink.textContent = diff.theirs;\n } else if (diff.theirs === null) newSink.removeAttribute(name);\n else newSink.setAttribute(name, diff.theirs);\n actions.push({ old: { element: sink }, new: { element: newSink } });\n }\n\n let acted = false;\n\n const selectedChildDiffs = (<ListItem[]>checkList.selected)\n .filter(item => item.classList.contains('child'))\n .map(item => childDiffs[item.value as unknown as number]);\n if (selectedChildDiffs.length) {\n for (const diff of selectedChildDiffs)\n if (!diff.ours)\n actions.push({\n new: { parent, element: diff.theirs },\n });\n else if (!diff.theirs)\n actions.push({\n old: {\n parent,\n element: diff.ours,\n reference: diff.ours.nextSibling,\n },\n });\n else {\n acted = true;\n wizard.dispatchEvent(\n newWizardEvent(\n mergeWizard(diff.ours, diff.theirs, {\n ...options,\n title: undefined,\n })\n )\n );\n }\n }\n\n if (actions.length === 0 && !acted) wizard.dispatchEvent(newWizardEvent());\n\n return [\n {\n actions,\n title: get('merge.log', {\n sink: describe(sink),\n source: describe(source),\n tag: sink.tagName,\n }),\n },\n ];\n };\n}\n\nexport function mergeWizard(\n sink: Element,\n source: Element,\n options?: MergeOptions\n): Wizard {\n const attrDiffs: [string, Diff<string>][] = [];\n const ourText = sink.textContent ?? '';\n const theirText = source.textContent ?? '';\n\n if (\n sink.childElementCount === 0 &&\n source.childElementCount === 0 &&\n theirText !== ourText\n )\n attrDiffs.push(['value', { ours: ourText, theirs: theirText }]);\n\n const attributeNames = new Set(\n source.getAttributeNames().concat(sink.getAttributeNames())\n );\n\n for (const name of attributeNames)\n if (source.getAttribute(name) !== sink.getAttribute(name))\n attrDiffs.push([\n name,\n <Diff<string>>{\n theirs: source.getAttribute(name),\n ours: sink.getAttribute(name),\n },\n ]);\n\n const childDiffs: Diff<Element>[] = [];\n const ourChildren = Array.from(sink.children);\n const theirChildren = Array.from(source.children);\n\n theirChildren.forEach(theirs => {\n const twinIndex = ourChildren.findIndex(ourChild =>\n isSame(theirs, ourChild)\n );\n const ours = twinIndex > -1 ? ourChildren[twinIndex] : null;\n\n if (ours) ourChildren.splice(twinIndex, 1);\n if (ours && isEqual(theirs, ours)) return;\n\n if (!ours || !isEqual(theirs, ours)) childDiffs.push({ theirs, ours });\n });\n\n ourChildren.forEach(ours => childDiffs.push({ theirs: null, ours }));\n\n return [\n {\n title:\n options?.title ??\n get('merge.defaultTitle', {\n sink: describe(sink),\n source: describe(source),\n tag: sink.tagName,\n }),\n primary: {\n label: get('merge.title'),\n icon: 'merge_type',\n action: mergeWizardAction(attrDiffs, childDiffs, sink, source, options),\n auto: options?.auto?.(sink, source) ?? false,\n },\n content: [\n html`\n <mwc-list multi>\n ${repeat(\n attrDiffs,\n e => e,\n ([name, diff], index) =>\n html`<mwc-check-list-item\n value=${index}\n class=\"attr\"\n twoline\n left\n hasMeta\n .selected=${options?.selected?.(diff) ?? false}\n .disabled=${options?.disabled?.(diff) ?? false}\n style=\"--mdc-checkbox-checked-color: var(--mdc-theme-${diff.ours\n ? diff.theirs\n ? 'secondary'\n : 'error'\n : 'primary'});\"\n >\n <span>${name}</span>\n <span slot=\"secondary\"\n >${diff.ours ?? ''}\n ${diff.ours && diff.theirs ? html`&cularr;` : ' '}\n ${diff.theirs ?? ''}</span\n >\n <mwc-icon slot=\"meta\"\n >${diff.ours\n ? diff.theirs\n ? 'edit'\n : 'delete'\n : 'add'}</mwc-icon\n >\n </mwc-check-list-item>`\n )}\n ${childDiffs.length\n ? html`<mwc-list-item noninteractive\n >${get('merge.children')}</mwc-list-item\n >\n <li padded divider role=\"separator\"></li>`\n : ''}\n ${repeat(\n childDiffs,\n e => e,\n (diff, index) =>\n html`<mwc-check-list-item\n value=${index}\n class=\"child\"\n twoline\n left\n hasMeta\n .selected=${options?.selected?.(diff) ?? false}\n .disabled=${options?.disabled?.(diff) ?? false}\n style=\"--mdc-checkbox-checked-color: var(--mdc-theme-${diff.ours\n ? diff.theirs\n ? 'secondary'\n : 'error'\n : 'primary'});\"\n >\n <span>${diff.ours?.tagName ?? diff.theirs?.tagName}</span>\n <span slot=\"secondary\"\n >${diff.ours ? describe(diff.ours) : ''}\n ${diff.ours &&\n diff.theirs &&\n describe(diff.ours) + describe(diff.theirs)\n ? html`&cularr;`\n : ' '}\n ${diff.theirs ? describe(diff.theirs) : ''}</span\n >\n <mwc-icon slot=\"meta\"\n >${diff.ours\n ? diff.theirs\n ? 'merge_type'\n : 'delete'\n : 'add'}</mwc-icon\n >\n </mwc-check-list-item>`\n )}\n </mwc-list>\n `,\n ],\n },\n ];\n}\n"]}
1
+ {"version":3,"file":"wizards.js","sourceRoot":"","sources":["../src/wizards.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-icon';\nimport '@material/mwc-list';\nimport '@material/mwc-list/mwc-check-list-item';\nimport '@material/mwc-list/mwc-list-item';\nimport { ListItem } from '@material/mwc-list/mwc-list-item';\n\nimport {\n identity,\n isEqual,\n isSame,\n newWizardEvent,\n Wizard,\n WizardActor,\n} from './foundation.js';\nimport { EditorAction, SimpleAction } from '@compas-oscd/core';\ninterface MergeOptions {\n title?: string;\n selected?: (diff: Diff<Element | string>) => boolean;\n disabled?: (diff: Diff<Element | string>) => boolean;\n auto?: (sink: Element, source: Element) => boolean;\n}\n\nexport type Diff<T> =\n | { ours: T; theirs: null }\n | { ours: null; theirs: T }\n | { ours: T; theirs: T };\n\nfunction describe(element: Element): string {\n const id = identity(element);\n\n return typeof id === 'string' ? id.replace(/^>/, '') : get('unidentifiable');\n}\n\nfunction mergeWizardAction(\n attrDiffs: [string, Diff<string>][],\n childDiffs: Diff<Element>[],\n sink: Element,\n source: Element,\n options?: MergeOptions\n): WizardActor {\n return (_, wizard: Element): EditorAction[] => {\n const actions: SimpleAction[] = [];\n const checkList = wizard.shadowRoot!.querySelector('mwc-list')!;\n\n const selectedAttrDiffs = (<ListItem[]>checkList.selected)\n .filter(item => item.classList.contains('attr'))\n .map(item => attrDiffs[item.value as unknown as number]);\n\n const newSink = <Element>sink.cloneNode(false);\n const parent = selectedAttrDiffs.length ? newSink : sink;\n if (selectedAttrDiffs.length) {\n if (sink.childElementCount === 0) newSink.textContent = sink.textContent;\n for (const [name, diff] of selectedAttrDiffs)\n if (name === 'value') {\n newSink.textContent = diff.theirs;\n } else if (diff.theirs === null) newSink.removeAttribute(name);\n else newSink.setAttribute(name, diff.theirs);\n actions.push({ old: { element: sink }, new: { element: newSink } });\n }\n\n let acted = false;\n\n const selectedChildDiffs = (<ListItem[]>checkList.selected)\n .filter(item => item.classList.contains('child'))\n .map(item => childDiffs[item.value as unknown as number]);\n if (selectedChildDiffs.length) {\n for (const diff of selectedChildDiffs)\n if (!diff.ours)\n actions.push({\n new: { parent, element: diff.theirs },\n });\n else if (!diff.theirs)\n actions.push({\n old: {\n parent,\n element: diff.ours,\n reference: diff.ours.nextSibling,\n },\n });\n else {\n acted = true;\n wizard.dispatchEvent(\n newWizardEvent(\n mergeWizard(diff.ours, diff.theirs, {\n ...options,\n title: undefined,\n })\n )\n );\n }\n }\n\n if (actions.length === 0 && !acted) wizard.dispatchEvent(newWizardEvent());\n\n return [\n {\n actions,\n title: get('merge.log', {\n sink: describe(sink),\n source: describe(source),\n tag: sink.tagName,\n }),\n },\n ];\n };\n}\n\nexport function mergeWizard(\n sink: Element,\n source: Element,\n options?: MergeOptions\n): Wizard {\n const attrDiffs: [string, Diff<string>][] = [];\n const ourText = sink.textContent ?? '';\n const theirText = source.textContent ?? '';\n\n if (\n sink.childElementCount === 0 &&\n source.childElementCount === 0 &&\n theirText !== ourText\n )\n attrDiffs.push(['value', { ours: ourText, theirs: theirText }]);\n\n const attributeNames = new Set(\n source.getAttributeNames().concat(sink.getAttributeNames())\n );\n\n for (const name of attributeNames)\n if (source.getAttribute(name) !== sink.getAttribute(name))\n attrDiffs.push([\n name,\n <Diff<string>>{\n theirs: source.getAttribute(name),\n ours: sink.getAttribute(name),\n },\n ]);\n\n const childDiffs: Diff<Element>[] = [];\n const ourChildren = Array.from(sink.children);\n const theirChildren = Array.from(source.children);\n\n theirChildren.forEach(theirs => {\n const twinIndex = ourChildren.findIndex(ourChild =>\n isSame(theirs, ourChild)\n );\n const ours = twinIndex > -1 ? ourChildren[twinIndex] : null;\n\n if (ours) ourChildren.splice(twinIndex, 1);\n if (ours && isEqual(theirs, ours)) return;\n\n if (!ours || !isEqual(theirs, ours)) childDiffs.push({ theirs, ours });\n });\n\n ourChildren.forEach(ours => childDiffs.push({ theirs: null, ours }));\n\n return [\n {\n title:\n options?.title ??\n get('merge.defaultTitle', {\n sink: describe(sink),\n source: describe(source),\n tag: sink.tagName,\n }),\n primary: {\n label: get('merge.title'),\n icon: 'merge_type',\n action: mergeWizardAction(attrDiffs, childDiffs, sink, source, options),\n auto: options?.auto?.(sink, source) ?? false,\n },\n content: [\n html`\n <mwc-list multi>\n ${repeat(\n attrDiffs,\n e => e,\n ([name, diff], index) =>\n html`<mwc-check-list-item\n value=${index}\n class=\"attr\"\n twoline\n left\n hasMeta\n .selected=${options?.selected?.(diff) ?? false}\n .disabled=${options?.disabled?.(diff) ?? false}\n style=\"--mdc-checkbox-checked-color: var(--mdc-theme-${diff.ours\n ? diff.theirs\n ? 'secondary'\n : 'error'\n : 'primary'});\"\n >\n <span>${name}</span>\n <span slot=\"secondary\"\n >${diff.ours ?? ''}\n ${diff.ours && diff.theirs ? html`&cularr;` : ' '}\n ${diff.theirs ?? ''}</span\n >\n <mwc-icon slot=\"meta\"\n >${diff.ours\n ? diff.theirs\n ? 'edit'\n : 'delete'\n : 'add'}</mwc-icon\n >\n </mwc-check-list-item>`\n )}\n ${childDiffs.length\n ? html`<mwc-list-item noninteractive\n >${get('merge.children')}</mwc-list-item\n >\n <li padded divider role=\"separator\"></li>`\n : ''}\n ${repeat(\n childDiffs,\n e => e,\n (diff, index) =>\n html`<mwc-check-list-item\n value=${index}\n class=\"child\"\n twoline\n left\n hasMeta\n .selected=${options?.selected?.(diff) ?? false}\n .disabled=${options?.disabled?.(diff) ?? false}\n style=\"--mdc-checkbox-checked-color: var(--mdc-theme-${diff.ours\n ? diff.theirs\n ? 'secondary'\n : 'error'\n : 'primary'});\"\n >\n <span>${diff.ours?.tagName ?? diff.theirs?.tagName}</span>\n <span slot=\"secondary\"\n >${diff.ours ? describe(diff.ours) : ''}\n ${diff.ours &&\n diff.theirs &&\n describe(diff.ours) + describe(diff.theirs)\n ? html`&cularr;`\n : ' '}\n ${diff.theirs ? describe(diff.theirs) : ''}</span\n >\n <mwc-icon slot=\"meta\"\n >${diff.ours\n ? diff.theirs\n ? 'merge_type'\n : 'delete'\n : 'add'}</mwc-icon\n >\n </mwc-check-list-item>`\n )}\n </mwc-list>\n `,\n ],\n },\n ];\n}\n"]}
package/package.json CHANGED
@@ -1,11 +1,8 @@
1
1
  {
2
2
  "name": "@compas-oscd/open-scd",
3
- "version": "0.34.29",
4
- "repository": {
5
- "type": "git",
6
- "url": "https://github.com/com-pas/open-scd.git",
7
- "directory": "packages/openscd"
8
- },
3
+ "version": "0.34.31",
4
+ "repository": "https://github.com/openscd/open-scd.git",
5
+ "directory": "packages/openscd",
9
6
  "description": "A bottom-up substation configuration designer for projects described using SCL `IEC 61850-6` Edition 2 or greater.",
10
7
  "keywords": [
11
8
  "SCL",
@@ -17,357 +14,22 @@
17
14
  ],
18
15
  "author": "OMICRON electronics GmbH",
19
16
  "license": "Apache-2.0",
17
+ "browser": "./dist/index.js",
20
18
  "main": "./dist/index.js",
21
19
  "module": "./dist/index.js",
22
20
  "types": "./dist/index.d.ts",
21
+ "files": [
22
+ "./dist/**"
23
+ ],
23
24
  "exports": {
24
25
  ".": {
25
- "types": "./dist/index.d.ts",
26
26
  "import": "./dist/index.js",
27
- "default": "./dist/index.js"
28
- },
29
- "./src/addons/Waiter.js": {
30
- "types": "./dist/addons/Waiter.d.ts",
31
- "import": "./dist/addons/Waiter.js",
32
- "default": "./dist/addons/Waiter.js"
33
- },
34
- "./src/addons/Settings.js": {
35
- "types": "./dist/addons/Settings.d.ts",
36
- "import": "./dist/addons/Settings.js",
37
- "default": "./dist/addons/Settings.js"
38
- },
39
- "./src/addons/History.js": {
40
- "types": "./dist/addons/History.d.ts",
41
- "import": "./dist/addons/History.js",
42
- "default": "./dist/addons/History.js"
43
- },
44
- "./src/addons/Layout.js": {
45
- "types": "./dist/addons/Layout.d.ts",
46
- "import": "./dist/addons/Layout.js",
47
- "default": "./dist/addons/Layout.js"
48
- },
49
- "./src/foundation.js": {
50
- "types": "./dist/foundation.d.ts",
51
- "import": "./dist/foundation.js",
52
- "default": "./dist/foundation.js"
53
- },
54
- "./src/foundation": {
55
- "types": "./dist/foundation.d.ts",
56
- "import": "./dist/foundation.js",
57
- "default": "./dist/foundation.js"
58
- },
59
- "./src/foundation/nsdoc.js": {
60
- "types": "./dist/foundation/nsdoc.d.ts",
61
- "import": "./dist/foundation/nsdoc.js",
62
- "default": "./dist/foundation/nsdoc.js"
63
- },
64
- "./src/plugin.js": {
65
- "types": "./dist/plugin.d.ts",
66
- "import": "./dist/plugin.js",
67
- "default": "./dist/plugin.js"
68
- },
69
- "./src/plugin.events.js": {
70
- "types": "./dist/plugin.events.d.ts",
71
- "import": "./dist/plugin.events.js",
72
- "default": "./dist/plugin.events.js"
73
- },
74
- "./src/plugin-tag.js": {
75
- "types": "./dist/plugin-tag.d.ts",
76
- "import": "./dist/plugin-tag.js",
77
- "default": "./dist/plugin-tag.js"
78
- },
79
- "./src/schemas.js": {
80
- "types": "./dist/schemas.d.ts",
81
- "import": "./dist/schemas.js",
82
- "default": "./dist/schemas.js"
83
- },
84
- "./src/wizards.js": {
85
- "types": "./dist/wizards.d.ts",
86
- "import": "./dist/wizards.js",
87
- "default": "./dist/wizards.js"
88
- },
89
- "./src/translations/de.js": {
90
- "types": "./dist/translations/de.d.ts",
91
- "import": "./dist/translations/de.js",
92
- "default": "./dist/translations/de.js"
93
- },
94
- "./src/translations/en.js": {
95
- "types": "./dist/translations/en.d.ts",
96
- "import": "./dist/translations/en.js",
97
- "default": "./dist/translations/en.js"
98
- },
99
- "./src/filtered-list.js": {
100
- "types": "./dist/filtered-list.d.ts",
101
- "import": "./dist/filtered-list.js",
102
- "default": "./dist/filtered-list.js"
103
- },
104
- "./finder-list.js": {
105
- "types": "./dist/finder-list.d.ts",
106
- "import": "./dist/finder-list.js",
107
- "default": "./dist/finder-list.js"
108
- },
109
- "./src/wizard-textfield.js": {
110
- "types": "./dist/wizard-textfield.d.ts",
111
- "import": "./dist/wizard-textfield.js",
112
- "default": "./dist/wizard-textfield.js"
113
- },
114
- "./src/oscd-filter-button.js": {
115
- "types": "./dist/oscd-filter-button.d.ts",
116
- "import": "./dist/oscd-filter-button.js",
117
- "default": "./dist/oscd-filter-button.js"
118
- },
119
- "./src/WizardDivider.js": {
120
- "types": "./dist/WizardDivider.d.ts",
121
- "import": "./dist/WizardDivider.js",
122
- "default": "./dist/WizardDivider.js"
123
- },
124
- "./wizard-checkbox.js": {
125
- "types": "./dist/wizard-checkbox.d.ts",
126
- "import": "./dist/wizard-checkbox.js",
127
- "default": "./dist/wizard-checkbox.js"
128
- },
129
- "./wizard-dialog.js": {
130
- "types": "./dist/wizard-dialog.d.ts",
131
- "import": "./dist/wizard-dialog.js",
132
- "default": "./dist/wizard-dialog.js"
133
- },
134
- "./wizard-select.js": {
135
- "types": "./dist/wizard-select.d.ts",
136
- "import": "./dist/wizard-select.js",
137
- "default": "./dist/wizard-select.js"
138
- },
139
- "./src/plain-compare-list.js": {
140
- "types": "./dist/plain-compare-list.d.ts",
141
- "import": "./dist/plain-compare-list.js",
142
- "default": "./dist/plain-compare-list.js"
143
- },
144
- "./src/action-pane.js": {
145
- "types": "./dist/action-pane.d.ts",
146
- "import": "./dist/action-pane.js",
147
- "default": "./dist/action-pane.js"
148
- },
149
- "./src/action-icon.js": {
150
- "types": "./dist/action-icon.d.ts",
151
- "import": "./dist/action-icon.js",
152
- "default": "./dist/action-icon.js"
153
- },
154
- "./addons/Waiter.js": {
155
- "types": "./dist/addons/Waiter.d.ts",
156
- "import": "./dist/addons/Waiter.js",
157
- "default": "./dist/addons/Waiter.js"
158
- },
159
- "./addons/Settings.js": {
160
- "types": "./dist/addons/Settings.d.ts",
161
- "import": "./dist/addons/Settings.js",
162
- "default": "./dist/addons/Settings.js"
163
- },
164
- "./addons/History.js": {
165
- "types": "./dist/addons/History.d.ts",
166
- "import": "./dist/addons/History.js",
167
- "default": "./dist/addons/History.js"
168
- },
169
- "./addons/Layout.js": {
170
- "types": "./dist/addons/Layout.d.ts",
171
- "import": "./dist/addons/Layout.js",
172
- "default": "./dist/addons/Layout.js"
173
- },
174
- "./addons/Wizards.js": {
175
- "types": "./dist/addons/Wizards.d.ts",
176
- "import": "./dist/addons/Wizards.js",
177
- "default": "./dist/addons/Wizards.js"
178
- },
179
- "./foundation.js": {
180
- "types": "./dist/foundation.d.ts",
181
- "import": "./dist/foundation.js",
182
- "default": "./dist/foundation.js"
183
- },
184
- "./foundation": {
185
- "types": "./dist/foundation.d.ts",
186
- "import": "./dist/foundation.js",
187
- "default": "./dist/foundation.js"
188
- },
189
- "./foundation/nsdoc.js": {
190
- "types": "./dist/foundation/nsdoc.d.ts",
191
- "import": "./dist/foundation/nsdoc.js",
192
- "default": "./dist/foundation/nsdoc.js"
193
- },
194
- "./foundation/compare.js": {
195
- "types": "./dist/foundation/compare.d.ts",
196
- "import": "./dist/foundation/compare.js",
197
- "default": "./dist/foundation/compare.js"
198
- },
199
- "./foundation/dai.js": {
200
- "types": "./dist/foundation/dai.d.ts",
201
- "import": "./dist/foundation/dai.js",
202
- "default": "./dist/foundation/dai.js"
203
- },
204
- "./foundation/generators.js": {
205
- "types": "./dist/foundation/generators.d.ts",
206
- "import": "./dist/foundation/generators.js",
207
- "default": "./dist/foundation/generators.js"
208
- },
209
- "./foundation/ied.js": {
210
- "types": "./dist/foundation/ied.d.ts",
211
- "import": "./dist/foundation/ied.js",
212
- "default": "./dist/foundation/ied.js"
213
- },
214
- "./foundation/nsd.js": {
215
- "types": "./dist/foundation/nsd.d.ts",
216
- "import": "./dist/foundation/nsd.js",
217
- "default": "./dist/foundation/nsd.js"
218
- },
219
- "./foundation/scl.js": {
220
- "types": "./dist/foundation/scl.d.ts",
221
- "import": "./dist/foundation/scl.js",
222
- "default": "./dist/foundation/scl.js"
223
- },
224
- "./icons/icons.js": {
225
- "types": "./dist/icons/icons.d.ts",
226
- "import": "./dist/icons/icons.js",
227
- "default": "./dist/icons/icons.js"
228
- },
229
- "./icons/compare.js": {
230
- "types": "./dist/icons/compare.d.ts",
231
- "import": "./dist/icons/compare.js",
232
- "default": "./dist/icons/compare.js"
233
- },
234
- "./icons/ied-icons.js": {
235
- "types": "./dist/icons/ied-icons.d.ts",
236
- "import": "./dist/icons/ied-icons.js",
237
- "default": "./dist/icons/ied-icons.js"
238
- },
239
- "./icons/lnode.js": {
240
- "types": "./dist/icons/lnode.d.ts",
241
- "import": "./dist/icons/lnode.js",
242
- "default": "./dist/icons/lnode.js"
243
- },
244
- "./WizardDivider.js": {
245
- "types": "./dist/WizardDivider.d.ts",
246
- "import": "./dist/WizardDivider.js",
247
- "default": "./dist/WizardDivider.js"
248
- },
249
- "./Wizarding.js": {
250
- "types": "./dist/Wizarding.d.ts",
251
- "import": "./dist/Wizarding.js",
252
- "default": "./dist/Wizarding.js"
253
- },
254
- "./plugin.js": {
255
- "types": "./dist/plugin.d.ts",
256
- "import": "./dist/plugin.js",
257
- "default": "./dist/plugin.js"
258
- },
259
- "./plugin.events.js": {
260
- "types": "./dist/plugin.events.d.ts",
261
- "import": "./dist/plugin.events.js",
262
- "default": "./dist/plugin.events.js"
263
- },
264
- "./plugin-tag.js": {
265
- "types": "./dist/plugin-tag.d.ts",
266
- "import": "./dist/plugin-tag.js",
267
- "default": "./dist/plugin-tag.js"
268
- },
269
- "./schemas.js": {
270
- "types": "./dist/schemas.d.ts",
271
- "import": "./dist/schemas.js",
272
- "default": "./dist/schemas.js"
273
- },
274
- "./wizards.js": {
275
- "types": "./dist/wizards.d.ts",
276
- "import": "./dist/wizards.js",
277
- "default": "./dist/wizards.js"
278
- },
279
- "./translations/de.js": {
280
- "types": "./dist/translations/de.d.ts",
281
- "import": "./dist/translations/de.js",
282
- "default": "./dist/translations/de.js"
283
- },
284
- "./translations/en.js": {
285
- "types": "./dist/translations/en.d.ts",
286
- "import": "./dist/translations/en.js",
287
- "default": "./dist/translations/en.js"
288
- },
289
- "./filtered-list.js": {
290
- "types": "./dist/filtered-list.d.ts",
291
- "import": "./dist/filtered-list.js",
292
- "default": "./dist/filtered-list.js"
293
- },
294
- "./wizard-textfield.js": {
295
- "types": "./dist/wizard-textfield.d.ts",
296
- "import": "./dist/wizard-textfield.js",
297
- "default": "./dist/wizard-textfield.js"
298
- },
299
- "./oscd-filter-button.js": {
300
- "types": "./dist/oscd-filter-button.d.ts",
301
- "import": "./dist/oscd-filter-button.js",
302
- "default": "./dist/oscd-filter-button.js"
303
- },
304
- "./plain-compare-list.js": {
305
- "types": "./dist/plain-compare-list.d.ts",
306
- "import": "./dist/plain-compare-list.js",
307
- "default": "./dist/plain-compare-list.js"
308
- },
309
- "./action-pane.js": {
310
- "types": "./dist/action-pane.d.ts",
311
- "import": "./dist/action-pane.js",
312
- "default": "./dist/action-pane.js"
313
- },
314
- "./action-icon.js": {
315
- "types": "./dist/action-icon.d.ts",
316
- "import": "./dist/action-icon.js",
317
- "default": "./dist/action-icon.js"
318
- },
319
- "./foundation/deprecated/editor.js": {
320
- "types": "./dist/foundation/deprecated/editor.d.ts",
321
- "import": "./dist/foundation/deprecated/editor.js",
322
- "default": "./dist/foundation/deprecated/editor.js"
323
- },
324
- "./foundation/deprecated/history.js": {
325
- "types": "./dist/foundation/deprecated/history.d.ts",
326
- "import": "./dist/foundation/deprecated/history.js",
327
- "default": "./dist/foundation/deprecated/history.js"
328
- },
329
- "./foundation/deprecated/settings.js": {
330
- "types": "./dist/foundation/deprecated/settings.d.ts",
331
- "import": "./dist/foundation/deprecated/settings.js",
332
- "default": "./dist/foundation/deprecated/settings.js"
333
- },
334
- "./foundation/deprecated/waiter.js": {
335
- "types": "./dist/foundation/deprecated/waiter.d.ts",
336
- "import": "./dist/foundation/deprecated/waiter.js",
337
- "default": "./dist/foundation/deprecated/waiter.js"
338
- },
339
- "./foundation/deprecated/validation.js": {
340
- "types": "./dist/foundation/deprecated/validation.d.ts",
341
- "import": "./dist/foundation/deprecated/validation.js",
342
- "default": "./dist/foundation/deprecated/validation.js"
343
- },
344
- "./foundation/deprecated/open-event.js": {
345
- "types": "./dist/foundation/deprecated/open-event.d.ts",
346
- "import": "./dist/foundation/deprecated/open-event.js",
347
- "default": "./dist/foundation/deprecated/open-event.js"
348
- },
349
- "./*": {
350
- "types": "./dist/*.d.ts",
351
- "import": "./dist/*.js",
352
- "default": "./dist/*.js"
353
- }
354
- },
355
- "peerDependencies": {
356
- "@compas-oscd/core": "*"
357
- },
358
- "peerDependenciesMeta": {
359
- "@compas-oscd/core": {
360
- "optional": false
27
+ "require": "./dist/index.js"
361
28
  }
362
29
  },
363
- "type": "module",
364
- "files": [
365
- "dist/**/*.js",
366
- "dist/**/*.d.ts",
367
- "dist/**/*.d.ts.map",
368
- "dist/**/*.js.map"
369
- ],
370
30
  "dependencies": {
31
+ "@compas-oscd/core": "^0.1.21",
32
+ "@compas-oscd/xml": "^0.0.1",
371
33
  "@material/mwc-dialog": "0.22.1",
372
34
  "@material/mwc-drawer": "0.22.1",
373
35
  "@material/mwc-fab": "0.22.1",
@@ -387,8 +49,6 @@
387
49
  "@material/mwc-textfield": "0.22.1",
388
50
  "@material/mwc-top-app-bar-fixed": "0.22.1",
389
51
  "@openscd/oscd-api": "^0.1.5",
390
- "@compas-oscd/core": "^0.1.12",
391
- "@openscd/xml": "npm:@compas-oscd/xml@*",
392
52
  "ace-custom-element": "^1.6.5",
393
53
  "lit": "^2.2.7",
394
54
  "lit-translate": "^1.2.1",
@@ -419,8 +79,7 @@
419
79
  "release:patch": "standard-version --release-as patch",
420
80
  "release:major": "standard-version --release-as major",
421
81
  "bundle": "npm run test && npm run bundle:notest",
422
- "build": "tsc && tsc --project tsconfig.declarations.json",
423
- "prepublishOnly": "npm run clean && npm run build"
82
+ "build": "tsc"
424
83
  },
425
84
  "devDependencies": {
426
85
  "@commitlint/cli": "^13.1.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"WizardDivider.d.ts","sourceRoot":"","sources":["../src/WizardDivider.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,qBACa,oBAAqB,SAAQ,UAAU;IAIlD,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,IAAI,cAAc;IAIxB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAIvB,MAAM,CAAC,MAAM,kCAUX;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Wizarding.d.ts","sourceRoot":"","sources":["../src/Wizarding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAS,MAAM,aAAa,CAAC;AACjE,OAAO,EAEL,qBAAqB,EACrB,KAAK,EAEL,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iFAAiF;AACjF,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,eAAe,IAAI,cAAc,CAAC;CACnC;AAED,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;AAEtF;6EAC6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAEvD,wBAAgB,SAAS,CAAC,KAAK,SAAS,qBAAqB,EAC3D,IAAI,EAAE,KAAK,GACV,KAAK,GAAG,oBAAoB,CA2C9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-icon.d.ts","sourceRoot":"","sources":["../src/action-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,oBAAoB,CAAC;AAE5B;;;;;;GAMG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,4CAA4C;IAE5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAE5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IAEpE,SAAS,UAAS;IAClB,yCAAyC;IAEzC,WAAW,UAAS;IACpB,8CAA8C;IAE9C,WAAW,UAAS;IAEd,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,UAAU;IAQlB,MAAM,IAAI,cAAc;IAMxB,MAAM,CAAC,MAAM,kCAkKX;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-pane.d.ts","sourceRoot":"","sources":["../src/action-pane.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,UAAU,EAEV,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,OAAO,oBAAoB,CAAC;AAkB5B;;;;;;GAMG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,4CAA4C;IAE5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAE5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IAEpE,SAAS,UAAS;IAClB,yCAAyC;IAEzC,WAAW,UAAS;IACpB,iEAAiE;IAEjE,KAAK,SAAK;IAEJ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC,OAAO,CAAC,YAAY;IA0BpB,MAAM,IAAI,cAAc;IAaxB,MAAM,CAAC,MAAM,kCA8EX;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Editor.d.ts","sourceRoot":"","sources":["../../src/addons/Editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,SAAS,EAGT,SAAS,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,UAAU,EAEV,cAAc,EAEf,MAAM,aAAa,CAAC;AAYrB,OAAO,EAEL,SAAS,EAKV,MAAM,mBAAmB,CAAC;AAK3B,qBACa,UAAW,SAAQ,UAAU;IACxC,qCAAqC;IAErC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAQ;IAC/B,wCAAwC;IACZ,OAAO,SAAM;IACzC,wCAAwC;IACZ,KAAK,SAAM;IACvC,6CAA6C;IACjB,MAAM,EAAG,SAAS,CAAC;IAK/C,IAAI,EAAG,WAAW,CAAC;IAEnB,OAAO,CAAC,QAAQ;IAOhB,eAAe,CAAC,KAAK,EAAE,SAAS;IAgBhC;;;OAGG;YACW,SAAS;IAiBvB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS;IAKrD,iBAAiB,IAAI,IAAI;IAazB,MAAM,IAAI,cAAc;IAIlB,iBAAiB,CAAC,KAAK,EAAE,WAAW;CAQ3C"}