cx 24.8.5 → 24.8.7

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