@jimka/typescript-ui 0.6.0 → 0.7.0

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 (198) hide show
  1. package/dist/lib/{AbstractInput-sRNPzWel.js → AbstractInput-W2PLJV5_.js} +2 -2
  2. package/dist/lib/{AbstractInput-sRNPzWel.js.map → AbstractInput-W2PLJV5_.js.map} +1 -1
  3. package/dist/lib/{Anchor-CwRhdP2J.js → Anchor-iZhsvMlT.js} +2 -2
  4. package/dist/lib/{Anchor-CwRhdP2J.js.map → Anchor-iZhsvMlT.js.map} +1 -1
  5. package/dist/lib/AnimatedDropdown-D0RhVgv3.js +2 -0
  6. package/dist/lib/AnimatedDropdown-D0RhVgv3.js.map +1 -0
  7. package/dist/lib/Border-6GsTNV-2.js +2 -0
  8. package/dist/lib/Border-6GsTNV-2.js.map +1 -0
  9. package/dist/lib/Button-CnFAiQuV.js +2 -0
  10. package/dist/lib/Button-CnFAiQuV.js.map +1 -0
  11. package/dist/lib/{Card-QYo27r5b.js → Card-C20k2YHU.js} +2 -2
  12. package/dist/lib/{Card-QYo27r5b.js.map → Card-C20k2YHU.js.map} +1 -1
  13. package/dist/lib/Checkbox-CM1z8keM.js +2 -0
  14. package/dist/lib/Checkbox-CM1z8keM.js.map +1 -0
  15. package/dist/lib/{CheckboxMenuRow-CesLhSnp.js → CheckboxMenuRow-C1h4LPHR.js} +2 -2
  16. package/dist/lib/{CheckboxMenuRow-CesLhSnp.js.map → CheckboxMenuRow-C1h4LPHR.js.map} +1 -1
  17. package/dist/lib/{CodeEditor-N1FQodcF.js → CodeEditor-CTL2WjF8.js} +2 -2
  18. package/dist/lib/{CodeEditor-N1FQodcF.js.map → CodeEditor-CTL2WjF8.js.map} +1 -1
  19. package/dist/lib/ComboBox-PZ5YPL0X.js +2 -0
  20. package/dist/lib/ComboBox-PZ5YPL0X.js.map +1 -0
  21. package/dist/lib/Component-D99-15Zt.js +2 -0
  22. package/dist/lib/Component-D99-15Zt.js.map +1 -0
  23. package/dist/lib/Container-FWRjgF6T.js +2 -0
  24. package/dist/lib/{Container-abY5Ww3W.js.map → Container-FWRjgF6T.js.map} +1 -1
  25. package/dist/lib/DOM-Cjh7_7TF.js +2 -0
  26. package/dist/lib/DOM-Cjh7_7TF.js.map +1 -0
  27. package/dist/lib/Dialog-DN78RaVH.js +2 -0
  28. package/dist/lib/Dialog-DN78RaVH.js.map +1 -0
  29. package/dist/lib/{FieldDecorator-BlYMfZ9L.js → FieldDecorator-DyPX8CFh.js} +2 -2
  30. package/dist/lib/{FieldDecorator-BlYMfZ9L.js.map → FieldDecorator-DyPX8CFh.js.map} +1 -1
  31. package/dist/lib/{Fit-BhlB-HAo.js → Fit-CaPMj7Up.js} +2 -2
  32. package/dist/lib/{Fit-BhlB-HAo.js.map → Fit-CaPMj7Up.js.map} +1 -1
  33. package/dist/lib/{FloatingPanel-DkJXsZ2D.js → FloatingPanel-Dsy_vJxi.js} +2 -2
  34. package/dist/lib/{FloatingPanel-DkJXsZ2D.js.map → FloatingPanel-Dsy_vJxi.js.map} +1 -1
  35. package/dist/lib/Glyph-DiEpD3gy.js +2 -0
  36. package/dist/lib/Glyph-DiEpD3gy.js.map +1 -0
  37. package/dist/lib/{Grid-Daiz7F5d.js → Grid-ft_UUpj8.js} +2 -2
  38. package/dist/lib/{Grid-Daiz7F5d.js.map → Grid-ft_UUpj8.js.map} +1 -1
  39. package/dist/lib/{GridConstraints-C58LuTqM.js → GridConstraints-CvZ0Nzaw.js} +2 -2
  40. package/dist/lib/{GridConstraints-C58LuTqM.js.map → GridConstraints-CvZ0Nzaw.js.map} +1 -1
  41. package/dist/lib/{Header-Dql3Zxc6.js → Header-Osm3IjDw.js} +2 -2
  42. package/dist/lib/{Header-Dql3Zxc6.js.map → Header-Osm3IjDw.js.map} +1 -1
  43. package/dist/lib/{IconText-PUjhTLlp.js → IconText-BBaYJ2Fx.js} +2 -2
  44. package/dist/lib/{IconText-PUjhTLlp.js.map → IconText-BBaYJ2Fx.js.map} +1 -1
  45. package/dist/lib/{LayoutSerialization-CMxunLfV.js → LayoutSerialization-BC64__O7.js} +2 -2
  46. package/dist/lib/{LayoutSerialization-CMxunLfV.js.map → LayoutSerialization-BC64__O7.js.map} +1 -1
  47. package/dist/lib/List-CQbZK_pT.js +2 -0
  48. package/dist/lib/List-CQbZK_pT.js.map +1 -0
  49. package/dist/lib/{Menu-Q0bpXXze.js → Menu-CwHluLGT.js} +2 -2
  50. package/dist/lib/{Menu-Q0bpXXze.js.map → Menu-CwHluLGT.js.map} +1 -1
  51. package/dist/lib/{MenuButton-DCXi0tsP.js → MenuButton-BqCT-1yv.js} +2 -2
  52. package/dist/lib/{MenuButton-DCXi0tsP.js.map → MenuButton-BqCT-1yv.js.map} +1 -1
  53. package/dist/lib/{OverlayFade-3pof2AJH.js → OverlayFade-CuEXgimf.js} +2 -2
  54. package/dist/lib/{OverlayFade-3pof2AJH.js.map → OverlayFade-CuEXgimf.js.map} +1 -1
  55. package/dist/lib/{Panel-Cy1pdlWO.js → Panel-CtViePqY.js} +2 -2
  56. package/dist/lib/{Panel-Cy1pdlWO.js.map → Panel-CtViePqY.js.map} +1 -1
  57. package/dist/lib/{Position-BwtxouxK.js → Position-BIEU1Eze.js} +2 -2
  58. package/dist/lib/Position-BIEU1Eze.js.map +1 -0
  59. package/dist/lib/{ProgressSpinner-DK8xEQ9y.js → ProgressSpinner-BuBvC1FY.js} +2 -2
  60. package/dist/lib/{ProgressSpinner-DK8xEQ9y.js.map → ProgressSpinner-BuBvC1FY.js.map} +1 -1
  61. package/dist/lib/RadioButton-Df5J-H6m.js +2 -0
  62. package/dist/lib/RadioButton-Df5J-H6m.js.map +1 -0
  63. package/dist/lib/RadioMenuRow-Cfv0x6Qj.js +2 -0
  64. package/dist/lib/RadioMenuRow-Cfv0x6Qj.js.map +1 -0
  65. package/dist/lib/{RovingTabIndex-pHEv5oLD.js → RovingTabIndex--w28AnXc.js} +2 -2
  66. package/dist/lib/{RovingTabIndex-pHEv5oLD.js.map → RovingTabIndex--w28AnXc.js.map} +1 -1
  67. package/dist/lib/Scrollbar-DcnueNJd.js +2 -0
  68. package/dist/lib/Scrollbar-DcnueNJd.js.map +1 -0
  69. package/dist/lib/SelectableText-DZNxjKXR.js +2 -0
  70. package/dist/lib/SelectableText-DZNxjKXR.js.map +1 -0
  71. package/dist/lib/{Slider-CTbwR6HR.js → Slider-DNfd8Lxz.js} +2 -2
  72. package/dist/lib/{Slider-CTbwR6HR.js.map → Slider-DNfd8Lxz.js.map} +1 -1
  73. package/dist/lib/{Spacer-srdN2d2b.js → Spacer-BznfGbwG.js} +2 -2
  74. package/dist/lib/{Spacer-srdN2d2b.js.map → Spacer-BznfGbwG.js.map} +1 -1
  75. package/dist/lib/TabButton-CAACsMov.js +2 -0
  76. package/dist/lib/TabButton-CAACsMov.js.map +1 -0
  77. package/dist/lib/{TabCloseButton-CY7BGitY.js → TabCloseButton-CCiqsX3y.js} +2 -2
  78. package/dist/lib/{TabCloseButton-CY7BGitY.js.map → TabCloseButton-CCiqsX3y.js.map} +1 -1
  79. package/dist/lib/Text-O-FWa5Cy.js +2 -0
  80. package/dist/lib/Text-O-FWa5Cy.js.map +1 -0
  81. package/dist/lib/{Tooltip-CUOJOqQi.js → Tooltip-CyICVu15.js} +2 -2
  82. package/dist/lib/Tooltip-CyICVu15.js.map +1 -0
  83. package/dist/lib/{Tree-C64JNPWJ.js → Tree-CSEguhlk.js} +2 -2
  84. package/dist/lib/{Tree-C64JNPWJ.js.map → Tree-CSEguhlk.js.map} +1 -1
  85. package/dist/lib/{VBox-DfJPWXqc.js → VBox-DVe4UXwX.js} +2 -2
  86. package/dist/lib/{VBox-DfJPWXqc.js.map → VBox-DVe4UXwX.js.map} +1 -1
  87. package/dist/lib/{VirtualScroller-DTIn19o1.js → VirtualScroller-ggPTCQb0.js} +2 -2
  88. package/dist/lib/{VirtualScroller-DTIn19o1.js.map → VirtualScroller-ggPTCQb0.js.map} +1 -1
  89. package/dist/lib/component/button.es.js +1 -1
  90. package/dist/lib/component/chart.es.js +1 -1
  91. package/dist/lib/component/chart.es.js.map +1 -1
  92. package/dist/lib/component/container.es.js +1 -1
  93. package/dist/lib/component/diagram.es.js +1 -1
  94. package/dist/lib/component/display.es.js +1 -1
  95. package/dist/lib/component/display.es.js.map +1 -1
  96. package/dist/lib/component/editor.es.js +2 -2
  97. package/dist/lib/component/editor.es.js.map +1 -1
  98. package/dist/lib/component/input.es.js +1 -1
  99. package/dist/lib/component/input.es.js.map +1 -1
  100. package/dist/lib/component/list.es.js +1 -1
  101. package/dist/lib/component/menubar.es.js +1 -1
  102. package/dist/lib/component/table.es.js +6 -6
  103. package/dist/lib/component/table.es.js.map +1 -1
  104. package/dist/lib/component/tree.es.js +1 -1
  105. package/dist/lib/core.es.js +1 -1
  106. package/dist/lib/core.es.js.map +1 -1
  107. package/dist/lib/glyphs/solid/index.es.js +1 -1
  108. package/dist/lib/layout.es.js +1 -1
  109. package/dist/lib/overlay.es.js +1 -1
  110. package/dist/lib/overlay.es.js.map +1 -1
  111. package/dist/lib/primitive.es.js +1 -1
  112. package/dist/lib/router.es.js +1 -1
  113. package/dist/lib/{selectionsEqual-gMG7gCVI.js → selectionsEqual-C7MrKMQr.js} +2 -2
  114. package/dist/lib/{selectionsEqual-gMG7gCVI.js.map → selectionsEqual-C7MrKMQr.js.map} +1 -1
  115. package/dist/lib/types/component/button/Button.d.ts +9 -0
  116. package/dist/lib/types/component/button/TabButton.d.ts +5 -0
  117. package/dist/lib/types/component/button/ToggleButton.d.ts +3 -0
  118. package/dist/lib/types/component/chart/AbstractChart.d.ts +2 -0
  119. package/dist/lib/types/component/display/Markdown.d.ts +2 -1
  120. package/dist/lib/types/component/input/AbstractCalendarDropdown.d.ts +2 -0
  121. package/dist/lib/types/component/input/AbstractPickerField.d.ts +2 -0
  122. package/dist/lib/types/component/input/AutoCompleteDropdown.d.ts +2 -0
  123. package/dist/lib/types/component/input/ComboBox.d.ts +3 -1
  124. package/dist/lib/types/component/input/Link.d.ts +2 -0
  125. package/dist/lib/types/component/input/PasswordField.d.ts +2 -0
  126. package/dist/lib/types/component/input/PickerInput.d.ts +2 -0
  127. package/dist/lib/types/component/input/SelectableText.d.ts +11 -0
  128. package/dist/lib/types/component/input/SpinButton.d.ts +2 -0
  129. package/dist/lib/types/component/input/Text.d.ts +16 -2
  130. package/dist/lib/types/component/input/TextArea.d.ts +2 -0
  131. package/dist/lib/types/component/input/TextField.d.ts +2 -0
  132. package/dist/lib/types/component/input/TextInput.d.ts +2 -0
  133. package/dist/lib/types/component/input/TimePickerDropdown.d.ts +3 -1
  134. package/dist/lib/types/component/input/UsernameField.d.ts +2 -0
  135. package/dist/lib/types/component/input/index.d.ts +2 -0
  136. package/dist/lib/types/component/list/AbstractSelectableList.d.ts +4 -2
  137. package/dist/lib/types/component/table/Body.d.ts +40 -14
  138. package/dist/lib/types/component/table/Header.d.ts +1 -1
  139. package/dist/lib/types/component/table/Row.d.ts +20 -2
  140. package/dist/lib/types/component/table/Table.d.ts +2 -0
  141. package/dist/lib/types/component/table/TableExporter.d.ts +3 -0
  142. package/dist/lib/types/component/table/TablePanel.d.ts +1 -0
  143. package/dist/lib/types/component/table/TreeTablePanel.d.ts +1 -0
  144. package/dist/lib/types/component/table/cell/Cell.d.ts +7 -2
  145. package/dist/lib/types/component/table/cell/Default.d.ts +1 -1
  146. package/dist/lib/types/component/table/cell/Header.d.ts +3 -0
  147. package/dist/lib/types/component/table/cell/ResizeHandle.d.ts +1 -1
  148. package/dist/lib/types/component/table/cell/renderer/CellRenderer.d.ts +2 -2
  149. package/dist/lib/types/component/table/cell/renderer/String.d.ts +3 -1
  150. package/dist/lib/types/component/table/index.d.ts +1 -1
  151. package/dist/lib/types/core/AnimatedDropdown.d.ts +2 -0
  152. package/dist/lib/types/core/ClassStyleRules.d.ts +46 -3
  153. package/dist/lib/types/core/Component.d.ts +30 -2
  154. package/dist/lib/types/core/DOM.d.ts +5 -1
  155. package/dist/lib/types/core/LayerManager.d.ts +1 -0
  156. package/dist/lib/types/core/StyleTarget.d.ts +2 -0
  157. package/dist/lib/types/core/Theme.d.ts +1 -0
  158. package/dist/lib/types/core/Util.d.ts +4 -0
  159. package/dist/lib/types/core/index.d.ts +1 -1
  160. package/dist/lib/types/layout/Table.d.ts +2 -0
  161. package/dist/lib/types/overlay/AbstractWindow.d.ts +3 -0
  162. package/dist/lib/types/overlay/PopupPanel.d.ts +2 -0
  163. package/dist/lib/validation.es.js +1 -1
  164. package/package.json +1 -1
  165. package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js +0 -2
  166. package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js.map +0 -1
  167. package/dist/lib/Border-0DJFDiij.js +0 -2
  168. package/dist/lib/Border-0DJFDiij.js.map +0 -1
  169. package/dist/lib/Button-MpMIYBYJ.js +0 -2
  170. package/dist/lib/Button-MpMIYBYJ.js.map +0 -1
  171. package/dist/lib/Checkbox-D0JYK-wc.js +0 -2
  172. package/dist/lib/Checkbox-D0JYK-wc.js.map +0 -1
  173. package/dist/lib/ComboBox-Dx8Tk9yg.js +0 -2
  174. package/dist/lib/ComboBox-Dx8Tk9yg.js.map +0 -1
  175. package/dist/lib/Component-B0ShfPVi.js +0 -2
  176. package/dist/lib/Component-B0ShfPVi.js.map +0 -1
  177. package/dist/lib/Container-abY5Ww3W.js +0 -2
  178. package/dist/lib/DOM-C-Edb3tA.js +0 -2
  179. package/dist/lib/DOM-C-Edb3tA.js.map +0 -1
  180. package/dist/lib/Dialog-cbA9V17e.js +0 -2
  181. package/dist/lib/Dialog-cbA9V17e.js.map +0 -1
  182. package/dist/lib/Glyph-_VeBacS2.js +0 -2
  183. package/dist/lib/Glyph-_VeBacS2.js.map +0 -1
  184. package/dist/lib/List-nx8220Fi.js +0 -2
  185. package/dist/lib/List-nx8220Fi.js.map +0 -1
  186. package/dist/lib/Position-BwtxouxK.js.map +0 -1
  187. package/dist/lib/RadioButton-BEwpqg1k.js +0 -2
  188. package/dist/lib/RadioButton-BEwpqg1k.js.map +0 -1
  189. package/dist/lib/RadioMenuRow-DP5qPyFR.js +0 -2
  190. package/dist/lib/RadioMenuRow-DP5qPyFR.js.map +0 -1
  191. package/dist/lib/Scrollbar-t8fFrUVQ.js +0 -2
  192. package/dist/lib/Scrollbar-t8fFrUVQ.js.map +0 -1
  193. package/dist/lib/TabButton-DLoMQzky.js +0 -2
  194. package/dist/lib/TabButton-DLoMQzky.js.map +0 -1
  195. package/dist/lib/Text-CMKnK9uB.js +0 -2
  196. package/dist/lib/Text-CMKnK9uB.js.map +0 -1
  197. package/dist/lib/Tooltip-CUOJOqQi.js.map +0 -1
  198. package/dist/lib/types/component/table/CellGeometry.d.ts +0 -6
@@ -1,2 +1,2 @@
1
- import{t as e}from"../DOM-C-Edb3tA.js";import{n as t}from"../Position-BwtxouxK.js";import{h as n,t as r}from"../Component-B0ShfPVi.js";import{t as i}from"../Glyph-_VeBacS2.js";import{t as a}from"../Text-CMKnK9uB.js";import{n as o,r as s}from"../VBox-DfJPWXqc.js";import{i as c,n as l,r as u,t as d}from"../List-nx8220Fi.js";import{t as f}from"../reduceModifierSelection-DTo8HyFl.js";var MultiSelectList=class extends l{constructor(e){super(e),this.getAria().setMultiselectable(!0),this._options.selectedIndices!==void 0&&this.applyInitialSelection(this._options.selectedIndices)}applyOptions(e){return super.applyOptions(e),e.selectedIndices!==void 0&&(this._options.selectedIndices=e.selectedIndices),this}setValues(e){let t=new Set(e);this._selectedSet.clear();for(let e=0;e<this._items.length;e++)t.has(this._items[e].key)&&this._selectedSet.add(e);return this._anchorIndex=this._selectedSet.size>0?Math.max(...this._selectedSet):null,this.refreshRowVisualState(),this.updateActiveDescendant(),this}setValue(e){return this.setValues(e)}getValue(){return[...this._selectedSet].sort((e,t)=>e-t).map(e=>this._items[e].key)}getSelectedRecords(){let e=this.getStore();if(!e)return[];let t=e.getRecords(),n=[...this._selectedSet].sort((e,t)=>e-t),r=[];for(let e of n)e<t.length&&r.push(t[e]);return r}setSelectedRecords(e){let t=this.getStore();if(!t)return this;let n=new Set(e),r=t.getRecords(),i=[];for(let e=0;e<this._items.length&&e<r.length;e++)n.has(r[e])&&i.push(this._items[e].key);return this.setValues(i)}reduceSelection(e,t){this._anchorIndex=f(this._selectedSet,this._anchorIndex,e,e=>e,e=>e,t),this._focusedIndex=e}notifyUserChange(){this.fireChange()}handleKeyDown(e){if(!(!this.isEnabled()||this.isReadOnly()))return(e.ctrlKey||e.metaKey)&&(e.key===`a`||e.key===`A`)?(this.selectAll(),{prevent:!0}):super.handleKeyDown(e)}selectAll(){if(this._items.length!==0){this._selectedSet.clear();for(let e=0;e<this._items.length;e++)this._selectedSet.add(e);this._anchorIndex=0,this._focusedIndex=this._items.length-1,this.refreshRowVisualState(),this.updateActiveDescendant(),this.notifyUserChange()}}applyInitialSelection(e){this._selectedSet.clear();for(let t of e)t>=0&&t<this._items.length&&this._selectedSet.add(t);this._selectedSet.size>0&&(this._anchorIndex=Math.max(...this._selectedSet)),this.refreshRowVisualState(),this.updateActiveDescendant()}},p=n(MultiSelectList),AbstractMarkerList=class extends r{_markerColumnWidth=0;constructor(e,n,r,i){super(r,{tag:e,padding:new t(0,0,0,25),layoutManager:new o({spacing:0,stretching:!0}),itemStyle:n,...i??{}}),this.setElementCSSRule(`listStyleType`,`none`),this.getAria().setRole(`list`)}applyOptions(e){return super.applyOptions(e),this.setStyle(e.itemStyle??this.getStyle()),this}getStyle(){return this._style??this._defaultOptions.itemStyle}setStyle(e){return this._style=e,this.renumber(),this}getMarkerColumnWidth(){return this._markerColumnWidth}doLayout(){return this.isLayoutPaused()?this:(this.syncMarkerColumn(),super.doLayout())}syncMarkerColumn(){let e=this.getComponents(),t=0;for(let n of e)t=Math.max(t,n.getMarkerWidth());this._markerColumnWidth=t;for(let n of e)n.setMarkerColumnWidth(t)}renumber(){let e=this.getComponents();for(let t=0;t<e.length;t++)e[t].setMarker(this.markerText(t))}addComponent(e,t){return super.addComponent(e,t),this}insertComponent(e,t,n){return super.insertComponent(e,t,n),this.renumber(),this}removeComponent(e){let t=super.removeComponent(e);return this.renumber(),t}sortComponents(e){return super.sortComponents(e),this.renumber(),this}},m=function(e){return e.NONE=`none`,e.DISC=`disc`,e.CIRCLE=`circle`,e.SQUARE=`square`,e}({}),h={[m.NONE]:``,[m.DISC]:`•`,[m.CIRCLE]:`◦`,[m.SQUARE]:`▪`},BulletedList=class extends AbstractMarkerList{constructor(e){super(`ul`,m.DISC,e)}markerText(e){return h[this.getStyle()]}},g=n(BulletedList),_=function(e){return e.NONE=`none`,e.DECIMAL=`decimal`,e.DECIMAL_LEADING_ZERO=`decimal-leading-zero`,e.LOWER_ALPHA=`lower-alpha`,e.LOWER_GREEK=`lower-greek`,e.LOWER_LATIN=`lower-latin`,e.LOWER_ROMAN=`lower-roman`,e.UPPER_ALPHA=`upper-alpha`,e.UPPER_GREEK=`upper-greek`,e.UPPER_LATIN=`upper-latin`,e.UPPER_ROMAN=`upper-roman`,e}({}),v=2,y=3999,b=`abcdefghijklmnopqrstuvwxyz`,x=`αβγδεζηθικλμνξοπρστυφχψω`,S=[[1e3,`m`],[900,`cm`],[500,`d`],[400,`cd`],[100,`c`],[90,`xc`],[50,`l`],[40,`xl`],[10,`x`],[9,`ix`],[5,`v`],[4,`iv`],[1,`i`]];function alphabetic(e,t){let n=t.length,r=``,i=e;for(;i>0;)--i,r=t[i%n]+r,i=Math.floor(i/n);return r}function roman(e){if(e>y)return String(e);let t=``,n=e;for(let[e,r]of S)for(;n>=e;)t+=r,n-=e;return t}var C={[_.DECIMAL]:e=>String(e),[_.DECIMAL_LEADING_ZERO]:e=>String(e).padStart(v,`0`),[_.LOWER_ALPHA]:e=>alphabetic(e,b),[_.LOWER_LATIN]:e=>alphabetic(e,b),[_.UPPER_ALPHA]:e=>alphabetic(e,b).toUpperCase(),[_.UPPER_LATIN]:e=>alphabetic(e,b).toUpperCase(),[_.LOWER_GREEK]:e=>alphabetic(e,x),[_.UPPER_GREEK]:e=>alphabetic(e,x).toUpperCase(),[_.LOWER_ROMAN]:e=>roman(e),[_.UPPER_ROMAN]:e=>roman(e).toUpperCase()},NumberedList=class extends AbstractMarkerList{constructor(e){super(`ol`,_.DECIMAL,e)}markerText(e){let t=this.getStyle();return t===_.NONE?``:C[t](e+1)+`.`}},w=n(NumberedList),T=4,E={tag:`li`},ListItem=class extends r{_key;_marker;_text;constructor(e,t,n,r){super(n,{...E,layoutManager:new s({spacing:T}),...r??{}}),this._key=e,this._marker=new a(void 0,{textAlign:`right`}),this._text=new a,this.addComponent(this._marker),this.addComponent(this._text,{weight:1}),this._marker.getAria().setHidden(!0),this.getAria().setRole(`listitem`),this.setText(this._options.text??t),this.setMarker(``)}applyOptions(e){return super.applyOptions(e),e.text!==void 0&&(this._options.text=e.text),this}getKey(){return this._key}getText(){return this._text.getText().valueOf()}setText(e){return this._text.setText(e),this}getMarker(){return this._marker.getText().valueOf()}setMarker(e){return this._marker.setText(e),this._marker.setDisplayed(e.length>0),this}getMarkerWidth(){return this._marker.getPreferredSize(),this._marker.getPreferredSizeConstraint()?.width??0}setMarkerColumnWidth(e){return this._marker.setMinSize({width:e,height:0}),this}render(){let t=super.render();return e.sink.apply(t,{dataset:{key:this._key}}),t}},D=n(ListItem),O=20,k=16,GlyphListItemRenderer=class extends c{_icon=null;_label;_currentGlyph=null;_measured=!1;constructor(){super(),this.clearInsets(),this._label=new a,this._label.clearInsets(),this._label.setAutoMeasure(!1)}update(t){let n=t.item.glyph?t.item.glyph:null;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=null,this._currentGlyph=n,n!==null&&(this._icon=new i(n),this._icon.clearInsets(),this._icon.setPointerEvents(`none`),t&&e.sink.insertBefore(t,this._icon.getElement(!0),this._label.getElement()??null))}this._label.setText(t.item.label),this._measured=!1}getContentWidth(){this._measured||=(this._label.measure(),!0);let e=this._label.getPreferredSize()?.width??0;return(this._icon?O:0)+e}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-k)/2)),this._icon.setWidth(k),this._icon.setHeight(k),this._icon.setAutoCommitStyle(!0));let r=n.x+(this._icon?O: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}},A=n(GlyphListItemRenderer);export{AbstractMarkerList,g as BulletedList,m as BulletedListItemStyle,A as GlyphListItemRenderer,u as LabelListItemRenderer,d as List,D as ListItem,c as ListItemRenderer,p as MultiSelectList,w as NumberedList,_ as NumberedListItemStyle};
1
+ import{t as e}from"../DOM-Cjh7_7TF.js";import{n as t}from"../Position-BIEU1Eze.js";import{h as n,t as r}from"../Component-D99-15Zt.js";import{t as i}from"../Glyph-DiEpD3gy.js";import{t as a}from"../Text-O-FWa5Cy.js";import{n as o,r as s}from"../VBox-DVe4UXwX.js";import{i as c,n as l,r as u,t as d}from"../List-CQbZK_pT.js";import{t as f}from"../reduceModifierSelection-DTo8HyFl.js";var MultiSelectList=class extends l{constructor(e){super(e),this.getAria().setMultiselectable(!0),this._options.selectedIndices!==void 0&&this.applyInitialSelection(this._options.selectedIndices)}applyOptions(e){return super.applyOptions(e),e.selectedIndices!==void 0&&(this._options.selectedIndices=e.selectedIndices),this}setValues(e){let t=new Set(e);this._selectedSet.clear();for(let e=0;e<this._items.length;e++)t.has(this._items[e].key)&&this._selectedSet.add(e);return this._anchorIndex=this._selectedSet.size>0?Math.max(...this._selectedSet):null,this.refreshRowVisualState(),this.updateActiveDescendant(),this}setValue(e){return this.setValues(e)}getValue(){return[...this._selectedSet].sort((e,t)=>e-t).map(e=>this._items[e].key)}getSelectedRecords(){let e=this.getStore();if(!e)return[];let t=e.getRecords(),n=[...this._selectedSet].sort((e,t)=>e-t),r=[];for(let e of n)e<t.length&&r.push(t[e]);return r}setSelectedRecords(e){let t=this.getStore();if(!t)return this;let n=new Set(e),r=t.getRecords(),i=[];for(let e=0;e<this._items.length&&e<r.length;e++)n.has(r[e])&&i.push(this._items[e].key);return this.setValues(i)}reduceSelection(e,t){this._anchorIndex=f(this._selectedSet,this._anchorIndex,e,e=>e,e=>e,t),this._focusedIndex=e}notifyUserChange(){this.fireChange()}handleKeyDown(e){if(!(!this.isEnabled()||this.isReadOnly()))return(e.ctrlKey||e.metaKey)&&(e.key===`a`||e.key===`A`)?(this.selectAll(),{prevent:!0}):super.handleKeyDown(e)}selectAll(){if(this._items.length!==0){this._selectedSet.clear();for(let e=0;e<this._items.length;e++)this._selectedSet.add(e);this._anchorIndex=0,this._focusedIndex=this._items.length-1,this.refreshRowVisualState(),this.updateActiveDescendant(),this.notifyUserChange()}}applyInitialSelection(e){this._selectedSet.clear();for(let t of e)t>=0&&t<this._items.length&&this._selectedSet.add(t);this._selectedSet.size>0&&(this._anchorIndex=Math.max(...this._selectedSet)),this.refreshRowVisualState(),this.updateActiveDescendant()}},p=n(MultiSelectList),AbstractMarkerList=class extends r{_markerColumnWidth=0;constructor(e,n,r,i){super(r,{tag:e,padding:new t(0,0,0,25),layoutManager:new o({spacing:0,stretching:!0}),itemStyle:n,...i??{}}),this.setElementCSSRule(`listStyleType`,`none`),this.getAria().setRole(`list`)}applyOptions(e){return super.applyOptions(e),this.setStyle(e.itemStyle??this.getStyle()),this}getStyle(){return this._style??this._defaultOptions.itemStyle}setStyle(e){return this._style=e,this.renumber(),this}getMarkerColumnWidth(){return this._markerColumnWidth}doLayout(){return this.isLayoutPaused()?this:(this.syncMarkerColumn(),super.doLayout())}syncMarkerColumn(){let e=this.getComponents(),t=0;for(let n of e)t=Math.max(t,n.getMarkerWidth());this._markerColumnWidth=t;for(let n of e)n.setMarkerColumnWidth(t)}renumber(){let e=this.getComponents();for(let t=0;t<e.length;t++)e[t].setMarker(this.markerText(t))}addComponent(e,t){return super.addComponent(e,t),this}insertComponent(e,t,n){return super.insertComponent(e,t,n),this.renumber(),this}removeComponent(e){let t=super.removeComponent(e);return this.renumber(),t}sortComponents(e){return super.sortComponents(e),this.renumber(),this}},m=function(e){return e.NONE=`none`,e.DISC=`disc`,e.CIRCLE=`circle`,e.SQUARE=`square`,e}({}),h={[m.NONE]:``,[m.DISC]:`•`,[m.CIRCLE]:`◦`,[m.SQUARE]:`▪`},BulletedList=class extends AbstractMarkerList{constructor(e){super(`ul`,m.DISC,e)}markerText(e){return h[this.getStyle()]}},g=n(BulletedList),_=function(e){return e.NONE=`none`,e.DECIMAL=`decimal`,e.DECIMAL_LEADING_ZERO=`decimal-leading-zero`,e.LOWER_ALPHA=`lower-alpha`,e.LOWER_GREEK=`lower-greek`,e.LOWER_LATIN=`lower-latin`,e.LOWER_ROMAN=`lower-roman`,e.UPPER_ALPHA=`upper-alpha`,e.UPPER_GREEK=`upper-greek`,e.UPPER_LATIN=`upper-latin`,e.UPPER_ROMAN=`upper-roman`,e}({}),v=2,y=3999,b=`abcdefghijklmnopqrstuvwxyz`,x=`αβγδεζηθικλμνξοπρστυφχψω`,S=[[1e3,`m`],[900,`cm`],[500,`d`],[400,`cd`],[100,`c`],[90,`xc`],[50,`l`],[40,`xl`],[10,`x`],[9,`ix`],[5,`v`],[4,`iv`],[1,`i`]];function alphabetic(e,t){let n=t.length,r=``,i=e;for(;i>0;)--i,r=t[i%n]+r,i=Math.floor(i/n);return r}function roman(e){if(e>y)return String(e);let t=``,n=e;for(let[e,r]of S)for(;n>=e;)t+=r,n-=e;return t}var C={[_.DECIMAL]:e=>String(e),[_.DECIMAL_LEADING_ZERO]:e=>String(e).padStart(v,`0`),[_.LOWER_ALPHA]:e=>alphabetic(e,b),[_.LOWER_LATIN]:e=>alphabetic(e,b),[_.UPPER_ALPHA]:e=>alphabetic(e,b).toUpperCase(),[_.UPPER_LATIN]:e=>alphabetic(e,b).toUpperCase(),[_.LOWER_GREEK]:e=>alphabetic(e,x),[_.UPPER_GREEK]:e=>alphabetic(e,x).toUpperCase(),[_.LOWER_ROMAN]:e=>roman(e),[_.UPPER_ROMAN]:e=>roman(e).toUpperCase()},NumberedList=class extends AbstractMarkerList{constructor(e){super(`ol`,_.DECIMAL,e)}markerText(e){let t=this.getStyle();return t===_.NONE?``:C[t](e+1)+`.`}},w=n(NumberedList),T=4,E={tag:`li`},ListItem=class extends r{_key;_marker;_text;constructor(e,t,n,r){super(n,{...E,layoutManager:new s({spacing:T}),...r??{}}),this._key=e,this._marker=new a(void 0,{textAlign:`right`}),this._text=new a,this.addComponent(this._marker),this.addComponent(this._text,{weight:1}),this._marker.getAria().setHidden(!0),this.getAria().setRole(`listitem`),this.setText(this._options.text??t),this.setMarker(``)}applyOptions(e){return super.applyOptions(e),e.text!==void 0&&(this._options.text=e.text),this}getKey(){return this._key}getText(){return this._text.getText().valueOf()}setText(e){return this._text.setText(e),this}getMarker(){return this._marker.getText().valueOf()}setMarker(e){return this._marker.setText(e),this._marker.setDisplayed(e.length>0),this}getMarkerWidth(){return this._marker.getPreferredSize(),this._marker.getPreferredSizeConstraint()?.width??0}setMarkerColumnWidth(e){return this._marker.setMinSize({width:e,height:0}),this}render(){let t=super.render();return e.sink.apply(t,{dataset:{key:this._key}}),t}},D=n(ListItem),O=20,k=16,GlyphListItemRenderer=class extends c{_icon=null;_label;_currentGlyph=null;_measured=!1;constructor(){super(),this.clearInsets(),this._label=new a,this._label.clearInsets(),this._label.setAutoMeasure(!1)}update(t){let n=t.item.glyph?t.item.glyph:null;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=null,this._currentGlyph=n,n!==null&&(this._icon=new i(n),this._icon.clearInsets(),this._icon.setPointerEvents(`none`),t&&e.sink.insertBefore(t,this._icon.getElement(!0),this._label.getElement()??null))}this._label.setText(t.item.label),this._measured=!1}getContentWidth(){this._measured||=(this._label.measure(),!0);let e=this._label.getPreferredSize()?.width??0;return(this._icon?O:0)+e}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-k)/2)),this._icon.setWidth(k),this._icon.setHeight(k),this._icon.setAutoCommitStyle(!0));let r=n.x+(this._icon?O: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}},A=n(GlyphListItemRenderer);export{AbstractMarkerList,g as BulletedList,m as BulletedListItemStyle,A as GlyphListItemRenderer,u as LabelListItemRenderer,d as List,D as ListItem,c as ListItemRenderer,p as MultiSelectList,w as NumberedList,_ as NumberedListItemStyle};
2
2
  //# sourceMappingURL=list.es.js.map
@@ -1,2 +1,2 @@
1
- import{t as e}from"../DOM-C-Edb3tA.js";import{n as t}from"../Position-BwtxouxK.js";import{S as n,h as r,t as i}from"../Component-B0ShfPVi.js";import{t as a}from"../Container-abY5Ww3W.js";import{t as o}from"../Glyph-_VeBacS2.js";import{t as s}from"../RovingTabIndex-pHEv5oLD.js";import{a as c}from"../Tooltip-CUOJOqQi.js";import{n as l,r as u}from"../VBox-DfJPWXqc.js";import{t as d}from"../Button-MpMIYBYJ.js";import{t as f}from"../Menu-Q0bpXXze.js";import{t as p}from"../Spacer-srdN2d2b.js";import{ellipsis_v as m}from"../glyphs/solid/ellipsis_v.es.js";var h=10,g={backgroundColor:`var(--ts-ui-menu-bar-btn-bg, transparent)`,foregroundColor:`var(--ts-ui-menu-bar-btn-fg, inherit)`,cursor:`pointer`,chromeless:!0,insets:new t(0,h,0,h)},_=4,MenuBarButton=class extends d{_onClickHandler;_onMouseOverHandler;constructor(e,t,r,i,a){super(e,{...i,styleRules:[...i?.styleRules??[],{suffix:`:hover`,styles:{backgroundColor:`var(--ts-ui-menu-bar-btn-hover-bg, rgba(30, 100, 200, 0.10))`}}]},{...g,...a??{}}),this._content.getLayoutManager().setComponentSpacing(_),this.getAria().setRole(`menuitem`),this.getAria().setHasPopup(`menu`),this.getAria().setExpanded(!1),this._onClickHandler=()=>{t()},this._onMouseOverHandler=()=>{r()},n.addListener(this,`click`,this._onClickHandler),n.addListener(this,`mouseover`,this._onMouseOverHandler)}computePreferredSize(){let{width:e}=super.computePreferredSize();return{width:e,height:28}}setActive(e){return this.setBackgroundColor(e?`var(--ts-ui-menu-bar-btn-hover-bg, rgba(30, 100, 200, 0.10))`:`var(--ts-ui-menu-bar-btn-bg, transparent)`),this.getAria().setExpanded(e),this.setTooltipSuppressed(e),this}},v=r(MenuBarButton),y={backgroundColor:`var(--ts-ui-menu-bar-bg, rgb(245, 245, 245))`,minSize:{width:0,height:28}},MenuBar=class extends i{_buttons=[];_panels=[];_openIndex=-1;_quickSwitchActive=!1;_keydownListening=!1;_onKeyDown;constructor(t,n){super(t,{...y,...n??{}});let r=new u;r.setComponentSpacing(0),r.setStretching(!0),this.setLayoutManager(r),this.setElementCSSRule(`borderBottom`,`1px solid var(--ts-ui-menu-bar-border, rgb(220, 220, 220))`),this.getAria().setRole(`menubar`),this.getAria().setLabel(`Main menu`),this.getAria().setTabIndex(0),this._onKeyDown=t=>{if(this._openIndex<0)return;let n=this._panels[this._openIndex],r=t.target===null?null:e.source.intern(t.target);if(!c.containsAcrossLayers(n,r))switch(t.key){case`Escape`:return this.closeMenu(),{stop:!0,prevent:!0};case`ArrowLeft`:return this.openMenu((this._openIndex-1+this._panels.length)%this._panels.length),{stop:!0,prevent:!0};case`ArrowRight`:return this.openMenu((this._openIndex+1)%this._panels.length),{stop:!0,prevent:!0};case`ArrowDown`:return n.getFocusedIndex()<0?n.focusItem(0):n.focusNext(),{stop:!0,prevent:!0};case`ArrowUp`:return n.focusPrev(),{stop:!0,prevent:!0};case`Enter`:return n.activateFocused(),{stop:!0,prevent:!0}}},t?.menus&&this.setMenus(t.menus)}setMenus(e){this._openIndex>=0&&this.closeMenu();for(let e of this._panels)e.dispose();this._buttons.length=0,this._panels.length=0,this.disposeAllComponents();for(let t=0;t<e.length;t++){let n=e[t],r=t,i=new v(n.label,()=>{this._openIndex===r?this.closeMenu():this.openMenu(r)},()=>{this._quickSwitchActive&&this._openIndex!==r&&this.openMenu(r)},n.glyph===void 0?void 0:{glyph:n.glyph}),a=new f(n.items,()=>{this.closeMenu()});this._buttons.push(i),this._panels.push(a),this.addComponent(i)}return this}destructor(){for(let e of this._panels)e.dispose();super.destructor()}openMenu(e){return e<0||e>=this._panels.length||e===this._openIndex?this:(this._openIndex>=0&&(this._panels[this._openIndex].close(),this._buttons[this._openIndex].setActive(!1)),this._openIndex=e,this._quickSwitchActive=!0,this._buttons[e].setActive(!0),this._panels[e].setExcludedElement(this._buttons[e].getElement(!0)),this._panels[e].open(this._buttons[e].getElement(!0)),this._keydownListening||(this._keydownListening=!0,n.addViewportListener(this,`keydown`,this._onKeyDown)),this)}closeMenu(){return this._openIndex<0?this:(this._panels[this._openIndex].close(),this._buttons[this._openIndex].setActive(!1),this._openIndex=-1,this._quickSwitchActive=!1,this._keydownListening&&(this._keydownListening=!1,n.removeViewportListener(this,`keydown`,this._onKeyDown)),this)}getOpenIndex(){return this._openIndex}},b=r(MenuBar);o.register(m);var x=4,S=`ellipsis-v`,C={orientation:`horizontal`,compact:!0,overflow:`clip`,overflowSide:`end`,flat:!0,backgroundColor:`var(--ts-ui-toolbar-bg, rgb(245, 245, 245))`},ToolBar=class extends a{constructor(e,t){super(e,{...C,...t??{}}),this.getAria().setRole(`toolbar`),this.getAria().setTabIndex(0),this._onKeyDown=e=>{let t=this._orientation===`horizontal`,n=t?`ArrowRight`:`ArrowDown`,r=t?`ArrowLeft`:`ArrowUp`;if(e.key===n)return this._rovingTabIndex.moveNext(),{prevent:!0};if(e.key===r)return this._rovingTabIndex.movePrev(),{prevent:!0}},n.addSubtreeListener(this,`keydown`,this._onKeyDown)}applyOptions(e){return super.applyOptions(e),this.applyOrientation(e.orientation??this.getOrientation(),e),this.setCompact(e.compact??this.isCompact()),this.setOverflowSide(e.overflowSide??this.getOverflowSide()),this.setOverflow(e.overflow??this.getOverflow()),this.setFlat(e.flat??this.isFlat()),this}setOrientation(e){return this.applyOrientation(e),this}applyOrientation(e,t){if(e===this._orientation)return;let n=this.getLayoutManager(),r=n instanceof u||n instanceof l?n.getComponentSpacing():0,i=e===`horizontal`?new u:new l;if(i.setComponentSpacing(r),i.setStretching(!0),this.setLayoutManager(i),this._orientation=e,this.getAria().setOrientation(e),t?.border!==void 0){this.setBorder(t.border);return}let a=`var(--ts-ui-toolbar-border, rgb(220, 220, 220))`;e===`horizontal`?this.setBorder({borderBottom:`1px solid ${a}`}):this.setBorder({borderRight:`1px solid ${a}`})}getOrientation(){return this._orientation??this._defaultOptions.orientation}setCompact(e){if(e===this._compact)return this;this._compact=e;let n=e?0:4;this.setInsets(new t(n,n,n,n));for(let t of this.getComponents())t instanceof d&&t.setCompact(e);return this.doLayout(),this}isCompact(){return this._compact??this._defaultOptions.compact}setOverflow(e){return this._overflowMode=e,e===`menu`&&this._overflowButton===void 0&&this._createOverflowAffordance(),this.doLayout(),this}_createOverflowAffordance(){let e=new d({flat:!0,glyph:S});e.setDisplayed(!1),e.getAria().setLabel(`More`),e.getAria().setHasPopup(`menu`),e.on(`action`,()=>{this._toggleOverflowMenu()}),this._overflowButton=e,this._overflowMenu=new f,this._overflowSpacer=p.flex(),super.addComponent(e),this._positionOverflowTrigger()}_positionOverflowTrigger(){let e=this._overflowButton,t=this._overflowSpacer;e!=null&&t!=null&&(this._overflowSide===`end`?(t.getParentComponent()!==this&&super.addComponent(t),this.moveComponent(e,this.getComponents().length-1),this.moveComponent(t,this.getComponents().length-2)):(t.getParentComponent()===this&&this.removeComponent(t),this.moveComponent(e,0)))}getOverflow(){return this._overflowMode??this._defaultOptions.overflow}setOverflowSide(e){return e===this._overflowSide?this:(this._overflowSide=e,this._positionOverflowTrigger(),this.doLayout(),this)}getOverflowSide(){return this._overflowSide??this._defaultOptions.overflowSide}setFlat(e){if(e===this._flat)return this;this._flat=e;for(let t of this.getComponents())t instanceof d&&t.setFlat(e);return this}isFlat(){return this._flat??this._defaultOptions.flat}addComponent(e,t){return super.addComponent(e,t),this._rovingTabIndex===void 0&&(this._rovingTabIndex=new s),e.getAria().getTabIndex()!==-1&&this._rovingTabIndex.add(e),this._flat&&e instanceof d&&e.setFlat(!0),this._compact&&e instanceof d&&e.setCompact(!0),this._positionOverflowTrigger(),this}doLayout(){return super.doLayout(),this._overflowMode!==`menu`||this._orientation!==`horizontal`||this._overflowButton===void 0||this._overflowButton===null||this._reflowOverflow(this._overflowButton),this}_reflowOverflow(e){let t=this.getInsets(),n=this.getWidth()-t.getLeft()-t.getRight(),r=this.getLayoutManager(),i=r instanceof u?r.getComponentSpacing():x,a=this.getComponents().filter(t=>t!==e&&t!==this._overflowSpacer),o=this._computeOverflowed(a,e,n,i),s=!1;for(let e of a){let t=o.includes(e);e.isDisplayed()===t&&(e.setDisplayed(!t),s=!0)}let c=o.length>0;e.isDisplayed()!==c&&(e.setDisplayed(c),s=!0),s&&super.doLayout()}_computeOverflowed(e,t,n,r){let widthOf=e=>e.getPreferredSize()?.width??0,i=0;for(let t=0;t<e.length;t++)i+=widthOf(e[t]),t>0&&(i+=r);if(i<=n)return[];let a=n-(widthOf(t)+r),o=[],s=0,c=!1;for(let t=0;t<e.length;t++){let n=e[t],i=s+widthOf(n)+(t>0?r:0);i>a&&(c=!0),c&&n instanceof d?o.push(n):s=i}return o}destructor(){this._overflowMenu?.dispose(),super.destructor()}_toggleOverflowMenu(){let t=this._overflowButton,n=this._overflowMenu;if(t==null||n==null)return;let r=[];for(let e of this.getComponents()){if(e===t||e.isDisplayed()||!(e instanceof d))continue;let n=e.getGlyph()?.getGlyphName();r.push({text:e.getText(),glyph:n,action:()=>{e.click()}})}let i=t.getElement();if(!i)return;let a=e.source.getViewportRect(t);n.toggleFor(i,a,r)}},w=r(ToolBar),T={backgroundColor:`var(--ts-ui-toolbar-separator-color, rgb(220, 220, 220))`},E=r(class ToolBarSeparator extends i{static THICKNESS=1;_orientation;constructor(e,t){super(e,{...T,...t??{}}),this._orientation=e?.orientation??`vertical`,this._orientation===`vertical`?(this.setPreferredSize({width:ToolBarSeparator.THICKNESS,height:0}),this.setMaxSize({width:ToolBarSeparator.THICKNESS,height:Number.MAX_VALUE})):(this.setPreferredSize({width:0,height:ToolBarSeparator.THICKNESS}),this.setMaxSize({width:Number.MAX_VALUE,height:ToolBarSeparator.THICKNESS})),this.getAria().setRole(`separator`),this.getAria().setOrientation(this._orientation),this.getAria().setTabIndex(-1)}getOrientation(){return this._orientation}});export{b as MenuBar,v as MenuBarButton,w as ToolBar,E as ToolBarSeparator};
1
+ import{t as e}from"../DOM-Cjh7_7TF.js";import{n as t}from"../Position-BIEU1Eze.js";import{S as n,h as r,t as i}from"../Component-D99-15Zt.js";import{t as a}from"../Container-FWRjgF6T.js";import{t as o}from"../Glyph-DiEpD3gy.js";import{t as s}from"../RovingTabIndex--w28AnXc.js";import{a as c}from"../Tooltip-CyICVu15.js";import{n as l,r as u}from"../VBox-DVe4UXwX.js";import{t as d}from"../Button-CnFAiQuV.js";import{t as f}from"../Menu-CwHluLGT.js";import{t as p}from"../Spacer-BznfGbwG.js";import{ellipsis_v as m}from"../glyphs/solid/ellipsis_v.es.js";var h=10,g={backgroundColor:`var(--ts-ui-menu-bar-btn-bg, transparent)`,foregroundColor:`var(--ts-ui-menu-bar-btn-fg, inherit)`,cursor:`pointer`,chromeless:!0,insets:new t(0,h,0,h)},_=4,MenuBarButton=class extends d{_onClickHandler;_onMouseOverHandler;constructor(e,t,r,i,a){super(e,{...i,styleRules:[...i?.styleRules??[],{suffix:`:hover`,styles:{backgroundColor:`var(--ts-ui-menu-bar-btn-hover-bg, rgba(30, 100, 200, 0.10))`}}]},{...g,...a??{}}),this._content.getLayoutManager().setComponentSpacing(_),this.getAria().setRole(`menuitem`),this.getAria().setHasPopup(`menu`),this.getAria().setExpanded(!1),this._onClickHandler=()=>{t()},this._onMouseOverHandler=()=>{r()},n.addListener(this,`click`,this._onClickHandler),n.addListener(this,`mouseover`,this._onMouseOverHandler)}computePreferredSize(){let{width:e}=super.computePreferredSize();return{width:e,height:28}}setActive(e){return this.setBackgroundColor(e?`var(--ts-ui-menu-bar-btn-hover-bg, rgba(30, 100, 200, 0.10))`:`var(--ts-ui-menu-bar-btn-bg, transparent)`),this.getAria().setExpanded(e),this.setTooltipSuppressed(e),this}},v=r(MenuBarButton),y={backgroundColor:`var(--ts-ui-menu-bar-bg, rgb(245, 245, 245))`,minSize:{width:0,height:28}},MenuBar=class extends i{_buttons=[];_panels=[];_openIndex=-1;_quickSwitchActive=!1;_keydownListening=!1;_onKeyDown;constructor(t,n){super(t,{...y,...n??{}});let r=new u;r.setComponentSpacing(0),r.setStretching(!0),this.setLayoutManager(r),this.setElementCSSRule(`borderBottom`,`1px solid var(--ts-ui-menu-bar-border, rgb(220, 220, 220))`),this.getAria().setRole(`menubar`),this.getAria().setLabel(`Main menu`),this.getAria().setTabIndex(0),this._onKeyDown=t=>{if(this._openIndex<0)return;let n=this._panels[this._openIndex],r=t.target===null?null:e.source.intern(t.target);if(!c.containsAcrossLayers(n,r))switch(t.key){case`Escape`:return this.closeMenu(),{stop:!0,prevent:!0};case`ArrowLeft`:return this.openMenu((this._openIndex-1+this._panels.length)%this._panels.length),{stop:!0,prevent:!0};case`ArrowRight`:return this.openMenu((this._openIndex+1)%this._panels.length),{stop:!0,prevent:!0};case`ArrowDown`:return n.getFocusedIndex()<0?n.focusItem(0):n.focusNext(),{stop:!0,prevent:!0};case`ArrowUp`:return n.focusPrev(),{stop:!0,prevent:!0};case`Enter`:return n.activateFocused(),{stop:!0,prevent:!0}}},t?.menus&&this.setMenus(t.menus)}setMenus(e){this._openIndex>=0&&this.closeMenu();for(let e of this._panels)e.dispose();this._buttons.length=0,this._panels.length=0,this.disposeAllComponents();for(let t=0;t<e.length;t++){let n=e[t],r=t,i=new v(n.label,()=>{this._openIndex===r?this.closeMenu():this.openMenu(r)},()=>{this._quickSwitchActive&&this._openIndex!==r&&this.openMenu(r)},n.glyph===void 0?void 0:{glyph:n.glyph}),a=new f(n.items,()=>{this.closeMenu()});this._buttons.push(i),this._panels.push(a),this.addComponent(i)}return this}destructor(){for(let e of this._panels)e.dispose();super.destructor()}openMenu(e){return e<0||e>=this._panels.length||e===this._openIndex?this:(this._openIndex>=0&&(this._panels[this._openIndex].close(),this._buttons[this._openIndex].setActive(!1)),this._openIndex=e,this._quickSwitchActive=!0,this._buttons[e].setActive(!0),this._panels[e].setExcludedElement(this._buttons[e].getElement(!0)),this._panels[e].open(this._buttons[e].getElement(!0)),this._keydownListening||(this._keydownListening=!0,n.addViewportListener(this,`keydown`,this._onKeyDown)),this)}closeMenu(){return this._openIndex<0?this:(this._panels[this._openIndex].close(),this._buttons[this._openIndex].setActive(!1),this._openIndex=-1,this._quickSwitchActive=!1,this._keydownListening&&(this._keydownListening=!1,n.removeViewportListener(this,`keydown`,this._onKeyDown)),this)}getOpenIndex(){return this._openIndex}},b=r(MenuBar);o.register(m);var x=4,S=`ellipsis-v`,C={orientation:`horizontal`,compact:!0,overflow:`clip`,overflowSide:`end`,flat:!0,backgroundColor:`var(--ts-ui-toolbar-bg, rgb(245, 245, 245))`},ToolBar=class extends a{constructor(e,t){super(e,{...C,...t??{}}),this.getAria().setRole(`toolbar`),this.getAria().setTabIndex(0),this._onKeyDown=e=>{let t=this._orientation===`horizontal`,n=t?`ArrowRight`:`ArrowDown`,r=t?`ArrowLeft`:`ArrowUp`;if(e.key===n)return this._rovingTabIndex.moveNext(),{prevent:!0};if(e.key===r)return this._rovingTabIndex.movePrev(),{prevent:!0}},n.addSubtreeListener(this,`keydown`,this._onKeyDown)}applyOptions(e){return super.applyOptions(e),this.applyOrientation(e.orientation??this.getOrientation(),e),this.setCompact(e.compact??this.isCompact()),this.setOverflowSide(e.overflowSide??this.getOverflowSide()),this.setOverflow(e.overflow??this.getOverflow()),this.setFlat(e.flat??this.isFlat()),this}setOrientation(e){return this.applyOrientation(e),this}applyOrientation(e,t){if(e===this._orientation)return;let n=this.getLayoutManager(),r=n instanceof u||n instanceof l?n.getComponentSpacing():0,i=e===`horizontal`?new u:new l;if(i.setComponentSpacing(r),i.setStretching(!0),this.setLayoutManager(i),this._orientation=e,this.getAria().setOrientation(e),t?.border!==void 0){this.setBorder(t.border);return}let a=`var(--ts-ui-toolbar-border, rgb(220, 220, 220))`;e===`horizontal`?this.setBorder({borderBottom:`1px solid ${a}`}):this.setBorder({borderRight:`1px solid ${a}`})}getOrientation(){return this._orientation??this._defaultOptions.orientation}setCompact(e){if(e===this._compact)return this;this._compact=e;let n=e?0:4;this.setInsets(new t(n,n,n,n));for(let t of this.getComponents())t instanceof d&&t.setCompact(e);return this.doLayout(),this}isCompact(){return this._compact??this._defaultOptions.compact}setOverflow(e){return this._overflowMode=e,e===`menu`&&this._overflowButton===void 0&&this._createOverflowAffordance(),this.doLayout(),this}_createOverflowAffordance(){let e=new d({flat:!0,glyph:S});e.setDisplayed(!1),e.getAria().setLabel(`More`),e.getAria().setHasPopup(`menu`),e.on(`action`,()=>{this._toggleOverflowMenu()}),this._overflowButton=e,this._overflowMenu=new f,this._overflowSpacer=p.flex(),super.addComponent(e),this._positionOverflowTrigger()}_positionOverflowTrigger(){let e=this._overflowButton,t=this._overflowSpacer;e!=null&&t!=null&&(this._overflowSide===`end`?(t.getParentComponent()!==this&&super.addComponent(t),this.moveComponent(e,this.getComponents().length-1),this.moveComponent(t,this.getComponents().length-2)):(t.getParentComponent()===this&&this.removeComponent(t),this.moveComponent(e,0)))}getOverflow(){return this._overflowMode??this._defaultOptions.overflow}setOverflowSide(e){return e===this._overflowSide?this:(this._overflowSide=e,this._positionOverflowTrigger(),this.doLayout(),this)}getOverflowSide(){return this._overflowSide??this._defaultOptions.overflowSide}setFlat(e){if(e===this._flat)return this;this._flat=e;for(let t of this.getComponents())t instanceof d&&t.setFlat(e);return this}isFlat(){return this._flat??this._defaultOptions.flat}addComponent(e,t){return super.addComponent(e,t),this._rovingTabIndex===void 0&&(this._rovingTabIndex=new s),e.getAria().getTabIndex()!==-1&&this._rovingTabIndex.add(e),this._flat&&e instanceof d&&e.setFlat(!0),this._compact&&e instanceof d&&e.setCompact(!0),this._positionOverflowTrigger(),this}doLayout(){return super.doLayout(),this._overflowMode!==`menu`||this._orientation!==`horizontal`||this._overflowButton===void 0||this._overflowButton===null||this._reflowOverflow(this._overflowButton),this}_reflowOverflow(e){let t=this.getInsets(),n=this.getWidth()-t.getLeft()-t.getRight(),r=this.getLayoutManager(),i=r instanceof u?r.getComponentSpacing():x,a=this.getComponents().filter(t=>t!==e&&t!==this._overflowSpacer),o=this._computeOverflowed(a,e,n,i),s=!1;for(let e of a){let t=o.includes(e);e.isDisplayed()===t&&(e.setDisplayed(!t),s=!0)}let c=o.length>0;e.isDisplayed()!==c&&(e.setDisplayed(c),s=!0),s&&super.doLayout()}_computeOverflowed(e,t,n,r){let widthOf=e=>e.getPreferredSize()?.width??0,i=0;for(let t=0;t<e.length;t++)i+=widthOf(e[t]),t>0&&(i+=r);if(i<=n)return[];let a=n-(widthOf(t)+r),o=[],s=0,c=!1;for(let t=0;t<e.length;t++){let n=e[t],i=s+widthOf(n)+(t>0?r:0);i>a&&(c=!0),c&&n instanceof d?o.push(n):s=i}return o}destructor(){this._overflowMenu?.dispose(),super.destructor()}_toggleOverflowMenu(){let t=this._overflowButton,n=this._overflowMenu;if(t==null||n==null)return;let r=[];for(let e of this.getComponents()){if(e===t||e.isDisplayed()||!(e instanceof d))continue;let n=e.getGlyph()?.getGlyphName();r.push({text:e.getText(),glyph:n,action:()=>{e.click()}})}let i=t.getElement();if(!i)return;let a=e.source.getViewportRect(t);n.toggleFor(i,a,r)}},w=r(ToolBar),T={backgroundColor:`var(--ts-ui-toolbar-separator-color, rgb(220, 220, 220))`},E=r(class ToolBarSeparator extends i{static THICKNESS=1;_orientation;constructor(e,t){super(e,{...T,...t??{}}),this._orientation=e?.orientation??`vertical`,this._orientation===`vertical`?(this.setPreferredSize({width:ToolBarSeparator.THICKNESS,height:0}),this.setMaxSize({width:ToolBarSeparator.THICKNESS,height:Number.MAX_VALUE})):(this.setPreferredSize({width:0,height:ToolBarSeparator.THICKNESS}),this.setMaxSize({width:Number.MAX_VALUE,height:ToolBarSeparator.THICKNESS})),this.getAria().setRole(`separator`),this.getAria().setOrientation(this._orientation),this.getAria().setTabIndex(-1)}getOrientation(){return this._orientation}});export{b as MenuBar,v as MenuBarButton,w as ToolBar,E as ToolBarSeparator};
2
2
  //# sourceMappingURL=menubar.es.js.map