cx 24.4.4 → 24.4.5

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