@jimka/typescript-ui 0.5.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 (293) hide show
  1. package/dist/lib/{AbstractInput-B10DfLOf.js → AbstractInput-W2PLJV5_.js} +2 -2
  2. package/dist/lib/{AbstractInput-B10DfLOf.js.map → AbstractInput-W2PLJV5_.js.map} +1 -1
  3. package/dist/lib/Anchor-iZhsvMlT.js +2 -0
  4. package/dist/lib/Anchor-iZhsvMlT.js.map +1 -0
  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-CD3jxshU.js → Card-C20k2YHU.js} +2 -2
  12. package/dist/lib/{Card-CD3jxshU.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-C1h4LPHR.js +2 -0
  16. package/dist/lib/CheckboxMenuRow-C1h4LPHR.js.map +1 -0
  17. package/dist/lib/{CodeEditor-BGlB232h.js → CodeEditor-CTL2WjF8.js} +2 -2
  18. package/dist/lib/CodeEditor-CTL2WjF8.js.map +1 -0
  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-C7RPLQEc.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-HG65hEtk.js → FieldDecorator-DyPX8CFh.js} +2 -2
  30. package/dist/lib/{FieldDecorator-HG65hEtk.js.map → FieldDecorator-DyPX8CFh.js.map} +1 -1
  31. package/dist/lib/{Fit-Cg3dPyZg.js → Fit-CaPMj7Up.js} +2 -2
  32. package/dist/lib/{Fit-Cg3dPyZg.js.map → Fit-CaPMj7Up.js.map} +1 -1
  33. package/dist/lib/{FloatingPanel-D5buuVrQ.js → FloatingPanel-Dsy_vJxi.js} +2 -2
  34. package/dist/lib/{FloatingPanel-D5buuVrQ.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-BYBohJIA.js → Grid-ft_UUpj8.js} +2 -2
  38. package/dist/lib/Grid-ft_UUpj8.js.map +1 -0
  39. package/dist/lib/GridConstraints-CvZ0Nzaw.js +2 -0
  40. package/dist/lib/{GridConstraints-Bts284FI.js.map → GridConstraints-CvZ0Nzaw.js.map} +1 -1
  41. package/dist/lib/{Header-BIFJK9nR.js → Header-Osm3IjDw.js} +2 -2
  42. package/dist/lib/{Header-BIFJK9nR.js.map → Header-Osm3IjDw.js.map} +1 -1
  43. package/dist/lib/{IconText-Dsb1xS-E.js → IconText-BBaYJ2Fx.js} +2 -2
  44. package/dist/lib/{IconText-Dsb1xS-E.js.map → IconText-BBaYJ2Fx.js.map} +1 -1
  45. package/dist/lib/LayoutSerialization-BC64__O7.js +2 -0
  46. package/dist/lib/LayoutSerialization-BC64__O7.js.map +1 -0
  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/MemoryStore-DhPoU-7X.js +2 -0
  50. package/dist/lib/MemoryStore-DhPoU-7X.js.map +1 -0
  51. package/dist/lib/Menu-CwHluLGT.js +2 -0
  52. package/dist/lib/Menu-CwHluLGT.js.map +1 -0
  53. package/dist/lib/{MenuButton-BR4KOFld.js → MenuButton-BqCT-1yv.js} +2 -2
  54. package/dist/lib/{MenuButton-BR4KOFld.js.map → MenuButton-BqCT-1yv.js.map} +1 -1
  55. package/dist/lib/OverlayFade-CuEXgimf.js +2 -0
  56. package/dist/lib/OverlayFade-CuEXgimf.js.map +1 -0
  57. package/dist/lib/{Panel-CpNQTLNF.js → Panel-CtViePqY.js} +2 -2
  58. package/dist/lib/{Panel-CpNQTLNF.js.map → Panel-CtViePqY.js.map} +1 -1
  59. package/dist/lib/{Position-PBVBW1JS.js → Position-BIEU1Eze.js} +2 -2
  60. package/dist/lib/Position-BIEU1Eze.js.map +1 -0
  61. package/dist/lib/{ProgressSpinner-lAsK26C-.js → ProgressSpinner-BuBvC1FY.js} +2 -2
  62. package/dist/lib/{ProgressSpinner-lAsK26C-.js.map → ProgressSpinner-BuBvC1FY.js.map} +1 -1
  63. package/dist/lib/RadioButton-Df5J-H6m.js +2 -0
  64. package/dist/lib/RadioButton-Df5J-H6m.js.map +1 -0
  65. package/dist/lib/RadioMenuRow-Cfv0x6Qj.js +2 -0
  66. package/dist/lib/RadioMenuRow-Cfv0x6Qj.js.map +1 -0
  67. package/dist/lib/{RovingTabIndex-C2Vzq0IX.js → RovingTabIndex--w28AnXc.js} +2 -2
  68. package/dist/lib/{RovingTabIndex-C2Vzq0IX.js.map → RovingTabIndex--w28AnXc.js.map} +1 -1
  69. package/dist/lib/Scrollbar-DcnueNJd.js +2 -0
  70. package/dist/lib/Scrollbar-DcnueNJd.js.map +1 -0
  71. package/dist/lib/SelectableText-DZNxjKXR.js +2 -0
  72. package/dist/lib/SelectableText-DZNxjKXR.js.map +1 -0
  73. package/dist/lib/{Slider-DZ9drUxn.js → Slider-DNfd8Lxz.js} +2 -2
  74. package/dist/lib/{Slider-DZ9drUxn.js.map → Slider-DNfd8Lxz.js.map} +1 -1
  75. package/dist/lib/{Spacer-SDhOMp2g.js → Spacer-BznfGbwG.js} +2 -2
  76. package/dist/lib/{Spacer-SDhOMp2g.js.map → Spacer-BznfGbwG.js.map} +1 -1
  77. package/dist/lib/TabButton-CAACsMov.js +2 -0
  78. package/dist/lib/TabButton-CAACsMov.js.map +1 -0
  79. package/dist/lib/TabCloseButton-CCiqsX3y.js +2 -0
  80. package/dist/lib/TabCloseButton-CCiqsX3y.js.map +1 -0
  81. package/dist/lib/Text-O-FWa5Cy.js +2 -0
  82. package/dist/lib/Text-O-FWa5Cy.js.map +1 -0
  83. package/dist/lib/Tooltip-CyICVu15.js +3 -0
  84. package/dist/lib/Tooltip-CyICVu15.js.map +1 -0
  85. package/dist/lib/Tree-CSEguhlk.js +2 -0
  86. package/dist/lib/Tree-CSEguhlk.js.map +1 -0
  87. package/dist/lib/VBox-DVe4UXwX.js +2 -0
  88. package/dist/lib/VBox-DVe4UXwX.js.map +1 -0
  89. package/dist/lib/VirtualScroller-ggPTCQb0.js +2 -0
  90. package/dist/lib/VirtualScroller-ggPTCQb0.js.map +1 -0
  91. package/dist/lib/assets/StoreWorker-B5NwRM2I.js +2 -0
  92. package/dist/lib/assets/StoreWorker-B5NwRM2I.js.map +1 -0
  93. package/dist/lib/component/button.es.js +1 -1
  94. package/dist/lib/component/button.es.js.map +1 -1
  95. package/dist/lib/component/chart.es.js +1 -1
  96. package/dist/lib/component/chart.es.js.map +1 -1
  97. package/dist/lib/component/container.es.js +1 -1
  98. package/dist/lib/component/container.es.js.map +1 -1
  99. package/dist/lib/component/diagram.es.js +1 -1
  100. package/dist/lib/component/diagram.es.js.map +1 -1
  101. package/dist/lib/component/display.es.js +1 -1
  102. package/dist/lib/component/display.es.js.map +1 -1
  103. package/dist/lib/component/editor.es.js +2 -2
  104. package/dist/lib/component/editor.es.js.map +1 -1
  105. package/dist/lib/component/input.es.js +1 -1
  106. package/dist/lib/component/input.es.js.map +1 -1
  107. package/dist/lib/component/list.es.js +1 -1
  108. package/dist/lib/component/list.es.js.map +1 -1
  109. package/dist/lib/component/menubar.es.js +1 -1
  110. package/dist/lib/component/menubar.es.js.map +1 -1
  111. package/dist/lib/component/table.es.js +6 -3
  112. package/dist/lib/component/table.es.js.map +1 -1
  113. package/dist/lib/component/tree.es.js +1 -1
  114. package/dist/lib/core.es.js +1 -1
  115. package/dist/lib/core.es.js.map +1 -1
  116. package/dist/lib/data.es.js +1 -1
  117. package/dist/lib/glyphs/solid/index.es.js +1 -1
  118. package/dist/lib/layout.es.js +1 -1
  119. package/dist/lib/layout.es.js.map +1 -1
  120. package/dist/lib/overlay.es.js +1 -1
  121. package/dist/lib/overlay.es.js.map +1 -1
  122. package/dist/lib/primitive.es.js +1 -1
  123. package/dist/lib/router.es.js +1 -1
  124. package/dist/lib/router.es.js.map +1 -1
  125. package/dist/lib/selectionsEqual-C7MrKMQr.js +2 -0
  126. package/dist/lib/selectionsEqual-C7MrKMQr.js.map +1 -0
  127. package/dist/lib/types/component/button/Button.d.ts +22 -0
  128. package/dist/lib/types/component/button/MenuButton.d.ts +1 -0
  129. package/dist/lib/types/component/button/PopupButton.d.ts +22 -0
  130. package/dist/lib/types/component/button/TabButton.d.ts +9 -0
  131. package/dist/lib/types/component/button/ToggleButton.d.ts +3 -0
  132. package/dist/lib/types/component/button/index.d.ts +2 -0
  133. package/dist/lib/types/component/chart/AbstractChart.d.ts +2 -0
  134. package/dist/lib/types/component/container/CheckboxMenuRow.d.ts +33 -0
  135. package/dist/lib/types/component/container/CollapseButton.d.ts +11 -3
  136. package/dist/lib/types/component/container/MenuItem.d.ts +15 -5
  137. package/dist/lib/types/component/container/MenuRow.d.ts +24 -0
  138. package/dist/lib/types/component/container/MenuSeparator.d.ts +4 -2
  139. package/dist/lib/types/component/container/RadioMenuRow.d.ts +33 -0
  140. package/dist/lib/types/component/container/Scrollbar.d.ts +5 -0
  141. package/dist/lib/types/component/container/SplitGutter.d.ts +7 -2
  142. package/dist/lib/types/component/container/TabBar.d.ts +2 -0
  143. package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
  144. package/dist/lib/types/component/container/index.d.ts +6 -1
  145. package/dist/lib/types/component/display/Markdown.d.ts +2 -1
  146. package/dist/lib/types/component/display/WebGLCanvas.d.ts +1 -0
  147. package/dist/lib/types/component/input/AbstractCalendarDropdown.d.ts +4 -0
  148. package/dist/lib/types/component/input/AbstractPickerField.d.ts +5 -2
  149. package/dist/lib/types/component/input/AutoCompleteDropdown.d.ts +2 -0
  150. package/dist/lib/types/component/input/ComboBox.d.ts +3 -1
  151. package/dist/lib/types/component/input/Link.d.ts +2 -0
  152. package/dist/lib/types/component/input/PasswordField.d.ts +2 -0
  153. package/dist/lib/types/component/input/PickerInput.d.ts +2 -0
  154. package/dist/lib/types/component/input/SelectableText.d.ts +11 -0
  155. package/dist/lib/types/component/input/SpinButton.d.ts +2 -0
  156. package/dist/lib/types/component/input/Text.d.ts +16 -2
  157. package/dist/lib/types/component/input/TextArea.d.ts +2 -0
  158. package/dist/lib/types/component/input/TextField.d.ts +2 -0
  159. package/dist/lib/types/component/input/TextInput.d.ts +2 -0
  160. package/dist/lib/types/component/input/TimePickerDropdown.d.ts +3 -1
  161. package/dist/lib/types/component/input/UsernameField.d.ts +2 -0
  162. package/dist/lib/types/component/input/index.d.ts +2 -0
  163. package/dist/lib/types/component/list/AbstractSelectableList.d.ts +5 -3
  164. package/dist/lib/types/component/list/MultiSelectList.d.ts +2 -1
  165. package/dist/lib/types/component/shared/VirtualRowView.d.ts +2 -0
  166. package/dist/lib/types/component/table/Body.d.ts +52 -5
  167. package/dist/lib/types/component/table/Column.d.ts +3 -1
  168. package/dist/lib/types/component/table/ColumnConfig.d.ts +2 -0
  169. package/dist/lib/types/component/table/ColumnFilter.d.ts +27 -0
  170. package/dist/lib/types/component/table/Header.d.ts +31 -4
  171. package/dist/lib/types/component/table/Row.d.ts +24 -2
  172. package/dist/lib/types/component/table/Table.d.ts +31 -0
  173. package/dist/lib/types/component/table/TableExporter.d.ts +7 -3
  174. package/dist/lib/types/component/table/TablePanel.d.ts +1 -0
  175. package/dist/lib/types/component/table/TreeBody.d.ts +2 -1
  176. package/dist/lib/types/component/table/TreeTablePanel.d.ts +1 -0
  177. package/dist/lib/types/component/table/cell/Cell.d.ts +7 -2
  178. package/dist/lib/types/component/table/cell/CellText.d.ts +9 -0
  179. package/dist/lib/types/component/table/cell/Default.d.ts +1 -1
  180. package/dist/lib/types/component/table/cell/Filter.d.ts +54 -0
  181. package/dist/lib/types/component/table/cell/FilterClauseBadge.d.ts +21 -0
  182. package/dist/lib/types/component/table/cell/GroupSeparator.d.ts +9 -0
  183. package/dist/lib/types/component/table/cell/Header.d.ts +4 -0
  184. package/dist/lib/types/component/table/cell/ResizeHandle.d.ts +1 -1
  185. package/dist/lib/types/component/table/cell/editor/CellEditor.d.ts +1 -0
  186. package/dist/lib/types/component/table/cell/renderer/CellRenderer.d.ts +3 -2
  187. package/dist/lib/types/component/table/cell/renderer/Combo.d.ts +2 -0
  188. package/dist/lib/types/component/table/cell/renderer/Date.d.ts +2 -0
  189. package/dist/lib/types/component/table/cell/renderer/DateTime.d.ts +2 -0
  190. package/dist/lib/types/component/table/cell/renderer/Filter.d.ts +16 -0
  191. package/dist/lib/types/component/table/cell/renderer/Glyph.d.ts +1 -0
  192. package/dist/lib/types/component/table/cell/renderer/Link.d.ts +2 -0
  193. package/dist/lib/types/component/table/cell/renderer/Number.d.ts +3 -1
  194. package/dist/lib/types/component/table/cell/renderer/String.d.ts +5 -1
  195. package/dist/lib/types/component/table/cell/renderer/Time.d.ts +2 -0
  196. package/dist/lib/types/component/table/cell/renderer/TreeCell.d.ts +1 -0
  197. package/dist/lib/types/component/table/index.d.ts +7 -1
  198. package/dist/lib/types/component/tree/Tree.d.ts +17 -1
  199. package/dist/lib/types/component/tree/index.d.ts +1 -1
  200. package/dist/lib/types/core/AnimatedDropdown.d.ts +2 -9
  201. package/dist/lib/types/core/Body.d.ts +4 -0
  202. package/dist/lib/types/core/ClassStyleRules.d.ts +47 -3
  203. package/dist/lib/types/core/Component.d.ts +30 -2
  204. package/dist/lib/types/core/DOM.d.ts +15 -1
  205. package/dist/lib/types/core/Event.d.ts +11 -2
  206. package/dist/lib/types/core/LayerManager.d.ts +1 -0
  207. package/dist/lib/types/core/OverlayFade.d.ts +12 -0
  208. package/dist/lib/types/core/OverlayPosition.d.ts +6 -0
  209. package/dist/lib/types/core/StyleTarget.d.ts +2 -0
  210. package/dist/lib/types/core/Theme.d.ts +9 -0
  211. package/dist/lib/types/core/Util.d.ts +4 -0
  212. package/dist/lib/types/core/index.d.ts +6 -4
  213. package/dist/lib/types/data/AbstractStore.d.ts +3 -0
  214. package/dist/lib/types/data/FilterDescriptor.d.ts +13 -0
  215. package/dist/lib/types/data/index.d.ts +2 -1
  216. package/dist/lib/types/data/temporalText.d.ts +2 -0
  217. package/dist/lib/types/layout/BoxLayout.d.ts +6 -1
  218. package/dist/lib/types/layout/Grid.d.ts +1 -0
  219. package/dist/lib/types/layout/HFlow.d.ts +1 -1
  220. package/dist/lib/types/layout/Split.d.ts +10 -1
  221. package/dist/lib/types/layout/Tab.d.ts +7 -1
  222. package/dist/lib/types/layout/Table.d.ts +2 -0
  223. package/dist/lib/types/layout/VFlow.d.ts +1 -1
  224. package/dist/lib/types/layout/index.d.ts +1 -1
  225. package/dist/lib/types/overlay/AbstractWindow.d.ts +3 -0
  226. package/dist/lib/types/overlay/Dock.d.ts +1 -0
  227. package/dist/lib/types/overlay/Menu.d.ts +1 -1
  228. package/dist/lib/types/overlay/Popover.d.ts +3 -0
  229. package/dist/lib/types/overlay/PopupPanel.d.ts +19 -0
  230. package/dist/lib/types/overlay/Window.d.ts +2 -0
  231. package/dist/lib/types/overlay/index.d.ts +2 -0
  232. package/dist/lib/types/router/RoutePattern.d.ts +7 -0
  233. package/dist/lib/types/router/Router.d.ts +6 -2
  234. package/dist/lib/types/router/index.d.ts +1 -1
  235. package/dist/lib/validation.es.js +1 -1
  236. package/llms.txt +4 -0
  237. package/package.json +1 -1
  238. package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js +0 -2
  239. package/dist/lib/AbstractBooleanInput-CbW7ZrDT.js.map +0 -1
  240. package/dist/lib/Anchor-BsblS5it.js +0 -2
  241. package/dist/lib/Anchor-BsblS5it.js.map +0 -1
  242. package/dist/lib/AnimatedDropdown-kL47HPGP.js +0 -2
  243. package/dist/lib/AnimatedDropdown-kL47HPGP.js.map +0 -1
  244. package/dist/lib/Border-CNS6aEXB.js +0 -2
  245. package/dist/lib/Border-CNS6aEXB.js.map +0 -1
  246. package/dist/lib/Button-T16zSZip.js +0 -2
  247. package/dist/lib/Button-T16zSZip.js.map +0 -1
  248. package/dist/lib/CodeEditor-BGlB232h.js.map +0 -1
  249. package/dist/lib/ComboBox-C9FYMuLv.js +0 -2
  250. package/dist/lib/ComboBox-C9FYMuLv.js.map +0 -1
  251. package/dist/lib/Component-w65rPK75.js +0 -2
  252. package/dist/lib/Component-w65rPK75.js.map +0 -1
  253. package/dist/lib/Container-C7RPLQEc.js +0 -2
  254. package/dist/lib/DOM-Ba8YRVel.js +0 -2
  255. package/dist/lib/DOM-Ba8YRVel.js.map +0 -1
  256. package/dist/lib/DragManager-UvPHSoRm.js +0 -2
  257. package/dist/lib/DragManager-UvPHSoRm.js.map +0 -1
  258. package/dist/lib/Glyph-DeJF_zsR.js +0 -2
  259. package/dist/lib/Glyph-DeJF_zsR.js.map +0 -1
  260. package/dist/lib/Grid-BYBohJIA.js.map +0 -1
  261. package/dist/lib/GridConstraints-Bts284FI.js +0 -2
  262. package/dist/lib/LayoutSerialization-ySzY1h2l.js +0 -2
  263. package/dist/lib/LayoutSerialization-ySzY1h2l.js.map +0 -1
  264. package/dist/lib/LayoutSizes-DKDK1Cle.js +0 -2
  265. package/dist/lib/LayoutSizes-DKDK1Cle.js.map +0 -1
  266. package/dist/lib/List-BPd-IXZR.js +0 -2
  267. package/dist/lib/List-BPd-IXZR.js.map +0 -1
  268. package/dist/lib/MemoryStore-BgP7-Uzn.js +0 -2
  269. package/dist/lib/MemoryStore-BgP7-Uzn.js.map +0 -1
  270. package/dist/lib/Menu-C0roOCY7.js +0 -2
  271. package/dist/lib/Menu-C0roOCY7.js.map +0 -1
  272. package/dist/lib/Position-PBVBW1JS.js.map +0 -1
  273. package/dist/lib/RadioButton-CCcIaL54.js +0 -2
  274. package/dist/lib/RadioButton-CCcIaL54.js.map +0 -1
  275. package/dist/lib/Scrollbar-C3ZZyZ1e.js +0 -2
  276. package/dist/lib/Scrollbar-C3ZZyZ1e.js.map +0 -1
  277. package/dist/lib/TabButton-DNo4ZgV8.js +0 -2
  278. package/dist/lib/TabButton-DNo4ZgV8.js.map +0 -1
  279. package/dist/lib/Text-CdHf3B-1.js +0 -2
  280. package/dist/lib/Text-CdHf3B-1.js.map +0 -1
  281. package/dist/lib/Tooltip-B_UF5bXD.js +0 -3
  282. package/dist/lib/Tooltip-B_UF5bXD.js.map +0 -1
  283. package/dist/lib/Tree-C7qLbIYH.js +0 -2
  284. package/dist/lib/Tree-C7qLbIYH.js.map +0 -1
  285. package/dist/lib/VBox-32fxpkDl.js +0 -2
  286. package/dist/lib/VBox-32fxpkDl.js.map +0 -1
  287. package/dist/lib/VirtualScroller-cvFNMS7U.js +0 -2
  288. package/dist/lib/VirtualScroller-cvFNMS7U.js.map +0 -1
  289. package/dist/lib/assets/StoreWorker-CgOBYoai.js +0 -2
  290. package/dist/lib/assets/StoreWorker-CgOBYoai.js.map +0 -1
  291. package/dist/lib/selectionsEqual-BrTxPMmK.js +0 -2
  292. package/dist/lib/selectionsEqual-BrTxPMmK.js.map +0 -1
  293. package/dist/lib/types/component/table/CellGeometry.d.ts +0 -6
@@ -3,12 +3,14 @@ import type { Handle } from "../../core/DOM.js";
3
3
  import { AbstractStore } from "../../data/AbstractStore.js";
4
4
  import { ModelRecord } from "../../data/ModelRecord.js";
5
5
  import { Row } from "../../component/table/Row.js";
6
+ import type { ColumnWindowSlidePlan } from "../../component/table/Row.js";
6
7
  import { CellEditorPool } from "../../component/table/cell/editor/CellEditorPool.js";
8
+ import { Event } from "../../core/Event.js";
7
9
  import { VirtualRowView } from "../../component/shared/VirtualRowView.js";
8
10
  import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
9
11
  import { Column } from "../../component/table/Column.js";
10
12
  import type { TableHeader } from "../../component/table/Header.js";
11
- export type BodyEvent = "verticalscroll" | "horizontalscroll" | "selection" | "cellclick";
13
+ export type BodyEvent = "verticalscroll" | "horizontalscroll" | "selection" | "cellclick" | "cellcontextmenu";
12
14
  export interface CellClickEvent {
13
15
  record: ModelRecord;
14
16
  field: string;
@@ -17,6 +19,19 @@ export interface CellClickEvent {
17
19
  rowIndex: number;
18
20
  event: MouseEvent;
19
21
  }
22
+ export interface BodyViewState {
23
+ store: AbstractStore;
24
+ columns: Column[];
25
+ columnConfigs: Map<string, ColumnConfig>;
26
+ hiddenColumns: Set<string>;
27
+ rowReadOnly: ((record: ModelRecord) => boolean) | null;
28
+ rowVisible: ((record: ModelRecord) => boolean) | null;
29
+ rowSeparator: ((record: ModelRecord) => {
30
+ label: string;
31
+ color: string | null;
32
+ } | null) | null;
33
+ rowIndented: ((record: ModelRecord) => boolean) | null;
34
+ }
20
35
  export declare function resolveClickedColumn(cells: Component[], target: Handle | null): number;
21
36
  export interface ColumnWindow {
22
37
  firstCol: number;
@@ -31,7 +46,9 @@ declare class Body extends VirtualRowView<Row> {
31
46
  private _columns;
32
47
  private _columnConfigs;
33
48
  private _rowReadOnly;
34
- private _cellGeom;
49
+ private _rowVisible;
50
+ private _rowSeparator;
51
+ private _rowIndented;
35
52
  private _lastBodyWidth;
36
53
  private _lastColumnWidths;
37
54
  private _lastAriaRowCount;
@@ -42,6 +59,10 @@ declare class Body extends VirtualRowView<Row> {
42
59
  private _selectedRecords;
43
60
  private _anchorRecord;
44
61
  private _focusedColIndex;
62
+ private _rangeAnchor;
63
+ private _rangeFocus;
64
+ private _contextMenuCell;
65
+ private _cellText;
45
66
  private _editorPool;
46
67
  private _header;
47
68
  private _listeners;
@@ -54,6 +75,7 @@ declare class Body extends VirtualRowView<Row> {
54
75
  private bindStore;
55
76
  protected onStoreChange(): void;
56
77
  protected getVisibleRecords(): ModelRecord[];
78
+ private computeVisibleFields;
57
79
  protected createRow(): Row;
58
80
  protected getTreeFieldName(): string | undefined;
59
81
  protected computeRowAria(row: Row, dataIndex: number): void;
@@ -63,14 +85,22 @@ declare class Body extends VirtualRowView<Row> {
63
85
  protected getHiddenColumns(): Set<string>;
64
86
  protected getColumnConfigs(): Map<string, ColumnConfig>;
65
87
  protected getRowPool(): Row[];
66
- protected invalidateGeom(): void;
67
88
  setHiddenColumns(hidden: Set<string>): this;
89
+ private filterUnhideable;
68
90
  setColumns(columns: Column[]): this;
69
91
  setRowReadOnly(predicate: ((record: ModelRecord) => boolean) | null): this;
92
+ setRowSeparator(predicate: ((record: ModelRecord) => {
93
+ label: string;
94
+ color: string | null;
95
+ } | null) | null): this;
96
+ setRowIndented(predicate: ((record: ModelRecord) => boolean) | null): this;
97
+ setRowVisible(predicate: ((record: ModelRecord) => boolean) | null): this;
70
98
  setColumnConfigs(configs: Map<string, ColumnConfig>): this;
71
99
  private registerComboEditors;
72
100
  private syncPoolCells;
73
101
  setStore(store: AbstractStore): this;
102
+ private rebindStore;
103
+ bindViewState(state: BodyViewState): this;
74
104
  protected init(element?: Handle): this;
75
105
  protected onScrollerTick(): void;
76
106
  private onFocus;
@@ -78,12 +108,26 @@ declare class Body extends VirtualRowView<Row> {
78
108
  protected destructor(): void;
79
109
  doLayout(): this;
80
110
  renderWindow(bodyWidth?: number, columnWidths?: number[]): void;
111
+ private computeColumnWindowSlidePlan;
81
112
  private renderWindowPass;
82
113
  private updateColumnWidthCache;
83
114
  private commitEditsOutsideWindow;
84
- protected bindAndPositionRows(firstRow: number, windowSize: number, rowWidth: number, records: ModelRecord[], columns: ColumnWindow): void;
115
+ protected bindAndPositionRows(firstRow: number, windowSize: number, rowWidth: number, records: ModelRecord[], columns: ColumnWindow, slidePlan?: ColumnWindowSlidePlan): void;
85
116
  protected onSubtreeClick(e: MouseEvent): void;
86
117
  private onRowClick;
118
+ private locateCellFromTarget;
119
+ private getCellRangeBounds;
120
+ private isCellWithinBounds;
121
+ private refreshCellRangeHighlight;
122
+ private updateCellRangeVisualState;
123
+ private buildCopyText;
124
+ copySelectionToClipboard(): void;
125
+ copyContextMenuSelection(): void;
126
+ protected onCellMouseDown(e: MouseEvent): void;
127
+ protected onCellDragMove(e: MouseEvent): Event.ListenerResult;
128
+ protected onCellDragEnd(): Event.ListenerResult;
129
+ private onCellDragSelectStart;
130
+ protected onCellContextMenu(e: MouseEvent): Event.ListenerResult;
87
131
  selectRecord(record: ModelRecord | null): void;
88
132
  getSelectedRecord(): ModelRecord | null;
89
133
  getSelectedRecords(): ModelRecord[];
@@ -92,10 +136,12 @@ declare class Body extends VirtualRowView<Row> {
92
136
  on(event: "horizontalscroll", listener: (scrollLeft: number) => void): this;
93
137
  on(event: "selection", listener: (records: ModelRecord[]) => void): this;
94
138
  on(event: "cellclick", listener: (e: CellClickEvent) => void): this;
139
+ on(event: "cellcontextmenu", listener: (x: number, y: number) => void): this;
95
140
  off(event: BodyEvent, listener: Function): this;
96
141
  protected emit(event: "verticalscroll" | "horizontalscroll", offset: number): void;
97
142
  protected emit(event: "selection", records: ModelRecord[]): void;
98
143
  protected emit(event: "cellclick", detail: CellClickEvent): void;
144
+ protected emit(event: "cellcontextmenu", x: number, y: number): void;
99
145
  private notifySelectionChange;
100
146
  scrollToRecord(record: ModelRecord): void;
101
147
  private applyReadOnlyState;
@@ -105,7 +151,8 @@ declare class Body extends VirtualRowView<Row> {
105
151
  setHeader(header: TableHeader): this;
106
152
  protected _updateFocusStyle(): void;
107
153
  protected _updateActiveDescendant(): void;
108
- protected onKeyDown(e: KeyboardEvent): void;
154
+ private skipSeparators;
155
+ protected onKeyDown(e: KeyboardEvent): Event.ListenerResult;
109
156
  protected scrollRecordIntoView(record: ModelRecord): void;
110
157
  protected scrollColumnIntoView(colIndex: number): void;
111
158
  }
@@ -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,20 +19,30 @@ 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;
24
27
  private _focusedCol;
25
28
  private _columnsDirty;
26
29
  private _geometry;
27
- private _cellGeom;
30
+ private _filterRowVisible;
31
+ private _filterStates;
32
+ private _filterCellsDirty;
33
+ private _filterWindowFirst;
34
+ private _pendingFilterField;
35
+ private _filterTimer;
36
+ private _boundOnStoreFilterChange;
37
+ private _columnConfigs;
38
+ private _cellText;
28
39
  constructor(model: AbstractModel, store: AbstractStore);
29
40
  getModel(): AbstractModel;
30
41
  setStore(store: AbstractStore): this;
31
42
  setModel(model: AbstractModel): this;
32
43
  setHiddenColumns(hidden: Set<string>): this;
33
44
  setColumns(columns: Column[]): this;
45
+ setColumnConfigs(configs: Map<string, ColumnConfig>): this;
34
46
  on(event: "columnresizestart", listener: (colIndex: number, clientX: number) => void): this;
35
47
  on(event: "columnresize", listener: (colIndex: number, clientX: number) => void): this;
36
48
  on(event: "columncontextmenu", listener: (fieldName: string, x: number, y: number) => void): this;
@@ -42,7 +54,12 @@ declare class TableHeader extends Component {
42
54
  getColumnWindowStart(): number;
43
55
  getParentRow(): Row;
44
56
  hasParentRow(): boolean;
45
- getScrollbarCover(): Handle;
57
+ getFilterRow(): Row;
58
+ hasFilterRow(): boolean;
59
+ setFilterRowVisible(visible: boolean): this;
60
+ private clearFilterRowState;
61
+ getMenuButton(): Button;
62
+ private onMenuButtonAction;
46
63
  addRow(row: Row): this;
47
64
  addComponent(row: Row): this;
48
65
  setHeight(height: number): this;
@@ -54,13 +71,23 @@ declare class TableHeader extends Component {
54
71
  private columnIndexOf;
55
72
  private handleSortClick;
56
73
  private syncSortIndicators;
74
+ private filterState;
75
+ private onFilterCellChange;
76
+ private filterTarget;
77
+ private applyPendingFilter;
78
+ private onStoreFilterChange;
79
+ private wireFilterCell;
80
+ private reconcileFilterCells;
57
81
  renderColumnWindow(geometry?: HeaderColumnGeometry): this;
82
+ private invalidateCellLayouts;
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;
@@ -1,9 +1,20 @@
1
1
  import { Component } from "../../core/Component.js";
2
2
  import { AbstractModel } from "../../data/AbstractModel.js";
3
+ import { Field } from "../../data/Field.js";
3
4
  import { ModelRecord } from "../../data/ModelRecord.js";
4
5
  import { Cell } from "../../component/table/cell/Cell.js";
5
6
  import type { ColumnConfig } from "../../component/table/ColumnConfig.js";
6
7
  import { LayoutConstraints } from "../../layout/LayoutConstraints.js";
8
+ export interface ColumnWindowSlidePlan {
9
+ prevFirstCol: number;
10
+ prevLastCol: number;
11
+ delta: number;
12
+ enteringKeys: Map<number, string>;
13
+ }
14
+ export interface RetargetedCell {
15
+ cell: Cell<any>;
16
+ fieldName: string;
17
+ }
7
18
  declare class Row extends Component {
8
19
  private _model?;
9
20
  private _data?;
@@ -16,11 +27,17 @@ declare class Row extends Component {
16
27
  private _windowFirst;
17
28
  private _cellKeys;
18
29
  private _fieldNames;
30
+ private _cellCache;
31
+ private _lastRetargeted;
19
32
  private _columnsDirty;
33
+ private _separatorMode;
20
34
  constructor(model?: AbstractModel, data?: ModelRecord, hiddenColumns?: Set<string>, columnConfigs?: Map<string, ColumnConfig>, onCellCommit?: (record: ModelRecord) => void, treeFieldName?: string);
21
35
  getTreeCell(): Cell<any> | null;
22
36
  getColumnWindowStart(): number;
23
37
  getFieldNames(): string[];
38
+ getRetargetedCells(): RetargetedCell[];
39
+ isSeparator(): boolean;
40
+ setFieldIndent(indented: boolean): void;
24
41
  getData(): ModelRecord | undefined;
25
42
  setData(record: ModelRecord): this;
26
43
  setStripe(striped: boolean): void;
@@ -28,13 +45,18 @@ declare class Row extends Component {
28
45
  addColumn(cell: Cell<any>, constraints?: LayoutConstraints): this;
29
46
  addComponent(cell: Cell<any>, constraints?: LayoutConstraints): this;
30
47
  setColumnFields(model: AbstractModel, hiddenColumns: Set<string>, columnConfigs: Map<string, ColumnConfig>, treeFieldName?: string): this;
31
- setColumnWindow(firstCol: number, lastCol: number): boolean;
48
+ renderSeparator(label: string, color: string | null): void;
49
+ setColumnWindow(firstCol: number, lastCol: number, plan?: ColumnWindowSlidePlan): boolean;
50
+ private reconcileWindowSlide;
32
51
  private commitCellValue;
33
- private static cellKey;
52
+ static cellKey(field: Field, config: ColumnConfig | undefined, isTreeColumn: boolean): string;
34
53
  private cellKeyFor;
35
54
  private bindCell;
36
55
  private static createCellForField;
56
+ private retireCell;
57
+ private disposeCellCache;
37
58
  doLayout(): this;
59
+ protected destructor(): void;
38
60
  }
39
61
  declare const RowCallable: import("../../core/Callable.js").Callable<typeof Row>;
40
62
  type RowCallable = Row;
@@ -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,29 @@ 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 showCellMenu;
113
+ private columnsInMenuOrder;
114
+ private buildColumnMenuItems;
115
+ private showColumnDialog;
116
+ private dialogColumnCount;
117
+ private splitIntoDialogColumns;
118
+ private buildColumnDialogBody;
119
+ private buildColumnDialogColumn;
93
120
  setExportMenuEnabled(enabled: boolean): this;
94
121
  exportCSV(options?: ExportOptions): void;
95
122
  exportJSON(options?: ExportOptions): void;
123
+ exportTSV(options?: ExportOptions): void;
96
124
  private getExportColumns;
125
+ getCellText(field: string, record: ModelRecord): string;
97
126
  private onColumnResizeStart;
98
127
  private onColumnResize;
99
128
  private resetColumns;
@@ -105,6 +134,8 @@ declare class Table extends Component<TableOptions> {
105
134
  private measureHeaders;
106
135
  private measureContent;
107
136
  private resolveContentCandidates;
137
+ private resolveRotatedContentCandidates;
138
+ private formatRotatedValueText;
108
139
  private collectCandidates;
109
140
  private keepLongest;
110
141
  private samplesRecordText;
@@ -1,14 +1,18 @@
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 exportTSV(columns: Column[], records: ModelRecord[], columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver, options?: ExportOptions): void;
13
+ static formatValue(column: Column, value: any, columnConfigs: Map<string, ColumnConfig>, display: CellTextResolver): any;
12
14
  private static escapeCSVField;
15
+ static buildRectangularTSV(rows: string[][]): string;
16
+ private static escapeTSVField;
13
17
  private static download;
14
18
  }
@@ -19,6 +19,7 @@ declare class TablePanel extends Container {
19
19
  setExportMenuEnabled(enabled: boolean): this;
20
20
  exportCSV(options?: ExportOptions): void;
21
21
  exportJSON(options?: ExportOptions): void;
22
+ exportTSV(options?: ExportOptions): void;
22
23
  setPaginationBar(bar: PaginationBar): this;
23
24
  getPaginationBar(): PaginationBar | undefined;
24
25
  }
@@ -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;
@@ -20,6 +20,7 @@ declare class TreeTablePanel extends Container {
20
20
  setExportMenuEnabled(enabled: boolean): this;
21
21
  exportCSV(options?: ExportOptions): void;
22
22
  exportJSON(options?: ExportOptions): void;
23
+ exportTSV(options?: ExportOptions): void;
23
24
  setPaginationBar(bar: PaginationBar): this;
24
25
  getPaginationBar(): PaginationBar | undefined;
25
26
  }
@@ -1,4 +1,5 @@
1
- import { Component } from "../../../core/Component.js";
1
+ import { Component, ComponentOptions } from "../../../core/Component.js";
2
+ import type { ClassStyleDefaults } from "../../../core/ClassStyleRules.js";
2
3
  import { ListenerBag } from "../../../core/ListenerBag.js";
3
4
  import { Card } from "../../../layout/Card.js";
4
5
  import { CellRenderer } from "../../../component/table/cell/renderer/CellRenderer.js";
@@ -8,8 +9,10 @@ import { CellEditorPool } from "../../../component/table/cell/editor/CellEditorP
8
9
  import { LayoutConstraints } from "../../../layout/LayoutConstraints.js";
9
10
  export type CellEvent = "commit" | "editend";
10
11
  export declare class Cell<T> extends Component {
12
+ protected static readonly ownClassStyleDefaults: ClassStyleDefaults;
11
13
  private _readOnly;
12
14
  private _requiredEmpty;
15
+ private _rangeSelected;
13
16
  private _baseBackground;
14
17
  private _renderer;
15
18
  private _editor;
@@ -17,8 +20,9 @@ export declare class Cell<T> extends Component {
17
20
  private _scrollIntoView;
18
21
  protected _activeEditor: CellEditor<T> | null;
19
22
  protected _listeners: ListenerBag<string>;
20
- constructor(tag: string, renderer: CellRenderer<T>, editor?: CellEditor<T>, rendererConstraints?: LayoutConstraints, editorContraints?: LayoutConstraints);
23
+ constructor(tag: string, renderer: CellRenderer<T>, editor?: CellEditor<T>, rendererConstraints?: LayoutConstraints, editorContraints?: LayoutConstraints, subclassDefaults?: Partial<ComponentOptions>);
21
24
  protected clampsToContentSize(): boolean;
25
+ protected canSkipUnchangedLayout(): boolean;
22
26
  getEditorKey(): string | null;
23
27
  setEditorPool(pool: CellEditorPool | null): this;
24
28
  setScrollIntoViewHandler(handler: (() => void) | null): this;
@@ -30,6 +34,7 @@ export declare class Cell<T> extends Component {
30
34
  isReadOnly(): boolean;
31
35
  setReadOnly(value: boolean): this;
32
36
  setRequiredEmpty(value: boolean): this;
37
+ setRangeSelected(value: boolean): this;
33
38
  setBaseBackground(color: string | null): this;
34
39
  private _applyStateTint;
35
40
  onKeyDown(evnt: CustomEvent<ForwardedKeyDetail>): void;
@@ -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
+ }
@@ -1,7 +1,7 @@
1
1
  import { StringRenderer } from "../../../component/table/cell/renderer/String.js";
2
2
  import { Cell } from "../../../component/table/cell/Cell.js";
3
3
  declare class DefaultCell extends Cell<String | null> {
4
- constructor(tag?: string);
4
+ constructor(tag?: string, renderer?: StringRenderer);
5
5
  getRenderer(): StringRenderer;
6
6
  setValue(value: String | null): this;
7
7
  }
@@ -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 };
@@ -0,0 +1,21 @@
1
+ import { Component, ComponentOptions } from "../../../core/Component.js";
2
+ import type { Handle } from "../../../core/DOM.js";
3
+ interface FilterClauseBadgeOptions extends ComponentOptions {
4
+ count?: number | null;
5
+ }
6
+ declare class FilterClauseBadge extends Component<FilterClauseBadgeOptions> {
7
+ private _count;
8
+ private _description;
9
+ constructor(options?: FilterClauseBadgeOptions, subclassDefaults?: Partial<FilterClauseBadgeOptions>);
10
+ protected applyOptions(options: FilterClauseBadgeOptions): this;
11
+ protected render(): Handle;
12
+ getCount(): number | null;
13
+ getAccessibleDescription(): string | null;
14
+ setAccessibleDescription(text: string | null): this;
15
+ setCount(value: number | null): this;
16
+ private _countText;
17
+ private _shouldShow;
18
+ }
19
+ declare const FilterClauseBadgeCallable: import("../../../core/Callable.js").Callable<typeof FilterClauseBadge>;
20
+ type FilterClauseBadgeCallable = FilterClauseBadge;
21
+ export { FilterClauseBadge as _FilterClauseBadge, FilterClauseBadgeCallable as FilterClauseBadge };
@@ -0,0 +1,9 @@
1
+ import { DefaultCell } from "../../../component/table/cell/Default.js";
2
+ declare class GroupSeparatorCell extends DefaultCell {
3
+ private _color;
4
+ constructor(text: string, color: string | null);
5
+ getColor(): string | null;
6
+ }
7
+ declare const GroupSeparatorCellCallable: import("../../../core/Callable.js").Callable<typeof GroupSeparatorCell>;
8
+ type GroupSeparatorCellCallable = GroupSeparatorCell;
9
+ export { GroupSeparatorCell as _GroupSeparatorCell, GroupSeparatorCellCallable as GroupSeparatorCell };