cx 24.5.1 → 24.6.1

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