cx 24.7.4 → 24.7.5

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