cx 22.8.1 → 22.8.2

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 (779) hide show
  1. package/LICENSE-THIRD-PARTY.md +91 -91
  2. package/LICENSE.md +7 -7
  3. package/README.md +46 -46
  4. package/dist/charts.js +35 -39
  5. package/dist/data.js +2506 -2510
  6. package/dist/manifest.js +370 -370
  7. package/dist/svg.js +55 -63
  8. package/dist/ui.js +5241 -5242
  9. package/dist/widgets.js +21949 -21952
  10. package/index.js +17 -17
  11. package/locale/de-de.js +69 -69
  12. package/locale/en-us.js +71 -71
  13. package/locale/es-es.js +69 -69
  14. package/locale/fr-fr.js +70 -70
  15. package/locale/nl-nl.js +75 -75
  16. package/locale/pt-pt.js +63 -63
  17. package/locale/sr-latn-ba.js +70 -70
  18. package/package.json +30 -30
  19. package/src/charts/Bar.d.ts +27 -27
  20. package/src/charts/Bar.js +89 -89
  21. package/src/charts/Bar.scss +26 -26
  22. package/src/charts/BarGraph.d.ts +16 -16
  23. package/src/charts/BarGraph.js +110 -110
  24. package/src/charts/BarGraph.scss +27 -27
  25. package/src/charts/BubbleGraph.js +92 -92
  26. package/src/charts/BubbleGraph.scss +29 -29
  27. package/src/charts/Chart.d.ts +12 -12
  28. package/src/charts/Chart.js +77 -77
  29. package/src/charts/ColorMap.d.ts +21 -27
  30. package/src/charts/ColorMap.js +98 -98
  31. package/src/charts/Column.scss +26 -26
  32. package/src/charts/ColumnBarBase.d.ts +61 -61
  33. package/src/charts/ColumnBarBase.js +169 -169
  34. package/src/charts/ColumnBarGraphBase.d.ts +71 -71
  35. package/src/charts/ColumnBarGraphBase.js +119 -119
  36. package/src/charts/ColumnGraph.d.ts +19 -19
  37. package/src/charts/ColumnGraph.js +114 -114
  38. package/src/charts/ColumnGraph.scss +27 -27
  39. package/src/charts/Grid.js +5 -5
  40. package/src/charts/Gridlines.d.ts +24 -24
  41. package/src/charts/Gridlines.js +48 -48
  42. package/src/charts/Gridlines.scss +22 -22
  43. package/src/charts/Legend.d.ts +26 -26
  44. package/src/charts/Legend.js +142 -142
  45. package/src/charts/Legend.scss +41 -41
  46. package/src/charts/LegendEntry.d.ts +37 -37
  47. package/src/charts/LegendEntry.js +117 -117
  48. package/src/charts/LegendEntry.scss +30 -30
  49. package/src/charts/LineGraph.d.ts +90 -90
  50. package/src/charts/LineGraph.js +201 -201
  51. package/src/charts/LineGraph.scss +23 -23
  52. package/src/charts/Marker.d.ts +87 -87
  53. package/src/charts/Marker.js +287 -287
  54. package/src/charts/Marker.scss +41 -41
  55. package/src/charts/MarkerLine.d.ts +57 -57
  56. package/src/charts/MarkerLine.js +128 -128
  57. package/src/charts/MarkerLine.scss +17 -17
  58. package/src/charts/MouseTracker.d.ts +16 -16
  59. package/src/charts/MouseTracker.js +80 -80
  60. package/src/charts/Pie.js +8 -8
  61. package/src/charts/PieChart.d.ts +80 -80
  62. package/src/charts/PieChart.js +370 -370
  63. package/src/charts/PieChart.scss +26 -26
  64. package/src/charts/PieLabel.d.ts +26 -26
  65. package/src/charts/PieLabel.js +65 -65
  66. package/src/charts/PieLabelsContainer.d.ts +3 -3
  67. package/src/charts/PieLabelsContainer.js +55 -55
  68. package/src/charts/Range.d.ts +74 -74
  69. package/src/charts/Range.js +205 -205
  70. package/src/charts/Range.scss +18 -18
  71. package/src/charts/ScatterGraph.d.ts +65 -65
  72. package/src/charts/ScatterGraph.js +155 -155
  73. package/src/charts/ScatterGraph.scss +21 -21
  74. package/src/charts/axis/Axis.d.ts +82 -82
  75. package/src/charts/axis/Axis.js +222 -222
  76. package/src/charts/axis/Axis.scss +22 -22
  77. package/src/charts/axis/CategoryAxis.d.ts +21 -21
  78. package/src/charts/axis/CategoryAxis.js +224 -224
  79. package/src/charts/axis/CategoryAxis.scss +32 -32
  80. package/src/charts/axis/NumericAxis.js +349 -349
  81. package/src/charts/axis/NumericAxis.scss +32 -32
  82. package/src/charts/axis/Stack.d.ts +10 -10
  83. package/src/charts/axis/Stack.js +58 -58
  84. package/src/charts/axis/TimeAxis.d.ts +23 -23
  85. package/src/charts/axis/TimeAxis.js +510 -510
  86. package/src/charts/axis/TimeAxis.scss +32 -32
  87. package/src/charts/axis/index.d.ts +3 -3
  88. package/src/charts/axis/index.js +3 -3
  89. package/src/charts/axis/index.scss +5 -5
  90. package/src/charts/axis/variables.scss +2 -2
  91. package/src/charts/helpers/MinMaxFinder.js +37 -37
  92. package/src/charts/helpers/MinMaxReducer.d.ts +22 -22
  93. package/src/charts/helpers/PointReducer.d.ts +15 -15
  94. package/src/charts/helpers/PointReducer.js +39 -39
  95. package/src/charts/helpers/SnapPointFinder.d.ts +18 -18
  96. package/src/charts/helpers/SnapPointFinder.js +46 -46
  97. package/src/charts/helpers/ValueAtFinder.d.ts +16 -16
  98. package/src/charts/helpers/ValueAtFinder.js +41 -41
  99. package/src/charts/helpers/index.d.ts +4 -4
  100. package/src/charts/helpers/index.js +4 -4
  101. package/src/charts/index.d.ts +23 -23
  102. package/src/charts/index.js +31 -31
  103. package/src/charts/index.scss +20 -20
  104. package/src/charts/palette.scss +95 -95
  105. package/src/charts/shapes.d.ts +22 -22
  106. package/src/charts/shapes.js +79 -79
  107. package/src/charts/variables.scss +14 -14
  108. package/src/core.d.ts +261 -261
  109. package/src/data/AggregateFunction.d.ts +17 -17
  110. package/src/data/AggregateFunction.js +148 -148
  111. package/src/data/ArrayElementView.d.ts +13 -13
  112. package/src/data/ArrayElementView.js +46 -46
  113. package/src/data/ArrayRef.d.ts +14 -14
  114. package/src/data/ArrayRef.js +34 -34
  115. package/src/data/AugmentedViewBase.d.ts +18 -18
  116. package/src/data/AugmentedViewBase.js +67 -67
  117. package/src/data/Binding.d.ts +16 -16
  118. package/src/data/Binding.js +86 -86
  119. package/src/data/Binding.spec.js +51 -51
  120. package/src/data/ExposedRecordView.d.ts +14 -14
  121. package/src/data/ExposedRecordView.js +69 -69
  122. package/src/data/ExposedValueView.d.ts +19 -19
  123. package/src/data/ExposedValueView.js +72 -72
  124. package/src/data/Expression.d.ts +16 -16
  125. package/src/data/Grouper.d.ts +21 -21
  126. package/src/data/Grouper.js +120 -120
  127. package/src/data/Grouper.spec.js +22 -22
  128. package/src/data/NestedDataView.d.ts +19 -19
  129. package/src/data/NestedDataView.js +22 -22
  130. package/src/data/ReadOnlyDataView.d.ts +14 -14
  131. package/src/data/ReadOnlyDataView.js +26 -26
  132. package/src/data/Ref.js +79 -79
  133. package/src/data/Store.d.ts +14 -14
  134. package/src/data/Store.js +46 -46
  135. package/src/data/Store.spec.js +22 -22
  136. package/src/data/StoreProxy.d.ts +4 -4
  137. package/src/data/StoreProxy.js +16 -16
  138. package/src/data/StoreRef.js +54 -54
  139. package/src/data/StringTemplate.d.ts +13 -13
  140. package/src/data/StringTemplate.js +97 -97
  141. package/src/data/StringTemplate.spec.js +82 -82
  142. package/src/data/StructuredSelector.d.ts +16 -16
  143. package/src/data/StructuredSelector.js +131 -131
  144. package/src/data/StructuredSelector.spec.js +113 -113
  145. package/src/data/SubscribableView.d.ts +11 -11
  146. package/src/data/View.d.ts +126 -126
  147. package/src/data/View.js +182 -182
  148. package/src/data/View.spec.js +60 -60
  149. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  150. package/src/data/ZoomIntoPropertyView.js +33 -33
  151. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  152. package/src/data/comparer.d.ts +7 -7
  153. package/src/data/comparer.js +51 -51
  154. package/src/data/comparer.spec.js +60 -60
  155. package/src/data/computable.d.ts +45 -45
  156. package/src/data/computable.js +56 -56
  157. package/src/data/computable.spec.js +55 -55
  158. package/src/data/createAccessorModelProxy.d.ts +6 -6
  159. package/src/data/createAccessorModelProxy.js +43 -43
  160. package/src/data/createAccessorModelProxy.spec.tsx +38 -38
  161. package/src/data/createStructuredSelector.d.ts +2 -2
  162. package/src/data/createStructuredSelector.js +43 -43
  163. package/src/data/createStructuredSelector.spec.js +46 -46
  164. package/src/data/defaultCompare.js +14 -14
  165. package/src/data/diff/diffArrays.d.ts +15 -15
  166. package/src/data/diff/diffArrays.js +41 -41
  167. package/src/data/diff/diffs.spec.js +49 -49
  168. package/src/data/diff/index.d.ts +1 -1
  169. package/src/data/diff/index.js +1 -1
  170. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  171. package/src/data/enableFatArrowExpansion.js +6 -6
  172. package/src/data/getAccessor.d.ts +8 -8
  173. package/src/data/getAccessor.js +61 -61
  174. package/src/data/getSelector.d.ts +3 -3
  175. package/src/data/getSelector.js +48 -48
  176. package/src/data/getSelector.spec.js +43 -43
  177. package/src/data/index.d.ts +30 -30
  178. package/src/data/index.js +28 -28
  179. package/src/data/isSelector.d.ts +1 -1
  180. package/src/data/isSelector.js +26 -26
  181. package/src/data/ops/append.d.ts +1 -1
  182. package/src/data/ops/append.js +7 -7
  183. package/src/data/ops/append.spec.js +28 -28
  184. package/src/data/ops/filter.d.ts +1 -1
  185. package/src/data/ops/filter.js +8 -8
  186. package/src/data/ops/filter.spec.js +29 -29
  187. package/src/data/ops/findTreeNode.js +15 -15
  188. package/src/data/ops/findTreeNode.spec.js +24 -24
  189. package/src/data/ops/findTreePath.d.ts +6 -6
  190. package/src/data/ops/findTreePath.js +16 -16
  191. package/src/data/ops/index.d.ts +10 -10
  192. package/src/data/ops/index.js +11 -11
  193. package/src/data/ops/insertElement.js +2 -2
  194. package/src/data/ops/merge.d.ts +3 -3
  195. package/src/data/ops/merge.js +9 -9
  196. package/src/data/ops/merge.spec.js +27 -27
  197. package/src/data/ops/moveElement.js +13 -13
  198. package/src/data/ops/removeTreeNodes.d.ts +1 -1
  199. package/src/data/ops/removeTreeNodes.js +5 -5
  200. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  201. package/src/data/ops/updateArray.d.ts +5 -5
  202. package/src/data/ops/updateArray.js +24 -24
  203. package/src/data/ops/updateArray.spec.js +38 -38
  204. package/src/data/ops/updateTree.d.ts +7 -7
  205. package/src/data/ops/updateTree.js +25 -25
  206. package/src/data/ops/updateTree.spec.js +34 -34
  207. package/src/global.scss +13 -13
  208. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  209. package/src/hooks/createLocalStorageRef.js +22 -22
  210. package/src/hooks/index.d.ts +8 -8
  211. package/src/hooks/index.js +7 -7
  212. package/src/hooks/invokeCallback.d.ts +5 -5
  213. package/src/hooks/invokeCallback.js +6 -6
  214. package/src/hooks/invokeCallback.spec.js +53 -53
  215. package/src/hooks/resolveCallback.d.ts +3 -3
  216. package/src/hooks/resolveCallback.js +11 -11
  217. package/src/hooks/resolveCallback.spec.js +54 -54
  218. package/src/hooks/store.d.ts +7 -7
  219. package/src/hooks/store.js +32 -32
  220. package/src/hooks/store.spec.js +73 -73
  221. package/src/hooks/useEffect.d.ts +2 -2
  222. package/src/hooks/useEffect.js +14 -14
  223. package/src/hooks/useInterval.js +7 -7
  224. package/src/hooks/useState.d.ts +2 -2
  225. package/src/hooks/useState.js +15 -15
  226. package/src/hooks/useTrigger.d.ts +4 -4
  227. package/src/hooks/useTrigger.js +20 -20
  228. package/src/hooks/useTrigger.spec.js +102 -102
  229. package/src/index.js +7 -7
  230. package/src/index.scss +6 -6
  231. package/src/svg/BoundedObject.d.ts +22 -22
  232. package/src/svg/BoundedObject.js +59 -59
  233. package/src/svg/ClipRect.d.ts +4 -4
  234. package/src/svg/ClipRect.js +23 -23
  235. package/src/svg/Ellipse.d.ts +23 -23
  236. package/src/svg/Ellipse.js +36 -36
  237. package/src/svg/Line.d.ts +20 -20
  238. package/src/svg/Line.js +32 -32
  239. package/src/svg/NonOverlappingRect.d.ts +5 -5
  240. package/src/svg/NonOverlappingRect.js +14 -14
  241. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  242. package/src/svg/NonOverlappingRectGroup.js +36 -36
  243. package/src/svg/Rectangle.d.ts +23 -23
  244. package/src/svg/Rectangle.js +36 -36
  245. package/src/svg/Svg.d.ts +32 -32
  246. package/src/svg/Svg.js +177 -177
  247. package/src/svg/Svg.scss +26 -26
  248. package/src/svg/Text.d.ts +38 -38
  249. package/src/svg/Text.js +61 -61
  250. package/src/svg/TextualBoundedObject.d.ts +6 -6
  251. package/src/svg/TextualBoundedObject.js +28 -28
  252. package/src/svg/index.d.ts +11 -11
  253. package/src/svg/index.js +17 -17
  254. package/src/svg/index.scss +8 -8
  255. package/src/svg/util/Rect.d.ts +40 -40
  256. package/src/svg/util/Rect.js +108 -108
  257. package/src/ui/CSS.d.ts +19 -19
  258. package/src/ui/CSS.js +79 -79
  259. package/src/ui/CSSHelper.d.ts +10 -10
  260. package/src/ui/CSSHelper.js +17 -17
  261. package/src/ui/Container.d.ts +18 -18
  262. package/src/ui/Container.js +183 -183
  263. package/src/ui/ContentResolver.d.ts +12 -12
  264. package/src/ui/ContentResolver.js +78 -78
  265. package/src/ui/Controller.d.ts +70 -70
  266. package/src/ui/Controller.js +114 -114
  267. package/src/ui/Controller.spec.js +414 -414
  268. package/src/ui/Culture.d.ts +22 -22
  269. package/src/ui/Culture.js +65 -65
  270. package/src/ui/Cx.d.ts +18 -18
  271. package/src/ui/Cx.js +313 -313
  272. package/src/ui/Cx.spec.js +193 -193
  273. package/src/ui/DataProxy.d.ts +10 -10
  274. package/src/ui/DataProxy.js +44 -44
  275. package/src/ui/DataProxy.spec.js +335 -335
  276. package/src/ui/DetachedScope.d.ts +21 -21
  277. package/src/ui/DetachedScope.js +93 -93
  278. package/src/ui/FocusManager.d.ts +29 -29
  279. package/src/ui/FocusManager.js +171 -171
  280. package/src/ui/Format.d.ts +2 -2
  281. package/src/ui/Format.js +88 -88
  282. package/src/ui/HoverSync.d.ts +13 -13
  283. package/src/ui/HoverSync.js +147 -147
  284. package/src/ui/Instance.d.ts +69 -69
  285. package/src/ui/Instance.js +607 -607
  286. package/src/ui/IsolatedScope.d.ts +16 -16
  287. package/src/ui/IsolatedScope.js +29 -29
  288. package/src/ui/IsolatedScope.spec.js +62 -62
  289. package/src/ui/Localization.d.ts +17 -17
  290. package/src/ui/Localization.js +72 -72
  291. package/src/ui/PureContainer.d.ts +16 -16
  292. package/src/ui/PureContainer.js +7 -7
  293. package/src/ui/RenderingContext.d.ts +9 -9
  294. package/src/ui/RenderingContext.js +88 -88
  295. package/src/ui/Repeater.d.ts +49 -49
  296. package/src/ui/Repeater.js +98 -98
  297. package/src/ui/Repeater.spec.js +143 -59
  298. package/src/ui/Rescope.d.ts +10 -10
  299. package/src/ui/Rescope.js +31 -31
  300. package/src/ui/Rescope.spec.js +195 -195
  301. package/src/ui/ResizeManager.d.ts +9 -9
  302. package/src/ui/ResizeManager.js +30 -30
  303. package/src/ui/Restate.d.ts +15 -15
  304. package/src/ui/Restate.js +155 -155
  305. package/src/ui/Restate.spec.js +422 -422
  306. package/src/ui/StaticText.d.ts +8 -8
  307. package/src/ui/StaticText.js +9 -9
  308. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  309. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  310. package/src/ui/Text.d.ts +10 -10
  311. package/src/ui/Text.js +27 -27
  312. package/src/ui/VDOM.d.ts +3 -3
  313. package/src/ui/VDOM.js +2 -2
  314. package/src/ui/Widget.d.ts +14 -14
  315. package/src/ui/Widget.js +200 -200
  316. package/src/ui/ZIndexManager.d.ts +7 -7
  317. package/src/ui/ZIndexManager.js +11 -11
  318. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  319. package/src/ui/adapter/ArrayAdapter.js +142 -142
  320. package/src/ui/adapter/ArrayAdapter.spec.js +55 -0
  321. package/src/ui/adapter/DataAdapter.d.ts +19 -19
  322. package/src/ui/adapter/DataAdapter.js +19 -19
  323. package/src/ui/adapter/GroupAdapter.d.ts +4 -4
  324. package/src/ui/adapter/GroupAdapter.js +135 -135
  325. package/src/ui/adapter/TreeAdapter.d.ts +4 -4
  326. package/src/ui/adapter/TreeAdapter.js +100 -100
  327. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  328. package/src/ui/adapter/index.d.ts +4 -4
  329. package/src/ui/adapter/index.js +4 -4
  330. package/src/ui/app/History.d.ts +17 -17
  331. package/src/ui/app/History.js +114 -114
  332. package/src/ui/app/Url.d.ts +21 -21
  333. package/src/ui/app/Url.js +103 -103
  334. package/src/ui/app/Url.spec.js +51 -51
  335. package/src/ui/app/index.d.ts +4 -4
  336. package/src/ui/app/index.js +5 -5
  337. package/src/ui/app/startAppLoop.d.ts +3 -3
  338. package/src/ui/app/startAppLoop.js +57 -57
  339. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  340. package/src/ui/app/startHotAppLoop.js +25 -25
  341. package/src/ui/batchUpdates.d.ts +10 -10
  342. package/src/ui/batchUpdates.js +67 -67
  343. package/src/ui/bind.d.ts +4 -4
  344. package/src/ui/bind.js +7 -7
  345. package/src/ui/createFunctionalComponent.d.ts +1 -1
  346. package/src/ui/createFunctionalComponent.js +68 -68
  347. package/src/ui/createFunctionalComponent.spec.js +400 -400
  348. package/src/ui/expr.d.ts +24 -24
  349. package/src/ui/expr.js +17 -17
  350. package/src/ui/flattenProps.js +21 -21
  351. package/src/ui/index.js +44 -44
  352. package/src/ui/index.scss +2 -2
  353. package/src/ui/keyboardShortcuts.d.ts +4 -4
  354. package/src/ui/keyboardShortcuts.js +32 -32
  355. package/src/ui/layout/Content.d.ts +14 -14
  356. package/src/ui/layout/Content.js +16 -16
  357. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  358. package/src/ui/layout/ContentPlaceholder.js +79 -79
  359. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  360. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  361. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  362. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  363. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  364. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  365. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  366. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  367. package/src/ui/layout/LabelsTopLayout.js +134 -134
  368. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  369. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  370. package/src/ui/layout/UseParentLayout.js +6 -6
  371. package/src/ui/layout/exploreChildren.d.ts +14 -14
  372. package/src/ui/layout/exploreChildren.js +40 -40
  373. package/src/ui/layout/index.d.ts +10 -10
  374. package/src/ui/layout/index.js +10 -10
  375. package/src/ui/layout/index.scss +3 -3
  376. package/src/ui/layout/variables.scss +2 -2
  377. package/src/ui/selection/KeySelection.d.ts +17 -17
  378. package/src/ui/selection/KeySelection.js +129 -129
  379. package/src/ui/selection/PropertySelection.d.ts +17 -17
  380. package/src/ui/selection/PropertySelection.js +57 -57
  381. package/src/ui/selection/Selection.d.ts +27 -27
  382. package/src/ui/selection/Selection.js +97 -97
  383. package/src/ui/selection/index.d.ts +3 -3
  384. package/src/ui/selection/index.js +3 -3
  385. package/src/ui/tpl.d.ts +2 -2
  386. package/src/ui/tpl.js +4 -4
  387. package/src/ui/variables.scss +1 -1
  388. package/src/util/Component.d.ts +41 -41
  389. package/src/util/Component.js +107 -107
  390. package/src/util/Console.d.ts +9 -9
  391. package/src/util/Console.js +11 -11
  392. package/src/util/DOM.d.ts +33 -33
  393. package/src/util/DOM.js +72 -72
  394. package/src/util/Debug.d.ts +10 -10
  395. package/src/util/Debug.js +45 -45
  396. package/src/util/Format.d.ts +13 -13
  397. package/src/util/Format.js +241 -241
  398. package/src/util/Format.spec.js +69 -69
  399. package/src/util/GlobalCacheIdentifier.js +11 -11
  400. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  401. package/src/util/KeyCode.d.ts +21 -21
  402. package/src/util/KeyCode.js +21 -21
  403. package/src/util/SubscriberList.d.ts +41 -41
  404. package/src/util/SubscriberList.js +57 -57
  405. package/src/util/Timing.d.ts +13 -13
  406. package/src/util/Timing.js +57 -57
  407. package/src/util/TraversalStack.js +42 -42
  408. package/src/util/TraversalStack.spec.js +46 -46
  409. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  410. package/src/util/addEventListenerWithOptions.js +9 -9
  411. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  412. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  413. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  414. package/src/util/calculateNaturalElementHeight.js +22 -22
  415. package/src/util/call-once.scss +6 -6
  416. package/src/util/coalesce.d.ts +1 -1
  417. package/src/util/coalesce.js +6 -6
  418. package/src/util/color/hslToRgb.d.ts +8 -8
  419. package/src/util/color/hslToRgb.js +27 -27
  420. package/src/util/color/index.d.ts +3 -3
  421. package/src/util/color/index.js +4 -4
  422. package/src/util/color/parseColor.d.ts +59 -59
  423. package/src/util/color/parseColor.js +119 -119
  424. package/src/util/color/rgbToHex.d.ts +8 -8
  425. package/src/util/color/rgbToHex.js +7 -7
  426. package/src/util/color/rgbToHsl.d.ts +8 -8
  427. package/src/util/color/rgbToHsl.js +27 -27
  428. package/src/util/date/dateDiff.d.ts +7 -7
  429. package/src/util/date/dateDiff.js +3 -3
  430. package/src/util/date/diff.d.ts +7 -7
  431. package/src/util/date/diff.js +7 -7
  432. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  433. package/src/util/date/index.d.ts +8 -8
  434. package/src/util/date/index.js +9 -9
  435. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  436. package/src/util/date/lowerBoundCheck.js +6 -6
  437. package/src/util/date/maxDate.d.ts +5 -5
  438. package/src/util/date/maxDate.js +9 -9
  439. package/src/util/date/minDate.d.ts +5 -5
  440. package/src/util/date/minDate.js +9 -9
  441. package/src/util/date/monthStart.d.ts +5 -5
  442. package/src/util/date/monthStart.js +3 -3
  443. package/src/util/date/sameDate.d.ts +6 -6
  444. package/src/util/date/sameDate.js +5 -5
  445. package/src/util/date/upperBoundCheck.d.ts +7 -7
  446. package/src/util/date/upperBoundCheck.js +6 -6
  447. package/src/util/date/upperBoundCheck.spec.js +30 -30
  448. package/src/util/date/zeroTime.d.ts +6 -6
  449. package/src/util/date/zeroTime.js +3 -3
  450. package/src/util/debounce.d.ts +9 -9
  451. package/src/util/dummyCallback.d.ts +1 -1
  452. package/src/util/dummyCallback.js +1 -1
  453. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  454. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  455. package/src/util/eventCallbacks.d.ts +4 -4
  456. package/src/util/eventCallbacks.js +2 -2
  457. package/src/util/expandFatArrows.js +118 -118
  458. package/src/util/findScrollableParent.js +16 -16
  459. package/src/util/getActiveElement.js +3 -3
  460. package/src/util/getParentFrameBoundingClientRect.js +18 -18
  461. package/src/util/getScrollerBoundingClientRect.js +21 -21
  462. package/src/util/getSearchQueryPredicate.js +58 -58
  463. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  464. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  465. package/src/util/getVendorPrefix.js +26 -26
  466. package/src/util/index.d.ts +50 -50
  467. package/src/util/index.js +52 -52
  468. package/src/util/index.scss +10 -10
  469. package/src/util/innerTextTrim.d.ts +6 -6
  470. package/src/util/innerTextTrim.js +5 -5
  471. package/src/util/isArray.js +3 -3
  472. package/src/util/isDefined.js +3 -3
  473. package/src/util/isDigit.d.ts +6 -6
  474. package/src/util/isDigit.js +3 -3
  475. package/src/util/isFunction.d.ts +1 -1
  476. package/src/util/isFunction.js +3 -3
  477. package/src/util/isNonEmptyArray.d.ts +1 -1
  478. package/src/util/isNonEmptyArray.js +3 -3
  479. package/src/util/isNumber.js +3 -3
  480. package/src/util/isObject.js +3 -3
  481. package/src/util/isPromise.d.ts +1 -1
  482. package/src/util/isPromise.js +6 -6
  483. package/src/util/isString.js +3 -3
  484. package/src/util/isTextInputElement.d.ts +1 -1
  485. package/src/util/isTextInputElement.js +2 -2
  486. package/src/util/isTouchDevice.d.ts +1 -1
  487. package/src/util/isTouchDevice.js +7 -7
  488. package/src/util/isTouchEvent.d.ts +3 -3
  489. package/src/util/isTouchEvent.js +64 -64
  490. package/src/util/isUndefined.js +3 -3
  491. package/src/util/onIdleCallback.js +13 -13
  492. package/src/util/parseStyle.d.ts +3 -3
  493. package/src/util/parseStyle.js +27 -27
  494. package/src/util/quote.d.ts +2 -2
  495. package/src/util/quote.js +5 -5
  496. package/src/util/reverseSlice.js +9 -9
  497. package/src/util/routeAppend.js +15 -15
  498. package/src/util/routeAppend.spec.js +19 -19
  499. package/src/util/scrollElementIntoView.d.ts +7 -7
  500. package/src/util/scrollElementIntoView.js +34 -34
  501. package/src/util/scss/add-rules.scss +39 -39
  502. package/src/util/scss/calc.scss +40 -40
  503. package/src/util/scss/call-once.scss +10 -10
  504. package/src/util/scss/clockwise.scss +47 -47
  505. package/src/util/scss/colors.scss +7 -7
  506. package/src/util/scss/deep-get.scss +9 -9
  507. package/src/util/scss/deep-merge.scss +18 -18
  508. package/src/util/scss/include.scss +47 -47
  509. package/src/util/scss/index.scss +8 -8
  510. package/src/util/shallowEquals.js +43 -43
  511. package/src/util/throttle.d.ts +8 -8
  512. package/src/util/throttle.js +14 -14
  513. package/src/variables.scss +217 -217
  514. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  515. package/src/widgets/Button.d.ts +58 -58
  516. package/src/widgets/Button.scss +36 -28
  517. package/src/widgets/Button.variables.scss +107 -107
  518. package/src/widgets/CxCredit.d.ts +12 -12
  519. package/src/widgets/CxCredit.js +31 -31
  520. package/src/widgets/CxCredit.scss +41 -41
  521. package/src/widgets/DocumentTitle.d.ts +11 -11
  522. package/src/widgets/DocumentTitle.js +68 -68
  523. package/src/widgets/FlexBox.d.ts +69 -69
  524. package/src/widgets/FlexBox.js +92 -92
  525. package/src/widgets/FlexBox.scss +155 -155
  526. package/src/widgets/Heading.d.ts +16 -16
  527. package/src/widgets/Heading.js +32 -32
  528. package/src/widgets/Heading.scss +38 -38
  529. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  530. package/src/widgets/HighlightedSearchText.js +36 -36
  531. package/src/widgets/HighlightedSearchText.scss +18 -18
  532. package/src/widgets/HtmlElement.d.ts +26 -26
  533. package/src/widgets/HtmlElement.js +273 -273
  534. package/src/widgets/HtmlElement.spec.js +57 -57
  535. package/src/widgets/Icon.d.ts +36 -36
  536. package/src/widgets/Icon.js +50 -50
  537. package/src/widgets/Icon.scss +20 -20
  538. package/src/widgets/List.d.ts +87 -87
  539. package/src/widgets/List.js +589 -589
  540. package/src/widgets/List.scss +92 -92
  541. package/src/widgets/ProgressBar.d.ts +17 -17
  542. package/src/widgets/ProgressBar.js +46 -46
  543. package/src/widgets/ProgressBar.scss +49 -49
  544. package/src/widgets/Resizer.d.ts +27 -27
  545. package/src/widgets/Resizer.js +151 -151
  546. package/src/widgets/Resizer.scss +42 -42
  547. package/src/widgets/Sandbox.d.ts +16 -16
  548. package/src/widgets/Sandbox.js +62 -62
  549. package/src/widgets/Section.d.ts +52 -52
  550. package/src/widgets/Section.js +139 -139
  551. package/src/widgets/Section.scss +54 -54
  552. package/src/widgets/animations.scss +10 -10
  553. package/src/widgets/autoFocus.d.ts +1 -1
  554. package/src/widgets/autoFocus.js +11 -11
  555. package/src/widgets/cx.d.ts +1 -1
  556. package/src/widgets/cx.js +71 -71
  557. package/src/widgets/drag-drop/DragClone.scss +33 -33
  558. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  559. package/src/widgets/drag-drop/DragHandle.js +37 -37
  560. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  561. package/src/widgets/drag-drop/DragSource.d.ts +34 -34
  562. package/src/widgets/drag-drop/DragSource.js +160 -160
  563. package/src/widgets/drag-drop/DragSource.scss +24 -24
  564. package/src/widgets/drag-drop/DropZone.d.ts +90 -90
  565. package/src/widgets/drag-drop/DropZone.js +213 -213
  566. package/src/widgets/drag-drop/DropZone.scss +74 -74
  567. package/src/widgets/drag-drop/index.d.ts +4 -4
  568. package/src/widgets/drag-drop/index.js +4 -4
  569. package/src/widgets/drag-drop/index.scss +3 -3
  570. package/src/widgets/drag-drop/ops.d.ts +56 -56
  571. package/src/widgets/drag-drop/ops.js +344 -344
  572. package/src/widgets/drag-drop/variables.scss +11 -11
  573. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  574. package/src/widgets/enableAllInternalDependencies.js +11 -11
  575. package/src/widgets/form/Calendar.d.ts +60 -60
  576. package/src/widgets/form/Calendar.js +506 -506
  577. package/src/widgets/form/Calendar.scss +164 -164
  578. package/src/widgets/form/Calendar.variables.scss +63 -63
  579. package/src/widgets/form/Checkbox.d.ts +43 -43
  580. package/src/widgets/form/Checkbox.js +200 -200
  581. package/src/widgets/form/Checkbox.scss +122 -122
  582. package/src/widgets/form/Checkbox.variables.scss +39 -39
  583. package/src/widgets/form/ColorField.d.ts +43 -43
  584. package/src/widgets/form/ColorField.js +389 -389
  585. package/src/widgets/form/ColorField.scss +92 -92
  586. package/src/widgets/form/ColorPicker.d.ts +23 -23
  587. package/src/widgets/form/ColorPicker.js +451 -451
  588. package/src/widgets/form/ColorPicker.scss +184 -184
  589. package/src/widgets/form/ColorPicker.variables.scss +20 -20
  590. package/src/widgets/form/DateField.d.ts +6 -6
  591. package/src/widgets/form/DateField.js +12 -12
  592. package/src/widgets/form/DateTimeField.d.ts +83 -83
  593. package/src/widgets/form/DateTimeField.js +571 -571
  594. package/src/widgets/form/DateTimeField.scss +90 -90
  595. package/src/widgets/form/DateTimePicker.js +391 -391
  596. package/src/widgets/form/DateTimePicker.scss +44 -44
  597. package/src/widgets/form/Field.d.ts +112 -112
  598. package/src/widgets/form/Field.js +419 -419
  599. package/src/widgets/form/Field.scss +162 -162
  600. package/src/widgets/form/FieldGroup.d.ts +6 -6
  601. package/src/widgets/form/FieldGroup.js +5 -5
  602. package/src/widgets/form/HelpText.d.ts +10 -10
  603. package/src/widgets/form/HelpText.js +9 -9
  604. package/src/widgets/form/HelpText.scss +23 -23
  605. package/src/widgets/form/Label.d.ts +25 -25
  606. package/src/widgets/form/Label.js +86 -86
  607. package/src/widgets/form/Label.scss +36 -36
  608. package/src/widgets/form/LabeledContainer.d.ts +17 -17
  609. package/src/widgets/form/LabeledContainer.js +57 -57
  610. package/src/widgets/form/LookupField.d.ts +159 -159
  611. package/src/widgets/form/LookupField.js +1118 -1118
  612. package/src/widgets/form/LookupField.scss +210 -210
  613. package/src/widgets/form/MonthField.d.ts +88 -88
  614. package/src/widgets/form/MonthField.js +512 -512
  615. package/src/widgets/form/MonthField.scss +99 -99
  616. package/src/widgets/form/MonthPicker.d.ts +68 -68
  617. package/src/widgets/form/MonthPicker.js +631 -631
  618. package/src/widgets/form/MonthPicker.scss +120 -120
  619. package/src/widgets/form/NumberField.d.ts +94 -94
  620. package/src/widgets/form/NumberField.js +443 -443
  621. package/src/widgets/form/NumberField.scss +65 -65
  622. package/src/widgets/form/Radio.d.ts +37 -37
  623. package/src/widgets/form/Radio.js +188 -188
  624. package/src/widgets/form/Radio.scss +122 -122
  625. package/src/widgets/form/Radio.variables.scss +45 -45
  626. package/src/widgets/form/Select.d.ts +73 -73
  627. package/src/widgets/form/Select.js +274 -274
  628. package/src/widgets/form/Select.scss +98 -98
  629. package/src/widgets/form/Slider.d.ts +62 -62
  630. package/src/widgets/form/Slider.js +345 -345
  631. package/src/widgets/form/Slider.scss +121 -121
  632. package/src/widgets/form/Switch.d.ts +38 -38
  633. package/src/widgets/form/Switch.js +120 -120
  634. package/src/widgets/form/Switch.scss +140 -140
  635. package/src/widgets/form/TextArea.d.ts +17 -17
  636. package/src/widgets/form/TextArea.js +182 -182
  637. package/src/widgets/form/TextArea.scss +60 -60
  638. package/src/widgets/form/TextField.d.ts +75 -75
  639. package/src/widgets/form/TextField.js +285 -285
  640. package/src/widgets/form/TextField.scss +67 -67
  641. package/src/widgets/form/TimeField.d.ts +6 -6
  642. package/src/widgets/form/TimeField.js +11 -11
  643. package/src/widgets/form/TimeList.js +84 -84
  644. package/src/widgets/form/UploadButton.d.ts +31 -31
  645. package/src/widgets/form/UploadButton.js +213 -213
  646. package/src/widgets/form/UploadButton.scss +47 -47
  647. package/src/widgets/form/ValidationError.d.ts +10 -10
  648. package/src/widgets/form/ValidationError.js +37 -37
  649. package/src/widgets/form/ValidationError.scss +21 -21
  650. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  651. package/src/widgets/form/Validator.d.ts +6 -6
  652. package/src/widgets/form/Wheel.js +261 -261
  653. package/src/widgets/form/Wheel.scss +148 -148
  654. package/src/widgets/form/index.d.ts +26 -26
  655. package/src/widgets/form/index.js +29 -29
  656. package/src/widgets/form/index.scss +24 -24
  657. package/src/widgets/form/variables.scss +4 -4
  658. package/src/widgets/grid/Grid.d.ts +369 -369
  659. package/src/widgets/grid/Grid.js +3223 -3223
  660. package/src/widgets/grid/Grid.scss +680 -680
  661. package/src/widgets/grid/GridCell.d.ts +29 -29
  662. package/src/widgets/grid/GridCell.js +70 -70
  663. package/src/widgets/grid/GridCellEditor.js +41 -41
  664. package/src/widgets/grid/GridRow.js +228 -228
  665. package/src/widgets/grid/GridRowLine.js +24 -24
  666. package/src/widgets/grid/Pagination.d.ts +14 -14
  667. package/src/widgets/grid/Pagination.js +94 -94
  668. package/src/widgets/grid/Pagination.scss +113 -113
  669. package/src/widgets/grid/TreeNode.d.ts +25 -25
  670. package/src/widgets/grid/TreeNode.js +102 -102
  671. package/src/widgets/grid/TreeNode.scss +90 -90
  672. package/src/widgets/grid/index.d.ts +3 -3
  673. package/src/widgets/grid/index.js +14 -14
  674. package/src/widgets/grid/index.scss +3 -3
  675. package/src/widgets/grid/variables.scss +88 -88
  676. package/src/widgets/icons/arrow-down.svg +3 -3
  677. package/src/widgets/icons/arrow-right.svg +2 -2
  678. package/src/widgets/icons/base.svg +104 -104
  679. package/src/widgets/icons/calendar-old.svg +169 -169
  680. package/src/widgets/icons/calendar.js +16 -16
  681. package/src/widgets/icons/calendar.svg +187 -187
  682. package/src/widgets/icons/check.js +12 -12
  683. package/src/widgets/icons/clear.js +14 -14
  684. package/src/widgets/icons/clear.svg +74 -74
  685. package/src/widgets/icons/close.js +19 -19
  686. package/src/widgets/icons/close.svg +74 -74
  687. package/src/widgets/icons/cx.js +37 -37
  688. package/src/widgets/icons/drop-down.js +14 -14
  689. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  690. package/src/widgets/icons/file.js +12 -12
  691. package/src/widgets/icons/file.svg +4 -4
  692. package/src/widgets/icons/folder-open.js +14 -14
  693. package/src/widgets/icons/folder-open.svg +5 -5
  694. package/src/widgets/icons/folder.js +12 -12
  695. package/src/widgets/icons/folder.svg +58 -58
  696. package/src/widgets/icons/forward.js +21 -21
  697. package/src/widgets/icons/forward.svg +67 -67
  698. package/src/widgets/icons/index.js +14 -14
  699. package/src/widgets/icons/loading.js +23 -23
  700. package/src/widgets/icons/loading.svg +4 -4
  701. package/src/widgets/icons/menu.js +16 -16
  702. package/src/widgets/icons/registry.js +53 -53
  703. package/src/widgets/icons/search.js +12 -12
  704. package/src/widgets/icons/search.svg +107 -107
  705. package/src/widgets/icons/sort-asc.js +13 -13
  706. package/src/widgets/icons/sort-asc.svg +3 -3
  707. package/src/widgets/icons/square.js +17 -17
  708. package/src/widgets/index.d.ts +55 -55
  709. package/src/widgets/index.js +57 -57
  710. package/src/widgets/index.scss +16 -16
  711. package/src/widgets/nav/Link.d.ts +26 -26
  712. package/src/widgets/nav/Link.js +7 -7
  713. package/src/widgets/nav/Link.scss +18 -18
  714. package/src/widgets/nav/LinkButton.d.ts +31 -31
  715. package/src/widgets/nav/LinkButton.js +127 -127
  716. package/src/widgets/nav/Menu.d.ts +27 -27
  717. package/src/widgets/nav/Menu.js +406 -406
  718. package/src/widgets/nav/Menu.scss +74 -74
  719. package/src/widgets/nav/Menu.variables.scss +17 -17
  720. package/src/widgets/nav/MenuItem.d.ts +35 -35
  721. package/src/widgets/nav/MenuItem.js +445 -445
  722. package/src/widgets/nav/MenuItem.scss +128 -128
  723. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  724. package/src/widgets/nav/MenuSpacer.js +12 -12
  725. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  726. package/src/widgets/nav/RedirectRoute.js +40 -40
  727. package/src/widgets/nav/Route.d.ts +21 -21
  728. package/src/widgets/nav/Route.js +105 -105
  729. package/src/widgets/nav/Route.spec.js +27 -27
  730. package/src/widgets/nav/Scroller.d.ts +17 -17
  731. package/src/widgets/nav/Scroller.js +214 -214
  732. package/src/widgets/nav/Scroller.scss +146 -146
  733. package/src/widgets/nav/Submenu.d.ts +6 -6
  734. package/src/widgets/nav/Submenu.js +6 -6
  735. package/src/widgets/nav/Tab.d.ts +33 -33
  736. package/src/widgets/nav/Tab.js +82 -82
  737. package/src/widgets/nav/Tab.scss +81 -81
  738. package/src/widgets/nav/Tab.variables.scss +80 -80
  739. package/src/widgets/nav/cover.scss +21 -21
  740. package/src/widgets/nav/index.d.ts +10 -10
  741. package/src/widgets/nav/index.js +10 -10
  742. package/src/widgets/nav/index.scss +5 -5
  743. package/src/widgets/nav/variables.scss +25 -25
  744. package/src/widgets/overlay/ContextMenu.d.ts +8 -8
  745. package/src/widgets/overlay/ContextMenu.js +28 -28
  746. package/src/widgets/overlay/Dropdown.d.ts +27 -27
  747. package/src/widgets/overlay/Dropdown.js +610 -610
  748. package/src/widgets/overlay/Dropdown.scss +184 -184
  749. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  750. package/src/widgets/overlay/FlyweightTooltipTracker.js +36 -36
  751. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  752. package/src/widgets/overlay/MsgBox.js +116 -116
  753. package/src/widgets/overlay/Overlay.d.ts +69 -69
  754. package/src/widgets/overlay/Overlay.js +747 -747
  755. package/src/widgets/overlay/Overlay.scss +66 -66
  756. package/src/widgets/overlay/Toast.d.ts +30 -30
  757. package/src/widgets/overlay/Toast.js +92 -92
  758. package/src/widgets/overlay/Toast.scss +162 -162
  759. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  760. package/src/widgets/overlay/Tooltip.js +283 -283
  761. package/src/widgets/overlay/Tooltip.scss +175 -175
  762. package/src/widgets/overlay/Window.d.ts +39 -39
  763. package/src/widgets/overlay/Window.js +195 -195
  764. package/src/widgets/overlay/Window.scss +112 -112
  765. package/src/widgets/overlay/Window.variables.scss +67 -67
  766. package/src/widgets/overlay/alerts.d.ts +7 -7
  767. package/src/widgets/overlay/alerts.js +39 -39
  768. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  769. package/src/widgets/overlay/captureMouse.js +132 -132
  770. package/src/widgets/overlay/captureMouse.scss +13 -13
  771. package/src/widgets/overlay/index.d.ts +10 -10
  772. package/src/widgets/overlay/index.js +10 -10
  773. package/src/widgets/overlay/index.scss +15 -15
  774. package/src/widgets/overlay/tooltip-ops.d.ts +8 -8
  775. package/src/widgets/overlay/tooltip-ops.js +24 -24
  776. package/src/widgets/overlay/variables.scss +82 -82
  777. package/src/widgets/variables.scss +144 -144
  778. package/yarn-error.log +7973 -0
  779. package/dist/reset.js +0 -1
@@ -1,369 +1,369 @@
1
- import * as React from "react";
2
- import { Instance } from "../../ui/Instance";
3
- import { DragEvent } from "../drag-drop/ops";
4
- import { View } from "../../data/View";
5
- import {
6
- BooleanProp,
7
- ClassProp,
8
- CollatorOptions,
9
- Config,
10
- NumberProp,
11
- Prop,
12
- Record,
13
- RecordAlias,
14
- SortDirection,
15
- SortersProp,
16
- StringProp,
17
- StructuredProp,
18
- StyledContainerProps,
19
- StyleProp,
20
- Widget,
21
- } from "../../core";
22
-
23
- type FetchRecordsResult = Record[] | { records: Record[]; lastPage?: boolean; totalRecordCount?: number };
24
-
25
- interface MappedGridRecord {
26
- data: Record;
27
- store: View;
28
- }
29
-
30
- interface GridDragEvent extends DragEvent {
31
- target: {
32
- recordBefore: MappedGridRecord;
33
- recordAfter: MappedGridRecord;
34
- insertionIndex: number;
35
- totalRecordCount: number;
36
- };
37
- }
38
-
39
- interface GridRowDragEvent extends DragEvent {
40
- target: {
41
- record: MappedGridRecord;
42
- index: number;
43
- };
44
- }
45
-
46
- interface GridColumnDropEvent extends DragEvent {
47
- target: {
48
- grid: any;
49
- instance: Instance;
50
- index: number;
51
- };
52
- }
53
-
54
- interface GridGroupingKey {
55
- [key: string]:
56
- | Prop<any>
57
- | {
58
- value: Prop<any>;
59
- direction: SortDirection;
60
- };
61
- }
62
-
63
- type GridColumnAlignment = "left" | "right" | "center";
64
-
65
- interface GridGroupingConfig {
66
- key: GridGroupingKey;
67
- aggregates?: StructuredProp;
68
- showCaption?: boolean;
69
- showFooter?: boolean;
70
- showHeader?: boolean;
71
- caption?: StringProp;
72
- name?: StringProp;
73
- text?: StringProp;
74
- }
75
-
76
- // TODO: Check Column config
77
- // Props are in order based on docs
78
-
79
- interface GridColumnHeaderConfig {
80
- text?: StringProp;
81
- colSpan?: NumberProp;
82
- rowSpan?: NumberProp;
83
- align?: GridColumnAlignment;
84
- allowSorting?: boolean;
85
- items?: React.ReactNode;
86
- children?: React.ReactNode;
87
- tool?: React.ReactNode;
88
- style?: StyleProp;
89
- class?: ClassProp;
90
- className?: ClassProp;
91
- tooltip?: Cx.StringProp | Cx.StructuredProp;
92
- }
93
-
94
- interface GridColumnConfig {
95
- align?: GridColumnAlignment;
96
- field?: string;
97
- format?: StringProp;
98
- header?: StringProp | GridColumnHeaderConfig;
99
- header1?: StringProp | GridColumnHeaderConfig;
100
- header2?: StringProp | GridColumnHeaderConfig;
101
- header3?: StringProp | GridColumnHeaderConfig;
102
- sortable?: boolean;
103
- aggregate?: "min" | "max" | "count" | "sum" | "distinct" | "avg";
104
- aggregateAlias?: string;
105
- aggregateField?: string;
106
- caption?: StringProp;
107
- class?: ClassProp;
108
- className?: ClassProp;
109
- draggable?: boolean;
110
- editable?: boolean;
111
- editor?: React.ReactNode;
112
- footer?: StringProp | false;
113
- items?: React.ReactNode;
114
- children?: React.ReactNode;
115
- key?: string;
116
- pad?: boolean;
117
- sortField?: string;
118
- sortValue?: Prop<any>;
119
- style?: StyleProp;
120
- trimWhitespace?: boolean;
121
- visible?: BooleanProp;
122
- if?: BooleanProp;
123
- weightField?: string;
124
-
125
- // Not in docs
126
- value?: Prop<any>;
127
- defaultWidth?: NumberProp;
128
- width?: NumberProp;
129
- resizable?: boolean;
130
- comparer?: (a: any, b: any) => number;
131
-
132
- /** Options for data sorting. See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Collator */
133
- sortOptions?: CollatorOptions;
134
- }
135
-
136
- interface GridRowLineConfig {
137
- visible?: BooleanProp;
138
- columns: GridColumnConfig[];
139
- }
140
-
141
- interface GridRowConfig {
142
- invalid?: BooleanProp;
143
- valid?: BooleanProp;
144
- style?: StyleProp;
145
- class?: ClassProp;
146
- className?: ClassProp;
147
- line1?: GridRowLineConfig;
148
- line2?: GridRowLineConfig;
149
- line3?: GridRowLineConfig;
150
- }
151
-
152
- interface GridProps extends StyledContainerProps {
153
- /** An array of records to be displayed in the grid. */
154
- records?: Prop<Record[]>;
155
-
156
- /** Set to true to add a vertical scroll and a fixed header to the grid. */
157
- scrollable?: boolean;
158
-
159
- /** A binding used to store the sorting order list. Commonly used for server-side sorting. */
160
- sorters?: SortersProp;
161
-
162
- /** A list of sorters to be prepended to the actual list of sorters. */
163
- preSorters?: SortersProp;
164
-
165
- /** A binding used to store the name of the field used for sorting grids. Available only if sorters are not used. */
166
- sortField?: StringProp;
167
-
168
- /** A binding used to store the sort direction. Available only if sorters are not used. Possible values are "ASC" and "DESC". Defaults to "ASC". */
169
- sortDirection?: StringProp;
170
-
171
- /** Default sort field. Used if neither sortField or sorters are set. */
172
- defaultSortField?: string;
173
-
174
- /** Default sort direction. */
175
- defaultSortDirection?: "ASC" | "DESC";
176
-
177
- /** Set to true to add vertical gridlines. */
178
- vlines?: boolean;
179
-
180
- /** Text to be displayed instead of an empty table. */
181
- emptyText?: StringProp;
182
-
183
- /** Drag source configuration. Define mode as 'move' or 'copy` and additional data. */
184
- dragSource?: StructuredProp;
185
-
186
- /** Drop zone configuration. Define mode as either preview or insertion. */
187
- dropZone?: StructuredProp;
188
-
189
- /** Row configuration. See grid examples. */
190
- row?: GridRowConfig;
191
-
192
- /**An array of columns. Check column configuration options in the section below. */
193
- columns?: GridColumnConfig[];
194
-
195
- /** Whenever columnParams change, columns are recalculated using the onGetColumn callback. */
196
- columnParams?: Config;
197
-
198
- /** Selection configuration. */
199
- selection?: Config;
200
-
201
- /** An array of grouping level definitions. Check allowed grouping level properties in the section below. */
202
- grouping?: GridGroupingConfig[];
203
-
204
- /** Params for grouping. Whenever params change grouping is recalculated using the onGetGrouping callback. */
205
- groupingParams?: Config;
206
-
207
- /**
208
- * Determines header appearance. Supported values are plain and default. Default mode is used if some of the columns are sortable.
209
- * Plain mode better suits reports and other scenarios in which users do not interact with the grid.
210
- */
211
- headerMode?: StringProp;
212
-
213
- /** Set to true to add default border around the table. Automatically set if grid is scrollable. */
214
- border?: BooleanProp;
215
-
216
- /** Base CSS class to be applied to the element. Default is 'grid'. */
217
- baseClass?: string;
218
-
219
- /** A field used to get the unique identifier of the record. Setting keyField improves grid performance on sort operations as the widget is able to identify row movement inside the grid. */
220
- keyField?: string;
221
-
222
- /** Show grid header within the group. Useful for long report-like (printable) grids. Defaults to false. */
223
- showHeader?: boolean;
224
-
225
- /** Show grid footer. Defaults to false. */
226
- showFooter?: boolean;
227
-
228
- /** Record alias. Default is $record. */
229
- recordName?: RecordAlias;
230
-
231
- /** Record alias. Default is $record. */
232
- recordAlias?: RecordAlias;
233
-
234
- /** Set to true if sorting is done remotely, on the server-side. Default value is false. */
235
- remoteSort?: boolean;
236
-
237
- /** Set to true to enable row caching. This greatly improves grid performance
238
- on subsequent render operations, however, only changes on records
239
- are allowed. If grid rows display any data outside records, changes on that
240
- data will be ignored. */
241
- cached?: boolean;
242
-
243
- /** Render only rows visible on the screen. */
244
- buffered?: boolean;
245
-
246
- /** Specifies how many rows should be visible on the screen */
247
- bufferSize?: number;
248
-
249
- /** Specifies how many rows needs to be scrolled in order to recalculate buffer */
250
- bufferStep?: number;
251
-
252
- /** Used when rows have variable heights to improve buffered rendering by measuring and caching rendered row heights. Default value is false. */
253
- measureRowHeights?: boolean;
254
-
255
- /** Scrolls selection into the view. Default value is false. */
256
- scrollSelectionIntoView?: boolean;
257
-
258
- /**
259
- * Set to true to lock column widths after the first render.
260
- * This is helpful in pagination scenarios to maintain consistent looks across pages.
261
- */
262
- lockColumnWidths?: boolean;
263
-
264
- lockColumnWidthsRequiredRowCount?: number;
265
- focused?: boolean;
266
- showBorder?: boolean;
267
-
268
- /** Data adapter used to convert data in list of records. Used to enable grouping and tree operations. */
269
- dataAdapter?: any;
270
-
271
- /** Additional CSS class to be added to each grid row. */
272
- rowClass?: ClassProp;
273
-
274
- /** Additional CSS styles to be added to each grid row. */
275
- rowStyle?: StyleProp;
276
-
277
- // drag-drop handlers
278
- onDrop?: (e: GridDragEvent, instance: Instance) => void;
279
- onDropTest?: (e: DragEvent, instance: Instance) => boolean;
280
- onDragStart?: (e: DragEvent, instance: Instance) => void;
281
- onDragEnd?: (e: DragEvent, instance: Instance) => void;
282
- onDragOver?: (e: GridDragEvent, instance: Instance) => void | boolean;
283
-
284
- onRowDropTest?: (e: DragEvent, instance: Instance) => boolean;
285
- onRowDragOver?: (e: GridRowDragEvent, instance: Instance) => void | boolean;
286
- onRowDrop?: (e: GridRowDragEvent, instance: Instance) => void | boolean;
287
-
288
- onColumnDrop?: (e: GridColumnDropEvent, instance: Instance) => void;
289
- onColumnDropTest?: (e: DragEvent, instance: Instance) => boolean;
290
-
291
- /** Parameters that affect filtering. */
292
- filterParams?: StructuredProp;
293
-
294
- /** Callback to create a filter function for given filter params. */
295
- onCreateFilter?: (filterParams: any, instance?: Instance) => (record: Record) => boolean;
296
-
297
- /** Enable infinite scrolling */
298
- infinite?: boolean;
299
-
300
- /** If set, clicking on the column header will loop between ASC, DESC and no sorting order, instead of ASC and DESC only. */
301
- clearableSort?: boolean;
302
-
303
- /** A callback to fetch records during infinite loading */
304
- onFetchRecords?: (
305
- pageInfo: {
306
- page: number;
307
- pageSize: number;
308
- sorters?: Record[];
309
- sortField?: string;
310
- sortDirection?: string;
311
- },
312
- instance?: Instance
313
- ) => FetchRecordsResult | Promise<FetchRecordsResult>;
314
-
315
- /** Callback function to be executed when a row is double-clicked. */
316
- onRowDoubleClick?: string | ((e: React.SyntheticEvent<any>, instance: Instance) => void);
317
-
318
- /** Callback function to be executed when a row is clicked. */
319
- onRowClick?: string | ((e: React.SyntheticEvent<any>, instance: Instance) => void);
320
-
321
- /** Set to true to add a fixed footer at the bottom of the grid. */
322
- fixedFooter?: boolean;
323
-
324
- /** Set to true to enable cell editing. Please note that all editable columns should specify the editor field. */
325
- cellEditable?: boolean;
326
-
327
- /** A callback function which is executed before a cell editor is initialized. Return false from the callback to prevent the cell from going into the edit mode. */
328
- onBeforeCellEdit?: (change, record) => any;
329
-
330
- /** A callback function which is executed after a cell has been successfully edited. */
331
- onCellEdited?: (change, record) => void;
332
-
333
- /** A callback function which is executed after a column has been resized. */
334
- onColumnResize?: (data: { width: number; column: Record }, instance: Instance) => void;
335
-
336
- /** Options for data sorting. See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Collator */
337
- sortOptions?: CollatorOptions;
338
-
339
- onCreateIsRecordSelectable?: (
340
- params: any,
341
- instance: Instance
342
- ) => (record: Record, options?: { range?: boolean; toggle?: boolean }) => boolean;
343
-
344
- /** Parameters whose change will cause scroll to be reset. */
345
- scrollResetParams?: StructuredProp;
346
-
347
- /** Enable precise (sub-pixel) measurements. Useful for grids with many columns. Better behavior at small zoom factors. */
348
- preciseMeasurements?: boolean;
349
-
350
- /** A value used to identify the group of components participating in hover effect synchronization. */
351
- hoverChannel?: string;
352
-
353
- /** A value used to uniquely identify the record within the hover sync group. */
354
- rowHoverId?: StringProp;
355
-
356
- /** Set to true or false to explicitly define if grid is allowed to receive focus. */
357
- focusable?: boolean;
358
-
359
- /** Callback function to retrieve grouping data. */
360
- onGetGrouping?: (params: any, instance: Instance) => GridGroupingConfig[];
361
-
362
- /** Callback function to dynamically calculate columns. */
363
- onGetColumns?: (params: any, instance: Instance) => GridColumnConfig[] | GridRowConfig;
364
-
365
- /** Allow grid to receive drag and drop operations containing files. */
366
- allowsFileDrops?: boolean;
367
- }
368
-
369
- export class Grid extends Widget<GridProps> {}
1
+ import * as React from "react";
2
+ import { Instance } from "../../ui/Instance";
3
+ import { DragEvent } from "../drag-drop/ops";
4
+ import { View } from "../../data/View";
5
+ import {
6
+ BooleanProp,
7
+ ClassProp,
8
+ CollatorOptions,
9
+ Config,
10
+ NumberProp,
11
+ Prop,
12
+ Record,
13
+ RecordAlias,
14
+ SortDirection,
15
+ SortersProp,
16
+ StringProp,
17
+ StructuredProp,
18
+ StyledContainerProps,
19
+ StyleProp,
20
+ Widget,
21
+ } from "../../core";
22
+
23
+ type FetchRecordsResult = Record[] | { records: Record[]; lastPage?: boolean; totalRecordCount?: number };
24
+
25
+ interface MappedGridRecord {
26
+ data: Record;
27
+ store: View;
28
+ }
29
+
30
+ interface GridDragEvent extends DragEvent {
31
+ target: {
32
+ recordBefore: MappedGridRecord;
33
+ recordAfter: MappedGridRecord;
34
+ insertionIndex: number;
35
+ totalRecordCount: number;
36
+ };
37
+ }
38
+
39
+ interface GridRowDragEvent extends DragEvent {
40
+ target: {
41
+ record: MappedGridRecord;
42
+ index: number;
43
+ };
44
+ }
45
+
46
+ interface GridColumnDropEvent extends DragEvent {
47
+ target: {
48
+ grid: any;
49
+ instance: Instance;
50
+ index: number;
51
+ };
52
+ }
53
+
54
+ interface GridGroupingKey {
55
+ [key: string]:
56
+ | Prop<any>
57
+ | {
58
+ value: Prop<any>;
59
+ direction: SortDirection;
60
+ };
61
+ }
62
+
63
+ type GridColumnAlignment = "left" | "right" | "center";
64
+
65
+ interface GridGroupingConfig {
66
+ key: GridGroupingKey;
67
+ aggregates?: StructuredProp;
68
+ showCaption?: boolean;
69
+ showFooter?: boolean;
70
+ showHeader?: boolean;
71
+ caption?: StringProp;
72
+ name?: StringProp;
73
+ text?: StringProp;
74
+ }
75
+
76
+ // TODO: Check Column config
77
+ // Props are in order based on docs
78
+
79
+ interface GridColumnHeaderConfig {
80
+ text?: StringProp;
81
+ colSpan?: NumberProp;
82
+ rowSpan?: NumberProp;
83
+ align?: GridColumnAlignment;
84
+ allowSorting?: boolean;
85
+ items?: React.ReactNode;
86
+ children?: React.ReactNode;
87
+ tool?: React.ReactNode;
88
+ style?: StyleProp;
89
+ class?: ClassProp;
90
+ className?: ClassProp;
91
+ tooltip?: Cx.StringProp | Cx.StructuredProp;
92
+ }
93
+
94
+ interface GridColumnConfig {
95
+ align?: GridColumnAlignment;
96
+ field?: string;
97
+ format?: StringProp;
98
+ header?: StringProp | GridColumnHeaderConfig;
99
+ header1?: StringProp | GridColumnHeaderConfig;
100
+ header2?: StringProp | GridColumnHeaderConfig;
101
+ header3?: StringProp | GridColumnHeaderConfig;
102
+ sortable?: boolean;
103
+ aggregate?: "min" | "max" | "count" | "sum" | "distinct" | "avg";
104
+ aggregateAlias?: string;
105
+ aggregateField?: string;
106
+ caption?: StringProp;
107
+ class?: ClassProp;
108
+ className?: ClassProp;
109
+ draggable?: boolean;
110
+ editable?: boolean;
111
+ editor?: React.ReactNode;
112
+ footer?: StringProp | false;
113
+ items?: React.ReactNode;
114
+ children?: React.ReactNode;
115
+ key?: string;
116
+ pad?: boolean;
117
+ sortField?: string;
118
+ sortValue?: Prop<any>;
119
+ style?: StyleProp;
120
+ trimWhitespace?: boolean;
121
+ visible?: BooleanProp;
122
+ if?: BooleanProp;
123
+ weightField?: string;
124
+
125
+ // Not in docs
126
+ value?: Prop<any>;
127
+ defaultWidth?: NumberProp;
128
+ width?: NumberProp;
129
+ resizable?: boolean;
130
+ comparer?: (a: any, b: any) => number;
131
+
132
+ /** Options for data sorting. See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Collator */
133
+ sortOptions?: CollatorOptions;
134
+ }
135
+
136
+ interface GridRowLineConfig {
137
+ visible?: BooleanProp;
138
+ columns: GridColumnConfig[];
139
+ }
140
+
141
+ interface GridRowConfig {
142
+ invalid?: BooleanProp;
143
+ valid?: BooleanProp;
144
+ style?: StyleProp;
145
+ class?: ClassProp;
146
+ className?: ClassProp;
147
+ line1?: GridRowLineConfig;
148
+ line2?: GridRowLineConfig;
149
+ line3?: GridRowLineConfig;
150
+ }
151
+
152
+ interface GridProps extends StyledContainerProps {
153
+ /** An array of records to be displayed in the grid. */
154
+ records?: Prop<Record[]>;
155
+
156
+ /** Set to true to add a vertical scroll and a fixed header to the grid. */
157
+ scrollable?: boolean;
158
+
159
+ /** A binding used to store the sorting order list. Commonly used for server-side sorting. */
160
+ sorters?: SortersProp;
161
+
162
+ /** A list of sorters to be prepended to the actual list of sorters. */
163
+ preSorters?: SortersProp;
164
+
165
+ /** A binding used to store the name of the field used for sorting grids. Available only if sorters are not used. */
166
+ sortField?: StringProp;
167
+
168
+ /** A binding used to store the sort direction. Available only if sorters are not used. Possible values are "ASC" and "DESC". Defaults to "ASC". */
169
+ sortDirection?: StringProp;
170
+
171
+ /** Default sort field. Used if neither sortField or sorters are set. */
172
+ defaultSortField?: string;
173
+
174
+ /** Default sort direction. */
175
+ defaultSortDirection?: "ASC" | "DESC";
176
+
177
+ /** Set to true to add vertical gridlines. */
178
+ vlines?: boolean;
179
+
180
+ /** Text to be displayed instead of an empty table. */
181
+ emptyText?: StringProp;
182
+
183
+ /** Drag source configuration. Define mode as 'move' or 'copy` and additional data. */
184
+ dragSource?: StructuredProp;
185
+
186
+ /** Drop zone configuration. Define mode as either preview or insertion. */
187
+ dropZone?: StructuredProp;
188
+
189
+ /** Row configuration. See grid examples. */
190
+ row?: GridRowConfig;
191
+
192
+ /**An array of columns. Check column configuration options in the section below. */
193
+ columns?: GridColumnConfig[];
194
+
195
+ /** Whenever columnParams change, columns are recalculated using the onGetColumn callback. */
196
+ columnParams?: Config;
197
+
198
+ /** Selection configuration. */
199
+ selection?: Config;
200
+
201
+ /** An array of grouping level definitions. Check allowed grouping level properties in the section below. */
202
+ grouping?: GridGroupingConfig[];
203
+
204
+ /** Params for grouping. Whenever params change grouping is recalculated using the onGetGrouping callback. */
205
+ groupingParams?: Config;
206
+
207
+ /**
208
+ * Determines header appearance. Supported values are plain and default. Default mode is used if some of the columns are sortable.
209
+ * Plain mode better suits reports and other scenarios in which users do not interact with the grid.
210
+ */
211
+ headerMode?: StringProp;
212
+
213
+ /** Set to true to add default border around the table. Automatically set if grid is scrollable. */
214
+ border?: BooleanProp;
215
+
216
+ /** Base CSS class to be applied to the element. Default is 'grid'. */
217
+ baseClass?: string;
218
+
219
+ /** A field used to get the unique identifier of the record. Setting keyField improves grid performance on sort operations as the widget is able to identify row movement inside the grid. */
220
+ keyField?: string;
221
+
222
+ /** Show grid header within the group. Useful for long report-like (printable) grids. Defaults to false. */
223
+ showHeader?: boolean;
224
+
225
+ /** Show grid footer. Defaults to false. */
226
+ showFooter?: boolean;
227
+
228
+ /** Record alias. Default is $record. */
229
+ recordName?: RecordAlias;
230
+
231
+ /** Record alias. Default is $record. */
232
+ recordAlias?: RecordAlias;
233
+
234
+ /** Set to true if sorting is done remotely, on the server-side. Default value is false. */
235
+ remoteSort?: boolean;
236
+
237
+ /** Set to true to enable row caching. This greatly improves grid performance
238
+ on subsequent render operations, however, only changes on records
239
+ are allowed. If grid rows display any data outside records, changes on that
240
+ data will be ignored. */
241
+ cached?: boolean;
242
+
243
+ /** Render only rows visible on the screen. */
244
+ buffered?: boolean;
245
+
246
+ /** Specifies how many rows should be visible on the screen */
247
+ bufferSize?: number;
248
+
249
+ /** Specifies how many rows needs to be scrolled in order to recalculate buffer */
250
+ bufferStep?: number;
251
+
252
+ /** Used when rows have variable heights to improve buffered rendering by measuring and caching rendered row heights. Default value is false. */
253
+ measureRowHeights?: boolean;
254
+
255
+ /** Scrolls selection into the view. Default value is false. */
256
+ scrollSelectionIntoView?: boolean;
257
+
258
+ /**
259
+ * Set to true to lock column widths after the first render.
260
+ * This is helpful in pagination scenarios to maintain consistent looks across pages.
261
+ */
262
+ lockColumnWidths?: boolean;
263
+
264
+ lockColumnWidthsRequiredRowCount?: number;
265
+ focused?: boolean;
266
+ showBorder?: boolean;
267
+
268
+ /** Data adapter used to convert data in list of records. Used to enable grouping and tree operations. */
269
+ dataAdapter?: any;
270
+
271
+ /** Additional CSS class to be added to each grid row. */
272
+ rowClass?: ClassProp;
273
+
274
+ /** Additional CSS styles to be added to each grid row. */
275
+ rowStyle?: StyleProp;
276
+
277
+ // drag-drop handlers
278
+ onDrop?: (e: GridDragEvent, instance: Instance) => void;
279
+ onDropTest?: (e: DragEvent, instance: Instance) => boolean;
280
+ onDragStart?: (e: DragEvent, instance: Instance) => void;
281
+ onDragEnd?: (e: DragEvent, instance: Instance) => void;
282
+ onDragOver?: (e: GridDragEvent, instance: Instance) => void | boolean;
283
+
284
+ onRowDropTest?: (e: DragEvent, instance: Instance) => boolean;
285
+ onRowDragOver?: (e: GridRowDragEvent, instance: Instance) => void | boolean;
286
+ onRowDrop?: (e: GridRowDragEvent, instance: Instance) => void | boolean;
287
+
288
+ onColumnDrop?: (e: GridColumnDropEvent, instance: Instance) => void;
289
+ onColumnDropTest?: (e: DragEvent, instance: Instance) => boolean;
290
+
291
+ /** Parameters that affect filtering. */
292
+ filterParams?: StructuredProp;
293
+
294
+ /** Callback to create a filter function for given filter params. */
295
+ onCreateFilter?: (filterParams: any, instance?: Instance) => (record: Record) => boolean;
296
+
297
+ /** Enable infinite scrolling */
298
+ infinite?: boolean;
299
+
300
+ /** If set, clicking on the column header will loop between ASC, DESC and no sorting order, instead of ASC and DESC only. */
301
+ clearableSort?: boolean;
302
+
303
+ /** A callback to fetch records during infinite loading */
304
+ onFetchRecords?: (
305
+ pageInfo: {
306
+ page: number;
307
+ pageSize: number;
308
+ sorters?: Record[];
309
+ sortField?: string;
310
+ sortDirection?: string;
311
+ },
312
+ instance?: Instance
313
+ ) => FetchRecordsResult | Promise<FetchRecordsResult>;
314
+
315
+ /** Callback function to be executed when a row is double-clicked. */
316
+ onRowDoubleClick?: string | ((e: React.SyntheticEvent<any>, instance: Instance) => void);
317
+
318
+ /** Callback function to be executed when a row is clicked. */
319
+ onRowClick?: string | ((e: React.SyntheticEvent<any>, instance: Instance) => void);
320
+
321
+ /** Set to true to add a fixed footer at the bottom of the grid. */
322
+ fixedFooter?: boolean;
323
+
324
+ /** Set to true to enable cell editing. Please note that all editable columns should specify the editor field. */
325
+ cellEditable?: boolean;
326
+
327
+ /** A callback function which is executed before a cell editor is initialized. Return false from the callback to prevent the cell from going into the edit mode. */
328
+ onBeforeCellEdit?: (change, record) => any;
329
+
330
+ /** A callback function which is executed after a cell has been successfully edited. */
331
+ onCellEdited?: (change, record) => void;
332
+
333
+ /** A callback function which is executed after a column has been resized. */
334
+ onColumnResize?: (data: { width: number; column: Record }, instance: Instance) => void;
335
+
336
+ /** Options for data sorting. See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Collator */
337
+ sortOptions?: CollatorOptions;
338
+
339
+ onCreateIsRecordSelectable?: (
340
+ params: any,
341
+ instance: Instance
342
+ ) => (record: Record, options?: { range?: boolean; toggle?: boolean }) => boolean;
343
+
344
+ /** Parameters whose change will cause scroll to be reset. */
345
+ scrollResetParams?: StructuredProp;
346
+
347
+ /** Enable precise (sub-pixel) measurements. Useful for grids with many columns. Better behavior at small zoom factors. */
348
+ preciseMeasurements?: boolean;
349
+
350
+ /** A value used to identify the group of components participating in hover effect synchronization. */
351
+ hoverChannel?: string;
352
+
353
+ /** A value used to uniquely identify the record within the hover sync group. */
354
+ rowHoverId?: StringProp;
355
+
356
+ /** Set to true or false to explicitly define if grid is allowed to receive focus. */
357
+ focusable?: boolean;
358
+
359
+ /** Callback function to retrieve grouping data. */
360
+ onGetGrouping?: (params: any, instance: Instance) => GridGroupingConfig[];
361
+
362
+ /** Callback function to dynamically calculate columns. */
363
+ onGetColumns?: (params: any, instance: Instance) => GridColumnConfig[] | GridRowConfig;
364
+
365
+ /** Allow grid to receive drag and drop operations containing files. */
366
+ allowsFileDrops?: boolean;
367
+ }
368
+
369
+ export class Grid extends Widget<GridProps> {}