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