@jimka/typescript-ui 0.5.0 → 0.6.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 (252) hide show
  1. package/dist/lib/{AbstractInput-B10DfLOf.js → AbstractInput-sRNPzWel.js} +2 -2
  2. package/dist/lib/{AbstractInput-B10DfLOf.js.map → AbstractInput-sRNPzWel.js.map} +1 -1
  3. package/dist/lib/Anchor-CwRhdP2J.js +2 -0
  4. package/dist/lib/Anchor-CwRhdP2J.js.map +1 -0
  5. package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js +2 -0
  6. package/dist/lib/AnimatedDropdown-H3Rh-YMZ.js.map +1 -0
  7. package/dist/lib/Border-0DJFDiij.js +2 -0
  8. package/dist/lib/Border-0DJFDiij.js.map +1 -0
  9. package/dist/lib/Button-MpMIYBYJ.js +2 -0
  10. package/dist/lib/Button-MpMIYBYJ.js.map +1 -0
  11. package/dist/lib/{Card-CD3jxshU.js → Card-QYo27r5b.js} +2 -2
  12. package/dist/lib/{Card-CD3jxshU.js.map → Card-QYo27r5b.js.map} +1 -1
  13. package/dist/lib/Checkbox-D0JYK-wc.js +2 -0
  14. package/dist/lib/Checkbox-D0JYK-wc.js.map +1 -0
  15. package/dist/lib/CheckboxMenuRow-CesLhSnp.js +2 -0
  16. package/dist/lib/CheckboxMenuRow-CesLhSnp.js.map +1 -0
  17. package/dist/lib/{CodeEditor-BGlB232h.js → CodeEditor-N1FQodcF.js} +2 -2
  18. package/dist/lib/CodeEditor-N1FQodcF.js.map +1 -0
  19. package/dist/lib/ComboBox-Dx8Tk9yg.js +2 -0
  20. package/dist/lib/ComboBox-Dx8Tk9yg.js.map +1 -0
  21. package/dist/lib/Component-B0ShfPVi.js +2 -0
  22. package/dist/lib/Component-B0ShfPVi.js.map +1 -0
  23. package/dist/lib/Container-abY5Ww3W.js +2 -0
  24. package/dist/lib/{Container-C7RPLQEc.js.map → Container-abY5Ww3W.js.map} +1 -1
  25. package/dist/lib/{DOM-Ba8YRVel.js → DOM-C-Edb3tA.js} +2 -2
  26. package/dist/lib/DOM-C-Edb3tA.js.map +1 -0
  27. package/dist/lib/Dialog-cbA9V17e.js +2 -0
  28. package/dist/lib/Dialog-cbA9V17e.js.map +1 -0
  29. package/dist/lib/{FieldDecorator-HG65hEtk.js → FieldDecorator-BlYMfZ9L.js} +2 -2
  30. package/dist/lib/{FieldDecorator-HG65hEtk.js.map → FieldDecorator-BlYMfZ9L.js.map} +1 -1
  31. package/dist/lib/{Fit-Cg3dPyZg.js → Fit-BhlB-HAo.js} +2 -2
  32. package/dist/lib/{Fit-Cg3dPyZg.js.map → Fit-BhlB-HAo.js.map} +1 -1
  33. package/dist/lib/{FloatingPanel-D5buuVrQ.js → FloatingPanel-DkJXsZ2D.js} +2 -2
  34. package/dist/lib/{FloatingPanel-D5buuVrQ.js.map → FloatingPanel-DkJXsZ2D.js.map} +1 -1
  35. package/dist/lib/{Glyph-DeJF_zsR.js → Glyph-_VeBacS2.js} +2 -2
  36. package/dist/lib/{Glyph-DeJF_zsR.js.map → Glyph-_VeBacS2.js.map} +1 -1
  37. package/dist/lib/{Grid-BYBohJIA.js → Grid-Daiz7F5d.js} +2 -2
  38. package/dist/lib/Grid-Daiz7F5d.js.map +1 -0
  39. package/dist/lib/GridConstraints-C58LuTqM.js +2 -0
  40. package/dist/lib/{GridConstraints-Bts284FI.js.map → GridConstraints-C58LuTqM.js.map} +1 -1
  41. package/dist/lib/{Header-BIFJK9nR.js → Header-Dql3Zxc6.js} +2 -2
  42. package/dist/lib/{Header-BIFJK9nR.js.map → Header-Dql3Zxc6.js.map} +1 -1
  43. package/dist/lib/{IconText-Dsb1xS-E.js → IconText-PUjhTLlp.js} +2 -2
  44. package/dist/lib/{IconText-Dsb1xS-E.js.map → IconText-PUjhTLlp.js.map} +1 -1
  45. package/dist/lib/LayoutSerialization-CMxunLfV.js +2 -0
  46. package/dist/lib/LayoutSerialization-CMxunLfV.js.map +1 -0
  47. package/dist/lib/List-nx8220Fi.js +2 -0
  48. package/dist/lib/{List-BPd-IXZR.js.map → List-nx8220Fi.js.map} +1 -1
  49. package/dist/lib/MemoryStore-DhPoU-7X.js +2 -0
  50. package/dist/lib/MemoryStore-DhPoU-7X.js.map +1 -0
  51. package/dist/lib/Menu-Q0bpXXze.js +2 -0
  52. package/dist/lib/Menu-Q0bpXXze.js.map +1 -0
  53. package/dist/lib/{MenuButton-BR4KOFld.js → MenuButton-DCXi0tsP.js} +2 -2
  54. package/dist/lib/{MenuButton-BR4KOFld.js.map → MenuButton-DCXi0tsP.js.map} +1 -1
  55. package/dist/lib/OverlayFade-3pof2AJH.js +2 -0
  56. package/dist/lib/OverlayFade-3pof2AJH.js.map +1 -0
  57. package/dist/lib/{Panel-CpNQTLNF.js → Panel-Cy1pdlWO.js} +2 -2
  58. package/dist/lib/{Panel-CpNQTLNF.js.map → Panel-Cy1pdlWO.js.map} +1 -1
  59. package/dist/lib/{Position-PBVBW1JS.js → Position-BwtxouxK.js} +2 -2
  60. package/dist/lib/{Position-PBVBW1JS.js.map → Position-BwtxouxK.js.map} +1 -1
  61. package/dist/lib/{ProgressSpinner-lAsK26C-.js → ProgressSpinner-DK8xEQ9y.js} +2 -2
  62. package/dist/lib/{ProgressSpinner-lAsK26C-.js.map → ProgressSpinner-DK8xEQ9y.js.map} +1 -1
  63. package/dist/lib/RadioButton-BEwpqg1k.js +2 -0
  64. package/dist/lib/{RadioButton-CCcIaL54.js.map → RadioButton-BEwpqg1k.js.map} +1 -1
  65. package/dist/lib/RadioMenuRow-DP5qPyFR.js +2 -0
  66. package/dist/lib/RadioMenuRow-DP5qPyFR.js.map +1 -0
  67. package/dist/lib/{RovingTabIndex-C2Vzq0IX.js → RovingTabIndex-pHEv5oLD.js} +2 -2
  68. package/dist/lib/{RovingTabIndex-C2Vzq0IX.js.map → RovingTabIndex-pHEv5oLD.js.map} +1 -1
  69. package/dist/lib/Scrollbar-t8fFrUVQ.js +2 -0
  70. package/dist/lib/Scrollbar-t8fFrUVQ.js.map +1 -0
  71. package/dist/lib/{Slider-DZ9drUxn.js → Slider-CTbwR6HR.js} +2 -2
  72. package/dist/lib/{Slider-DZ9drUxn.js.map → Slider-CTbwR6HR.js.map} +1 -1
  73. package/dist/lib/{Spacer-SDhOMp2g.js → Spacer-srdN2d2b.js} +2 -2
  74. package/dist/lib/{Spacer-SDhOMp2g.js.map → Spacer-srdN2d2b.js.map} +1 -1
  75. package/dist/lib/TabButton-DLoMQzky.js +2 -0
  76. package/dist/lib/TabButton-DLoMQzky.js.map +1 -0
  77. package/dist/lib/TabCloseButton-CY7BGitY.js +2 -0
  78. package/dist/lib/TabCloseButton-CY7BGitY.js.map +1 -0
  79. package/dist/lib/{Text-CdHf3B-1.js → Text-CMKnK9uB.js} +2 -2
  80. package/dist/lib/{Text-CdHf3B-1.js.map → Text-CMKnK9uB.js.map} +1 -1
  81. package/dist/lib/{Tooltip-B_UF5bXD.js → Tooltip-CUOJOqQi.js} +3 -3
  82. package/dist/lib/Tooltip-CUOJOqQi.js.map +1 -0
  83. package/dist/lib/Tree-C64JNPWJ.js +2 -0
  84. package/dist/lib/Tree-C64JNPWJ.js.map +1 -0
  85. package/dist/lib/VBox-DfJPWXqc.js +2 -0
  86. package/dist/lib/VBox-DfJPWXqc.js.map +1 -0
  87. package/dist/lib/VirtualScroller-DTIn19o1.js +2 -0
  88. package/dist/lib/VirtualScroller-DTIn19o1.js.map +1 -0
  89. package/dist/lib/assets/StoreWorker-B5NwRM2I.js +2 -0
  90. package/dist/lib/assets/StoreWorker-B5NwRM2I.js.map +1 -0
  91. package/dist/lib/component/button.es.js +1 -1
  92. package/dist/lib/component/button.es.js.map +1 -1
  93. package/dist/lib/component/chart.es.js +1 -1
  94. package/dist/lib/component/container.es.js +1 -1
  95. package/dist/lib/component/container.es.js.map +1 -1
  96. package/dist/lib/component/diagram.es.js +1 -1
  97. package/dist/lib/component/diagram.es.js.map +1 -1
  98. package/dist/lib/component/display.es.js +1 -1
  99. package/dist/lib/component/display.es.js.map +1 -1
  100. package/dist/lib/component/editor.es.js +2 -2
  101. package/dist/lib/component/editor.es.js.map +1 -1
  102. package/dist/lib/component/input.es.js +1 -1
  103. package/dist/lib/component/input.es.js.map +1 -1
  104. package/dist/lib/component/list.es.js +1 -1
  105. package/dist/lib/component/list.es.js.map +1 -1
  106. package/dist/lib/component/menubar.es.js +1 -1
  107. package/dist/lib/component/menubar.es.js.map +1 -1
  108. package/dist/lib/component/table.es.js +6 -3
  109. package/dist/lib/component/table.es.js.map +1 -1
  110. package/dist/lib/component/tree.es.js +1 -1
  111. package/dist/lib/core.es.js +1 -1
  112. package/dist/lib/core.es.js.map +1 -1
  113. package/dist/lib/data.es.js +1 -1
  114. package/dist/lib/glyphs/solid/index.es.js +1 -1
  115. package/dist/lib/layout.es.js +1 -1
  116. package/dist/lib/layout.es.js.map +1 -1
  117. package/dist/lib/overlay.es.js +1 -1
  118. package/dist/lib/overlay.es.js.map +1 -1
  119. package/dist/lib/primitive.es.js +1 -1
  120. package/dist/lib/router.es.js +1 -1
  121. package/dist/lib/router.es.js.map +1 -1
  122. package/dist/lib/selectionsEqual-gMG7gCVI.js +2 -0
  123. package/dist/lib/selectionsEqual-gMG7gCVI.js.map +1 -0
  124. package/dist/lib/types/component/button/Button.d.ts +13 -0
  125. package/dist/lib/types/component/button/MenuButton.d.ts +1 -0
  126. package/dist/lib/types/component/button/PopupButton.d.ts +22 -0
  127. package/dist/lib/types/component/button/TabButton.d.ts +4 -0
  128. package/dist/lib/types/component/button/index.d.ts +2 -0
  129. package/dist/lib/types/component/container/CheckboxMenuRow.d.ts +33 -0
  130. package/dist/lib/types/component/container/CollapseButton.d.ts +11 -3
  131. package/dist/lib/types/component/container/MenuItem.d.ts +15 -5
  132. package/dist/lib/types/component/container/MenuRow.d.ts +24 -0
  133. package/dist/lib/types/component/container/MenuSeparator.d.ts +4 -2
  134. package/dist/lib/types/component/container/RadioMenuRow.d.ts +33 -0
  135. package/dist/lib/types/component/container/Scrollbar.d.ts +5 -0
  136. package/dist/lib/types/component/container/SplitGutter.d.ts +7 -2
  137. package/dist/lib/types/component/container/TabBar.d.ts +2 -0
  138. package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
  139. package/dist/lib/types/component/container/index.d.ts +6 -1
  140. package/dist/lib/types/component/display/WebGLCanvas.d.ts +1 -0
  141. package/dist/lib/types/component/input/AbstractCalendarDropdown.d.ts +2 -0
  142. package/dist/lib/types/component/input/AbstractPickerField.d.ts +3 -2
  143. package/dist/lib/types/component/list/AbstractSelectableList.d.ts +1 -1
  144. package/dist/lib/types/component/list/MultiSelectList.d.ts +2 -1
  145. package/dist/lib/types/component/shared/VirtualRowView.d.ts +2 -0
  146. package/dist/lib/types/component/table/Body.d.ts +22 -1
  147. package/dist/lib/types/component/table/Column.d.ts +3 -1
  148. package/dist/lib/types/component/table/ColumnConfig.d.ts +2 -0
  149. package/dist/lib/types/component/table/ColumnFilter.d.ts +27 -0
  150. package/dist/lib/types/component/table/Header.d.ts +30 -3
  151. package/dist/lib/types/component/table/Row.d.ts +4 -0
  152. package/dist/lib/types/component/table/Table.d.ts +29 -0
  153. package/dist/lib/types/component/table/TableExporter.d.ts +4 -3
  154. package/dist/lib/types/component/table/TreeBody.d.ts +2 -1
  155. package/dist/lib/types/component/table/cell/CellText.d.ts +9 -0
  156. package/dist/lib/types/component/table/cell/Filter.d.ts +54 -0
  157. package/dist/lib/types/component/table/cell/FilterClauseBadge.d.ts +21 -0
  158. package/dist/lib/types/component/table/cell/GroupSeparator.d.ts +9 -0
  159. package/dist/lib/types/component/table/cell/Header.d.ts +1 -0
  160. package/dist/lib/types/component/table/cell/editor/CellEditor.d.ts +1 -0
  161. package/dist/lib/types/component/table/cell/renderer/CellRenderer.d.ts +1 -0
  162. package/dist/lib/types/component/table/cell/renderer/Combo.d.ts +2 -0
  163. package/dist/lib/types/component/table/cell/renderer/Date.d.ts +2 -0
  164. package/dist/lib/types/component/table/cell/renderer/DateTime.d.ts +2 -0
  165. package/dist/lib/types/component/table/cell/renderer/Filter.d.ts +16 -0
  166. package/dist/lib/types/component/table/cell/renderer/Glyph.d.ts +1 -0
  167. package/dist/lib/types/component/table/cell/renderer/Link.d.ts +2 -0
  168. package/dist/lib/types/component/table/cell/renderer/Number.d.ts +3 -1
  169. package/dist/lib/types/component/table/cell/renderer/String.d.ts +2 -0
  170. package/dist/lib/types/component/table/cell/renderer/Time.d.ts +2 -0
  171. package/dist/lib/types/component/table/cell/renderer/TreeCell.d.ts +1 -0
  172. package/dist/lib/types/component/table/index.d.ts +6 -0
  173. package/dist/lib/types/component/tree/Tree.d.ts +17 -1
  174. package/dist/lib/types/component/tree/index.d.ts +1 -1
  175. package/dist/lib/types/core/AnimatedDropdown.d.ts +0 -9
  176. package/dist/lib/types/core/Body.d.ts +4 -0
  177. package/dist/lib/types/core/ClassStyleRules.d.ts +1 -0
  178. package/dist/lib/types/core/DOM.d.ts +10 -0
  179. package/dist/lib/types/core/Event.d.ts +11 -2
  180. package/dist/lib/types/core/OverlayFade.d.ts +12 -0
  181. package/dist/lib/types/core/OverlayPosition.d.ts +6 -0
  182. package/dist/lib/types/core/Theme.d.ts +8 -0
  183. package/dist/lib/types/core/index.d.ts +5 -3
  184. package/dist/lib/types/data/AbstractStore.d.ts +3 -0
  185. package/dist/lib/types/data/FilterDescriptor.d.ts +13 -0
  186. package/dist/lib/types/data/index.d.ts +2 -1
  187. package/dist/lib/types/data/temporalText.d.ts +2 -0
  188. package/dist/lib/types/layout/BoxLayout.d.ts +6 -1
  189. package/dist/lib/types/layout/Grid.d.ts +1 -0
  190. package/dist/lib/types/layout/HFlow.d.ts +1 -1
  191. package/dist/lib/types/layout/Split.d.ts +10 -1
  192. package/dist/lib/types/layout/Tab.d.ts +7 -1
  193. package/dist/lib/types/layout/VFlow.d.ts +1 -1
  194. package/dist/lib/types/layout/index.d.ts +1 -1
  195. package/dist/lib/types/overlay/Dock.d.ts +1 -0
  196. package/dist/lib/types/overlay/Menu.d.ts +1 -1
  197. package/dist/lib/types/overlay/Popover.d.ts +3 -0
  198. package/dist/lib/types/overlay/PopupPanel.d.ts +17 -0
  199. package/dist/lib/types/overlay/Window.d.ts +2 -0
  200. package/dist/lib/types/overlay/index.d.ts +2 -0
  201. package/dist/lib/types/router/RoutePattern.d.ts +7 -0
  202. package/dist/lib/types/router/Router.d.ts +6 -2
  203. package/dist/lib/types/router/index.d.ts +1 -1
  204. package/dist/lib/validation.es.js +1 -1
  205. package/llms.txt +4 -0
  206. package/package.json +1 -1
  207. package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js +0 -2
  208. package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js.map +0 -1
  209. package/dist/lib/Anchor-BsblS5it.js +0 -2
  210. package/dist/lib/Anchor-BsblS5it.js.map +0 -1
  211. package/dist/lib/AnimatedDropdown-kL47HPGP.js +0 -2
  212. package/dist/lib/AnimatedDropdown-kL47HPGP.js.map +0 -1
  213. package/dist/lib/Border-CNS6aEXB.js +0 -2
  214. package/dist/lib/Border-CNS6aEXB.js.map +0 -1
  215. package/dist/lib/Button-T16zSZip.js +0 -2
  216. package/dist/lib/Button-T16zSZip.js.map +0 -1
  217. package/dist/lib/CodeEditor-BGlB232h.js.map +0 -1
  218. package/dist/lib/ComboBox-C9FYMuLv.js +0 -2
  219. package/dist/lib/ComboBox-C9FYMuLv.js.map +0 -1
  220. package/dist/lib/Component-w65rPK75.js +0 -2
  221. package/dist/lib/Component-w65rPK75.js.map +0 -1
  222. package/dist/lib/Container-C7RPLQEc.js +0 -2
  223. package/dist/lib/DOM-Ba8YRVel.js.map +0 -1
  224. package/dist/lib/DragManager-UvPHSoRm.js +0 -2
  225. package/dist/lib/DragManager-UvPHSoRm.js.map +0 -1
  226. package/dist/lib/Grid-BYBohJIA.js.map +0 -1
  227. package/dist/lib/GridConstraints-Bts284FI.js +0 -2
  228. package/dist/lib/LayoutSerialization-ySzY1h2l.js +0 -2
  229. package/dist/lib/LayoutSerialization-ySzY1h2l.js.map +0 -1
  230. package/dist/lib/LayoutSizes-DKDK1Cle.js +0 -2
  231. package/dist/lib/LayoutSizes-DKDK1Cle.js.map +0 -1
  232. package/dist/lib/List-BPd-IXZR.js +0 -2
  233. package/dist/lib/MemoryStore-BgP7-Uzn.js +0 -2
  234. package/dist/lib/MemoryStore-BgP7-Uzn.js.map +0 -1
  235. package/dist/lib/Menu-C0roOCY7.js +0 -2
  236. package/dist/lib/Menu-C0roOCY7.js.map +0 -1
  237. package/dist/lib/RadioButton-CCcIaL54.js +0 -2
  238. package/dist/lib/Scrollbar-C3ZZyZ1e.js +0 -2
  239. package/dist/lib/Scrollbar-C3ZZyZ1e.js.map +0 -1
  240. package/dist/lib/TabButton-DNo4ZgV8.js +0 -2
  241. package/dist/lib/TabButton-DNo4ZgV8.js.map +0 -1
  242. package/dist/lib/Tooltip-B_UF5bXD.js.map +0 -1
  243. package/dist/lib/Tree-C7qLbIYH.js +0 -2
  244. package/dist/lib/Tree-C7qLbIYH.js.map +0 -1
  245. package/dist/lib/VBox-32fxpkDl.js +0 -2
  246. package/dist/lib/VBox-32fxpkDl.js.map +0 -1
  247. package/dist/lib/VirtualScroller-cvFNMS7U.js +0 -2
  248. package/dist/lib/VirtualScroller-cvFNMS7U.js.map +0 -1
  249. package/dist/lib/assets/StoreWorker-CgOBYoai.js +0 -2
  250. package/dist/lib/assets/StoreWorker-CgOBYoai.js.map +0 -1
  251. package/dist/lib/selectionsEqual-BrTxPMmK.js +0 -2
  252. package/dist/lib/selectionsEqual-BrTxPMmK.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { Component, ComponentOptions } from "../../core/Component.js";
2
2
  import type { AxisOrientation } from "../../primitive/Axis.js";
3
3
  export type ScrollbarEvent = "scroll";
4
+ export declare const TRACK_WIDTH = 12;
4
5
  export type ScrollbarListener = (position: number) => void;
5
6
  export interface ScrollbarOptions extends ComponentOptions {
6
7
  arrowsEnabled?: boolean;
@@ -9,6 +10,7 @@ export interface ScrollbarOptions extends ComponentOptions {
9
10
  scroll?: ScrollbarListener;
10
11
  };
11
12
  }
13
+ export declare function isScrollbarTarget(e: Event): boolean;
12
14
  declare class Scrollbar extends Component<ScrollbarOptions> {
13
15
  private _orientation;
14
16
  private _thumb;
@@ -19,6 +21,8 @@ declare class Scrollbar extends Component<ScrollbarOptions> {
19
21
  private _thumbPos;
20
22
  private _dragStartClient;
21
23
  private _dragStartScroll;
24
+ private _thumbHovered;
25
+ private _thumbDragging;
22
26
  private _listeners;
23
27
  private _arrowsEnabled;
24
28
  private _arrowStep;
@@ -32,6 +36,7 @@ declare class Scrollbar extends Component<ScrollbarOptions> {
32
36
  private disposeArrows;
33
37
  private _onThumbMouseOver;
34
38
  private _onThumbMouseOut;
39
+ private updateThumbFill;
35
40
  on(event: "scroll", listener: ScrollbarListener): this;
36
41
  off(event: ScrollbarEvent, listener: Function): this;
37
42
  protected emit(event: "scroll", position: number): void;
@@ -1,20 +1,22 @@
1
1
  import { Component, ComponentOptions } from "../../core/Component.js";
2
2
  import type { Handle } from "../../core/DOM.js";
3
- import { CollapseDirection } from "../../component/container/CollapseButton.js";
3
+ import { CollapseDirection, CollapseTrigger } from "../../component/container/CollapseButton.js";
4
4
  import { Event } from "../../core/Event.js";
5
- export type SplitGutterEvent = "dragstart" | "drag" | "dragend" | "collapse";
5
+ export type SplitGutterEvent = "dragstart" | "drag" | "dragend" | "collapse" | "contextmenu";
6
6
  export interface SplitGutterOptions extends ComponentOptions {
7
7
  orientation?: string;
8
8
  collapsible?: boolean;
9
9
  movable?: boolean;
10
10
  opaque?: boolean;
11
11
  collapseDirection?: CollapseDirection;
12
+ collapseTrigger?: CollapseTrigger;
12
13
  expandedBackground?: string;
13
14
  listeners?: {
14
15
  dragstart?: (position: number) => void;
15
16
  drag?: (position: number) => void;
16
17
  dragend?: () => void;
17
18
  collapse?: () => void;
19
+ contextmenu?: (x: number, y: number) => void;
18
20
  };
19
21
  }
20
22
  declare class SplitGutter extends Component<SplitGutterOptions> {
@@ -24,6 +26,7 @@ declare class SplitGutter extends Component<SplitGutterOptions> {
24
26
  private _collapseButton;
25
27
  private _opaque;
26
28
  private _collapseDirection;
29
+ private _collapseTrigger;
27
30
  private _expandedBackground;
28
31
  private _tooltipText;
29
32
  private _listeners;
@@ -45,11 +48,13 @@ declare class SplitGutter extends Component<SplitGutterOptions> {
45
48
  on(event: "drag", listener: (position: number) => void): this;
46
49
  on(event: "dragend", listener: () => void): this;
47
50
  on(event: "collapse", listener: () => void): this;
51
+ on(event: "contextmenu", listener: (x: number, y: number) => void): this;
48
52
  off(event: SplitGutterEvent, listener: Function): this;
49
53
  protected emit(event: "dragstart", position: number): void;
50
54
  protected emit(event: "drag", position: number): void;
51
55
  protected emit(event: "dragend"): void;
52
56
  protected emit(event: "collapse"): void;
57
+ protected emit(event: "contextmenu", x: number, y: number): void;
53
58
  protected destructor(): void;
54
59
  private _dispatchDrag;
55
60
  onDragStart(evnt: MouseEvent): void;
@@ -110,6 +110,8 @@ declare class TabBar extends Container<TabBarOptions> {
110
110
  isEntryCloseable(id: string): boolean;
111
111
  getEntryName(id: string): string;
112
112
  setEntryContentId(id: string, contentId: string): this;
113
+ setEntryBusy(id: string, busy: boolean): this;
114
+ isEntryBusy(id: string): boolean;
113
115
  getEntryButtonId(id: string): string;
114
116
  private entryById;
115
117
  private activeEntry;
@@ -34,7 +34,7 @@ declare class WindowBorder extends Component<WindowBorderOptions> {
34
34
  private _dispatchDrag;
35
35
  isSnapTarget(): boolean;
36
36
  setSnapTarget(value: boolean): this;
37
- onDragStart(): void;
37
+ onDragStart(e?: MouseEvent): void;
38
38
  onDragStop(): Event.ListenerResult;
39
39
  private dragCursor;
40
40
  render(): import("../../core/DOM.js").Handle;
@@ -8,8 +8,13 @@ export { Legend } from '../../component/container/Legend.js';
8
8
  export type { LegendOptions } from '../../component/container/Legend.js';
9
9
  export { MenuItem } from '../../component/container/MenuItem.js';
10
10
  export type { MenuItemConfig, MenuConfig, MenuItemCSSVarPrefix, MenuItemOptions } from '../../component/container/MenuItem.js';
11
+ export { MenuRow } from '../../component/container/MenuRow.js';
11
12
  export { MenuSeparator } from '../../component/container/MenuSeparator.js';
12
13
  export type { MenuSeparatorOptions } from '../../component/container/MenuSeparator.js';
14
+ export { CheckboxMenuRow } from '../../component/container/CheckboxMenuRow.js';
15
+ export type { CheckboxMenuRowOptions, CheckboxMenuRowEvent } from '../../component/container/CheckboxMenuRow.js';
16
+ export { RadioMenuRow } from '../../component/container/RadioMenuRow.js';
17
+ export type { RadioMenuRowOptions, RadioMenuRowEvent } from '../../component/container/RadioMenuRow.js';
13
18
  export { Scrollbar } from '../../component/container/Scrollbar.js';
14
19
  export type { ScrollbarListener, ScrollbarOptions, ScrollbarEvent } from '../../component/container/Scrollbar.js';
15
20
  export { ScrollStrip } from '../../component/container/ScrollStrip.js';
@@ -31,7 +36,7 @@ export type { AccordionHeaderOptions } from '../../component/container/Accordion
31
36
  export { AccordionIndicator } from '../../component/container/AccordionIndicator.js';
32
37
  export type { AccordionIndicatorOptions } from '../../component/container/AccordionIndicator.js';
33
38
  export { CollapseButton } from '../../component/container/CollapseButton.js';
34
- export type { CollapseButtonOptions, CollapseButtonEvent, CollapseDirection } from '../../component/container/CollapseButton.js';
39
+ export type { CollapseButtonOptions, CollapseButtonEvent, CollapseDirection, CollapseTrigger } from '../../component/container/CollapseButton.js';
35
40
  export { TabBar } from '../../component/container/TabBar.js';
36
41
  export type { TabBarOptions, TabBarEvent, TabToolDescriptor } from '../../component/container/TabBar.js';
37
42
  export { TabPanel } from '../../component/container/TabPanel.js';
@@ -16,6 +16,7 @@ declare class WebGLCanvas extends Component<WebGLCanvasOptions> {
16
16
  private _elapsedMs;
17
17
  private _animationRequested;
18
18
  private _contextLost;
19
+ private readonly _onContextLost;
19
20
  private _contextInitialised;
20
21
  private _syncedWidth;
21
22
  private _syncedHeight;
@@ -22,10 +22,12 @@ declare class PickerBlankCell extends Component {
22
22
  }
23
23
  declare class PickerNavButton extends Component {
24
24
  constructor(glyphName: string, onClick: () => void);
25
+ private onPointerDown;
25
26
  protected render(): Handle;
26
27
  }
27
28
  declare class PickerMonthLabel extends Text {
28
29
  constructor(onClick: () => void);
30
+ private onPointerDown;
29
31
  protected render(): Handle;
30
32
  }
31
33
  declare class PickerDay extends Text {
@@ -3,6 +3,7 @@ import { AnimatedDropdown } from "../../core/AnimatedDropdown.js";
3
3
  import type { Handle } from "../../core/DOM.js";
4
4
  import { PickerInput } from "../../component/input/PickerInput.js";
5
5
  import { PickerButton } from "../../component/input/PickerButton.js";
6
+ import { Event } from "../../core/Event.js";
6
7
  export interface AbstractPickerFieldOptions extends AbstractInputOptions {
7
8
  dropdownAnimated?: boolean;
8
9
  }
@@ -33,11 +34,11 @@ declare abstract class AbstractPickerField<TValue, TDropdown extends AnimatedDro
33
34
  protected applyEnabled(value: boolean): void;
34
35
  protected applyReadOnly(value: boolean): void;
35
36
  protected onButtonClick(): void;
36
- protected onButtonPointerDown(e: PointerEvent): void;
37
+ protected onButtonPointerDown(_e: PointerEvent): Event.ListenerResult;
37
38
  protected onInput(): void;
38
39
  protected onBlur(): void;
39
40
  protected setInvalid(invalid: boolean): void;
40
- protected onKeyDown(e: KeyboardEvent): void;
41
+ protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
41
42
  protected ensureDropdown(): TDropdown;
42
43
  protected openDropdown(): void;
43
44
  protected closeDropdown(): void;
@@ -128,7 +128,7 @@ declare abstract class AbstractSelectableList<TValue, TOptions extends AbstractS
128
128
  getFocusedIndex(): number;
129
129
  getFocusedRowId(): string | null;
130
130
  handleKey(e: KeyboardEvent): boolean;
131
- protected handleKeyDown(e: KeyboardEvent): void;
131
+ protected handleKeyDown(e: KeyboardEvent): Event.ListenerResult;
132
132
  protected handleNavigationKey(e: KeyboardEvent, ctrl: boolean): boolean;
133
133
  protected moveFocus(idx: number, ctrl: boolean, shift: boolean): void;
134
134
  protected commitFocusedRow(ctrl: boolean, shift: boolean): void;
@@ -1,5 +1,6 @@
1
1
  import { AbstractSelectableList, AbstractSelectableListOptions } from "../../component/list/AbstractSelectableList.js";
2
2
  import { ModelRecord } from "../../data/ModelRecord.js";
3
+ import { Event } from "../../core/Event.js";
3
4
  export interface MultiSelectListOptions extends AbstractSelectableListOptions {
4
5
  selectedIndices?: number[];
5
6
  }
@@ -16,7 +17,7 @@ declare class MultiSelectList extends AbstractSelectableList<string[], MultiSele
16
17
  shift: boolean;
17
18
  }): void;
18
19
  protected notifyUserChange(): void;
19
- protected handleKeyDown(e: KeyboardEvent): void;
20
+ protected handleKeyDown(e: KeyboardEvent): Event.ListenerResult;
20
21
  protected selectAll(): void;
21
22
  private applyInitialSelection;
22
23
  }
@@ -11,6 +11,7 @@ declare abstract class VirtualRowView<TRow extends Component, TOptions extends C
11
11
  } | null>;
12
12
  protected _rowDisplayed: boolean[];
13
13
  protected _scroller: VirtualScroller | null;
14
+ private _lastWindowStart;
14
15
  private _renderDeferred;
15
16
  private _renderResumed;
16
17
  private _pendingScrollX;
@@ -34,6 +35,7 @@ declare abstract class VirtualRowView<TRow extends Component, TOptions extends C
34
35
  protected computePoolTarget(windowSize: number, visibleHeight: number, totalRows: number): number;
35
36
  protected computePageSize(): number;
36
37
  protected growRowPool(poolTarget: number): void;
38
+ protected alignPoolWindow(firstRow: number): void;
37
39
  protected positionRow(slot: number, targetY: number, rowWidth: number): boolean;
38
40
  protected hideExcessPoolRows(windowSize: number): void;
39
41
  protected invalidateGeom(): void;
@@ -4,6 +4,7 @@ import { AbstractStore } from "../../data/AbstractStore.js";
4
4
  import { ModelRecord } from "../../data/ModelRecord.js";
5
5
  import { Row } from "../../component/table/Row.js";
6
6
  import { CellEditorPool } from "../../component/table/cell/editor/CellEditorPool.js";
7
+ import { Event } from "../../core/Event.js";
7
8
  import { VirtualRowView } from "../../component/shared/VirtualRowView.js";
8
9
  import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
9
10
  import { Column } from "../../component/table/Column.js";
@@ -25,12 +26,22 @@ export interface ColumnWindow {
25
26
  lefts: number[];
26
27
  }
27
28
  export declare function computeColumnWindow(widths: number[], scrollX: number, viewportWidth: number): ColumnWindow;
29
+ export declare function buildTsv(rows: string[][], startRow: number, startCol: number, startOffset: number | null, endRow: number, endCol: number, endOffset: number | null): string;
30
+ export declare function locateCellInGrid(grid: Array<Array<{
31
+ element: Handle;
32
+ }>>, target: Handle): {
33
+ row: number;
34
+ col: number;
35
+ } | null;
28
36
  declare class Body extends VirtualRowView<Row> {
29
37
  private _store;
30
38
  private _hiddenColumns;
31
39
  private _columns;
32
40
  private _columnConfigs;
33
41
  private _rowReadOnly;
42
+ private _rowVisible;
43
+ private _rowSeparator;
44
+ private _rowIndented;
34
45
  private _cellGeom;
35
46
  private _lastBodyWidth;
36
47
  private _lastColumnWidths;
@@ -67,6 +78,12 @@ declare class Body extends VirtualRowView<Row> {
67
78
  setHiddenColumns(hidden: Set<string>): this;
68
79
  setColumns(columns: Column[]): this;
69
80
  setRowReadOnly(predicate: ((record: ModelRecord) => boolean) | null): this;
81
+ setRowSeparator(predicate: ((record: ModelRecord) => {
82
+ label: string;
83
+ color: string | null;
84
+ } | null) | null): this;
85
+ setRowIndented(predicate: ((record: ModelRecord) => boolean) | null): this;
86
+ setRowVisible(predicate: ((record: ModelRecord) => boolean) | null): this;
70
87
  setColumnConfigs(configs: Map<string, ColumnConfig>): this;
71
88
  private registerComboEditors;
72
89
  private syncPoolCells;
@@ -84,6 +101,9 @@ declare class Body extends VirtualRowView<Row> {
84
101
  protected bindAndPositionRows(firstRow: number, windowSize: number, rowWidth: number, records: ModelRecord[], columns: ColumnWindow): void;
85
102
  protected onSubtreeClick(e: MouseEvent): void;
86
103
  private onRowClick;
104
+ private onCopy;
105
+ private buildSelectionText;
106
+ private renderedCellGrid;
87
107
  selectRecord(record: ModelRecord | null): void;
88
108
  getSelectedRecord(): ModelRecord | null;
89
109
  getSelectedRecords(): ModelRecord[];
@@ -105,7 +125,8 @@ declare class Body extends VirtualRowView<Row> {
105
125
  setHeader(header: TableHeader): this;
106
126
  protected _updateFocusStyle(): void;
107
127
  protected _updateActiveDescendant(): void;
108
- protected onKeyDown(e: KeyboardEvent): void;
128
+ private skipSeparators;
129
+ protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
109
130
  protected scrollRecordIntoView(record: ModelRecord): void;
110
131
  protected scrollColumnIntoView(colIndex: number): void;
111
132
  }
@@ -14,7 +14,8 @@ export declare class Column {
14
14
  private _group;
15
15
  private _groupColor;
16
16
  private _required;
17
- constructor(field: Field, config?: ColumnConfig);
17
+ private _filterable;
18
+ constructor(field: Field, config?: ColumnConfig, specFilterable?: boolean);
18
19
  getField(): Field;
19
20
  getMinWidth(): number | undefined;
20
21
  getMaxWidth(): number | undefined;
@@ -30,5 +31,6 @@ export declare class Column {
30
31
  getGroup(): string | null;
31
32
  getGroupColor(): string | null;
32
33
  isRequired(): boolean;
34
+ isFilterable(): boolean;
33
35
  static resolve(fields: Field[], spec?: ColumnSpec): Column[];
34
36
  }
@@ -16,6 +16,7 @@ export interface ColumnConfig {
16
16
  hidden?: boolean;
17
17
  unhideable?: boolean;
18
18
  readOnly?: boolean;
19
+ filterable?: boolean;
19
20
  cellReadOnly?: (record: ModelRecord) => boolean;
20
21
  showSeconds?: boolean;
21
22
  values?: Array<ComboOption | string>;
@@ -34,4 +35,5 @@ export interface ColumnSpec {
34
35
  appendUnlisted?: boolean;
35
36
  rowReadOnly?: (record: ModelRecord) => boolean;
36
37
  autoSizeColumns?: boolean;
38
+ filterable?: boolean;
37
39
  }
@@ -0,0 +1,27 @@
1
+ import type { FieldType } from "../../data/Field.js";
2
+ import type { FilterDescriptor } from "../../data/FilterDescriptor.js";
3
+ import type { ComboOption } from "../../component/table/ColumnConfig.js";
4
+ import type { CellTextResolver } from "../../component/table/cell/CellText.js";
5
+ export type ColumnFilterOperator = 'contains' | 'startsWith' | 'endsWith' | 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'isEmpty' | 'isNotEmpty';
6
+ export interface ColumnFilterClause {
7
+ operator: ColumnFilterOperator;
8
+ text: string;
9
+ }
10
+ export interface ColumnFilterState {
11
+ clauses: ColumnFilterClause[];
12
+ }
13
+ export interface ColumnFilterTarget {
14
+ type: FieldType;
15
+ values?: Array<ComboOption | string>;
16
+ showSeconds?: boolean;
17
+ }
18
+ export declare function columnFilterOperators(type: FieldType): ColumnFilterOperator[];
19
+ export declare function columnFilterOperatorLabel(operator: ColumnFilterOperator): string;
20
+ export declare function columnFilterOperatorGlyph(operator: ColumnFilterOperator): string;
21
+ export declare function columnFilterTakesOperand(operator: ColumnFilterOperator): boolean;
22
+ export declare function isClauseEffective(clause: ColumnFilterClause): boolean;
23
+ export declare function effectiveClauseCount(clauses: ColumnFilterClause[]): number;
24
+ export declare function columnFilterTakesNumericOperand(target: ColumnFilterTarget): boolean;
25
+ export declare function columnFilterAcceptsNumericKey(key: string): boolean;
26
+ export declare function buildColumnFilter(field: string, target: ColumnFilterTarget, state: ColumnFilterState, display: CellTextResolver): FilterDescriptor | null;
27
+ export declare function columnFilterStatesEqual(a: ColumnFilterState, b: ColumnFilterState): boolean;
@@ -1,15 +1,17 @@
1
1
  import { Component } from "../../core/Component.js";
2
- import type { Handle } from "../../core/DOM.js";
3
2
  import { Row } from "../../component/table/Row.js";
4
3
  import { AbstractModel } from "../../data/AbstractModel.js";
5
4
  import { AbstractStore } from "../../data/AbstractStore.js";
6
5
  import { Column } from "../../component/table/Column.js";
6
+ import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
7
+ import { Button } from "../../component/button/Button.js";
7
8
  export type TableHeaderEvent = "columnresizestart" | "columnresize" | "columncontextmenu";
8
9
  export interface HeaderColumnGeometry {
9
10
  columnWidths: number[];
10
11
  viewportWidth: number;
11
12
  columnHeight: number;
12
13
  parentRowHeight: number;
14
+ filterRowHeight: number;
13
15
  }
14
16
  declare class TableHeader extends Component {
15
17
  private _model;
@@ -17,7 +19,8 @@ declare class TableHeader extends Component {
17
19
  private _hiddenColumns;
18
20
  private _columns;
19
21
  private _listeners;
20
- private _scrollbarCover;
22
+ private _menuButton;
23
+ private _boundOnMenuButtonAction;
21
24
  private _visibleFields;
22
25
  private _windowFirst;
23
26
  private _scrollX;
@@ -25,12 +28,22 @@ declare class TableHeader extends Component {
25
28
  private _columnsDirty;
26
29
  private _geometry;
27
30
  private _cellGeom;
31
+ private _filterRowVisible;
32
+ private _filterStates;
33
+ private _filterCellsDirty;
34
+ private _filterWindowFirst;
35
+ private _pendingFilterField;
36
+ private _filterTimer;
37
+ private _boundOnStoreFilterChange;
38
+ private _columnConfigs;
39
+ private _cellText;
28
40
  constructor(model: AbstractModel, store: AbstractStore);
29
41
  getModel(): AbstractModel;
30
42
  setStore(store: AbstractStore): this;
31
43
  setModel(model: AbstractModel): this;
32
44
  setHiddenColumns(hidden: Set<string>): this;
33
45
  setColumns(columns: Column[]): this;
46
+ setColumnConfigs(configs: Map<string, ColumnConfig>): this;
34
47
  on(event: "columnresizestart", listener: (colIndex: number, clientX: number) => void): this;
35
48
  on(event: "columnresize", listener: (colIndex: number, clientX: number) => void): this;
36
49
  on(event: "columncontextmenu", listener: (fieldName: string, x: number, y: number) => void): this;
@@ -42,7 +55,12 @@ declare class TableHeader extends Component {
42
55
  getColumnWindowStart(): number;
43
56
  getParentRow(): Row;
44
57
  hasParentRow(): boolean;
45
- getScrollbarCover(): Handle;
58
+ getFilterRow(): Row;
59
+ hasFilterRow(): boolean;
60
+ setFilterRowVisible(visible: boolean): this;
61
+ private clearFilterRowState;
62
+ getMenuButton(): Button;
63
+ private onMenuButtonAction;
46
64
  addRow(row: Row): this;
47
65
  addComponent(row: Row): this;
48
66
  setHeight(height: number): this;
@@ -54,13 +72,22 @@ declare class TableHeader extends Component {
54
72
  private columnIndexOf;
55
73
  private handleSortClick;
56
74
  private syncSortIndicators;
75
+ private filterState;
76
+ private onFilterCellChange;
77
+ private filterTarget;
78
+ private applyPendingFilter;
79
+ private onStoreFilterChange;
80
+ private wireFilterCell;
81
+ private reconcileFilterCells;
57
82
  renderColumnWindow(geometry?: HeaderColumnGeometry): this;
83
+ private positionFilterCells;
58
84
  private positionColumnCells;
59
85
  private positionParentCells;
60
86
  setScrollX(scrollLeft: number): this;
61
87
  getScrollX(): number;
62
88
  setFocusedColumn(colIndex: number | null): this;
63
89
  private applyFocusedColumn;
90
+ protected destructor(): void;
64
91
  }
65
92
  declare const TableHeaderCallable: import("../../core/Callable.js").Callable<typeof TableHeader>;
66
93
  type TableHeaderCallable = TableHeader;
@@ -17,10 +17,13 @@ declare class Row extends Component {
17
17
  private _cellKeys;
18
18
  private _fieldNames;
19
19
  private _columnsDirty;
20
+ private _separatorMode;
20
21
  constructor(model?: AbstractModel, data?: ModelRecord, hiddenColumns?: Set<string>, columnConfigs?: Map<string, ColumnConfig>, onCellCommit?: (record: ModelRecord) => void, treeFieldName?: string);
21
22
  getTreeCell(): Cell<any> | null;
22
23
  getColumnWindowStart(): number;
23
24
  getFieldNames(): string[];
25
+ isSeparator(): boolean;
26
+ setFieldIndent(indented: boolean): void;
24
27
  getData(): ModelRecord | undefined;
25
28
  setData(record: ModelRecord): this;
26
29
  setStripe(striped: boolean): void;
@@ -28,6 +31,7 @@ declare class Row extends Component {
28
31
  addColumn(cell: Cell<any>, constraints?: LayoutConstraints): this;
29
32
  addComponent(cell: Cell<any>, constraints?: LayoutConstraints): this;
30
33
  setColumnFields(model: AbstractModel, hiddenColumns: Set<string>, columnConfigs: Map<string, ColumnConfig>, treeFieldName?: string): this;
34
+ renderSeparator(label: string, color: string | null): void;
31
35
  setColumnWindow(firstCol: number, lastCol: number): boolean;
32
36
  private commitCellValue;
33
37
  private static cellKey;
@@ -19,6 +19,7 @@ declare class Table extends Component<TableOptions> {
19
19
  private _resolvedColumns;
20
20
  private _hiddenColumns;
21
21
  private _columnContextMenu;
22
+ private _columnDialog;
22
23
  private _headerVisible;
23
24
  private _header;
24
25
  private _body;
@@ -32,18 +33,25 @@ declare class Table extends Component<TableOptions> {
32
33
  private _savedColumnWidths;
33
34
  private _columnConfigs;
34
35
  private _exportMenuEnabled;
36
+ private _filterRowVisible;
35
37
  private _listeners;
36
38
  private _displayMode;
37
39
  private _rotatedRecord;
40
+ private _rowVisible;
41
+ private _quickSearch;
38
42
  private _rotatedStore;
39
43
  private _rotatedColumns;
40
44
  private _rotatedConfigs;
41
45
  private _rotatedFieldByName;
46
+ private _rotatedSeparatorRecords;
47
+ private _rotatedIndentedRecords;
42
48
  private _sourceRefresh;
49
+ private _sourceUpdate;
43
50
  private _suppressSelectionForward;
44
51
  private _autoWidthsSampled;
45
52
  private _widthRefs;
46
53
  private _sampledCandidates;
54
+ private _cellText;
47
55
  constructor(store: AbstractStore, spec?: ColumnSpec, bodyFactory?: (store: AbstractStore) => Body);
48
56
  on(event: "selection", listener: (records: ModelRecord[]) => void): this;
49
57
  on(event: "cellclick", listener: (e: CellClickEvent) => void): this;
@@ -54,9 +62,16 @@ declare class Table extends Component<TableOptions> {
54
62
  private getSourceColumns;
55
63
  getDisplayMode(): TableDisplayMode;
56
64
  setDisplayMode(mode: TableDisplayMode): this;
65
+ setRowVisible(predicate: ((record: ModelRecord) => boolean) | null): this;
66
+ setQuickSearch(text: string | null, fields?: readonly string[] | null): this;
67
+ private resolveSearchFields;
68
+ private quickSearchMatches;
69
+ private composeRowVisible;
70
+ private applyRowVisible;
57
71
  getStore(): AbstractStore;
58
72
  getModel(): import("../../data").AbstractModel;
59
73
  setStore(store: AbstractStore): this;
74
+ private refreshQuickSearch;
60
75
  getColumnWidths(): number[];
61
76
  setColumnWidths(widths: number[]): this;
62
77
  getAvailableColumnWidth(): number;
@@ -64,6 +79,8 @@ declare class Table extends Component<TableOptions> {
64
79
  setColumnVisible(fieldName: string, visible: boolean): this;
65
80
  getHeader(): import("../../component/table/Header.js")._TableHeader;
66
81
  isHeaderVisible(): boolean;
82
+ isFilterRowVisible(): boolean;
83
+ setFilterRowVisible(visible: boolean): this;
67
84
  getBody(): import("../../component/table/Body.js")._Body;
68
85
  isBodyVisible(): boolean;
69
86
  getFooter(): import("../../component/table/Footer.js")._FooterRow;
@@ -83,17 +100,27 @@ declare class Table extends Component<TableOptions> {
83
100
  private bindSourceStore;
84
101
  private unbindSourceStore;
85
102
  private onSourceStoreChange;
103
+ private onSourceRecordUpdate;
86
104
  private ensureRotatedStore;
87
105
  private rebuildRotatedStore;
106
+ private computeGroupRuns;
88
107
  private rotatedCellType;
89
108
  private rotatedCellValues;
90
109
  private bindView;
91
110
  protected destructor(): void;
92
111
  private showColumnMenu;
112
+ private columnsInMenuOrder;
113
+ private buildColumnMenuItems;
114
+ private showColumnDialog;
115
+ private dialogColumnCount;
116
+ private splitIntoDialogColumns;
117
+ private buildColumnDialogBody;
118
+ private buildColumnDialogColumn;
93
119
  setExportMenuEnabled(enabled: boolean): this;
94
120
  exportCSV(options?: ExportOptions): void;
95
121
  exportJSON(options?: ExportOptions): void;
96
122
  private getExportColumns;
123
+ getCellText(field: string, record: ModelRecord): string;
97
124
  private onColumnResizeStart;
98
125
  private onColumnResize;
99
126
  private resetColumns;
@@ -105,6 +132,8 @@ declare class Table extends Component<TableOptions> {
105
132
  private measureHeaders;
106
133
  private measureContent;
107
134
  private resolveContentCandidates;
135
+ private resolveRotatedContentCandidates;
136
+ private formatRotatedValueText;
108
137
  private collectCandidates;
109
138
  private keepLongest;
110
139
  private samplesRecordText;
@@ -1,14 +1,15 @@
1
1
  import { Column } from "../../component/table/Column.js";
2
2
  import { ColumnConfig } from "../../component/table/ColumnConfig.js";
3
3
  import { ModelRecord } from "../../data/ModelRecord.js";
4
+ import type { CellTextResolver } from "../../component/table/cell/CellText.js";
4
5
  export interface ExportOptions {
5
6
  includeHidden?: boolean;
6
7
  filename?: string;
7
8
  }
8
9
  export declare class TableExporter {
9
- static exportCSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, options?: ExportOptions): void;
10
- static exportJSON(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, options?: ExportOptions): void;
11
- static formatValue(column: Column, value: any, columnConfigs: Map<string, ColumnConfig>): any;
10
+ static exportCSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
11
+ static exportJSON(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
12
+ static formatValue(column: Column, value: any, columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver): any;
12
13
  private static escapeCSVField;
13
14
  private static download;
14
15
  }
@@ -1,6 +1,7 @@
1
1
  import { _Body } from "../../component/table/Body.js";
2
2
  import { AbstractStore } from "../../data/AbstractStore.js";
3
3
  import type { Handle } from "../../core/DOM.js";
4
+ import { Event } from "../../core/Event.js";
4
5
  import { ModelRecord } from "../../data/ModelRecord.js";
5
6
  import { Row } from "../../component/table/Row.js";
6
7
  type TreeBodyReparentHandler = (dragged: ModelRecord, newParent: ModelRecord | null) => boolean;
@@ -61,7 +62,7 @@ declare class TreeBody extends _Body {
61
62
  setReparentHandlers(validator: TreeBodyReparentValidator, handler: TreeBodyReparentHandler): this;
62
63
  private ensureEmptyAreaDropTarget;
63
64
  protected onSubtreeClick(e: MouseEvent): void;
64
- protected onKeyDown(e: KeyboardEvent): void;
65
+ protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
65
66
  private handleArrowRight;
66
67
  private handleArrowLeft;
67
68
  private moveFocusTo;
@@ -0,0 +1,9 @@
1
+ import { CellRenderer } from "../../../component/table/cell/renderer/CellRenderer.js";
2
+ import type { CellType, ComboOption } from "../../../component/table/ColumnConfig.js";
3
+ export declare function buildCellRenderer(type: CellType, showSeconds: boolean, numberAlign?: "left" | "right"): CellRenderer<any>;
4
+ export declare class CellTextResolver {
5
+ private _renderers;
6
+ private _comboOptions;
7
+ text(type: CellType, showSeconds: boolean, values: Array<ComboOption | string> | undefined, value: any): string;
8
+ dispose(): void;
9
+ }
@@ -0,0 +1,54 @@
1
+ import { Cell, CellEvent } from "../../../component/table/cell/Cell.js";
2
+ import type { ColumnFilterOperator, ColumnFilterState } from "../../../component/table/ColumnFilter.js";
3
+ import type { Handle } from "../../../core/DOM.js";
4
+ export type FilterCellEvent = CellEvent | "filterchange";
5
+ declare class FilterCell extends Cell<string | null> {
6
+ private _fieldName;
7
+ private _operators;
8
+ private _numericOnly;
9
+ private _clauses;
10
+ private _badge;
11
+ private _clausesPopover;
12
+ private _columnLabel;
13
+ constructor(fieldName: string, operators: ColumnFilterOperator[]);
14
+ private filterRenderer;
15
+ private applyOperatorFace;
16
+ private applyOperandAvailability;
17
+ setFieldName(name: string): this;
18
+ getFieldName(): string;
19
+ setOperators(operators: ColumnFilterOperator[]): this;
20
+ setNumericOnly(numeric: boolean): this;
21
+ setColumnLabel(label: string): this;
22
+ setFilterState(state: ColumnFilterState): this;
23
+ getFilterState(): ColumnFilterState;
24
+ private selectOperator;
25
+ private numericKeyDisposition;
26
+ private onInputKeyDown;
27
+ private onOperatorButtonClick;
28
+ private addConditionAndOpenPopover;
29
+ private ensureClausesPopover;
30
+ private pruneBlankClauses;
31
+ private openClausesPopover;
32
+ private refreshClausesPopoverBody;
33
+ private buildClausesBody;
34
+ private buildClauseRow;
35
+ private selectRowOperator;
36
+ private onRowTextChange;
37
+ private onAddConditionButtonClick;
38
+ private removeClause;
39
+ private syncBadge;
40
+ private describeClauses;
41
+ private fireFilterChange;
42
+ protected init(element?: Handle): this;
43
+ on(event: "commit", listener: (value: string | null) => void): this;
44
+ on(event: "editend", listener: () => void): this;
45
+ on(event: "filterchange", listener: (fieldName: string, state: ColumnFilterState, immediate: boolean) => void): this;
46
+ off(event: FilterCellEvent, listener: Function): this;
47
+ protected emit(event: "commit", value: string | null): void;
48
+ protected emit(event: "editend"): void;
49
+ protected emit(event: "filterchange", fieldName: string, state: ColumnFilterState, immediate: boolean): void;
50
+ protected destructor(): void;
51
+ }
52
+ declare const FilterCellCallable: import("../../../core/Callable.js").Callable<typeof FilterCell>;
53
+ type FilterCellCallable = FilterCell;
54
+ export { FilterCell as _FilterCell, FilterCellCallable as FilterCell };