cx 24.4.8 → 24.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/dist/charts.css +5 -0
  5. package/dist/charts.js +169 -2
  6. package/dist/manifest.js +729 -725
  7. package/dist/widgets.css +9 -6
  8. package/dist/widgets.js +14 -3
  9. package/index.js +17 -17
  10. package/locale/de-de.js +74 -74
  11. package/locale/en-us.js +74 -74
  12. package/locale/es-es.js +74 -74
  13. package/locale/fr-fr.js +74 -74
  14. package/locale/nl-nl.js +74 -74
  15. package/locale/pt-pt.js +74 -74
  16. package/locale/sr-latn-ba.js +74 -74
  17. package/package.json +32 -32
  18. package/src/charts/Bar.d.ts +27 -27
  19. package/src/charts/Bar.js +89 -89
  20. package/src/charts/Bar.scss +26 -26
  21. package/src/charts/BarGraph.d.ts +15 -15
  22. package/src/charts/BarGraph.js +112 -112
  23. package/src/charts/BarGraph.scss +27 -27
  24. package/src/charts/BubbleGraph.js +92 -92
  25. package/src/charts/BubbleGraph.scss +29 -29
  26. package/src/charts/Chart.d.ts +12 -12
  27. package/src/charts/Chart.js +75 -75
  28. package/src/charts/ColorMap.d.ts +21 -21
  29. package/src/charts/ColorMap.js +96 -96
  30. package/src/charts/Column.d.ts +27 -27
  31. package/src/charts/Column.js +88 -88
  32. package/src/charts/Column.scss +26 -26
  33. package/src/charts/ColumnBarBase.d.ts +64 -64
  34. package/src/charts/ColumnBarBase.js +172 -172
  35. package/src/charts/ColumnBarGraphBase.d.ts +73 -73
  36. package/src/charts/ColumnBarGraphBase.js +114 -114
  37. package/src/charts/ColumnGraph.d.ts +18 -18
  38. package/src/charts/ColumnGraph.js +112 -112
  39. package/src/charts/ColumnGraph.scss +27 -27
  40. package/src/charts/Grid.js +5 -5
  41. package/src/charts/Gridlines.d.ts +24 -24
  42. package/src/charts/Gridlines.js +48 -48
  43. package/src/charts/Gridlines.scss +22 -22
  44. package/src/charts/Legend.d.ts +27 -27
  45. package/src/charts/Legend.js +151 -151
  46. package/src/charts/Legend.scss +41 -41
  47. package/src/charts/LegendEntry.d.ts +37 -37
  48. package/src/charts/LegendEntry.js +117 -117
  49. package/src/charts/LegendEntry.scss +30 -30
  50. package/src/charts/LineGraph.d.ts +92 -92
  51. package/src/charts/LineGraph.js +214 -211
  52. package/src/charts/LineGraph.scss +23 -23
  53. package/src/charts/Marker.d.ts +87 -87
  54. package/src/charts/Marker.js +287 -287
  55. package/src/charts/Marker.scss +41 -41
  56. package/src/charts/MarkerLine.d.ts +57 -57
  57. package/src/charts/MarkerLine.js +128 -128
  58. package/src/charts/MarkerLine.scss +17 -17
  59. package/src/charts/MouseTracker.d.ts +16 -16
  60. package/src/charts/MouseTracker.js +80 -80
  61. package/src/charts/Pie.js +8 -8
  62. package/src/charts/PieChart.d.ts +89 -89
  63. package/src/charts/PieChart.js +527 -527
  64. package/src/charts/PieChart.scss +26 -26
  65. package/src/charts/PieLabel.d.ts +26 -26
  66. package/src/charts/PieLabelsContainer.d.ts +6 -6
  67. package/src/charts/PieLabelsContainer.js +55 -55
  68. package/src/charts/Range.d.ts +74 -74
  69. package/src/charts/Range.js +205 -205
  70. package/src/charts/Range.scss +18 -18
  71. package/src/charts/RangeMarker.d.ts +35 -35
  72. package/src/charts/RangeMarker.js +155 -155
  73. package/src/charts/RangeMarker.scss +15 -15
  74. package/src/charts/ScatterGraph.d.ts +64 -64
  75. package/src/charts/ScatterGraph.js +155 -155
  76. package/src/charts/ScatterGraph.scss +21 -21
  77. package/src/charts/Swimlane.d.ts +24 -0
  78. package/src/charts/Swimlane.js +140 -0
  79. package/src/charts/Swimlane.scss +14 -0
  80. package/src/charts/Swimlanes.d.ts +41 -41
  81. package/src/charts/Swimlanes.js +114 -114
  82. package/src/charts/Swimlanes.scss +14 -14
  83. package/src/charts/axis/Axis.d.ts +96 -96
  84. package/src/charts/axis/Axis.js +254 -254
  85. package/src/charts/axis/Axis.scss +22 -22
  86. package/src/charts/axis/CategoryAxis.d.ts +24 -24
  87. package/src/charts/axis/CategoryAxis.js +212 -212
  88. package/src/charts/axis/CategoryAxis.scss +32 -32
  89. package/src/charts/axis/NumericAxis.d.ts +46 -46
  90. package/src/charts/axis/NumericAxis.js +347 -347
  91. package/src/charts/axis/NumericAxis.scss +32 -32
  92. package/src/charts/axis/Stack.d.ts +10 -10
  93. package/src/charts/axis/Stack.js +58 -58
  94. package/src/charts/axis/TimeAxis.d.ts +23 -23
  95. package/src/charts/axis/TimeAxis.js +510 -510
  96. package/src/charts/axis/TimeAxis.scss +32 -32
  97. package/src/charts/axis/index.d.ts +3 -3
  98. package/src/charts/axis/index.js +3 -3
  99. package/src/charts/axis/index.scss +5 -5
  100. package/src/charts/axis/variables.scss +2 -2
  101. package/src/charts/helpers/MinMaxFinder.d.ts +22 -22
  102. package/src/charts/helpers/MinMaxFinder.js +36 -36
  103. package/src/charts/helpers/PointReducer.d.ts +15 -15
  104. package/src/charts/helpers/PointReducer.js +39 -39
  105. package/src/charts/helpers/SnapPointFinder.d.ts +24 -24
  106. package/src/charts/helpers/SnapPointFinder.js +46 -46
  107. package/src/charts/helpers/ValueAtFinder.d.ts +16 -16
  108. package/src/charts/helpers/ValueAtFinder.js +41 -41
  109. package/src/charts/helpers/index.d.ts +4 -4
  110. package/src/charts/helpers/index.js +4 -4
  111. package/src/charts/index.d.ts +27 -26
  112. package/src/charts/index.js +34 -33
  113. package/src/charts/index.scss +22 -21
  114. package/src/charts/palette.scss +95 -95
  115. package/src/charts/shapes.d.ts +22 -22
  116. package/src/charts/shapes.js +79 -79
  117. package/src/charts/variables.scss +21 -21
  118. package/src/core.d.ts +271 -271
  119. package/src/data/AggregateFunction.d.ts +20 -20
  120. package/src/data/AggregateFunction.js +145 -145
  121. package/src/data/ArrayElementView.d.ts +13 -13
  122. package/src/data/ArrayElementView.js +46 -46
  123. package/src/data/ArrayElementView.spec.js +70 -70
  124. package/src/data/ArrayRef.d.ts +14 -14
  125. package/src/data/ArrayRef.js +34 -34
  126. package/src/data/AugmentedViewBase.d.ts +18 -18
  127. package/src/data/AugmentedViewBase.js +67 -67
  128. package/src/data/Binding.d.ts +19 -17
  129. package/src/data/Binding.js +76 -76
  130. package/src/data/Binding.spec.js +61 -61
  131. package/src/data/ExposedRecordView.d.ts +14 -14
  132. package/src/data/ExposedRecordView.js +69 -69
  133. package/src/data/ExposedValueView.d.ts +19 -19
  134. package/src/data/ExposedValueView.js +72 -72
  135. package/src/data/Expression.d.ts +17 -17
  136. package/src/data/Expression.js +220 -220
  137. package/src/data/Expression.spec.js +174 -174
  138. package/src/data/Grouper.d.ts +21 -21
  139. package/src/data/Grouper.js +144 -144
  140. package/src/data/Grouper.spec.js +57 -57
  141. package/src/data/NestedDataView.d.ts +19 -19
  142. package/src/data/NestedDataView.js +22 -22
  143. package/src/data/ReadOnlyDataView.d.ts +14 -14
  144. package/src/data/ReadOnlyDataView.js +26 -26
  145. package/src/data/Ref.d.ts +24 -24
  146. package/src/data/Ref.js +79 -79
  147. package/src/data/Ref.spec.js +79 -79
  148. package/src/data/Store.d.ts +14 -14
  149. package/src/data/Store.js +46 -46
  150. package/src/data/Store.spec.js +22 -22
  151. package/src/data/StoreProxy.d.ts +4 -4
  152. package/src/data/StoreProxy.js +16 -16
  153. package/src/data/StoreRef.js +54 -54
  154. package/src/data/StoreRef.spec.js +24 -24
  155. package/src/data/StringTemplate.d.ts +15 -15
  156. package/src/data/StringTemplate.js +92 -92
  157. package/src/data/StringTemplate.spec.js +105 -105
  158. package/src/data/StructuredDataAccessor.d.ts +7 -7
  159. package/src/data/StructuredSelector.d.ts +17 -17
  160. package/src/data/StructuredSelector.js +131 -131
  161. package/src/data/StructuredSelector.spec.js +113 -113
  162. package/src/data/SubscribableView.d.ts +11 -11
  163. package/src/data/SubscribableView.js +54 -54
  164. package/src/data/View.d.ts +131 -131
  165. package/src/data/View.js +182 -182
  166. package/src/data/View.spec.js +60 -60
  167. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  168. package/src/data/ZoomIntoPropertyView.js +33 -33
  169. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  170. package/src/data/comparer.d.ts +7 -7
  171. package/src/data/comparer.js +54 -54
  172. package/src/data/comparer.spec.js +60 -60
  173. package/src/data/computable.d.ts +125 -125
  174. package/src/data/computable.js +56 -56
  175. package/src/data/computable.spec.js +55 -55
  176. package/src/data/createAccessorModelProxy.d.ts +6 -6
  177. package/src/data/createAccessorModelProxy.js +43 -43
  178. package/src/data/createAccessorModelProxy.spec.tsx +44 -44
  179. package/src/data/createStructuredSelector.d.ts +2 -2
  180. package/src/data/createStructuredSelector.js +43 -43
  181. package/src/data/createStructuredSelector.spec.js +46 -46
  182. package/src/data/defaultCompare.js +14 -14
  183. package/src/data/diff/diffArrays.d.ts +15 -15
  184. package/src/data/diff/diffArrays.js +41 -41
  185. package/src/data/diff/diffs.spec.js +49 -49
  186. package/src/data/diff/index.d.ts +1 -1
  187. package/src/data/diff/index.js +1 -1
  188. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  189. package/src/data/enableFatArrowExpansion.js +6 -6
  190. package/src/data/getAccessor.d.ts +8 -8
  191. package/src/data/getAccessor.js +61 -61
  192. package/src/data/getAccessor.spec.js +11 -11
  193. package/src/data/getSelector.d.ts +3 -3
  194. package/src/data/getSelector.js +48 -48
  195. package/src/data/getSelector.spec.js +43 -43
  196. package/src/data/index.d.ts +30 -30
  197. package/src/data/index.js +28 -28
  198. package/src/data/isSelector.d.ts +1 -1
  199. package/src/data/isSelector.js +26 -26
  200. package/src/data/ops/append.d.ts +1 -1
  201. package/src/data/ops/append.js +7 -7
  202. package/src/data/ops/append.spec.js +28 -28
  203. package/src/data/ops/filter.d.ts +1 -1
  204. package/src/data/ops/filter.js +8 -8
  205. package/src/data/ops/filter.spec.js +29 -29
  206. package/src/data/ops/findTreeNode.d.ts +1 -1
  207. package/src/data/ops/findTreeNode.js +15 -15
  208. package/src/data/ops/findTreeNode.spec.js +24 -24
  209. package/src/data/ops/findTreePath.d.ts +6 -6
  210. package/src/data/ops/findTreePath.js +16 -16
  211. package/src/data/ops/index.d.ts +10 -10
  212. package/src/data/ops/index.js +11 -11
  213. package/src/data/ops/insertElement.d.ts +1 -1
  214. package/src/data/ops/insertElement.js +2 -2
  215. package/src/data/ops/merge.d.ts +3 -3
  216. package/src/data/ops/merge.js +9 -9
  217. package/src/data/ops/merge.spec.js +27 -27
  218. package/src/data/ops/moveElement.d.ts +1 -1
  219. package/src/data/ops/moveElement.js +13 -13
  220. package/src/data/ops/removeTreeNodes.d.ts +5 -5
  221. package/src/data/ops/removeTreeNodes.js +5 -5
  222. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  223. package/src/data/ops/updateArray.d.ts +5 -5
  224. package/src/data/ops/updateArray.js +24 -24
  225. package/src/data/ops/updateArray.spec.js +38 -38
  226. package/src/data/ops/updateTree.d.ts +7 -7
  227. package/src/data/ops/updateTree.js +25 -25
  228. package/src/data/ops/updateTree.spec.js +36 -36
  229. package/src/global.scss +13 -13
  230. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  231. package/src/hooks/createLocalStorageRef.js +22 -22
  232. package/src/hooks/index.d.ts +8 -8
  233. package/src/hooks/index.js +7 -7
  234. package/src/hooks/invokeCallback.d.ts +5 -5
  235. package/src/hooks/invokeCallback.js +6 -6
  236. package/src/hooks/invokeCallback.spec.js +53 -53
  237. package/src/hooks/resolveCallback.d.ts +3 -3
  238. package/src/hooks/resolveCallback.js +11 -11
  239. package/src/hooks/resolveCallback.spec.js +54 -54
  240. package/src/hooks/store.d.ts +7 -7
  241. package/src/hooks/store.js +32 -32
  242. package/src/hooks/store.spec.js +73 -73
  243. package/src/hooks/useEffect.d.ts +2 -2
  244. package/src/hooks/useEffect.js +14 -14
  245. package/src/hooks/useInterval.js +7 -7
  246. package/src/hooks/useState.d.ts +2 -2
  247. package/src/hooks/useState.js +15 -15
  248. package/src/hooks/useTrigger.d.ts +4 -4
  249. package/src/hooks/useTrigger.js +20 -20
  250. package/src/hooks/useTrigger.spec.js +102 -102
  251. package/src/index.js +7 -7
  252. package/src/index.scss +6 -6
  253. package/src/svg/BoundedObject.d.ts +22 -22
  254. package/src/svg/BoundedObject.js +59 -59
  255. package/src/svg/ClipRect.d.ts +4 -4
  256. package/src/svg/ClipRect.js +23 -23
  257. package/src/svg/Ellipse.d.ts +23 -23
  258. package/src/svg/Ellipse.js +36 -36
  259. package/src/svg/Line.d.ts +20 -20
  260. package/src/svg/Line.js +32 -32
  261. package/src/svg/NonOverlappingRect.d.ts +5 -5
  262. package/src/svg/NonOverlappingRect.js +14 -14
  263. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  264. package/src/svg/NonOverlappingRectGroup.js +36 -36
  265. package/src/svg/Rectangle.d.ts +23 -23
  266. package/src/svg/Rectangle.js +36 -36
  267. package/src/svg/Svg.d.ts +32 -32
  268. package/src/svg/Svg.js +177 -177
  269. package/src/svg/Svg.scss +26 -26
  270. package/src/svg/Text.js +78 -78
  271. package/src/svg/TextualBoundedObject.d.ts +6 -6
  272. package/src/svg/TextualBoundedObject.js +28 -28
  273. package/src/svg/index.d.ts +11 -11
  274. package/src/svg/index.js +17 -17
  275. package/src/svg/index.scss +8 -8
  276. package/src/svg/util/Rect.d.ts +40 -40
  277. package/src/svg/util/Rect.js +108 -108
  278. package/src/ui/CSS.d.ts +19 -19
  279. package/src/ui/CSS.js +79 -79
  280. package/src/ui/CSSHelper.d.ts +10 -10
  281. package/src/ui/CSSHelper.js +17 -17
  282. package/src/ui/Container.d.ts +18 -18
  283. package/src/ui/Container.js +183 -183
  284. package/src/ui/ContentResolver.d.ts +12 -12
  285. package/src/ui/ContentResolver.js +78 -78
  286. package/src/ui/Controller.d.ts +182 -182
  287. package/src/ui/Controller.js +114 -114
  288. package/src/ui/Controller.spec.js +414 -414
  289. package/src/ui/Culture.d.ts +51 -51
  290. package/src/ui/Cx.d.ts +18 -18
  291. package/src/ui/Cx.js +313 -313
  292. package/src/ui/Cx.spec.js +193 -193
  293. package/src/ui/DataProxy.d.ts +12 -12
  294. package/src/ui/DataProxy.js +44 -44
  295. package/src/ui/DataProxy.spec.js +335 -335
  296. package/src/ui/DetachedScope.d.ts +21 -21
  297. package/src/ui/DetachedScope.js +93 -93
  298. package/src/ui/FocusManager.d.ts +29 -29
  299. package/src/ui/FocusManager.js +171 -171
  300. package/src/ui/Format.d.ts +2 -2
  301. package/src/ui/Format.js +107 -107
  302. package/src/ui/HoverSync.d.ts +13 -13
  303. package/src/ui/HoverSync.js +147 -147
  304. package/src/ui/Instance.d.ts +72 -72
  305. package/src/ui/Instance.js +610 -610
  306. package/src/ui/IsolatedScope.d.ts +16 -16
  307. package/src/ui/IsolatedScope.js +29 -29
  308. package/src/ui/IsolatedScope.spec.js +62 -62
  309. package/src/ui/Localization.d.ts +17 -17
  310. package/src/ui/Localization.js +70 -70
  311. package/src/ui/PureContainer.d.ts +16 -16
  312. package/src/ui/PureContainer.js +7 -7
  313. package/src/ui/RenderingContext.d.ts +9 -9
  314. package/src/ui/RenderingContext.js +88 -88
  315. package/src/ui/Repeater.d.ts +60 -60
  316. package/src/ui/Repeater.js +102 -102
  317. package/src/ui/Repeater.spec.js +143 -143
  318. package/src/ui/Rescope.d.ts +10 -10
  319. package/src/ui/Rescope.js +31 -31
  320. package/src/ui/Rescope.spec.js +195 -195
  321. package/src/ui/ResizeManager.d.ts +9 -9
  322. package/src/ui/ResizeManager.js +30 -30
  323. package/src/ui/Restate.d.ts +21 -21
  324. package/src/ui/Restate.js +163 -163
  325. package/src/ui/Restate.spec.js +422 -422
  326. package/src/ui/StaticText.d.ts +8 -8
  327. package/src/ui/StaticText.js +9 -9
  328. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  329. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  330. package/src/ui/Text.d.ts +10 -10
  331. package/src/ui/Text.js +25 -25
  332. package/src/ui/VDOM.d.ts +3 -3
  333. package/src/ui/VDOM.js +2 -2
  334. package/src/ui/Widget.d.ts +14 -14
  335. package/src/ui/Widget.js +200 -200
  336. package/src/ui/ZIndexManager.d.ts +7 -7
  337. package/src/ui/ZIndexManager.js +11 -11
  338. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  339. package/src/ui/adapter/ArrayAdapter.js +142 -142
  340. package/src/ui/adapter/ArrayAdapter.spec.js +55 -55
  341. package/src/ui/adapter/DataAdapter.d.ts +28 -28
  342. package/src/ui/adapter/DataAdapter.js +15 -15
  343. package/src/ui/adapter/GroupAdapter.d.ts +23 -23
  344. package/src/ui/adapter/GroupAdapter.js +141 -141
  345. package/src/ui/adapter/TreeAdapter.d.ts +24 -24
  346. package/src/ui/adapter/TreeAdapter.js +100 -100
  347. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  348. package/src/ui/adapter/index.d.ts +4 -4
  349. package/src/ui/adapter/index.js +4 -4
  350. package/src/ui/app/History.d.ts +17 -17
  351. package/src/ui/app/History.js +114 -114
  352. package/src/ui/app/Url.d.ts +21 -21
  353. package/src/ui/app/Url.js +103 -103
  354. package/src/ui/app/Url.spec.js +51 -51
  355. package/src/ui/app/index.d.ts +4 -4
  356. package/src/ui/app/index.js +5 -5
  357. package/src/ui/app/startAppLoop.d.ts +3 -3
  358. package/src/ui/app/startAppLoop.js +57 -57
  359. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  360. package/src/ui/app/startHotAppLoop.js +25 -25
  361. package/src/ui/batchUpdates.d.ts +10 -10
  362. package/src/ui/batchUpdates.js +67 -67
  363. package/src/ui/bind.d.ts +4 -4
  364. package/src/ui/bind.js +7 -7
  365. package/src/ui/createFunctionalComponent.d.ts +1 -1
  366. package/src/ui/createFunctionalComponent.js +68 -68
  367. package/src/ui/createFunctionalComponent.spec.js +400 -400
  368. package/src/ui/expr.d.ts +24 -24
  369. package/src/ui/expr.js +17 -17
  370. package/src/ui/flattenProps.js +21 -21
  371. package/src/ui/index.d.ts +42 -42
  372. package/src/ui/index.js +44 -44
  373. package/src/ui/index.scss +2 -2
  374. package/src/ui/keyboardShortcuts.d.ts +4 -4
  375. package/src/ui/keyboardShortcuts.js +31 -31
  376. package/src/ui/layout/Content.d.ts +14 -14
  377. package/src/ui/layout/Content.js +16 -16
  378. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  379. package/src/ui/layout/ContentPlaceholder.js +79 -79
  380. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  381. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  382. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  383. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  384. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  385. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  386. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  387. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  388. package/src/ui/layout/LabelsTopLayout.js +134 -134
  389. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  390. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  391. package/src/ui/layout/UseParentLayout.js +6 -6
  392. package/src/ui/layout/exploreChildren.d.ts +14 -14
  393. package/src/ui/layout/exploreChildren.js +40 -40
  394. package/src/ui/layout/index.d.ts +10 -10
  395. package/src/ui/layout/index.js +10 -10
  396. package/src/ui/layout/index.scss +3 -3
  397. package/src/ui/layout/variables.scss +2 -2
  398. package/src/ui/selection/KeySelection.d.ts +17 -17
  399. package/src/ui/selection/KeySelection.js +129 -129
  400. package/src/ui/selection/PropertySelection.d.ts +17 -17
  401. package/src/ui/selection/PropertySelection.js +55 -55
  402. package/src/ui/selection/Selection.d.ts +27 -27
  403. package/src/ui/selection/Selection.js +93 -93
  404. package/src/ui/selection/index.d.ts +3 -3
  405. package/src/ui/selection/index.js +3 -3
  406. package/src/ui/tpl.d.ts +2 -2
  407. package/src/ui/tpl.js +4 -4
  408. package/src/ui/variables.scss +1 -1
  409. package/src/util/Component.d.ts +41 -41
  410. package/src/util/Component.js +107 -107
  411. package/src/util/Console.js +11 -11
  412. package/src/util/DOM.d.ts +33 -33
  413. package/src/util/DOM.js +72 -72
  414. package/src/util/Debug.d.ts +10 -10
  415. package/src/util/Debug.js +45 -45
  416. package/src/util/Format.d.ts +18 -18
  417. package/src/util/Format.js +242 -242
  418. package/src/util/Format.spec.js +69 -69
  419. package/src/util/GlobalCacheIdentifier.js +11 -11
  420. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  421. package/src/util/KeyCode.d.ts +21 -21
  422. package/src/util/KeyCode.js +21 -21
  423. package/src/util/SubscriberList.d.ts +41 -41
  424. package/src/util/SubscriberList.js +57 -57
  425. package/src/util/Timing.d.ts +13 -13
  426. package/src/util/Timing.js +57 -57
  427. package/src/util/TraversalStack.js +42 -42
  428. package/src/util/TraversalStack.spec.js +46 -46
  429. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  430. package/src/util/addEventListenerWithOptions.js +9 -9
  431. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  432. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  433. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  434. package/src/util/calculateNaturalElementHeight.js +22 -22
  435. package/src/util/call-once.scss +6 -6
  436. package/src/util/coalesce.d.ts +1 -1
  437. package/src/util/coalesce.js +6 -6
  438. package/src/util/color/hslToRgb.d.ts +8 -8
  439. package/src/util/color/hslToRgb.js +27 -27
  440. package/src/util/color/index.d.ts +3 -3
  441. package/src/util/color/index.js +4 -4
  442. package/src/util/color/parseColor.d.ts +59 -59
  443. package/src/util/color/parseColor.js +119 -119
  444. package/src/util/color/rgbToHex.d.ts +8 -8
  445. package/src/util/color/rgbToHex.js +7 -7
  446. package/src/util/color/rgbToHsl.d.ts +8 -8
  447. package/src/util/color/rgbToHsl.js +27 -27
  448. package/src/util/date/dateDiff.d.ts +7 -7
  449. package/src/util/date/dateDiff.js +3 -3
  450. package/src/util/date/diff.d.ts +7 -7
  451. package/src/util/date/diff.js +7 -7
  452. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  453. package/src/util/date/index.d.ts +8 -8
  454. package/src/util/date/index.js +9 -9
  455. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  456. package/src/util/date/lowerBoundCheck.js +6 -6
  457. package/src/util/date/maxDate.d.ts +5 -5
  458. package/src/util/date/maxDate.js +9 -9
  459. package/src/util/date/minDate.d.ts +5 -5
  460. package/src/util/date/minDate.js +9 -9
  461. package/src/util/date/monthStart.d.ts +5 -5
  462. package/src/util/date/monthStart.js +3 -3
  463. package/src/util/date/sameDate.d.ts +6 -6
  464. package/src/util/date/sameDate.js +5 -5
  465. package/src/util/date/upperBoundCheck.d.ts +7 -7
  466. package/src/util/date/upperBoundCheck.js +6 -6
  467. package/src/util/date/upperBoundCheck.spec.js +30 -30
  468. package/src/util/date/zeroTime.d.ts +6 -6
  469. package/src/util/date/zeroTime.js +3 -3
  470. package/src/util/debounce.d.ts +9 -9
  471. package/src/util/debounce.js +18 -18
  472. package/src/util/dummyCallback.d.ts +1 -1
  473. package/src/util/dummyCallback.js +1 -1
  474. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  475. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  476. package/src/util/eventCallbacks.d.ts +4 -4
  477. package/src/util/eventCallbacks.js +2 -2
  478. package/src/util/expandFatArrows.js +118 -118
  479. package/src/util/findScrollableParent.js +16 -16
  480. package/src/util/getActiveElement.js +3 -3
  481. package/src/util/getParentFrameBoundingClientRect.js +21 -21
  482. package/src/util/getScrollerBoundingClientRect.js +21 -21
  483. package/src/util/getSearchQueryPredicate.js +58 -58
  484. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  485. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  486. package/src/util/getVendorPrefix.js +26 -26
  487. package/src/util/index.d.ts +50 -50
  488. package/src/util/index.js +52 -52
  489. package/src/util/index.scss +10 -10
  490. package/src/util/innerTextTrim.d.ts +6 -6
  491. package/src/util/innerTextTrim.js +5 -5
  492. package/src/util/isArray.d.ts +1 -1
  493. package/src/util/isArray.js +3 -3
  494. package/src/util/isDefined.js +3 -3
  495. package/src/util/isDigit.d.ts +6 -6
  496. package/src/util/isDigit.js +3 -3
  497. package/src/util/isFunction.d.ts +1 -1
  498. package/src/util/isFunction.js +3 -3
  499. package/src/util/isNonEmptyArray.d.ts +1 -1
  500. package/src/util/isNonEmptyArray.js +3 -3
  501. package/src/util/isNumber.d.ts +1 -1
  502. package/src/util/isNumber.js +3 -3
  503. package/src/util/isObject.d.ts +1 -1
  504. package/src/util/isObject.js +3 -3
  505. package/src/util/isPromise.d.ts +1 -1
  506. package/src/util/isPromise.js +6 -6
  507. package/src/util/isString.d.ts +1 -1
  508. package/src/util/isString.js +3 -3
  509. package/src/util/isTextInputElement.d.ts +1 -1
  510. package/src/util/isTextInputElement.js +2 -2
  511. package/src/util/isTouchDevice.d.ts +1 -1
  512. package/src/util/isTouchDevice.js +7 -7
  513. package/src/util/isTouchEvent.d.ts +3 -3
  514. package/src/util/isTouchEvent.js +64 -64
  515. package/src/util/isUndefined.d.ts +1 -1
  516. package/src/util/isUndefined.js +3 -3
  517. package/src/util/onIdleCallback.js +13 -13
  518. package/src/util/parseStyle.d.ts +3 -3
  519. package/src/util/parseStyle.js +27 -27
  520. package/src/util/quote.d.ts +2 -2
  521. package/src/util/quote.js +4 -4
  522. package/src/util/reverseSlice.js +9 -9
  523. package/src/util/routeAppend.js +15 -15
  524. package/src/util/routeAppend.spec.js +19 -19
  525. package/src/util/scrollElementIntoView.d.ts +7 -7
  526. package/src/util/scrollElementIntoView.js +34 -34
  527. package/src/util/scss/add-rules.scss +39 -39
  528. package/src/util/scss/calc.scss +40 -40
  529. package/src/util/scss/call-once.scss +10 -10
  530. package/src/util/scss/clockwise.scss +47 -47
  531. package/src/util/scss/colors.scss +7 -7
  532. package/src/util/scss/deep-get.scss +9 -9
  533. package/src/util/scss/deep-merge.scss +18 -18
  534. package/src/util/scss/divide.scss +3 -3
  535. package/src/util/scss/include.scss +47 -47
  536. package/src/util/scss/index.scss +9 -9
  537. package/src/util/shallowEquals.js +43 -43
  538. package/src/util/throttle.d.ts +8 -8
  539. package/src/util/throttle.js +14 -14
  540. package/src/util/validatedDebounce.js +19 -19
  541. package/src/variables.scss +217 -217
  542. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  543. package/src/widgets/Button.d.ts +58 -58
  544. package/src/widgets/Button.js +118 -118
  545. package/src/widgets/Button.scss +117 -117
  546. package/src/widgets/Button.variables.scss +114 -108
  547. package/src/widgets/CxCredit.d.ts +12 -12
  548. package/src/widgets/CxCredit.js +31 -31
  549. package/src/widgets/CxCredit.scss +41 -41
  550. package/src/widgets/DocumentTitle.d.ts +11 -11
  551. package/src/widgets/DocumentTitle.js +68 -68
  552. package/src/widgets/FlexBox.d.ts +69 -69
  553. package/src/widgets/FlexBox.js +92 -92
  554. package/src/widgets/FlexBox.scss +146 -146
  555. package/src/widgets/Heading.d.ts +16 -16
  556. package/src/widgets/Heading.js +32 -32
  557. package/src/widgets/Heading.scss +38 -38
  558. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  559. package/src/widgets/HighlightedSearchText.js +36 -36
  560. package/src/widgets/HighlightedSearchText.scss +18 -18
  561. package/src/widgets/HtmlElement.d.ts +26 -26
  562. package/src/widgets/HtmlElement.js +273 -273
  563. package/src/widgets/HtmlElement.spec.js +57 -57
  564. package/src/widgets/Icon.d.ts +34 -34
  565. package/src/widgets/Icon.js +50 -50
  566. package/src/widgets/Icon.scss +20 -20
  567. package/src/widgets/List.d.ts +96 -96
  568. package/src/widgets/List.js +587 -587
  569. package/src/widgets/List.scss +92 -92
  570. package/src/widgets/ProgressBar.d.ts +17 -17
  571. package/src/widgets/ProgressBar.js +46 -46
  572. package/src/widgets/ProgressBar.scss +49 -49
  573. package/src/widgets/Resizer.d.ts +27 -27
  574. package/src/widgets/Resizer.js +151 -151
  575. package/src/widgets/Resizer.scss +42 -42
  576. package/src/widgets/Sandbox.d.ts +16 -16
  577. package/src/widgets/Sandbox.js +62 -62
  578. package/src/widgets/Section.d.ts +52 -52
  579. package/src/widgets/Section.js +139 -139
  580. package/src/widgets/Section.scss +54 -54
  581. package/src/widgets/animations.scss +10 -10
  582. package/src/widgets/autoFocus.d.ts +1 -1
  583. package/src/widgets/autoFocus.js +9 -9
  584. package/src/widgets/cx.d.ts +1 -1
  585. package/src/widgets/cx.js +71 -71
  586. package/src/widgets/drag-drop/DragClone.scss +33 -33
  587. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  588. package/src/widgets/drag-drop/DragHandle.js +37 -37
  589. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  590. package/src/widgets/drag-drop/DragSource.d.ts +45 -45
  591. package/src/widgets/drag-drop/DragSource.js +160 -160
  592. package/src/widgets/drag-drop/DragSource.scss +24 -24
  593. package/src/widgets/drag-drop/DropZone.d.ts +98 -98
  594. package/src/widgets/drag-drop/DropZone.js +214 -214
  595. package/src/widgets/drag-drop/DropZone.scss +74 -74
  596. package/src/widgets/drag-drop/index.d.ts +4 -4
  597. package/src/widgets/drag-drop/index.js +4 -4
  598. package/src/widgets/drag-drop/index.scss +3 -3
  599. package/src/widgets/drag-drop/ops.d.ts +56 -56
  600. package/src/widgets/drag-drop/ops.js +344 -344
  601. package/src/widgets/drag-drop/variables.scss +11 -11
  602. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  603. package/src/widgets/enableAllInternalDependencies.js +11 -11
  604. package/src/widgets/form/Calendar.d.ts +86 -86
  605. package/src/widgets/form/Calendar.js +527 -527
  606. package/src/widgets/form/Calendar.scss +164 -164
  607. package/src/widgets/form/Calendar.variables.scss +63 -63
  608. package/src/widgets/form/Checkbox.d.ts +43 -43
  609. package/src/widgets/form/Checkbox.js +200 -200
  610. package/src/widgets/form/Checkbox.scss +125 -125
  611. package/src/widgets/form/Checkbox.variables.scss +39 -39
  612. package/src/widgets/form/ColorField.d.ts +43 -43
  613. package/src/widgets/form/ColorField.js +397 -397
  614. package/src/widgets/form/ColorField.scss +92 -92
  615. package/src/widgets/form/ColorPicker.d.ts +23 -23
  616. package/src/widgets/form/ColorPicker.js +480 -480
  617. package/src/widgets/form/ColorPicker.scss +275 -275
  618. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  619. package/src/widgets/form/DateField.d.ts +6 -6
  620. package/src/widgets/form/DateField.js +12 -12
  621. package/src/widgets/form/DateTimeField.d.ts +86 -86
  622. package/src/widgets/form/DateTimeField.js +573 -573
  623. package/src/widgets/form/DateTimeField.scss +90 -90
  624. package/src/widgets/form/DateTimePicker.js +391 -391
  625. package/src/widgets/form/DateTimePicker.scss +44 -44
  626. package/src/widgets/form/Field.d.ts +112 -112
  627. package/src/widgets/form/Field.js +441 -441
  628. package/src/widgets/form/Field.scss +162 -162
  629. package/src/widgets/form/FieldGroup.d.ts +6 -6
  630. package/src/widgets/form/FieldGroup.js +5 -5
  631. package/src/widgets/form/FieldIcon.js +42 -42
  632. package/src/widgets/form/HelpText.d.ts +10 -10
  633. package/src/widgets/form/HelpText.js +9 -9
  634. package/src/widgets/form/HelpText.scss +23 -23
  635. package/src/widgets/form/Label.d.ts +23 -23
  636. package/src/widgets/form/Label.js +89 -89
  637. package/src/widgets/form/Label.scss +36 -36
  638. package/src/widgets/form/LabeledContainer.d.ts +9 -9
  639. package/src/widgets/form/LabeledContainer.js +59 -59
  640. package/src/widgets/form/LookupField.d.ts +173 -173
  641. package/src/widgets/form/LookupField.js +1130 -1130
  642. package/src/widgets/form/LookupField.scss +219 -219
  643. package/src/widgets/form/MonthField.d.ts +92 -92
  644. package/src/widgets/form/MonthField.js +516 -516
  645. package/src/widgets/form/MonthField.scss +99 -99
  646. package/src/widgets/form/MonthPicker.d.ts +74 -74
  647. package/src/widgets/form/MonthPicker.js +632 -632
  648. package/src/widgets/form/MonthPicker.scss +120 -120
  649. package/src/widgets/form/NumberField.d.ts +96 -96
  650. package/src/widgets/form/NumberField.js +459 -459
  651. package/src/widgets/form/NumberField.scss +65 -65
  652. package/src/widgets/form/Radio.d.ts +37 -37
  653. package/src/widgets/form/Radio.js +188 -188
  654. package/src/widgets/form/Radio.scss +122 -122
  655. package/src/widgets/form/Radio.variables.scss +45 -45
  656. package/src/widgets/form/Select.d.ts +69 -69
  657. package/src/widgets/form/Select.js +269 -269
  658. package/src/widgets/form/Select.scss +98 -98
  659. package/src/widgets/form/Slider.d.ts +65 -65
  660. package/src/widgets/form/Slider.js +351 -351
  661. package/src/widgets/form/Slider.scss +119 -119
  662. package/src/widgets/form/Switch.d.ts +38 -38
  663. package/src/widgets/form/Switch.js +118 -118
  664. package/src/widgets/form/Switch.scss +140 -140
  665. package/src/widgets/form/TextArea.d.ts +17 -17
  666. package/src/widgets/form/TextArea.js +186 -186
  667. package/src/widgets/form/TextArea.scss +60 -60
  668. package/src/widgets/form/TextField.d.ts +78 -78
  669. package/src/widgets/form/TextField.js +288 -288
  670. package/src/widgets/form/TextField.scss +55 -55
  671. package/src/widgets/form/TimeField.d.ts +6 -6
  672. package/src/widgets/form/TimeField.js +11 -11
  673. package/src/widgets/form/TimeList.js +84 -84
  674. package/src/widgets/form/UploadButton.d.ts +34 -34
  675. package/src/widgets/form/UploadButton.js +213 -213
  676. package/src/widgets/form/UploadButton.scss +47 -47
  677. package/src/widgets/form/ValidationError.d.ts +10 -10
  678. package/src/widgets/form/ValidationError.js +44 -44
  679. package/src/widgets/form/ValidationError.scss +21 -21
  680. package/src/widgets/form/ValidationGroup.d.ts +41 -41
  681. package/src/widgets/form/ValidationGroup.js +68 -68
  682. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  683. package/src/widgets/form/Validator.d.ts +8 -8
  684. package/src/widgets/form/Validator.js +21 -21
  685. package/src/widgets/form/Wheel.js +261 -261
  686. package/src/widgets/form/Wheel.scss +150 -150
  687. package/src/widgets/form/index.d.ts +26 -26
  688. package/src/widgets/form/index.js +28 -28
  689. package/src/widgets/form/index.scss +24 -24
  690. package/src/widgets/form/variables.scss +352 -352
  691. package/src/widgets/grid/Grid.d.ts +432 -432
  692. package/src/widgets/grid/Grid.js +3410 -3406
  693. package/src/widgets/grid/Grid.scss +680 -680
  694. package/src/widgets/grid/GridCell.d.ts +38 -38
  695. package/src/widgets/grid/GridCell.js +71 -71
  696. package/src/widgets/grid/GridCellEditor.js +41 -41
  697. package/src/widgets/grid/GridRow.js +228 -228
  698. package/src/widgets/grid/GridRowLine.js +24 -24
  699. package/src/widgets/grid/Pagination.d.ts +14 -14
  700. package/src/widgets/grid/Pagination.js +94 -94
  701. package/src/widgets/grid/Pagination.scss +113 -113
  702. package/src/widgets/grid/TreeNode.d.ts +25 -25
  703. package/src/widgets/grid/TreeNode.js +102 -102
  704. package/src/widgets/grid/TreeNode.scss +89 -89
  705. package/src/widgets/grid/index.d.ts +3 -3
  706. package/src/widgets/grid/index.js +14 -14
  707. package/src/widgets/grid/index.scss +3 -3
  708. package/src/widgets/grid/variables.scss +88 -88
  709. package/src/widgets/icons/arrow-down.svg +3 -3
  710. package/src/widgets/icons/arrow-right.svg +2 -2
  711. package/src/widgets/icons/base.svg +104 -104
  712. package/src/widgets/icons/calendar-old.svg +169 -169
  713. package/src/widgets/icons/calendar.js +16 -16
  714. package/src/widgets/icons/calendar.svg +187 -187
  715. package/src/widgets/icons/check.js +12 -12
  716. package/src/widgets/icons/clear.js +14 -14
  717. package/src/widgets/icons/clear.svg +74 -74
  718. package/src/widgets/icons/close.js +19 -19
  719. package/src/widgets/icons/close.svg +74 -74
  720. package/src/widgets/icons/cx.js +37 -37
  721. package/src/widgets/icons/drop-down.js +14 -14
  722. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  723. package/src/widgets/icons/file.js +12 -12
  724. package/src/widgets/icons/file.svg +4 -4
  725. package/src/widgets/icons/folder-open.js +14 -14
  726. package/src/widgets/icons/folder-open.svg +5 -5
  727. package/src/widgets/icons/folder.js +12 -12
  728. package/src/widgets/icons/folder.svg +58 -58
  729. package/src/widgets/icons/forward.js +21 -21
  730. package/src/widgets/icons/forward.svg +67 -67
  731. package/src/widgets/icons/index.js +14 -14
  732. package/src/widgets/icons/loading.js +23 -23
  733. package/src/widgets/icons/loading.svg +4 -4
  734. package/src/widgets/icons/menu.js +16 -16
  735. package/src/widgets/icons/pixel-picker.js +17 -17
  736. package/src/widgets/icons/registry.js +53 -53
  737. package/src/widgets/icons/search.js +12 -12
  738. package/src/widgets/icons/search.svg +107 -107
  739. package/src/widgets/icons/sort-asc.js +13 -13
  740. package/src/widgets/icons/sort-asc.svg +3 -3
  741. package/src/widgets/icons/square.js +17 -17
  742. package/src/widgets/index.d.ts +55 -55
  743. package/src/widgets/index.js +57 -57
  744. package/src/widgets/index.scss +16 -16
  745. package/src/widgets/nav/Link.d.ts +26 -26
  746. package/src/widgets/nav/Link.js +7 -7
  747. package/src/widgets/nav/Link.scss +18 -18
  748. package/src/widgets/nav/LinkButton.d.ts +31 -31
  749. package/src/widgets/nav/LinkButton.js +128 -127
  750. package/src/widgets/nav/Menu.d.ts +27 -27
  751. package/src/widgets/nav/Menu.js +406 -406
  752. package/src/widgets/nav/Menu.scss +74 -74
  753. package/src/widgets/nav/Menu.variables.scss +23 -18
  754. package/src/widgets/nav/MenuItem.d.ts +31 -31
  755. package/src/widgets/nav/MenuItem.js +445 -445
  756. package/src/widgets/nav/MenuItem.scss +128 -128
  757. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  758. package/src/widgets/nav/MenuSpacer.js +12 -12
  759. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  760. package/src/widgets/nav/RedirectRoute.js +40 -40
  761. package/src/widgets/nav/Route.d.ts +21 -21
  762. package/src/widgets/nav/Route.js +105 -105
  763. package/src/widgets/nav/Route.spec.js +27 -27
  764. package/src/widgets/nav/Scroller.d.ts +17 -17
  765. package/src/widgets/nav/Scroller.js +214 -214
  766. package/src/widgets/nav/Scroller.scss +146 -146
  767. package/src/widgets/nav/Submenu.d.ts +6 -6
  768. package/src/widgets/nav/Submenu.js +6 -6
  769. package/src/widgets/nav/Tab.d.ts +33 -33
  770. package/src/widgets/nav/Tab.js +82 -82
  771. package/src/widgets/nav/Tab.scss +81 -81
  772. package/src/widgets/nav/Tab.variables.scss +84 -81
  773. package/src/widgets/nav/cover.scss +21 -21
  774. package/src/widgets/nav/index.d.ts +10 -10
  775. package/src/widgets/nav/index.js +10 -10
  776. package/src/widgets/nav/index.scss +5 -5
  777. package/src/widgets/nav/variables.scss +25 -25
  778. package/src/widgets/overlay/ContextMenu.d.ts +10 -10
  779. package/src/widgets/overlay/ContextMenu.js +29 -29
  780. package/src/widgets/overlay/Dropdown.d.ts +32 -32
  781. package/src/widgets/overlay/Dropdown.js +612 -612
  782. package/src/widgets/overlay/Dropdown.scss +184 -184
  783. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  784. package/src/widgets/overlay/FlyweightTooltipTracker.js +36 -36
  785. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  786. package/src/widgets/overlay/MsgBox.js +116 -116
  787. package/src/widgets/overlay/Overlay.d.ts +69 -69
  788. package/src/widgets/overlay/Overlay.js +747 -747
  789. package/src/widgets/overlay/Overlay.scss +66 -66
  790. package/src/widgets/overlay/Toast.d.ts +30 -30
  791. package/src/widgets/overlay/Toast.js +92 -92
  792. package/src/widgets/overlay/Toast.scss +162 -162
  793. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  794. package/src/widgets/overlay/Tooltip.js +288 -288
  795. package/src/widgets/overlay/Tooltip.scss +175 -175
  796. package/src/widgets/overlay/Window.d.ts +42 -39
  797. package/src/widgets/overlay/Window.js +196 -195
  798. package/src/widgets/overlay/Window.scss +127 -112
  799. package/src/widgets/overlay/Window.variables.scss +62 -68
  800. package/src/widgets/overlay/alerts.d.ts +7 -7
  801. package/src/widgets/overlay/alerts.js +39 -39
  802. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  803. package/src/widgets/overlay/captureMouse.js +124 -124
  804. package/src/widgets/overlay/captureMouse.scss +13 -13
  805. package/src/widgets/overlay/index.d.ts +10 -10
  806. package/src/widgets/overlay/index.js +10 -10
  807. package/src/widgets/overlay/index.scss +15 -15
  808. package/src/widgets/overlay/tooltip-ops.d.ts +8 -8
  809. package/src/widgets/overlay/tooltip-ops.js +24 -24
  810. package/src/widgets/overlay/variables.scss +82 -82
  811. 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>> {}