@jimka/typescript-ui 0.4.0 → 0.4.1

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 (125) hide show
  1. package/dist/lib/{AbstractBooleanInput-DSwKBAic.js → AbstractBooleanInput-DE5NNJT0.js} +2 -2
  2. package/dist/lib/{AbstractBooleanInput-DSwKBAic.js.map → AbstractBooleanInput-DE5NNJT0.js.map} +1 -1
  3. package/dist/lib/{AbstractInput-BmWGJTs1.js → AbstractInput-BxfrmD2W.js} +2 -2
  4. package/dist/lib/{AbstractInput-BmWGJTs1.js.map → AbstractInput-BxfrmD2W.js.map} +1 -1
  5. package/dist/lib/{AnchorConstraints-CVrMP9rz.js → AnchorConstraints-DdDYSDkf.js} +2 -2
  6. package/dist/lib/{AnchorConstraints-CVrMP9rz.js.map → AnchorConstraints-DdDYSDkf.js.map} +1 -1
  7. package/dist/lib/{AnimatedDropdown-DKas40B-.js → AnimatedDropdown-QLNasu_Y.js} +2 -2
  8. package/dist/lib/{AnimatedDropdown-DKas40B-.js.map → AnimatedDropdown-QLNasu_Y.js.map} +1 -1
  9. package/dist/lib/Border-CKKUk5G9.js +2 -0
  10. package/dist/lib/Border-CKKUk5G9.js.map +1 -0
  11. package/dist/lib/{Button-bjpWruNc.js → Button-MZDYJOMC.js} +2 -2
  12. package/dist/lib/{Button-bjpWruNc.js.map → Button-MZDYJOMC.js.map} +1 -1
  13. package/dist/lib/{Card-BdfbvOD_.js → Card-a4dzYrbX.js} +2 -2
  14. package/dist/lib/{Card-BdfbvOD_.js.map → Card-a4dzYrbX.js.map} +1 -1
  15. package/dist/lib/ComboBox-C04SfXAR.js +2 -0
  16. package/dist/lib/ComboBox-C04SfXAR.js.map +1 -0
  17. package/dist/lib/Component-fRQvgaEY.js +2 -0
  18. package/dist/lib/Component-fRQvgaEY.js.map +1 -0
  19. package/dist/lib/Container-0bsG2Q8Z.js +2 -0
  20. package/dist/lib/{Container-CAQpj4yb.js.map → Container-0bsG2Q8Z.js.map} +1 -1
  21. package/dist/lib/{DragManager-CHWCe3-8.js → DragManager-DRor_-1x.js} +2 -2
  22. package/dist/lib/{DragManager-CHWCe3-8.js.map → DragManager-DRor_-1x.js.map} +1 -1
  23. package/dist/lib/{FieldDecorator-CgAGcqCk.js → FieldDecorator-Bpx8J8n9.js} +2 -2
  24. package/dist/lib/{FieldDecorator-CgAGcqCk.js.map → FieldDecorator-Bpx8J8n9.js.map} +1 -1
  25. package/dist/lib/{Fit-DIYt2aQB.js → Fit-CL1m1nIZ.js} +2 -2
  26. package/dist/lib/{Fit-DIYt2aQB.js.map → Fit-CL1m1nIZ.js.map} +1 -1
  27. package/dist/lib/{Glyph-CeAIWyPB.js → Glyph-wN7bk7mg.js} +2 -2
  28. package/dist/lib/{Glyph-CeAIWyPB.js.map → Glyph-wN7bk7mg.js.map} +1 -1
  29. package/dist/lib/{Grid-ViA0joow.js → Grid-DHHmaB-Y.js} +2 -2
  30. package/dist/lib/{Grid-ViA0joow.js.map → Grid-DHHmaB-Y.js.map} +1 -1
  31. package/dist/lib/{GridConstraints-B1rxCw9B.js → GridConstraints-DVc1BmlP.js} +2 -2
  32. package/dist/lib/{GridConstraints-B1rxCw9B.js.map → GridConstraints-DVc1BmlP.js.map} +1 -1
  33. package/dist/lib/{Header-mKaqgfat.js → Header-2hKwQo_u.js} +2 -2
  34. package/dist/lib/{Header-mKaqgfat.js.map → Header-2hKwQo_u.js.map} +1 -1
  35. package/dist/lib/{IconText-BqwXA82-.js → IconText-DC7Xe34b.js} +2 -2
  36. package/dist/lib/{IconText-BqwXA82-.js.map → IconText-DC7Xe34b.js.map} +1 -1
  37. package/dist/lib/LayoutConstraints-LIHYYd2F.js +2 -0
  38. package/dist/lib/LayoutConstraints-LIHYYd2F.js.map +1 -0
  39. package/dist/lib/{LayoutSerialization-D82UtnDD.js → LayoutSerialization-D5bBas4W.js} +2 -2
  40. package/dist/lib/{LayoutSerialization-D82UtnDD.js.map → LayoutSerialization-D5bBas4W.js.map} +1 -1
  41. package/dist/lib/{LayoutSizes-DG9aW9k6.js → LayoutSizes-qNaURyiw.js} +2 -2
  42. package/dist/lib/LayoutSizes-qNaURyiw.js.map +1 -0
  43. package/dist/lib/{List-CUntS8ux.js → List-CG4NvwuV.js} +2 -2
  44. package/dist/lib/{List-CUntS8ux.js.map → List-CG4NvwuV.js.map} +1 -1
  45. package/dist/lib/Menu-CrZy2u0g.js +2 -0
  46. package/dist/lib/Menu-CrZy2u0g.js.map +1 -0
  47. package/dist/lib/MenuButton-wy_0RskC.js +2 -0
  48. package/dist/lib/MenuButton-wy_0RskC.js.map +1 -0
  49. package/dist/lib/{Panel-D2X33qR6.js → Panel-Rd9zkNXx.js} +2 -2
  50. package/dist/lib/{Panel-D2X33qR6.js.map → Panel-Rd9zkNXx.js.map} +1 -1
  51. package/dist/lib/{ProgressSpinner-DCyq02pd.js → ProgressSpinner-yt-VXyCb.js} +2 -2
  52. package/dist/lib/{ProgressSpinner-DCyq02pd.js.map → ProgressSpinner-yt-VXyCb.js.map} +1 -1
  53. package/dist/lib/{RadioButton-BJIAQkII.js → RadioButton-D23rId-V.js} +2 -2
  54. package/dist/lib/{RadioButton-BJIAQkII.js.map → RadioButton-D23rId-V.js.map} +1 -1
  55. package/dist/lib/{Scrollbar-CSFK-Y57.js → Scrollbar-SOj9psiP.js} +2 -2
  56. package/dist/lib/{Scrollbar-CSFK-Y57.js.map → Scrollbar-SOj9psiP.js.map} +1 -1
  57. package/dist/lib/{Slider-C-kQQYCj.js → Slider-DBnAZ-F7.js} +2 -2
  58. package/dist/lib/{Slider-C-kQQYCj.js.map → Slider-DBnAZ-F7.js.map} +1 -1
  59. package/dist/lib/{Spacer-D159iJy9.js → Spacer-qalSEJ5i.js} +2 -2
  60. package/dist/lib/{Spacer-D159iJy9.js.map → Spacer-qalSEJ5i.js.map} +1 -1
  61. package/dist/lib/{TabButton-CHkXBgCj.js → TabButton-DKECTTk1.js} +2 -2
  62. package/dist/lib/{TabButton-CHkXBgCj.js.map → TabButton-DKECTTk1.js.map} +1 -1
  63. package/dist/lib/{Text-D5pg7taZ.js → Text-KB5LksJl.js} +2 -2
  64. package/dist/lib/{Text-D5pg7taZ.js.map → Text-KB5LksJl.js.map} +1 -1
  65. package/dist/lib/{Tooltip-DzK6LxUt.js → Tooltip-Dro4DOZs.js} +2 -2
  66. package/dist/lib/{Tooltip-DzK6LxUt.js.map → Tooltip-Dro4DOZs.js.map} +1 -1
  67. package/dist/lib/{VBox-BNegDPs_.js → VBox-P3WFGkPc.js} +2 -2
  68. package/dist/lib/{VBox-BNegDPs_.js.map → VBox-P3WFGkPc.js.map} +1 -1
  69. package/dist/lib/{VirtualScroller-zQr-vKrO.js → VirtualScroller-Bv4KXGKW.js} +2 -2
  70. package/dist/lib/{VirtualScroller-zQr-vKrO.js.map → VirtualScroller-Bv4KXGKW.js.map} +1 -1
  71. package/dist/lib/component/button.es.js +1 -1
  72. package/dist/lib/component/button.es.js.map +1 -1
  73. package/dist/lib/component/chart.es.js +1 -1
  74. package/dist/lib/component/chart.es.js.map +1 -1
  75. package/dist/lib/component/container.es.js +1 -1
  76. package/dist/lib/component/container.es.js.map +1 -1
  77. package/dist/lib/component/diagram.es.js +1 -1
  78. package/dist/lib/component/display.es.js +1 -1
  79. package/dist/lib/component/editor.es.js +1 -1
  80. package/dist/lib/component/input.es.js +1 -1
  81. package/dist/lib/component/list.es.js +1 -1
  82. package/dist/lib/component/menubar.es.js +1 -1
  83. package/dist/lib/component/menubar.es.js.map +1 -1
  84. package/dist/lib/component/table.es.js +2 -2
  85. package/dist/lib/component/table.es.js.map +1 -1
  86. package/dist/lib/component/tree.es.js +1 -1
  87. package/dist/lib/core.es.js +1 -1
  88. package/dist/lib/layout.es.js +1 -1
  89. package/dist/lib/overlay.es.js +1 -1
  90. package/dist/lib/overlay.es.js.map +1 -1
  91. package/dist/lib/{selectionsEqual-4r5R7pTK.js → selectionsEqual-Ci3_uflt.js} +2 -2
  92. package/dist/lib/{selectionsEqual-4r5R7pTK.js.map → selectionsEqual-Ci3_uflt.js.map} +1 -1
  93. package/dist/lib/types/component/button/MenuButton.d.ts +1 -0
  94. package/dist/lib/types/component/button/SplitButton.d.ts +1 -0
  95. package/dist/lib/types/component/button/TabButton.d.ts +1 -0
  96. package/dist/lib/types/component/chart/ChartLegend.d.ts +0 -1
  97. package/dist/lib/types/component/container/CollapseButton.d.ts +0 -1
  98. package/dist/lib/types/component/container/TabPanel.d.ts +3 -0
  99. package/dist/lib/types/component/input/Link.d.ts +0 -1
  100. package/dist/lib/types/component/menubar/MenuBar.d.ts +1 -0
  101. package/dist/lib/types/component/menubar/MenuBarButton.d.ts +0 -1
  102. package/dist/lib/types/component/menubar/ToolBar.d.ts +1 -0
  103. package/dist/lib/types/component/table/Table.d.ts +1 -0
  104. package/dist/lib/types/core/BorderWidths.d.ts +12 -0
  105. package/dist/lib/types/core/Component.d.ts +1 -0
  106. package/dist/lib/types/core/Event.d.ts +2 -0
  107. package/dist/lib/types/layout/LayoutConstraints.d.ts +1 -0
  108. package/dist/lib/types/layout/LayoutSerialization.d.ts +3 -0
  109. package/dist/lib/types/overlay/Dock.d.ts +1 -0
  110. package/dist/lib/validation.es.js +1 -1
  111. package/package.json +1 -1
  112. package/dist/lib/Border-Bz29z-_7.js +0 -2
  113. package/dist/lib/Border-Bz29z-_7.js.map +0 -1
  114. package/dist/lib/ComboBox-CBw2VLLN.js +0 -2
  115. package/dist/lib/ComboBox-CBw2VLLN.js.map +0 -1
  116. package/dist/lib/Component-DHqrPwAw.js +0 -2
  117. package/dist/lib/Component-DHqrPwAw.js.map +0 -1
  118. package/dist/lib/Container-CAQpj4yb.js +0 -2
  119. package/dist/lib/LayoutConstraints-DkctJZXB.js +0 -2
  120. package/dist/lib/LayoutConstraints-DkctJZXB.js.map +0 -1
  121. package/dist/lib/LayoutSizes-DG9aW9k6.js.map +0 -1
  122. package/dist/lib/Menu-B_-SQj72.js +0 -2
  123. package/dist/lib/Menu-B_-SQj72.js.map +0 -1
  124. package/dist/lib/MenuButton-C79l8Ysf.js +0 -2
  125. package/dist/lib/MenuButton-C79l8Ysf.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"../DOM-67StIm5G.js";import{S as t,h as n,t as r}from"../Component-DHqrPwAw.js";import{t as i}from"../ListenerBag-WPdKuuds.js";import{t as a}from"../Glyph-CeAIWyPB.js";import{t as o}from"../Text-D5pg7taZ.js";import{t as s}from"../ProgressSpinner-DCyq02pd.js";import{caret_down as c}from"../glyphs/solid/caret_down.es.js";import{caret_right as l}from"../glyphs/solid/caret_right.es.js";import{n as u,t as d}from"../selectionsEqual-4r5R7pTK.js";var TreeNodeRenderer=class extends r{constructor(){super()}},LabelTreeNodeRenderer=class extends TreeNodeRenderer{_label;constructor(){super(),this.clearInsets(),this._label=new o,this._label.clearInsets(),this._label.setAutoMeasure(!1)}getLabel(){return this._label}update(e){this._label.setText(e.node.label),this._label.measure()}getContentWidth(){return this._label.getPreferredSize()?.width??0}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,height:t},r=this.getContentWidth();this._label.setAutoCommitStyle(!1),this._label.setX(n.x),this._label.setY(n.y),this._label.setWidth(r),this._label.setHeight(n.height),this._label.setLineHeight(n.height),this._label.setAutoCommitStyle(!0)}init(t){super.init(t);let n=t||this.getElement();return n&&e.sink.appendChild(n,this._label.getElement(!0)),this}};a.register(c,l);var TreeRow=class extends r{_toggle=null;_spinner=null;_renderer;_node=null;_depth=0;constructor(e=()=>new LabelTreeNodeRenderer){super(),this.getAria().setRole(`treeitem`),this._renderer=e()}getToggle(){return this._toggle}getRenderer(){return this._renderer}setRenderer(t){let n=this.getElement();if(n){let r=this._renderer.getElement();r&&e.source.getParentNode(r)===n&&e.sink.removeChild(n,r),e.sink.appendChild(n,t.getElement(!0))}return this._renderer=t,this}getNode(){return this._node}getDepth(){return this._depth}setRowData(t,n,r,i,o,c,l,u){if(this._node=t,this._depth=n,this._toggle){let t=this.getElement();t&&e.sink.removeChild(t,this._toggle.getElement(!0)),this._toggle=null}if(this._spinner){let t=this.getElement();t&&e.sink.removeChild(t,this._spinner.getElement(!0)),this._spinner=null}if(u){let t=new s;this._spinner=t;let n=this.getElement();n&&e.sink.appendChild(n,t.getElement(!0))}else if(r){let t=new a(i?`caret-down`:`caret-right`);t.setCursor(`pointer`),t.clearInsets(),t.getAria().setHidden(!0),this._toggle=t;let n=this.getElement();n&&e.sink.appendChild(n,t.getElement(!0))}return this._renderer.update({node:t,depth:n,expanded:i,selected:l,hasChildren:r}),this.getAria().setLevel(n+1),this.getAria().setExpanded(r?i:null),this.getAria().setSetSize(o),this.getAria().setPosInSet(c),this}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,width:this.getWidth()||0,height:e},r=n.x+this._depth*t;if(this._toggle){let e=this._toggle.getPreferredSize()?.height??n.height;this._toggle.setAutoCommitStyle(!1),this._toggle.setX(r),this._toggle.setY(n.y+Math.max(0,(n.height-e)/2)),this._toggle.setWidth(20),this._toggle.setHeight(e),this._toggle.setAutoCommitStyle(!0)}this._spinner&&(this._spinner.setAutoCommitStyle(!1),this._spinner.setX(r),this._spinner.setY(n.y),this._spinner.setWidth(20),this._spinner.setHeight(n.height),this._spinner.setAutoCommitStyle(!0),this._spinner.doLayout());let i=r+20,a=Math.max(0,n.x+n.width-i);this._renderer.setAutoCommitStyle(!1),this._renderer.setX(i),this._renderer.setY(n.y),this._renderer.setWidth(a),this._renderer.setHeight(n.height),this._renderer.setAutoCommitStyle(!0),this._renderer.layoutChildren(a,n.height)}getContentWidth(e){let t=this._depth*e,n=this._renderer.getContentWidth();return t+20+n}init(t){super.init(t);let n=t||this.getElement();return n&&e.sink.appendChild(n,this._renderer.getElement(!0)),this}},f=n(TreeRow),p=16,m=24,h=`var(--ts-ui-table-row-selected, rgba(30, 100, 200, 0.15))`,Tree=class extends u{_nodes=[];_expandedNodes=new Set;_flatRows=[];_lastRowWidth=0;_maxContentWidth=0;_selectedNodes=new Set;_loadingNodes=new Set;_loadedNodes=new Set;_anchorNode=null;_focusNode=null;_listeners=new i;_rendererFactory=()=>new LabelTreeNodeRenderer;constructor(e){super(e),this.setOverflow(`hidden`),this.setBackgroundColor(`var(--ts-ui-input-bg, rgb(255, 255, 255))`),this.setPreferredSize({width:200,height:300}),this.setMaxSize({width:2**53-1,height:2**53-1}),this.getAria().setRole(`tree`),this.getAria().setTabIndex(0),this.getAria().setMultiselectable(!0),this.subscribeTheme(()=>this.onThemeReflow()),this.applyListeners(e?.listeners)}setNodes(e){return this._nodes=e,this._expandedNodes.clear(),this._selectedNodes.clear(),this._loadingNodes.clear(),this._loadedNodes.clear(),this._anchorNode=null,this._focusNode=null,this._flatten(),this.getElement()&&(this._boundIndices.fill(-1),this.invalidateGeom(),this.renderWindow()),this}expandAll(){let addExpandable=e=>{for(let t of e)t.children&&t.children.length>0&&(this._expandedNodes.add(t),addExpandable(t.children))};return addExpandable(this._nodes),this._reflattenAndRender(),this}getRowHeight(){return m}createPoolRow(){return new f(this._rendererFactory)}getNodes(){return this._nodes}getSelectedNode(){return this._anchorNode}getSelectedNodes(){return Array.from(this._selectedNodes)}selectNode(e){let t=this._flatRows.findIndex(t=>t.node===e);return t<0?this:(this._selectedNodes.clear(),this._selectedNodes.add(e),this._anchorNode=e,this._focusNode=e,this._updateSelectionStyle(),this._scrollIntoView(t),this.renderWindow(),this._updateActiveDescendant(),this)}async revealByPredicate(e){let t=await this._findPath(this._nodes,e,[]);if(t===null)return null;for(let e=0;e<t.length-1;e++)this._expandedNodes.add(t[e]);this._reflattenAndRender();let n=t[t.length-1],r=this._flatRows.findIndex(e=>e.node===n);return r>=0&&this._scrollIntoView(r),n}async _findPath(e,t,n){for(let r of e){let e=[...n,r];if(t(r.data,r))return e;let i=await this._ensureChildrenLoaded(r);if(i.length>0){let n=await this._findPath(i,t,e);if(n!==null)return n}}return null}async _ensureChildrenLoaded(e){if(e.children&&e.children.length>0)return e.children;if(e.loadChildren!==void 0&&!this._loadedNodes.has(e))try{let t=await e.loadChildren();return e.children=t,this._loadedNodes.add(e),t}catch{return[]}return e.children??[]}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}setRendererFactory(e){this._rendererFactory=e;for(let t of this._rowPool)t.setRenderer(e());return this._boundIndices.fill(-1),this.invalidateGeom(),this.getElement()&&this.renderWindow(),this}getRendererFactory(){return this._rendererFactory}_isExpandable(e){return!!(e.children&&e.children.length>0)||e.hasChildren===!0}_flatten(){this._flatRows=[],this._maxContentWidth=0;let recurse=(e,t)=>{let n=e.length;for(let r=0;r<e.length;r++){let i=e[r];this._flatRows.push({node:i,depth:t,siblingCount:n,posInSet:r+1}),this._isExpandable(i)&&this._expandedNodes.has(i)&&i.children&&recurse(i.children,t+1)}};recurse(this._nodes,0)}_reflattenAndRender(){this._flatten(),this._boundIndices.fill(-1),this.invalidateGeom(),this.renderWindow()}_onToggle(e){if(this._expandedNodes.has(e)){this._expandedNodes.delete(e),this._reflattenAndRender();return}if(!(e.loadChildren!==void 0&&!this._loadedNodes.has(e)&&!(e.children&&e.children.length))){this._expandedNodes.add(e),this._reflattenAndRender();return}this._loadingNodes.has(e)||this._loadAndExpand(e)}async _loadAndExpand(e){this._loadingNodes.add(e),this._reflattenAndRender();try{let t=await e.loadChildren();if(!this._loadingNodes.has(e))return;e.children=t,this._loadedNodes.add(e),this._expandedNodes.add(e)}catch(t){if(!this._loadingNodes.has(e))return;this.emit(`loaderror`,e,t)}finally{this._loadingNodes.delete(e),this._reflattenAndRender()}}_notifySelectionChange(e){d(e,this._selectedNodes)||this.emit(`selection`,this.getSelectedNodes())}_rangeSelect(e,t){let n=Math.min(e,t),r=Math.max(e,t);this._selectedNodes.clear();for(let e=n;e<=r;e++)this._selectedNodes.add(this._flatRows[e].node)}_selectAtIndex(e){if(e<0||e>=this._flatRows.length)return;let t=this._flatRows[e].node,n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(t),this._anchorNode=t,this._focusNode=t,this._updateSelectionStyle(),this._scrollIntoView(e),this.renderWindow(),this._updateActiveDescendant(),this._notifySelectionChange(n)}_extendSelectionTo(e){if(e<0||e>=this._flatRows.length)return;let t=new Set(this._selectedNodes),n=this._anchorNode?this._flatRows.findIndex(e=>e.node===this._anchorNode):e;this._rangeSelect(n<0?e:n,e),this._focusNode=this._flatRows[e].node,this._updateSelectionStyle(),this._scrollIntoView(e),this.renderWindow(),this._updateActiveDescendant(),this._notifySelectionChange(t)}_scrollIntoView(e){this.scrollRowIntoView(e)}_onKeyDown(e){if(!new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`]).has(e.key))return;let t=this._flatRows;if(t.length===0)return;e.preventDefault();let n=this._focusNode?t.findIndex(e=>e.node===this._focusNode):-1;if(e.key===`ArrowDown`){let r=n<0?0:Math.min(n+1,t.length-1);e.shiftKey?this._extendSelectionTo(r):this._selectAtIndex(r)}else if(e.key===`ArrowUp`){let t=n<0?0:Math.max(n-1,0);e.shiftKey?this._extendSelectionTo(t):this._selectAtIndex(t)}else if(e.key===`Home`)e.shiftKey?this._extendSelectionTo(0):this._selectAtIndex(0);else if(e.key===`End`){let n=t.length-1;e.shiftKey?this._extendSelectionTo(n):this._selectAtIndex(n)}else if(e.key===`ArrowRight`){if(n<0){this._selectAtIndex(0);return}let{node:e}=t[n];if(!this._isExpandable(e))return;this._expandedNodes.has(e)?this._selectAtIndex(n+1):this._onToggle(e)}else if(e.key===`ArrowLeft`){if(n<0)return;let{node:e,depth:r}=t[n];if(this._isExpandable(e)&&this._expandedNodes.has(e)){this._onToggle(e);let t=this._flatRows.findIndex(t=>t.node===e);t>=0&&this._scrollIntoView(t)}else if(r>0){for(let e=n-1;e>=0;e--)if(t[e].depth===r-1){this._selectAtIndex(e);break}}}}_handleClick(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getToggle();if(a){let t=a.getElement();if(t&&(n===t||e.source.contains(t,n))){this._onToggle(i);return}}let o=r.getElement();if(!o||!e.source.contains(o,n)&&n!==o)continue;let s=this._flatRows.findIndex(e=>e.node===i);if(t.shiftKey&&this._anchorNode)this._extendSelectionTo(s);else if(t.ctrlKey||t.metaKey){let e=new Set(this._selectedNodes);this._selectedNodes.has(i)?this._selectedNodes.delete(i):this._selectedNodes.add(i),this._anchorNode=i,this._focusNode=i,this._updateSelectionStyle(),this._notifySelectionChange(e)}else this._selectAtIndex(s);return}}_handleContextMenu(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getElement();if(!(!a||!e.source.contains(a,n)&&n!==a)){t.preventDefault(),this.emit(`contextmenu`,i,t);return}}}_handleDblClick(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getElement();if(!a||!e.source.contains(a,n)&&n!==a)continue;t.preventDefault(),this.emit(`dblclick`,i);let o=r.getToggle(),s=o?o.getElement():void 0;!(s&&(n===s||e.source.contains(s,n)))&&this._isExpandable(i)&&this._onToggle(i);return}}_updateSelectionStyle(){for(let t of this._rowPool){let n=t.getElement();if(!n)continue;let r=t.getNode(),i=r!==null&&this._selectedNodes.has(r),a=r!==null&&r===this._focusNode;i?e.sink.apply(n,{style:{"background-color":h}}):e.sink.apply(n,{style:{"background-color":null}}),a?e.sink.apply(n,{style:{outline:`2px solid var(--ts-ui-focus-ring, rgba(30, 100, 200, 0.6))`,"outline-offset":`-2px`}}):e.sink.apply(n,{style:{outline:null,"outline-offset":null}}),t.getAria().setSelected(i)}}_updateActiveDescendant(){if(!this._focusNode){this.getAria().setActiveDescendant(``);return}for(let e of this._rowPool)if(e.getNode()===this._focusNode){this.getAria().setActiveDescendant(e.getId());return}this.getAria().setActiveDescendant(``)}onThemeReflow(){this._maxContentWidth=0,super.onThemeReflow()}renderWindow(){if(!this.getElement()||!this._scroller||this.deferRenderWhileFirstLayoutHeld())return;let e=this._scroller,t=this._flatRows.length,n=t*m;e.clampToContent(this._lastRowWidth,n);let r=this.getHeight()||0,i=this.computeVisibleWindow(e.getScrollY(),r,t),a=this.computePoolTarget(i.windowSize,r,t);this.growRowPool(a);let{reboundFlags:o,maxContentWidth:s}=this._bindAndMeasure(i.firstRow,i.windowSize);s>this._maxContentWidth&&(this._maxContentWidth=s);let c=Math.max(e.getViewportWidth(),this._maxContentWidth);c!==this._lastRowWidth&&(this._lastRowWidth=c,this.invalidateGeom()),this._positionRows(i.firstRow,i.windowSize,c,o),this.hideExcessPoolRows(i.windowSize),this._updateSelectionStyle(),e.layoutScrollbars(c,n),this.finishResumedRender()&&this._updateActiveDescendant()}_bindAndMeasure(e,t){let n=Array(t),r=0;for(let i=0;i<t;i++){let t=this._rowPool[i],a=e+i,o=this._flatRows[a],s=this._isExpandable(o.node),c=this._expandedNodes.has(o.node),l=this._loadingNodes.has(o.node),u=this._boundIndices[i]!==a;if(u){let e=this._selectedNodes.has(o.node);t.setRowData(o.node,o.depth,s,c,o.siblingCount,o.posInSet,e,l),this._boundIndices[i]=a}n[i]=u;let d=t.getContentWidth(p);d>r&&(r=d)}return{reboundFlags:n,maxContentWidth:r}}_positionRows(e,t,n,r){for(let i=0;i<t;i++){let t=this._rowPool[i],a=e+i,o=r[i],s=this.positionRow(i,a*m,n);(o||s)&&t.layoutChildren(m,p)}}init(e){super.init(e);let n=e||this.getElement();return n?(this.initScroller(n),t.addSubtreeListener(this,`click`,this._handleClick),t.addSubtreeListener(this,`contextmenu`,this._handleContextMenu),t.addSubtreeListener(this,`dblclick`,this._handleDblClick),t.addListener(this,`keydown`,this._onKeyDown),this.renderWindow(),this):this}doLayout(){return this.isLayoutPaused()?this:(super.doLayout(),this.renderWindowIfDeferred()||this.renderWindow(),this)}},g=n(Tree),_=20,v=16,IconLabelTreeNodeRenderer=class extends TreeNodeRenderer{_icon=null;_label;_glyphResolver;_currentGlyph=null;constructor(e=()=>`file`){super(),this.clearInsets(),this._glyphResolver=e,this._label=new o,this._label.clearInsets(),this._label.setAutoMeasure(!1)}update(t){let n=this._glyphResolver(t.node,t);if(n!==this._currentGlyph){let t=this.getElement();if(t&&this._icon){let n=this._icon.getElement();n&&e.source.getParentNode(n)===t&&e.sink.removeChild(t,n)}this._icon=new a(n),this._icon.clearInsets(),this._currentGlyph=n,t&&e.sink.insertBefore(t,this._icon.getElement(!0),this._label.getElement()??null)}this._label.setText(t.node.label),this._label.measure()}getContentWidth(){return(this._icon?_:0)+(this._label.getPreferredSize()?.width??0)}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,width:e,height:t};this._icon&&(this._icon.setAutoCommitStyle(!1),this._icon.setX(n.x),this._icon.setY(n.y+Math.max(0,(n.height-v)/2)),this._icon.setWidth(v),this._icon.setHeight(v),this._icon.setAutoCommitStyle(!0));let r=n.x+(this._icon?_:0),i=Math.max(0,n.x+n.width-r);this._label.setAutoCommitStyle(!1),this._label.setX(r),this._label.setY(n.y),this._label.setWidth(i),this._label.setHeight(n.height),this._label.setLineHeight(n.height),this._label.setAutoCommitStyle(!0)}init(t){super.init(t);let n=t||this.getElement();return n?(this._icon&&e.sink.appendChild(n,this._icon.getElement(!0)),e.sink.appendChild(n,this._label.getElement(!0)),this):this}};export{IconLabelTreeNodeRenderer,LabelTreeNodeRenderer,g as Tree,TreeNodeRenderer};
1
+ import{t as e}from"../DOM-67StIm5G.js";import{S as t,h as n,t as r}from"../Component-fRQvgaEY.js";import{t as i}from"../ListenerBag-WPdKuuds.js";import{t as a}from"../Glyph-wN7bk7mg.js";import{t as o}from"../Text-KB5LksJl.js";import{t as s}from"../ProgressSpinner-yt-VXyCb.js";import{caret_down as c}from"../glyphs/solid/caret_down.es.js";import{caret_right as l}from"../glyphs/solid/caret_right.es.js";import{n as u,t as d}from"../selectionsEqual-Ci3_uflt.js";var TreeNodeRenderer=class extends r{constructor(){super()}},LabelTreeNodeRenderer=class extends TreeNodeRenderer{_label;constructor(){super(),this.clearInsets(),this._label=new o,this._label.clearInsets(),this._label.setAutoMeasure(!1)}getLabel(){return this._label}update(e){this._label.setText(e.node.label),this._label.measure()}getContentWidth(){return this._label.getPreferredSize()?.width??0}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,height:t},r=this.getContentWidth();this._label.setAutoCommitStyle(!1),this._label.setX(n.x),this._label.setY(n.y),this._label.setWidth(r),this._label.setHeight(n.height),this._label.setLineHeight(n.height),this._label.setAutoCommitStyle(!0)}init(t){super.init(t);let n=t||this.getElement();return n&&e.sink.appendChild(n,this._label.getElement(!0)),this}};a.register(c,l);var TreeRow=class extends r{_toggle=null;_spinner=null;_renderer;_node=null;_depth=0;constructor(e=()=>new LabelTreeNodeRenderer){super(),this.getAria().setRole(`treeitem`),this._renderer=e()}getToggle(){return this._toggle}getRenderer(){return this._renderer}setRenderer(t){let n=this.getElement();if(n){let r=this._renderer.getElement();r&&e.source.getParentNode(r)===n&&e.sink.removeChild(n,r),e.sink.appendChild(n,t.getElement(!0))}return this._renderer=t,this}getNode(){return this._node}getDepth(){return this._depth}setRowData(t,n,r,i,o,c,l,u){if(this._node=t,this._depth=n,this._toggle){let t=this.getElement();t&&e.sink.removeChild(t,this._toggle.getElement(!0)),this._toggle=null}if(this._spinner){let t=this.getElement();t&&e.sink.removeChild(t,this._spinner.getElement(!0)),this._spinner=null}if(u){let t=new s;this._spinner=t;let n=this.getElement();n&&e.sink.appendChild(n,t.getElement(!0))}else if(r){let t=new a(i?`caret-down`:`caret-right`);t.setCursor(`pointer`),t.clearInsets(),t.getAria().setHidden(!0),this._toggle=t;let n=this.getElement();n&&e.sink.appendChild(n,t.getElement(!0))}return this._renderer.update({node:t,depth:n,expanded:i,selected:l,hasChildren:r}),this.getAria().setLevel(n+1),this.getAria().setExpanded(r?i:null),this.getAria().setSetSize(o),this.getAria().setPosInSet(c),this}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,width:this.getWidth()||0,height:e},r=n.x+this._depth*t;if(this._toggle){let e=this._toggle.getPreferredSize()?.height??n.height;this._toggle.setAutoCommitStyle(!1),this._toggle.setX(r),this._toggle.setY(n.y+Math.max(0,(n.height-e)/2)),this._toggle.setWidth(20),this._toggle.setHeight(e),this._toggle.setAutoCommitStyle(!0)}this._spinner&&(this._spinner.setAutoCommitStyle(!1),this._spinner.setX(r),this._spinner.setY(n.y),this._spinner.setWidth(20),this._spinner.setHeight(n.height),this._spinner.setAutoCommitStyle(!0),this._spinner.doLayout());let i=r+20,a=Math.max(0,n.x+n.width-i);this._renderer.setAutoCommitStyle(!1),this._renderer.setX(i),this._renderer.setY(n.y),this._renderer.setWidth(a),this._renderer.setHeight(n.height),this._renderer.setAutoCommitStyle(!0),this._renderer.layoutChildren(a,n.height)}getContentWidth(e){let t=this._depth*e,n=this._renderer.getContentWidth();return t+20+n}init(t){super.init(t);let n=t||this.getElement();return n&&e.sink.appendChild(n,this._renderer.getElement(!0)),this}},f=n(TreeRow),p=16,m=24,h=`var(--ts-ui-table-row-selected, rgba(30, 100, 200, 0.15))`,Tree=class extends u{_nodes=[];_expandedNodes=new Set;_flatRows=[];_lastRowWidth=0;_maxContentWidth=0;_selectedNodes=new Set;_loadingNodes=new Set;_loadedNodes=new Set;_anchorNode=null;_focusNode=null;_listeners=new i;_rendererFactory=()=>new LabelTreeNodeRenderer;constructor(e){super(e),this.setOverflow(`hidden`),this.setBackgroundColor(`var(--ts-ui-input-bg, rgb(255, 255, 255))`),this.setPreferredSize({width:200,height:300}),this.setMaxSize({width:2**53-1,height:2**53-1}),this.getAria().setRole(`tree`),this.getAria().setTabIndex(0),this.getAria().setMultiselectable(!0),this.subscribeTheme(()=>this.onThemeReflow()),this.applyListeners(e?.listeners)}setNodes(e){return this._nodes=e,this._expandedNodes.clear(),this._selectedNodes.clear(),this._loadingNodes.clear(),this._loadedNodes.clear(),this._anchorNode=null,this._focusNode=null,this._flatten(),this.getElement()&&(this._boundIndices.fill(-1),this.invalidateGeom(),this.renderWindow()),this}expandAll(){let addExpandable=e=>{for(let t of e)t.children&&t.children.length>0&&(this._expandedNodes.add(t),addExpandable(t.children))};return addExpandable(this._nodes),this._reflattenAndRender(),this}getRowHeight(){return m}createPoolRow(){return new f(this._rendererFactory)}getNodes(){return this._nodes}getSelectedNode(){return this._anchorNode}getSelectedNodes(){return Array.from(this._selectedNodes)}selectNode(e){let t=this._flatRows.findIndex(t=>t.node===e);return t<0?this:(this._selectedNodes.clear(),this._selectedNodes.add(e),this._anchorNode=e,this._focusNode=e,this._updateSelectionStyle(),this._scrollIntoView(t),this.renderWindow(),this._updateActiveDescendant(),this)}async revealByPredicate(e){let t=await this._findPath(this._nodes,e,[]);if(t===null)return null;for(let e=0;e<t.length-1;e++)this._expandedNodes.add(t[e]);this._reflattenAndRender();let n=t[t.length-1],r=this._flatRows.findIndex(e=>e.node===n);return r>=0&&this._scrollIntoView(r),n}async _findPath(e,t,n){for(let r of e){let e=[...n,r];if(t(r.data,r))return e;let i=await this._ensureChildrenLoaded(r);if(i.length>0){let n=await this._findPath(i,t,e);if(n!==null)return n}}return null}async _ensureChildrenLoaded(e){if(e.children&&e.children.length>0)return e.children;if(e.loadChildren!==void 0&&!this._loadedNodes.has(e))try{let t=await e.loadChildren();return e.children=t,this._loadedNodes.add(e),t}catch{return[]}return e.children??[]}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}setRendererFactory(e){this._rendererFactory=e;for(let t of this._rowPool)t.setRenderer(e());return this._boundIndices.fill(-1),this.invalidateGeom(),this.getElement()&&this.renderWindow(),this}getRendererFactory(){return this._rendererFactory}_isExpandable(e){return!!(e.children&&e.children.length>0)||e.hasChildren===!0}_flatten(){this._flatRows=[],this._maxContentWidth=0;let recurse=(e,t)=>{let n=e.length;for(let r=0;r<e.length;r++){let i=e[r];this._flatRows.push({node:i,depth:t,siblingCount:n,posInSet:r+1}),this._isExpandable(i)&&this._expandedNodes.has(i)&&i.children&&recurse(i.children,t+1)}};recurse(this._nodes,0)}_reflattenAndRender(){this._flatten(),this._boundIndices.fill(-1),this.invalidateGeom(),this.renderWindow()}_onToggle(e){if(this._expandedNodes.has(e)){this._expandedNodes.delete(e),this._reflattenAndRender();return}if(!(e.loadChildren!==void 0&&!this._loadedNodes.has(e)&&!(e.children&&e.children.length))){this._expandedNodes.add(e),this._reflattenAndRender();return}this._loadingNodes.has(e)||this._loadAndExpand(e)}async _loadAndExpand(e){this._loadingNodes.add(e),this._reflattenAndRender();try{let t=await e.loadChildren();if(!this._loadingNodes.has(e))return;e.children=t,this._loadedNodes.add(e),this._expandedNodes.add(e)}catch(t){if(!this._loadingNodes.has(e))return;this.emit(`loaderror`,e,t)}finally{this._loadingNodes.delete(e),this._reflattenAndRender()}}_notifySelectionChange(e){d(e,this._selectedNodes)||this.emit(`selection`,this.getSelectedNodes())}_rangeSelect(e,t){let n=Math.min(e,t),r=Math.max(e,t);this._selectedNodes.clear();for(let e=n;e<=r;e++)this._selectedNodes.add(this._flatRows[e].node)}_selectAtIndex(e){if(e<0||e>=this._flatRows.length)return;let t=this._flatRows[e].node,n=new Set(this._selectedNodes);this._selectedNodes.clear(),this._selectedNodes.add(t),this._anchorNode=t,this._focusNode=t,this._updateSelectionStyle(),this._scrollIntoView(e),this.renderWindow(),this._updateActiveDescendant(),this._notifySelectionChange(n)}_extendSelectionTo(e){if(e<0||e>=this._flatRows.length)return;let t=new Set(this._selectedNodes),n=this._anchorNode?this._flatRows.findIndex(e=>e.node===this._anchorNode):e;this._rangeSelect(n<0?e:n,e),this._focusNode=this._flatRows[e].node,this._updateSelectionStyle(),this._scrollIntoView(e),this.renderWindow(),this._updateActiveDescendant(),this._notifySelectionChange(t)}_scrollIntoView(e){this.scrollRowIntoView(e)}_onKeyDown(e){if(!new Set([`ArrowDown`,`ArrowUp`,`ArrowLeft`,`ArrowRight`,`Home`,`End`]).has(e.key))return;let t=this._flatRows;if(t.length===0)return;e.preventDefault();let n=this._focusNode?t.findIndex(e=>e.node===this._focusNode):-1;if(e.key===`ArrowDown`){let r=n<0?0:Math.min(n+1,t.length-1);e.shiftKey?this._extendSelectionTo(r):this._selectAtIndex(r)}else if(e.key===`ArrowUp`){let t=n<0?0:Math.max(n-1,0);e.shiftKey?this._extendSelectionTo(t):this._selectAtIndex(t)}else if(e.key===`Home`)e.shiftKey?this._extendSelectionTo(0):this._selectAtIndex(0);else if(e.key===`End`){let n=t.length-1;e.shiftKey?this._extendSelectionTo(n):this._selectAtIndex(n)}else if(e.key===`ArrowRight`){if(n<0){this._selectAtIndex(0);return}let{node:e}=t[n];if(!this._isExpandable(e))return;this._expandedNodes.has(e)?this._selectAtIndex(n+1):this._onToggle(e)}else if(e.key===`ArrowLeft`){if(n<0)return;let{node:e,depth:r}=t[n];if(this._isExpandable(e)&&this._expandedNodes.has(e)){this._onToggle(e);let t=this._flatRows.findIndex(t=>t.node===e);t>=0&&this._scrollIntoView(t)}else if(r>0){for(let e=n-1;e>=0;e--)if(t[e].depth===r-1){this._selectAtIndex(e);break}}}}_handleClick(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getToggle();if(a){let t=a.getElement();if(t&&(n===t||e.source.contains(t,n))){this._onToggle(i);return}}let o=r.getElement();if(!o||!e.source.contains(o,n)&&n!==o)continue;let s=this._flatRows.findIndex(e=>e.node===i);if(t.shiftKey&&this._anchorNode)this._extendSelectionTo(s);else if(t.ctrlKey||t.metaKey){let e=new Set(this._selectedNodes);this._selectedNodes.has(i)?this._selectedNodes.delete(i):this._selectedNodes.add(i),this._anchorNode=i,this._focusNode=i,this._updateSelectionStyle(),this._notifySelectionChange(e)}else this._selectAtIndex(s);return}}_handleContextMenu(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getElement();if(!(!a||!e.source.contains(a,n)&&n!==a)){t.preventDefault(),this.emit(`contextmenu`,i,t);return}}}_handleDblClick(t){let n=t.target===null?null:e.source.intern(t.target);for(let r of this._rowPool){let i=r.getNode();if(!i)continue;let a=r.getElement();if(!a||!e.source.contains(a,n)&&n!==a)continue;t.preventDefault(),this.emit(`dblclick`,i);let o=r.getToggle(),s=o?o.getElement():void 0;!(s&&(n===s||e.source.contains(s,n)))&&this._isExpandable(i)&&this._onToggle(i);return}}_updateSelectionStyle(){for(let t of this._rowPool){let n=t.getElement();if(!n)continue;let r=t.getNode(),i=r!==null&&this._selectedNodes.has(r),a=r!==null&&r===this._focusNode;i?e.sink.apply(n,{style:{"background-color":h}}):e.sink.apply(n,{style:{"background-color":null}}),a?e.sink.apply(n,{style:{outline:`2px solid var(--ts-ui-focus-ring, rgba(30, 100, 200, 0.6))`,"outline-offset":`-2px`}}):e.sink.apply(n,{style:{outline:null,"outline-offset":null}}),t.getAria().setSelected(i)}}_updateActiveDescendant(){if(!this._focusNode){this.getAria().setActiveDescendant(``);return}for(let e of this._rowPool)if(e.getNode()===this._focusNode){this.getAria().setActiveDescendant(e.getId());return}this.getAria().setActiveDescendant(``)}onThemeReflow(){this._maxContentWidth=0,super.onThemeReflow()}renderWindow(){if(!this.getElement()||!this._scroller||this.deferRenderWhileFirstLayoutHeld())return;let e=this._scroller,t=this._flatRows.length,n=t*m;e.clampToContent(this._lastRowWidth,n);let r=this.getHeight()||0,i=this.computeVisibleWindow(e.getScrollY(),r,t),a=this.computePoolTarget(i.windowSize,r,t);this.growRowPool(a);let{reboundFlags:o,maxContentWidth:s}=this._bindAndMeasure(i.firstRow,i.windowSize);s>this._maxContentWidth&&(this._maxContentWidth=s);let c=Math.max(e.getViewportWidth(),this._maxContentWidth);c!==this._lastRowWidth&&(this._lastRowWidth=c,this.invalidateGeom()),this._positionRows(i.firstRow,i.windowSize,c,o),this.hideExcessPoolRows(i.windowSize),this._updateSelectionStyle(),e.layoutScrollbars(c,n),this.finishResumedRender()&&this._updateActiveDescendant()}_bindAndMeasure(e,t){let n=Array(t),r=0;for(let i=0;i<t;i++){let t=this._rowPool[i],a=e+i,o=this._flatRows[a],s=this._isExpandable(o.node),c=this._expandedNodes.has(o.node),l=this._loadingNodes.has(o.node),u=this._boundIndices[i]!==a;if(u){let e=this._selectedNodes.has(o.node);t.setRowData(o.node,o.depth,s,c,o.siblingCount,o.posInSet,e,l),this._boundIndices[i]=a}n[i]=u;let d=t.getContentWidth(p);d>r&&(r=d)}return{reboundFlags:n,maxContentWidth:r}}_positionRows(e,t,n,r){for(let i=0;i<t;i++){let t=this._rowPool[i],a=e+i,o=r[i],s=this.positionRow(i,a*m,n);(o||s)&&t.layoutChildren(m,p)}}init(e){super.init(e);let n=e||this.getElement();return n?(this.initScroller(n),t.addSubtreeListener(this,`click`,this._handleClick),t.addSubtreeListener(this,`contextmenu`,this._handleContextMenu),t.addSubtreeListener(this,`dblclick`,this._handleDblClick),t.addListener(this,`keydown`,this._onKeyDown),this.renderWindow(),this):this}doLayout(){return this.isLayoutPaused()?this:(super.doLayout(),this.renderWindowIfDeferred()||this.renderWindow(),this)}},g=n(Tree),_=20,v=16,IconLabelTreeNodeRenderer=class extends TreeNodeRenderer{_icon=null;_label;_glyphResolver;_currentGlyph=null;constructor(e=()=>`file`){super(),this.clearInsets(),this._glyphResolver=e,this._label=new o,this._label.clearInsets(),this._label.setAutoMeasure(!1)}update(t){let n=this._glyphResolver(t.node,t);if(n!==this._currentGlyph){let t=this.getElement();if(t&&this._icon){let n=this._icon.getElement();n&&e.source.getParentNode(n)===t&&e.sink.removeChild(t,n)}this._icon=new a(n),this._icon.clearInsets(),this._currentGlyph=n,t&&e.sink.insertBefore(t,this._icon.getElement(!0),this._label.getElement()??null)}this._label.setText(t.node.label),this._label.measure()}getContentWidth(){return(this._icon?_:0)+(this._label.getPreferredSize()?.width??0)}layoutChildren(e,t){let n=this.getContentBounds()??{x:0,y:0,width:e,height:t};this._icon&&(this._icon.setAutoCommitStyle(!1),this._icon.setX(n.x),this._icon.setY(n.y+Math.max(0,(n.height-v)/2)),this._icon.setWidth(v),this._icon.setHeight(v),this._icon.setAutoCommitStyle(!0));let r=n.x+(this._icon?_:0),i=Math.max(0,n.x+n.width-r);this._label.setAutoCommitStyle(!1),this._label.setX(r),this._label.setY(n.y),this._label.setWidth(i),this._label.setHeight(n.height),this._label.setLineHeight(n.height),this._label.setAutoCommitStyle(!0)}init(t){super.init(t);let n=t||this.getElement();return n?(this._icon&&e.sink.appendChild(n,this._icon.getElement(!0)),e.sink.appendChild(n,this._label.getElement(!0)),this):this}};export{IconLabelTreeNodeRenderer,LabelTreeNodeRenderer,g as Tree,TreeNodeRenderer};
2
2
  //# sourceMappingURL=tree.es.js.map
@@ -1,2 +1,2 @@
1
- import{i as e,n as t,r as n,t as r}from"./DOM-67StIm5G.js";import{c as i,l as a}from"./Position-Ck_KD4cR.js";import{S as o,a as s,b as c,c as l,g as u,h as d,i as f,o as p,r as m,s as h,t as g,v as _,x as v,y}from"./Component-DHqrPwAw.js";import{t as b}from"./ListenerBag-WPdKuuds.js";import{a as x}from"./Scrollbar-CSFK-Y57.js";import{t as S}from"./Container-CAQpj4yb.js";import{t as C}from"./Panel-D2X33qR6.js";import{t as w}from"./RovingTabIndex-DFJyoveq.js";import{a as T}from"./Tooltip-DzK6LxUt.js";import{n as E,r as D,t as O}from"./AnimatedDropdown-DKas40B-.js";import{t as k}from"./FieldDecorator-CgAGcqCk.js";import{t as A}from"./Validator-Du8PqS5i.js";var j=f(p,{colorScheme:`light`,text:{color:`rgb(0, 0, 0)`},body:{background:`rgb(255, 255, 255)`},border:{color:`black`},button:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`rgb(200, 200, 200)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.2)`,description:{foreground:`rgb(110, 110, 110)`},pressed:{foreground:`rgb(150, 150, 150)`,background:`linear-gradient(rgb(200, 200, 200), rgb(214, 214, 214))`,shadow:`inset 0 1px 4px rgba(0, 0, 0, 0.30)`},hover:{foreground:`inherit`,background:`linear-gradient(rgb(252, 252, 252), rgb(220, 220, 220))`,shadow:`1px 3px 6px 0 rgba(0, 0, 0, 0.25)`},flat:{hover:{background:`rgba(0, 0, 0, 0.06)`,border:`1px solid rgb(200, 200, 200)`},pressed:{background:`rgba(0, 0, 0, 0.10)`,shadow:`inset 1px 1px 3px rgba(0, 0, 0, 0.25)`,border:`1px solid rgb(180, 180, 180)`}}},toggle:{selected:{background:`rgb(200, 200, 200)`,shadow:`2px 2px 1px inset grey`}},input:{background:`rgb(255, 255, 255)`,border:`1px solid rgb(160, 160, 160)`,borderHover:`1px solid rgb(120, 120, 120)`},form:{background:`rgb(255, 255, 255)`,border:`rgb(160, 160, 160)`,color:`rgb(40, 40, 40)`,disabledBackground:`rgb(240, 240, 240)`,disabledColor:`rgb(170, 170, 170)`,focusRing:`rgb(30, 100, 200)`,toggle:{trackOffBackground:`rgb(200, 200, 200)`,trackOnBackground:`rgb(30, 100, 200)`,thumbBackground:`rgb(255, 255, 255)`},slider:{trackBackground:`rgb(220, 220, 220)`,trackActiveBackground:`rgb(30, 100, 200)`,thumbBackground:`rgb(255, 255, 255)`},checkbox:{background:`rgb(255, 255, 255)`,selectedBackground:`rgb(30, 100, 200)`,indeterminateBackground:`rgb(160, 160, 160)`,checkColor:`rgb(255, 255, 255)`},radio:{background:`rgb(255, 255, 255)`,selectedBackground:`rgb(30, 100, 200)`,dotColor:`rgb(255, 255, 255)`}},gutter:{background:`#AAAAAA`},collapse:{strip:{background:`#AAAAAA`,size:`18px`},button:{color:`rgb(100,100,100)`}},accordion:{border:`1px solid rgb(190,190,190)`,header:{background:`linear-gradient(rgb(230,230,230),rgb(210,210,210))`,border:`1px solid rgb(190,190,190)`,color:`inherit`},panel:{border:`rgb(210,210,210)`},indicator:{color:`rgb(100,100,100)`}},tab:{toolbar:{background:`#eee`,border:`#e1e1e8`},button:{background:`linear-gradient(rgb(208, 208, 216), rgb(185, 185, 196))`,border:`none`,hover:{background:`linear-gradient(rgb(220, 220, 227), rgb(198, 198, 208))`,border:`none`},selected:{background:`linear-gradient(rgb(255, 255, 255), rgb(235, 235, 240))`,border:`none`}},indicator:{color:`#1a73e8`}},window:{shadow:`3px 3px 2px rgba(0, 0, 0, 0.4)`,snapGlow:`0 0 0 2px rgba(30, 100, 200, 0.7)`,control:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`1px solid rgb(200, 200, 200)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.2)`,hoverBackground:`linear-gradient(rgb(252, 252, 252), rgb(220, 220, 220))`,activeBackground:`linear-gradient(rgb(200, 200, 200), rgb(214, 214, 214))`},header:{background:`#eee`}},table:{header:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`black`,glyph:{color:`currentColor`}},row:{selected:`rgba(30, 100, 200, 0.15)`,selectedBorder:`inset 0 0 0 1px rgba(30, 100, 200, 0.6)`,new:`rgba(70, 200, 70, 0.15)`,dirty:`rgba(255, 165, 0, 0.15)`,stripe:`rgba(0, 0, 0, 0.035)`},cell:{background:`transparent`,readonlyBackground:`rgba(0, 0, 0, 0.04)`,requiredEmptyOutlineColor:`rgba(220, 60, 60, 0.6)`,color:`inherit`,border:`none`,editorBorderColor:`rgba(30, 100, 200, 0.6)`},resizeHandle:{color:`rgba(0, 0, 0, 0.2)`},sortBadge:{background:`rgba(0, 0, 0, 0.15)`,color:`inherit`}},contextMenu:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`,item:{hoverBackground:`rgba(30, 100, 200, 0.12)`,disabledColor:`rgb(170, 170, 170)`},separatorColor:`rgb(220, 220, 220)`},menuBar:{background:`rgb(245, 245, 245)`,border:`rgb(220, 220, 220)`,button:{background:`transparent`,hoverBackground:`rgba(30, 100, 200, 0.10)`,foreground:`inherit`},panel:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`},item:{hoverBackground:`rgba(30, 100, 200, 0.12)`,disabledColor:`rgb(170, 170, 170)`,shortcutColor:`rgb(140, 140, 140)`},separatorColor:`rgb(220, 220, 220)`},statusBar:{background:`rgb(245, 245, 245)`,color:`rgb(60, 60, 60)`,border:`rgb(220, 220, 220)`},toolBar:{background:`rgb(245, 245, 245)`,border:`rgb(220, 220, 220)`,separatorColor:`rgb(220, 220, 220)`},tooltip:{background:`rgb(255, 255, 240)`,color:`rgb(0, 0, 0)`,border:`rgb(180, 180, 100)`,shadow:`1px 2px 4px rgba(0, 0, 0, 0.2)`},popover:{background:`rgb(255, 255, 255)`,color:`rgb(0, 0, 0)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.18)`},notification:{shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`,info:{background:`rgba(210, 224, 244, 0.75)`,border:`rgb(30, 100, 200)`},success:{background:`rgba(210, 240, 220, 0.75)`,border:`rgb(30, 180, 80)`},warning:{background:`rgba(248, 232, 204, 0.75)`,border:`rgb(220, 140, 0)`},error:{background:`rgba(244, 214, 214, 0.75)`,border:`rgb(200, 50, 50)`}},validation:{error:{border:`rgb(200, 50, 50)`,tooltip:{background:`rgb(180, 30, 30)`,color:`rgb(255, 255, 255)`,border:`rgb(140, 20, 20)`}}},autoComplete:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0,0,0,0.15)`,item:{hoverBackground:`rgba(30, 100, 200, 0.08)`,highlightBackground:`rgba(30, 100, 200, 0.18)`,highlightColor:`inherit`,disabledColor:`rgb(170, 170, 170)`}},list:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,row:{hoverBackground:`rgba(30, 100, 200, 0.08)`,selectedBackground:`rgba(30, 100, 200, 0.18)`,selectedColor:`inherit`,focusRing:`rgb(30, 100, 200)`,disabledColor:`rgb(170, 170, 170)`,separator:`transparent`}},indicator:{focus:`rgb(30, 100, 200)`,selection:`1px dashed rgb(120, 170, 240)`},picker:{navForeground:`var(--ts-ui-text-color)`,navHoverBackground:`rgba(30, 100, 200, 0.08)`,cellDisabledBackground:`transparent`},dialog:{backdrop:{background:`rgba(0, 0, 0, 0.45)`},border:`rgb(220, 220, 220)`,shadow:`4px 8px 24px rgba(0, 0, 0, 0.35)`,confirm:`rgb(30, 180, 80)`,cancel:`rgb(200, 50, 50)`,info:{background:`rgba(30, 100, 200, 0.15)`,foreground:`rgb(30, 100, 200)`},affirm:{background:`rgba(30, 180, 80, 0.15)`,foreground:`rgb(30, 180, 80)`}},drawer:{background:`var(--ts-ui-body-bg)`,shadow:`4px 0 24px rgba(0, 0, 0, 0.25)`,border:`rgb(220, 220, 220)`},rail:{background:`var(--ts-ui-body-bg)`,border:`rgb(200, 200, 200)`,shadow:`2px 0 12px rgba(0, 0, 0, 0.18)`,handle:{hoverBackground:`rgba(30, 100, 200, 0.08)`,selectedBackground:`rgba(30, 100, 200, 0.16)`}},spinner:{dividerColor:`rgb(180, 180, 180)`},progressBar:{track:{background:`rgb(220, 220, 220)`},fill:{background:`rgb(30, 100, 200)`},indeterminate:{background:`rgb(30, 100, 200)`}},progressSpinner:{color:`rgb(30, 100, 200)`,backdrop:`rgba(255, 255, 255, 0.6)`},drag:{ghost:{background:`rgba(200, 200, 200, 0.9)`,border:`rgb(150, 150, 150)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.25)`},feedback:{valid:{background:`rgba(30, 180, 80, 0.12)`,border:`rgb(30, 180, 80)`},invalid:{background:`rgba(200, 50, 50, 0.10)`,border:`rgb(200, 50, 50)`}},reorderIndicator:{color:`rgb(30, 100, 200)`},dropzone:{background:`rgba(80, 140, 240, 0.10)`,border:`rgba(80, 140, 240, 0.40)`,activeBackground:`rgba(80, 140, 240, 0.28)`,invalidBackground:`rgba(200, 50, 50, 0.28)`}},fileDropZone:{background:`rgba(80, 140, 240, 0.06)`,border:`2px dashed rgba(80, 140, 240, 0.40)`,activeBackground:`rgba(80, 140, 240, 0.18)`,activeBorder:`2px dashed rgba(80, 140, 240, 0.80)`},scroll:{shadowColor:`rgba(0, 0, 0, 1)`},chart:{series:[`#0072B2`,`#E69F00`,`#009E73`,`#D55E00`,`#CC79A7`,`#56B4E9`,`#8C6D1F`,`#555555`],axis:`rgb(120, 120, 120)`,grid:`rgb(220, 220, 220)`,label:`rgb(80, 80, 80)`,selection:`#1a73e8`}}),M=f(p,{colorScheme:`dark`,text:{color:`rgb(220, 220, 220)`},body:{background:`rgb(30, 30, 30)`},border:{color:`rgb(90, 90, 90)`},button:{background:`linear-gradient(rgb(70, 70, 70), rgb(50, 50, 50))`,border:`rgb(80, 80, 80)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.5)`,description:{foreground:`rgb(160, 160, 160)`},pressed:{foreground:`rgb(180, 180, 180)`,background:`linear-gradient(rgb(35, 35, 35), rgb(48, 48, 48))`,shadow:`inset 0 1px 4px rgba(0, 0, 0, 0.6)`},hover:{foreground:`inherit`,background:`linear-gradient(rgb(90, 90, 90), rgb(65, 65, 65))`,shadow:`1px 3px 6px 0 rgba(0, 0, 0, 0.55)`},flat:{hover:{background:`rgba(255, 255, 255, 0.08)`,border:`1px solid rgb(90, 90, 90)`},pressed:{background:`rgba(255, 255, 255, 0.12)`,shadow:`inset 1px 1px 3px rgba(0, 0, 0, 0.55)`,border:`1px solid rgb(70, 70, 70)`}}},toggle:{selected:{background:`rgb(35, 35, 35)`,shadow:`2px 2px 1px inset #333`}},input:{background:`rgb(40, 40, 40)`,border:`1px solid rgb(110, 110, 110)`,borderHover:`1px solid rgb(150, 150, 150)`},form:{background:`rgb(40, 40, 40)`,border:`rgb(110, 110, 110)`,color:`rgb(230, 230, 230)`,disabledBackground:`rgb(60, 60, 60)`,disabledColor:`rgb(120, 120, 120)`,focusRing:`rgb(120, 170, 240)`,toggle:{trackOffBackground:`rgb(70, 70, 70)`,trackOnBackground:`rgb(120, 170, 240)`,thumbBackground:`rgb(230, 230, 230)`},slider:{trackBackground:`rgb(70, 70, 70)`,trackActiveBackground:`rgb(120, 170, 240)`,thumbBackground:`rgb(230, 230, 230)`},checkbox:{background:`rgb(40, 40, 40)`,selectedBackground:`rgb(120, 170, 240)`,indeterminateBackground:`rgb(100, 100, 100)`,checkColor:`rgb(20, 20, 20)`},radio:{background:`rgb(40, 40, 40)`,selectedBackground:`rgb(120, 170, 240)`,dotColor:`rgb(20, 20, 20)`}},gutter:{background:`#555`},collapse:{strip:{background:`#555`,size:`18px`},button:{color:`rgb(160,160,160)`}},accordion:{border:`1px solid rgb(80,80,80)`,header:{background:`linear-gradient(rgb(60,60,60),rgb(45,45,45))`,border:`1px solid rgb(80,80,80)`,color:`inherit`},panel:{border:`rgb(70,70,70)`},indicator:{color:`rgb(160,160,160)`}},tab:{underBorderFullWidth:!1,toolbar:{background:`#2a2a2a`,border:`#444`},button:{background:`#3a3a3a`,border:`none`,hover:{background:`#454545`,border:`none`},selected:{background:`rgb(30, 30, 30)`,border:`none`}},indicator:{color:`#4a9eff`}},window:{shadow:`3px 3px 2px rgba(0, 0, 0, 0.6)`,snapGlow:`0 0 0 2px rgba(80, 150, 240, 0.8)`,control:{background:`rgb(30, 30, 30)`,border:`1px solid transparent`,shadow:`none`,hoverBackground:`rgb(55, 55, 55)`,activeBackground:`rgb(45, 45, 45)`},header:{background:`#2a2a2a`}},table:{header:{background:`linear-gradient(rgb(70, 70, 70), rgb(50, 50, 50))`,border:`#555`,glyph:{color:`currentColor`}},row:{selected:`rgba(30, 100, 200, 0.25)`,selectedBorder:`inset 0 0 0 1px rgba(30, 100, 200, 0.8)`,new:`rgba(70, 200, 70, 0.2)`,dirty:`rgba(255, 165, 0, 0.2)`,stripe:`rgba(255, 255, 255, 0.045)`},cell:{background:`transparent`,readonlyBackground:`rgba(255, 255, 255, 0.04)`,requiredEmptyOutlineColor:`rgba(255, 90, 90, 0.8)`,color:`inherit`,border:`none`,editorBorderColor:`rgba(30, 100, 200, 0.8)`},resizeHandle:{color:`rgba(255, 255, 255, 0.25)`},sortBadge:{background:`rgba(255, 255, 255, 0.2)`,color:`inherit`}},contextMenu:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.5)`,item:{hoverBackground:`rgba(100, 140, 220, 0.2)`,disabledColor:`rgb(100, 100, 100)`},separatorColor:`rgb(70, 70, 70)`},menuBar:{background:`rgb(45, 45, 45)`,border:`rgb(70, 70, 70)`,button:{background:`transparent`,hoverBackground:`rgba(100, 140, 220, 0.15)`,foreground:`inherit`},panel:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.5)`},item:{hoverBackground:`rgba(100, 140, 220, 0.2)`,disabledColor:`rgb(100, 100, 100)`,shortcutColor:`rgb(140, 140, 140)`},separatorColor:`rgb(70, 70, 70)`},statusBar:{background:`rgb(45, 45, 45)`,color:`rgb(200, 200, 200)`,border:`rgb(70, 70, 70)`},toolBar:{background:`rgb(45, 45, 45)`,border:`rgb(70, 70, 70)`,separatorColor:`rgb(70, 70, 70)`},tooltip:{background:`rgb(60, 60, 45)`,color:`rgb(220, 220, 180)`,border:`rgb(120, 110, 70)`,shadow:`1px 2px 4px rgba(0, 0, 0, 0.5)`},popover:{background:`rgb(50, 50, 55)`,color:`rgb(230, 230, 235)`,border:`rgb(90, 90, 100)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.55)`},notification:{shadow:`2px 4px 8px rgba(0, 0, 0, 0.4)`,info:{background:`rgba(30, 100, 200, 0.4)`,border:`rgb(30, 100, 200)`},success:{background:`rgba(30, 180, 80, 0.4)`,border:`rgb(30, 180, 80)`},warning:{background:`rgba(220, 140, 0, 0.4)`,border:`rgb(220, 140, 0)`},error:{background:`rgba(200, 50, 50, 0.4)`,border:`rgb(200, 50, 50)`}},validation:{error:{border:`rgb(220, 80, 80)`,tooltip:{background:`rgb(160, 30, 30)`,color:`rgb(255, 220, 220)`,border:`rgb(120, 20, 20)`}}},autoComplete:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0,0,0,0.5)`,item:{hoverBackground:`rgba(100, 140, 220, 0.12)`,highlightBackground:`rgba(100, 140, 220, 0.28)`,highlightColor:`rgb(220, 220, 255)`,disabledColor:`rgb(100, 100, 100)`}},list:{background:`rgb(40, 40, 40)`,border:`rgb(80, 80, 80)`,row:{hoverBackground:`rgba(100, 140, 220, 0.12)`,selectedBackground:`rgba(100, 140, 220, 0.28)`,selectedColor:`rgb(220, 220, 255)`,focusRing:`rgb(120, 170, 240)`,disabledColor:`rgb(100, 100, 100)`,separator:`transparent`}},indicator:{focus:`rgb(120, 170, 240)`,selection:`1px dashed rgb(120, 170, 240)`},picker:{navForeground:`var(--ts-ui-text-color)`,navHoverBackground:`rgba(120, 170, 255, 0.12)`,cellDisabledBackground:`transparent`},dialog:{backdrop:{background:`rgba(0, 0, 0, 0.65)`},border:`rgb(70, 70, 70)`,shadow:`4px 8px 24px rgba(0, 0, 0, 0.6)`,confirm:`rgb(80, 200, 110)`,cancel:`rgb(220, 90, 90)`,info:{background:`rgba(30, 100, 200, 0.25)`,foreground:`rgb(60, 130, 220)`},affirm:{background:`rgba(80, 200, 110, 0.25)`,foreground:`rgb(80, 200, 110)`}},drawer:{background:`var(--ts-ui-body-bg)`,shadow:`4px 0 24px rgba(0, 0, 0, 0.55)`,border:`rgb(70, 70, 70)`},rail:{background:`var(--ts-ui-body-bg)`,border:`rgb(70, 70, 70)`,shadow:`2px 0 12px rgba(0, 0, 0, 0.45)`,handle:{hoverBackground:`rgba(120, 170, 240, 0.12)`,selectedBackground:`rgba(120, 170, 240, 0.22)`}},spinner:{dividerColor:`rgb(80, 80, 80)`},progressBar:{track:{background:`rgb(55, 55, 55)`},fill:{background:`rgb(60, 130, 220)`},indeterminate:{background:`rgb(60, 130, 220)`}},progressSpinner:{color:`rgb(60, 130, 220)`,backdrop:`rgba(20, 20, 20, 0.6)`},drag:{ghost:{background:`rgba(60, 60, 60, 0.9)`,border:`rgb(100, 100, 100)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.6)`},feedback:{valid:{background:`rgba(30, 180, 80, 0.2)`,border:`rgb(30, 180, 80)`},invalid:{background:`rgba(200, 50, 50, 0.18)`,border:`rgb(200, 50, 50)`}},reorderIndicator:{color:`rgb(80, 140, 240)`},dropzone:{background:`rgba(80, 140, 240, 0.12)`,border:`rgba(80, 140, 240, 0.45)`,activeBackground:`rgba(80, 140, 240, 0.32)`,invalidBackground:`rgba(200, 50, 50, 0.32)`}},fileDropZone:{background:`rgba(80, 140, 240, 0.10)`,border:`2px dashed rgba(80, 140, 240, 0.45)`,activeBackground:`rgba(80, 140, 240, 0.24)`,activeBorder:`2px dashed rgba(80, 140, 240, 0.85)`},scroll:{shadowColor:`rgba(0, 0, 0, 1)`},chart:{series:[`#56B4E9`,`#E69F00`,`#00C08B`,`#FF7F4D`,`#E48FC1`,`#0091D5`,`#F0E442`,`#AAAAAA`],axis:`rgb(176, 176, 176)`,grid:`rgb(58, 58, 58)`,label:`rgb(192, 192, 192)`,selection:`#4a9eff`}}),Form=class extends C{_onSubmit=null;constructor(e){super(e,{tag:`form`}),this._onSubmit=e?.onSubmit??null,o.addListener(this,`submit`,this.handleSubmit)}handleSubmit(e){e.preventDefault(),this._onSubmit?.(this)}requestSubmit(){let e=this.getElement();e&&r.sink.requestSubmit(e)}},N=d(Form),P=`data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.pane%7Bfill%3A%23FFFFFF%7D.region%7Bfill%3A%23000000%7D%40media(prefers-color-scheme%3Adark)%7B.pane%7Bfill%3A%23505050%7D.region%7Bfill%3A%2378AAF0%7D%7D%3C%2Fstyle%3E%3CclipPath%20id%3D%22plate%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20rx%3D%226%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23plate)%22%3E%3Crect%20class%3D%22pane%22%20width%3D%2232%22%20height%3D%2232%22%2F%3E%3Crect%20class%3D%22region%22%20width%3D%2232%22%20height%3D%2210%22%2F%3E%3Crect%20class%3D%22region%22%20y%3D%2212%22%20width%3D%2210%22%20height%3D%2220%22%2F%3E%3Crect%20class%3D%22region%22%20x%3D%2212%22%20y%3D%2212%22%20width%3D%2220%22%20height%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`,F=`link[rel~="icon"]`,I=class Favicon{static _link=null;static install(e=P){if(Favicon._link!==null)return r.sink.apply(Favicon._link,{setAttr:{href:e}}),!0;let t=r.source.getHead();if(r.source.querySelector(t,F)!==null)return!1;let n=r.sink.createElement(`link`);return r.sink.apply(n,{setAttr:{rel:`icon`,href:e}}),r.sink.appendChild(t,n),Favicon._link=n,!0}static _reset(){Favicon._link=null}},L=class Body extends g{static INSTANCE=new Body;static getInstance(){return this.INSTANCE}static init(e={}){return this.INSTANCE.reattachElementBuffers(),this.INSTANCE.applyOptions(e),e.favicon===void 0&&this.INSTANCE.setFavicon(P),this.INSTANCE}applyOptions(e){return super.applyOptions(e),e.favicon!==void 0&&this.setFavicon(e.favicon),this}setFavicon(e){return this._options.favicon=e,e!==!1&&I.install(e),this}getFavicon(){return this._options.favicon??P}constructor(){super({tag:`body`}),this.init(),this.setBackgroundColor(`var(--ts-ui-body-bg, rgb(241, 241, 241))`),m.setTheme(s)}getElement(){return r.source.getBody()}init(){return super.init(),this.setSize(r.source.getViewportSize()),this.clearInsets(),o.addViewportListener(this,`resize`,this._onViewportResize),this.subscribeTheme(this._onThemeReflow),this}_onViewportResize=()=>{this.setSize(r.source.getViewportSize())};_onThemeReflow=()=>{this.scheduleLayout()};clampsToContentSize(){return!1}},R=50,z={code:`BracketLeft`,alt:!0},B={code:`BracketRight`,alt:!0},V=new g,H=new b,U=[],W=-1,G=!1,K=!1,q=R,J=z,Y=B;function isLive(e){try{return r.source.isConnected(e)}catch{return!1}}function pruneStale(){let e=[],t=-1;for(let n=0;n<U.length;n++){let r=U[n];isLive(r)&&(e.push(r),n<=W&&(t=e.length-1))}U=e,W=t}function fireChange(){let e={canGoBack:W>0,canGoForward:W<U.length-1};H.fire(`change`,e)}function record(e){if(!(W>=0&&U[W]===e)){for(U.length=W+1,U.push(e);U.length>q;)U.shift();W=U.length-1,fireChange()}}function focusEntry(e){K=!0,r.sink.focus(e),K=!1,fireChange()}function navigate(e){pruneStale();let t=W+e;return t<0||t>=U.length?!1:(W=t,focusEntry(U[W]),!0)}function matchesCombo(e,t){return e.code===t.code&&e.altKey===!!t.alt&&e.ctrlKey===!!t.ctrl&&e.shiftKey===!!t.shift&&e.metaKey===!!t.meta}function onFocusIn(e){!G||K||r.source.isElement(e.target)&&record(r.source.intern(e.target))}function onKeyDown(e){if(!G)return;let t=matchesCombo(e,J)?-1:+!!matchesCombo(e,Y);if(t===0)return;let n=T.getTopLayer();if(!(n&&n.getDismissMode()===`modal`))return navigate(t),{stop:!0,prevent:!0}}var X;(function(e){function enable(e){if(e&&configure(e),G)return;G=!0,o.addViewportListener(V,`focusin`,onFocusIn),o.addViewportListener(V,`keydown`,onKeyDown);let t=r.source.getActiveElement();t!==null&&record(t)}e.enable=enable;function disable(){G&&(G=!1,K=!1,o.removeViewportListener(V,`focusin`,onFocusIn),o.removeViewportListener(V,`keydown`,onKeyDown))}e.disable=disable;function isEnabled(){return G}e.isEnabled=isEnabled;function configure(e){e.maxSize!==void 0&&(q=e.maxSize),e.back!==void 0&&(J=e.back),e.forward!==void 0&&(Y=e.forward)}e.configure=configure;function back(){return navigate(-1)}e.back=back;function forward(){return navigate(1)}e.forward=forward;function canGoBack(){return pruneStale(),W>0}e.canGoBack=canGoBack;function canGoForward(){return pruneStale(),W<U.length-1}e.canGoForward=canGoForward;function clear(){U=[],W=-1,fireChange()}e.clear=clear;function on(e,t){H.add(e,t)}e.on=on;function off(e,t){H.remove(e,t)}e.off=off})(X||={});var Binding=class extends i{_record=null;_entries=new Map;_listeners=new b;_validationConfigs=new Map;_globalValidateOnChange=!1;_loading=!1;bind(e,t,n){this.unbind(e);let r=n??{get:()=>t.getValue(),set:e=>t.setValue(e),listen:e=>t.on(`binding`,e)},i={accessors:r,active:!0};return this._entries.set(e,i),r.listen(()=>{if(this._loading||!i.active||!this._record)return;let t=r.get();this._record.set(e,t),this.emit(`change`,e,t),this._validateFieldIfLive(e)}),this._record&&r.set(this._record.get(e)),this}unbind(e){let t=this._entries.get(e);return t&&(t.active=!1,this._entries.delete(e)),this}setRecord(e){for(let t of this._listeners.get(`beforerecord`))if(t(e)===!1)return this;if(this._record=e,this.clearValidation(),!e)return this;this._loading=!0;try{for(let[t,n]of this._entries)n.accessors.set(e.get(t))}finally{this._loading=!1}for(let[e]of this._validationConfigs)this._validateFieldIfLive(e);return this}getRecord(){return this._record}commit(){return this._record?.commit(),this.emit(`commit`),this}reject(){if(this._record?.reject(),this._record)for(let[e,t]of this._entries)t.accessors.set(this._record.get(e));this.clearValidation(),this.emit(`reject`)}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}addValidation(e,t,n){let r=Array.isArray(n)?n:[n];return this._validationConfigs.set(e,{rules:r,component:t,validateOnChange:!1,decorator:null}),this}removeValidation(e){let t=this._validationConfigs.get(e);return t?.decorator&&t.decorator.clearError(),this._validationConfigs.delete(e),this}validate(){let e=!0;for(let[t]of this._validationConfigs)this._validateField(t)||(e=!1);return e}setValidateOnChange(e){return this._globalValidateOnChange=e,this}getValidateOnChange(){return this._globalValidateOnChange}clearValidation(){for(let[,e]of this._validationConfigs)e.decorator&&e.decorator.clearError();return this}_validateField(e){let t=this._validationConfigs.get(e);if(!t)return!0;let n=this._entries.get(e),r=n?n.accessors.get():void 0;for(let e of t.rules){let n=A(e,r);if(!n.valid){if(!t.decorator){let e=t.component.getParentComponent();e&&(t.decorator=new k(t.component,e))}return t.decorator?.showError(n.message),!1}}return t.decorator?.clearError(),!0}_validateFieldIfLive(e){let t=this._validationConfigs.get(e);t&&(t.validateOnChange||this._globalValidateOnChange)&&this._validateField(e)}};export{O as AnimatedDropdown,_ as Animation,l as Aria,x as AutoRepeat,i as BaseObject,p as BaseTheme,Binding,L as Body,j as ClassicTheme,g as Component,S as Container,P as DEFAULT_FAVICON,r as DOM,M as DarkTheme,h as ElementAttributes,o as Event,I as Favicon,X as FocusHistory,N as Form,y as InlineStyle,T as LayerManager,b as ListenerBag,s as ModernTheme,C as Panel,t as PatchBuilder,n as ProductionDOMSink,e as ProductionDOMSource,w as RovingTabIndex,u as SmoothScroller,c as StyleRule,v as StyleTarget,m as ThemeManager,a as Util,d as callable,f as defineTheme,E as fadeHideAndDetach,D as fadeShow};
1
+ import{i as e,n as t,r as n,t as r}from"./DOM-67StIm5G.js";import{c as i,l as a}from"./Position-Ck_KD4cR.js";import{S as o,a as s,b as c,c as l,g as u,h as d,i as f,o as p,r as m,s as h,t as g,v as _,x as v,y}from"./Component-fRQvgaEY.js";import{t as b}from"./ListenerBag-WPdKuuds.js";import{a as x}from"./Scrollbar-SOj9psiP.js";import{t as S}from"./Container-0bsG2Q8Z.js";import{t as C}from"./Panel-Rd9zkNXx.js";import{t as w}from"./RovingTabIndex-DFJyoveq.js";import{a as T}from"./Tooltip-Dro4DOZs.js";import{n as E,r as D,t as O}from"./AnimatedDropdown-QLNasu_Y.js";import{t as k}from"./FieldDecorator-Bpx8J8n9.js";import{t as A}from"./Validator-Du8PqS5i.js";var j=f(p,{colorScheme:`light`,text:{color:`rgb(0, 0, 0)`},body:{background:`rgb(255, 255, 255)`},border:{color:`black`},button:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`rgb(200, 200, 200)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.2)`,description:{foreground:`rgb(110, 110, 110)`},pressed:{foreground:`rgb(150, 150, 150)`,background:`linear-gradient(rgb(200, 200, 200), rgb(214, 214, 214))`,shadow:`inset 0 1px 4px rgba(0, 0, 0, 0.30)`},hover:{foreground:`inherit`,background:`linear-gradient(rgb(252, 252, 252), rgb(220, 220, 220))`,shadow:`1px 3px 6px 0 rgba(0, 0, 0, 0.25)`},flat:{hover:{background:`rgba(0, 0, 0, 0.06)`,border:`1px solid rgb(200, 200, 200)`},pressed:{background:`rgba(0, 0, 0, 0.10)`,shadow:`inset 1px 1px 3px rgba(0, 0, 0, 0.25)`,border:`1px solid rgb(180, 180, 180)`}}},toggle:{selected:{background:`rgb(200, 200, 200)`,shadow:`2px 2px 1px inset grey`}},input:{background:`rgb(255, 255, 255)`,border:`1px solid rgb(160, 160, 160)`,borderHover:`1px solid rgb(120, 120, 120)`},form:{background:`rgb(255, 255, 255)`,border:`rgb(160, 160, 160)`,color:`rgb(40, 40, 40)`,disabledBackground:`rgb(240, 240, 240)`,disabledColor:`rgb(170, 170, 170)`,focusRing:`rgb(30, 100, 200)`,toggle:{trackOffBackground:`rgb(200, 200, 200)`,trackOnBackground:`rgb(30, 100, 200)`,thumbBackground:`rgb(255, 255, 255)`},slider:{trackBackground:`rgb(220, 220, 220)`,trackActiveBackground:`rgb(30, 100, 200)`,thumbBackground:`rgb(255, 255, 255)`},checkbox:{background:`rgb(255, 255, 255)`,selectedBackground:`rgb(30, 100, 200)`,indeterminateBackground:`rgb(160, 160, 160)`,checkColor:`rgb(255, 255, 255)`},radio:{background:`rgb(255, 255, 255)`,selectedBackground:`rgb(30, 100, 200)`,dotColor:`rgb(255, 255, 255)`}},gutter:{background:`#AAAAAA`},collapse:{strip:{background:`#AAAAAA`,size:`18px`},button:{color:`rgb(100,100,100)`}},accordion:{border:`1px solid rgb(190,190,190)`,header:{background:`linear-gradient(rgb(230,230,230),rgb(210,210,210))`,border:`1px solid rgb(190,190,190)`,color:`inherit`},panel:{border:`rgb(210,210,210)`},indicator:{color:`rgb(100,100,100)`}},tab:{toolbar:{background:`#eee`,border:`#e1e1e8`},button:{background:`linear-gradient(rgb(208, 208, 216), rgb(185, 185, 196))`,border:`none`,hover:{background:`linear-gradient(rgb(220, 220, 227), rgb(198, 198, 208))`,border:`none`},selected:{background:`linear-gradient(rgb(255, 255, 255), rgb(235, 235, 240))`,border:`none`}},indicator:{color:`#1a73e8`}},window:{shadow:`3px 3px 2px rgba(0, 0, 0, 0.4)`,snapGlow:`0 0 0 2px rgba(30, 100, 200, 0.7)`,control:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`1px solid rgb(200, 200, 200)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.2)`,hoverBackground:`linear-gradient(rgb(252, 252, 252), rgb(220, 220, 220))`,activeBackground:`linear-gradient(rgb(200, 200, 200), rgb(214, 214, 214))`},header:{background:`#eee`}},table:{header:{background:`linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200))`,border:`black`,glyph:{color:`currentColor`}},row:{selected:`rgba(30, 100, 200, 0.15)`,selectedBorder:`inset 0 0 0 1px rgba(30, 100, 200, 0.6)`,new:`rgba(70, 200, 70, 0.15)`,dirty:`rgba(255, 165, 0, 0.15)`,stripe:`rgba(0, 0, 0, 0.035)`},cell:{background:`transparent`,readonlyBackground:`rgba(0, 0, 0, 0.04)`,requiredEmptyOutlineColor:`rgba(220, 60, 60, 0.6)`,color:`inherit`,border:`none`,editorBorderColor:`rgba(30, 100, 200, 0.6)`},resizeHandle:{color:`rgba(0, 0, 0, 0.2)`},sortBadge:{background:`rgba(0, 0, 0, 0.15)`,color:`inherit`}},contextMenu:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`,item:{hoverBackground:`rgba(30, 100, 200, 0.12)`,disabledColor:`rgb(170, 170, 170)`},separatorColor:`rgb(220, 220, 220)`},menuBar:{background:`rgb(245, 245, 245)`,border:`rgb(220, 220, 220)`,button:{background:`transparent`,hoverBackground:`rgba(30, 100, 200, 0.10)`,foreground:`inherit`},panel:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`},item:{hoverBackground:`rgba(30, 100, 200, 0.12)`,disabledColor:`rgb(170, 170, 170)`,shortcutColor:`rgb(140, 140, 140)`},separatorColor:`rgb(220, 220, 220)`},statusBar:{background:`rgb(245, 245, 245)`,color:`rgb(60, 60, 60)`,border:`rgb(220, 220, 220)`},toolBar:{background:`rgb(245, 245, 245)`,border:`rgb(220, 220, 220)`,separatorColor:`rgb(220, 220, 220)`},tooltip:{background:`rgb(255, 255, 240)`,color:`rgb(0, 0, 0)`,border:`rgb(180, 180, 100)`,shadow:`1px 2px 4px rgba(0, 0, 0, 0.2)`},popover:{background:`rgb(255, 255, 255)`,color:`rgb(0, 0, 0)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.18)`},notification:{shadow:`2px 4px 8px rgba(0, 0, 0, 0.15)`,info:{background:`rgba(210, 224, 244, 0.75)`,border:`rgb(30, 100, 200)`},success:{background:`rgba(210, 240, 220, 0.75)`,border:`rgb(30, 180, 80)`},warning:{background:`rgba(248, 232, 204, 0.75)`,border:`rgb(220, 140, 0)`},error:{background:`rgba(244, 214, 214, 0.75)`,border:`rgb(200, 50, 50)`}},validation:{error:{border:`rgb(200, 50, 50)`,tooltip:{background:`rgb(180, 30, 30)`,color:`rgb(255, 255, 255)`,border:`rgb(140, 20, 20)`}}},autoComplete:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,shadow:`2px 4px 8px rgba(0,0,0,0.15)`,item:{hoverBackground:`rgba(30, 100, 200, 0.08)`,highlightBackground:`rgba(30, 100, 200, 0.18)`,highlightColor:`inherit`,disabledColor:`rgb(170, 170, 170)`}},list:{background:`rgb(255, 255, 255)`,border:`rgb(200, 200, 200)`,row:{hoverBackground:`rgba(30, 100, 200, 0.08)`,selectedBackground:`rgba(30, 100, 200, 0.18)`,selectedColor:`inherit`,focusRing:`rgb(30, 100, 200)`,disabledColor:`rgb(170, 170, 170)`,separator:`transparent`}},indicator:{focus:`rgb(30, 100, 200)`,selection:`1px dashed rgb(120, 170, 240)`},picker:{navForeground:`var(--ts-ui-text-color)`,navHoverBackground:`rgba(30, 100, 200, 0.08)`,cellDisabledBackground:`transparent`},dialog:{backdrop:{background:`rgba(0, 0, 0, 0.45)`},border:`rgb(220, 220, 220)`,shadow:`4px 8px 24px rgba(0, 0, 0, 0.35)`,confirm:`rgb(30, 180, 80)`,cancel:`rgb(200, 50, 50)`,info:{background:`rgba(30, 100, 200, 0.15)`,foreground:`rgb(30, 100, 200)`},affirm:{background:`rgba(30, 180, 80, 0.15)`,foreground:`rgb(30, 180, 80)`}},drawer:{background:`var(--ts-ui-body-bg)`,shadow:`4px 0 24px rgba(0, 0, 0, 0.25)`,border:`rgb(220, 220, 220)`},rail:{background:`var(--ts-ui-body-bg)`,border:`rgb(200, 200, 200)`,shadow:`2px 0 12px rgba(0, 0, 0, 0.18)`,handle:{hoverBackground:`rgba(30, 100, 200, 0.08)`,selectedBackground:`rgba(30, 100, 200, 0.16)`}},spinner:{dividerColor:`rgb(180, 180, 180)`},progressBar:{track:{background:`rgb(220, 220, 220)`},fill:{background:`rgb(30, 100, 200)`},indeterminate:{background:`rgb(30, 100, 200)`}},progressSpinner:{color:`rgb(30, 100, 200)`,backdrop:`rgba(255, 255, 255, 0.6)`},drag:{ghost:{background:`rgba(200, 200, 200, 0.9)`,border:`rgb(150, 150, 150)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.25)`},feedback:{valid:{background:`rgba(30, 180, 80, 0.12)`,border:`rgb(30, 180, 80)`},invalid:{background:`rgba(200, 50, 50, 0.10)`,border:`rgb(200, 50, 50)`}},reorderIndicator:{color:`rgb(30, 100, 200)`},dropzone:{background:`rgba(80, 140, 240, 0.10)`,border:`rgba(80, 140, 240, 0.40)`,activeBackground:`rgba(80, 140, 240, 0.28)`,invalidBackground:`rgba(200, 50, 50, 0.28)`}},fileDropZone:{background:`rgba(80, 140, 240, 0.06)`,border:`2px dashed rgba(80, 140, 240, 0.40)`,activeBackground:`rgba(80, 140, 240, 0.18)`,activeBorder:`2px dashed rgba(80, 140, 240, 0.80)`},scroll:{shadowColor:`rgba(0, 0, 0, 1)`},chart:{series:[`#0072B2`,`#E69F00`,`#009E73`,`#D55E00`,`#CC79A7`,`#56B4E9`,`#8C6D1F`,`#555555`],axis:`rgb(120, 120, 120)`,grid:`rgb(220, 220, 220)`,label:`rgb(80, 80, 80)`,selection:`#1a73e8`}}),M=f(p,{colorScheme:`dark`,text:{color:`rgb(220, 220, 220)`},body:{background:`rgb(30, 30, 30)`},border:{color:`rgb(90, 90, 90)`},button:{background:`linear-gradient(rgb(70, 70, 70), rgb(50, 50, 50))`,border:`rgb(80, 80, 80)`,shadow:`1px 2px 5px 0 rgba(0, 0, 0, 0.5)`,description:{foreground:`rgb(160, 160, 160)`},pressed:{foreground:`rgb(180, 180, 180)`,background:`linear-gradient(rgb(35, 35, 35), rgb(48, 48, 48))`,shadow:`inset 0 1px 4px rgba(0, 0, 0, 0.6)`},hover:{foreground:`inherit`,background:`linear-gradient(rgb(90, 90, 90), rgb(65, 65, 65))`,shadow:`1px 3px 6px 0 rgba(0, 0, 0, 0.55)`},flat:{hover:{background:`rgba(255, 255, 255, 0.08)`,border:`1px solid rgb(90, 90, 90)`},pressed:{background:`rgba(255, 255, 255, 0.12)`,shadow:`inset 1px 1px 3px rgba(0, 0, 0, 0.55)`,border:`1px solid rgb(70, 70, 70)`}}},toggle:{selected:{background:`rgb(35, 35, 35)`,shadow:`2px 2px 1px inset #333`}},input:{background:`rgb(40, 40, 40)`,border:`1px solid rgb(110, 110, 110)`,borderHover:`1px solid rgb(150, 150, 150)`},form:{background:`rgb(40, 40, 40)`,border:`rgb(110, 110, 110)`,color:`rgb(230, 230, 230)`,disabledBackground:`rgb(60, 60, 60)`,disabledColor:`rgb(120, 120, 120)`,focusRing:`rgb(120, 170, 240)`,toggle:{trackOffBackground:`rgb(70, 70, 70)`,trackOnBackground:`rgb(120, 170, 240)`,thumbBackground:`rgb(230, 230, 230)`},slider:{trackBackground:`rgb(70, 70, 70)`,trackActiveBackground:`rgb(120, 170, 240)`,thumbBackground:`rgb(230, 230, 230)`},checkbox:{background:`rgb(40, 40, 40)`,selectedBackground:`rgb(120, 170, 240)`,indeterminateBackground:`rgb(100, 100, 100)`,checkColor:`rgb(20, 20, 20)`},radio:{background:`rgb(40, 40, 40)`,selectedBackground:`rgb(120, 170, 240)`,dotColor:`rgb(20, 20, 20)`}},gutter:{background:`#555`},collapse:{strip:{background:`#555`,size:`18px`},button:{color:`rgb(160,160,160)`}},accordion:{border:`1px solid rgb(80,80,80)`,header:{background:`linear-gradient(rgb(60,60,60),rgb(45,45,45))`,border:`1px solid rgb(80,80,80)`,color:`inherit`},panel:{border:`rgb(70,70,70)`},indicator:{color:`rgb(160,160,160)`}},tab:{underBorderFullWidth:!1,toolbar:{background:`#2a2a2a`,border:`#444`},button:{background:`#3a3a3a`,border:`none`,hover:{background:`#454545`,border:`none`},selected:{background:`rgb(30, 30, 30)`,border:`none`}},indicator:{color:`#4a9eff`}},window:{shadow:`3px 3px 2px rgba(0, 0, 0, 0.6)`,snapGlow:`0 0 0 2px rgba(80, 150, 240, 0.8)`,control:{background:`rgb(30, 30, 30)`,border:`1px solid transparent`,shadow:`none`,hoverBackground:`rgb(55, 55, 55)`,activeBackground:`rgb(45, 45, 45)`},header:{background:`#2a2a2a`}},table:{header:{background:`linear-gradient(rgb(70, 70, 70), rgb(50, 50, 50))`,border:`#555`,glyph:{color:`currentColor`}},row:{selected:`rgba(30, 100, 200, 0.25)`,selectedBorder:`inset 0 0 0 1px rgba(30, 100, 200, 0.8)`,new:`rgba(70, 200, 70, 0.2)`,dirty:`rgba(255, 165, 0, 0.2)`,stripe:`rgba(255, 255, 255, 0.045)`},cell:{background:`transparent`,readonlyBackground:`rgba(255, 255, 255, 0.04)`,requiredEmptyOutlineColor:`rgba(255, 90, 90, 0.8)`,color:`inherit`,border:`none`,editorBorderColor:`rgba(30, 100, 200, 0.8)`},resizeHandle:{color:`rgba(255, 255, 255, 0.25)`},sortBadge:{background:`rgba(255, 255, 255, 0.2)`,color:`inherit`}},contextMenu:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.5)`,item:{hoverBackground:`rgba(100, 140, 220, 0.2)`,disabledColor:`rgb(100, 100, 100)`},separatorColor:`rgb(70, 70, 70)`},menuBar:{background:`rgb(45, 45, 45)`,border:`rgb(70, 70, 70)`,button:{background:`transparent`,hoverBackground:`rgba(100, 140, 220, 0.15)`,foreground:`inherit`},panel:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0, 0, 0, 0.5)`},item:{hoverBackground:`rgba(100, 140, 220, 0.2)`,disabledColor:`rgb(100, 100, 100)`,shortcutColor:`rgb(140, 140, 140)`},separatorColor:`rgb(70, 70, 70)`},statusBar:{background:`rgb(45, 45, 45)`,color:`rgb(200, 200, 200)`,border:`rgb(70, 70, 70)`},toolBar:{background:`rgb(45, 45, 45)`,border:`rgb(70, 70, 70)`,separatorColor:`rgb(70, 70, 70)`},tooltip:{background:`rgb(60, 60, 45)`,color:`rgb(220, 220, 180)`,border:`rgb(120, 110, 70)`,shadow:`1px 2px 4px rgba(0, 0, 0, 0.5)`},popover:{background:`rgb(50, 50, 55)`,color:`rgb(230, 230, 235)`,border:`rgb(90, 90, 100)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.55)`},notification:{shadow:`2px 4px 8px rgba(0, 0, 0, 0.4)`,info:{background:`rgba(30, 100, 200, 0.4)`,border:`rgb(30, 100, 200)`},success:{background:`rgba(30, 180, 80, 0.4)`,border:`rgb(30, 180, 80)`},warning:{background:`rgba(220, 140, 0, 0.4)`,border:`rgb(220, 140, 0)`},error:{background:`rgba(200, 50, 50, 0.4)`,border:`rgb(200, 50, 50)`}},validation:{error:{border:`rgb(220, 80, 80)`,tooltip:{background:`rgb(160, 30, 30)`,color:`rgb(255, 220, 220)`,border:`rgb(120, 20, 20)`}}},autoComplete:{background:`rgb(45, 45, 45)`,border:`rgb(80, 80, 80)`,shadow:`2px 4px 8px rgba(0,0,0,0.5)`,item:{hoverBackground:`rgba(100, 140, 220, 0.12)`,highlightBackground:`rgba(100, 140, 220, 0.28)`,highlightColor:`rgb(220, 220, 255)`,disabledColor:`rgb(100, 100, 100)`}},list:{background:`rgb(40, 40, 40)`,border:`rgb(80, 80, 80)`,row:{hoverBackground:`rgba(100, 140, 220, 0.12)`,selectedBackground:`rgba(100, 140, 220, 0.28)`,selectedColor:`rgb(220, 220, 255)`,focusRing:`rgb(120, 170, 240)`,disabledColor:`rgb(100, 100, 100)`,separator:`transparent`}},indicator:{focus:`rgb(120, 170, 240)`,selection:`1px dashed rgb(120, 170, 240)`},picker:{navForeground:`var(--ts-ui-text-color)`,navHoverBackground:`rgba(120, 170, 255, 0.12)`,cellDisabledBackground:`transparent`},dialog:{backdrop:{background:`rgba(0, 0, 0, 0.65)`},border:`rgb(70, 70, 70)`,shadow:`4px 8px 24px rgba(0, 0, 0, 0.6)`,confirm:`rgb(80, 200, 110)`,cancel:`rgb(220, 90, 90)`,info:{background:`rgba(30, 100, 200, 0.25)`,foreground:`rgb(60, 130, 220)`},affirm:{background:`rgba(80, 200, 110, 0.25)`,foreground:`rgb(80, 200, 110)`}},drawer:{background:`var(--ts-ui-body-bg)`,shadow:`4px 0 24px rgba(0, 0, 0, 0.55)`,border:`rgb(70, 70, 70)`},rail:{background:`var(--ts-ui-body-bg)`,border:`rgb(70, 70, 70)`,shadow:`2px 0 12px rgba(0, 0, 0, 0.45)`,handle:{hoverBackground:`rgba(120, 170, 240, 0.12)`,selectedBackground:`rgba(120, 170, 240, 0.22)`}},spinner:{dividerColor:`rgb(80, 80, 80)`},progressBar:{track:{background:`rgb(55, 55, 55)`},fill:{background:`rgb(60, 130, 220)`},indeterminate:{background:`rgb(60, 130, 220)`}},progressSpinner:{color:`rgb(60, 130, 220)`,backdrop:`rgba(20, 20, 20, 0.6)`},drag:{ghost:{background:`rgba(60, 60, 60, 0.9)`,border:`rgb(100, 100, 100)`,shadow:`2px 4px 12px rgba(0, 0, 0, 0.6)`},feedback:{valid:{background:`rgba(30, 180, 80, 0.2)`,border:`rgb(30, 180, 80)`},invalid:{background:`rgba(200, 50, 50, 0.18)`,border:`rgb(200, 50, 50)`}},reorderIndicator:{color:`rgb(80, 140, 240)`},dropzone:{background:`rgba(80, 140, 240, 0.12)`,border:`rgba(80, 140, 240, 0.45)`,activeBackground:`rgba(80, 140, 240, 0.32)`,invalidBackground:`rgba(200, 50, 50, 0.32)`}},fileDropZone:{background:`rgba(80, 140, 240, 0.10)`,border:`2px dashed rgba(80, 140, 240, 0.45)`,activeBackground:`rgba(80, 140, 240, 0.24)`,activeBorder:`2px dashed rgba(80, 140, 240, 0.85)`},scroll:{shadowColor:`rgba(0, 0, 0, 1)`},chart:{series:[`#56B4E9`,`#E69F00`,`#00C08B`,`#FF7F4D`,`#E48FC1`,`#0091D5`,`#F0E442`,`#AAAAAA`],axis:`rgb(176, 176, 176)`,grid:`rgb(58, 58, 58)`,label:`rgb(192, 192, 192)`,selection:`#4a9eff`}}),Form=class extends C{_onSubmit=null;constructor(e){super(e,{tag:`form`}),this._onSubmit=e?.onSubmit??null,o.addListener(this,`submit`,this.handleSubmit)}handleSubmit(e){e.preventDefault(),this._onSubmit?.(this)}requestSubmit(){let e=this.getElement();e&&r.sink.requestSubmit(e)}},N=d(Form),P=`data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cstyle%3E.pane%7Bfill%3A%23FFFFFF%7D.region%7Bfill%3A%23000000%7D%40media(prefers-color-scheme%3Adark)%7B.pane%7Bfill%3A%23505050%7D.region%7Bfill%3A%2378AAF0%7D%7D%3C%2Fstyle%3E%3CclipPath%20id%3D%22plate%22%3E%3Crect%20width%3D%2232%22%20height%3D%2232%22%20rx%3D%226%22%2F%3E%3C%2FclipPath%3E%3Cg%20clip-path%3D%22url(%23plate)%22%3E%3Crect%20class%3D%22pane%22%20width%3D%2232%22%20height%3D%2232%22%2F%3E%3Crect%20class%3D%22region%22%20width%3D%2232%22%20height%3D%2210%22%2F%3E%3Crect%20class%3D%22region%22%20y%3D%2212%22%20width%3D%2210%22%20height%3D%2220%22%2F%3E%3Crect%20class%3D%22region%22%20x%3D%2212%22%20y%3D%2212%22%20width%3D%2220%22%20height%3D%2220%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`,F=`link[rel~="icon"]`,I=class Favicon{static _link=null;static install(e=P){if(Favicon._link!==null)return r.sink.apply(Favicon._link,{setAttr:{href:e}}),!0;let t=r.source.getHead();if(r.source.querySelector(t,F)!==null)return!1;let n=r.sink.createElement(`link`);return r.sink.apply(n,{setAttr:{rel:`icon`,href:e}}),r.sink.appendChild(t,n),Favicon._link=n,!0}static _reset(){Favicon._link=null}},L=class Body extends g{static INSTANCE=new Body;static getInstance(){return this.INSTANCE}static init(e={}){return this.INSTANCE.reattachElementBuffers(),this.INSTANCE.applyOptions(e),e.favicon===void 0&&this.INSTANCE.setFavicon(P),this.INSTANCE}applyOptions(e){return super.applyOptions(e),e.favicon!==void 0&&this.setFavicon(e.favicon),this}setFavicon(e){return this._options.favicon=e,e!==!1&&I.install(e),this}getFavicon(){return this._options.favicon??P}constructor(){super({tag:`body`}),this.init(),this.setBackgroundColor(`var(--ts-ui-body-bg, rgb(241, 241, 241))`),m.setTheme(s)}getElement(){return r.source.getBody()}init(){return super.init(),this.setSize(r.source.getViewportSize()),this.clearInsets(),o.addViewportListener(this,`resize`,this._onViewportResize),this.subscribeTheme(this._onThemeReflow),this}_onViewportResize=()=>{this.setSize(r.source.getViewportSize())};_onThemeReflow=()=>{this.scheduleLayout()};clampsToContentSize(){return!1}},R=50,z={code:`BracketLeft`,alt:!0},B={code:`BracketRight`,alt:!0},V=new g,H=new b,U=[],W=-1,G=!1,K=!1,q=R,J=z,Y=B;function isLive(e){try{return r.source.isConnected(e)}catch{return!1}}function pruneStale(){let e=[],t=-1;for(let n=0;n<U.length;n++){let r=U[n];isLive(r)&&(e.push(r),n<=W&&(t=e.length-1))}U=e,W=t}function fireChange(){let e={canGoBack:W>0,canGoForward:W<U.length-1};H.fire(`change`,e)}function record(e){if(!(W>=0&&U[W]===e)){for(U.length=W+1,U.push(e);U.length>q;)U.shift();W=U.length-1,fireChange()}}function focusEntry(e){K=!0,r.sink.focus(e),K=!1,fireChange()}function navigate(e){pruneStale();let t=W+e;return t<0||t>=U.length?!1:(W=t,focusEntry(U[W]),!0)}function matchesCombo(e,t){return e.code===t.code&&e.altKey===!!t.alt&&e.ctrlKey===!!t.ctrl&&e.shiftKey===!!t.shift&&e.metaKey===!!t.meta}function onFocusIn(e){!G||K||r.source.isElement(e.target)&&record(r.source.intern(e.target))}function onKeyDown(e){if(!G)return;let t=matchesCombo(e,J)?-1:+!!matchesCombo(e,Y);if(t===0)return;let n=T.getTopLayer();if(!(n&&n.getDismissMode()===`modal`))return navigate(t),{stop:!0,prevent:!0}}var X;(function(e){function enable(e){if(e&&configure(e),G)return;G=!0,o.addViewportListener(V,`focusin`,onFocusIn),o.addViewportListener(V,`keydown`,onKeyDown);let t=r.source.getActiveElement();t!==null&&record(t)}e.enable=enable;function disable(){G&&(G=!1,K=!1,o.removeViewportListener(V,`focusin`,onFocusIn),o.removeViewportListener(V,`keydown`,onKeyDown))}e.disable=disable;function isEnabled(){return G}e.isEnabled=isEnabled;function configure(e){e.maxSize!==void 0&&(q=e.maxSize),e.back!==void 0&&(J=e.back),e.forward!==void 0&&(Y=e.forward)}e.configure=configure;function back(){return navigate(-1)}e.back=back;function forward(){return navigate(1)}e.forward=forward;function canGoBack(){return pruneStale(),W>0}e.canGoBack=canGoBack;function canGoForward(){return pruneStale(),W<U.length-1}e.canGoForward=canGoForward;function clear(){U=[],W=-1,fireChange()}e.clear=clear;function on(e,t){H.add(e,t)}e.on=on;function off(e,t){H.remove(e,t)}e.off=off})(X||={});var Binding=class extends i{_record=null;_entries=new Map;_listeners=new b;_validationConfigs=new Map;_globalValidateOnChange=!1;_loading=!1;bind(e,t,n){this.unbind(e);let r=n??{get:()=>t.getValue(),set:e=>t.setValue(e),listen:e=>t.on(`binding`,e)},i={accessors:r,active:!0};return this._entries.set(e,i),r.listen(()=>{if(this._loading||!i.active||!this._record)return;let t=r.get();this._record.set(e,t),this.emit(`change`,e,t),this._validateFieldIfLive(e)}),this._record&&r.set(this._record.get(e)),this}unbind(e){let t=this._entries.get(e);return t&&(t.active=!1,this._entries.delete(e)),this}setRecord(e){for(let t of this._listeners.get(`beforerecord`))if(t(e)===!1)return this;if(this._record=e,this.clearValidation(),!e)return this;this._loading=!0;try{for(let[t,n]of this._entries)n.accessors.set(e.get(t))}finally{this._loading=!1}for(let[e]of this._validationConfigs)this._validateFieldIfLive(e);return this}getRecord(){return this._record}commit(){return this._record?.commit(),this.emit(`commit`),this}reject(){if(this._record?.reject(),this._record)for(let[e,t]of this._entries)t.accessors.set(this._record.get(e));this.clearValidation(),this.emit(`reject`)}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}addValidation(e,t,n){let r=Array.isArray(n)?n:[n];return this._validationConfigs.set(e,{rules:r,component:t,validateOnChange:!1,decorator:null}),this}removeValidation(e){let t=this._validationConfigs.get(e);return t?.decorator&&t.decorator.clearError(),this._validationConfigs.delete(e),this}validate(){let e=!0;for(let[t]of this._validationConfigs)this._validateField(t)||(e=!1);return e}setValidateOnChange(e){return this._globalValidateOnChange=e,this}getValidateOnChange(){return this._globalValidateOnChange}clearValidation(){for(let[,e]of this._validationConfigs)e.decorator&&e.decorator.clearError();return this}_validateField(e){let t=this._validationConfigs.get(e);if(!t)return!0;let n=this._entries.get(e),r=n?n.accessors.get():void 0;for(let e of t.rules){let n=A(e,r);if(!n.valid){if(!t.decorator){let e=t.component.getParentComponent();e&&(t.decorator=new k(t.component,e))}return t.decorator?.showError(n.message),!1}}return t.decorator?.clearError(),!0}_validateFieldIfLive(e){let t=this._validationConfigs.get(e);t&&(t.validateOnChange||this._globalValidateOnChange)&&this._validateField(e)}};export{O as AnimatedDropdown,_ as Animation,l as Aria,x as AutoRepeat,i as BaseObject,p as BaseTheme,Binding,L as Body,j as ClassicTheme,g as Component,S as Container,P as DEFAULT_FAVICON,r as DOM,M as DarkTheme,h as ElementAttributes,o as Event,I as Favicon,X as FocusHistory,N as Form,y as InlineStyle,T as LayerManager,b as ListenerBag,s as ModernTheme,C as Panel,t as PatchBuilder,n as ProductionDOMSink,e as ProductionDOMSource,w as RovingTabIndex,u as SmoothScroller,c as StyleRule,v as StyleTarget,m as ThemeManager,a as Util,d as callable,f as defineTheme,E as fadeHideAndDetach,D as fadeShow};
2
2
  //# sourceMappingURL=core.es.js.map
@@ -1,2 +1,2 @@
1
- import{a as e,o as t}from"./Position-Ck_KD4cR.js";import{d as n,f as r,h as i,m as a,p as o}from"./Component-DHqrPwAw.js";import{t as s}from"./Fit-DIYt2aQB.js";import{i as c,n as l,r as u}from"./VBox-BNegDPs_.js";import{o as d}from"./LayoutSizes-DG9aW9k6.js";import{t as f}from"./Border-Bz29z-_7.js";import{t as p}from"./LayoutConstraints-DkctJZXB.js";import{a as m,n as h,r as g,t as _}from"./LayoutSerialization-D82UtnDD.js";import{n as v,t as y}from"./AnchorConstraints-CVrMP9rz.js";import{n as b,r as x,t as S}from"./GridConstraints-B1rxCw9B.js";import{t as C}from"./Grid-ViA0joow.js";import{t as w}from"./Card-BdfbvOD_.js";var FlowLayout=class extends r{_spacing=5;_lineSpacing=5;_uniform=`none`;_align=`start`;_itemAlign=`start`;_justify=`start`;_wrappedLineExtent=null;constructor(e){super(),e&&this.applyOptions(e)}applyOptions(e){super.applyOptions(e),e.spacing!==void 0&&this.setComponentSpacing(e.spacing),e.lineSpacing!==void 0&&this.setLineSpacing(e.lineSpacing),e.uniform!==void 0&&this.setUniform(e.uniform),e.align!==void 0&&this.setAlign(e.align),e.itemAlign!==void 0&&this.setItemAlign(e.itemAlign),e.justify!==void 0&&this.setJustify(e.justify)}getComponentSpacing(){return this._spacing||0}setComponentSpacing(e){return this._spacing=e||0,this}getLineSpacing(){return this._lineSpacing||0}setLineSpacing(e){return this._lineSpacing=e||0,this}getWrappedLineExtent(){return this._wrappedLineExtent}publishWrappedLineExtent(e){!Number.isFinite(e)||this._wrappedLineExtent===e||(this._wrappedLineExtent=e,this.getContainer()?.notifyIntrinsicSizeChanged())}attach(e){return super.attach(e),this._wrappedLineExtent=null,this}getUniform(){return this._uniform}setUniform(e){return this._uniform=e,this}getAlign(){return this._align}setAlign(e){return this._align=e,this}getItemAlign(){return this._itemAlign}setItemAlign(e){return this._itemAlign=e,this}getJustify(){return this._justify}setJustify(e){return this._justify=e,this}isUniformWidth(){return this._uniform===`width`||this._uniform===`both`}isUniformHeight(){return this._uniform===`height`||this._uniform===`both`}computeUniformExtents(e){let t=0,n=0;for(let r of e){let e=this.clampedPreferredSize(r);t=Math.max(t,e.width),n=Math.max(n,e.height)}return{width:t,height:n}}clampedPreferredSize(e){let t=e.getPreferredSize(),n=e.getMinSize(),r=e.getMaxSize(),i=t?t.width:0,a=t?t.height:0;return r&&(i=Math.min(i,r.width),a=Math.min(a,r.height)),n&&(i=Math.max(i,n.width),a=Math.max(a,n.height)),{width:i,height:a}}alignLead(e,t){let n=Math.max(0,t-e);return this._align===`center`?n/2:this._align===`end`?n:0}crossOffset(e,t,n,r,i){switch(this._itemAlign){case`center`:return Math.max(0,(t-e)/2);case`end`:return Math.max(0,t-e);case`baseline`:return r===null?0:n===null?this.nullChildY(e,r,i):r-n;default:return 0}}justifyGaps(e,t,n,r){let i=t+r*Math.max(0,e-1);if(this._justify===`start`||e<2||i>=n)return{lead:0,gap:r};let a=n-t;if(this._justify===`between`)return{lead:0,gap:a/(e-1)};let o=a/e;return{lead:o/2,gap:o}}},HFlow=class extends FlowLayout{getPreferredSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=this.isUniformWidth(),i=this.isUniformHeight(),a=r||i?this.computeUniformExtents(n):{width:0,height:0},o=this.getWrappedLineExtent(),s=o===null&&!i,c=t.left+t.right,l=[],u=[];for(let e of n){let t=e.getPreferredSize();t&&(r||(c+=t.width),s&&(l.push(t.height),u.push(e.getBaseline())))}r&&(c+=n.length*a.width),c+=this._spacing*Math.max(0,n.length-1);let d=o===null?i?a.height:this.lineExtent(l,u):o;return d+=t.top+t.bottom,{width:c,height:d}}getMinSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=0,i=[],a=[];for(let e of n){let t=e.getMinSize();t&&(r=Math.max(r,t.width),i.push(t.height),a.push(e.getBaseline()))}let o=t.left+t.right+r,s=this.lineExtent(i,a);return s+=t.top+t.bottom,{width:o,height:s}}getMaxSize(){let n=this.getContainer();if(!n)return null;let r=n.getPerimeterSize(),i=n.getLaidOutComponents(),a=this.isUniformWidth(),o=a?this.computeUniformExtents(i):{width:0,height:0},s=r.left+r.right,c=0,l=!1,u=!1;for(let e of i){let n=e.getMaxSize();if(!n){a||(l=!0),u=!0;continue}a||(t(n.width)?l=!0:s+=n.width),t(n.height)?u=!0:c=Math.max(c,n.height)}a&&(s+=i.length*o.width),s+=this._spacing*Math.max(0,i.length-1);let d=this.getWrappedLineExtent();return d!==null&&!u&&(c=Math.max(c,d)),c+=r.top+r.bottom,{width:l?e:s,height:u?e:c}}doLayout(){let e=this.getContainer();if(!e)return;let t=e.getInnerSize();if(!t)return;let n=e.getLaidOutComponents(),r=e.getContentInsets(),i=this.getComponentSpacing(),a=this.getLineSpacing(),o=this.isUniformWidth(),s=this.isUniformHeight(),c=o||s?this.computeUniformExtents(n):{width:0,height:0},l=this.groupIntoRows(n,t.width,r.getTop(),i,a,o,s,c);this.placeRows(l,r.getLeft(),t.width,i),Number.isFinite(t.width)&&this.publishWrappedLineExtent(this.rowsCrossExtent(l,a)),this.reserveContentFrame()}groupIntoRows(e,t,n,r,i,a,o,s){let c=[],l=n,u=null;for(let n of e){let e=this.clampedPreferredSize(n),d=a?s.width:e.width,f=o?s.height:e.height;u&&u.contentWidth+r+d>t&&(l+=u.rowHeight+i,u=null),u||(u={cells:[],contentWidth:0,rowHeight:0,y:l},c.push(u));let p=u.cells.length===0?Math.min(d,t):d;u.contentWidth+=u.cells.length===0?p:r+p,u.cells.push({component:n,width:p,height:f,baseline:n.getBaseline()}),u.rowHeight=this.rowExtent(u,f)}return c}placeRows(e,t,n,r){for(let i of e){let e=i.cells.map(e=>e.height),o=i.cells.map(e=>e.baseline),{rowAscent:s,rowDescent:c}=this.computeRowMetrics(e,o),{lead:l,gap:u}=this.justifyGaps(i.cells.length,this.cellsMainExtent(i),n,r),d=t+(this._justify===`start`?this.alignLead(i.contentWidth,n):0)+l;for(let e of i.cells){let t=i.y+this.crossOffset(e.height,i.rowHeight,e.baseline,s,c);this.placeComponent(e.component,d,t,e.width,e.height,a.NONE),d+=e.width+u}}}cellsMainExtent(e){return e.cells.reduce((e,t)=>e+t.width,0)}rowsCrossExtent(e,t){if(e.length===0)return 0;let n=t*(e.length-1);for(let t of e)n+=t.rowHeight;return n}rowExtent(e,t){return this._itemAlign===`baseline`?this.lineExtent(e.cells.map(e=>e.height),e.cells.map(e=>e.baseline)):Math.max(e.rowHeight,t)}lineExtent(e,t){return this._itemAlign===`baseline`?this.computeRowHeight(e,t):e.reduce((e,t)=>Math.max(e,t),0)}},T=i(HFlow),VFlow=class extends FlowLayout{getPreferredSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=this.isUniformWidth(),i=this.isUniformHeight(),a=r||i?this.computeUniformExtents(n):{width:0,height:0},o=t.top+t.bottom,s=0;for(let e of n){let t=e.getPreferredSize();t&&(i||(o+=t.height),s=Math.max(s,t.width))}i&&(o+=n.length*a.height),o+=this._spacing*Math.max(0,n.length-1);let c=this.getWrappedLineExtent(),l=c===null?r?a.width:s:c;return l+=t.left+t.right,{width:l,height:o}}getMinSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=0,i=0;for(let e of n){let t=e.getMinSize();t&&(r=Math.max(r,t.height),i=Math.max(i,t.width))}return{width:t.left+t.right+i,height:t.top+t.bottom+r}}getMaxSize(){let n=this.getContainer();if(!n)return null;let r=n.getPerimeterSize(),i=n.getLaidOutComponents(),a=this.isUniformHeight(),o=a?this.computeUniformExtents(i):{width:0,height:0},s=r.top+r.bottom,c=0,l=!1,u=!1;for(let e of i){let n=e.getMaxSize();if(!n){a||(u=!0),l=!0;continue}a||(t(n.height)?u=!0:s+=n.height),t(n.width)?l=!0:c=Math.max(c,n.width)}a&&(s+=i.length*o.height),s+=this._spacing*Math.max(0,i.length-1);let d=this.getWrappedLineExtent();return d!==null&&!l&&(c=Math.max(c,d)),c+=r.left+r.right,{width:l?e:c,height:u?e:s}}doLayout(){let e=this.getContainer();if(!e)return;let t=e.getInnerSize();if(!t)return;let n=e.getLaidOutComponents(),r=e.getContentInsets(),i=this.getComponentSpacing(),a=this.getLineSpacing(),o=this.isUniformWidth(),s=this.isUniformHeight(),c=o||s?this.computeUniformExtents(n):{width:0,height:0},l=this.groupIntoColumns(n,t.height,r.getLeft(),i,a,o,s,c);this.placeColumns(l,r.getTop(),t.height,i),Number.isFinite(t.height)&&this.publishWrappedLineExtent(this.columnsCrossExtent(l,a)),this.reserveContentFrame()}groupIntoColumns(e,t,n,r,i,a,o,s){let c=[],l=n,u=null;for(let n of e){let e=this.clampedPreferredSize(n),d=a?s.width:e.width,f=o?s.height:e.height;u&&u.contentHeight+r+f>t&&(l+=u.columnWidth+i,u=null),u||(u={cells:[],contentHeight:0,columnWidth:0,x:l},c.push(u));let p=u.cells.length===0?Math.min(f,t):f;u.contentHeight+=u.cells.length===0?p:r+p,u.cells.push({component:n,width:d,height:p,baseline:null}),u.columnWidth=Math.max(u.columnWidth,d)}return c}placeColumns(e,t,n,r){for(let i of e){let{lead:e,gap:o}=this.justifyGaps(i.cells.length,this.cellsMainExtent(i),n,r),s=t+(this._justify===`start`?this.alignLead(i.contentHeight,n):0)+e;for(let e of i.cells){let t=i.x+this.crossOffset(e.width,i.columnWidth,null,null,0);this.placeComponent(e.component,t,s,e.width,e.height,a.NONE),s+=e.height+o}}}cellsMainExtent(e){return e.cells.reduce((e,t)=>e+t.height,0)}columnsCrossExtent(e,t){if(e.length===0)return 0;let n=t*(e.length-1);for(let t of e)n+=t.columnWidth;return n}},E=i(VFlow);export{n as Absolute,x as Accordion,b as AccordionConstraints,v as Anchor,y as AnchorConstraints,o as AnchorType,f as Border,c as BoxLayout,w as Card,g as DockRegion,a as FillType,s as Fit,FlowLayout,C as Grid,S as GridConstraints,u as HBox,T as HFlow,p as LayoutConstraints,r as LayoutManager,m as Split,d as Tab,l as VBox,E as VFlow,_ as restoreLayout,h as serializeLayout};
1
+ import{a as e,o as t}from"./Position-Ck_KD4cR.js";import{d as n,f as r,h as i,m as a,p as o}from"./Component-fRQvgaEY.js";import{t as s}from"./Fit-CL1m1nIZ.js";import{i as c,n as l,r as u}from"./VBox-P3WFGkPc.js";import{o as d}from"./LayoutSizes-qNaURyiw.js";import{t as f}from"./Border-CKKUk5G9.js";import{t as p}from"./LayoutConstraints-LIHYYd2F.js";import{a as m,n as h,r as g,t as _}from"./LayoutSerialization-D5bBas4W.js";import{n as v,t as y}from"./AnchorConstraints-DdDYSDkf.js";import{n as b,r as x,t as S}from"./GridConstraints-DVc1BmlP.js";import{t as C}from"./Grid-DHHmaB-Y.js";import{t as w}from"./Card-a4dzYrbX.js";var FlowLayout=class extends r{_spacing=5;_lineSpacing=5;_uniform=`none`;_align=`start`;_itemAlign=`start`;_justify=`start`;_wrappedLineExtent=null;constructor(e){super(),e&&this.applyOptions(e)}applyOptions(e){super.applyOptions(e),e.spacing!==void 0&&this.setComponentSpacing(e.spacing),e.lineSpacing!==void 0&&this.setLineSpacing(e.lineSpacing),e.uniform!==void 0&&this.setUniform(e.uniform),e.align!==void 0&&this.setAlign(e.align),e.itemAlign!==void 0&&this.setItemAlign(e.itemAlign),e.justify!==void 0&&this.setJustify(e.justify)}getComponentSpacing(){return this._spacing||0}setComponentSpacing(e){return this._spacing=e||0,this}getLineSpacing(){return this._lineSpacing||0}setLineSpacing(e){return this._lineSpacing=e||0,this}getWrappedLineExtent(){return this._wrappedLineExtent}publishWrappedLineExtent(e){!Number.isFinite(e)||this._wrappedLineExtent===e||(this._wrappedLineExtent=e,this.getContainer()?.notifyIntrinsicSizeChanged())}attach(e){return super.attach(e),this._wrappedLineExtent=null,this}getUniform(){return this._uniform}setUniform(e){return this._uniform=e,this}getAlign(){return this._align}setAlign(e){return this._align=e,this}getItemAlign(){return this._itemAlign}setItemAlign(e){return this._itemAlign=e,this}getJustify(){return this._justify}setJustify(e){return this._justify=e,this}isUniformWidth(){return this._uniform===`width`||this._uniform===`both`}isUniformHeight(){return this._uniform===`height`||this._uniform===`both`}computeUniformExtents(e){let t=0,n=0;for(let r of e){let e=this.clampedPreferredSize(r);t=Math.max(t,e.width),n=Math.max(n,e.height)}return{width:t,height:n}}clampedPreferredSize(e){let t=e.getPreferredSize(),n=e.getMinSize(),r=e.getMaxSize(),i=t?t.width:0,a=t?t.height:0;return r&&(i=Math.min(i,r.width),a=Math.min(a,r.height)),n&&(i=Math.max(i,n.width),a=Math.max(a,n.height)),{width:i,height:a}}alignLead(e,t){let n=Math.max(0,t-e);return this._align===`center`?n/2:this._align===`end`?n:0}crossOffset(e,t,n,r,i){switch(this._itemAlign){case`center`:return Math.max(0,(t-e)/2);case`end`:return Math.max(0,t-e);case`baseline`:return r===null?0:n===null?this.nullChildY(e,r,i):r-n;default:return 0}}justifyGaps(e,t,n,r){let i=t+r*Math.max(0,e-1);if(this._justify===`start`||e<2||i>=n)return{lead:0,gap:r};let a=n-t;if(this._justify===`between`)return{lead:0,gap:a/(e-1)};let o=a/e;return{lead:o/2,gap:o}}},HFlow=class extends FlowLayout{getPreferredSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=this.isUniformWidth(),i=this.isUniformHeight(),a=r||i?this.computeUniformExtents(n):{width:0,height:0},o=this.getWrappedLineExtent(),s=o===null&&!i,c=t.left+t.right,l=[],u=[];for(let e of n){let t=e.getPreferredSize();t&&(r||(c+=t.width),s&&(l.push(t.height),u.push(e.getBaseline())))}r&&(c+=n.length*a.width),c+=this._spacing*Math.max(0,n.length-1);let d=o===null?i?a.height:this.lineExtent(l,u):o;return d+=t.top+t.bottom,{width:c,height:d}}getMinSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=0,i=[],a=[];for(let e of n){let t=e.getMinSize();t&&(r=Math.max(r,t.width),i.push(t.height),a.push(e.getBaseline()))}let o=t.left+t.right+r,s=this.lineExtent(i,a);return s+=t.top+t.bottom,{width:o,height:s}}getMaxSize(){let n=this.getContainer();if(!n)return null;let r=n.getPerimeterSize(),i=n.getLaidOutComponents(),a=this.isUniformWidth(),o=a?this.computeUniformExtents(i):{width:0,height:0},s=r.left+r.right,c=0,l=!1,u=!1;for(let e of i){let n=e.getMaxSize();if(!n){a||(l=!0),u=!0;continue}a||(t(n.width)?l=!0:s+=n.width),t(n.height)?u=!0:c=Math.max(c,n.height)}a&&(s+=i.length*o.width),s+=this._spacing*Math.max(0,i.length-1);let d=this.getWrappedLineExtent();return d!==null&&!u&&(c=Math.max(c,d)),c+=r.top+r.bottom,{width:l?e:s,height:u?e:c}}doLayout(){let e=this.getContainer();if(!e)return;let t=e.getInnerSize();if(!t)return;let n=e.getLaidOutComponents(),r=e.getContentInsets(),i=this.getComponentSpacing(),a=this.getLineSpacing(),o=this.isUniformWidth(),s=this.isUniformHeight(),c=o||s?this.computeUniformExtents(n):{width:0,height:0},l=this.groupIntoRows(n,t.width,r.getTop(),i,a,o,s,c);this.placeRows(l,r.getLeft(),t.width,i),Number.isFinite(t.width)&&this.publishWrappedLineExtent(this.rowsCrossExtent(l,a)),this.reserveContentFrame()}groupIntoRows(e,t,n,r,i,a,o,s){let c=[],l=n,u=null;for(let n of e){let e=this.clampedPreferredSize(n),d=a?s.width:e.width,f=o?s.height:e.height;u&&u.contentWidth+r+d>t&&(l+=u.rowHeight+i,u=null),u||(u={cells:[],contentWidth:0,rowHeight:0,y:l},c.push(u));let p=u.cells.length===0?Math.min(d,t):d;u.contentWidth+=u.cells.length===0?p:r+p,u.cells.push({component:n,width:p,height:f,baseline:n.getBaseline()}),u.rowHeight=this.rowExtent(u,f)}return c}placeRows(e,t,n,r){for(let i of e){let e=i.cells.map(e=>e.height),o=i.cells.map(e=>e.baseline),{rowAscent:s,rowDescent:c}=this.computeRowMetrics(e,o),{lead:l,gap:u}=this.justifyGaps(i.cells.length,this.cellsMainExtent(i),n,r),d=t+(this._justify===`start`?this.alignLead(i.contentWidth,n):0)+l;for(let e of i.cells){let t=i.y+this.crossOffset(e.height,i.rowHeight,e.baseline,s,c);this.placeComponent(e.component,d,t,e.width,e.height,a.NONE),d+=e.width+u}}}cellsMainExtent(e){return e.cells.reduce((e,t)=>e+t.width,0)}rowsCrossExtent(e,t){if(e.length===0)return 0;let n=t*(e.length-1);for(let t of e)n+=t.rowHeight;return n}rowExtent(e,t){return this._itemAlign===`baseline`?this.lineExtent(e.cells.map(e=>e.height),e.cells.map(e=>e.baseline)):Math.max(e.rowHeight,t)}lineExtent(e,t){return this._itemAlign===`baseline`?this.computeRowHeight(e,t):e.reduce((e,t)=>Math.max(e,t),0)}},T=i(HFlow),VFlow=class extends FlowLayout{getPreferredSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=this.isUniformWidth(),i=this.isUniformHeight(),a=r||i?this.computeUniformExtents(n):{width:0,height:0},o=t.top+t.bottom,s=0;for(let e of n){let t=e.getPreferredSize();t&&(i||(o+=t.height),s=Math.max(s,t.width))}i&&(o+=n.length*a.height),o+=this._spacing*Math.max(0,n.length-1);let c=this.getWrappedLineExtent(),l=c===null?r?a.width:s:c;return l+=t.left+t.right,{width:l,height:o}}getMinSize(){let e=this.getContainer();if(!e)return null;let t=e.getPerimeterSize(),n=e.getLaidOutComponents(),r=0,i=0;for(let e of n){let t=e.getMinSize();t&&(r=Math.max(r,t.height),i=Math.max(i,t.width))}return{width:t.left+t.right+i,height:t.top+t.bottom+r}}getMaxSize(){let n=this.getContainer();if(!n)return null;let r=n.getPerimeterSize(),i=n.getLaidOutComponents(),a=this.isUniformHeight(),o=a?this.computeUniformExtents(i):{width:0,height:0},s=r.top+r.bottom,c=0,l=!1,u=!1;for(let e of i){let n=e.getMaxSize();if(!n){a||(u=!0),l=!0;continue}a||(t(n.height)?u=!0:s+=n.height),t(n.width)?l=!0:c=Math.max(c,n.width)}a&&(s+=i.length*o.height),s+=this._spacing*Math.max(0,i.length-1);let d=this.getWrappedLineExtent();return d!==null&&!l&&(c=Math.max(c,d)),c+=r.left+r.right,{width:l?e:c,height:u?e:s}}doLayout(){let e=this.getContainer();if(!e)return;let t=e.getInnerSize();if(!t)return;let n=e.getLaidOutComponents(),r=e.getContentInsets(),i=this.getComponentSpacing(),a=this.getLineSpacing(),o=this.isUniformWidth(),s=this.isUniformHeight(),c=o||s?this.computeUniformExtents(n):{width:0,height:0},l=this.groupIntoColumns(n,t.height,r.getLeft(),i,a,o,s,c);this.placeColumns(l,r.getTop(),t.height,i),Number.isFinite(t.height)&&this.publishWrappedLineExtent(this.columnsCrossExtent(l,a)),this.reserveContentFrame()}groupIntoColumns(e,t,n,r,i,a,o,s){let c=[],l=n,u=null;for(let n of e){let e=this.clampedPreferredSize(n),d=a?s.width:e.width,f=o?s.height:e.height;u&&u.contentHeight+r+f>t&&(l+=u.columnWidth+i,u=null),u||(u={cells:[],contentHeight:0,columnWidth:0,x:l},c.push(u));let p=u.cells.length===0?Math.min(f,t):f;u.contentHeight+=u.cells.length===0?p:r+p,u.cells.push({component:n,width:d,height:p,baseline:null}),u.columnWidth=Math.max(u.columnWidth,d)}return c}placeColumns(e,t,n,r){for(let i of e){let{lead:e,gap:o}=this.justifyGaps(i.cells.length,this.cellsMainExtent(i),n,r),s=t+(this._justify===`start`?this.alignLead(i.contentHeight,n):0)+e;for(let e of i.cells){let t=i.x+this.crossOffset(e.width,i.columnWidth,null,null,0);this.placeComponent(e.component,t,s,e.width,e.height,a.NONE),s+=e.height+o}}}cellsMainExtent(e){return e.cells.reduce((e,t)=>e+t.height,0)}columnsCrossExtent(e,t){if(e.length===0)return 0;let n=t*(e.length-1);for(let t of e)n+=t.columnWidth;return n}},E=i(VFlow);export{n as Absolute,x as Accordion,b as AccordionConstraints,v as Anchor,y as AnchorConstraints,o as AnchorType,f as Border,c as BoxLayout,w as Card,g as DockRegion,a as FillType,s as Fit,FlowLayout,C as Grid,S as GridConstraints,u as HBox,T as HFlow,p as LayoutConstraints,r as LayoutManager,m as Split,d as Tab,l as VBox,E as VFlow,_ as restoreLayout,h as serializeLayout};
2
2
  //# sourceMappingURL=layout.es.js.map
@@ -1,2 +1,2 @@
1
- import{t as e}from"./DOM-67StIm5G.js";import{l as t,n,o as r,t as i}from"./Position-Ck_KD4cR.js";import{S as a,b as o,h as s,t as c,v as l}from"./Component-DHqrPwAw.js";import{t as u}from"./ListenerBag-WPdKuuds.js";import{t as d}from"./Container-CAQpj4yb.js";import{t as f}from"./Glyph-CeAIWyPB.js";import{t as p}from"./Panel-D2X33qR6.js";import{a as m,t as ee}from"./Tooltip-DzK6LxUt.js";import{n as te,r as ne}from"./AnimatedDropdown-DKas40B-.js";import{t as h}from"./Fit-DIYt2aQB.js";import{t as g}from"./Text-D5pg7taZ.js";import{i as re,n as ie,r as ae}from"./VBox-BNegDPs_.js";import{a as _,d as v,f as y,g as oe,l as se,o as b,p as x}from"./LayoutSizes-DG9aW9k6.js";import{r as ce,t as le}from"./Border-Bz29z-_7.js";import{t as S}from"./Placement-7kqdaK4Z.js";import{t as C}from"./LayoutConstraints-DkctJZXB.js";import{t as w}from"./Button-bjpWruNc.js";import{xmark as T}from"./glyphs/solid/xmark.es.js";import{a as ue,i as de,o as fe,r as pe,t as E}from"./DragManager-CHWCe3-8.js";import{t as me}from"./Menu-B_-SQj72.js";import{circle_check as D}from"./glyphs/solid/circle_check.es.js";import{circle_info as O}from"./glyphs/solid/circle_info.es.js";import{triangle_exclamation as he}from"./glyphs/solid/triangle_exclamation.es.js";import{circle_exclamation as ge}from"./glyphs/solid/circle_exclamation.es.js";import{t as _e}from"./MenuButton-C79l8Ysf.js";import{clock_rotate_left as ve}from"./glyphs/solid/clock_rotate_left.es.js";import{a as ye,i as k,n as be,r as xe,t as Se}from"./LayoutSerialization-D82UtnDD.js";var A=14,j=A/2*Math.SQRT2,M=Math.ceil(j)+2,N=6,P=5,F=120,Ce={insets:new n(5,5,5,5),placement:`auto`,dismissOn:`click-outside`,showArrow:!0},Popover=class extends d{_resolvedPlacement=`bottom`;_bodyComponent=null;_actionsRow=null;_fadeShowAnimation=null;_fadeHideAnimation=null;_anchorElement=null;_arrowComponent=null;_isOpen=!1;_scrollAncestors=[];_onWindowResize;_onScroll;constructor(e,t){super(e,{...Ce,...t??{}});let n=new ie;n.setStretching(!0),this.setLayoutManager(n),this.setBackgroundColor(`var(--ts-ui-popover-bg, rgb(255, 255, 255))`),this.setForegroundColor(`var(--ts-ui-popover-color, rgb(0, 0, 0))`),this.setBorder({border:`1px solid var(--ts-ui-popover-border, rgb(200, 200, 200))`}),this.setBorderRadius(`var(--ts-ui-popover-radius, 6px)`),this.setShadow(`var(--ts-ui-popover-shadow, 2px 4px 12px rgba(0, 0, 0, 0.18))`),this.setPosition(i.FIXED),this.setVisible(!1),this.setContain(`layout`),this.setOverflow(`visible`),this.getAria().setRole(`dialog`),this._onWindowResize=()=>this._reposition(),this._onScroll=()=>this._reposition(),this._title??=null,this._titleComponent??=null}applyOptions(e){return super.applyOptions(e),this.setPlacement(e.placement??this.getPlacement()),this.setDismissOn(e.dismissOn??this.getDismissOn()),this.setShowArrow(e.showArrow??this.isShowArrow()),e.title!==void 0&&this.setTitle(e.title),this}setPlacement(e){return this._placement=e,this}getPlacement(){return this._placement??this._defaultOptions.placement}setDismissOn(e){return this._dismissOn=e,this}getDismissOn(){return this._dismissOn??this._defaultOptions.dismissOn}setShowArrow(e){return this._showArrow=e,this._arrowComponent&&this._arrowComponent.setVisible(e),this}isShowArrow(){return this._showArrow??this._defaultOptions.showArrow}setTitle(e){return e===null?this.clearTitle():(this._title=e,this._titleComponent?this._titleComponent.setText(e):(this._titleComponent=new g(e),this._titleComponent.setFontWeight(`bold`),this.insertComponent(this._titleComponent,0)),this)}getTitle(){return this._title}clearTitle(){return this._titleComponent&&=(this.removeComponent(this._titleComponent),null),this._title=null,this}setBody(e){this._bodyComponent&&=(this.removeComponent(this._bodyComponent),null);let t=typeof e==`string`?new g(e):e;this._bodyComponent=t;let n=+!!this._titleComponent;return this.insertComponent(t,n),this}getBody(){return this._bodyComponent}addAction(e,t){this._actionsRow||(this._actionsRow=new c,this._actionsRow.setLayoutManager(new ae),this.addComponent(this._actionsRow));let n=new w(e);return n.on(`action`,t),this._actionsRow.addComponent(n),this}clearActions(){return this._actionsRow&&=(this.removeComponent(this._actionsRow),null),this}_attachToElement(e){return this._anchorElement=e,this}attachToComponent(e){return this._attachToElement(e.getElement(!0))}show(){if(!this._anchorElement)return console.warn(`Popover.show(): no anchor attached; call attachToComponent first.`),this;this._isOpen=!0,m.register(this),this.setZIndex(m.getZIndex(this));let e=this.getElement(!0);return m.mount(e),y(this),this.ensureArrow(),this.setVisible(!0),this.doLayout(),this._reposition(),this._fadeShowAnimation?.cancel(),this._fadeShowAnimation=ne(this,{durationMs:F}),this.attachRepositionListeners(),this}hide(){return this._isOpen?(this._isOpen=!1,this.detachRepositionListeners(),m.unregister(this),x(this),this._fadeHideAnimation?.cancel(),this._fadeHideAnimation=te(this,{durationMs:F}),this):this}isOpen(){return this._isOpen}getLayerElement(){return this.getElement()??null}getDismissMode(){return this._dismissOn??this._defaultOptions.dismissOn}requestClose(){this.hide()}getAnchorElement(){return this._anchorElement}getBand(){return m.Band.Popover}doLayout(){return super.doLayout(),this._arrowComponent&&this._showArrow&&this._anchorElement&&this.positionArrow(),this}destructor(){this._isOpen&&this.hide(),this._fadeShowAnimation?.cancel(),this._fadeShowAnimation=null,this._fadeHideAnimation?.cancel(),this._fadeHideAnimation=null,this._arrowComponent?.dispose(),this._anchorElement=null,this._titleComponent=null,this._bodyComponent=null,this._actionsRow=null,this._arrowComponent=null,super.destructor()}_reposition(){if(!this._anchorElement)return;let n=e.source.getElementRect(this._anchorElement);if(n.width===0&&n.height===0){this.hide();return}let r=this.getPreferredSize(),i=r?.width??this.getWidth(),a=r?.height??this.getHeight(),o=e.source.getViewportSize(),s=this.resolvePlacement(n,i,a,o);this._resolvedPlacement=s;let c=0,l=0;s===`top`?(c=n.left+(n.width-i)/2,l=n.top-a-M):s===`bottom`?(c=n.left+(n.width-i)/2,l=n.bottom+M):s===`left`?(c=n.left-i-M,l=n.top+(n.height-a)/2):(c=n.right+M,l=n.top+(n.height-a)/2);let u=P,d=o.width-i-P,f=P,p=o.height-a-P;s===`right`?u+=j:s===`left`?d-=j:s===`bottom`?f+=j:p-=j,c=t.clamp(c,u,d),l=t.clamp(l,f,p),this.setX(c),this.setY(l),this.setWidth(i),this.setHeight(a),this._arrowComponent&&this._showArrow&&this.positionArrow()}resolvePlacement(e,t,n,r){let i=e.top,a=r.height-e.bottom,o=e.left,s=r.width-e.right;if(this._placement===`auto`){let e=n+M,r=t+M,c=[{side:`bottom`,space:a,need:e},{side:`top`,space:i,need:e},{side:`right`,space:s,need:r},{side:`left`,space:o,need:r}],l=c.filter(e=>e.space>=e.need),u=l.length>0?l:c;return u.sort((e,t)=>t.space-e.space),u[0].side}let fits=e=>e===`top`?i>=n+M:e===`bottom`?a>=n+M:e===`left`?o>=t+M:s>=t+M;if(fits(this._placement))return this._placement;let c={top:`bottom`,bottom:`top`,left:`right`,right:`left`}[this._placement];return console.warn(`Popover: explicit placement "${this._placement}" overflows the viewport; falling back to "${c}".`),c}ensureArrow(){if(this._arrowComponent)return;let t=new c,n=A;t.setBackgroundColor(`var(--ts-ui-popover-bg, rgb(255, 255, 255))`),t.setWidth(n),t.setHeight(n),t.setTransform(`rotate(45deg)`),t.setPointerEvents(`none`),t.setVisible(this._showArrow),this._arrowComponent=t;let r=this.getElement(!0);e.sink.insertBefore(r,t.getElement(!0),e.source.getFirstChild(r))}positionArrow(){if(!this._anchorElement||!this._arrowComponent)return;let t=e.source.getElementRect(this._anchorElement),n=A,r=n/2,i=this.getX(),a=this.getY(),o=this.getWidth(),s=this.getHeight(),clamp=(e,t,n)=>Math.max(t,Math.min(e,n)),c=`var(--ts-ui-popover-border, rgb(200, 200, 200))`,l;l=this._resolvedPlacement===`bottom`?`inset 1px 0 0 ${c}, inset 0 1px 0 ${c}`:this._resolvedPlacement===`top`?`inset -1px 0 0 ${c}, inset 0 -1px 0 ${c}`:this._resolvedPlacement===`right`?`inset 1px 0 0 ${c}, inset 0 -1px 0 ${c}`:`inset 0 1px 0 ${c}, inset -1px 0 0 ${c}`,this._arrowComponent.setShadow(l);let u=e.source.getViewportSize(),d=this.getBorderSize();if(this._resolvedPlacement===`top`||this._resolvedPlacement===`bottom`){let e=t.left+t.width/2,a=Math.max(N,P-i+j-r),c=Math.min(o-n-N,u.width-P-i-r-j),l=clamp(e-i-r-d.left,a,c);this._arrowComponent.setX(l),this._resolvedPlacement===`bottom`?this._arrowComponent.setY(-7-d.top):this._arrowComponent.setY(s-r-d.top)}else{let e=t.top+t.height/2,i=Math.max(N,P-a+j-r),c=Math.min(s-n-N,u.height-P-a-r-j),l=clamp(e-a-r-d.top,i,c);this._arrowComponent.setY(l),this._resolvedPlacement===`right`?this._arrowComponent.setX(-7-d.left):this._arrowComponent.setX(o-r-d.left)}}attachRepositionListeners(){if(a.addViewportListener(this,`resize`,this._onWindowResize),this._anchorElement){this._scrollAncestors=this.collectScrollAncestors(this._anchorElement);for(let t of this._scrollAncestors)e.sink.addListener(t,`scroll`,this._onScroll,{passive:!0})}}detachRepositionListeners(){a.removeViewportListener(this,`resize`,this._onWindowResize);for(let t of this._scrollAncestors)e.sink.removeListener(t,`scroll`,this._onScroll);this._scrollAncestors=[]}collectScrollAncestors(t){let n=[],r=e.source.getParentElement(t);for(;r&&r!==e.source.getDocumentElement();){let t=e.source.getComputedOverflow(r),i=t.overflow+t.overflowX+t.overflowY;/(auto|scroll|overlay)/.test(i)&&n.push(r),r=e.source.getParentElement(r)}return n.push(e.source.getDocumentElement()),n}},we=s(Popover),Te={},DialogBackdrop=class extends c{constructor(t,n){super(t,{...Te,...n??{}});let r=e.source.getViewportSize();this.setPosition(i.FIXED),this.setX(0),this.setY(0),this.setWidth(r.width),this.setHeight(r.height),this.setZIndex(10100),this.setBackgroundColor(`var(--ts-ui-dialog-backdrop-bg)`)}addClickListener(e){return a.addListener(this,`click`,e),this}resize(){let t=e.source.getViewportSize();this.setWidth(t.width),this.setHeight(t.height)}destroy(){this.removeElement(),this.destructor()}},I=s(DialogBackdrop);f.register(T,D,O,he,ge);var L=36,R=52,Ee=90,De=8,Oe=11,z=20,B=12,ke=320,V=160,H=80,Ae=24,je={info:`circle-info`,success:`circle-check`,warning:`triangle-exclamation`,error:`circle-exclamation`},U=150,W=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,G=4,K=4,Me=8,DialogTitleBar=class extends c{_titleText;_closeButton=null;_titleGlyph=null;constructor(e,t,r){super(),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setBorder({border:`none`,borderBottom:`1px solid var(--ts-ui-dialog-border)`}),this.setPreferredSize({width:0,height:L}),this._titleText=new g(e),this._titleText.setFontWeight(`bold`),this._titleText.setOverflow(`hidden`),this._titleText.setTextOverflow(`ellipsis`),this._titleText.setWhiteSpace(`nowrap`),this._titleText.centerInHeight(L-G*2),this.addComponent(this._titleText),r&&(this._closeButton=new w({glyph:`xmark`}),this._closeButton.setInsets(new n(0,0,0,0)),this._closeButton.setBorder(`none`),this._closeButton.clearBackgroundImage(),this._closeButton.setBackgroundColor(`transparent`),this._closeButton.clearShadow(),this._closeButton.clearPressedShadow(),this._closeButton.clearHoverShadow(),this._closeButton.setHoverBackgroundColor(`var(--ts-ui-titlebar-btn-hover-bg, rgba(0, 0, 0, 0.08))`),this._closeButton.setPressedBackgroundColor(`var(--ts-ui-titlebar-btn-active-bg, rgba(0, 0, 0, 0.16))`),this._closeButton.clearHoverBackgroundImage(),this._closeButton.clearPressedBackgroundImage(),this._closeButton.setPreferredSize({width:z,height:z}),this.addComponent(this._closeButton),this._closeButton.on(`action`,t))}getCloseButton(){return this._closeButton}getTitleText(){return this._titleText}setGlyph(e){this._titleGlyph&&=(this.removeComponent(this._titleGlyph),null);let t=new f(e);return t.setPointerEvents(`none`),t.setPreferredSize({width:16,height:16}),this._titleGlyph=t,this.addComponent(t),this.doLayout(),this}clearGlyph(){return this._titleGlyph&&(this.removeComponent(this._titleGlyph),this._titleGlyph=null,this.doLayout()),this}getGlyph(){return this._titleGlyph}doLayout(){super.doLayout();let e=this.getContentBounds();if(!e)return this;let t=e.width,n=e.height,r=t-z-K,i=Math.floor((n-z)/2),a=this._closeButton?r:t-B,o=B;if(this._titleGlyph){let t=this._titleGlyph.getPreferredSize()??{width:16,height:16},r=Math.max(0,Math.floor((n-t.height)/2));this._titleGlyph.setX(e.x+B),this._titleGlyph.setY(e.y+r),this._titleGlyph.setWidth(t.width),this._titleGlyph.setHeight(t.height),o=B+t.width+Me}let s=Math.max(0,a-o-K),c=n-G*2;return this._titleText.setX(e.x+o),this._titleText.setY(e.y+G),this._titleText.setWidth(s),this._titleText.setHeight(c),this._closeButton&&(this._closeButton.setX(e.x+r),this._closeButton.setY(e.y+i),this._closeButton.setWidth(z),this._closeButton.setHeight(z),this._closeButton.doLayout()),this}},DialogButtonRow=class extends c{_buttons=[];constructor(e,t){super(),this.setBorder({border:`none`,borderTop:`1px solid var(--ts-ui-dialog-border)`}),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setPreferredSize({width:0,height:R});for(let n of e){let e=new w(n.text,n.glyph===void 0?void 0:{glyph:n.glyph}),r=n.result??`cancel`;if(n.primary&&e.setBackgroundImage(`var(--ts-ui-toggle-selected-bg, rgb(200, 200, 200))`),n.glyph!==void 0){let t=e.getGlyph(),r=n.tint;t!==null&&r&&t.setForegroundColor(r)}e.on(`action`,()=>t(r)),this._buttons.push(e),this.addComponent(e)}}doLayout(){super.doLayout();let e=this.getContentBounds();if(!e)return this;let t=e.height-Oe*2,n=this._buttons.length*Ee+(this._buttons.length-1)*De,r=Math.round((e.width-n)/2);for(let n of this._buttons)n.setX(e.x+r),n.setY(e.y+Oe),n.setWidth(Ee),n.setHeight(t),n.doLayout(),r+=98;return this}},q={Confirm:{text:`Confirm`,result:`confirm`,glyph:`circle-check`,tint:`var(--ts-ui-dialog-confirm-color)`},Ok:{text:`Ok`,result:`confirm`,glyph:`circle-check`,tint:`var(--ts-ui-dialog-confirm-color)`},Cancel:{text:`Cancel`,result:`cancel`,glyph:`xmark`,tint:`var(--ts-ui-dialog-cancel-color)`},Close:{text:`Close`,result:`close`,glyph:`xmark`,tint:`var(--ts-ui-dialog-cancel-color)`}},J=[{...q.Ok,primary:!0}],Ne=class Dialog extends c{_titleBar;_contentContainer;_buttonRow;_backdrop;_config;_resolvePromise=null;_previousFocus=null;_boundKeyHandler;_boundResizeHandler;_panelInAnimation=null;_backdropInAnimation=null;_panelOutAnimation=null;_backdropOutAnimation=null;_finalizing=!1;constructor(e){super(),this._config=e;let t=Math.max(ke,e.width??480),r=e.buttons??J,a=Math.max(H,this.computeContentHeight(e)),o=Math.max(V,e.height??L+a+R);this.setPosition(i.FIXED),this.setWidth(t),this.setHeight(o),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setBorderRadius(`var(--ts-ui-border-radius, 4px)`),this.setShadow(`var(--ts-ui-dialog-shadow)`),this.setOverflow(`hidden`),this.setContain(`strict`);let s=new le;if(s.setComponentSpacing(0),this.setLayoutManager(s),this._titleBar=new DialogTitleBar(e.title,()=>this.hide(`close`),e.dismissable!==!1),this.addComponent(this._titleBar,{placement:S.NORTH}),e.severity?this.applySeverityHeader(e.severity):this.applyHeaderVariant(this.computeHeaderVariant(r)),this._contentContainer=new p({autoScroll:`y`,layoutManager:new h,insets:new n(0,0,0,0)}),e.contentComponent)this._contentContainer.addComponent(e.contentComponent);else{let t=new g(e.message??``);t.setWhiteSpace(`normal`),t.setWordBreak(`break-word`),t.setPadding(new n(16,16,16,16)),this._contentContainer.addComponent(t)}this.addComponent(this._contentContainer,{placement:S.CENTER}),this._buttonRow=new DialogButtonRow(r,e=>this.hide(e)),this.addComponent(this._buttonRow,{placement:S.SOUTH}),this._backdrop=new I,this._boundKeyHandler=e=>this.onKeyDown(e),this._boundResizeHandler=()=>this.onViewportResize()}computeHeaderVariant(e){let t=new Set(e.map(e=>e.result??`cancel`));return t.size===1&&t.has(`confirm`)?`info`:t.has(`confirm`)&&t.has(`cancel`)?`affirm`:`plain`}applyHeaderVariant(e){if(e===`plain`)return;let t=e===`info`?`var(--ts-ui-dialog-info-bg)`:`var(--ts-ui-dialog-affirm-bg)`,n=e===`info`?`var(--ts-ui-dialog-info-fg)`:`var(--ts-ui-dialog-affirm-fg)`;if(this._titleBar.setBackgroundColor(t),this._titleBar.getTitleText().setForegroundColor(n),e===`info`){this._titleBar.setGlyph(`circle-info`);let e=this._titleBar.getGlyph();e!==null&&e.setForegroundColor(n)}}applySeverityHeader(e){let t=`var(--ts-ui-notification-${e}-bg)`,n=`var(--ts-ui-notification-${e}-border)`;this._titleBar.setBackgroundColor(t),this._titleBar.getTitleText().setForegroundColor(n),this._titleBar.setGlyph(je[e]);let r=this._titleBar.getGlyph();r!==null&&r.setForegroundColor(n)}computeContentHeight(e){if(e.contentComponent){let t=e.contentComponent.getPreferredSize();if(t)return t.height}return 100}show(){return new Promise(e=>{this._resolvePromise=e,this.open()})}resizeToContent(){if(!this.getElement())return this;let t=Math.max(H,this.computeContentHeight(this._config)),n=Math.max(V,L+t+R),r=e.source.getViewportSize(),i=Math.min(n,Math.max(V,r.height-Ae*2));return i===this.getHeight()?this:(this.setHeight(i),this.scheduleLayout(),this.center(),this)}open(){this._previousFocus=e.source.getActiveElement(),this._config.closeOnBackdrop&&this._config.dismissable!==!1&&this._backdrop.addClickListener(()=>{this.hide(`close`)}),m.register(this);let t=m.getZIndex(this);this.setZIndex(t),this._backdrop.setZIndex(t-1);let n=this._backdrop.getElement(!0);m.mount(n);let r=this.getElement(!0);m.mount(r),y(this),this.scheduleLayout(),this.center(),this.animateIn(),c.afterNextLayout(()=>this.resizeToContent()),a.addViewportListener(this,`keydown`,this._boundKeyHandler),a.addViewportListener(this,`resize`,this._boundResizeHandler),c.afterNextLayout(()=>this.focusFirst())}animateIn(){let e=this.getElement(),t=this._backdrop.getElement();e&&(this._panelInAnimation?.cancel(),this._panelInAnimation=l.play(e,{from:{opacity:`0`,transform:`scale(0.97)`},to:{opacity:`1`,transform:`scale(1)`},durationMs:U,properties:[`opacity`,`transform`]}),t&&(this._backdropInAnimation?.cancel(),this._backdropInAnimation=l.play(t,{from:{opacity:`0`},to:{opacity:`1`},durationMs:U,properties:[`opacity`]})))}center(){let t=e.source.getViewportSize(),n=Math.max(0,Math.round((t.width-this.getWidth())/2)),r=Math.max(0,Math.round((t.height-this.getHeight())/2));this.setX(n),this.setY(r)}focusFirst(){let t=this.requestedFocusElement();if(t){e.sink.focus(t);return}let n=this._contentContainer.getElement(),r=n?e.source.querySelectorAll(n,W):[];if(r.length>0){e.sink.focus(r[0]);return}let i=this.primaryButtonElement();if(i){e.sink.focus(i);return}let a=this.getElement(),o=a?e.source.querySelectorAll(a,W):[];o.length>0&&e.sink.focus(o[0])}requestedFocusElement(){let t=this._config.initialFocus?.getElement();return t?e.source.matches(t,W)?t:e.source.querySelector(t,W):null}primaryButtonElement(){let t=(this._config.buttons??J).findIndex(e=>e.primary);if(t<0)return null;let n=this._buttonRow.getElement();return(n?e.source.querySelectorAll(n,W):[])[t]??null}getFocusable(){let t=this.getElement();return t?e.source.querySelectorAll(t,W).filter(t=>!e.source.hasAttribute(t,`disabled`)):[]}onKeyDown(t){if(t.key===`Enter`)return this.onEnter(t);if(t.key===`Tab`){let n=this.getFocusable();if(n.length===0)return{stop:!0,prevent:!0};let r=n[0],i=n[n.length-1];if(t.shiftKey){if(e.source.getActiveElement()===r)return e.sink.focus(i),{stop:!0,prevent:!0}}else if(e.source.getActiveElement()===i)return e.sink.focus(r),{stop:!0,prevent:!0}}}onEnter(t){let n=e.source.getActiveElement(),r=n?e.source.getTagName(n).toLowerCase():null;if(r===`textarea`||r===`button`)return;let i=this.primaryResult();if(i!==null)return this.hide(i),{stop:!0,prevent:!0}}primaryResult(){let e=(this._config.buttons??J).find(e=>e.primary);return e?e.result??`cancel`:null}onViewportResize(){this._backdrop.resize(),this.resizeToContent(),this.center()}hide(t){a.removeViewportListener(this,`keydown`,this._boundKeyHandler),a.removeViewportListener(this,`resize`,this._boundResizeHandler);let finalize=()=>{this._finalizing=!0,this._backdrop.destroy(),this.removeElement(),this.destructor(),m.unregister(this),x(this),this._previousFocus!==null&&e.sink.focus(this._previousFocus),this._resolvePromise&&=(this._resolvePromise(t),null)},n=this.getElement(),r=this._backdrop.getElement();return n?(this._panelOutAnimation?.cancel(),this._panelOutAnimation=l.play(n,{to:{opacity:`0`,transform:`scale(0.97)`},durationMs:U,properties:[`opacity`,`transform`],onComplete:finalize}),r&&(this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=l.play(r,{to:{opacity:`0`},durationMs:U,properties:[`opacity`]})),this):(finalize(),this)}destructor(){this._panelInAnimation?.cancel(),this._panelInAnimation=null,this._backdropInAnimation?.cancel(),this._backdropInAnimation=null,this._panelOutAnimation?.cancel(),this._panelOutAnimation=null,this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=null,this._finalizing||(this._backdrop.destroy(),m.unregister(this),x(this),this._resolvePromise&&=(this._resolvePromise(`close`),null)),super.destructor()}getContentComponent(){return this._contentContainer}clampsToContentSize(){return!1}getTitleBar(){return this._titleBar}getLayerElement(){return this.getElement()??null}getDismissMode(){return`modal`}requestClose(){this._config.dismissable!==!1&&this.hide(`close`)}getBand(){return m.Band.Dialog}static show(e){return new Dialog(e).show()}static async confirm(e,t){return await Dialog.show({title:e,message:t,buttons:[{...q.Cancel,primary:!0},q.Confirm]})===`confirm`}static async alert(e,t,n){await Dialog.show({title:t,message:n,severity:e,buttons:[{...q.Ok,primary:!0}]})}static info(e,t){return Dialog.alert(`info`,e,t)}static success(e,t){return Dialog.alert(`success`,e,t)}static warning(e,t){return Dialog.alert(`warning`,e,t)}static error(e,t){return Dialog.alert(`error`,e,t)}},Pe=s(Ne);f.register(O,D,he,ge,T);var Y={info:`circle-info`,success:`circle-check`,warning:`triangle-exclamation`,error:`circle-exclamation`},Fe={info:`Information`,success:`Success`,warning:`Warning`,error:`Error`},Ie=8e3,Le=200,Re=200,X=class Notification extends c{_showAnimation=null;_dismissAnimation=null;static WIDTH=320;static HEIGHT=64;static MARGIN=16;static H_PADDING=12;static V_PADDING=10;static CLOSE_SIZE=20;static BADGE_SIZE=20;static BADGE_TEXT_GAP=8;static Z_INDEX=10002;static activeNotifications=[];static HISTORY_CAP=50;static history=[];static hoverCount=0;static modalCount=0;_type;_fullMessage;_badge;_messageText;_closeButton;_dismissTimer=null;_remainingDuration=0;_timerStartedAt=0;_dismissing=!1;_boundOnCloseAction=()=>(this.dismiss(),!0);_boundOnDblClick=()=>this.openDetail();_boundOnMouseOver=e=>Notification.acquireHoverHold(e,this.getElement());_boundOnMouseOut=e=>Notification.releaseHoverHold(e,this.getElement());constructor(e,t){super(),this._type=t,this._fullMessage=e,this.setPosition(i.FIXED),this.setZIndex(Notification.Z_INDEX),this.setWidth(Notification.WIDTH),this.setHeight(Notification.HEIGHT),this.setOverflow(`hidden`),this.setContain(`strict`);let r=t===`error`||t===`warning`;this.getAria().setRole(r?`alert`:`status`),this.getAria().setLive(r?`assertive`:`polite`);let o=`var(--ts-ui-notification-${t}-bg)`,s=`var(--ts-ui-notification-${t}-border)`;this.setBackgroundColor(o),this.setBorder({border:`1px solid ${s}`}),this.setShadow(`var(--ts-ui-notification-shadow)`),this.setBorderRadius(`var(--ts-ui-border-radius, 4px)`),this._badge=new f(Y[t]),this._badge.setForegroundColor(s),this._badge.setPreferredSize({width:Notification.BADGE_SIZE,height:Notification.BADGE_SIZE}),this._badge.setPointerEvents(`none`),this._badge.getAria().setHidden(!0),this.addComponent(this._badge),this._messageText=new g(e),this._messageText.setLineClamp(2),this._messageText.setWhiteSpace(`normal`),this._messageText.setWordBreak(`break-word`),this.addComponent(this._messageText),this._closeButton=new w({glyph:`xmark`}),this._closeButton.setInsets(new n(0,0,0,0)),this._closeButton.setBorder(`none`),this._closeButton.clearBackgroundImage(),this._closeButton.setBackgroundColor(`transparent`),this._closeButton.clearShadow(),this._closeButton.clearPressedShadow(),this._closeButton.setForegroundColor(`var(--ts-ui-text-color, rgb(0, 0, 0))`),this._closeButton.setPreferredSize({width:Notification.CLOSE_SIZE,height:Notification.CLOSE_SIZE}),this._closeButton.getAria().setLabel(`Dismiss notification`),this.addComponent(this._closeButton),this._closeButton.on(`action`,this._boundOnCloseAction),a.addSubtreeListener(this,`dblclick`,this._boundOnDblClick),a.addSubtreeListener(this,`mouseover`,this._boundOnMouseOver),a.addSubtreeListener(this,`mouseout`,this._boundOnMouseOut)}static show(e,t=`info`,n=3e3){Notification.record(e,t);let r=new Notification(e,t);Notification.activeNotifications.push(r);let i=r.getElement(!0);r.scheduleLayout(),m.mount(i),Notification.restack(),r.animateIn(),n>0&&(r.startTimer(n),Notification.isPaused()&&r.pauseTimer())}static record(e,t){Notification.history.push({message:e,type:t,timestamp:Date.now()}),Notification.history.length>Notification.HISTORY_CAP&&Notification.history.shift()}static getHistory(){return[...Notification.history]}animateIn(){let e=this.getElement();e&&(this._showAnimation?.cancel(),this._showAnimation=l.play(e,{from:{transform:`translateX(100%)`,opacity:`0`},to:{transform:`translateX(0)`,opacity:`1`},durationMs:Re,properties:[`transform`,`opacity`]}))}static pauseAll(){let e=Notification.isPaused();Notification.modalCount+=1,e||Notification.pauseAllTimers()}static resumeAll(){Notification.modalCount!==0&&(--Notification.modalCount,Notification.isPaused()||Notification.resumeAllTimers(!0))}static acquireHoverHold(t,n){if(n&&e.source.isNode(t.relatedTarget)&&e.source.contains(n,e.source.intern(t.relatedTarget)))return;let r=Notification.isPaused();Notification.hoverCount+=1,r||Notification.pauseAllTimers()}static releaseHoverHold(t,n){n&&e.source.isNode(t.relatedTarget)&&e.source.contains(n,e.source.intern(t.relatedTarget))||Notification.hoverCount!==0&&(--Notification.hoverCount,Notification.isPaused()||Notification.resumeAllTimers(!1))}static isPaused(){return Notification.hoverCount>0||Notification.modalCount>0}static pauseAllTimers(){for(let e of Notification.activeNotifications)e.pauseTimer()}static resumeAllTimers(e){for(let t of Notification.activeNotifications)t.restartTimer(e)}startTimer(e){this._remainingDuration=e,this._timerStartedAt=Date.now(),this._dismissTimer=setTimeout(()=>this.dismiss(),e)}pauseTimer(){this._dismissTimer!==null&&(clearTimeout(this._dismissTimer),this._dismissTimer=null,this._remainingDuration=Math.max(0,this._remainingDuration-(Date.now()-this._timerStartedAt)))}restartTimer(e){this._dismissing||this._remainingDuration<=0||this._dismissTimer!==null||(e&&(this._remainingDuration=Math.max(this._remainingDuration,Ie)),this._timerStartedAt=Date.now(),this._dismissTimer=setTimeout(()=>this.dismiss(),this._remainingDuration))}openDetail(){Notification.showDetail(this._fullMessage,this._type)}static showDetail(e,t){Notification.pauseAll();let r=new g(e);r.setAutoMeasure(!1),r.setWhiteSpace(`pre-wrap`),r.setWordBreak(`break-word`),r.setPadding(new n(16,16,16,16));let i=new Ne({title:Fe[t],contentComponent:r,buttons:[{...q.Close,primary:!0}],width:420,height:220}),a=i.getTitleBar();a.setBackgroundColor(`var(--ts-ui-notification-${t}-bg)`),a.getTitleText().setForegroundColor(`var(--ts-ui-notification-${t}-border)`),a.setGlyph(Y[t]);let o=a.getGlyph();o!==null&&o.setForegroundColor(`var(--ts-ui-notification-${t}-border)`),i.show().then(()=>Notification.resumeAll())}dismiss(){if(this._dismissing)return;this._dismissing=!0,this._dismissTimer!==null&&(clearTimeout(this._dismissTimer),this._dismissTimer=null);let e=this.getElement();if(!e){this.finishDismiss();return}this._dismissAnimation?.cancel(),this._dismissAnimation=l.play(e,{to:{transform:`translateX(100%)`,opacity:`0`},durationMs:Le,properties:[`transform`,`opacity`],onComplete:()=>this.finishDismiss()})}finishDismiss(){Notification.activeNotifications=Notification.activeNotifications.filter(e=>e!==this),this.removeElement(),Notification.restack()}static restack(){let t=e.source.getViewportSize(),n=t.width-Notification.WIDTH-Notification.MARGIN,r=t.height-Notification.MARGIN;for(let e=Notification.activeNotifications.length-1;e>=0;e--){let t=Notification.activeNotifications[e];r-=Notification.HEIGHT,t.setX(n),t.setY(r),r-=Notification.MARGIN}}doLayout(){super.doLayout();let e=Notification.WIDTH-Notification.CLOSE_SIZE-4,t=Notification.H_PADDING,n=Notification.V_PADDING+2,r=t+Notification.BADGE_SIZE+Notification.BADGE_TEXT_GAP,i=e-r-4,a=Notification.HEIGHT-Notification.V_PADDING*2;return this._badge.setX(t),this._badge.setY(n),this._badge.setWidth(Notification.BADGE_SIZE),this._badge.setHeight(Notification.BADGE_SIZE),this._messageText.setX(r),this._messageText.setY(Notification.V_PADDING),this._messageText.setWidth(i),this._messageText.setHeight(a),this._closeButton.setX(e),this._closeButton.setY(4),this._closeButton.setWidth(Notification.CLOSE_SIZE),this._closeButton.setHeight(Notification.CLOSE_SIZE),this._closeButton.doLayout(),this}destructor(){this._showAnimation?.cancel(),this._showAnimation=null,this._dismissAnimation?.cancel(),this._dismissAnimation=null,Notification.activeNotifications.includes(this)&&(Notification.activeNotifications=Notification.activeNotifications.filter(e=>e!==this),Notification.restack()),super.destructor()}};f.register(ve);var ze=6e4,Be=36e5,Ve=864e5;function formatRelativeTime(e,t){let n=Math.max(0,t-e);return n<ze?`just now`:n<Be?`${Math.floor(n/ze)}m ago`:n<Ve?`${Math.floor(n/Be)}h ago`:`${Math.floor(n/Ve)}d ago`}function buildHistoryItems(){let e=X.getHistory();if(e.length===0)return[{text:`No notifications yet`,enabled:!1}];let t=Date.now();return e.map(e=>({glyph:Y[e.type],glyphColor:`var(--ts-ui-notification-${e.type}-border)`,text:e.message,shortcut:formatRelativeTime(e.timestamp,t),action:()=>X.showDetail(e.message,e.type)}))}var NotificationHistoryButton=class extends _e{constructor(e){super(void 0,e,{glyph:`clock-rotate-left`,menuItems:buildHistoryItems,scrollToBottomOnShow:!0}),this.getAria().setLabel(`Notification history`),this.applyListeners(e?.listeners)}},He=s(NotificationHistoryButton),Ue={edge:S.WEST,modal:!1,size:320,durationMs:220,overflow:`auto`,backgroundColor:`var(--ts-ui-drawer-bg)`,shadow:`var(--ts-ui-drawer-shadow)`},Drawer=class extends c{_panelInAnimation=null;_panelOutAnimation=null;_backdropInAnimation=null;_backdropOutAnimation=null;_open=!1;_closing=!1;_backdrop=null;_listeners=new u;_boundResizeHandler=()=>this.onViewportResize();_boundBackdropClose=()=>{this.close()};constructor(e,t){super(e,{...Ue,...t??{}}),this.setPosition(i.FIXED),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),this.setEdge(e.edge??this.getEdge()),this.setModal(e.modal??this.isModal()),this.setDrawerSize(e.size??this.getDrawerSize()),this.setDurationMs(e.durationMs??this.getDurationMs()),this}setEdge(e){return this._options.edge=e,this}getEdge(){return this._options.edge??this._defaultOptions.edge}setModal(e){return this._options.modal=e,this}isModal(){return this._options.modal??this._defaultOptions.modal}setDrawerSize(e){return this._options.size=e,this}getDrawerSize(){return this._options.size??this._defaultOptions.size}setDurationMs(e){return this._options.durationMs=e,this}getDurationMs(){return this._options.durationMs??this._defaultOptions.durationMs}open(){if(this._open)return this;m.register(this);let t=m.getZIndex(this);return this.setZIndex(t),this.isModal()&&this.openBackdrop(t-1),this.applyEdgeBorder(),this.applyRestingGeometry(),e.sink.appendChild(e.source.getDocumentElement(),this.getElement(!0)),y(this),this.scheduleLayout(),this.animateIn(),a.addViewportListener(this,`resize`,this._boundResizeHandler),this._open=!0,this.emit(`open`),this}close(){if(!this._open||this._closing)return this;let e=!1;return this.emit(`beforeclose`,{preventDefault:()=>{e=!0}}),e?this:(this._closing=!0,a.removeViewportListener(this,`resize`,this._boundResizeHandler),this.animateOutAndFinalize(),this)}toggle(){return this._open?this.close():this.open()}isOpen(){return this._open}restingRect(){let t=e.source.getViewportSize(),n=this.getDrawerSize();switch(this.getEdge()){case S.EAST:return{x:t.width-n,y:0,width:n,height:t.height};case S.NORTH:return{x:0,y:0,width:t.width,height:n};case S.SOUTH:return{x:0,y:t.height-n,width:t.width,height:n};case S.WEST:default:return{x:0,y:0,width:n,height:t.height}}}applyRestingGeometry(){let e=this.restingRect();this.setX(e.x),this.setY(e.y),this.setWidth(e.width),this.setHeight(e.height)}offscreenTransform(){let e=this.getDrawerSize();switch(this.getEdge()){case S.EAST:return`translateX(${e}px)`;case S.NORTH:return`translateY(${-e}px)`;case S.SOUTH:return`translateY(${e}px)`;case S.WEST:default:return`translateX(${-e}px)`}}applyEdgeBorder(){let e=`1px solid var(--ts-ui-drawer-border)`;switch(this.getEdge()){case S.EAST:this.setBorder({border:`none`,borderLeft:e});break;case S.NORTH:this.setBorder({border:`none`,borderBottom:e});break;case S.SOUTH:this.setBorder({border:`none`,borderTop:e});break;case S.WEST:default:this.setBorder({border:`none`,borderRight:e});break}}animateIn(){let e=this.getElement();e&&(this._panelInAnimation?.cancel(),this._panelInAnimation=l.play(e,{from:{transform:this.offscreenTransform()},to:{transform:`translate(0, 0)`},durationMs:this.getDurationMs(),properties:[`transform`]}))}animateOutAndFinalize(){let e=this.getElement(),finalize=()=>{this.removeElement(),this.teardownBackdrop(),m.unregister(this),x(this),this._open=!1,this._closing=!1,this.emit(`close`)};if(!e){finalize();return}this._panelOutAnimation?.cancel(),this._panelOutAnimation=l.play(e,{to:{transform:this.offscreenTransform()},durationMs:this.getDurationMs(),properties:[`transform`],onComplete:finalize}),this.fadeBackdropOut()}openBackdrop(t){this._backdrop=new I,this._backdrop.setZIndex(t),this._backdrop.addClickListener(this._boundBackdropClose);let n=this._backdrop.getElement(!0);e.sink.appendChild(e.source.getDocumentElement(),n),this._backdropInAnimation?.cancel(),this._backdropInAnimation=l.play(n,{from:{opacity:`0`},to:{opacity:`1`},durationMs:this.getDurationMs(),properties:[`opacity`]})}fadeBackdropOut(){let e=this._backdrop?.getElement();e&&(this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=l.play(e,{to:{opacity:`0`},durationMs:this.getDurationMs(),properties:[`opacity`]}))}teardownBackdrop(){this._backdrop!==null&&(this._backdrop.destroy(),this._backdrop=null)}onViewportResize(){this._backdrop!==null&&this._backdrop.resize(),this.applyRestingGeometry()}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}getLayerElement(){return this.getElement()??null}getDismissMode(){return this.isModal()?`modal`:`manual`}requestClose(){this.close()}isLayerRoot(){return!0}onZIndexChanged(e){this.setZIndex(e),this._backdrop!==null&&this._backdrop.setZIndex(e-1)}destructor(){this._panelInAnimation?.cancel(),this._panelInAnimation=null,this._panelOutAnimation?.cancel(),this._panelOutAnimation=null,this._backdropInAnimation?.cancel(),this._backdropInAnimation=null,this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=null,this.teardownBackdrop(),m.unregister(this),x(this),this._open=!1,this._closing=!1,super.destructor()}},We=s(Drawer),RailHandle=class extends w{get selectedRule(){return this._selectedRule??=this.createStyleRule(`.selected`)}get railHoverRule(){return this._railHoverRule??=this.createStyleRule(`:hover:not(.selected)`)}constructor(e={}){super(e.text,e,{chromeless:!0}),this.railHoverRule.set(`backgroundColor`,`var(--ts-ui-rail-handle-hover-bg)`),this.selectedRule.set(`backgroundColor`,`var(--ts-ui-rail-handle-selected-bg)`)}applyOptions(e){return super.applyOptions(e),e.selected!==void 0&&this.setSelected(e.selected),this}isSelected(){return this._options.selected??!1}setSelected(t){this._options.selected=t,this.getAria().setPressed(t);let n=this.getElement();return n&&e.sink.apply(n,{toggleClass:{selected:t}}),this}render(){let t=super.render();return e.sink.apply(t,{toggleClass:{selected:this.isSelected()}}),t}},Z=s(RailHandle),Q=48,Ge=8900,$=200,Ke=10,qe=5;function collapseHeadingFor(e){switch(e){case S.EAST:return`east`;case S.NORTH:return`north`;case S.SOUTH:return`south`;case S.WEST:default:return`west`}}var Je={west:`east`,east:`west`,north:`south`,south:`north`},Ye={edge:S.WEST,orientation:`horizontal`,backgroundColor:`var(--ts-ui-rail-bg)`,shadow:`var(--ts-ui-rail-shadow)`},Rail=class extends c{_collapseAnimation=null;_slideOutAnimation=null;_slideInAnimation=null;_listeners=new u;_drawers=new Map;_windows=new Map;_mounted=!1;_collapseButton;_expandedThickness=Q;_boundResizeHandler=()=>this.applyRestingGeometry();constructor(e,t){super(e,{...Ye,...t??{}}),this.setPosition(i.FIXED),this.setZIndex(Ge),this._collapseButton=new ce({direction:collapseHeadingFor(this.getEdge()),listeners:{collapse:()=>{this.toggleCollapsed()}}}),e?.listeners!==void 0&&this.applyListeners(e.listeners)}applyOptions(e){return super.applyOptions(e),this.setEdge(e.edge??this.getEdge()),this.setOrientation(e.orientation??this.getOrientation()),e.thickness!==void 0&&this.setThickness(e.thickness),e.collapsed!==void 0&&(this._options.collapsed=e.collapsed),this}setEdge(e){return this._options.edge=e,this}getEdge(){return this._options.edge??this._defaultOptions.edge}setThickness(e){return this._options.thickness=e,this.adaptThickness(),this}getThickness(){return this.isCollapsed()?Ke:this._options.thickness===void 0?this.measureContentThickness():this._options.thickness}measureContentThickness(){let e=this.getPreferredSize();if(!e)return Q;let t=this.isVertical()?e.width:e.height;return t<=0||r(t)?Q:Math.ceil(t)}adaptThickness(){this._mounted&&this.applyRestingGeometry()}isCollapsed(){return this._options.collapsed??!1}setCollapsed(e){return e===this.isCollapsed()?this:(e&&(this._expandedThickness=this.getThickness()),this._options.collapsed=e,this._mounted&&this.animateCollapseTransition(e),this)}toggleCollapsed(){return this.setCollapsed(!this.isCollapsed())}applyCollapseAppearance(){let e=this.isCollapsed(),t=collapseHeadingFor(this.getEdge());this._collapseButton.setDirection(e?Je[t]:t),this.applyCollapseStyling(e),this.positionChevron(e),this.setAllHandlesDisplayed(!e)}applyCollapseStyling(e){e?(this.setBackgroundColor(`var(--ts-ui-button-bg, #e8e8e8)`),this.setBackgroundImage(`var(--ts-ui-button-bg, linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200)))`),this.setBorder(`1px solid var(--ts-ui-button-border, #c8c8c8)`)):(this.clearBackgroundImage(),this.setBackgroundColor(`var(--ts-ui-rail-bg)`),this.applyEdgeBorder())}positionChevron(e){let t,n;if(e)t=`50%`,n=`50%`;else{let e=`calc(100% - ${qe}px)`,r=`${qe}px`;switch(this.getEdge()){case S.EAST:t=r,n=`50%`;break;case S.NORTH:t=`50%`,n=e;break;case S.SOUTH:t=`50%`,n=r;break;case S.WEST:default:t=e,n=`50%`;break}}let r=e?`10px`:null;new o({scope:`component`,name:this._collapseButton.getId(),styles:{left:t,top:n,width:r,zIndex:`1`}})}animateCollapseTransition(e){let t=collapseHeadingFor(this.getEdge());this._collapseButton.setDirection(e?Je[t]:t),this.applyCollapseStyling(e),this.positionChevron(e);let n=this.getElement(),r=this.isVertical()?this.getWidth():this.getHeight(),i=e?Ke:this._expandedThickness;e||(this.setAllHandlesDisplayed(!0),this.applyRestingGeometry(),this.scheduleLayout());let finalize=()=>{e&&this.setAllHandlesDisplayed(!1),this.applyRestingGeometry(),e||this.scheduleLayout()};if(!n){finalize();return}let a=this.collapseTween(r,i);this._collapseAnimation?.cancel(),this._collapseAnimation=l.play(n,{from:a.from,to:a.to,durationMs:$,properties:a.properties,onComplete:finalize})}collapseTween(t,n){let r=e.source.getViewportSize(),i={},a={};return this.isVertical()?(i.width=t+`px`,a.width=n+`px`,this.getEdge()===S.EAST&&(i.left=r.width-t+`px`,a.left=r.width-n+`px`)):(i.height=t+`px`,a.height=n+`px`,this.getEdge()===S.SOUTH&&(i.top=r.height-t+`px`,a.top=r.height-n+`px`)),{from:i,to:a,properties:Object.keys(a)}}setAllHandlesDisplayed(e){for(let t of this._drawers.values())t.handle.setDisplayed(e);for(let t of this._windows.values())t.handle?.setDisplayed(e)}setOrientation(e){return this._options.orientation=e,this._drawers!==void 0&&this.applyOrientation(),this}getOrientation(){return this._options.orientation??this._defaultOptions.orientation}mount(){if(this._mounted)return this;this.setLayoutManager(this.isVertical()?new ie:new ae),this.applyEdgeBorder(),this.applyRestingGeometry();let t=this.getElement(!0);e.sink.appendChild(e.source.getDocumentElement(),t);let n=this._collapseButton.getElement(!0);return n&&e.source.getParentElement(n)!==t&&e.sink.appendChild(t,n),this.applyCollapseAppearance(),this.scheduleLayout(),a.addViewportListener(this,`resize`,this._boundResizeHandler),this._mounted=!0,this.animateIn(),this}unmount(){if(!this._mounted)return this;a.removeViewportListener(this,`resize`,this._boundResizeHandler),this._mounted=!1;let e=this.getElement(),detach=()=>{this.removeElement()};return e?(this._slideOutAnimation?.cancel(),this._slideOutAnimation=l.play(e,{to:{transform:this.offscreenTransform()},durationMs:$,properties:[`transform`],onComplete:detach}),this):(detach(),this)}animateIn(){let e=this.getElement();e&&(this._slideInAnimation?.cancel(),this._slideInAnimation=l.play(e,{from:{transform:this.offscreenTransform()},to:{transform:`translate(0, 0)`},durationMs:$,properties:[`transform`]}))}offscreenTransform(){switch(this.getEdge()){case S.EAST:return`translateX(100%)`;case S.NORTH:return`translateY(-100%)`;case S.SOUTH:return`translateY(100%)`;case S.WEST:default:return`translateX(-100%)`}}registerDrawer(e,t={}){if(this._drawers.has(e))return this;let n=new Z({text:t.text,glyph:t.glyph,selected:e.isOpen()}),onOpen=()=>{n.setSelected(!0)},onClose=()=>{n.setSelected(!1)},onAction=()=>{e.toggle()};return e.on(`open`,onOpen),e.on(`close`,onClose),n.on(`action`,onAction),t.alignEdge!==!1&&e.setEdge(this.getEdge()),this.applyHandleOrientation(n),n.setDisplayed(!this.isCollapsed()),this.addComponent(n),this._drawers.set(e,{handle:n,onOpen,onClose,onAction}),this.adaptThickness(),this.scheduleLayout(),this.emit(`register`,e),this}unregisterDrawer(e){let t=this._drawers.get(e);return t?(e.off(`open`,t.onOpen),e.off(`close`,t.onClose),t.handle.off(`action`,t.onAction),this.removeComponent(t.handle),this._drawers.delete(e),this.adaptThickness(),this.emit(`unregister`,e),this):this}registerWindow(e){if(this._windows.has(e))return this;let onMinimize=()=>{this.showWindowHandle(e)},onRestore=()=>{this.removeWindowHandle(e)},onClose=()=>{this.unregisterWindow(e)},onAction=()=>{e.restore()};return e.on(`minimize`,onMinimize),e.on(`restore`,onRestore),e.on(`close`,onClose),this._windows.set(e,{handle:null,onMinimize,onRestore,onClose,onAction}),e.isMinimized()&&this.showWindowHandle(e),this.emit(`register`,e),this}unregisterWindow(e){let t=this._windows.get(e);return t?(e.off(`minimize`,t.onMinimize),e.off(`restore`,t.onRestore),e.off(`close`,t.onClose),this.removeWindowHandle(e),this._windows.delete(e),this.emit(`unregister`,e),this):this}showWindowHandle(e){let t=this._windows.get(e);if(!t||t.handle!==null)return;let n=new Z({text:e.getTitle(),glyph:e.getGlyph(),selected:!0});n.on(`action`,t.onAction),t.handle=n,this.applyHandleOrientation(n),n.setDisplayed(!this.isCollapsed()),this.addComponent(n),this.adaptThickness(),this.scheduleLayout()}removeWindowHandle(e){let t=this._windows.get(e);!t||t.handle===null||(t.handle.off(`action`,t.onAction),this.removeComponent(t.handle),t.handle=null,this.adaptThickness())}applyOrientation(){for(let e of this._drawers.values())this.applyHandleOrientation(e.handle);for(let e of this._windows.values())e.handle!==null&&this.applyHandleOrientation(e.handle);this.adaptThickness(),this.scheduleLayout()}applyHandleOrientation(e){let t=this.getOrientation(),n=t===`vertical-cw`?`sideways-rl`:t===`vertical-ccw`?`sideways-lr`:null;this.isVertical()&&n!==null?e.setWritingMode(n):e.clearWritingMode()}clampsToContentSize(){return!1}isVertical(){let e=this.getEdge();return e===S.WEST||e===S.EAST}handleMainAxisOffset(e){let t=this.isVertical(),mainPos=e=>t?e.getY():e.getX(),mainExtent=e=>t?e.getHeight():e.getWidth(),n=this._windows.get(e)?.handle??null;if(n!==null)return mainPos(n);let r=this.getComponents();if(r.length===0)return 0;let i=r[r.length-1];return mainPos(i)+mainExtent(i)+this.handleSpacing()}handleMainAxisExtent(e){let t=this.isVertical(),mainExtent=e=>t?e.getHeight():e.getWidth(),n=this._windows.get(e)?.handle??null;if(n!==null)return mainExtent(n);let r=this.getComponents();return r.length===0?0:mainExtent(r[r.length-1])}handleSpacing(){let e=this.getLayoutManager();return e instanceof re?e.getComponentSpacing():0}restingRect(){let t=e.source.getViewportSize(),n=this.getThickness();switch(this.getEdge()){case S.EAST:return{x:t.width-n,y:0,width:n,height:t.height};case S.NORTH:return{x:0,y:0,width:t.width,height:n};case S.SOUTH:return{x:0,y:t.height-n,width:t.width,height:n};case S.WEST:default:return{x:0,y:0,width:n,height:t.height}}}applyRestingGeometry(){let e=this.restingRect();this.setX(e.x),this.setY(e.y),this.setWidth(e.width),this.setHeight(e.height)}applyEdgeBorder(){let e=`1px solid transparent`,t=`1px solid var(--ts-ui-rail-border)`;switch(this.getEdge()){case S.EAST:this.setBorder({border:e,borderLeft:t});break;case S.NORTH:this.setBorder({border:e,borderBottom:t});break;case S.SOUTH:this.setBorder({border:e,borderTop:t});break;case S.WEST:default:this.setBorder({border:e,borderRight:t});break}}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}destructor(){this._collapseAnimation?.cancel(),this._collapseAnimation=null,this._slideOutAnimation?.cancel(),this._slideOutAnimation=null,this._slideInAnimation?.cancel(),this._slideInAnimation=null,this._collapseButton.dispose(),super.destructor()}},Xe=s(Rail),Dock=class extends d{_panels=new Map;_frames=new Map;_lazyFactories=new Map;_wiring=new Map;_sweepScheduled=!1;_listeners=new u;_focusedPanelId=null;_panelHost=new Map;_frameRegion=new Map;_lastActiveRegion=null;_floatSubscribed=new Set;_emptyDropOverlay=new k;_empty=!0;_emptyReconciled=!1;requestSweep=()=>{this.scheduleSweep()};onPanelDocked=e=>{this.requestSweep()};constructor(e,t){super(e,{layoutManager:new h,...t});let n=e?.layout?this.compileLayout(e.layout):this.newTabRegion();this.addComponent(n),this.scheduleSweep(),this.wireEmptyDropTarget(),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.emptyContent!==void 0&&this.setEmptyContent(e.emptyContent),this}setEmptyContent(e){let t=this._emptyReconciled&&this.mainRegionEmpty();return t&&this.hideEmptyState(),this._options.emptyContent=e??void 0,t&&this.showEmptyState(),this}getEmptyContent(){return this._options.emptyContent??null}isEmpty(){return this._frames.size===0}wireEmptyDropTarget(){E.makeDropTarget(this,{accepts:e=>e.dragData.tabDrag===!0&&this.getComponents().length===0,suppressValidityTint:!0,onDragOver:()=>(this._emptyDropOverlay.attachTo(this),this._emptyDropOverlay.highlightFull(),null),onDragLeave:()=>{this._emptyDropOverlay.detach()},onDrop:e=>{this._emptyDropOverlay.detach();let t=pe.get(e.dragData.componentId);if(!t)return;let n=this.newTabRegion();this.addComponent(n),n.moveComponent(t),this.scheduleSweep()}})}addPanel(e){this._panels.set(e.id,e);let t=this.resolvePanel(e.id);if(t){let n=this.activeTabRegion();this._lastActiveRegion=n,n.moveComponent(t,void 0,this.leafConstraints(e)),n.getLayoutManager().setActiveContent(t),this._frameRegion.set(e.id,n),this.scheduleSweep()}return this}addLazyPanel(e){this._panels.set(e.id,e),this._lazyFactories.set(e.id,typeof e.content==`function`?e.content:()=>e.content);let t=this.resolvePanel(e.id);if(t){let n=this.activeTabRegion();this._lastActiveRegion=n,n.moveComponent(t,void 0,this.leafConstraints(e)),n.getLayoutManager().setActiveContent(t),this._frameRegion.set(e.id,n),this.scheduleSweep()}return this}getRootRegion(){return this.getComponents()[0]}getLayoutState(){return be(this.getRootRegion())}setLayoutState(e){return this._frameRegion.clear(),Se(this.getRootRegion(),e,e=>this.resolvePanel(e)),this.scheduleSweep(),this}resolvePanel(e){let t=this._panels.get(e);if(!t)return null;let n=this._frames.get(e);if(!n){let r=this._lazyFactories.get(e);if(r){let e=new b;e.setBarVisible(!1),n=new d({id:t.id,name:t.title,layoutManager:e});let onFailed=e=>{this.failPanel(t.id,e)};e.on(`exception`,onFailed),e.addLazyTab(r,t.title??t.id)}else n=new d({id:t.id,name:t.title,layoutManager:new h}),n.addComponent(t.content);this._frames.set(e,n)}return n}leafConstraints(e){let t=new C;return t.closeable=e.closeable??!0,e.glyph&&(t.glyph=e.glyph),e.tooltip&&(t.tooltip=e.tooltip),t}activeTabRegion(){let e=this.getRootRegion(),t=this._lastActiveRegion;return t&&this.isTab(t)&&this.containsRegion(e,t)?t:this.isTab(e)?e:this.firstTabRegion(e)??this.wrapRootInTab()}containsRegion(e,t){if(e===t)return!0;for(let n of e.getComponents())if(this.isRegionContainer(n)&&this.containsRegion(n,t))return!0;return!1}firstTabRegion(e){if(this.isTab(e))return e;for(let t of e.getComponents())if(this.isRegionContainer(t)){let e=this.firstTabRegion(t);if(e)return e}return null}wrapRootInTab(){let e=this.newTabRegion(),t=this.getRootRegion();return this.addComponent(e),e.moveComponent(t),e}newTabRegion(){return new d({layoutManager:new b({reorderable:!0,compact:!0})})}compileLayout(e){if(`split`in e){let t=new d({layoutManager:new ye({orientation:e.split})});for(let n of e.children)t.addComponent(this.compileRegion(n));return t}return`tabs`in e?this.compileTabs(e.tabs):this.compileTabs([e])}compileRegion(e){return`split`in e||`tabs`in e?this.compileLayout(e):this.compileTabs([e])}compileTabs(e){let t=this.newTabRegion();for(let n of e){this._panels.set(n.id,n);let e=this.resolvePanel(n.id);e&&(t.addComponent(e,this.leafConstraints(n)),this._panelHost.set(n.id,null),this._frameRegion.set(n.id,t))}return t}scheduleSweep(){this._sweepScheduled||(this._sweepScheduled=!0,e.sink.requestAnimationFrame(()=>{this._sweepScheduled=!1,this.runSweep()}))}runSweep(){let e=this.getRootRegion();if(!e)return;let t=this.ownedFloatWindows().map(e=>this.adoptFloat(e)).filter(e=>e!==null);this.wireRegion(e);for(let e of t)this.wireRegion(e);this.subscribeFloatWindows(),this.reconcileHosts(e),this.teardownVanished(e,t),this.reconcileEmptyState()}reconcileEmptyState(){this.mainRegionEmpty()?this.showEmptyState():this.hideEmptyState();let e=this.isEmpty();!this._emptyReconciled&&(this._emptyReconciled=!0,e===this._empty)||e!==this._empty&&(this._empty=e,this.emit(`emptychange`,{empty:e}))}mainRegionEmpty(){let e=this.getRootRegion();if(!e)return!1;let t=this.getEmptyContent();return e.getComponents().every(e=>e===t)}showEmptyState(){let e=this.getRootRegion(),t=this.getEmptyContent();e&&(t?(this.rootTab()?.setBarVisible(!0),t.getParentComponent()!==e&&e.moveComponent(t,void 0,this.placeholderConstraints())):this.rootTab()?.setBarVisible(!1))}hideEmptyState(){let e=this.getEmptyContent(),t=e?.getParentComponent(),n=t?.getLayoutManager();e&&(n instanceof b&&n.closeTab(e)||t?.removeComponent(e)),this.rootTab()?.setBarVisible(!0)}rootTab(){let e=this.getRootRegion()?.getLayoutManager();return e instanceof b?e:null}placeholderConstraints(){let e=new C;return e.closeable=!1,e.transient=!0,e}subscribeFloatWindows(){for(let e of this.floatWindowsHoldingFrames()){if(this._floatSubscribed.has(e))continue;let onFloatActivate=()=>{this.onFloatActivated(e)},onFloatClose=()=>{this.onFloatClosed(e)};if(e.on(`activate`,onFloatActivate),e.on(`close`,onFloatClose),e instanceof _){let t=e.getLayoutManager();t.on(`activate`,this.onPanelFocused),t.on(`tabclose`,this.onPanelClosed),t.on(`detach`,this.onPanelDetached),t.on(`dock`,this.onPanelDocked)}this._floatSubscribed.add(e)}this.pruneClosedFloatSubscriptions()}pruneClosedFloatSubscriptions(){let e=new Set(v.getOpenWindows());for(let t of this._floatSubscribed)e.has(t)||this._floatSubscribed.delete(t)}floatWindowsHoldingFrames(){let e=[...this._frames.values()];return v.getOpenWindows().filter(t=>!this.windowContains(t,this)&&e.some(e=>this.windowContains(t,e)))}reconcileHosts(e){for(let[t,n]of this._frames){if(!this._panels.has(t))continue;let r=this.hostForFrame(n,e),i=this._panelHost.has(t),a=this._panelHost.get(t)??null,o=this.regionForFrame(n),s=this._frameRegion.get(t)??null;i?r===a?o&&s&&o!==s&&this.emit(`move`,{id:t,content:n,window:r}):(this.emit(`detach`,{id:t,content:n,window:a}),this.emit(`attach`,{id:t,content:n,window:r})):this.emit(`attach`,{id:t,content:n,window:r}),this._panelHost.set(t,r),o&&this._frameRegion.set(t,o)}}hostForFrame(e,t){return this.isUnder(t,e)?null:this.floatForFrame(e)}ownedFloatWindows(){let e=[...this._frames.values()];return v.getOpenWindows().filter(t=>!(t instanceof _)&&!this.windowContains(t,this)&&e.some(e=>this.windowContains(t,e)))}windowContains(e,t){for(let n=t;n;n=n.getParentComponent())if(n===e)return!0;return!1}windowContent(e){return e.getComponents().find(t=>!e.isChromeComponent(t))??null}adoptFloat(e){let t=this.windowContent(e);if(!t)return null;if(this.isRegionContainer(t))return t;let n=this.newTabRegion();return e.moveComponent(n),n.moveComponent(t),n}wireRegion(e){let t=this._wiring.get(e);t||(t={dockRegion:new xe(e,this.requestSweep),tabWired:!1},this._wiring.set(e,t));let n=e.getLayoutManager();if(this.isTab(e)&&!t.tabWired){let r=n;r.setReorderable(!0);let onEmpty=()=>{this.pruneRegion(e)};r.on(`empty`,onEmpty),r.on(`tabclose`,this.onPanelClosed),r.on(`activate`,this.onPanelFocused),r.on(`detach`,this.onPanelDetached),r.on(`dock`,this.onPanelDocked),t.tabWired=!0}for(let t of e.getComponents())this.isRegionContainer(t)&&this._frames.get(t.getId())!==t&&this.wireRegion(t)}pruneRegion(e){let t=e.getParentComponent();!t||e.getComponents().length>0||t!==this&&(t.removeComponent(e),this.collapseSinglePaneSplit(t),this.closeFloatIfEmpty(t),this.scheduleSweep())}closeFloatIfEmpty(e){v.getOpenWindows().includes(e)&&(this.windowContent(e)||e.requestClose())}collapseSinglePaneSplit(e){if(this.regionKind(e)!==`Split`)return;let t=e.getComponents();if(t.length!==1)return;let n=e.getParentComponent();if(!n)return;let r=n.getComponents().indexOf(e);this.regionKind(n)===`Split`&&n.getLayoutManager().transferPaneSize(e,t[0]),n.moveComponent(t[0],r),n.removeComponent(e)}teardownVanished(e,t){let n=new Set;this.collectRegions(e,n);for(let e of t)this.collectRegions(e,n);for(let[e,t]of this._wiring)n.has(e)||(t.dockRegion.destroy(),this._wiring.delete(e))}collectRegions(e,t){t.add(e);for(let n of e.getComponents())this.isRegionContainer(n)&&this.collectRegions(n,t)}isRegionContainer(e){let t=this.regionKind(e);return t===`Split`||t===`Tab`}isTab(e){return this.regionKind(e)===`Tab`}regionKind(e){let t=e.getLayoutManager();return t?t.getClassName().replace(/^_/,``):``}onPanelClosed=e=>{let t=e.getId();if(this._frames.get(t)!==e)return;let n=this._frameRegion.get(t)??null;this._frames.delete(t),this._panelHost.delete(t),this._frameRegion.delete(t),this.emit(`close`,{id:t,content:e,window:null}),this.scheduleSweep(),this._focusedPanelId===t&&this.scheduleFocusRecompute(n)};failPanel(e,t){this._frames.has(e)&&(this.removePanel(e)||this._frames.delete(e),this.emit(`exception`,{id:e,error:t}))}onPanelFocused=e=>{let t=e.getId();if(this._frames.get(t)!==e)return;let n=this._frameRegion.get(t);n&&(this._lastActiveRegion=n),this.setFocus(t)};onPanelDetached=e=>{this.scheduleSweep()};onFloatActivated(e){let t=this.activeFrameInFloat(e);t&&this.setFocus(t.getId())}onFloatClosed(e){let t=!1;for(let n of this.framesInWindow(e)){let e=n.getId();this._frames.delete(e),this._panelHost.delete(e),this._frameRegion.delete(e),this.emit(`close`,{id:e,content:n,window:null}),this._focusedPanelId===e&&(t=!0)}this.scheduleSweep(),t&&this.scheduleFocusRecompute(null)}setFocus(e){if(e===this._focusedPanelId)return;if(this._focusedPanelId=e,e===null){this.emit(`focus`,null);return}let t=this._frames.get(e);if(t){let n=this.hostForFrame(t,this.getRootRegion());this.emit(`focus`,{id:e,content:t,window:n})}}scheduleFocusRecompute(t){e.sink.requestAnimationFrame(()=>this.recomputeFocusAfterClose(t))}recomputeFocusAfterClose(e){if(this._frames.size===0){this.setFocus(null);return}if(!e||!this.isTab(e)||e.getComponents().length===0){this.setFocus(null);return}let t=e.getLayoutManager().getActiveContent();this.setFocus(t?t.getId():null)}focusPanel(e){let t=this._frames.get(e);if(!t)return!1;let n=this.regionForFrame(t);if(!n)return!1;let r=n.getLayoutManager().indexOfContent(t);return r<0?!1:(this.floatForFrame(t)?.bringToFront(),n.getLayoutManager().setActiveTabIndex(r),!0)}removePanel(e){let t=this._frames.get(e);if(!t)return!1;let n=this.regionForFrame(t);return n?n.getLayoutManager().closeTab(t):!1}regionForFrame(e){for(let t of this.allTabRegions())if(t.getLayoutManager().indexOfContent(e)>=0)return t;return null}floatForFrame(e){return this.floatWindowsHoldingFrames().find(t=>this.windowContains(t,e))??null}allTabRegions(){let e=[],t=this.getRootRegion();t&&this.collectTabRegions(t,e);for(let t of this.floatWindowsHoldingFrames()){if(t instanceof _){e.push(t);continue}let n=this.windowContent(t);n&&this.collectTabRegions(n,e)}return e}collectTabRegions(e,t){this.isTab(e)&&t.push(e);for(let n of e.getComponents())this.isRegionContainer(n)&&this.collectTabRegions(n,t)}framesInWindow(e){return[...this._frames.values()].filter(t=>this.windowContains(e,t))}activeFrameInFloat(e){let t=null;if(e instanceof _)t=e.getLayoutManager();else{let n=this.windowContent(e),r=[];n&&this.collectTabRegions(n,r),t=r.length>0?r[0].getLayoutManager():null}let n=t?t.getActiveContent():null;return n&&this._frames.get(n.getId())===n?n:null}isUnder(e,t){for(let n=t;n;n=n.getParentComponent())if(n===e)return!0;return!1}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}destructor(){this._emptyDropOverlay.dispose();for(let e of this._wiring.values())e.dockRegion.destroy();this._wiring.clear(),super.destructor()}},Ze=s(Dock);export{v as AbstractWindow,oe as ButtonGroup,Pe as Dialog,q as DialogButtons,DialogTitleBar,Ze as Dock,fe as DragFeedback,ue as DragGhost,E as DragManager,We as Drawer,k as DropZoneOverlay,me as Menu,X as Notification,He as NotificationHistoryButton,we as Popover,Xe as Rail,Z as RailHandle,de as ReorderIndicator,_ as TabWindow,ee as Tooltip,se as Window};
1
+ import{t as e}from"./DOM-67StIm5G.js";import{l as t,n,o as r,t as i}from"./Position-Ck_KD4cR.js";import{S as a,b as o,h as s,t as c,v as l}from"./Component-fRQvgaEY.js";import{t as u}from"./ListenerBag-WPdKuuds.js";import{t as d}from"./Container-0bsG2Q8Z.js";import{t as f}from"./Glyph-wN7bk7mg.js";import{t as p}from"./Panel-Rd9zkNXx.js";import{a as m,t as ee}from"./Tooltip-Dro4DOZs.js";import{n as te,r as ne}from"./AnimatedDropdown-QLNasu_Y.js";import{t as h}from"./Fit-CL1m1nIZ.js";import{t as g}from"./Text-KB5LksJl.js";import{i as re,n as ie,r as ae}from"./VBox-P3WFGkPc.js";import{a as _,d as v,f as y,g as oe,l as se,o as b,p as x}from"./LayoutSizes-qNaURyiw.js";import{r as ce,t as le}from"./Border-CKKUk5G9.js";import{t as S}from"./Placement-7kqdaK4Z.js";import{t as C}from"./LayoutConstraints-LIHYYd2F.js";import{t as w}from"./Button-MZDYJOMC.js";import{xmark as T}from"./glyphs/solid/xmark.es.js";import{a as ue,i as de,o as fe,r as pe,t as E}from"./DragManager-DRor_-1x.js";import{t as me}from"./Menu-CrZy2u0g.js";import{circle_check as D}from"./glyphs/solid/circle_check.es.js";import{circle_info as O}from"./glyphs/solid/circle_info.es.js";import{triangle_exclamation as he}from"./glyphs/solid/triangle_exclamation.es.js";import{circle_exclamation as ge}from"./glyphs/solid/circle_exclamation.es.js";import{t as _e}from"./MenuButton-wy_0RskC.js";import{clock_rotate_left as ve}from"./glyphs/solid/clock_rotate_left.es.js";import{a as ye,i as k,n as be,r as xe,t as Se}from"./LayoutSerialization-D5bBas4W.js";var A=14,j=A/2*Math.SQRT2,M=Math.ceil(j)+2,N=6,P=5,F=120,Ce={insets:new n(5,5,5,5),placement:`auto`,dismissOn:`click-outside`,showArrow:!0},Popover=class extends d{_resolvedPlacement=`bottom`;_bodyComponent=null;_actionsRow=null;_fadeShowAnimation=null;_fadeHideAnimation=null;_anchorElement=null;_arrowComponent=null;_isOpen=!1;_scrollAncestors=[];_onWindowResize;_onScroll;constructor(e,t){super(e,{...Ce,...t??{}});let n=new ie;n.setStretching(!0),this.setLayoutManager(n),this.setBackgroundColor(`var(--ts-ui-popover-bg, rgb(255, 255, 255))`),this.setForegroundColor(`var(--ts-ui-popover-color, rgb(0, 0, 0))`),this.setBorder({border:`1px solid var(--ts-ui-popover-border, rgb(200, 200, 200))`}),this.setBorderRadius(`var(--ts-ui-popover-radius, 6px)`),this.setShadow(`var(--ts-ui-popover-shadow, 2px 4px 12px rgba(0, 0, 0, 0.18))`),this.setPosition(i.FIXED),this.setVisible(!1),this.setContain(`layout`),this.setOverflow(`visible`),this.getAria().setRole(`dialog`),this._onWindowResize=()=>this._reposition(),this._onScroll=()=>this._reposition(),this._title??=null,this._titleComponent??=null}applyOptions(e){return super.applyOptions(e),this.setPlacement(e.placement??this.getPlacement()),this.setDismissOn(e.dismissOn??this.getDismissOn()),this.setShowArrow(e.showArrow??this.isShowArrow()),e.title!==void 0&&this.setTitle(e.title),this}setPlacement(e){return this._placement=e,this}getPlacement(){return this._placement??this._defaultOptions.placement}setDismissOn(e){return this._dismissOn=e,this}getDismissOn(){return this._dismissOn??this._defaultOptions.dismissOn}setShowArrow(e){return this._showArrow=e,this._arrowComponent&&this._arrowComponent.setVisible(e),this}isShowArrow(){return this._showArrow??this._defaultOptions.showArrow}setTitle(e){return e===null?this.clearTitle():(this._title=e,this._titleComponent?this._titleComponent.setText(e):(this._titleComponent=new g(e),this._titleComponent.setFontWeight(`bold`),this.insertComponent(this._titleComponent,0)),this)}getTitle(){return this._title}clearTitle(){return this._titleComponent&&=(this.removeComponent(this._titleComponent),null),this._title=null,this}setBody(e){this._bodyComponent&&=(this.removeComponent(this._bodyComponent),null);let t=typeof e==`string`?new g(e):e;this._bodyComponent=t;let n=+!!this._titleComponent;return this.insertComponent(t,n),this}getBody(){return this._bodyComponent}addAction(e,t){this._actionsRow||(this._actionsRow=new c,this._actionsRow.setLayoutManager(new ae),this.addComponent(this._actionsRow));let n=new w(e);return n.on(`action`,t),this._actionsRow.addComponent(n),this}clearActions(){return this._actionsRow&&=(this.removeComponent(this._actionsRow),null),this}_attachToElement(e){return this._anchorElement=e,this}attachToComponent(e){return this._attachToElement(e.getElement(!0))}show(){if(!this._anchorElement)return console.warn(`Popover.show(): no anchor attached; call attachToComponent first.`),this;this._isOpen=!0,m.register(this),this.setZIndex(m.getZIndex(this));let e=this.getElement(!0);return m.mount(e),y(this),this.ensureArrow(),this.setVisible(!0),this.doLayout(),this._reposition(),this._fadeShowAnimation?.cancel(),this._fadeShowAnimation=ne(this,{durationMs:F}),this.attachRepositionListeners(),this}hide(){return this._isOpen?(this._isOpen=!1,this.detachRepositionListeners(),m.unregister(this),x(this),this._fadeHideAnimation?.cancel(),this._fadeHideAnimation=te(this,{durationMs:F}),this):this}isOpen(){return this._isOpen}getLayerElement(){return this.getElement()??null}getDismissMode(){return this._dismissOn??this._defaultOptions.dismissOn}requestClose(){this.hide()}getAnchorElement(){return this._anchorElement}getBand(){return m.Band.Popover}doLayout(){return super.doLayout(),this._arrowComponent&&this._showArrow&&this._anchorElement&&this.positionArrow(),this}destructor(){this._isOpen&&this.hide(),this._fadeShowAnimation?.cancel(),this._fadeShowAnimation=null,this._fadeHideAnimation?.cancel(),this._fadeHideAnimation=null,this._arrowComponent?.dispose(),this._anchorElement=null,this._titleComponent=null,this._bodyComponent=null,this._actionsRow=null,this._arrowComponent=null,super.destructor()}_reposition(){if(!this._anchorElement)return;let n=e.source.getElementRect(this._anchorElement);if(n.width===0&&n.height===0){this.hide();return}let r=this.getPreferredSize(),i=r?.width??this.getWidth(),a=r?.height??this.getHeight(),o=e.source.getViewportSize(),s=this.resolvePlacement(n,i,a,o);this._resolvedPlacement=s;let c=0,l=0;s===`top`?(c=n.left+(n.width-i)/2,l=n.top-a-M):s===`bottom`?(c=n.left+(n.width-i)/2,l=n.bottom+M):s===`left`?(c=n.left-i-M,l=n.top+(n.height-a)/2):(c=n.right+M,l=n.top+(n.height-a)/2);let u=P,d=o.width-i-P,f=P,p=o.height-a-P;s===`right`?u+=j:s===`left`?d-=j:s===`bottom`?f+=j:p-=j,c=t.clamp(c,u,d),l=t.clamp(l,f,p),this.setX(c),this.setY(l),this.setWidth(i),this.setHeight(a),this._arrowComponent&&this._showArrow&&this.positionArrow()}resolvePlacement(e,t,n,r){let i=e.top,a=r.height-e.bottom,o=e.left,s=r.width-e.right;if(this._placement===`auto`){let e=n+M,r=t+M,c=[{side:`bottom`,space:a,need:e},{side:`top`,space:i,need:e},{side:`right`,space:s,need:r},{side:`left`,space:o,need:r}],l=c.filter(e=>e.space>=e.need),u=l.length>0?l:c;return u.sort((e,t)=>t.space-e.space),u[0].side}let fits=e=>e===`top`?i>=n+M:e===`bottom`?a>=n+M:e===`left`?o>=t+M:s>=t+M;if(fits(this._placement))return this._placement;let c={top:`bottom`,bottom:`top`,left:`right`,right:`left`}[this._placement];return console.warn(`Popover: explicit placement "${this._placement}" overflows the viewport; falling back to "${c}".`),c}ensureArrow(){if(this._arrowComponent)return;let t=new c,n=A;t.setBackgroundColor(`var(--ts-ui-popover-bg, rgb(255, 255, 255))`),t.setWidth(n),t.setHeight(n),t.setTransform(`rotate(45deg)`),t.setPointerEvents(`none`),t.setVisible(this._showArrow),this._arrowComponent=t;let r=this.getElement(!0);e.sink.insertBefore(r,t.getElement(!0),e.source.getFirstChild(r))}positionArrow(){if(!this._anchorElement||!this._arrowComponent)return;let t=e.source.getElementRect(this._anchorElement),n=A,r=n/2,i=this.getX(),a=this.getY(),o=this.getWidth(),s=this.getHeight(),clamp=(e,t,n)=>Math.max(t,Math.min(e,n)),c=`var(--ts-ui-popover-border, rgb(200, 200, 200))`,l;l=this._resolvedPlacement===`bottom`?`inset 1px 0 0 ${c}, inset 0 1px 0 ${c}`:this._resolvedPlacement===`top`?`inset -1px 0 0 ${c}, inset 0 -1px 0 ${c}`:this._resolvedPlacement===`right`?`inset 1px 0 0 ${c}, inset 0 -1px 0 ${c}`:`inset 0 1px 0 ${c}, inset -1px 0 0 ${c}`,this._arrowComponent.setShadow(l);let u=e.source.getViewportSize(),d=this.getBorderSize();if(this._resolvedPlacement===`top`||this._resolvedPlacement===`bottom`){let e=t.left+t.width/2,a=Math.max(N,P-i+j-r),c=Math.min(o-n-N,u.width-P-i-r-j),l=clamp(e-i-r-d.left,a,c);this._arrowComponent.setX(l),this._resolvedPlacement===`bottom`?this._arrowComponent.setY(-7-d.top):this._arrowComponent.setY(s-r-d.top)}else{let e=t.top+t.height/2,i=Math.max(N,P-a+j-r),c=Math.min(s-n-N,u.height-P-a-r-j),l=clamp(e-a-r-d.top,i,c);this._arrowComponent.setY(l),this._resolvedPlacement===`right`?this._arrowComponent.setX(-7-d.left):this._arrowComponent.setX(o-r-d.left)}}attachRepositionListeners(){if(a.addViewportListener(this,`resize`,this._onWindowResize),this._anchorElement){this._scrollAncestors=this.collectScrollAncestors(this._anchorElement);for(let t of this._scrollAncestors)e.sink.addListener(t,`scroll`,this._onScroll,{passive:!0})}}detachRepositionListeners(){a.removeViewportListener(this,`resize`,this._onWindowResize);for(let t of this._scrollAncestors)e.sink.removeListener(t,`scroll`,this._onScroll);this._scrollAncestors=[]}collectScrollAncestors(t){let n=[],r=e.source.getParentElement(t);for(;r&&r!==e.source.getDocumentElement();){let t=e.source.getComputedOverflow(r),i=t.overflow+t.overflowX+t.overflowY;/(auto|scroll|overlay)/.test(i)&&n.push(r),r=e.source.getParentElement(r)}return n.push(e.source.getDocumentElement()),n}},we=s(Popover),Te={},DialogBackdrop=class extends c{constructor(t,n){super(t,{...Te,...n??{}});let r=e.source.getViewportSize();this.setPosition(i.FIXED),this.setX(0),this.setY(0),this.setWidth(r.width),this.setHeight(r.height),this.setZIndex(10100),this.setBackgroundColor(`var(--ts-ui-dialog-backdrop-bg)`)}addClickListener(e){return a.addListener(this,`click`,e),this}resize(){let t=e.source.getViewportSize();this.setWidth(t.width),this.setHeight(t.height)}destroy(){this.removeElement(),this.destructor()}},I=s(DialogBackdrop);f.register(T,D,O,he,ge);var L=36,R=52,Ee=90,De=8,Oe=11,z=20,B=12,ke=320,V=160,H=80,Ae=24,je={info:`circle-info`,success:`circle-check`,warning:`triangle-exclamation`,error:`circle-exclamation`},U=150,W=`button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`,G=4,K=4,Me=8,DialogTitleBar=class extends c{_titleText;_closeButton=null;_titleGlyph=null;constructor(e,t,r){super(),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setBorder({border:`none`,borderBottom:`1px solid var(--ts-ui-dialog-border)`}),this.setPreferredSize({width:0,height:L}),this._titleText=new g(e),this._titleText.setFontWeight(`bold`),this._titleText.setOverflow(`hidden`),this._titleText.setTextOverflow(`ellipsis`),this._titleText.setWhiteSpace(`nowrap`),this._titleText.centerInHeight(L-G*2),this.addComponent(this._titleText),r&&(this._closeButton=new w({glyph:`xmark`}),this._closeButton.setInsets(new n(0,0,0,0)),this._closeButton.setBorder(`none`),this._closeButton.clearBackgroundImage(),this._closeButton.setBackgroundColor(`transparent`),this._closeButton.clearShadow(),this._closeButton.clearPressedShadow(),this._closeButton.clearHoverShadow(),this._closeButton.setHoverBackgroundColor(`var(--ts-ui-titlebar-btn-hover-bg, rgba(0, 0, 0, 0.08))`),this._closeButton.setPressedBackgroundColor(`var(--ts-ui-titlebar-btn-active-bg, rgba(0, 0, 0, 0.16))`),this._closeButton.clearHoverBackgroundImage(),this._closeButton.clearPressedBackgroundImage(),this._closeButton.setPreferredSize({width:z,height:z}),this.addComponent(this._closeButton),this._closeButton.on(`action`,t))}getCloseButton(){return this._closeButton}getTitleText(){return this._titleText}setGlyph(e){this._titleGlyph&&=(this.removeComponent(this._titleGlyph),null);let t=new f(e);return t.setPointerEvents(`none`),t.setPreferredSize({width:16,height:16}),this._titleGlyph=t,this.addComponent(t),this.doLayout(),this}clearGlyph(){return this._titleGlyph&&(this.removeComponent(this._titleGlyph),this._titleGlyph=null,this.doLayout()),this}getGlyph(){return this._titleGlyph}doLayout(){super.doLayout();let e=this.getContentBounds();if(!e)return this;let t=e.width,n=e.height,r=t-z-K,i=Math.floor((n-z)/2),a=this._closeButton?r:t-B,o=B;if(this._titleGlyph){let t=this._titleGlyph.getPreferredSize()??{width:16,height:16},r=Math.max(0,Math.floor((n-t.height)/2));this._titleGlyph.setX(e.x+B),this._titleGlyph.setY(e.y+r),this._titleGlyph.setWidth(t.width),this._titleGlyph.setHeight(t.height),o=B+t.width+Me}let s=Math.max(0,a-o-K),c=n-G*2;return this._titleText.setX(e.x+o),this._titleText.setY(e.y+G),this._titleText.setWidth(s),this._titleText.setHeight(c),this._closeButton&&(this._closeButton.setX(e.x+r),this._closeButton.setY(e.y+i),this._closeButton.setWidth(z),this._closeButton.setHeight(z),this._closeButton.doLayout()),this}},DialogButtonRow=class extends c{_buttons=[];constructor(e,t){super(),this.setBorder({border:`none`,borderTop:`1px solid var(--ts-ui-dialog-border)`}),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setPreferredSize({width:0,height:R});for(let n of e){let e=new w(n.text,n.glyph===void 0?void 0:{glyph:n.glyph}),r=n.result??`cancel`;if(n.primary&&e.setBackgroundImage(`var(--ts-ui-toggle-selected-bg, rgb(200, 200, 200))`),n.glyph!==void 0){let t=e.getGlyph(),r=n.tint;t!==null&&r&&t.setForegroundColor(r)}e.on(`action`,()=>t(r)),this._buttons.push(e),this.addComponent(e)}}doLayout(){super.doLayout();let e=this.getContentBounds();if(!e)return this;let t=e.height-Oe*2,n=this._buttons.length*Ee+(this._buttons.length-1)*De,r=Math.round((e.width-n)/2);for(let n of this._buttons)n.setX(e.x+r),n.setY(e.y+Oe),n.setWidth(Ee),n.setHeight(t),n.doLayout(),r+=98;return this}},q={Confirm:{text:`Confirm`,result:`confirm`,glyph:`circle-check`,tint:`var(--ts-ui-dialog-confirm-color)`},Ok:{text:`Ok`,result:`confirm`,glyph:`circle-check`,tint:`var(--ts-ui-dialog-confirm-color)`},Cancel:{text:`Cancel`,result:`cancel`,glyph:`xmark`,tint:`var(--ts-ui-dialog-cancel-color)`},Close:{text:`Close`,result:`close`,glyph:`xmark`,tint:`var(--ts-ui-dialog-cancel-color)`}},J=[{...q.Ok,primary:!0}],Ne=class Dialog extends c{_titleBar;_contentContainer;_buttonRow;_backdrop;_config;_resolvePromise=null;_previousFocus=null;_boundKeyHandler;_boundResizeHandler;_panelInAnimation=null;_backdropInAnimation=null;_panelOutAnimation=null;_backdropOutAnimation=null;_finalizing=!1;constructor(e){super(),this._config=e;let t=Math.max(ke,e.width??480),r=e.buttons??J,a=Math.max(H,this.computeContentHeight(e)),o=Math.max(V,e.height??L+a+R);this.setPosition(i.FIXED),this.setWidth(t),this.setHeight(o),this.setBackgroundColor(`var(--ts-ui-body-bg)`),this.setBorderRadius(`var(--ts-ui-border-radius, 4px)`),this.setShadow(`var(--ts-ui-dialog-shadow)`),this.setOverflow(`hidden`),this.setContain(`strict`);let s=new le;if(s.setComponentSpacing(0),this.setLayoutManager(s),this._titleBar=new DialogTitleBar(e.title,()=>this.hide(`close`),e.dismissable!==!1),this.addComponent(this._titleBar,{placement:S.NORTH}),e.severity?this.applySeverityHeader(e.severity):this.applyHeaderVariant(this.computeHeaderVariant(r)),this._contentContainer=new p({autoScroll:`y`,layoutManager:new h,insets:new n(0,0,0,0)}),e.contentComponent)this._contentContainer.addComponent(e.contentComponent);else{let t=new g(e.message??``);t.setWhiteSpace(`normal`),t.setWordBreak(`break-word`),t.setPadding(new n(16,16,16,16)),this._contentContainer.addComponent(t)}this.addComponent(this._contentContainer,{placement:S.CENTER}),this._buttonRow=new DialogButtonRow(r,e=>this.hide(e)),this.addComponent(this._buttonRow,{placement:S.SOUTH}),this._backdrop=new I,this._boundKeyHandler=e=>this.onKeyDown(e),this._boundResizeHandler=()=>this.onViewportResize()}computeHeaderVariant(e){let t=new Set(e.map(e=>e.result??`cancel`));return t.size===1&&t.has(`confirm`)?`info`:t.has(`confirm`)&&t.has(`cancel`)?`affirm`:`plain`}applyHeaderVariant(e){if(e===`plain`)return;let t=e===`info`?`var(--ts-ui-dialog-info-bg)`:`var(--ts-ui-dialog-affirm-bg)`,n=e===`info`?`var(--ts-ui-dialog-info-fg)`:`var(--ts-ui-dialog-affirm-fg)`;if(this._titleBar.setBackgroundColor(t),this._titleBar.getTitleText().setForegroundColor(n),e===`info`){this._titleBar.setGlyph(`circle-info`);let e=this._titleBar.getGlyph();e!==null&&e.setForegroundColor(n)}}applySeverityHeader(e){let t=`var(--ts-ui-notification-${e}-bg)`,n=`var(--ts-ui-notification-${e}-border)`;this._titleBar.setBackgroundColor(t),this._titleBar.getTitleText().setForegroundColor(n),this._titleBar.setGlyph(je[e]);let r=this._titleBar.getGlyph();r!==null&&r.setForegroundColor(n)}computeContentHeight(e){if(e.contentComponent){let t=e.contentComponent.getPreferredSize();if(t)return t.height}return 100}show(){return new Promise(e=>{this._resolvePromise=e,this.open()})}resizeToContent(){if(!this.getElement())return this;let t=Math.max(H,this.computeContentHeight(this._config)),n=Math.max(V,L+t+R),r=e.source.getViewportSize(),i=Math.min(n,Math.max(V,r.height-Ae*2));return i===this.getHeight()?this:(this.setHeight(i),this.scheduleLayout(),this.center(),this)}open(){this._previousFocus=e.source.getActiveElement(),this._config.closeOnBackdrop&&this._config.dismissable!==!1&&this._backdrop.addClickListener(()=>{this.hide(`close`)}),m.register(this);let t=m.getZIndex(this);this.setZIndex(t),this._backdrop.setZIndex(t-1);let n=this._backdrop.getElement(!0);m.mount(n);let r=this.getElement(!0);m.mount(r),y(this),this.scheduleLayout(),this.center(),this.animateIn(),c.afterNextLayout(()=>this.resizeToContent()),a.addViewportListener(this,`keydown`,this._boundKeyHandler),a.addViewportListener(this,`resize`,this._boundResizeHandler),c.afterNextLayout(()=>this.focusFirst())}animateIn(){let e=this.getElement(),t=this._backdrop.getElement();e&&(this._panelInAnimation?.cancel(),this._panelInAnimation=l.play(e,{from:{opacity:`0`,transform:`scale(0.97)`},to:{opacity:`1`,transform:`scale(1)`},durationMs:U,properties:[`opacity`,`transform`]}),t&&(this._backdropInAnimation?.cancel(),this._backdropInAnimation=l.play(t,{from:{opacity:`0`},to:{opacity:`1`},durationMs:U,properties:[`opacity`]})))}center(){let t=e.source.getViewportSize(),n=Math.max(0,Math.round((t.width-this.getWidth())/2)),r=Math.max(0,Math.round((t.height-this.getHeight())/2));this.setX(n),this.setY(r)}focusFirst(){let t=this.requestedFocusElement();if(t){e.sink.focus(t);return}let n=this._contentContainer.getElement(),r=n?e.source.querySelectorAll(n,W):[];if(r.length>0){e.sink.focus(r[0]);return}let i=this.primaryButtonElement();if(i){e.sink.focus(i);return}let a=this.getElement(),o=a?e.source.querySelectorAll(a,W):[];o.length>0&&e.sink.focus(o[0])}requestedFocusElement(){let t=this._config.initialFocus?.getElement();return t?e.source.matches(t,W)?t:e.source.querySelector(t,W):null}primaryButtonElement(){let t=(this._config.buttons??J).findIndex(e=>e.primary);if(t<0)return null;let n=this._buttonRow.getElement();return(n?e.source.querySelectorAll(n,W):[])[t]??null}getFocusable(){let t=this.getElement();return t?e.source.querySelectorAll(t,W).filter(t=>!e.source.hasAttribute(t,`disabled`)):[]}onKeyDown(t){if(t.key===`Enter`)return this.onEnter(t);if(t.key===`Tab`){let n=this.getFocusable();if(n.length===0)return{stop:!0,prevent:!0};let r=n[0],i=n[n.length-1];if(t.shiftKey){if(e.source.getActiveElement()===r)return e.sink.focus(i),{stop:!0,prevent:!0}}else if(e.source.getActiveElement()===i)return e.sink.focus(r),{stop:!0,prevent:!0}}}onEnter(t){let n=e.source.getActiveElement(),r=n?e.source.getTagName(n).toLowerCase():null;if(r===`textarea`||r===`button`)return;let i=this.primaryResult();if(i!==null)return this.hide(i),{stop:!0,prevent:!0}}primaryResult(){let e=(this._config.buttons??J).find(e=>e.primary);return e?e.result??`cancel`:null}onViewportResize(){this._backdrop.resize(),this.resizeToContent(),this.center()}hide(t){a.removeViewportListener(this,`keydown`,this._boundKeyHandler),a.removeViewportListener(this,`resize`,this._boundResizeHandler);let finalize=()=>{this._finalizing=!0,this._backdrop.destroy(),this.removeElement(),this.destructor(),m.unregister(this),x(this),this._previousFocus!==null&&e.sink.focus(this._previousFocus),this._resolvePromise&&=(this._resolvePromise(t),null)},n=this.getElement(),r=this._backdrop.getElement();return n?(this._panelOutAnimation?.cancel(),this._panelOutAnimation=l.play(n,{to:{opacity:`0`,transform:`scale(0.97)`},durationMs:U,properties:[`opacity`,`transform`],onComplete:finalize}),r&&(this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=l.play(r,{to:{opacity:`0`},durationMs:U,properties:[`opacity`]})),this):(finalize(),this)}destructor(){this._panelInAnimation?.cancel(),this._panelInAnimation=null,this._backdropInAnimation?.cancel(),this._backdropInAnimation=null,this._panelOutAnimation?.cancel(),this._panelOutAnimation=null,this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=null,this._finalizing||(this._backdrop.destroy(),m.unregister(this),x(this),this._resolvePromise&&=(this._resolvePromise(`close`),null)),super.destructor()}getContentComponent(){return this._contentContainer}clampsToContentSize(){return!1}getTitleBar(){return this._titleBar}getLayerElement(){return this.getElement()??null}getDismissMode(){return`modal`}requestClose(){this._config.dismissable!==!1&&this.hide(`close`)}getBand(){return m.Band.Dialog}static show(e){return new Dialog(e).show()}static async confirm(e,t){return await Dialog.show({title:e,message:t,buttons:[{...q.Cancel,primary:!0},q.Confirm]})===`confirm`}static async alert(e,t,n){await Dialog.show({title:t,message:n,severity:e,buttons:[{...q.Ok,primary:!0}]})}static info(e,t){return Dialog.alert(`info`,e,t)}static success(e,t){return Dialog.alert(`success`,e,t)}static warning(e,t){return Dialog.alert(`warning`,e,t)}static error(e,t){return Dialog.alert(`error`,e,t)}},Pe=s(Ne);f.register(O,D,he,ge,T);var Y={info:`circle-info`,success:`circle-check`,warning:`triangle-exclamation`,error:`circle-exclamation`},Fe={info:`Information`,success:`Success`,warning:`Warning`,error:`Error`},Ie=8e3,Le=200,Re=200,X=class Notification extends c{_showAnimation=null;_dismissAnimation=null;static WIDTH=320;static HEIGHT=64;static MARGIN=16;static H_PADDING=12;static V_PADDING=10;static CLOSE_SIZE=20;static BADGE_SIZE=20;static BADGE_TEXT_GAP=8;static Z_INDEX=10002;static activeNotifications=[];static HISTORY_CAP=50;static history=[];static hoverCount=0;static modalCount=0;_type;_fullMessage;_badge;_messageText;_closeButton;_dismissTimer=null;_remainingDuration=0;_timerStartedAt=0;_dismissing=!1;_boundOnCloseAction=()=>(this.dismiss(),!0);_boundOnDblClick=()=>this.openDetail();_boundOnMouseOver=e=>Notification.acquireHoverHold(e,this.getElement());_boundOnMouseOut=e=>Notification.releaseHoverHold(e,this.getElement());constructor(e,t){super(),this._type=t,this._fullMessage=e,this.setPosition(i.FIXED),this.setZIndex(Notification.Z_INDEX),this.setWidth(Notification.WIDTH),this.setHeight(Notification.HEIGHT),this.setOverflow(`hidden`),this.setContain(`strict`);let r=t===`error`||t===`warning`;this.getAria().setRole(r?`alert`:`status`),this.getAria().setLive(r?`assertive`:`polite`);let o=`var(--ts-ui-notification-${t}-bg)`,s=`var(--ts-ui-notification-${t}-border)`;this.setBackgroundColor(o),this.setBorder({border:`1px solid ${s}`}),this.setShadow(`var(--ts-ui-notification-shadow)`),this.setBorderRadius(`var(--ts-ui-border-radius, 4px)`),this._badge=new f(Y[t]),this._badge.setForegroundColor(s),this._badge.setPreferredSize({width:Notification.BADGE_SIZE,height:Notification.BADGE_SIZE}),this._badge.setPointerEvents(`none`),this._badge.getAria().setHidden(!0),this.addComponent(this._badge),this._messageText=new g(e),this._messageText.setLineClamp(2),this._messageText.setWhiteSpace(`normal`),this._messageText.setWordBreak(`break-word`),this.addComponent(this._messageText),this._closeButton=new w({glyph:`xmark`}),this._closeButton.setInsets(new n(0,0,0,0)),this._closeButton.setBorder(`none`),this._closeButton.clearBackgroundImage(),this._closeButton.setBackgroundColor(`transparent`),this._closeButton.clearShadow(),this._closeButton.clearPressedShadow(),this._closeButton.setForegroundColor(`var(--ts-ui-text-color, rgb(0, 0, 0))`),this._closeButton.setPreferredSize({width:Notification.CLOSE_SIZE,height:Notification.CLOSE_SIZE}),this._closeButton.getAria().setLabel(`Dismiss notification`),this.addComponent(this._closeButton),this._closeButton.on(`action`,this._boundOnCloseAction),a.addSubtreeListener(this,`dblclick`,this._boundOnDblClick),a.addSubtreeListener(this,`mouseover`,this._boundOnMouseOver),a.addSubtreeListener(this,`mouseout`,this._boundOnMouseOut)}static show(e,t=`info`,n=3e3){Notification.record(e,t);let r=new Notification(e,t);Notification.activeNotifications.push(r);let i=r.getElement(!0);r.scheduleLayout(),m.mount(i),Notification.restack(),r.animateIn(),n>0&&(r.startTimer(n),Notification.isPaused()&&r.pauseTimer())}static record(e,t){Notification.history.push({message:e,type:t,timestamp:Date.now()}),Notification.history.length>Notification.HISTORY_CAP&&Notification.history.shift()}static getHistory(){return[...Notification.history]}animateIn(){let e=this.getElement();e&&(this._showAnimation?.cancel(),this._showAnimation=l.play(e,{from:{transform:`translateX(100%)`,opacity:`0`},to:{transform:`translateX(0)`,opacity:`1`},durationMs:Re,properties:[`transform`,`opacity`]}))}static pauseAll(){let e=Notification.isPaused();Notification.modalCount+=1,e||Notification.pauseAllTimers()}static resumeAll(){Notification.modalCount!==0&&(--Notification.modalCount,Notification.isPaused()||Notification.resumeAllTimers(!0))}static acquireHoverHold(t,n){if(n&&e.source.isNode(t.relatedTarget)&&e.source.contains(n,e.source.intern(t.relatedTarget)))return;let r=Notification.isPaused();Notification.hoverCount+=1,r||Notification.pauseAllTimers()}static releaseHoverHold(t,n){n&&e.source.isNode(t.relatedTarget)&&e.source.contains(n,e.source.intern(t.relatedTarget))||Notification.hoverCount!==0&&(--Notification.hoverCount,Notification.isPaused()||Notification.resumeAllTimers(!1))}static isPaused(){return Notification.hoverCount>0||Notification.modalCount>0}static pauseAllTimers(){for(let e of Notification.activeNotifications)e.pauseTimer()}static resumeAllTimers(e){for(let t of Notification.activeNotifications)t.restartTimer(e)}startTimer(e){this._remainingDuration=e,this._timerStartedAt=Date.now(),this._dismissTimer=setTimeout(()=>this.dismiss(),e)}pauseTimer(){this._dismissTimer!==null&&(clearTimeout(this._dismissTimer),this._dismissTimer=null,this._remainingDuration=Math.max(0,this._remainingDuration-(Date.now()-this._timerStartedAt)))}restartTimer(e){this._dismissing||this._remainingDuration<=0||this._dismissTimer!==null||(e&&(this._remainingDuration=Math.max(this._remainingDuration,Ie)),this._timerStartedAt=Date.now(),this._dismissTimer=setTimeout(()=>this.dismiss(),this._remainingDuration))}openDetail(){Notification.showDetail(this._fullMessage,this._type)}static showDetail(e,t){Notification.pauseAll();let r=new g(e);r.setAutoMeasure(!1),r.setWhiteSpace(`pre-wrap`),r.setWordBreak(`break-word`),r.setPadding(new n(16,16,16,16));let i=new Ne({title:Fe[t],contentComponent:r,buttons:[{...q.Close,primary:!0}],width:420,height:220}),a=i.getTitleBar();a.setBackgroundColor(`var(--ts-ui-notification-${t}-bg)`),a.getTitleText().setForegroundColor(`var(--ts-ui-notification-${t}-border)`),a.setGlyph(Y[t]);let o=a.getGlyph();o!==null&&o.setForegroundColor(`var(--ts-ui-notification-${t}-border)`),i.show().then(()=>Notification.resumeAll())}dismiss(){if(this._dismissing)return;this._dismissing=!0,this._dismissTimer!==null&&(clearTimeout(this._dismissTimer),this._dismissTimer=null);let e=this.getElement();if(!e){this.finishDismiss();return}this._dismissAnimation?.cancel(),this._dismissAnimation=l.play(e,{to:{transform:`translateX(100%)`,opacity:`0`},durationMs:Le,properties:[`transform`,`opacity`],onComplete:()=>this.finishDismiss()})}finishDismiss(){Notification.activeNotifications=Notification.activeNotifications.filter(e=>e!==this),this.dispose(),Notification.restack()}static restack(){let t=e.source.getViewportSize(),n=t.width-Notification.WIDTH-Notification.MARGIN,r=t.height-Notification.MARGIN;for(let e=Notification.activeNotifications.length-1;e>=0;e--){let t=Notification.activeNotifications[e];r-=Notification.HEIGHT,t.setX(n),t.setY(r),r-=Notification.MARGIN}}doLayout(){super.doLayout();let e=Notification.WIDTH-Notification.CLOSE_SIZE-4,t=Notification.H_PADDING,n=Notification.V_PADDING+2,r=t+Notification.BADGE_SIZE+Notification.BADGE_TEXT_GAP,i=e-r-4,a=Notification.HEIGHT-Notification.V_PADDING*2;return this._badge.setX(t),this._badge.setY(n),this._badge.setWidth(Notification.BADGE_SIZE),this._badge.setHeight(Notification.BADGE_SIZE),this._messageText.setX(r),this._messageText.setY(Notification.V_PADDING),this._messageText.setWidth(i),this._messageText.setHeight(a),this._closeButton.setX(e),this._closeButton.setY(4),this._closeButton.setWidth(Notification.CLOSE_SIZE),this._closeButton.setHeight(Notification.CLOSE_SIZE),this._closeButton.doLayout(),this}destructor(){this._showAnimation?.cancel(),this._showAnimation=null,this._dismissAnimation?.cancel(),this._dismissAnimation=null,Notification.activeNotifications.includes(this)&&(Notification.activeNotifications=Notification.activeNotifications.filter(e=>e!==this),Notification.restack()),super.destructor()}};f.register(ve);var ze=6e4,Be=36e5,Ve=864e5;function formatRelativeTime(e,t){let n=Math.max(0,t-e);return n<ze?`just now`:n<Be?`${Math.floor(n/ze)}m ago`:n<Ve?`${Math.floor(n/Be)}h ago`:`${Math.floor(n/Ve)}d ago`}function buildHistoryItems(){let e=X.getHistory();if(e.length===0)return[{text:`No notifications yet`,enabled:!1}];let t=Date.now();return e.map(e=>({glyph:Y[e.type],glyphColor:`var(--ts-ui-notification-${e.type}-border)`,text:e.message,shortcut:formatRelativeTime(e.timestamp,t),action:()=>X.showDetail(e.message,e.type)}))}var NotificationHistoryButton=class extends _e{constructor(e){super(void 0,e,{glyph:`clock-rotate-left`,menuItems:buildHistoryItems,scrollToBottomOnShow:!0}),this.getAria().setLabel(`Notification history`),this.applyListeners(e?.listeners)}},He=s(NotificationHistoryButton),Ue={edge:S.WEST,modal:!1,size:320,durationMs:220,overflow:`auto`,backgroundColor:`var(--ts-ui-drawer-bg)`,shadow:`var(--ts-ui-drawer-shadow)`},Drawer=class extends c{_panelInAnimation=null;_panelOutAnimation=null;_backdropInAnimation=null;_backdropOutAnimation=null;_open=!1;_closing=!1;_backdrop=null;_listeners=new u;_boundResizeHandler=()=>this.onViewportResize();_boundBackdropClose=()=>{this.close()};constructor(e,t){super(e,{...Ue,...t??{}}),this.setPosition(i.FIXED),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),this.setEdge(e.edge??this.getEdge()),this.setModal(e.modal??this.isModal()),this.setDrawerSize(e.size??this.getDrawerSize()),this.setDurationMs(e.durationMs??this.getDurationMs()),this}setEdge(e){return this._options.edge=e,this}getEdge(){return this._options.edge??this._defaultOptions.edge}setModal(e){return this._options.modal=e,this}isModal(){return this._options.modal??this._defaultOptions.modal}setDrawerSize(e){return this._options.size=e,this}getDrawerSize(){return this._options.size??this._defaultOptions.size}setDurationMs(e){return this._options.durationMs=e,this}getDurationMs(){return this._options.durationMs??this._defaultOptions.durationMs}open(){if(this._open)return this;m.register(this);let t=m.getZIndex(this);return this.setZIndex(t),this.isModal()&&this.openBackdrop(t-1),this.applyEdgeBorder(),this.applyRestingGeometry(),e.sink.appendChild(e.source.getDocumentElement(),this.getElement(!0)),y(this),this.scheduleLayout(),this.animateIn(),a.addViewportListener(this,`resize`,this._boundResizeHandler),this._open=!0,this.emit(`open`),this}close(){if(!this._open||this._closing)return this;let e=!1;return this.emit(`beforeclose`,{preventDefault:()=>{e=!0}}),e?this:(this._closing=!0,a.removeViewportListener(this,`resize`,this._boundResizeHandler),this.animateOutAndFinalize(),this)}toggle(){return this._open?this.close():this.open()}isOpen(){return this._open}restingRect(){let t=e.source.getViewportSize(),n=this.getDrawerSize();switch(this.getEdge()){case S.EAST:return{x:t.width-n,y:0,width:n,height:t.height};case S.NORTH:return{x:0,y:0,width:t.width,height:n};case S.SOUTH:return{x:0,y:t.height-n,width:t.width,height:n};case S.WEST:default:return{x:0,y:0,width:n,height:t.height}}}applyRestingGeometry(){let e=this.restingRect();this.setX(e.x),this.setY(e.y),this.setWidth(e.width),this.setHeight(e.height)}offscreenTransform(){let e=this.getDrawerSize();switch(this.getEdge()){case S.EAST:return`translateX(${e}px)`;case S.NORTH:return`translateY(${-e}px)`;case S.SOUTH:return`translateY(${e}px)`;case S.WEST:default:return`translateX(${-e}px)`}}applyEdgeBorder(){let e=`1px solid var(--ts-ui-drawer-border)`;switch(this.getEdge()){case S.EAST:this.setBorder({border:`none`,borderLeft:e});break;case S.NORTH:this.setBorder({border:`none`,borderBottom:e});break;case S.SOUTH:this.setBorder({border:`none`,borderTop:e});break;case S.WEST:default:this.setBorder({border:`none`,borderRight:e});break}}animateIn(){let e=this.getElement();e&&(this._panelInAnimation?.cancel(),this._panelInAnimation=l.play(e,{from:{transform:this.offscreenTransform()},to:{transform:`translate(0, 0)`},durationMs:this.getDurationMs(),properties:[`transform`]}))}animateOutAndFinalize(){let e=this.getElement(),finalize=()=>{this.removeElement(),this.teardownBackdrop(),m.unregister(this),x(this),this._open=!1,this._closing=!1,this.emit(`close`)};if(!e){finalize();return}this._panelOutAnimation?.cancel(),this._panelOutAnimation=l.play(e,{to:{transform:this.offscreenTransform()},durationMs:this.getDurationMs(),properties:[`transform`],onComplete:finalize}),this.fadeBackdropOut()}openBackdrop(t){this._backdrop=new I,this._backdrop.setZIndex(t),this._backdrop.addClickListener(this._boundBackdropClose);let n=this._backdrop.getElement(!0);e.sink.appendChild(e.source.getDocumentElement(),n),this._backdropInAnimation?.cancel(),this._backdropInAnimation=l.play(n,{from:{opacity:`0`},to:{opacity:`1`},durationMs:this.getDurationMs(),properties:[`opacity`]})}fadeBackdropOut(){let e=this._backdrop?.getElement();e&&(this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=l.play(e,{to:{opacity:`0`},durationMs:this.getDurationMs(),properties:[`opacity`]}))}teardownBackdrop(){this._backdrop!==null&&(this._backdrop.destroy(),this._backdrop=null)}onViewportResize(){this._backdrop!==null&&this._backdrop.resize(),this.applyRestingGeometry()}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,...t){this._listeners.fire(e,...t)}getLayerElement(){return this.getElement()??null}getDismissMode(){return this.isModal()?`modal`:`manual`}requestClose(){this.close()}isLayerRoot(){return!0}onZIndexChanged(e){this.setZIndex(e),this._backdrop!==null&&this._backdrop.setZIndex(e-1)}destructor(){this._panelInAnimation?.cancel(),this._panelInAnimation=null,this._panelOutAnimation?.cancel(),this._panelOutAnimation=null,this._backdropInAnimation?.cancel(),this._backdropInAnimation=null,this._backdropOutAnimation?.cancel(),this._backdropOutAnimation=null,this.teardownBackdrop(),m.unregister(this),x(this),this._open=!1,this._closing=!1,super.destructor()}},We=s(Drawer),RailHandle=class extends w{get selectedRule(){return this._selectedRule??=this.createStyleRule(`.selected`)}get railHoverRule(){return this._railHoverRule??=this.createStyleRule(`:hover:not(.selected)`)}constructor(e={}){super(e.text,e,{chromeless:!0}),this.railHoverRule.set(`backgroundColor`,`var(--ts-ui-rail-handle-hover-bg)`),this.selectedRule.set(`backgroundColor`,`var(--ts-ui-rail-handle-selected-bg)`)}applyOptions(e){return super.applyOptions(e),e.selected!==void 0&&this.setSelected(e.selected),this}isSelected(){return this._options.selected??!1}setSelected(t){this._options.selected=t,this.getAria().setPressed(t);let n=this.getElement();return n&&e.sink.apply(n,{toggleClass:{selected:t}}),this}render(){let t=super.render();return e.sink.apply(t,{toggleClass:{selected:this.isSelected()}}),t}},Z=s(RailHandle),Q=48,Ge=8900,$=200,Ke=10,qe=5;function collapseHeadingFor(e){switch(e){case S.EAST:return`east`;case S.NORTH:return`north`;case S.SOUTH:return`south`;case S.WEST:default:return`west`}}var Je={west:`east`,east:`west`,north:`south`,south:`north`},Ye={edge:S.WEST,orientation:`horizontal`,backgroundColor:`var(--ts-ui-rail-bg)`,shadow:`var(--ts-ui-rail-shadow)`},Rail=class extends c{_collapseAnimation=null;_slideOutAnimation=null;_slideInAnimation=null;_listeners=new u;_drawers=new Map;_windows=new Map;_mounted=!1;_collapseButton;_expandedThickness=Q;_boundResizeHandler=()=>this.applyRestingGeometry();constructor(e,t){super(e,{...Ye,...t??{}}),this.setPosition(i.FIXED),this.setZIndex(Ge),this._collapseButton=new ce({direction:collapseHeadingFor(this.getEdge()),listeners:{collapse:()=>{this.toggleCollapsed()}}}),e?.listeners!==void 0&&this.applyListeners(e.listeners)}applyOptions(e){return super.applyOptions(e),this.setEdge(e.edge??this.getEdge()),this.setOrientation(e.orientation??this.getOrientation()),e.thickness!==void 0&&this.setThickness(e.thickness),e.collapsed!==void 0&&(this._options.collapsed=e.collapsed),this}setEdge(e){return this._options.edge=e,this}getEdge(){return this._options.edge??this._defaultOptions.edge}setThickness(e){return this._options.thickness=e,this.adaptThickness(),this}getThickness(){return this.isCollapsed()?Ke:this._options.thickness===void 0?this.measureContentThickness():this._options.thickness}measureContentThickness(){let e=this.getPreferredSize();if(!e)return Q;let t=this.isVertical()?e.width:e.height;return t<=0||r(t)?Q:Math.ceil(t)}adaptThickness(){this._mounted&&this.applyRestingGeometry()}isCollapsed(){return this._options.collapsed??!1}setCollapsed(e){return e===this.isCollapsed()?this:(e&&(this._expandedThickness=this.getThickness()),this._options.collapsed=e,this._mounted&&this.animateCollapseTransition(e),this)}toggleCollapsed(){return this.setCollapsed(!this.isCollapsed())}applyCollapseAppearance(){let e=this.isCollapsed(),t=collapseHeadingFor(this.getEdge());this._collapseButton.setDirection(e?Je[t]:t),this.applyCollapseStyling(e),this.positionChevron(e),this.setAllHandlesDisplayed(!e)}applyCollapseStyling(e){e?(this.setBackgroundColor(`var(--ts-ui-button-bg, #e8e8e8)`),this.setBackgroundImage(`var(--ts-ui-button-bg, linear-gradient(rgb(241, 241, 241), rgb(200, 200, 200)))`),this.setBorder(`1px solid var(--ts-ui-button-border, #c8c8c8)`)):(this.clearBackgroundImage(),this.setBackgroundColor(`var(--ts-ui-rail-bg)`),this.applyEdgeBorder())}positionChevron(e){let t,n;if(e)t=`50%`,n=`50%`;else{let e=`calc(100% - ${qe}px)`,r=`${qe}px`;switch(this.getEdge()){case S.EAST:t=r,n=`50%`;break;case S.NORTH:t=`50%`,n=e;break;case S.SOUTH:t=`50%`,n=r;break;case S.WEST:default:t=e,n=`50%`;break}}let r=e?`10px`:null;new o({scope:`component`,name:this._collapseButton.getId(),styles:{left:t,top:n,width:r,zIndex:`1`}})}animateCollapseTransition(e){let t=collapseHeadingFor(this.getEdge());this._collapseButton.setDirection(e?Je[t]:t),this.applyCollapseStyling(e),this.positionChevron(e);let n=this.getElement(),r=this.isVertical()?this.getWidth():this.getHeight(),i=e?Ke:this._expandedThickness;e||(this.setAllHandlesDisplayed(!0),this.applyRestingGeometry(),this.scheduleLayout());let finalize=()=>{e&&this.setAllHandlesDisplayed(!1),this.applyRestingGeometry(),e||this.scheduleLayout()};if(!n){finalize();return}let a=this.collapseTween(r,i);this._collapseAnimation?.cancel(),this._collapseAnimation=l.play(n,{from:a.from,to:a.to,durationMs:$,properties:a.properties,onComplete:finalize})}collapseTween(t,n){let r=e.source.getViewportSize(),i={},a={};return this.isVertical()?(i.width=t+`px`,a.width=n+`px`,this.getEdge()===S.EAST&&(i.left=r.width-t+`px`,a.left=r.width-n+`px`)):(i.height=t+`px`,a.height=n+`px`,this.getEdge()===S.SOUTH&&(i.top=r.height-t+`px`,a.top=r.height-n+`px`)),{from:i,to:a,properties:Object.keys(a)}}setAllHandlesDisplayed(e){for(let t of this._drawers.values())t.handle.setDisplayed(e);for(let t of this._windows.values())t.handle?.setDisplayed(e)}setOrientation(e){return this._options.orientation=e,this._drawers!==void 0&&this.applyOrientation(),this}getOrientation(){return this._options.orientation??this._defaultOptions.orientation}mount(){if(this._mounted)return this;this.setLayoutManager(this.isVertical()?new ie:new ae),this.applyEdgeBorder(),this.applyRestingGeometry();let t=this.getElement(!0);e.sink.appendChild(e.source.getDocumentElement(),t);let n=this._collapseButton.getElement(!0);return n&&e.source.getParentElement(n)!==t&&e.sink.appendChild(t,n),this.applyCollapseAppearance(),this.scheduleLayout(),a.addViewportListener(this,`resize`,this._boundResizeHandler),this._mounted=!0,this.animateIn(),this}unmount(){if(!this._mounted)return this;a.removeViewportListener(this,`resize`,this._boundResizeHandler),this._mounted=!1;let e=this.getElement(),detach=()=>{this.removeElement()};return e?(this._slideOutAnimation?.cancel(),this._slideOutAnimation=l.play(e,{to:{transform:this.offscreenTransform()},durationMs:$,properties:[`transform`],onComplete:detach}),this):(detach(),this)}animateIn(){let e=this.getElement();e&&(this._slideInAnimation?.cancel(),this._slideInAnimation=l.play(e,{from:{transform:this.offscreenTransform()},to:{transform:`translate(0, 0)`},durationMs:$,properties:[`transform`]}))}offscreenTransform(){switch(this.getEdge()){case S.EAST:return`translateX(100%)`;case S.NORTH:return`translateY(-100%)`;case S.SOUTH:return`translateY(100%)`;case S.WEST:default:return`translateX(-100%)`}}registerDrawer(e,t={}){if(this._drawers.has(e))return this;let n=new Z({text:t.text,glyph:t.glyph,selected:e.isOpen()}),onOpen=()=>{n.setSelected(!0)},onClose=()=>{n.setSelected(!1)},onAction=()=>{e.toggle()};return e.on(`open`,onOpen),e.on(`close`,onClose),n.on(`action`,onAction),t.alignEdge!==!1&&e.setEdge(this.getEdge()),this.applyHandleOrientation(n),n.setDisplayed(!this.isCollapsed()),this.addComponent(n),this._drawers.set(e,{handle:n,onOpen,onClose,onAction}),this.adaptThickness(),this.scheduleLayout(),this.emit(`register`,e),this}unregisterDrawer(e){let t=this._drawers.get(e);return t?(e.off(`open`,t.onOpen),e.off(`close`,t.onClose),t.handle.off(`action`,t.onAction),this.removeComponent(t.handle),this._drawers.delete(e),this.adaptThickness(),this.emit(`unregister`,e),this):this}registerWindow(e){if(this._windows.has(e))return this;let onMinimize=()=>{this.showWindowHandle(e)},onRestore=()=>{this.removeWindowHandle(e)},onClose=()=>{this.unregisterWindow(e)},onAction=()=>{e.restore()};return e.on(`minimize`,onMinimize),e.on(`restore`,onRestore),e.on(`close`,onClose),this._windows.set(e,{handle:null,onMinimize,onRestore,onClose,onAction}),e.isMinimized()&&this.showWindowHandle(e),this.emit(`register`,e),this}unregisterWindow(e){let t=this._windows.get(e);return t?(e.off(`minimize`,t.onMinimize),e.off(`restore`,t.onRestore),e.off(`close`,t.onClose),this.removeWindowHandle(e),this._windows.delete(e),this.emit(`unregister`,e),this):this}showWindowHandle(e){let t=this._windows.get(e);if(!t||t.handle!==null)return;let n=new Z({text:e.getTitle(),glyph:e.getGlyph(),selected:!0});n.on(`action`,t.onAction),t.handle=n,this.applyHandleOrientation(n),n.setDisplayed(!this.isCollapsed()),this.addComponent(n),this.adaptThickness(),this.scheduleLayout()}removeWindowHandle(e){let t=this._windows.get(e);!t||t.handle===null||(t.handle.off(`action`,t.onAction),this.removeComponent(t.handle),t.handle=null,this.adaptThickness())}applyOrientation(){for(let e of this._drawers.values())this.applyHandleOrientation(e.handle);for(let e of this._windows.values())e.handle!==null&&this.applyHandleOrientation(e.handle);this.adaptThickness(),this.scheduleLayout()}applyHandleOrientation(e){let t=this.getOrientation(),n=t===`vertical-cw`?`sideways-rl`:t===`vertical-ccw`?`sideways-lr`:null;this.isVertical()&&n!==null?e.setWritingMode(n):e.clearWritingMode()}clampsToContentSize(){return!1}isVertical(){let e=this.getEdge();return e===S.WEST||e===S.EAST}handleMainAxisOffset(e){let t=this.isVertical(),mainPos=e=>t?e.getY():e.getX(),mainExtent=e=>t?e.getHeight():e.getWidth(),n=this._windows.get(e)?.handle??null;if(n!==null)return mainPos(n);let r=this.getComponents();if(r.length===0)return 0;let i=r[r.length-1];return mainPos(i)+mainExtent(i)+this.handleSpacing()}handleMainAxisExtent(e){let t=this.isVertical(),mainExtent=e=>t?e.getHeight():e.getWidth(),n=this._windows.get(e)?.handle??null;if(n!==null)return mainExtent(n);let r=this.getComponents();return r.length===0?0:mainExtent(r[r.length-1])}handleSpacing(){let e=this.getLayoutManager();return e instanceof re?e.getComponentSpacing():0}restingRect(){let t=e.source.getViewportSize(),n=this.getThickness();switch(this.getEdge()){case S.EAST:return{x:t.width-n,y:0,width:n,height:t.height};case S.NORTH:return{x:0,y:0,width:t.width,height:n};case S.SOUTH:return{x:0,y:t.height-n,width:t.width,height:n};case S.WEST:default:return{x:0,y:0,width:n,height:t.height}}}applyRestingGeometry(){let e=this.restingRect();this.setX(e.x),this.setY(e.y),this.setWidth(e.width),this.setHeight(e.height)}applyEdgeBorder(){let e=`1px solid transparent`,t=`1px solid var(--ts-ui-rail-border)`;switch(this.getEdge()){case S.EAST:this.setBorder({border:e,borderLeft:t});break;case S.NORTH:this.setBorder({border:e,borderBottom:t});break;case S.SOUTH:this.setBorder({border:e,borderTop:t});break;case S.WEST:default:this.setBorder({border:e,borderRight:t});break}}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}destructor(){this._collapseAnimation?.cancel(),this._collapseAnimation=null,this._slideOutAnimation?.cancel(),this._slideOutAnimation=null,this._slideInAnimation?.cancel(),this._slideInAnimation=null,this._collapseButton.dispose(),super.destructor()}},Xe=s(Rail),Dock=class extends d{_panels=new Map;_frames=new Map;_lazyFactories=new Map;_wiring=new Map;_sweepScheduled=!1;_listeners=new u;_focusedPanelId=null;_panelHost=new Map;_frameRegion=new Map;_lastActiveRegion=null;_floatSubscribed=new Set;_emptyDropOverlay=new k;_empty=!0;_emptyReconciled=!1;requestSweep=()=>{this.scheduleSweep()};onPanelDocked=e=>{this.requestSweep()};constructor(e,t){super(e,{layoutManager:new h,...t});let n=e?.layout?this.compileLayout(e.layout):this.newTabRegion();this.addComponent(n),this.scheduleSweep(),this.wireEmptyDropTarget(),this.applyListeners(e?.listeners)}applyOptions(e){return super.applyOptions(e),e.emptyContent!==void 0&&this.setEmptyContent(e.emptyContent),this}setEmptyContent(e){let t=this._emptyReconciled&&this.mainRegionEmpty();return t&&this.hideEmptyState(),this._options.emptyContent=e??void 0,t&&this.showEmptyState(),this}getEmptyContent(){return this._options.emptyContent??null}isEmpty(){return this._frames.size===0}wireEmptyDropTarget(){E.makeDropTarget(this,{accepts:e=>e.dragData.tabDrag===!0&&this.getComponents().length===0,suppressValidityTint:!0,onDragOver:()=>(this._emptyDropOverlay.attachTo(this),this._emptyDropOverlay.highlightFull(),null),onDragLeave:()=>{this._emptyDropOverlay.detach()},onDrop:e=>{this._emptyDropOverlay.detach();let t=pe.get(e.dragData.componentId);if(!t)return;let n=this.newTabRegion();this.addComponent(n),n.moveComponent(t),this.scheduleSweep()}})}addPanel(e){this._panels.set(e.id,e);let t=this.resolvePanel(e.id);if(t){let n=this.activeTabRegion();this._lastActiveRegion=n,n.moveComponent(t,void 0,this.leafConstraints(e)),n.getLayoutManager().setActiveContent(t),this._frameRegion.set(e.id,n),this.scheduleSweep()}return this}addLazyPanel(e){this._panels.set(e.id,e),this._lazyFactories.set(e.id,typeof e.content==`function`?e.content:()=>e.content);let t=this.resolvePanel(e.id);if(t){let n=this.activeTabRegion();this._lastActiveRegion=n,n.moveComponent(t,void 0,this.leafConstraints(e)),n.getLayoutManager().setActiveContent(t),this._frameRegion.set(e.id,n),this.scheduleSweep()}return this}getRootRegion(){return this.getComponents()[0]}getLayoutState(){return be(this.getRootRegion())}setLayoutState(e){return this._frameRegion.clear(),Se(this.getRootRegion(),e,e=>this.resolvePanel(e)),this.scheduleSweep(),this}resolvePanel(e){let t=this._panels.get(e);if(!t)return null;let n=this._frames.get(e);if(!n){let r=this._lazyFactories.get(e);if(r){let e=new b;e.setBarVisible(!1),n=new d({id:t.id,name:t.title,layoutManager:e});let onFailed=e=>{this.failPanel(t.id,e)};e.on(`exception`,onFailed),e.addLazyTab(r,t.title??t.id)}else n=new d({id:t.id,name:t.title,layoutManager:new h}),n.addComponent(t.content);this._frames.set(e,n)}return n}leafConstraints(e){let t=new C;return t.closeable=e.closeable??!0,t.disposeOnClose=e.disposeOnClose??!0,e.glyph&&(t.glyph=e.glyph),e.tooltip&&(t.tooltip=e.tooltip),t}activeTabRegion(){let e=this.getRootRegion(),t=this._lastActiveRegion;return t&&this.isTab(t)&&this.containsRegion(e,t)?t:this.isTab(e)?e:this.firstTabRegion(e)??this.wrapRootInTab()}containsRegion(e,t){if(e===t)return!0;for(let n of e.getComponents())if(this.isRegionContainer(n)&&this.containsRegion(n,t))return!0;return!1}firstTabRegion(e){if(this.isTab(e))return e;for(let t of e.getComponents())if(this.isRegionContainer(t)){let e=this.firstTabRegion(t);if(e)return e}return null}wrapRootInTab(){let e=this.newTabRegion(),t=this.getRootRegion();return this.addComponent(e),e.moveComponent(t),e}newTabRegion(){return new d({layoutManager:new b({reorderable:!0,compact:!0})})}compileLayout(e){if(`split`in e){let t=new d({layoutManager:new ye({orientation:e.split})});for(let n of e.children)t.addComponent(this.compileRegion(n));return t}return`tabs`in e?this.compileTabs(e.tabs):this.compileTabs([e])}compileRegion(e){return`split`in e||`tabs`in e?this.compileLayout(e):this.compileTabs([e])}compileTabs(e){let t=this.newTabRegion();for(let n of e){this._panels.set(n.id,n);let e=this.resolvePanel(n.id);e&&(t.addComponent(e,this.leafConstraints(n)),this._panelHost.set(n.id,null),this._frameRegion.set(n.id,t))}return t}scheduleSweep(){this._sweepScheduled||(this._sweepScheduled=!0,e.sink.requestAnimationFrame(()=>{this._sweepScheduled=!1,this.runSweep()}))}runSweep(){let e=this.getRootRegion();if(!e)return;let t=this.ownedFloatWindows().map(e=>this.adoptFloat(e)).filter(e=>e!==null);this.wireRegion(e);for(let e of t)this.wireRegion(e);this.subscribeFloatWindows(),this.reconcileHosts(e),this.teardownVanished(e,t),this.reconcileEmptyState()}reconcileEmptyState(){this.mainRegionEmpty()?this.showEmptyState():this.hideEmptyState();let e=this.isEmpty();!this._emptyReconciled&&(this._emptyReconciled=!0,e===this._empty)||e!==this._empty&&(this._empty=e,this.emit(`emptychange`,{empty:e}))}mainRegionEmpty(){let e=this.getRootRegion();if(!e)return!1;let t=this.getEmptyContent();return e.getComponents().every(e=>e===t)}showEmptyState(){let e=this.getRootRegion(),t=this.getEmptyContent();e&&(t?(this.rootTab()?.setBarVisible(!0),t.getParentComponent()!==e&&e.moveComponent(t,void 0,this.placeholderConstraints())):this.rootTab()?.setBarVisible(!1))}hideEmptyState(){let e=this.getEmptyContent(),t=e?.getParentComponent(),n=t?.getLayoutManager();e&&(n instanceof b&&n.closeTab(e)||t?.removeComponent(e)),this.rootTab()?.setBarVisible(!0)}rootTab(){let e=this.getRootRegion()?.getLayoutManager();return e instanceof b?e:null}placeholderConstraints(){let e=new C;return e.closeable=!1,e.transient=!0,e.disposeOnClose=!1,e}subscribeFloatWindows(){for(let e of this.floatWindowsHoldingFrames()){if(this._floatSubscribed.has(e))continue;let onFloatActivate=()=>{this.onFloatActivated(e)},onFloatClose=()=>{this.onFloatClosed(e)};if(e.on(`activate`,onFloatActivate),e.on(`close`,onFloatClose),e instanceof _){let t=e.getLayoutManager();t.on(`activate`,this.onPanelFocused),t.on(`tabclose`,this.onPanelClosed),t.on(`detach`,this.onPanelDetached),t.on(`dock`,this.onPanelDocked)}this._floatSubscribed.add(e)}this.pruneClosedFloatSubscriptions()}pruneClosedFloatSubscriptions(){let e=new Set(v.getOpenWindows());for(let t of this._floatSubscribed)e.has(t)||this._floatSubscribed.delete(t)}floatWindowsHoldingFrames(){let e=[...this._frames.values()];return v.getOpenWindows().filter(t=>!this.windowContains(t,this)&&e.some(e=>this.windowContains(t,e)))}reconcileHosts(e){for(let[t,n]of this._frames){if(!this._panels.has(t))continue;let r=this.hostForFrame(n,e),i=this._panelHost.has(t),a=this._panelHost.get(t)??null,o=this.regionForFrame(n),s=this._frameRegion.get(t)??null;i?r===a?o&&s&&o!==s&&this.emit(`move`,{id:t,content:n,window:r}):(this.emit(`detach`,{id:t,content:n,window:a}),this.emit(`attach`,{id:t,content:n,window:r})):this.emit(`attach`,{id:t,content:n,window:r}),this._panelHost.set(t,r),o&&this._frameRegion.set(t,o)}}hostForFrame(e,t){return this.isUnder(t,e)?null:this.floatForFrame(e)}ownedFloatWindows(){let e=[...this._frames.values()];return v.getOpenWindows().filter(t=>!(t instanceof _)&&!this.windowContains(t,this)&&e.some(e=>this.windowContains(t,e)))}windowContains(e,t){for(let n=t;n;n=n.getParentComponent())if(n===e)return!0;return!1}windowContent(e){return e.getComponents().find(t=>!e.isChromeComponent(t))??null}adoptFloat(e){let t=this.windowContent(e);if(!t)return null;if(this.isRegionContainer(t))return t;let n=this.newTabRegion();return e.moveComponent(n),n.moveComponent(t),n}wireRegion(e){let t=this._wiring.get(e);t||(t={dockRegion:new xe(e,this.requestSweep),tabWired:!1},this._wiring.set(e,t));let n=e.getLayoutManager();if(this.isTab(e)&&!t.tabWired){let r=n;r.setReorderable(!0);let onEmpty=()=>{this.pruneRegion(e)};r.on(`empty`,onEmpty),r.on(`tabclose`,this.onPanelClosed),r.on(`activate`,this.onPanelFocused),r.on(`detach`,this.onPanelDetached),r.on(`dock`,this.onPanelDocked),t.tabWired=!0}for(let t of e.getComponents())this.isRegionContainer(t)&&this._frames.get(t.getId())!==t&&this.wireRegion(t)}pruneRegion(e){let t=e.getParentComponent();!t||e.getComponents().length>0||t!==this&&(t.removeComponent(e),this.collapseSinglePaneSplit(t),this.closeFloatIfEmpty(t),this.scheduleSweep())}closeFloatIfEmpty(e){v.getOpenWindows().includes(e)&&(this.windowContent(e)||e.requestClose())}collapseSinglePaneSplit(e){if(this.regionKind(e)!==`Split`)return;let t=e.getComponents();if(t.length!==1)return;let n=e.getParentComponent();if(!n)return;let r=n.getComponents().indexOf(e);this.regionKind(n)===`Split`&&n.getLayoutManager().transferPaneSize(e,t[0]),n.moveComponent(t[0],r),n.removeComponent(e)}teardownVanished(e,t){let n=new Set;this.collectRegions(e,n);for(let e of t)this.collectRegions(e,n);for(let[e,t]of this._wiring)n.has(e)||(t.dockRegion.destroy(),this._wiring.delete(e))}collectRegions(e,t){t.add(e);for(let n of e.getComponents())this.isRegionContainer(n)&&this.collectRegions(n,t)}isRegionContainer(e){let t=this.regionKind(e);return t===`Split`||t===`Tab`}isTab(e){return this.regionKind(e)===`Tab`}regionKind(e){let t=e.getLayoutManager();return t?t.getClassName().replace(/^_/,``):``}onPanelClosed=e=>{let t=e.getId();if(this._frames.get(t)!==e)return;let n=this._frameRegion.get(t)??null;this._frames.delete(t),this._panelHost.delete(t),this._frameRegion.delete(t),this.emit(`close`,{id:t,content:e,window:null}),this.scheduleSweep(),this._focusedPanelId===t&&this.scheduleFocusRecompute(n)};failPanel(e,t){this._frames.has(e)&&(this.removePanel(e)||this._frames.delete(e),this.emit(`exception`,{id:e,error:t}))}onPanelFocused=e=>{let t=e.getId();if(this._frames.get(t)!==e)return;let n=this._frameRegion.get(t);n&&(this._lastActiveRegion=n),this.setFocus(t)};onPanelDetached=e=>{this.scheduleSweep()};onFloatActivated(e){let t=this.activeFrameInFloat(e);t&&this.setFocus(t.getId())}onFloatClosed(e){let t=!1;for(let n of this.framesInWindow(e)){let e=n.getId();this._frames.delete(e),this._panelHost.delete(e),this._frameRegion.delete(e),this.emit(`close`,{id:e,content:n,window:null}),this._focusedPanelId===e&&(t=!0)}this.scheduleSweep(),t&&this.scheduleFocusRecompute(null)}setFocus(e){if(e===this._focusedPanelId)return;if(this._focusedPanelId=e,e===null){this.emit(`focus`,null);return}let t=this._frames.get(e);if(t){let n=this.hostForFrame(t,this.getRootRegion());this.emit(`focus`,{id:e,content:t,window:n})}}scheduleFocusRecompute(t){e.sink.requestAnimationFrame(()=>this.recomputeFocusAfterClose(t))}recomputeFocusAfterClose(e){if(this._frames.size===0){this.setFocus(null);return}if(!e||!this.isTab(e)||e.getComponents().length===0){this.setFocus(null);return}let t=e.getLayoutManager().getActiveContent();this.setFocus(t?t.getId():null)}focusPanel(e){let t=this._frames.get(e);if(!t)return!1;let n=this.regionForFrame(t);if(!n)return!1;let r=n.getLayoutManager().indexOfContent(t);return r<0?!1:(this.floatForFrame(t)?.bringToFront(),n.getLayoutManager().setActiveTabIndex(r),!0)}removePanel(e){let t=this._frames.get(e);if(!t)return!1;let n=this.regionForFrame(t);return n?n.getLayoutManager().closeTab(t):!1}regionForFrame(e){for(let t of this.allTabRegions())if(t.getLayoutManager().indexOfContent(e)>=0)return t;return null}floatForFrame(e){return this.floatWindowsHoldingFrames().find(t=>this.windowContains(t,e))??null}allTabRegions(){let e=[],t=this.getRootRegion();t&&this.collectTabRegions(t,e);for(let t of this.floatWindowsHoldingFrames()){if(t instanceof _){e.push(t);continue}let n=this.windowContent(t);n&&this.collectTabRegions(n,e)}return e}collectTabRegions(e,t){this.isTab(e)&&t.push(e);for(let n of e.getComponents())this.isRegionContainer(n)&&this.collectTabRegions(n,t)}framesInWindow(e){return[...this._frames.values()].filter(t=>this.windowContains(e,t))}activeFrameInFloat(e){let t=null;if(e instanceof _)t=e.getLayoutManager();else{let n=this.windowContent(e),r=[];n&&this.collectTabRegions(n,r),t=r.length>0?r[0].getLayoutManager():null}let n=t?t.getActiveContent():null;return n&&this._frames.get(n.getId())===n?n:null}isUnder(e,t){for(let n=t;n;n=n.getParentComponent())if(n===e)return!0;return!1}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}destructor(){this._emptyDropOverlay.dispose();for(let e of this._wiring.values())e.dockRegion.destroy();this._wiring.clear(),super.destructor()}},Ze=s(Dock);export{v as AbstractWindow,oe as ButtonGroup,Pe as Dialog,q as DialogButtons,DialogTitleBar,Ze as Dock,fe as DragFeedback,ue as DragGhost,E as DragManager,We as Drawer,k as DropZoneOverlay,me as Menu,X as Notification,He as NotificationHistoryButton,we as Popover,Xe as Rail,Z as RailHandle,de as ReorderIndicator,_ as TabWindow,ee as Tooltip,se as Window};
2
2
  //# sourceMappingURL=overlay.es.js.map