cx 24.5.1 → 24.5.2

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 (803) 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 +37 -15
  5. package/dist/manifest.js +779 -776
  6. package/dist/ui.js +1 -2
  7. package/dist/util.js +21 -0
  8. package/dist/widgets.js +2 -2
  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 +2 -2
  18. package/src/charts/Bar.d.ts +1 -1
  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 +24 -15
  52. package/src/charts/LineGraph.scss +23 -23
  53. package/src/charts/Marker.d.ts +43 -35
  54. package/src/charts/Marker.js +18 -6
  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 -24
  78. package/src/charts/Swimlane.js +140 -140
  79. package/src/charts/Swimlane.scss +14 -14
  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 +4 -4
  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 +18 -14
  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 -27
  112. package/src/charts/index.js +34 -34
  113. package/src/charts/index.scss +22 -22
  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 -19
  129. package/src/data/Binding.js +76 -76
  130. package/src/data/Binding.spec.js +8 -0
  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 +13 -10
  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 +1 -2
  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 +19 -0
  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/capitalize.d.ts +1 -0
  437. package/src/util/capitalize.js +4 -0
  438. package/src/util/coalesce.d.ts +1 -1
  439. package/src/util/coalesce.js +6 -6
  440. package/src/util/color/hslToRgb.d.ts +8 -8
  441. package/src/util/color/hslToRgb.js +27 -27
  442. package/src/util/color/index.d.ts +3 -3
  443. package/src/util/color/index.js +4 -4
  444. package/src/util/color/parseColor.d.ts +59 -59
  445. package/src/util/color/parseColor.js +119 -119
  446. package/src/util/color/rgbToHex.d.ts +8 -8
  447. package/src/util/color/rgbToHex.js +7 -7
  448. package/src/util/color/rgbToHsl.d.ts +8 -8
  449. package/src/util/color/rgbToHsl.js +27 -27
  450. package/src/util/date/dateDiff.d.ts +7 -7
  451. package/src/util/date/dateDiff.js +3 -3
  452. package/src/util/date/diff.d.ts +7 -7
  453. package/src/util/date/diff.js +7 -7
  454. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  455. package/src/util/date/index.d.ts +8 -8
  456. package/src/util/date/index.js +9 -9
  457. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  458. package/src/util/date/lowerBoundCheck.js +6 -6
  459. package/src/util/date/maxDate.d.ts +5 -5
  460. package/src/util/date/maxDate.js +9 -9
  461. package/src/util/date/minDate.d.ts +5 -5
  462. package/src/util/date/minDate.js +9 -9
  463. package/src/util/date/monthStart.d.ts +5 -5
  464. package/src/util/date/monthStart.js +3 -3
  465. package/src/util/date/sameDate.d.ts +6 -6
  466. package/src/util/date/sameDate.js +5 -5
  467. package/src/util/date/upperBoundCheck.d.ts +7 -7
  468. package/src/util/date/upperBoundCheck.js +6 -6
  469. package/src/util/date/upperBoundCheck.spec.js +30 -30
  470. package/src/util/date/zeroTime.d.ts +6 -6
  471. package/src/util/date/zeroTime.js +3 -3
  472. package/src/util/debounce.d.ts +9 -9
  473. package/src/util/debounce.js +18 -18
  474. package/src/util/dummyCallback.d.ts +1 -1
  475. package/src/util/dummyCallback.js +1 -1
  476. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  477. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  478. package/src/util/eventCallbacks.d.ts +4 -4
  479. package/src/util/eventCallbacks.js +2 -2
  480. package/src/util/expandFatArrows.js +118 -118
  481. package/src/util/findScrollableParent.js +16 -16
  482. package/src/util/getActiveElement.js +3 -3
  483. package/src/util/getParentFrameBoundingClientRect.js +21 -21
  484. package/src/util/getScrollerBoundingClientRect.js +21 -21
  485. package/src/util/getSearchQueryPredicate.js +58 -58
  486. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  487. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  488. package/src/util/getVendorPrefix.js +26 -26
  489. package/src/util/index.d.ts +50 -50
  490. package/src/util/index.js +52 -52
  491. package/src/util/index.scss +10 -10
  492. package/src/util/innerTextTrim.d.ts +6 -6
  493. package/src/util/innerTextTrim.js +5 -5
  494. package/src/util/isArray.d.ts +1 -1
  495. package/src/util/isArray.js +3 -3
  496. package/src/util/isDefined.js +3 -3
  497. package/src/util/isDigit.d.ts +6 -6
  498. package/src/util/isDigit.js +3 -3
  499. package/src/util/isFunction.d.ts +1 -1
  500. package/src/util/isFunction.js +3 -3
  501. package/src/util/isNonEmptyArray.d.ts +1 -1
  502. package/src/util/isNonEmptyArray.js +3 -3
  503. package/src/util/isNumber.d.ts +1 -1
  504. package/src/util/isNumber.js +3 -3
  505. package/src/util/isObject.d.ts +1 -1
  506. package/src/util/isObject.js +3 -3
  507. package/src/util/isPromise.d.ts +1 -1
  508. package/src/util/isPromise.js +6 -6
  509. package/src/util/isString.d.ts +1 -1
  510. package/src/util/isString.js +3 -3
  511. package/src/util/isTextInputElement.d.ts +1 -1
  512. package/src/util/isTextInputElement.js +2 -2
  513. package/src/util/isTouchDevice.d.ts +1 -1
  514. package/src/util/isTouchDevice.js +7 -7
  515. package/src/util/isTouchEvent.d.ts +3 -3
  516. package/src/util/isTouchEvent.js +64 -64
  517. package/src/util/isUndefined.d.ts +1 -1
  518. package/src/util/isUndefined.js +3 -3
  519. package/src/util/onIdleCallback.js +13 -13
  520. package/src/util/parseStyle.d.ts +3 -3
  521. package/src/util/parseStyle.js +27 -27
  522. package/src/util/quote.d.ts +2 -2
  523. package/src/util/quote.js +4 -4
  524. package/src/util/reverseSlice.js +9 -9
  525. package/src/util/routeAppend.js +15 -15
  526. package/src/util/routeAppend.spec.js +19 -19
  527. package/src/util/scrollElementIntoView.d.ts +7 -7
  528. package/src/util/scrollElementIntoView.js +34 -34
  529. package/src/util/scss/add-rules.scss +39 -39
  530. package/src/util/scss/calc.scss +40 -40
  531. package/src/util/scss/call-once.scss +10 -10
  532. package/src/util/scss/clockwise.scss +47 -47
  533. package/src/util/scss/colors.scss +7 -7
  534. package/src/util/scss/deep-get.scss +9 -9
  535. package/src/util/scss/deep-merge.scss +18 -18
  536. package/src/util/scss/include.scss +47 -47
  537. package/src/util/scss/index.scss +9 -9
  538. package/src/util/shallowEquals.js +43 -43
  539. package/src/util/throttle.d.ts +8 -8
  540. package/src/util/throttle.js +14 -14
  541. package/src/util/validatedDebounce.js +19 -19
  542. package/src/variables.scss +217 -217
  543. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  544. package/src/widgets/Button.d.ts +58 -58
  545. package/src/widgets/Button.js +118 -118
  546. package/src/widgets/Button.scss +117 -117
  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 +27 -18
  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/Menu.d.ts +27 -27
  749. package/src/widgets/nav/Menu.js +406 -406
  750. package/src/widgets/nav/Menu.scss +74 -74
  751. package/src/widgets/nav/MenuItem.d.ts +31 -31
  752. package/src/widgets/nav/MenuItem.js +445 -445
  753. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  754. package/src/widgets/nav/MenuSpacer.js +12 -12
  755. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  756. package/src/widgets/nav/RedirectRoute.js +40 -40
  757. package/src/widgets/nav/Route.d.ts +21 -21
  758. package/src/widgets/nav/Route.js +105 -105
  759. package/src/widgets/nav/Route.spec.js +27 -27
  760. package/src/widgets/nav/Scroller.d.ts +17 -17
  761. package/src/widgets/nav/Scroller.js +214 -214
  762. package/src/widgets/nav/Scroller.scss +146 -146
  763. package/src/widgets/nav/Submenu.d.ts +6 -6
  764. package/src/widgets/nav/Submenu.js +6 -6
  765. package/src/widgets/nav/Tab.d.ts +33 -33
  766. package/src/widgets/nav/Tab.js +82 -82
  767. package/src/widgets/nav/Tab.scss +81 -81
  768. package/src/widgets/nav/cover.scss +21 -21
  769. package/src/widgets/nav/index.d.ts +10 -10
  770. package/src/widgets/nav/index.js +10 -10
  771. package/src/widgets/nav/index.scss +5 -5
  772. package/src/widgets/nav/variables.scss +25 -25
  773. package/src/widgets/overlay/ContextMenu.d.ts +10 -10
  774. package/src/widgets/overlay/ContextMenu.js +29 -29
  775. package/src/widgets/overlay/Dropdown.d.ts +32 -32
  776. package/src/widgets/overlay/Dropdown.js +4 -4
  777. package/src/widgets/overlay/Dropdown.scss +184 -184
  778. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  779. package/src/widgets/overlay/FlyweightTooltipTracker.js +36 -36
  780. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  781. package/src/widgets/overlay/MsgBox.js +116 -116
  782. package/src/widgets/overlay/Overlay.d.ts +69 -69
  783. package/src/widgets/overlay/Overlay.js +747 -747
  784. package/src/widgets/overlay/Overlay.scss +66 -66
  785. package/src/widgets/overlay/Toast.d.ts +30 -30
  786. package/src/widgets/overlay/Toast.js +92 -92
  787. package/src/widgets/overlay/Toast.scss +162 -162
  788. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  789. package/src/widgets/overlay/Tooltip.js +288 -288
  790. package/src/widgets/overlay/Tooltip.scss +175 -175
  791. package/src/widgets/overlay/Window.js +196 -196
  792. package/src/widgets/overlay/alerts.d.ts +7 -7
  793. package/src/widgets/overlay/alerts.js +39 -39
  794. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  795. package/src/widgets/overlay/captureMouse.js +124 -124
  796. package/src/widgets/overlay/captureMouse.scss +13 -13
  797. package/src/widgets/overlay/index.d.ts +10 -10
  798. package/src/widgets/overlay/index.js +10 -10
  799. package/src/widgets/overlay/index.scss +15 -15
  800. package/src/widgets/overlay/tooltip-ops.d.ts +8 -8
  801. package/src/widgets/overlay/tooltip-ops.js +24 -24
  802. package/src/widgets/overlay/variables.scss +83 -83
  803. package/src/widgets/variables.scss +144 -144
@@ -1,415 +1,415 @@
1
- import { Cx } from './Cx';
2
- import { VDOM } from './Widget';
3
- import { HtmlElement } from '../widgets/HtmlElement';
4
- import { Store } from '../data/Store';
5
- import { Controller } from './Controller';
6
-
7
- import renderer from 'react-test-renderer';
8
- import assert from 'assert';
9
-
10
- describe('Controller', () => {
11
-
12
- it('invokes lifetime methods', () => {
13
-
14
- let init = 0,
15
- prepare = 0,
16
- explore = 0,
17
- cleanup = 0;
18
-
19
- class TestController extends Controller {
20
- onInit() {
21
- init++;
22
- }
23
-
24
- onExplore() {
25
- explore++;
26
- }
27
-
28
- onPrepare() {
29
- prepare++;
30
- }
31
-
32
- onCleanup() {
33
- cleanup++;
34
- }
35
- }
36
-
37
- let widget = <cx>
38
- <div controller={TestController}/>
39
- </cx>;
40
-
41
- let store = new Store();
42
-
43
- const component = renderer.create(
44
- <Cx widget={widget} store={store} subscribe immediate/>
45
- );
46
-
47
- let tree = component.toJSON();
48
- assert.equal(init, 1);
49
- assert.equal(explore, 1);
50
- assert.equal(prepare, 1);
51
- assert.equal(cleanup, 1);
52
- });
53
-
54
- it('widgets invoke controller methods specified as strings', () => {
55
-
56
- let callback = 0;
57
-
58
- class TestController extends Controller {
59
- callback() {
60
- ++callback;
61
- }
62
- }
63
-
64
- class Cmp extends VDOM.Component {
65
- render() {
66
- return <div/>
67
- }
68
-
69
- componentDidMount() {
70
- this.props.instance.invoke("onTest");
71
- }
72
- }
73
-
74
- let store = new Store();
75
-
76
- const component = renderer.create(
77
- <Cx store={store} subscribe immediate>
78
- <Cmp controller={TestController} onTest="callback"/>
79
- </Cx>
80
- );
81
-
82
- let tree = component.toJSON();
83
- assert.equal(callback, 1);
84
- });
85
-
86
- it('widgets can access controller methods specified in ancestor controllers', () => {
87
-
88
- let callback1 = 0;
89
- let callback2 = 0;
90
-
91
- class TestController1 extends Controller {
92
- callback1() {
93
- ++callback1;
94
- }
95
- }
96
-
97
- class TestController2 extends Controller {
98
- callback2() {
99
- ++callback2;
100
- }
101
- }
102
-
103
- class Cmp extends VDOM.Component {
104
- render() {
105
- return <div/>
106
- }
107
-
108
- componentDidMount() {
109
- this.props.instance.invoke("onTest");
110
- }
111
- }
112
-
113
- let store = new Store();
114
-
115
- const component = renderer.create(
116
- <Cx store={store} subscribe immediate>
117
- <div controller={TestController1}>
118
- <Cmp controller={TestController2} onTest="callback1"/>
119
- </div>
120
- </Cx>
121
- );
122
-
123
- let tree = component.toJSON();
124
- assert.equal(callback1, 1);
125
- assert.equal(callback2, 0);
126
- });
127
-
128
- it('ancestor controllers are initialized first', () => {
129
-
130
- let order = [];
131
-
132
- class TestController1 extends Controller {
133
- onInit() {
134
- order.push("1");
135
- }
136
- }
137
-
138
- class TestController2 extends Controller {
139
- onInit() {
140
- order.push("2");
141
- }
142
- }
143
-
144
- let store = new Store();
145
-
146
- const component = renderer.create(
147
- <Cx store={store} subscribe immediate>
148
- <div controller={TestController1}>
149
- <div controller={TestController2}/>
150
- </div>
151
- </Cx>
152
- );
153
-
154
- let tree = component.toJSON();
155
- assert.deepEqual(order, ["1", "2"]);
156
- });
157
-
158
- it('controllers on invisible elements are not initialized', () => {
159
-
160
- let order = [];
161
-
162
- class TestController1 extends Controller {
163
- onInit() {
164
- order.push("1");
165
- }
166
- }
167
-
168
- class TestController2 extends Controller {
169
- onInit() {
170
- order.push("2");
171
- }
172
- }
173
-
174
- let store = new Store();
175
-
176
- const component = renderer.create(
177
- <Cx store={store} subscribe immediate>
178
- <div controller={TestController1}>
179
- <div visible={false} controller={TestController2}/>
180
- </div>
181
- </Cx>
182
- );
183
-
184
- let tree = component.toJSON();
185
- assert.deepEqual(order, ["1"]);
186
- });
187
-
188
- it('invokes triggers and computables in order of definition', () => {
189
- let log = [];
190
-
191
- class TestController extends Controller {
192
- onInit() {
193
- this.addTrigger('t1', [], () => {
194
- log.push('t1');
195
- }, true);
196
-
197
- this.addComputable('c1', [], () => {
198
- log.push('c1');
199
- return null;
200
- });
201
-
202
- this.addTrigger('t2', [], () => {
203
- log.push('t2');
204
- }, true)
205
- }
206
- }
207
-
208
- let widget = <cx>
209
- <div controller={TestController}/>
210
- </cx>;
211
-
212
- let store = new Store();
213
-
214
- const component = renderer.create(
215
- <Cx widget={widget} store={store} subscribe immediate/>
216
- );
217
-
218
- let tree = component.toJSON();
219
- assert.deepEqual(log, ["t1", "c1", "t2"]);
220
- });
221
-
222
- it('is recreated if a component is hidden and shown', () => {
223
- let initCount = 0;
224
-
225
- class TestController extends Controller {
226
- onInit() {
227
- initCount++;
228
- }
229
- }
230
-
231
- let store = new Store();
232
- store.set('visible', true);
233
-
234
- const component = renderer.create(
235
- <Cx store={store} subscribe immediate>
236
- <div visible:bind="visible" controller={TestController}/>
237
- </Cx>
238
- );
239
-
240
- let tree1 = component.toJSON();
241
- assert.equal(initCount, 1);
242
-
243
- store.set('visible', false);
244
- let tree2 = component.toJSON();
245
- assert.equal(tree2, null);
246
-
247
- store.set('visible', true);
248
- let tree3 = component.toJSON();
249
- assert.equal(initCount, 2);
250
- });
251
-
252
- it('allows creation through a factory', () => {
253
- let store = new Store({ data: { x: 0}});
254
-
255
- const controllerFactory = ({store}) => {
256
- return {
257
- increment() {
258
- store.update("x", x => x + 1);
259
- }
260
- }
261
- };
262
-
263
- let c = Controller.create(controllerFactory, {store});
264
-
265
- c.increment();
266
- assert.equal(store.get("x"), 1);
267
- });
268
-
269
- it('lifetime methods of a functional controller are properly invoked', () => {
270
- let initCount = 0,
271
- destroyCount = 0;
272
-
273
- const testController = () => ({
274
- onInit() {
275
- initCount++;
276
- },
277
-
278
- onDestroy() {
279
- destroyCount++;
280
- }
281
- });
282
-
283
- let store = new Store();
284
- store.set('visible', true);
285
-
286
- const component = renderer.create(
287
- <Cx store={store} subscribe immediate>
288
- <div visible:bind="visible" controller={testController}/>
289
- </Cx>
290
- );
291
-
292
- let tree1 = component.toJSON();
293
- assert.equal(initCount, 1);
294
-
295
- store.set('visible', false);
296
- let tree2 = component.toJSON();
297
- assert.equal(destroyCount, 1);
298
-
299
- store.set('visible', true);
300
- let tree3 = component.toJSON();
301
- assert.equal(initCount, 2);
302
- });
303
-
304
- it('widgets can easily define controller methods', () => {
305
- let store = new Store({ data: { x: 0}});
306
-
307
- const component = renderer.create(
308
- <Cx store={store} subscribe immediate>
309
- <div
310
- controller={{
311
- increment(count) {
312
- this.store.update("x", x => x + count);
313
- }
314
- }}
315
- >
316
- <div
317
- controller={{
318
- onInit() {
319
- this.invokeParentMethod("increment", 1);
320
- }
321
- }}
322
- />
323
- </div>
324
-
325
-
326
- </Cx>
327
- );
328
-
329
- let tree1 = component.toJSON();
330
- assert.equal(store.get("x"), 1);
331
- });
332
-
333
- it('functional controllers get store methods through configuration', () => {
334
- let store = new Store({ data: { x: 0}});
335
-
336
- const component = renderer.create(
337
- <Cx store={store} subscribe immediate>
338
- <div
339
- controller={({update}) => ({
340
- increment(count) {
341
- update("x", x => x + count);
342
- }
343
- })}
344
- >
345
- <div
346
- controller={{
347
- onInit() {
348
- this.invokeParentMethod("increment", 1);
349
- }
350
- }}
351
- />
352
- </div>
353
- </Cx>
354
- );
355
-
356
- let tree1 = component.toJSON();
357
- assert.equal(store.get("x"), 1);
358
- });
359
-
360
- it('addComputable accepts refs', () => {
361
- let store = new Store({data: {x: 0}});
362
-
363
- const component = renderer.create(
364
- <Cx store={store} subscribe immediate>
365
- <div
366
- controller={({ref}) => {
367
- let x = ref("x");
368
- return {
369
- onInit() {
370
- this.addComputable("y", [x], x => x + 1);
371
- }
372
- }
373
- }}
374
- />
375
- </Cx>
376
- );
377
-
378
- let tree1 = component.toJSON();
379
- assert.equal(store.get("y"), 1);
380
- });
381
-
382
- it('invokeParentMethod is invoked on parent instance', () => {
383
-
384
- let testValid = [];
385
-
386
- const TestController1 = {
387
- onInit() {
388
- this.test();
389
- },
390
- test() {
391
- testValid.push(1);
392
- this.invokeParentMethod('test', 2);
393
- }
394
- }
395
-
396
- const TestController2 = {
397
- test(val) {
398
- testValid.push(val)
399
- }
400
- }
401
-
402
- let store = new Store();
403
-
404
- const component = renderer.create(
405
- <Cx store={store} subscribe immediate>
406
- <div controller={TestController2}>
407
- <div controller={TestController1}/>
408
- </div>
409
- </Cx>
410
- );
411
-
412
- // let tree = component.toJSON();
413
- assert.deepStrictEqual(testValid, [1, 2]);
414
- });
1
+ import { Cx } from './Cx';
2
+ import { VDOM } from './Widget';
3
+ import { HtmlElement } from '../widgets/HtmlElement';
4
+ import { Store } from '../data/Store';
5
+ import { Controller } from './Controller';
6
+
7
+ import renderer from 'react-test-renderer';
8
+ import assert from 'assert';
9
+
10
+ describe('Controller', () => {
11
+
12
+ it('invokes lifetime methods', () => {
13
+
14
+ let init = 0,
15
+ prepare = 0,
16
+ explore = 0,
17
+ cleanup = 0;
18
+
19
+ class TestController extends Controller {
20
+ onInit() {
21
+ init++;
22
+ }
23
+
24
+ onExplore() {
25
+ explore++;
26
+ }
27
+
28
+ onPrepare() {
29
+ prepare++;
30
+ }
31
+
32
+ onCleanup() {
33
+ cleanup++;
34
+ }
35
+ }
36
+
37
+ let widget = <cx>
38
+ <div controller={TestController}/>
39
+ </cx>;
40
+
41
+ let store = new Store();
42
+
43
+ const component = renderer.create(
44
+ <Cx widget={widget} store={store} subscribe immediate/>
45
+ );
46
+
47
+ let tree = component.toJSON();
48
+ assert.equal(init, 1);
49
+ assert.equal(explore, 1);
50
+ assert.equal(prepare, 1);
51
+ assert.equal(cleanup, 1);
52
+ });
53
+
54
+ it('widgets invoke controller methods specified as strings', () => {
55
+
56
+ let callback = 0;
57
+
58
+ class TestController extends Controller {
59
+ callback() {
60
+ ++callback;
61
+ }
62
+ }
63
+
64
+ class Cmp extends VDOM.Component {
65
+ render() {
66
+ return <div/>
67
+ }
68
+
69
+ componentDidMount() {
70
+ this.props.instance.invoke("onTest");
71
+ }
72
+ }
73
+
74
+ let store = new Store();
75
+
76
+ const component = renderer.create(
77
+ <Cx store={store} subscribe immediate>
78
+ <Cmp controller={TestController} onTest="callback"/>
79
+ </Cx>
80
+ );
81
+
82
+ let tree = component.toJSON();
83
+ assert.equal(callback, 1);
84
+ });
85
+
86
+ it('widgets can access controller methods specified in ancestor controllers', () => {
87
+
88
+ let callback1 = 0;
89
+ let callback2 = 0;
90
+
91
+ class TestController1 extends Controller {
92
+ callback1() {
93
+ ++callback1;
94
+ }
95
+ }
96
+
97
+ class TestController2 extends Controller {
98
+ callback2() {
99
+ ++callback2;
100
+ }
101
+ }
102
+
103
+ class Cmp extends VDOM.Component {
104
+ render() {
105
+ return <div/>
106
+ }
107
+
108
+ componentDidMount() {
109
+ this.props.instance.invoke("onTest");
110
+ }
111
+ }
112
+
113
+ let store = new Store();
114
+
115
+ const component = renderer.create(
116
+ <Cx store={store} subscribe immediate>
117
+ <div controller={TestController1}>
118
+ <Cmp controller={TestController2} onTest="callback1"/>
119
+ </div>
120
+ </Cx>
121
+ );
122
+
123
+ let tree = component.toJSON();
124
+ assert.equal(callback1, 1);
125
+ assert.equal(callback2, 0);
126
+ });
127
+
128
+ it('ancestor controllers are initialized first', () => {
129
+
130
+ let order = [];
131
+
132
+ class TestController1 extends Controller {
133
+ onInit() {
134
+ order.push("1");
135
+ }
136
+ }
137
+
138
+ class TestController2 extends Controller {
139
+ onInit() {
140
+ order.push("2");
141
+ }
142
+ }
143
+
144
+ let store = new Store();
145
+
146
+ const component = renderer.create(
147
+ <Cx store={store} subscribe immediate>
148
+ <div controller={TestController1}>
149
+ <div controller={TestController2}/>
150
+ </div>
151
+ </Cx>
152
+ );
153
+
154
+ let tree = component.toJSON();
155
+ assert.deepEqual(order, ["1", "2"]);
156
+ });
157
+
158
+ it('controllers on invisible elements are not initialized', () => {
159
+
160
+ let order = [];
161
+
162
+ class TestController1 extends Controller {
163
+ onInit() {
164
+ order.push("1");
165
+ }
166
+ }
167
+
168
+ class TestController2 extends Controller {
169
+ onInit() {
170
+ order.push("2");
171
+ }
172
+ }
173
+
174
+ let store = new Store();
175
+
176
+ const component = renderer.create(
177
+ <Cx store={store} subscribe immediate>
178
+ <div controller={TestController1}>
179
+ <div visible={false} controller={TestController2}/>
180
+ </div>
181
+ </Cx>
182
+ );
183
+
184
+ let tree = component.toJSON();
185
+ assert.deepEqual(order, ["1"]);
186
+ });
187
+
188
+ it('invokes triggers and computables in order of definition', () => {
189
+ let log = [];
190
+
191
+ class TestController extends Controller {
192
+ onInit() {
193
+ this.addTrigger('t1', [], () => {
194
+ log.push('t1');
195
+ }, true);
196
+
197
+ this.addComputable('c1', [], () => {
198
+ log.push('c1');
199
+ return null;
200
+ });
201
+
202
+ this.addTrigger('t2', [], () => {
203
+ log.push('t2');
204
+ }, true)
205
+ }
206
+ }
207
+
208
+ let widget = <cx>
209
+ <div controller={TestController}/>
210
+ </cx>;
211
+
212
+ let store = new Store();
213
+
214
+ const component = renderer.create(
215
+ <Cx widget={widget} store={store} subscribe immediate/>
216
+ );
217
+
218
+ let tree = component.toJSON();
219
+ assert.deepEqual(log, ["t1", "c1", "t2"]);
220
+ });
221
+
222
+ it('is recreated if a component is hidden and shown', () => {
223
+ let initCount = 0;
224
+
225
+ class TestController extends Controller {
226
+ onInit() {
227
+ initCount++;
228
+ }
229
+ }
230
+
231
+ let store = new Store();
232
+ store.set('visible', true);
233
+
234
+ const component = renderer.create(
235
+ <Cx store={store} subscribe immediate>
236
+ <div visible:bind="visible" controller={TestController}/>
237
+ </Cx>
238
+ );
239
+
240
+ let tree1 = component.toJSON();
241
+ assert.equal(initCount, 1);
242
+
243
+ store.set('visible', false);
244
+ let tree2 = component.toJSON();
245
+ assert.equal(tree2, null);
246
+
247
+ store.set('visible', true);
248
+ let tree3 = component.toJSON();
249
+ assert.equal(initCount, 2);
250
+ });
251
+
252
+ it('allows creation through a factory', () => {
253
+ let store = new Store({ data: { x: 0}});
254
+
255
+ const controllerFactory = ({store}) => {
256
+ return {
257
+ increment() {
258
+ store.update("x", x => x + 1);
259
+ }
260
+ }
261
+ };
262
+
263
+ let c = Controller.create(controllerFactory, {store});
264
+
265
+ c.increment();
266
+ assert.equal(store.get("x"), 1);
267
+ });
268
+
269
+ it('lifetime methods of a functional controller are properly invoked', () => {
270
+ let initCount = 0,
271
+ destroyCount = 0;
272
+
273
+ const testController = () => ({
274
+ onInit() {
275
+ initCount++;
276
+ },
277
+
278
+ onDestroy() {
279
+ destroyCount++;
280
+ }
281
+ });
282
+
283
+ let store = new Store();
284
+ store.set('visible', true);
285
+
286
+ const component = renderer.create(
287
+ <Cx store={store} subscribe immediate>
288
+ <div visible:bind="visible" controller={testController}/>
289
+ </Cx>
290
+ );
291
+
292
+ let tree1 = component.toJSON();
293
+ assert.equal(initCount, 1);
294
+
295
+ store.set('visible', false);
296
+ let tree2 = component.toJSON();
297
+ assert.equal(destroyCount, 1);
298
+
299
+ store.set('visible', true);
300
+ let tree3 = component.toJSON();
301
+ assert.equal(initCount, 2);
302
+ });
303
+
304
+ it('widgets can easily define controller methods', () => {
305
+ let store = new Store({ data: { x: 0}});
306
+
307
+ const component = renderer.create(
308
+ <Cx store={store} subscribe immediate>
309
+ <div
310
+ controller={{
311
+ increment(count) {
312
+ this.store.update("x", x => x + count);
313
+ }
314
+ }}
315
+ >
316
+ <div
317
+ controller={{
318
+ onInit() {
319
+ this.invokeParentMethod("increment", 1);
320
+ }
321
+ }}
322
+ />
323
+ </div>
324
+
325
+
326
+ </Cx>
327
+ );
328
+
329
+ let tree1 = component.toJSON();
330
+ assert.equal(store.get("x"), 1);
331
+ });
332
+
333
+ it('functional controllers get store methods through configuration', () => {
334
+ let store = new Store({ data: { x: 0}});
335
+
336
+ const component = renderer.create(
337
+ <Cx store={store} subscribe immediate>
338
+ <div
339
+ controller={({update}) => ({
340
+ increment(count) {
341
+ update("x", x => x + count);
342
+ }
343
+ })}
344
+ >
345
+ <div
346
+ controller={{
347
+ onInit() {
348
+ this.invokeParentMethod("increment", 1);
349
+ }
350
+ }}
351
+ />
352
+ </div>
353
+ </Cx>
354
+ );
355
+
356
+ let tree1 = component.toJSON();
357
+ assert.equal(store.get("x"), 1);
358
+ });
359
+
360
+ it('addComputable accepts refs', () => {
361
+ let store = new Store({data: {x: 0}});
362
+
363
+ const component = renderer.create(
364
+ <Cx store={store} subscribe immediate>
365
+ <div
366
+ controller={({ref}) => {
367
+ let x = ref("x");
368
+ return {
369
+ onInit() {
370
+ this.addComputable("y", [x], x => x + 1);
371
+ }
372
+ }
373
+ }}
374
+ />
375
+ </Cx>
376
+ );
377
+
378
+ let tree1 = component.toJSON();
379
+ assert.equal(store.get("y"), 1);
380
+ });
381
+
382
+ it('invokeParentMethod is invoked on parent instance', () => {
383
+
384
+ let testValid = [];
385
+
386
+ const TestController1 = {
387
+ onInit() {
388
+ this.test();
389
+ },
390
+ test() {
391
+ testValid.push(1);
392
+ this.invokeParentMethod('test', 2);
393
+ }
394
+ }
395
+
396
+ const TestController2 = {
397
+ test(val) {
398
+ testValid.push(val)
399
+ }
400
+ }
401
+
402
+ let store = new Store();
403
+
404
+ const component = renderer.create(
405
+ <Cx store={store} subscribe immediate>
406
+ <div controller={TestController2}>
407
+ <div controller={TestController1}/>
408
+ </div>
409
+ </Cx>
410
+ );
411
+
412
+ // let tree = component.toJSON();
413
+ assert.deepStrictEqual(testValid, [1, 2]);
414
+ });
415
415
  });