@api-client/ui 0.0.10 → 0.0.11

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 (52) hide show
  1. package/.eslintrc +8 -1
  2. package/demo/index.html +3 -0
  3. package/demo/layout/index.html +91 -0
  4. package/demo/layout/index.ts +182 -0
  5. package/dist/elements/layout/SplitItem.d.ts +1 -9
  6. package/dist/elements/layout/SplitItem.d.ts.map +1 -1
  7. package/dist/elements/layout/SplitItem.js +27 -20
  8. package/dist/elements/layout/SplitItem.js.map +1 -1
  9. package/dist/elements/layout/SplitLayout.d.ts +16 -14
  10. package/dist/elements/layout/SplitLayout.d.ts.map +1 -1
  11. package/dist/elements/layout/SplitLayout.js +47 -42
  12. package/dist/elements/layout/SplitLayout.js.map +1 -1
  13. package/dist/elements/layout/SplitPanel.d.ts +7 -2
  14. package/dist/elements/layout/SplitPanel.d.ts.map +1 -1
  15. package/dist/elements/layout/SplitPanel.js +130 -52
  16. package/dist/elements/layout/SplitPanel.js.map +1 -1
  17. package/dist/elements/layout/SplitView.d.ts.map +1 -1
  18. package/dist/elements/layout/SplitView.js +18 -14
  19. package/dist/elements/layout/SplitView.js.map +1 -1
  20. package/dist/elements/layout/type.d.ts +3 -3
  21. package/dist/elements/layout/type.d.ts.map +1 -1
  22. package/dist/elements/layout/type.js.map +1 -1
  23. package/dist/pages/http-project/HttpClientCommands.d.ts.map +1 -1
  24. package/dist/pages/http-project/HttpClientCommands.js +28 -12
  25. package/dist/pages/http-project/HttpClientCommands.js.map +1 -1
  26. package/package.json +2 -1
  27. package/src/elements/layout/SplitItem.ts +29 -21
  28. package/src/elements/layout/SplitLayout.ts +53 -43
  29. package/src/elements/layout/SplitPanel.ts +140 -57
  30. package/src/elements/layout/SplitView.ts +18 -15
  31. package/src/elements/layout/type.ts +3 -4
  32. package/src/pages/http-project/HttpClientCommands.ts +28 -12
  33. package/test/elements/layout/SplitItem.test.ts +76 -75
  34. package/test/elements/layout/SplitLayoutManager.test.ts +70 -69
  35. package/test/elements/layout/SplitPanel.test.ts +10 -7
  36. package/tsconfig.eslint.json +8 -0
  37. package/web-test-runner.config.mjs +4 -1
  38. package/dist/define/layout/layout-panel.d.ts +0 -7
  39. package/dist/define/layout/layout-panel.d.ts.map +0 -1
  40. package/dist/define/layout/layout-panel.js +0 -3
  41. package/dist/define/layout/layout-panel.js.map +0 -1
  42. package/dist/elements/layout/LayoutManager.d.ts +0 -327
  43. package/dist/elements/layout/LayoutManager.d.ts.map +0 -1
  44. package/dist/elements/layout/LayoutManager.js +0 -747
  45. package/dist/elements/layout/LayoutManager.js.map +0 -1
  46. package/dist/elements/layout/LayoutPanelElement.d.ts +0 -62
  47. package/dist/elements/layout/LayoutPanelElement.d.ts.map +0 -1
  48. package/dist/elements/layout/LayoutPanelElement.js +0 -628
  49. package/dist/elements/layout/LayoutPanelElement.js.map +0 -1
  50. package/src/define/layout/layout-panel.ts +0 -9
  51. package/src/elements/layout/LayoutManager.ts +0 -930
  52. package/src/elements/layout/LayoutPanelElement.ts +0 -651
@@ -1 +1 @@
1
- {"version":3,"file":"SplitView.js","sourceRoot":"","sources":["../../../src/elements/layout/SplitView.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, TemplateResult } from \"lit\";\nimport { eventOptions, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { SplitItem } from \"./SplitItem.js\";\nimport { SplitPanel } from \"./SplitPanel.js\";\nimport { SplitDirection, SplitRegion } from \"./type.js\";\n\nexport default class SplitView extends LitElement {\n /**\n * @attribute\n */\n @property({ type: String, reflect: true }) layout: SplitDirection = SplitDirection.horizontal;\n\n /**\n * @attribute\n */\n @property({ type: Number, reflect: true }) key?: string;\n\n @property({ type: Array }) dragTypes?: string[];\n\n /**\n * Whether dragging is occurring over the element\n */\n @state() protected inDrag = false;\n\n /**\n * The region the drag is leaning to.\n */\n @state() protected dragRegion?: SplitRegion = SplitRegion.center;\n\n /**\n * A reference to the split panel that owns this view.\n */\n @property({ type: Object }) panel?: SplitPanel;\n\n /**\n * When set it adds the `overflow` hidden on the container that holds the tab contents.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) constrain = false;\n\n constructor() {\n super();\n this.handleDragleave = this.handleDragleave.bind(this);\n this.handleDragEnd = this.handleDragEnd.bind(this);\n this.addEventListener('dragenter', this.handleDragEnter.bind(this));\n this.addEventListener('dragover', this.handleDragOver.bind(this));\n this.addEventListener('drop', this.handleDrop.bind(this));\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n document.body.addEventListener('dragleave', this.handleDragleave);\n document.body.addEventListener('dragend', this.handleDragEnd);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n document.body.removeEventListener('dragleave', this.handleDragleave);\n document.body.removeEventListener('dragend', this.handleDragEnd);\n }\n\n protected handleDragEnter(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n dataTransfer.dropEffect = 'copy';\n }\n\n protected handleDragOver(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n const region = this.getDropRegionFromEvent(e);\n if (!region) {\n this.inDrag = false;\n return;\n }\n dataTransfer.dropEffect = 'copy';\n this.inDrag = true;\n this.dragRegion = region;\n }\n\n protected handleDrop(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n const kind = dataTransfer.getData('text/kind');\n const key = dataTransfer.getData('text/key');\n if (!kind || !key) {\n return;\n }\n this.inDrag = false;\n const { panel } = this;\n let dispatch = true;\n if (panel) {\n panel.addItem({ key, kind, label: 'New tab' }, { region: this.dragRegion });\n panel.manager.requestNameUpdate(key);\n dispatch = true;\n }\n if (dispatch) {\n this.dispatchEvent(new CustomEvent('datadrop', {\n detail: { kind, key, region: this.dragRegion },\n composed: true,\n bubbles: true,\n cancelable: true,\n }));\n }\n this.requestUpdate();\n }\n\n protected handleDragleave(e: DragEvent): void {\n const elm = this.findLayout(e);\n if (!elm || elm !== this) {\n this.inDrag = false;\n this.dragRegion = SplitRegion.center;\n }\n }\n\n protected handleDragEnd(): void {\n this.inDrag = false;\n this.dragRegion = SplitRegion.center;\n }\n\n protected getDropRegionFromEvent(e: DragEvent): SplitRegion | undefined {\n const layout = this.findLayout(e);\n if (!layout) {\n return undefined;\n }\n return this.getDropRegion(layout, e);\n }\n\n getDropRegion(element: HTMLElement, e: DragEvent): SplitRegion | undefined {\n const { pageX, pageY } = e;\n const rect = element.getBoundingClientRect();\n const quarterWidth = rect.width / 4;\n const quarterHeight = rect.height / 4;\n if (pageX < rect.left + quarterWidth) {\n return SplitRegion.west;\n }\n if (pageX > rect.right - quarterWidth) {\n return SplitRegion.east;\n }\n if (pageY < rect.top + quarterHeight) {\n return SplitRegion.north;\n }\n if (pageY > rect.bottom - quarterHeight) {\n return SplitRegion.south;\n }\n const withingCenterX = (pageX >= rect.left + quarterWidth) && (pageX <= rect.right - quarterWidth);\n const withingCenterY = (pageY >= rect.top + quarterHeight) && (pageY <= rect.bottom - quarterHeight);\n if (withingCenterX && withingCenterY) {\n return SplitRegion.center;\n }\n return undefined;\n }\n\n protected findLayout(e: Event): SplitView | undefined {\n const path = e.composedPath();\n while (path.length) {\n const node = path.shift() as Element;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n continue;\n }\n if (node.localName === this.localName) {\n return node as SplitView;\n }\n }\n return undefined;\n }\n\n protected hasDropTypes(dt: DataTransfer): boolean {\n const { dragTypes } = this;\n if (!Array.isArray(dragTypes)) {\n return true;\n }\n const eventTypes = [...dt.types];\n const allowedTypes = dragTypes.map(i => i.toLowerCase());\n return !allowedTypes.some(type => !eventTypes.includes(type));\n }\n\n protected panelCanDrop(e: DragEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n if (e.dataTransfer && !this.hasDropTypes(e.dataTransfer)) {\n return false;\n }\n const { panel } = this;\n if (!panel) {\n return true;\n }\n return panel.canDrop();\n }\n\n protected handleTabDragStart(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || this.key === undefined) {\n return;\n }\n\n dt.effectAllowed = 'copyMove';\n dt.dropEffect = 'move';\n const node = e.target as HTMLElement;\n dt.setData('text/kind', node.dataset.kind as string);\n dt.setData('text/key', node.dataset.key as string);\n dt.setData('text/source', this.localName);\n dt.setData('layout/key', this.key);\n }\n\n protected handleTabsDragEnter(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e)) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n dt.effectAllowed = 'move';\n dt.dropEffect = 'move';\n }\n\n protected handleTabsDragover(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e)) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n dt.effectAllowed = 'move';\n dt.dropEffect = 'move';\n }\n\n protected handleTabDrop(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e) || this.key === undefined) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n const src = dt.getData('text/source');\n const key = dt.getData('text/key');\n const kind = dt.getData('text/kind');\n const srcPanelKey = dt.getData('layout/key');\n const movingTab = src === this.localName;\n\n const overTab = this.findTab(e);\n const toIndex = overTab ? Number(overTab.dataset.index) : undefined;\n\n if (movingTab) {\n if (!srcPanelKey) {\n return;\n }\n this.moveTab(srcPanelKey, this.key, key, toIndex);\n } else {\n let dispatch = true;\n if (this.panel) {\n this.panel.addItem({ key, kind, label: 'New tab' }, { index: toIndex });\n dispatch = true;\n }\n if (dispatch) {\n this.dispatchEvent(new CustomEvent('datadrop', {\n detail: { kind, key, index: toIndex },\n composed: true,\n bubbles: true,\n cancelable: true,\n }));\n }\n this.requestUpdate();\n }\n }\n\n protected moveTab(fromLayout: string, toLayout: string, key: string, toIndex?: number): void {\n const { panel } = this;\n if (panel) {\n panel.manager.moveItem(fromLayout, toLayout, key, toIndex);\n }\n }\n\n protected findTab(e: Event): HTMLElement | undefined {\n const path = e.composedPath();\n while (path.length) {\n const node = path.shift() as Element;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n continue;\n }\n if (node.classList.contains('layout-tab')) {\n return node as HTMLElement;\n }\n }\n return undefined;\n }\n\n protected async handleTabClick(e: Event): Promise<void> {\n if (!this.panel) {\n return;\n }\n const key = (e.currentTarget as HTMLElement).dataset.key as string;\n if (!key) {\n return;\n }\n if (this.panel.selected === key) {\n return;\n }\n this.panel.selected = key;\n this.panel.manager.notifyChange();\n this.requestUpdate();\n await this.updateComplete;\n const child = this.querySelector(`[data-key=\"${key}\"]`);\n if (child) {\n child.dispatchEvent(new Event('resize'));\n }\n }\n\n /**\n * Closes a panel with right pointer configuration\n */\n protected handleTabPointerDown(e: PointerEvent): void {\n // the configuration of a middle button click which is \n // equal to 3 fingers click on a track pad.\n if (e.button === 1 && e.buttons === 4) {\n e.preventDefault();\n e.stopPropagation();\n const key = (e.target as HTMLElement).dataset.key as string;\n this.closeTab(key);\n }\n }\n\n protected handleTabClose(e: Event): void {\n const icon = e.target as HTMLElement;\n const button = icon.parentElement as HTMLElement;\n const key = button.dataset.key as string;\n if (key) {\n e.preventDefault();\n e.stopPropagation();\n this.closeTab(key);\n }\n }\n\n @eventOptions({ passive: true })\n protected handleTabTouchStart(e: TouchEvent): void {\n if (e.targetTouches.length === 3) {\n e.preventDefault();\n e.stopPropagation();\n const key = (e.target as HTMLElement).dataset.key as string;\n this.closeTab(key);\n }\n }\n\n protected closeTab(key: string): void {\n const { panel } = this;\n if (!panel) {\n return;\n }\n const item = panel.manager.findItem(key);\n if (!item) {\n return;\n }\n if (item.persistent && item.pinned) {\n return;\n }\n panel.removeItem(key);\n this.requestUpdate();\n this.dispatchEvent(new CustomEvent('closetab', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: key,\n }));\n }\n\n protected handleTabKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Enter') {\n this.handleTabClick(e);\n }\n }\n\n override render(): TemplateResult {\n return html`\n ${this.dragRegionTemplate()}\n ${this.tabsTemplate()}\n <div class=\"content\">\n <slot></slot>\n </div>\n `;\n }\n\n protected dragRegionTemplate(): TemplateResult | typeof nothing {\n const { inDrag, dragRegion } = this;\n if (!inDrag) {\n return nothing;\n }\n return html`\n <div class=\"drag-region ${dragRegion}\"></div>\n `;\n }\n\n protected tabsTemplate(): TemplateResult | string {\n const { panel } = this;\n if (!panel) {\n return '';\n }\n const items = panel.sortedItems();\n if (!items) {\n return '';\n }\n const size = items.length;\n return html`\n <div \n class=\"layout-tabs\" \n role=\"tablist\"\n @dragenter=\"${this.handleTabsDragEnter}\" \n @dragover=\"${this.handleTabsDragover}\" \n @drop=\"${this.handleTabDrop}\"\n >\n ${items.map((tab, i) => this.tabTemplate(tab, i + 1 === size, items[i + 1]?.key))}\n </div>\n `;\n }\n\n protected tabTemplate(item: SplitItem, last: boolean, nextKey?: string): TemplateResult {\n const { key, kind, label = '', index = 0, icon, isDirty = false, parent } = item;\n const { panel } = this;\n const selected = !!panel && panel.selected === key;\n const nextSelected = !!nextKey && !!panel && panel.selected === nextKey;\n const closable = !item.persistent && !item.pinned;\n const classes = {\n 'layout-tab': true,\n 'is-dirty': isDirty,\n selected,\n surface1: selected,\n };\n let title = label;\n if (isDirty) {\n title = 'Unsaved changes';\n }\n\n const dividerHidden = last || selected || nextSelected;\n return html`\n <div \n data-key=\"${key}\" \n data-kind=\"${kind}\"\n data-index=\"${index}\"\n data-parent=\"${ifDefined(parent)}\"\n data-dirty=\"${isDirty}\"\n role=\"tab\"\n class=\"${classMap(classes)}\" \n draggable=\"true\"\n tabindex=\"0\"\n\n @dragstart=\"${this.handleTabDragStart}\"\n @click=\"${this.handleTabClick}\" \n @pointerdown=\"${this.handleTabPointerDown}\"\n @touchstart=\"${this.handleTabTouchStart}\"\n @keydown=\"${this.handleTabKeyDown}\"\n >\n ${icon ? html`<ui-icon icon=\"${icon}\" class=\"tab-favicon\"></ui-icon>` : ''}\n <span class=\"tab-label\" title=\"${title}\">${label}</span>\n ${closable ? html`<ui-icon icon=\"close\" class=\"close-icon\" @click=\"${this.handleTabClose}\"></ui-icon>` : ''}\n </div>\n <div class=\"tab-divider ${dividerHidden ? 'hidden' : ''}\"></div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"SplitView.js","sourceRoot":"","sources":["../../../src/elements/layout/SplitView.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,UAAU;IAkC/C;QACE,KAAK,EAAE,CAAC;QAlCV;;WAEG;QACwC,WAAM,GAAmB,cAAc,CAAC,UAAU,CAAC;QAS9F;;WAEG;QACgB,WAAM,GAAG,KAAK,CAAC;QAElC;;WAEG;QACgB,eAAU,GAAiB,WAAW,CAAC,MAAM,CAAC;QAOjE;;;WAGG;QACyC,cAAS,GAAG,KAAK,CAAC;QAI5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEQ,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAEQ,oBAAoB;QAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACnE,CAAC;IAES,eAAe,CAAC,CAAY;QACpC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAC1C,OAAO;SACR;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;IACnC,CAAC;IAES,cAAc,CAAC,CAAY;QACnC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAC1C,OAAO;SACR;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO;SACR;QACD,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC3B,CAAC;IAES,UAAU,CAAC,CAAY;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YACpD,OAAO;SACR;QACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;YACjB,OAAO;SACR;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,2DAA2D;QAC3D,uEAAuE;QACvE,IAAI,SAAS,EAAE;YACb,0BAA0B;YAC1B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SAChF;aAAM;YACL,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5E,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;SACtC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE;YAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;YAC9C,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,eAAe,CAAC,CAAY;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;SACtC;IACH,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;IACvC,CAAC;IAES,sBAAsB,CAAC,CAAY;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,OAAoB,EAAE,CAAY;QAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE;YACpC,OAAO,WAAW,CAAC,IAAI,CAAC;SACzB;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,EAAE;YACrC,OAAO,WAAW,CAAC,IAAI,CAAC;SACzB;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,EAAE;YACpC,OAAO,WAAW,CAAC,KAAK,CAAC;SAC1B;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,aAAa,EAAE;YACvC,OAAO,WAAW,CAAC,KAAK,CAAC;SAC1B;QACD,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;QACnG,MAAM,cAAc,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QACrG,IAAI,cAAc,IAAI,cAAc,EAAE;YACpC,OAAO,WAAW,CAAC,MAAM,CAAC;SAC3B;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,UAAU,CAAC,CAAQ;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAa,CAAC;YACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,SAAS;aACV;YACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;gBACrC,OAAO,IAAiB,CAAC;aAC1B;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,YAAY,CAAC,EAAgB;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,YAAY,CAAC,CAAY;QACjC,IAAI,CAAC,CAAC,gBAAgB,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE;YACxD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAES,kBAAkB,CAAC,CAAY;QACvC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC;QAC1B,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YACjC,OAAO;SACR;QAED,EAAE,CAAC,aAAa,GAAG,UAAU,CAAC;QAC9B,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqB,CAAC;QACrC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;QACrD,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAa,CAAC,CAAC;QACnD,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAES,mBAAmB,CAAC,CAAY;QACxC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC;QAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAChC,OAAO;SACR;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IACzB,CAAC;IAES,kBAAkB,CAAC,CAAY;QACvC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC;QAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAChC,OAAO;SACR;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;QAC1B,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC;IACzB,CAAC;IAES,aAAa,CAAC,CAAY;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC;QAC1B,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1D,OAAO;SACR;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO;aACR;YACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxE,QAAQ,GAAG,IAAI,CAAC;aACjB;YACD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE;oBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;oBACrC,QAAQ,EAAE,IAAI;oBACd,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC,CAAC;aACL;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAES,OAAO,CAAC,UAAkB,EAAE,QAAgB,EAAE,GAAW,EAAE,OAAgB;QACnF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;SACvE;IACH,CAAC;IAES,OAAO,CAAC,CAAQ;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAa,CAAC;YACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBACvC,SAAS;aACV;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;gBACzC,OAAO,IAAmB,CAAC;aAC5B;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,CAAQ;QACrC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QACD,MAAM,GAAG,GAAI,CAAC,CAAC,aAA6B,CAAC,OAAO,CAAC,GAAa,CAAC;QACnE,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;YAC/B,OAAO;SACR;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;OAEG;IACO,oBAAoB,CAAC,CAAe;QAC5C,uDAAuD;QACvD,2CAA2C;QAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;YACrC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,GAAG,GAAI,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,GAAa,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAES,cAAc,CAAC,CAAQ;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,MAAqB,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAA4B,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAa,CAAC;QACzC,IAAI,GAAG,EAAE;YACP,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAGS,mBAAmB,CAAC,CAAa;QACzC,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAChC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,MAAM,GAAG,GAAI,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,GAAa,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC;IAES,QAAQ,CAAC,GAAW;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,EAAE;YAClC,OAAO;SACR;QACD,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE;YAC7C,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC,CAAC;IACN,CAAC;IAES,gBAAgB,CAAC,CAAgB;QACzC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SACxB;IACH,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAA;MACT,IAAI,CAAC,kBAAkB,EAAE;MACzB,IAAI,CAAC,YAAY,EAAE;;;;KAIpB,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,IAAI,CAAA;8BACe,UAAU;KACnC,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACX;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QAC1B,OAAO,IAAI,CAAA;;;;oBAIK,IAAI,CAAC,mBAAmB;mBACzB,IAAI,CAAC,kBAAkB;eAC3B,IAAI,CAAC,aAAa;;MAE3B,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;;KAEhF,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,IAAe,EAAE,IAAa,EAAE,OAAgB;QACpE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACjF,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC;QACnD,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC;QACxE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,OAAO;YACnB,QAAQ;YACR,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,OAAO,EAAE;YACX,KAAK,GAAG,iBAAiB,CAAC;SAC3B;QAED,MAAM,aAAa,GAAG,IAAI,IAAI,QAAQ,IAAI,YAAY,CAAC;QACvD,OAAO,IAAI,CAAA;;kBAEG,GAAG;mBACF,IAAI;oBACH,KAAK;qBACJ,SAAS,CAAC,MAAM,CAAC;oBAClB,OAAO;oBACP,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC;;eAE1B,QAAQ,CAAC,OAAO,CAAC;;;;oBAIZ,IAAI,CAAC,kBAAkB;gBAC3B,IAAI,CAAC,cAAc;sBACb,IAAI,CAAC,oBAAoB;qBAC1B,IAAI,CAAC,mBAAmB;kBAC3B,IAAI,CAAC,gBAAgB;;QAE/B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,kBAAkB,IAAI,kCAAkC,CAAC,CAAC,CAAC,EAAE;uCACzC,KAAK,KAAK,KAAK;QAC9C,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA,oDAAoD,IAAI,CAAC,cAAc,cAAc,CAAC,CAAC,CAAC,EAAE;;8BAEnF,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;KACtD,CAAC;IACJ,CAAC;CACF;AA/c4C;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yCAAoD;AAKnD;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sCAAc;AAE7B;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;4CAAsB;AAKvC;IAAR,KAAK,EAAE;yCAA0B;AAKzB;IAAR,KAAK,EAAE;6CAAyD;AAKrC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCAAoB;AAMH;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAmB;AAuT9D;IADC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAQ/B","sourcesContent":["import { html, LitElement, nothing, TemplateResult } from \"lit\";\nimport { eventOptions, property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { SplitItem } from \"./SplitItem.js\";\nimport { SplitPanel } from \"./SplitPanel.js\";\nimport { SplitDirection, SplitRegion } from \"./type.js\";\n\nexport default class SplitView extends LitElement {\n /**\n * @attribute\n */\n @property({ type: String, reflect: true }) layout: SplitDirection = SplitDirection.horizontal;\n\n /**\n * @attribute\n */\n @property({ type: Number, reflect: true }) key?: string;\n\n @property({ type: Array }) dragTypes?: string[];\n\n /**\n * Whether dragging is occurring over the element\n */\n @state() protected inDrag = false;\n\n /**\n * The region the drag is leaning to.\n */\n @state() protected dragRegion?: SplitRegion = SplitRegion.center;\n\n /**\n * A reference to the split panel that owns this view.\n */\n @property({ type: Object }) panel?: SplitPanel;\n\n /**\n * When set it adds the `overflow` hidden on the container that holds the tab contents.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) constrain = false;\n\n constructor() {\n super();\n this.handleDragleave = this.handleDragleave.bind(this);\n this.handleDragEnd = this.handleDragEnd.bind(this);\n this.addEventListener('dragenter', this.handleDragEnter.bind(this));\n this.addEventListener('dragover', this.handleDragOver.bind(this));\n this.addEventListener('drop', this.handleDrop.bind(this));\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n document.body.addEventListener('dragleave', this.handleDragleave);\n document.body.addEventListener('dragend', this.handleDragEnd);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n document.body.removeEventListener('dragleave', this.handleDragleave);\n document.body.removeEventListener('dragend', this.handleDragEnd);\n }\n\n protected handleDragEnter(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n dataTransfer.dropEffect = 'copy';\n }\n \n protected handleDragOver(e: DragEvent): void {\n const { dataTransfer } = e;\n if (!dataTransfer || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n const region = this.getDropRegionFromEvent(e);\n if (!region) {\n this.inDrag = false;\n return;\n }\n dataTransfer.dropEffect = 'copy';\n this.inDrag = true;\n this.dragRegion = region;\n }\n\n protected handleDrop(e: DragEvent): void {\n const { dataTransfer } = e;\n const { panel } = this;\n if (!dataTransfer || !panel || !this.panelCanDrop(e)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n const kind = dataTransfer.getData('text/kind');\n const key = dataTransfer.getData('text/key');\n if (!kind || !key) {\n return;\n }\n const layoutKey = dataTransfer.getData('layout/key');\n this.inDrag = false;\n // TODO: When the drag originated in another panel then we \n // move the panel between them. Otherwise we add the item to the panel.\n if (layoutKey) {\n // move operation not add.\n panel.manager.moveItem(layoutKey, panel.key, key, { region: this.dragRegion });\n } else {\n panel.addItem({ key, kind, label: 'New tab' }, { region: this.dragRegion });\n panel.manager.requestNameUpdate(key);\n }\n this.dispatchEvent(new CustomEvent('datadrop', {\n detail: { kind, key, region: this.dragRegion },\n composed: true,\n bubbles: true,\n cancelable: true,\n }));\n this.requestUpdate();\n }\n\n protected handleDragleave(e: DragEvent): void {\n const elm = this.findLayout(e);\n if (!elm || elm !== this) {\n this.inDrag = false;\n this.dragRegion = SplitRegion.center;\n }\n }\n\n protected handleDragEnd(): void {\n this.inDrag = false;\n this.dragRegion = SplitRegion.center;\n }\n\n protected getDropRegionFromEvent(e: DragEvent): SplitRegion | undefined {\n const layout = this.findLayout(e);\n if (!layout) {\n return undefined;\n }\n return this.getDropRegion(layout, e);\n }\n\n getDropRegion(element: HTMLElement, e: DragEvent): SplitRegion | undefined {\n const { pageX, pageY } = e;\n const rect = element.getBoundingClientRect();\n const quarterWidth = rect.width / 4;\n const quarterHeight = rect.height / 4;\n if (pageX < rect.left + quarterWidth) {\n return SplitRegion.west;\n }\n if (pageX > rect.right - quarterWidth) {\n return SplitRegion.east;\n }\n if (pageY < rect.top + quarterHeight) {\n return SplitRegion.north;\n }\n if (pageY > rect.bottom - quarterHeight) {\n return SplitRegion.south;\n }\n const withingCenterX = (pageX >= rect.left + quarterWidth) && (pageX <= rect.right - quarterWidth);\n const withingCenterY = (pageY >= rect.top + quarterHeight) && (pageY <= rect.bottom - quarterHeight);\n if (withingCenterX && withingCenterY) {\n return SplitRegion.center;\n }\n return undefined;\n }\n\n protected findLayout(e: Event): SplitView | undefined {\n const path = e.composedPath();\n while (path.length) {\n const node = path.shift() as Element;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n continue;\n }\n if (node.localName === this.localName) {\n return node as SplitView;\n }\n }\n return undefined;\n }\n\n protected hasDropTypes(dt: DataTransfer): boolean {\n const { dragTypes } = this;\n if (!Array.isArray(dragTypes)) {\n return true;\n }\n const eventTypes = [...dt.types];\n const allowedTypes = dragTypes.map(i => i.toLowerCase());\n return !allowedTypes.some(type => !eventTypes.includes(type));\n }\n\n protected panelCanDrop(e: DragEvent): boolean {\n if (e.defaultPrevented) {\n return false;\n }\n if (e.dataTransfer && !this.hasDropTypes(e.dataTransfer)) {\n return false;\n }\n const { panel } = this;\n if (!panel) {\n return true;\n }\n return panel.canDrop();\n }\n\n protected handleTabDragStart(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || this.key === undefined) {\n return;\n }\n\n dt.effectAllowed = 'copyMove';\n dt.dropEffect = 'move';\n const node = e.target as HTMLElement;\n dt.setData('text/kind', node.dataset.kind as string);\n dt.setData('text/key', node.dataset.key as string);\n dt.setData('text/source', this.localName);\n dt.setData('layout/key', this.key);\n }\n\n protected handleTabsDragEnter(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e)) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n dt.effectAllowed = 'move';\n dt.dropEffect = 'move';\n }\n\n protected handleTabsDragover(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e)) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n dt.effectAllowed = 'move';\n dt.dropEffect = 'move';\n }\n\n protected handleTabDrop(e: DragEvent): void {\n const dt = e.dataTransfer;\n if (!dt || !this.panelCanDrop(e) || this.key === undefined) {\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n const src = dt.getData('text/source');\n const key = dt.getData('text/key');\n const kind = dt.getData('text/kind');\n const srcPanelKey = dt.getData('layout/key');\n const movingTab = src === this.localName;\n\n const overTab = this.findTab(e);\n const toIndex = overTab ? Number(overTab.dataset.index) : undefined;\n\n if (movingTab) {\n if (!srcPanelKey) {\n return;\n }\n this.moveTab(srcPanelKey, this.key, key, toIndex);\n } else {\n let dispatch = true;\n if (this.panel) {\n this.panel.addItem({ key, kind, label: 'New tab' }, { index: toIndex });\n dispatch = true;\n }\n if (dispatch) {\n this.dispatchEvent(new CustomEvent('datadrop', {\n detail: { kind, key, index: toIndex },\n composed: true,\n bubbles: true,\n cancelable: true,\n }));\n }\n this.requestUpdate();\n }\n }\n\n protected moveTab(fromLayout: string, toLayout: string, key: string, toIndex?: number): void {\n const { panel } = this;\n if (panel) {\n panel.manager.moveItem(fromLayout, toLayout, key, { index: toIndex });\n }\n }\n\n protected findTab(e: Event): HTMLElement | undefined {\n const path = e.composedPath();\n while (path.length) {\n const node = path.shift() as Element;\n if (node.nodeType !== Node.ELEMENT_NODE) {\n continue;\n }\n if (node.classList.contains('layout-tab')) {\n return node as HTMLElement;\n }\n }\n return undefined;\n }\n\n protected async handleTabClick(e: Event): Promise<void> {\n if (!this.panel) {\n return;\n }\n const key = (e.currentTarget as HTMLElement).dataset.key as string;\n if (!key) {\n return;\n }\n if (this.panel.selected === key) {\n return;\n }\n this.panel.selected = key;\n this.panel.manager.notifyChange();\n this.requestUpdate();\n await this.updateComplete;\n const child = this.querySelector(`[data-key=\"${key}\"]`);\n if (child) {\n child.dispatchEvent(new Event('resize'));\n }\n }\n\n /**\n * Closes a panel with right pointer configuration\n */\n protected handleTabPointerDown(e: PointerEvent): void {\n // the configuration of a middle button click which is \n // equal to 3 fingers click on a track pad.\n if (e.button === 1 && e.buttons === 4) {\n e.preventDefault();\n e.stopPropagation();\n const key = (e.target as HTMLElement).dataset.key as string;\n this.closeTab(key);\n }\n }\n\n protected handleTabClose(e: Event): void {\n const icon = e.target as HTMLElement;\n const button = icon.parentElement as HTMLElement;\n const key = button.dataset.key as string;\n if (key) {\n e.preventDefault();\n e.stopPropagation();\n this.closeTab(key);\n }\n }\n\n @eventOptions({ passive: true })\n protected handleTabTouchStart(e: TouchEvent): void {\n if (e.targetTouches.length === 3) {\n e.preventDefault();\n e.stopPropagation();\n const key = (e.target as HTMLElement).dataset.key as string;\n this.closeTab(key);\n }\n }\n\n protected closeTab(key: string): void {\n const { panel } = this;\n if (!panel) {\n return;\n }\n const item = panel.manager.findItem(key);\n if (!item) {\n return;\n }\n if (item.persistent && item.pinned) {\n return;\n }\n panel.removeItem(key);\n this.requestUpdate();\n this.dispatchEvent(new CustomEvent('closetab', {\n bubbles: true,\n cancelable: true,\n composed: true,\n detail: key,\n }));\n }\n\n protected handleTabKeyDown(e: KeyboardEvent): void {\n if (e.key === 'Enter') {\n this.handleTabClick(e);\n }\n }\n\n override render(): TemplateResult {\n return html`\n ${this.dragRegionTemplate()}\n ${this.tabsTemplate()}\n <div class=\"content\">\n <slot></slot>\n </div>\n `;\n }\n\n protected dragRegionTemplate(): TemplateResult | typeof nothing {\n const { inDrag, dragRegion } = this;\n if (!inDrag) {\n return nothing;\n }\n return html`\n <div class=\"drag-region ${dragRegion}\"></div>\n `;\n }\n\n protected tabsTemplate(): TemplateResult | string {\n const { panel } = this;\n if (!panel) {\n return '';\n }\n const items = panel.sortedItems();\n if (!items) {\n return '';\n }\n const size = items.length;\n return html`\n <div \n class=\"layout-tabs\" \n role=\"tablist\"\n @dragenter=\"${this.handleTabsDragEnter}\" \n @dragover=\"${this.handleTabsDragover}\" \n @drop=\"${this.handleTabDrop}\"\n >\n ${items.map((tab, i) => this.tabTemplate(tab, i + 1 === size, items[i + 1]?.key))}\n </div>\n `;\n }\n\n protected tabTemplate(item: SplitItem, last: boolean, nextKey?: string): TemplateResult {\n const { key, kind, label = '', index = 0, icon, isDirty = false, parent } = item;\n const { panel } = this;\n const selected = !!panel && panel.selected === key;\n const nextSelected = !!nextKey && !!panel && panel.selected === nextKey;\n const closable = !item.persistent && !item.pinned;\n const classes = {\n 'layout-tab': true,\n 'is-dirty': isDirty,\n selected,\n surface1: selected,\n };\n let title = label;\n if (isDirty) {\n title = 'Unsaved changes';\n }\n\n const dividerHidden = last || selected || nextSelected;\n return html`\n <div \n data-key=\"${key}\" \n data-kind=\"${kind}\"\n data-index=\"${index}\"\n data-parent=\"${ifDefined(parent)}\"\n data-dirty=\"${isDirty}\"\n data-panel=\"${ifDefined(panel?.key)}\"\n role=\"tab\"\n class=\"${classMap(classes)}\" \n draggable=\"true\"\n tabindex=\"0\"\n\n @dragstart=\"${this.handleTabDragStart}\"\n @click=\"${this.handleTabClick}\" \n @pointerdown=\"${this.handleTabPointerDown}\"\n @touchstart=\"${this.handleTabTouchStart}\"\n @keydown=\"${this.handleTabKeyDown}\"\n >\n ${icon ? html`<ui-icon icon=\"${icon}\" class=\"tab-favicon\"></ui-icon>` : ''}\n <span class=\"tab-label\" title=\"${title}\">${label}</span>\n ${closable ? html`<ui-icon icon=\"close\" class=\"close-icon\" @click=\"${this.handleTabClose}\"></ui-icon>` : ''}\n </div>\n <div class=\"tab-divider ${dividerHidden ? 'hidden' : ''}\"></div>\n `;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { TemplateResult } from "lit";
2
- import { SplitItem } from "./SplitItem.js";
3
- import { ISplitLayout } from "./SplitLayout.js";
1
+ import type { TemplateResult } from "lit";
2
+ import type { SplitItem } from "./SplitItem.js";
3
+ import type { ISplitLayout } from "./SplitLayout.js";
4
4
  export declare enum SplitDirection {
5
5
  horizontal = "horizontal",
6
6
  vertical = "vertical"
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/elements/layout/type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAGD,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,KAAK,IAAA;IACL;;OAEG;IACH,KAAK,IAAA;CACN;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,cAAc,CAAC;AAE5F,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/elements/layout/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,QAAQ,aAAa;CACtB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,oBAAY,mBAAmB;IAC7B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAGD,oBAAY,gBAAgB;IAC1B;;OAEG;IACH,KAAK,IAAA;IACL;;OAEG;IACH,KAAK,IAAA;CACN;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,UAAU,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,cAAc,CAAC;AAE5F,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/elements/layout/type.ts"],"names":[],"mappings":"AAKA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;AACvB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;AACjB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAGD,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,yDAAK,CAAA;IACL;;OAEG;IACH,yDAAK,CAAA;AACP,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAgCD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB","sourcesContent":["/* eslint-disable import/no-cycle */\nimport { TemplateResult } from \"lit\";\nimport { SplitItem } from \"./SplitItem.js\";\nimport { ISplitLayout } from \"./SplitLayout.js\";\n\nexport enum SplitDirection {\n horizontal = 'horizontal',\n vertical = 'vertical',\n}\n\nexport enum SplitRegion {\n center = 'center',\n east = 'east',\n west = 'west',\n north = 'north',\n south = 'south',\n}\n\nexport enum PanelState {\n idle = 'idle',\n busy = 'busy',\n}\n\nexport enum SplitCloseDirection {\n left = 'left', \n right = 'right', \n both = 'both',\n}\n\n\nexport enum SplitPanelTarget {\n /**\n * Items are added to the first panel\n */\n first,\n /**\n * Items are added to the other, created panel\n */\n other,\n}\n\n/**\n * Note, options are stored by reference to you can change \n * configuration while the `SplitLayout` is running.\n */\nexport interface SplitLayoutInit {\n /**\n * The list of DataTransfer types to test against when handling drag and drop.\n * When set it checks whether all types are set on the dragged item.\n * If not set all items are allowed.\n */\n dragTypes?: string[];\n\n /**\n * When set it adds the `overflow` hidden on the container that holds the tab contents.\n */\n constrain?: boolean;\n\n /**\n * When defined this is called each time anything in the layout schema change.\n * The application can use this callback to store the state in its data store.\n * \n * When not provided, it is application's responsibility to serialize the state \n * and store the data before page unload.\n * \n * @param state The state object to stare by the application.\n * @returns The callback must return a promise.\n */\n stateCallback?: (state: ISplitLayout) => Promise<void>;\n}\n\nexport enum LayoutType {\n panel = 'panel',\n item = 'item',\n}\n\nexport interface IPanelObject {\n /**\n * The type of the object.\n */\n type: LayoutType;\n /**\n * The id of the object in the `definitions` map.\n */\n key: string;\n}\n\nexport interface SplitLayoutAddOptions {\n /**\n * The region to add the item.\n * When other than `center` it splits the panel.\n */\n region?: SplitRegion;\n /**\n * The index at which to put the item.\n * By default it is added as a last item.\n */\n index?: number;\n}\n\n/**\n * Options given when splitting a SplitPanel into 2 panels.\n */\nexport interface SplitPanelSplitOptions {\n /**\n * The layout direction.\n */\n layout?: SplitDirection;\n\n /**\n * Directs where to put existing items.\n * It's either the first or the other panel.\n */\n itemsTarget?: SplitPanelTarget;\n\n /**\n * When set it won't notify the manager about the change.\n * It is useful when this is a part of a process.\n */\n noSideEffects?: boolean;\n}\n\nexport interface SplitPanelAddOptions {\n /**\n * The layout of the panel.\n */\n layout?: SplitDirection;\n /**\n * the key of the parent layout.\n */\n parent?: string;\n}\n\nexport type SplitItemRenderCallback = (item: SplitItem, visible: boolean) => TemplateResult;\n\nexport interface SplitPanelRemoveItemOptions {\n /**\n * When set it won't notify the manager about the change.\n * It is useful when this is a part of a process.\n */\n noSideEffects?: boolean;\n}\n"]}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/elements/layout/type.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,uCAAqB,CAAA;AACvB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;AACjB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;IACf,oCAAa,CAAA;AACf,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAGD,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,yDAAK,CAAA;IACL;;OAEG;IACH,yDAAK,CAAA;AACP,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAgCD,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB","sourcesContent":["import type { TemplateResult } from \"lit\";\nimport type { SplitItem } from \"./SplitItem.js\";\nimport type { ISplitLayout } from \"./SplitLayout.js\";\n\nexport enum SplitDirection {\n horizontal = 'horizontal',\n vertical = 'vertical',\n}\n\nexport enum SplitRegion {\n center = 'center',\n east = 'east',\n west = 'west',\n north = 'north',\n south = 'south',\n}\n\nexport enum PanelState {\n idle = 'idle',\n busy = 'busy',\n}\n\nexport enum SplitCloseDirection {\n left = 'left', \n right = 'right', \n both = 'both',\n}\n\n\nexport enum SplitPanelTarget {\n /**\n * Items are added to the first panel\n */\n first,\n /**\n * Items are added to the other, created panel\n */\n other,\n}\n\n/**\n * Note, options are stored by reference to you can change \n * configuration while the `SplitLayout` is running.\n */\nexport interface SplitLayoutInit {\n /**\n * The list of DataTransfer types to test against when handling drag and drop.\n * When set it checks whether all types are set on the dragged item.\n * If not set all items are allowed.\n */\n dragTypes?: string[];\n\n /**\n * When set it adds the `overflow` hidden on the container that holds the tab contents.\n */\n constrain?: boolean;\n\n /**\n * When defined this is called each time anything in the layout schema change.\n * The application can use this callback to store the state in its data store.\n * \n * When not provided, it is application's responsibility to serialize the state \n * and store the data before page unload.\n * \n * @param state The state object to stare by the application.\n * @returns The callback must return a promise.\n */\n stateCallback?: (state: ISplitLayout) => Promise<void>;\n}\n\nexport enum LayoutType {\n panel = 'panel',\n item = 'item',\n}\n\nexport interface IPanelObject {\n /**\n * The type of the object.\n */\n type: LayoutType;\n /**\n * The id of the object in the `definitions` map.\n */\n key: string;\n}\n\nexport interface SplitLayoutAddOptions {\n /**\n * The region to add the item.\n * When other than `center` it splits the panel.\n */\n region?: SplitRegion;\n /**\n * The index at which to put the item.\n * By default it is added as a last item.\n */\n index?: number;\n}\n\n/**\n * Options given when splitting a SplitPanel into 2 panels.\n */\nexport interface SplitPanelSplitOptions {\n /**\n * The layout direction.\n */\n layout?: SplitDirection;\n\n /**\n * Directs where to put existing items.\n * It's either the first or the other panel.\n */\n itemsTarget?: SplitPanelTarget;\n\n /**\n * When set it won't notify the manager about the change.\n * It is useful when this is a part of a process.\n */\n noSideEffects?: boolean;\n}\n\nexport interface SplitPanelAddOptions {\n /**\n * The layout of the panel.\n */\n layout?: SplitDirection;\n /**\n * the key of the parent layout.\n */\n parent?: string;\n}\n\nexport type SplitItemRenderCallback = (item: SplitItem, visible: boolean) => TemplateResult;\n\nexport interface SplitPanelRemoveItemOptions {\n /**\n * When set it won't notify the manager about the change.\n * It is useful when this is a part of a process.\n */\n noSideEffects?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClientCommands.d.ts","sourceRoot":"","sources":["../../../src/pages/http-project/HttpClientCommands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAmBxD,QAAA,MAAM,QAAQ,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,EAie9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"HttpClientCommands.d.ts","sourceRoot":"","sources":["../../../src/pages/http-project/HttpClientCommands.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAmB,MAAM,gCAAgC,CAAC;AAEtF,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAmBxD,QAAA,MAAM,QAAQ,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,EAif9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -75,12 +75,16 @@ const commands = [
75
75
  label: 'Close',
76
76
  icon: close,
77
77
  execute: (init) => {
78
- const { key } = init.target.dataset;
79
- if (!key) {
78
+ const { key, panel } = init.target.dataset;
79
+ if (!key || !panel) {
80
80
  return;
81
81
  }
82
82
  const layout = init.store.get('layout');
83
- layout.removeItem(key);
83
+ const parent = layout.findPanel(panel);
84
+ if (!parent) {
85
+ return;
86
+ }
87
+ parent.removeItem(key);
84
88
  }
85
89
  },
86
90
  {
@@ -95,12 +99,16 @@ const commands = [
95
99
  return true;
96
100
  },
97
101
  execute: (init) => {
98
- const { key } = init.target.dataset;
99
- if (!key) {
102
+ const { key, panel } = init.target.dataset;
103
+ if (!key || !panel) {
100
104
  return;
101
105
  }
102
106
  const layout = init.store.get('layout');
103
- layout.removeRelative(key, SplitCloseDirection.both);
107
+ const parent = layout.findPanel(panel);
108
+ if (!parent) {
109
+ return;
110
+ }
111
+ parent.removeRelative(key, SplitCloseDirection.both);
104
112
  },
105
113
  },
106
114
  {
@@ -114,12 +122,16 @@ const commands = [
114
122
  return true;
115
123
  },
116
124
  execute: (init) => {
117
- const { key } = init.target.dataset;
118
- if (!key) {
125
+ const { key, panel } = init.target.dataset;
126
+ if (!key || !panel) {
119
127
  return;
120
128
  }
121
129
  const layout = init.store.get('layout');
122
- layout.removeRelative(key, SplitCloseDirection.right);
130
+ const parent = layout.findPanel(panel);
131
+ if (!parent) {
132
+ return;
133
+ }
134
+ parent.removeRelative(key, SplitCloseDirection.right);
123
135
  },
124
136
  },
125
137
  {
@@ -133,12 +145,16 @@ const commands = [
133
145
  return true;
134
146
  },
135
147
  execute: (init) => {
136
- const { key } = init.target.dataset;
137
- if (!key) {
148
+ const { key, panel } = init.target.dataset;
149
+ if (!key || !panel) {
138
150
  return;
139
151
  }
140
152
  const layout = init.store.get('layout');
141
- layout.removeRelative(key, SplitCloseDirection.left);
153
+ const parent = layout.findPanel(panel);
154
+ if (!parent) {
155
+ return;
156
+ }
157
+ parent.removeRelative(key, SplitCloseDirection.left);
142
158
  },
143
159
  },
144
160
  {
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClientCommands.js","sourceRoot":"","sources":["../../../src/pages/http-project/HttpClientCommands.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nimport { EnvironmentKind, ProjectFolderKind, ProjectRequestKind } from '@api-client/core/build/browser.js';\nimport { rename, close, folder, environment, request, deleteFile, send } from '../../ui/icons/Icons.js';\nimport ProjectNavigationElement from \"../../elements/project/ProjectNavigation.js\";\nimport { IContextMenuCommand, IExecuteOptions } from '../../contextual-menu/types.js';\nimport { SplitCloseDirection } from '../../elements/layout/type.js';\nimport { HttpProjectContextualStore } from './types.js';\n\nfunction findNavigation(element: HTMLElement): ProjectNavigationElement {\n if (element.localName === 'project-navigation') {\n return element as ProjectNavigationElement;\n }\n const root = element.getRootNode() as ShadowRoot;\n return root.host as ProjectNavigationElement;\n}\n\nfunction renameItem(init: IExecuteOptions<HttpProjectContextualStore>): void {\n const { key } = init.target.dataset\n if (!key) {\n return;\n }\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = key;\n}\n\nconst commands: IContextMenuCommand<HttpProjectContextualStore>[] = [\n // \n // Workspace tabs\n // \n \n {\n target: '.layout-tab',\n label: 'Duplicate',\n enabled: (ctx): boolean => {\n const { kind, key } = ctx.target.dataset;\n if (!kind || !key) {\n return false;\n }\n if (kind !== ProjectRequestKind) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { kind, key } = init.target.dataset;\n if (!kind || !key) {\n return;\n }\n if (kind !== ProjectRequestKind) {\n return;\n }\n \n const project = init.store.get('project');\n const obj = project.findRequest(key);\n if (!obj) {\n return;\n }\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const parent = obj.getParent() || project;\n const cp = obj.clone();\n parent.addRequest(cp);\n layout.addItem({\n key: cp.key,\n kind,\n label: cp.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'duplicate',\n key: cp.key,\n kind: obj.kind,\n });\n }\n },\n\n {\n target: '.layout-tab',\n label: '',\n type: 'separator',\n },\n\n {\n target: '.layout-tab',\n label: 'Close',\n icon: close,\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const layout = init.store.get('layout');\n layout.removeItem(key);\n }\n },\n {\n target: '.layout-tab',\n label: 'Close others',\n enabled: (ctx): boolean => {\n const shadow = ctx.target.getRootNode() as ShadowRoot;\n const all = shadow.querySelectorAll('.layout-tab');\n if (all.length === 1) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const layout = init.store.get('layout');\n layout.removeRelative(key, SplitCloseDirection.both);\n },\n },\n {\n target: '.layout-tab',\n label: 'Close on the right',\n enabled: (ctx): boolean => {\n const next = ctx.target.nextElementSibling;\n if (!next) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const layout = init.store.get('layout');\n layout.removeRelative(key, SplitCloseDirection.right);\n },\n },\n {\n target: '.layout-tab',\n label: 'Close on the left',\n enabled: (ctx): boolean => {\n const { index } = ctx.target.dataset;\n if (index === '0') {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const layout = init.store.get('layout');\n layout.removeRelative(key, SplitCloseDirection.left);\n },\n },\n\n {\n target: '.layout-tab',\n label: '',\n type: 'separator',\n },\n\n {\n target: '.layout-tab',\n label: 'Save',\n enabled: (ctx): boolean => {\n const { dirty } = ctx.target.dataset;\n if (dirty !== 'true') {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const page = init.store.get('page');\n page.triggerSave(key);\n },\n },\n\n //\n // NAVIGATION\n //\n {\n target: \"project-navigation\",\n label: 'Add folder',\n title: 'Adds a new folder to the project',\n icon: folder,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const created = project.addFolder();\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: \"project-navigation\",\n label: 'Add request',\n title: 'Adds a new HTTP request to the project',\n icon: request,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const created = project.addRequest('http://');\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: \"project-navigation\",\n label: 'Add environment',\n title: 'Adds a new environment definition to the project',\n icon: environment,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const created = project.addEnvironment('New environment');\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'environment'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n\n {\n target: `project-navigation`,\n type: 'separator',\n label: '',\n },\n\n {\n target: `project-navigation`,\n label: 'Run project',\n icon: send,\n title: 'Runs all requests in the folder',\n execute(args): void {\n const page = args.store.get('page');\n page.openRunner();\n },\n },\n\n // \n // Navigation items\n // \n\n // folders\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add folder',\n icon: folder,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const created = project.addFolder(undefined, { parent: key, });\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.requestNameUpdate(created.key);\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add request',\n icon: request,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const f = project.findFolder(key);\n if (f) {\n const created = f.addRequest('http://');\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n }\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add environment',\n title: 'Adds a new environment definition to the folder',\n icon: environment,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const f = project.findFolder(key);\n if (f) {\n const created = f.addEnvironment('New environment');\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'environment'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n }\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n type: 'separator',\n label: '',\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Run folder',\n icon: send,\n title: 'Runs all requests in the folder',\n execute(args): void {\n const key = args.target.dataset.key as string;\n // const project = args.store.get('project');\n const page = args.store.get('page');\n page.openRunner(key);\n // Events.Navigation.App.runProjectRunner({ key: project.key, parent: key, workspace: page.workspace });\n },\n },\n\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n type: 'separator',\n label: '',\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this folder',\n execute: renameItem,\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this folder',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const removed = project.removeFolder(key);\n if (removed) {\n layout.removeByParent(key)\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Folder not found in the project.`);\n }\n },\n },\n\n // requests\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this request',\n execute: renameItem,\n },\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Duplicate',\n title: 'Makes a duplicate of this request',\n execute: (init): void => {\n const key = init.target.dataset.key as string;\n const project = init.store.get('project');\n const obj = project.findRequest(key);\n if (!obj) {\n return;\n }\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const parent = obj.getParent() || project;\n const cp = obj.clone();\n const created = parent.addRequest(cp);\n layout.addItem({\n key: cp.key,\n kind: cp.kind,\n label: cp.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'duplicate',\n key,\n kind: created.kind,\n });\n },\n },\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this request',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const key = init.target.dataset.key as string;\n const removed = project.removeRequest(key);\n if (removed) {\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Request not found in the project.`);\n }\n },\n },\n\n // environments\n {\n target: `li[data-kind=\"${EnvironmentKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this environment',\n execute: renameItem,\n },\n\n {\n target: `li[data-kind=\"${EnvironmentKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this environment',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const key = init.target.dataset.key as string;\n const parent = init.target.dataset.parent as string | undefined;\n const removed = project.removeEnvironment(key, { parent: parent !== project.key ? parent : undefined });\n const nav = findNavigation(init.target as HTMLElement);\n nav.requestUpdate();\n if (removed) {\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Request not found in the project.`);\n }\n },\n },\n\n];\n\nexport default commands;\n"]}
1
+ {"version":3,"file":"HttpClientCommands.js","sourceRoot":"","sources":["../../../src/pages/http-project/HttpClientCommands.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nimport { EnvironmentKind, ProjectFolderKind, ProjectRequestKind } from '@api-client/core/build/browser.js';\nimport { rename, close, folder, environment, request, deleteFile, send } from '../../ui/icons/Icons.js';\nimport ProjectNavigationElement from \"../../elements/project/ProjectNavigation.js\";\nimport { IContextMenuCommand, IExecuteOptions } from '../../contextual-menu/types.js';\nimport { SplitCloseDirection } from '../../elements/layout/type.js';\nimport { HttpProjectContextualStore } from './types.js';\n\nfunction findNavigation(element: HTMLElement): ProjectNavigationElement {\n if (element.localName === 'project-navigation') {\n return element as ProjectNavigationElement;\n }\n const root = element.getRootNode() as ShadowRoot;\n return root.host as ProjectNavigationElement;\n}\n\nfunction renameItem(init: IExecuteOptions<HttpProjectContextualStore>): void {\n const { key } = init.target.dataset\n if (!key) {\n return;\n }\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = key;\n}\n\nconst commands: IContextMenuCommand<HttpProjectContextualStore>[] = [\n // \n // Workspace tabs\n // \n \n {\n target: '.layout-tab',\n label: 'Duplicate',\n enabled: (ctx): boolean => {\n const { kind, key } = ctx.target.dataset;\n if (!kind || !key) {\n return false;\n }\n if (kind !== ProjectRequestKind) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { kind, key } = init.target.dataset;\n if (!kind || !key) {\n return;\n }\n if (kind !== ProjectRequestKind) {\n return;\n }\n \n const project = init.store.get('project');\n const obj = project.findRequest(key);\n if (!obj) {\n return;\n }\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const parent = obj.getParent() || project;\n const cp = obj.clone();\n parent.addRequest(cp);\n layout.addItem({\n key: cp.key,\n kind,\n label: cp.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'duplicate',\n key: cp.key,\n kind: obj.kind,\n });\n }\n },\n\n {\n target: '.layout-tab',\n label: '',\n type: 'separator',\n },\n\n {\n target: '.layout-tab',\n label: 'Close',\n icon: close,\n execute: (init): void => {\n const { key, panel } = init.target.dataset;\n if (!key || !panel) {\n return;\n }\n const layout = init.store.get('layout');\n const parent = layout.findPanel(panel);\n if (!parent) {\n return;\n }\n parent.removeItem(key);\n }\n },\n {\n target: '.layout-tab',\n label: 'Close others',\n enabled: (ctx): boolean => {\n const shadow = ctx.target.getRootNode() as ShadowRoot;\n const all = shadow.querySelectorAll('.layout-tab');\n if (all.length === 1) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key, panel } = init.target.dataset;\n if (!key || !panel) {\n return;\n }\n const layout = init.store.get('layout');\n const parent = layout.findPanel(panel);\n if (!parent) {\n return;\n }\n parent.removeRelative(key, SplitCloseDirection.both);\n },\n },\n {\n target: '.layout-tab',\n label: 'Close on the right',\n enabled: (ctx): boolean => {\n const next = ctx.target.nextElementSibling;\n if (!next) {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key, panel } = init.target.dataset;\n if (!key || !panel) {\n return;\n }\n const layout = init.store.get('layout');\n const parent = layout.findPanel(panel);\n if (!parent) {\n return;\n }\n parent.removeRelative(key, SplitCloseDirection.right);\n },\n },\n {\n target: '.layout-tab',\n label: 'Close on the left',\n enabled: (ctx): boolean => {\n const { index } = ctx.target.dataset;\n if (index === '0') {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key, panel } = init.target.dataset;\n if (!key || !panel) {\n return;\n }\n const layout = init.store.get('layout');\n const parent = layout.findPanel(panel);\n if (!parent) {\n return;\n }\n parent.removeRelative(key, SplitCloseDirection.left);\n },\n },\n\n {\n target: '.layout-tab',\n label: '',\n type: 'separator',\n },\n\n {\n target: '.layout-tab',\n label: 'Save',\n enabled: (ctx): boolean => {\n const { dirty } = ctx.target.dataset;\n if (dirty !== 'true') {\n return false;\n }\n return true;\n },\n execute: (init): void => {\n const { key } = init.target.dataset;\n if (!key) {\n return;\n }\n const page = init.store.get('page');\n page.triggerSave(key);\n },\n },\n\n //\n // NAVIGATION\n //\n {\n target: \"project-navigation\",\n label: 'Add folder',\n title: 'Adds a new folder to the project',\n icon: folder,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const created = project.addFolder();\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: \"project-navigation\",\n label: 'Add request',\n title: 'Adds a new HTTP request to the project',\n icon: request,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const created = project.addRequest('http://');\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: \"project-navigation\",\n label: 'Add environment',\n title: 'Adds a new environment definition to the project',\n icon: environment,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const created = project.addEnvironment('New environment');\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'environment'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n },\n visible: (init) => init.store.has('project'),\n },\n\n {\n target: `project-navigation`,\n type: 'separator',\n label: '',\n },\n\n {\n target: `project-navigation`,\n label: 'Run project',\n icon: send,\n title: 'Runs all requests in the folder',\n execute(args): void {\n const page = args.store.get('page');\n page.openRunner();\n },\n },\n\n // \n // Navigation items\n // \n\n // folders\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add folder',\n icon: folder,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const created = project.addFolder(undefined, { parent: key, });\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.requestNameUpdate(created.key);\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add request',\n icon: request,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const f = project.findFolder(key);\n if (f) {\n const created = f.addRequest('http://');\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n }\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Add environment',\n title: 'Adds a new environment definition to the folder',\n icon: environment,\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const f = project.findFolder(key);\n if (f) {\n const created = f.addEnvironment('New environment');\n const nav = findNavigation(init.target as HTMLElement);\n nav.edited = created.key;\n nav.openGroup(key);\n layout.addItem({\n key: created.key,\n kind: created.kind,\n label: created.info.renderLabel,\n icon: 'environment'\n });\n callback({\n action: 'add',\n key: created.key,\n kind: created.kind,\n });\n }\n },\n visible: (init) => init.store.has('project'),\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n type: 'separator',\n label: '',\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Run folder',\n icon: send,\n title: 'Runs all requests in the folder',\n execute(args): void {\n const key = args.target.dataset.key as string;\n // const project = args.store.get('project');\n const page = args.store.get('page');\n page.openRunner(key);\n // Events.Navigation.App.runProjectRunner({ key: project.key, parent: key, workspace: page.workspace });\n },\n },\n\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n type: 'separator',\n label: '',\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this folder',\n execute: renameItem,\n },\n {\n target: `li[data-kind=\"${ProjectFolderKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this folder',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const key = init.target.dataset.key as string;\n const removed = project.removeFolder(key);\n if (removed) {\n layout.removeByParent(key)\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Folder not found in the project.`);\n }\n },\n },\n\n // requests\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this request',\n execute: renameItem,\n },\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Duplicate',\n title: 'Makes a duplicate of this request',\n execute: (init): void => {\n const key = init.target.dataset.key as string;\n const project = init.store.get('project');\n const obj = project.findRequest(key);\n if (!obj) {\n return;\n }\n const callback = init.store.get('callback');\n const layout = init.store.get('layout');\n const parent = obj.getParent() || project;\n const cp = obj.clone();\n const created = parent.addRequest(cp);\n layout.addItem({\n key: cp.key,\n kind: cp.kind,\n label: cp.info.renderLabel,\n icon: 'request'\n });\n callback({\n action: 'duplicate',\n key,\n kind: created.kind,\n });\n },\n },\n {\n target: `li[data-kind=\"${ProjectRequestKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this request',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const key = init.target.dataset.key as string;\n const removed = project.removeRequest(key);\n if (removed) {\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Request not found in the project.`);\n }\n },\n },\n\n // environments\n {\n target: `li[data-kind=\"${EnvironmentKind}\"]`,\n label: 'Rename',\n icon: rename,\n title: 'Renames this environment',\n execute: renameItem,\n },\n\n {\n target: `li[data-kind=\"${EnvironmentKind}\"]`,\n label: 'Delete',\n icon: deleteFile,\n title: 'Deletes this environment',\n execute: (init): void => {\n const project = init.store.get('project');\n const callback = init.store.get('callback');\n const key = init.target.dataset.key as string;\n const parent = init.target.dataset.parent as string | undefined;\n const removed = project.removeEnvironment(key, { parent: parent !== project.key ? parent : undefined });\n const nav = findNavigation(init.target as HTMLElement);\n nav.requestUpdate();\n if (removed) {\n callback({\n action: 'delete',\n key,\n kind: removed.kind,\n removed,\n });\n } else {\n throw new Error(`Request not found in the project.`);\n }\n },\n },\n\n];\n\nexport default commands;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@api-client/ui",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "UI for API Client.",
5
5
  "license": "CC-BY-2.0",
6
6
  "main": "dist/index.js",
@@ -77,6 +77,7 @@
77
77
  "eslint": "^8.11.0",
78
78
  "eslint-config-prettier": "^8.3.0",
79
79
  "eslint-import-resolver-typescript": "^3.5.3",
80
+ "eslint-plugin-deprecation": "^1.3.3",
80
81
  "husky": "^8.0.1",
81
82
  "koa-proxies": "^0.12.3",
82
83
  "lint-staged": "^13.0.1",
@@ -179,30 +179,38 @@ export class SplitItem implements ISplitItem {
179
179
  return result;
180
180
  }
181
181
 
182
- /**
183
- * @returns The parent of the item. Returns undefined when the item was removed from layout.
184
- */
185
- getParent(): SplitPanel | undefined {
186
- return this.manager.getParent(this.key);
187
- }
182
+ // /**
183
+ // * @returns The parent of the item. Returns undefined when the item was removed from layout.
184
+ // * @deprecated Use `getParents()` instead.
185
+ // */
186
+ // getParent(): SplitPanel | undefined {
187
+ // return this.manager.getParent(this.key);
188
+ // }
188
189
 
189
190
  /**
190
- * Removes self from the layout
191
+ * @returns The parent of the item. Returns undefined when the item was removed from layout.
191
192
  */
192
- remove(): void {
193
- this.manager.removeItem(this.key);
193
+ getParents(): SplitPanel[] {
194
+ return this.manager.getParents(this.key);
194
195
  }
195
196
 
196
- /**
197
- * Sets the item active in the parent layout.
198
- */
199
- setSelected(): void {
200
- const parent = this.getParent();
201
- if (parent) {
202
- parent.selected = this.key;
203
- this.notifyChange();
204
- }
205
- }
197
+ // /**
198
+ // * Removes self from the layout. This removes the item from all panels.
199
+ // */
200
+ // remove(): void {
201
+ // this.manager.removeItem(this.key);
202
+ // }
203
+
204
+ // /**
205
+ // * Sets the item active in the parent layout.
206
+ // */
207
+ // setSelected(): void {
208
+ // const parent = this.getParent();
209
+ // if (parent) {
210
+ // parent.selected = this.key;
211
+ // this.notifyChange();
212
+ // }
213
+ // }
206
214
 
207
215
  /**
208
216
  * Updates the label and triggers side effects like layout and view update.
@@ -222,8 +230,8 @@ export class SplitItem implements ISplitItem {
222
230
  }
223
231
 
224
232
  updateView(): void {
225
- const panel = this.getParent();
226
- panel?.updateView();
233
+ const panels = this.getParents();
234
+ panels.forEach(panel => panel.updateView());
227
235
  }
228
236
 
229
237
  notifyChange(): void {