cx 24.4.9 → 24.5.1

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