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