cx 24.6.1 → 24.6.3

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