cx 22.3.2 → 22.3.3

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