cx 24.9.1 → 24.9.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 (732) 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 +784 -784
  5. package/dist/widgets.css +1 -1
  6. package/dist/widgets.js +9 -8
  7. package/index.js +17 -17
  8. package/locale/de-de.js +74 -74
  9. package/locale/en-us.js +74 -74
  10. package/locale/es-es.js +74 -74
  11. package/locale/fr-fr.js +74 -74
  12. package/locale/nl-nl.js +74 -74
  13. package/locale/pt-pt.js +74 -74
  14. package/locale/sr-latn-ba.js +74 -74
  15. package/package.json +1 -1
  16. package/src/charts/Bar.js +89 -89
  17. package/src/charts/Bar.scss +26 -26
  18. package/src/charts/BarGraph.d.ts +15 -15
  19. package/src/charts/BarGraph.js +112 -112
  20. package/src/charts/BarGraph.scss +27 -27
  21. package/src/charts/BubbleGraph.js +92 -92
  22. package/src/charts/BubbleGraph.scss +29 -29
  23. package/src/charts/Chart.d.ts +12 -12
  24. package/src/charts/Chart.js +75 -75
  25. package/src/charts/ColorMap.d.ts +21 -21
  26. package/src/charts/ColorMap.js +96 -96
  27. package/src/charts/Column.scss +26 -26
  28. package/src/charts/ColumnBarBase.d.ts +64 -64
  29. package/src/charts/ColumnBarGraphBase.d.ts +73 -73
  30. package/src/charts/ColumnBarGraphBase.js +114 -114
  31. package/src/charts/ColumnGraph.d.ts +18 -18
  32. package/src/charts/ColumnGraph.scss +27 -27
  33. package/src/charts/Grid.js +5 -5
  34. package/src/charts/Gridlines.d.ts +24 -24
  35. package/src/charts/Gridlines.js +48 -48
  36. package/src/charts/Gridlines.scss +22 -22
  37. package/src/charts/Legend.d.ts +27 -27
  38. package/src/charts/Legend.js +151 -151
  39. package/src/charts/Legend.scss +41 -41
  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/PieLabelsContainer.d.ts +6 -6
  55. package/src/charts/PieLabelsContainer.js +55 -55
  56. package/src/charts/Range.d.ts +74 -74
  57. package/src/charts/Range.js +205 -205
  58. package/src/charts/Range.scss +18 -18
  59. package/src/charts/RangeMarker.d.ts +35 -35
  60. package/src/charts/RangeMarker.js +155 -155
  61. package/src/charts/RangeMarker.scss +15 -15
  62. package/src/charts/ScatterGraph.d.ts +64 -64
  63. package/src/charts/ScatterGraph.scss +21 -21
  64. package/src/charts/Swimlane.d.ts +24 -24
  65. package/src/charts/Swimlane.js +140 -140
  66. package/src/charts/Swimlane.scss +14 -14
  67. package/src/charts/Swimlanes.d.ts +41 -41
  68. package/src/charts/Swimlanes.js +114 -114
  69. package/src/charts/Swimlanes.scss +14 -14
  70. package/src/charts/axis/Axis.scss +22 -22
  71. package/src/charts/axis/CategoryAxis.d.ts +24 -24
  72. package/src/charts/axis/CategoryAxis.js +212 -212
  73. package/src/charts/axis/CategoryAxis.scss +32 -32
  74. package/src/charts/axis/NumericAxis.d.ts +46 -46
  75. package/src/charts/axis/NumericAxis.scss +32 -32
  76. package/src/charts/axis/Stack.d.ts +10 -10
  77. package/src/charts/axis/TimeAxis.d.ts +23 -23
  78. package/src/charts/axis/TimeAxis.js +510 -510
  79. package/src/charts/axis/TimeAxis.scss +32 -32
  80. package/src/charts/axis/index.d.ts +3 -3
  81. package/src/charts/axis/index.js +3 -3
  82. package/src/charts/axis/index.scss +5 -5
  83. package/src/charts/axis/variables.scss +2 -2
  84. package/src/charts/helpers/MinMaxFinder.js +36 -36
  85. package/src/charts/helpers/PointReducer.d.ts +15 -15
  86. package/src/charts/helpers/index.d.ts +4 -4
  87. package/src/charts/helpers/index.js +4 -4
  88. package/src/charts/index.d.ts +27 -27
  89. package/src/charts/index.js +34 -34
  90. package/src/charts/index.scss +22 -22
  91. package/src/charts/palette.scss +95 -95
  92. package/src/charts/shapes.d.ts +22 -22
  93. package/src/charts/shapes.js +79 -79
  94. package/src/charts/variables.scss +21 -21
  95. package/src/core.d.ts +271 -271
  96. package/src/data/AggregateFunction.d.ts +20 -20
  97. package/src/data/AggregateFunction.js +145 -145
  98. package/src/data/ArrayElementView.d.ts +13 -13
  99. package/src/data/ArrayRef.d.ts +14 -14
  100. package/src/data/ArrayRef.js +34 -34
  101. package/src/data/AugmentedViewBase.d.ts +18 -18
  102. package/src/data/Binding.d.ts +19 -19
  103. package/src/data/Binding.js +76 -76
  104. package/src/data/ExposedRecordView.d.ts +14 -14
  105. package/src/data/ExposedRecordView.js +69 -69
  106. package/src/data/ExposedValueView.d.ts +19 -19
  107. package/src/data/ExposedValueView.js +72 -72
  108. package/src/data/Expression.d.ts +17 -17
  109. package/src/data/Expression.js +220 -220
  110. package/src/data/Expression.spec.js +174 -174
  111. package/src/data/Grouper.d.ts +21 -21
  112. package/src/data/Grouper.js +144 -144
  113. package/src/data/Grouper.spec.js +57 -57
  114. package/src/data/NestedDataView.d.ts +19 -19
  115. package/src/data/NestedDataView.js +22 -22
  116. package/src/data/ReadOnlyDataView.d.ts +14 -14
  117. package/src/data/ReadOnlyDataView.js +26 -26
  118. package/src/data/Ref.d.ts +24 -24
  119. package/src/data/Ref.js +79 -79
  120. package/src/data/Ref.spec.js +79 -79
  121. package/src/data/Store.d.ts +14 -14
  122. package/src/data/Store.js +46 -46
  123. package/src/data/Store.spec.js +22 -22
  124. package/src/data/StoreProxy.d.ts +4 -4
  125. package/src/data/StoreProxy.js +16 -16
  126. package/src/data/StoreRef.js +54 -54
  127. package/src/data/StoreRef.spec.js +24 -24
  128. package/src/data/StringTemplate.d.ts +15 -15
  129. package/src/data/StringTemplate.js +92 -92
  130. package/src/data/StringTemplate.spec.js +105 -105
  131. package/src/data/StructuredDataAccessor.d.ts +7 -7
  132. package/src/data/StructuredSelector.d.ts +17 -17
  133. package/src/data/StructuredSelector.js +131 -131
  134. package/src/data/StructuredSelector.spec.js +113 -113
  135. package/src/data/SubscribableView.d.ts +11 -11
  136. package/src/data/SubscribableView.js +54 -54
  137. package/src/data/View.d.ts +131 -131
  138. package/src/data/View.js +182 -182
  139. package/src/data/View.spec.js +60 -60
  140. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  141. package/src/data/ZoomIntoPropertyView.js +33 -33
  142. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  143. package/src/data/comparer.d.ts +7 -7
  144. package/src/data/comparer.js +54 -54
  145. package/src/data/comparer.spec.js +60 -60
  146. package/src/data/computable.d.ts +125 -125
  147. package/src/data/computable.js +56 -56
  148. package/src/data/computable.spec.js +55 -55
  149. package/src/data/createAccessorModelProxy.d.ts +6 -6
  150. package/src/data/createAccessorModelProxy.js +43 -43
  151. package/src/data/createAccessorModelProxy.spec.tsx +44 -44
  152. package/src/data/createStructuredSelector.d.ts +2 -2
  153. package/src/data/createStructuredSelector.js +43 -43
  154. package/src/data/createStructuredSelector.spec.js +46 -46
  155. package/src/data/defaultCompare.js +14 -14
  156. package/src/data/diff/diffArrays.d.ts +15 -15
  157. package/src/data/diff/diffArrays.js +41 -41
  158. package/src/data/diff/diffs.spec.js +49 -49
  159. package/src/data/diff/index.d.ts +1 -1
  160. package/src/data/diff/index.js +1 -1
  161. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  162. package/src/data/enableFatArrowExpansion.js +6 -6
  163. package/src/data/getAccessor.d.ts +8 -8
  164. package/src/data/getAccessor.js +61 -61
  165. package/src/data/getAccessor.spec.js +11 -11
  166. package/src/data/getSelector.d.ts +3 -3
  167. package/src/data/getSelector.js +48 -48
  168. package/src/data/getSelector.spec.js +43 -43
  169. package/src/data/index.d.ts +30 -30
  170. package/src/data/index.js +28 -28
  171. package/src/data/isSelector.d.ts +1 -1
  172. package/src/data/isSelector.js +26 -26
  173. package/src/data/ops/append.d.ts +1 -1
  174. package/src/data/ops/append.js +7 -7
  175. package/src/data/ops/append.spec.js +28 -28
  176. package/src/data/ops/filter.d.ts +1 -1
  177. package/src/data/ops/filter.js +8 -8
  178. package/src/data/ops/filter.spec.js +29 -29
  179. package/src/data/ops/findTreeNode.d.ts +1 -1
  180. package/src/data/ops/findTreeNode.js +15 -15
  181. package/src/data/ops/findTreeNode.spec.js +24 -24
  182. package/src/data/ops/findTreePath.d.ts +6 -6
  183. package/src/data/ops/findTreePath.js +16 -16
  184. package/src/data/ops/index.d.ts +10 -10
  185. package/src/data/ops/index.js +11 -11
  186. package/src/data/ops/insertElement.d.ts +1 -1
  187. package/src/data/ops/insertElement.js +2 -2
  188. package/src/data/ops/merge.d.ts +3 -3
  189. package/src/data/ops/merge.js +9 -9
  190. package/src/data/ops/merge.spec.js +27 -27
  191. package/src/data/ops/moveElement.d.ts +1 -1
  192. package/src/data/ops/moveElement.js +13 -13
  193. package/src/data/ops/removeTreeNodes.d.ts +5 -5
  194. package/src/data/ops/removeTreeNodes.js +5 -5
  195. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  196. package/src/data/ops/updateArray.d.ts +5 -5
  197. package/src/data/ops/updateArray.js +24 -24
  198. package/src/data/ops/updateArray.spec.js +38 -38
  199. package/src/data/ops/updateTree.d.ts +7 -7
  200. package/src/data/ops/updateTree.js +25 -25
  201. package/src/data/ops/updateTree.spec.js +36 -36
  202. package/src/global.scss +13 -13
  203. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  204. package/src/hooks/createLocalStorageRef.js +22 -22
  205. package/src/hooks/index.d.ts +8 -8
  206. package/src/hooks/index.js +7 -7
  207. package/src/hooks/invokeCallback.d.ts +5 -5
  208. package/src/hooks/invokeCallback.js +6 -6
  209. package/src/hooks/invokeCallback.spec.js +53 -53
  210. package/src/hooks/resolveCallback.d.ts +3 -3
  211. package/src/hooks/resolveCallback.js +11 -11
  212. package/src/hooks/resolveCallback.spec.js +54 -54
  213. package/src/hooks/store.d.ts +7 -7
  214. package/src/hooks/store.js +32 -32
  215. package/src/hooks/store.spec.js +73 -73
  216. package/src/hooks/useEffect.d.ts +2 -2
  217. package/src/hooks/useEffect.js +14 -14
  218. package/src/hooks/useInterval.js +7 -7
  219. package/src/hooks/useState.d.ts +2 -2
  220. package/src/hooks/useState.js +15 -15
  221. package/src/hooks/useTrigger.d.ts +4 -4
  222. package/src/hooks/useTrigger.js +20 -20
  223. package/src/hooks/useTrigger.spec.js +102 -102
  224. package/src/index.js +7 -7
  225. package/src/svg/BoundedObject.d.ts +22 -22
  226. package/src/svg/BoundedObject.js +59 -59
  227. package/src/svg/ClipRect.d.ts +4 -4
  228. package/src/svg/ClipRect.js +23 -23
  229. package/src/svg/Ellipse.d.ts +23 -23
  230. package/src/svg/Ellipse.js +36 -36
  231. package/src/svg/Line.d.ts +20 -20
  232. package/src/svg/Line.js +32 -32
  233. package/src/svg/NonOverlappingRect.d.ts +5 -5
  234. package/src/svg/NonOverlappingRect.js +14 -14
  235. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  236. package/src/svg/NonOverlappingRectGroup.js +36 -36
  237. package/src/svg/Svg.d.ts +32 -32
  238. package/src/svg/Svg.js +177 -177
  239. package/src/svg/Svg.scss +26 -26
  240. package/src/svg/Text.js +78 -78
  241. package/src/svg/TextualBoundedObject.d.ts +6 -6
  242. package/src/svg/TextualBoundedObject.js +28 -28
  243. package/src/svg/index.d.ts +11 -11
  244. package/src/svg/index.js +17 -17
  245. package/src/svg/index.scss +8 -8
  246. package/src/svg/util/Rect.d.ts +40 -40
  247. package/src/svg/util/Rect.js +108 -108
  248. package/src/ui/CSS.d.ts +19 -19
  249. package/src/ui/CSS.js +79 -79
  250. package/src/ui/CSSHelper.d.ts +10 -10
  251. package/src/ui/CSSHelper.js +17 -17
  252. package/src/ui/Container.d.ts +18 -18
  253. package/src/ui/Container.js +183 -183
  254. package/src/ui/ContentResolver.d.ts +12 -12
  255. package/src/ui/ContentResolver.js +78 -78
  256. package/src/ui/Controller.js +114 -114
  257. package/src/ui/Controller.spec.js +414 -414
  258. package/src/ui/Cx.d.ts +18 -18
  259. package/src/ui/Cx.spec.js +193 -193
  260. package/src/ui/DataProxy.d.ts +12 -12
  261. package/src/ui/DataProxy.js +44 -44
  262. package/src/ui/DetachedScope.d.ts +21 -21
  263. package/src/ui/DetachedScope.js +93 -93
  264. package/src/ui/FocusManager.d.ts +29 -29
  265. package/src/ui/FocusManager.js +171 -171
  266. package/src/ui/Format.d.ts +2 -2
  267. package/src/ui/Format.js +107 -107
  268. package/src/ui/HoverSync.d.ts +13 -13
  269. package/src/ui/HoverSync.js +147 -147
  270. package/src/ui/Instance.d.ts +72 -72
  271. package/src/ui/Instance.js +610 -610
  272. package/src/ui/IsolatedScope.d.ts +16 -16
  273. package/src/ui/IsolatedScope.js +29 -29
  274. package/src/ui/IsolatedScope.spec.js +62 -62
  275. package/src/ui/Localization.d.ts +17 -17
  276. package/src/ui/Localization.js +70 -70
  277. package/src/ui/PureContainer.d.ts +16 -16
  278. package/src/ui/PureContainer.js +7 -7
  279. package/src/ui/RenderingContext.d.ts +9 -9
  280. package/src/ui/RenderingContext.js +88 -88
  281. package/src/ui/Repeater.d.ts +60 -60
  282. package/src/ui/Repeater.js +102 -102
  283. package/src/ui/Repeater.spec.js +143 -143
  284. package/src/ui/Rescope.d.ts +10 -10
  285. package/src/ui/Rescope.js +31 -31
  286. package/src/ui/Rescope.spec.js +195 -195
  287. package/src/ui/ResizeManager.d.ts +9 -9
  288. package/src/ui/ResizeManager.js +30 -30
  289. package/src/ui/Restate.d.ts +21 -21
  290. package/src/ui/Restate.js +163 -163
  291. package/src/ui/Restate.spec.js +422 -422
  292. package/src/ui/StaticText.d.ts +8 -8
  293. package/src/ui/StaticText.js +9 -9
  294. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  295. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  296. package/src/ui/Text.d.ts +10 -10
  297. package/src/ui/Text.js +25 -25
  298. package/src/ui/VDOM.d.ts +12 -12
  299. package/src/ui/VDOM.js +2 -2
  300. package/src/ui/Widget.d.ts +14 -14
  301. package/src/ui/Widget.js +200 -200
  302. package/src/ui/ZIndexManager.d.ts +7 -7
  303. package/src/ui/ZIndexManager.js +11 -11
  304. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  305. package/src/ui/adapter/ArrayAdapter.js +142 -142
  306. package/src/ui/adapter/ArrayAdapter.spec.js +55 -55
  307. package/src/ui/adapter/DataAdapter.js +15 -15
  308. package/src/ui/adapter/GroupAdapter.d.ts +23 -23
  309. package/src/ui/adapter/TreeAdapter.d.ts +24 -24
  310. package/src/ui/adapter/TreeAdapter.js +100 -100
  311. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  312. package/src/ui/adapter/index.d.ts +4 -4
  313. package/src/ui/adapter/index.js +4 -4
  314. package/src/ui/app/History.d.ts +17 -17
  315. package/src/ui/app/History.js +114 -114
  316. package/src/ui/app/Url.js +103 -103
  317. package/src/ui/app/Url.spec.js +51 -51
  318. package/src/ui/app/index.d.ts +4 -4
  319. package/src/ui/app/index.js +5 -5
  320. package/src/ui/app/startAppLoop.d.ts +3 -3
  321. package/src/ui/app/startAppLoop.js +58 -58
  322. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  323. package/src/ui/app/startHotAppLoop.js +25 -25
  324. package/src/ui/batchUpdates.d.ts +10 -10
  325. package/src/ui/batchUpdates.js +67 -67
  326. package/src/ui/bind.d.ts +4 -4
  327. package/src/ui/bind.js +7 -7
  328. package/src/ui/createFunctionalComponent.d.ts +1 -1
  329. package/src/ui/createFunctionalComponent.js +68 -68
  330. package/src/ui/createFunctionalComponent.spec.js +400 -400
  331. package/src/ui/expr.d.ts +24 -24
  332. package/src/ui/expr.js +17 -17
  333. package/src/ui/flattenProps.js +21 -21
  334. package/src/ui/index.d.ts +42 -42
  335. package/src/ui/index.js +44 -44
  336. package/src/ui/index.scss +2 -2
  337. package/src/ui/keyboardShortcuts.d.ts +4 -4
  338. package/src/ui/keyboardShortcuts.js +31 -31
  339. package/src/ui/layout/Content.d.ts +14 -14
  340. package/src/ui/layout/Content.js +16 -16
  341. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  342. package/src/ui/layout/ContentPlaceholder.js +79 -79
  343. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  344. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  345. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  346. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  347. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  348. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  349. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  350. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  351. package/src/ui/layout/LabelsTopLayout.js +134 -134
  352. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  353. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  354. package/src/ui/layout/UseParentLayout.js +6 -6
  355. package/src/ui/layout/exploreChildren.d.ts +14 -14
  356. package/src/ui/layout/exploreChildren.js +40 -40
  357. package/src/ui/layout/index.d.ts +10 -10
  358. package/src/ui/layout/index.js +10 -10
  359. package/src/ui/layout/index.scss +3 -3
  360. package/src/ui/layout/variables.scss +2 -2
  361. package/src/ui/selection/KeySelection.d.ts +17 -17
  362. package/src/ui/selection/KeySelection.js +129 -129
  363. package/src/ui/selection/PropertySelection.d.ts +17 -17
  364. package/src/ui/selection/Selection.d.ts +27 -27
  365. package/src/ui/selection/Selection.js +93 -93
  366. package/src/ui/selection/index.d.ts +3 -3
  367. package/src/ui/selection/index.js +3 -3
  368. package/src/ui/tpl.d.ts +2 -2
  369. package/src/ui/tpl.js +4 -4
  370. package/src/ui/variables.scss +1 -1
  371. package/src/util/Component.d.ts +41 -41
  372. package/src/util/Component.js +107 -107
  373. package/src/util/Console.js +11 -11
  374. package/src/util/DOM.d.ts +33 -33
  375. package/src/util/DOM.js +72 -72
  376. package/src/util/Debug.d.ts +10 -10
  377. package/src/util/Debug.js +45 -45
  378. package/src/util/Format.d.ts +18 -18
  379. package/src/util/Format.spec.js +69 -69
  380. package/src/util/GlobalCacheIdentifier.js +11 -11
  381. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  382. package/src/util/KeyCode.d.ts +21 -21
  383. package/src/util/KeyCode.js +21 -21
  384. package/src/util/SubscriberList.d.ts +41 -41
  385. package/src/util/SubscriberList.js +57 -57
  386. package/src/util/Timing.d.ts +13 -13
  387. package/src/util/Timing.js +57 -57
  388. package/src/util/TraversalStack.js +42 -42
  389. package/src/util/TraversalStack.spec.js +46 -46
  390. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  391. package/src/util/addEventListenerWithOptions.js +9 -9
  392. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  393. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  394. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  395. package/src/util/calculateNaturalElementHeight.js +22 -22
  396. package/src/util/call-once.scss +6 -6
  397. package/src/util/coalesce.d.ts +1 -1
  398. package/src/util/coalesce.js +6 -6
  399. package/src/util/color/hslToRgb.d.ts +8 -8
  400. package/src/util/color/hslToRgb.js +27 -27
  401. package/src/util/color/index.d.ts +3 -3
  402. package/src/util/color/index.js +4 -4
  403. package/src/util/color/parseColor.d.ts +59 -59
  404. package/src/util/color/parseColor.js +119 -119
  405. package/src/util/color/rgbToHex.d.ts +8 -8
  406. package/src/util/color/rgbToHex.js +7 -7
  407. package/src/util/color/rgbToHsl.d.ts +8 -8
  408. package/src/util/color/rgbToHsl.js +27 -27
  409. package/src/util/date/dateDiff.d.ts +7 -7
  410. package/src/util/date/dateDiff.js +3 -3
  411. package/src/util/date/diff.d.ts +7 -7
  412. package/src/util/date/diff.js +7 -7
  413. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  414. package/src/util/date/index.d.ts +8 -8
  415. package/src/util/date/index.js +9 -9
  416. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  417. package/src/util/date/lowerBoundCheck.js +6 -6
  418. package/src/util/date/maxDate.d.ts +5 -5
  419. package/src/util/date/maxDate.js +9 -9
  420. package/src/util/date/minDate.d.ts +5 -5
  421. package/src/util/date/minDate.js +9 -9
  422. package/src/util/date/monthStart.d.ts +5 -5
  423. package/src/util/date/monthStart.js +3 -3
  424. package/src/util/date/sameDate.d.ts +6 -6
  425. package/src/util/date/sameDate.js +5 -5
  426. package/src/util/date/upperBoundCheck.d.ts +7 -7
  427. package/src/util/date/upperBoundCheck.js +6 -6
  428. package/src/util/date/upperBoundCheck.spec.js +30 -30
  429. package/src/util/date/zeroTime.d.ts +6 -6
  430. package/src/util/date/zeroTime.js +3 -3
  431. package/src/util/debounce.d.ts +9 -9
  432. package/src/util/debounce.js +18 -18
  433. package/src/util/dummyCallback.d.ts +1 -1
  434. package/src/util/dummyCallback.js +1 -1
  435. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  436. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  437. package/src/util/eventCallbacks.d.ts +4 -4
  438. package/src/util/eventCallbacks.js +2 -2
  439. package/src/util/expandFatArrows.js +118 -118
  440. package/src/util/findScrollableParent.js +16 -16
  441. package/src/util/getActiveElement.js +3 -3
  442. package/src/util/getParentFrameBoundingClientRect.js +21 -21
  443. package/src/util/getScrollerBoundingClientRect.js +21 -21
  444. package/src/util/getSearchQueryPredicate.js +58 -58
  445. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  446. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  447. package/src/util/getVendorPrefix.js +26 -26
  448. package/src/util/index.d.ts +50 -50
  449. package/src/util/index.scss +10 -10
  450. package/src/util/innerTextTrim.d.ts +6 -6
  451. package/src/util/innerTextTrim.js +5 -5
  452. package/src/util/isArray.d.ts +1 -1
  453. package/src/util/isArray.js +3 -3
  454. package/src/util/isDefined.js +3 -3
  455. package/src/util/isDigit.d.ts +6 -6
  456. package/src/util/isDigit.js +3 -3
  457. package/src/util/isFunction.d.ts +1 -1
  458. package/src/util/isFunction.js +3 -3
  459. package/src/util/isNonEmptyArray.d.ts +1 -1
  460. package/src/util/isNonEmptyArray.js +3 -3
  461. package/src/util/isNumber.d.ts +1 -1
  462. package/src/util/isNumber.js +3 -3
  463. package/src/util/isObject.d.ts +1 -1
  464. package/src/util/isObject.js +3 -3
  465. package/src/util/isPromise.d.ts +1 -1
  466. package/src/util/isPromise.js +6 -6
  467. package/src/util/isString.d.ts +1 -1
  468. package/src/util/isString.js +3 -3
  469. package/src/util/isTextInputElement.d.ts +1 -1
  470. package/src/util/isTextInputElement.js +2 -2
  471. package/src/util/isTouchDevice.d.ts +1 -1
  472. package/src/util/isTouchDevice.js +7 -7
  473. package/src/util/isTouchEvent.d.ts +3 -3
  474. package/src/util/isTouchEvent.js +64 -64
  475. package/src/util/isUndefined.d.ts +1 -1
  476. package/src/util/isUndefined.js +3 -3
  477. package/src/util/onIdleCallback.js +13 -13
  478. package/src/util/parseStyle.d.ts +3 -3
  479. package/src/util/parseStyle.js +27 -27
  480. package/src/util/quote.d.ts +2 -2
  481. package/src/util/quote.js +4 -4
  482. package/src/util/reverseSlice.js +9 -9
  483. package/src/util/routeAppend.js +15 -15
  484. package/src/util/routeAppend.spec.js +19 -19
  485. package/src/util/scrollElementIntoView.d.ts +7 -7
  486. package/src/util/scrollElementIntoView.js +34 -34
  487. package/src/util/scss/calc.scss +40 -40
  488. package/src/util/scss/call-once.scss +10 -10
  489. package/src/util/scss/clockwise.scss +47 -47
  490. package/src/util/scss/colors.scss +7 -7
  491. package/src/util/scss/deep-get.scss +9 -9
  492. package/src/util/scss/deep-merge.scss +18 -18
  493. package/src/util/scss/include.scss +47 -47
  494. package/src/util/scss/index.scss +9 -9
  495. package/src/util/shallowEquals.js +43 -43
  496. package/src/util/throttle.d.ts +8 -8
  497. package/src/util/throttle.js +14 -14
  498. package/src/util/validatedDebounce.js +19 -19
  499. package/src/variables.scss +217 -217
  500. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  501. package/src/widgets/Button.d.ts +58 -58
  502. package/src/widgets/Button.js +118 -118
  503. package/src/widgets/Button.scss +117 -117
  504. package/src/widgets/CxCredit.d.ts +12 -12
  505. package/src/widgets/CxCredit.js +31 -31
  506. package/src/widgets/DocumentTitle.d.ts +11 -11
  507. package/src/widgets/DocumentTitle.js +68 -68
  508. package/src/widgets/FlexBox.d.ts +69 -69
  509. package/src/widgets/FlexBox.js +92 -92
  510. package/src/widgets/FlexBox.scss +146 -146
  511. package/src/widgets/Heading.d.ts +16 -16
  512. package/src/widgets/Heading.js +32 -32
  513. package/src/widgets/Heading.scss +38 -38
  514. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  515. package/src/widgets/HighlightedSearchText.js +3 -3
  516. package/src/widgets/HighlightedSearchText.scss +4 -4
  517. package/src/widgets/HtmlElement.d.ts +26 -26
  518. package/src/widgets/HtmlElement.spec.js +57 -57
  519. package/src/widgets/Icon.d.ts +34 -34
  520. package/src/widgets/Icon.js +50 -50
  521. package/src/widgets/Icon.scss +20 -20
  522. package/src/widgets/List.d.ts +96 -96
  523. package/src/widgets/List.js +587 -587
  524. package/src/widgets/ProgressBar.d.ts +17 -17
  525. package/src/widgets/ProgressBar.js +46 -46
  526. package/src/widgets/ProgressBar.scss +49 -49
  527. package/src/widgets/Resizer.d.ts +27 -27
  528. package/src/widgets/Resizer.js +151 -151
  529. package/src/widgets/Resizer.scss +42 -42
  530. package/src/widgets/Sandbox.d.ts +16 -16
  531. package/src/widgets/Sandbox.js +62 -62
  532. package/src/widgets/Section.d.ts +52 -52
  533. package/src/widgets/Section.js +139 -139
  534. package/src/widgets/Section.scss +54 -54
  535. package/src/widgets/animations.scss +10 -10
  536. package/src/widgets/autoFocus.d.ts +1 -1
  537. package/src/widgets/autoFocus.js +9 -9
  538. package/src/widgets/cx.d.ts +1 -1
  539. package/src/widgets/cx.js +71 -71
  540. package/src/widgets/drag-drop/DragClone.scss +33 -33
  541. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  542. package/src/widgets/drag-drop/DragHandle.js +37 -37
  543. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  544. package/src/widgets/drag-drop/DragSource.d.ts +45 -45
  545. package/src/widgets/drag-drop/DragSource.js +160 -160
  546. package/src/widgets/drag-drop/DragSource.scss +24 -24
  547. package/src/widgets/drag-drop/DropZone.d.ts +98 -98
  548. package/src/widgets/drag-drop/DropZone.js +214 -214
  549. package/src/widgets/drag-drop/DropZone.scss +74 -74
  550. package/src/widgets/drag-drop/index.d.ts +4 -4
  551. package/src/widgets/drag-drop/index.js +4 -4
  552. package/src/widgets/drag-drop/index.scss +3 -3
  553. package/src/widgets/drag-drop/ops.d.ts +56 -56
  554. package/src/widgets/drag-drop/ops.js +344 -344
  555. package/src/widgets/drag-drop/variables.scss +11 -11
  556. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  557. package/src/widgets/enableAllInternalDependencies.js +11 -11
  558. package/src/widgets/form/Calendar.d.ts +86 -86
  559. package/src/widgets/form/Calendar.variables.scss +63 -63
  560. package/src/widgets/form/Checkbox.d.ts +43 -43
  561. package/src/widgets/form/Checkbox.js +200 -200
  562. package/src/widgets/form/Checkbox.scss +127 -127
  563. package/src/widgets/form/Checkbox.variables.scss +39 -39
  564. package/src/widgets/form/ColorField.js +3 -3
  565. package/src/widgets/form/ColorField.scss +96 -96
  566. package/src/widgets/form/ColorPicker.d.ts +23 -23
  567. package/src/widgets/form/ColorPicker.js +480 -480
  568. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  569. package/src/widgets/form/DateField.d.ts +6 -6
  570. package/src/widgets/form/DateField.js +12 -12
  571. package/src/widgets/form/DateTimeField.js +1 -1
  572. package/src/widgets/form/DateTimeField.scss +90 -90
  573. package/src/widgets/form/DateTimePicker.js +391 -391
  574. package/src/widgets/form/DateTimePicker.scss +44 -44
  575. package/src/widgets/form/Field.d.ts +112 -112
  576. package/src/widgets/form/Field.scss +162 -162
  577. package/src/widgets/form/FieldGroup.d.ts +6 -6
  578. package/src/widgets/form/FieldGroup.js +5 -5
  579. package/src/widgets/form/FieldIcon.js +42 -42
  580. package/src/widgets/form/HelpText.d.ts +10 -10
  581. package/src/widgets/form/HelpText.js +9 -9
  582. package/src/widgets/form/HelpText.scss +23 -23
  583. package/src/widgets/form/Label.d.ts +23 -23
  584. package/src/widgets/form/Label.js +89 -89
  585. package/src/widgets/form/Label.scss +36 -36
  586. package/src/widgets/form/LabeledContainer.d.ts +9 -9
  587. package/src/widgets/form/LabeledContainer.js +59 -59
  588. package/src/widgets/form/LookupField.d.ts +11 -8
  589. package/src/widgets/form/LookupField.scss +219 -219
  590. package/src/widgets/form/MonthField.js +1 -1
  591. package/src/widgets/form/MonthField.scss +99 -99
  592. package/src/widgets/form/MonthPicker.d.ts +74 -74
  593. package/src/widgets/form/MonthPicker.js +632 -632
  594. package/src/widgets/form/NumberField.d.ts +96 -96
  595. package/src/widgets/form/NumberField.js +1 -1
  596. package/src/widgets/form/Radio.d.ts +37 -37
  597. package/src/widgets/form/Radio.js +188 -188
  598. package/src/widgets/form/Radio.scss +121 -121
  599. package/src/widgets/form/Radio.variables.scss +45 -45
  600. package/src/widgets/form/Select.d.ts +69 -69
  601. package/src/widgets/form/Select.js +269 -269
  602. package/src/widgets/form/Slider.d.ts +65 -65
  603. package/src/widgets/form/Slider.js +351 -351
  604. package/src/widgets/form/Switch.d.ts +38 -38
  605. package/src/widgets/form/Switch.js +118 -118
  606. package/src/widgets/form/TextArea.d.ts +17 -17
  607. package/src/widgets/form/TextArea.js +186 -186
  608. package/src/widgets/form/TextField.d.ts +78 -78
  609. package/src/widgets/form/TextField.js +2 -1
  610. package/src/widgets/form/TimeField.d.ts +6 -6
  611. package/src/widgets/form/TimeField.js +11 -11
  612. package/src/widgets/form/TimeList.js +84 -84
  613. package/src/widgets/form/UploadButton.d.ts +34 -34
  614. package/src/widgets/form/UploadButton.js +213 -213
  615. package/src/widgets/form/UploadButton.scss +47 -47
  616. package/src/widgets/form/ValidationError.d.ts +10 -10
  617. package/src/widgets/form/ValidationError.js +44 -44
  618. package/src/widgets/form/ValidationError.scss +21 -21
  619. package/src/widgets/form/ValidationGroup.d.ts +41 -41
  620. package/src/widgets/form/ValidationGroup.js +68 -68
  621. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  622. package/src/widgets/form/Validator.d.ts +8 -8
  623. package/src/widgets/form/Validator.js +21 -21
  624. package/src/widgets/form/Wheel.js +261 -261
  625. package/src/widgets/form/Wheel.scss +150 -150
  626. package/src/widgets/form/index.d.ts +26 -26
  627. package/src/widgets/form/index.js +28 -28
  628. package/src/widgets/form/index.scss +24 -24
  629. package/src/widgets/form/variables.scss +2 -1
  630. package/src/widgets/grid/Grid.scss +680 -680
  631. package/src/widgets/grid/GridCell.d.ts +38 -38
  632. package/src/widgets/grid/GridCell.js +71 -71
  633. package/src/widgets/grid/GridCellEditor.js +41 -41
  634. package/src/widgets/grid/GridRow.js +228 -228
  635. package/src/widgets/grid/GridRowLine.js +24 -24
  636. package/src/widgets/grid/Pagination.d.ts +14 -14
  637. package/src/widgets/grid/Pagination.js +94 -94
  638. package/src/widgets/grid/Pagination.scss +113 -113
  639. package/src/widgets/grid/TreeNode.d.ts +25 -25
  640. package/src/widgets/grid/TreeNode.js +102 -102
  641. package/src/widgets/grid/index.d.ts +3 -3
  642. package/src/widgets/grid/index.js +14 -14
  643. package/src/widgets/grid/index.scss +3 -3
  644. package/src/widgets/grid/variables.scss +88 -88
  645. package/src/widgets/icons/arrow-down.svg +3 -3
  646. package/src/widgets/icons/arrow-right.svg +2 -2
  647. package/src/widgets/icons/base.svg +104 -104
  648. package/src/widgets/icons/calendar-old.svg +169 -169
  649. package/src/widgets/icons/calendar.js +16 -16
  650. package/src/widgets/icons/calendar.svg +187 -187
  651. package/src/widgets/icons/check.js +12 -12
  652. package/src/widgets/icons/clear.js +14 -14
  653. package/src/widgets/icons/clear.svg +74 -74
  654. package/src/widgets/icons/close.js +19 -19
  655. package/src/widgets/icons/close.svg +74 -74
  656. package/src/widgets/icons/cx.js +37 -37
  657. package/src/widgets/icons/drop-down.js +14 -14
  658. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  659. package/src/widgets/icons/file.js +12 -12
  660. package/src/widgets/icons/file.svg +4 -4
  661. package/src/widgets/icons/folder-open.js +14 -14
  662. package/src/widgets/icons/folder-open.svg +5 -5
  663. package/src/widgets/icons/folder.js +12 -12
  664. package/src/widgets/icons/folder.svg +58 -58
  665. package/src/widgets/icons/forward.js +21 -21
  666. package/src/widgets/icons/forward.svg +67 -67
  667. package/src/widgets/icons/index.js +14 -14
  668. package/src/widgets/icons/loading.js +23 -23
  669. package/src/widgets/icons/loading.svg +4 -4
  670. package/src/widgets/icons/menu.js +16 -16
  671. package/src/widgets/icons/pixel-picker.js +17 -17
  672. package/src/widgets/icons/registry.js +53 -53
  673. package/src/widgets/icons/search.js +12 -12
  674. package/src/widgets/icons/search.svg +107 -107
  675. package/src/widgets/icons/sort-asc.js +13 -13
  676. package/src/widgets/icons/sort-asc.svg +3 -3
  677. package/src/widgets/icons/square.js +17 -17
  678. package/src/widgets/index.d.ts +55 -55
  679. package/src/widgets/index.js +57 -57
  680. package/src/widgets/index.scss +16 -16
  681. package/src/widgets/nav/Link.d.ts +26 -26
  682. package/src/widgets/nav/Link.js +7 -7
  683. package/src/widgets/nav/Link.scss +18 -18
  684. package/src/widgets/nav/Menu.d.ts +27 -27
  685. package/src/widgets/nav/Menu.js +406 -406
  686. package/src/widgets/nav/MenuItem.d.ts +31 -31
  687. package/src/widgets/nav/MenuItem.js +445 -445
  688. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  689. package/src/widgets/nav/MenuSpacer.js +12 -12
  690. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  691. package/src/widgets/nav/RedirectRoute.js +40 -40
  692. package/src/widgets/nav/Route.d.ts +21 -21
  693. package/src/widgets/nav/Route.js +105 -105
  694. package/src/widgets/nav/Route.spec.js +27 -27
  695. package/src/widgets/nav/Scroller.d.ts +17 -17
  696. package/src/widgets/nav/Scroller.js +214 -214
  697. package/src/widgets/nav/Scroller.scss +146 -146
  698. package/src/widgets/nav/Submenu.d.ts +6 -6
  699. package/src/widgets/nav/Submenu.js +6 -6
  700. package/src/widgets/nav/Tab.d.ts +33 -33
  701. package/src/widgets/nav/Tab.js +82 -82
  702. package/src/widgets/nav/Tab.scss +81 -81
  703. package/src/widgets/nav/cover.scss +21 -21
  704. package/src/widgets/nav/index.d.ts +10 -10
  705. package/src/widgets/nav/index.js +10 -10
  706. package/src/widgets/nav/index.scss +5 -5
  707. package/src/widgets/nav/variables.scss +25 -25
  708. package/src/widgets/overlay/ContextMenu.d.ts +10 -10
  709. package/src/widgets/overlay/ContextMenu.js +29 -29
  710. package/src/widgets/overlay/Dropdown.d.ts +32 -32
  711. package/src/widgets/overlay/Dropdown.scss +184 -184
  712. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  713. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  714. package/src/widgets/overlay/MsgBox.js +116 -116
  715. package/src/widgets/overlay/Overlay.d.ts +69 -69
  716. package/src/widgets/overlay/Overlay.js +747 -747
  717. package/src/widgets/overlay/Overlay.scss +66 -66
  718. package/src/widgets/overlay/Toast.d.ts +30 -30
  719. package/src/widgets/overlay/Toast.js +92 -92
  720. package/src/widgets/overlay/Toast.scss +162 -162
  721. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  722. package/src/widgets/overlay/Tooltip.scss +175 -175
  723. package/src/widgets/overlay/Window.js +196 -196
  724. package/src/widgets/overlay/alerts.d.ts +7 -7
  725. package/src/widgets/overlay/alerts.js +39 -39
  726. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  727. package/src/widgets/overlay/captureMouse.scss +13 -13
  728. package/src/widgets/overlay/index.d.ts +10 -10
  729. package/src/widgets/overlay/index.js +10 -10
  730. package/src/widgets/overlay/index.scss +15 -15
  731. package/src/widgets/overlay/variables.scss +83 -83
  732. package/src/widgets/variables.scss +1 -1
@@ -1,96 +1,96 @@
1
- import * as Cx from "../../core";
2
- import { FieldProps } from "./Field";
3
-
4
- interface NumberFieldProps extends FieldProps {
5
- /** Value of the input. */
6
- value?: Cx.NumberProp;
7
-
8
- /** Defaults to false. Used to make the field read-only. */
9
- readOnly?: Cx.BooleanProp;
10
-
11
- /** The opposite of `disabled`. */
12
- enabled?: Cx.BooleanProp;
13
-
14
- /** Default text displayed when the field is empty. */
15
- placeholder?: Cx.StringProp;
16
-
17
- /** Template used to format the value. Examples: `ps` - percentage sign; `n;2` - two decimals.
18
- * By default, number formatting is applied with optional maximum decimal precision. */
19
- format?: Cx.StringProp;
20
-
21
- /** Minimum number value. */
22
- minValue?: Cx.NumberProp;
23
-
24
- /** Set to `true` to disallow the `minValue`. Default value is `false`. */
25
- minExclusive?: Cx.BooleanProp;
26
-
27
- /** Maximum number value. */
28
- maxValue?: Cx.NumberProp;
29
-
30
- /** Set to `true` to disallow the `maxValue`. Default value is `false`. */
31
- maxExclusive?: Cx.BooleanProp;
32
-
33
- /** When specified, values lower than `minValue` or higher than `maxValue` will be constrained to `minValue` that is, `maxValue`, respectively. */
34
- constrain?: Cx.BooleanProp;
35
-
36
- /**
37
- * Percentage used to calculate the increment when it's not explicitly specified.
38
- * Default value is `0.1` (10%).
39
- */
40
- incrementPercentage?: Cx.NumberProp;
41
-
42
- /** Increment/decrement value when using arrow keys or mouse wheel. */
43
- increment?: Cx.NumberProp;
44
-
45
- /** Increment/decrement value when using arrow keys or mouse wheel. */
46
- step?: number;
47
-
48
- /** Base CSS class to be applied to the field. Defaults to `numberfield`. */
49
- baseClass?: string;
50
-
51
- /** Round values to the nearest tick. Default is `true`. */
52
- snapToIncrement?: boolean;
53
-
54
- /** Name or configuration of the icon to be put on the left side of the input. */
55
- icon?: Cx.StringProp | Cx.Record;
56
-
57
- /** Set to `false` to hide the clear button. It can be used interchangeably with the `hideClear` property. Default value is `true`. */
58
- showClear?: boolean;
59
-
60
- /** Set to `true` to hide the clear button. It can be used interchangeably with the `showClear` property. Default value is `false`. */
61
- hideClear?: boolean;
62
-
63
- /**
64
- * Set to `true` to display the clear button even if `required` is set. Default is `false`.
65
- */
66
- alwaysShowClear?: boolean;
67
-
68
- /** Defaults to `input`. Other permitted values are `enter` and `blur`. Multiple values should be separated by space, .e.g. 'enter blur'. */
69
- reactOn?: string;
70
-
71
- /** Defaults to `text`. Other permitted value is `password`. */
72
- inputType?: "text" | "password";
73
-
74
- /** Maximum value error text. */
75
- maxValueErrorText?: string;
76
-
77
- /** Maximum exclusive value error text. */
78
- maxExclusiveErrorText?: string;
79
-
80
- /** Minimum value error text. */
81
- minValueErrorText?: string;
82
-
83
- /** Minimum exclusive value error text. */
84
- minExclusiveErrorText?: string;
85
-
86
- /** Invalid input error text. */
87
- inputErrorText?: string;
88
-
89
- /** A scale used to define mapping between displayed and stored values. E.g. 0.01 for percentages. DV = (SV - OFFSET) / SCALE */
90
- scale?: number;
91
-
92
- /** Offset to define mapping between displayed and stored values. DV = (SV - OFFSET) / SCALE */
93
- offset?: number;
94
- }
95
-
96
- export class NumberField extends Cx.Widget<NumberFieldProps> {}
1
+ import * as Cx from "../../core";
2
+ import { FieldProps } from "./Field";
3
+
4
+ interface NumberFieldProps extends FieldProps {
5
+ /** Value of the input. */
6
+ value?: Cx.NumberProp;
7
+
8
+ /** Defaults to false. Used to make the field read-only. */
9
+ readOnly?: Cx.BooleanProp;
10
+
11
+ /** The opposite of `disabled`. */
12
+ enabled?: Cx.BooleanProp;
13
+
14
+ /** Default text displayed when the field is empty. */
15
+ placeholder?: Cx.StringProp;
16
+
17
+ /** Template used to format the value. Examples: `ps` - percentage sign; `n;2` - two decimals.
18
+ * By default, number formatting is applied with optional maximum decimal precision. */
19
+ format?: Cx.StringProp;
20
+
21
+ /** Minimum number value. */
22
+ minValue?: Cx.NumberProp;
23
+
24
+ /** Set to `true` to disallow the `minValue`. Default value is `false`. */
25
+ minExclusive?: Cx.BooleanProp;
26
+
27
+ /** Maximum number value. */
28
+ maxValue?: Cx.NumberProp;
29
+
30
+ /** Set to `true` to disallow the `maxValue`. Default value is `false`. */
31
+ maxExclusive?: Cx.BooleanProp;
32
+
33
+ /** When specified, values lower than `minValue` or higher than `maxValue` will be constrained to `minValue` that is, `maxValue`, respectively. */
34
+ constrain?: Cx.BooleanProp;
35
+
36
+ /**
37
+ * Percentage used to calculate the increment when it's not explicitly specified.
38
+ * Default value is `0.1` (10%).
39
+ */
40
+ incrementPercentage?: Cx.NumberProp;
41
+
42
+ /** Increment/decrement value when using arrow keys or mouse wheel. */
43
+ increment?: Cx.NumberProp;
44
+
45
+ /** Increment/decrement value when using arrow keys or mouse wheel. */
46
+ step?: number;
47
+
48
+ /** Base CSS class to be applied to the field. Defaults to `numberfield`. */
49
+ baseClass?: string;
50
+
51
+ /** Round values to the nearest tick. Default is `true`. */
52
+ snapToIncrement?: boolean;
53
+
54
+ /** Name or configuration of the icon to be put on the left side of the input. */
55
+ icon?: Cx.StringProp | Cx.Record;
56
+
57
+ /** Set to `false` to hide the clear button. It can be used interchangeably with the `hideClear` property. Default value is `true`. */
58
+ showClear?: boolean;
59
+
60
+ /** Set to `true` to hide the clear button. It can be used interchangeably with the `showClear` property. Default value is `false`. */
61
+ hideClear?: boolean;
62
+
63
+ /**
64
+ * Set to `true` to display the clear button even if `required` is set. Default is `false`.
65
+ */
66
+ alwaysShowClear?: boolean;
67
+
68
+ /** Defaults to `input`. Other permitted values are `enter` and `blur`. Multiple values should be separated by space, .e.g. 'enter blur'. */
69
+ reactOn?: string;
70
+
71
+ /** Defaults to `text`. Other permitted value is `password`. */
72
+ inputType?: "text" | "password";
73
+
74
+ /** Maximum value error text. */
75
+ maxValueErrorText?: string;
76
+
77
+ /** Maximum exclusive value error text. */
78
+ maxExclusiveErrorText?: string;
79
+
80
+ /** Minimum value error text. */
81
+ minValueErrorText?: string;
82
+
83
+ /** Minimum exclusive value error text. */
84
+ minExclusiveErrorText?: string;
85
+
86
+ /** Invalid input error text. */
87
+ inputErrorText?: string;
88
+
89
+ /** A scale used to define mapping between displayed and stored values. E.g. 0.01 for percentages. DV = (SV - OFFSET) / SCALE */
90
+ scale?: number;
91
+
92
+ /** Offset to define mapping between displayed and stored values. DV = (SV - OFFSET) / SCALE */
93
+ offset?: number;
94
+ }
95
+
96
+ export class NumberField extends Cx.Widget<NumberFieldProps> {}
@@ -249,7 +249,7 @@ class Input extends VDOM.Component {
249
249
  }
250
250
 
251
251
  componentWillUnmount() {
252
- if (this.input == getActiveElement()) {
252
+ if (this.input == getActiveElement() && this.input.value != this.props.data.formatted) {
253
253
  this.onChange({ target: { value: this.input.value } }, "blur");
254
254
  }
255
255
  tooltipParentWillUnmount(this.props.instance);
@@ -1,37 +1,37 @@
1
- import * as Cx from '../../core';
2
- import { FieldProps } from './Field';
3
-
4
- interface RadioProps extends FieldProps {
5
-
6
- /** Selected value. If the value is equal to `option`, the radio button appears checked. */
7
- value?: Cx.Prop< number | string | boolean >,
8
-
9
- /** Selected value. If the value is equal to `option`, the radio button appears checked. */
10
- selection?: Cx.Prop< number | string | boolean >,
11
-
12
- /** Value to be written into `value` if radio button is clicked. */
13
- option?: Cx.Prop< number | string | boolean >,
14
-
15
- /** Defaults to `false`. Used to make the field read-only. */
16
- readOnly?: Cx.BooleanProp,
17
-
18
- /** Text description. */
19
- text?: Cx.StringProp,
20
-
21
- /** Base CSS class to be applied to the field. Defaults to `radio`. */
22
- baseClass?: string,
23
-
24
- /**
25
- * Use native radio HTML element (`<input type="radio"/>`).
26
- * Default is `false`. Native radio buttons are difficult to style.
27
- */
28
- native?: boolean,
29
-
30
- /**
31
- * Set to `true` to set the make the radio initially selected.
32
- */
33
- default?: boolean
34
-
35
- }
36
-
37
- export class Radio extends Cx.Widget<RadioProps> {}
1
+ import * as Cx from '../../core';
2
+ import { FieldProps } from './Field';
3
+
4
+ interface RadioProps extends FieldProps {
5
+
6
+ /** Selected value. If the value is equal to `option`, the radio button appears checked. */
7
+ value?: Cx.Prop< number | string | boolean >,
8
+
9
+ /** Selected value. If the value is equal to `option`, the radio button appears checked. */
10
+ selection?: Cx.Prop< number | string | boolean >,
11
+
12
+ /** Value to be written into `value` if radio button is clicked. */
13
+ option?: Cx.Prop< number | string | boolean >,
14
+
15
+ /** Defaults to `false`. Used to make the field read-only. */
16
+ readOnly?: Cx.BooleanProp,
17
+
18
+ /** Text description. */
19
+ text?: Cx.StringProp,
20
+
21
+ /** Base CSS class to be applied to the field. Defaults to `radio`. */
22
+ baseClass?: string,
23
+
24
+ /**
25
+ * Use native radio HTML element (`<input type="radio"/>`).
26
+ * Default is `false`. Native radio buttons are difficult to style.
27
+ */
28
+ native?: boolean,
29
+
30
+ /**
31
+ * Set to `true` to set the make the radio initially selected.
32
+ */
33
+ default?: boolean
34
+
35
+ }
36
+
37
+ export class Radio extends Cx.Widget<RadioProps> {}
@@ -1,188 +1,188 @@
1
- import { Widget, VDOM, getContent } from "../../ui/Widget";
2
- import { Field, getFieldTooltip } from "./Field";
3
- import { tooltipMouseMove, tooltipMouseLeave } from "../overlay/tooltip-ops";
4
- import { stopPropagation } from "../../util/eventCallbacks";
5
- import { KeyCode } from "../../util/KeyCode";
6
- import { isUndefined } from "../../util/isUndefined";
7
-
8
- export class Radio extends Field {
9
- declareData() {
10
- super.declareData(
11
- {
12
- value: undefined,
13
- selection: undefined,
14
- option: undefined,
15
- disabled: undefined,
16
- enabled: undefined,
17
- readOnly: undefined,
18
- required: undefined,
19
- text: undefined,
20
- },
21
- ...arguments
22
- );
23
- }
24
-
25
- init() {
26
- if (this.selection) this.value = this.selection;
27
-
28
- super.init();
29
- }
30
-
31
- formatValue(context, { data }) {
32
- return data.text;
33
- }
34
-
35
- prepareData(context, instance) {
36
- super.prepareData(...arguments);
37
- let { data } = instance;
38
- data.checked = data.value === data.option;
39
- if (this.default && isUndefined(data.value)) instance.set("value", data.option);
40
- }
41
-
42
- renderValue(context, { data }) {
43
- if (data.value === data.option) return super.renderValue(...arguments);
44
- return null;
45
- }
46
-
47
- renderWrap(context, instance, key, content) {
48
- var { data } = instance;
49
- return (
50
- <label
51
- key={key}
52
- className={data.classNames}
53
- style={data.style}
54
- onMouseDown={stopPropagation}
55
- onTouchStart={stopPropagation}
56
- onMouseMove={(e) => tooltipMouseMove(e, ...getFieldTooltip(instance))}
57
- onMouseLeave={(e) => tooltipMouseLeave(e, ...getFieldTooltip(instance))}
58
- onClick={(e) => {
59
- this.handleClick(e, instance);
60
- }}
61
- htmlFor={data.id}
62
- >
63
- {content}
64
- {this.labelPlacement && getContent(this.renderLabel(context, instance, "label"))}
65
- </label>
66
- );
67
- }
68
-
69
- renderNativeCheck(context, instance) {
70
- var { CSS, baseClass } = this;
71
- var { data } = instance;
72
- return (
73
- <input
74
- key="input"
75
- className={CSS.element(baseClass, "radio")}
76
- id={data.id}
77
- type="radio"
78
- checked={data.checked}
79
- disabled={data.disabled}
80
- {...data.inputAttrs}
81
- onClick={stopPropagation}
82
- onChange={(e) => {
83
- this.handleChange(e, instance);
84
- }}
85
- />
86
- );
87
- }
88
-
89
- renderCheck(context, instance) {
90
- return <RadioCmp key="check" instance={instance} data={instance.data} />;
91
- }
92
-
93
- renderInput(context, instance, key) {
94
- var { data } = instance;
95
- var text = data.text || this.renderChildren(context, instance);
96
- var { CSS, baseClass } = this;
97
- return this.renderWrap(context, instance, key, [
98
- this.native ? this.renderNativeCheck(context, instance) : this.renderCheck(context, instance),
99
- text ? (
100
- <div key="text" className={CSS.element(baseClass, "text")}>
101
- {text}
102
- </div>
103
- ) : (
104
- <span key="baseline" className={CSS.element(baseClass, "baseline")}>
105
- &nbsp;
106
- </span>
107
- ),
108
- ]);
109
- }
110
-
111
- handleClick(e, instance) {
112
- if (this.native) e.stopPropagation();
113
- else {
114
- var el = document.getElementById(instance.data.id);
115
- if (el) el.focus();
116
- e.preventDefault();
117
- this.handleChange(e, instance);
118
- }
119
- }
120
-
121
- handleChange(e, instance) {
122
- var { data } = instance;
123
- if (data.disabled || data.readOnly || data.viewMode) return;
124
- instance.set("value", data.option);
125
- }
126
- }
127
-
128
- Radio.prototype.baseClass = "radio";
129
- Radio.prototype.native = false;
130
- Radio.prototype.default = false;
131
-
132
- Widget.alias("radio", Radio);
133
-
134
- class RadioCmp extends VDOM.Component {
135
- constructor(props) {
136
- super(props);
137
- this.state = {
138
- value: props.data.checked,
139
- };
140
- }
141
-
142
- UNSAFE_componentWillReceiveProps(props) {
143
- this.setState({
144
- value: props.data.checked,
145
- });
146
- }
147
-
148
- render() {
149
- var { instance, data } = this.props;
150
- var { widget } = instance;
151
- var { baseClass, CSS } = widget;
152
-
153
- return (
154
- <span
155
- key="check"
156
- tabIndex={data.disabled ? null : data.tabIndex || 0}
157
- className={CSS.element(baseClass, "input", {
158
- checked: this.state.value,
159
- })}
160
- style={CSS.parseStyle(data.inputStyle)}
161
- id={data.id}
162
- onClick={this.onClick.bind(this)}
163
- onKeyDown={this.onKeyDown.bind(this)}
164
- />
165
- );
166
- }
167
-
168
- onClick(e) {
169
- var { instance, data } = this.props;
170
- var { widget } = instance;
171
- if (!data.disabled && !data.readOnly) {
172
- e.stopPropagation();
173
- e.preventDefault();
174
- widget.handleChange(e, instance);
175
- }
176
- }
177
-
178
- onKeyDown(e) {
179
- let { instance } = this.props;
180
- if (instance.widget.handleKeyDown(e, instance) === false) return;
181
-
182
- switch (e.keyCode) {
183
- case KeyCode.space:
184
- this.onClick(e);
185
- break;
186
- }
187
- }
188
- }
1
+ import { Widget, VDOM, getContent } from "../../ui/Widget";
2
+ import { Field, getFieldTooltip } from "./Field";
3
+ import { tooltipMouseMove, tooltipMouseLeave } from "../overlay/tooltip-ops";
4
+ import { stopPropagation } from "../../util/eventCallbacks";
5
+ import { KeyCode } from "../../util/KeyCode";
6
+ import { isUndefined } from "../../util/isUndefined";
7
+
8
+ export class Radio extends Field {
9
+ declareData() {
10
+ super.declareData(
11
+ {
12
+ value: undefined,
13
+ selection: undefined,
14
+ option: undefined,
15
+ disabled: undefined,
16
+ enabled: undefined,
17
+ readOnly: undefined,
18
+ required: undefined,
19
+ text: undefined,
20
+ },
21
+ ...arguments
22
+ );
23
+ }
24
+
25
+ init() {
26
+ if (this.selection) this.value = this.selection;
27
+
28
+ super.init();
29
+ }
30
+
31
+ formatValue(context, { data }) {
32
+ return data.text;
33
+ }
34
+
35
+ prepareData(context, instance) {
36
+ super.prepareData(...arguments);
37
+ let { data } = instance;
38
+ data.checked = data.value === data.option;
39
+ if (this.default && isUndefined(data.value)) instance.set("value", data.option);
40
+ }
41
+
42
+ renderValue(context, { data }) {
43
+ if (data.value === data.option) return super.renderValue(...arguments);
44
+ return null;
45
+ }
46
+
47
+ renderWrap(context, instance, key, content) {
48
+ var { data } = instance;
49
+ return (
50
+ <label
51
+ key={key}
52
+ className={data.classNames}
53
+ style={data.style}
54
+ onMouseDown={stopPropagation}
55
+ onTouchStart={stopPropagation}
56
+ onMouseMove={(e) => tooltipMouseMove(e, ...getFieldTooltip(instance))}
57
+ onMouseLeave={(e) => tooltipMouseLeave(e, ...getFieldTooltip(instance))}
58
+ onClick={(e) => {
59
+ this.handleClick(e, instance);
60
+ }}
61
+ htmlFor={data.id}
62
+ >
63
+ {content}
64
+ {this.labelPlacement && getContent(this.renderLabel(context, instance, "label"))}
65
+ </label>
66
+ );
67
+ }
68
+
69
+ renderNativeCheck(context, instance) {
70
+ var { CSS, baseClass } = this;
71
+ var { data } = instance;
72
+ return (
73
+ <input
74
+ key="input"
75
+ className={CSS.element(baseClass, "radio")}
76
+ id={data.id}
77
+ type="radio"
78
+ checked={data.checked}
79
+ disabled={data.disabled}
80
+ {...data.inputAttrs}
81
+ onClick={stopPropagation}
82
+ onChange={(e) => {
83
+ this.handleChange(e, instance);
84
+ }}
85
+ />
86
+ );
87
+ }
88
+
89
+ renderCheck(context, instance) {
90
+ return <RadioCmp key="check" instance={instance} data={instance.data} />;
91
+ }
92
+
93
+ renderInput(context, instance, key) {
94
+ var { data } = instance;
95
+ var text = data.text || this.renderChildren(context, instance);
96
+ var { CSS, baseClass } = this;
97
+ return this.renderWrap(context, instance, key, [
98
+ this.native ? this.renderNativeCheck(context, instance) : this.renderCheck(context, instance),
99
+ text ? (
100
+ <div key="text" className={CSS.element(baseClass, "text")}>
101
+ {text}
102
+ </div>
103
+ ) : (
104
+ <span key="baseline" className={CSS.element(baseClass, "baseline")}>
105
+ &nbsp;
106
+ </span>
107
+ ),
108
+ ]);
109
+ }
110
+
111
+ handleClick(e, instance) {
112
+ if (this.native) e.stopPropagation();
113
+ else {
114
+ var el = document.getElementById(instance.data.id);
115
+ if (el) el.focus();
116
+ e.preventDefault();
117
+ this.handleChange(e, instance);
118
+ }
119
+ }
120
+
121
+ handleChange(e, instance) {
122
+ var { data } = instance;
123
+ if (data.disabled || data.readOnly || data.viewMode) return;
124
+ instance.set("value", data.option);
125
+ }
126
+ }
127
+
128
+ Radio.prototype.baseClass = "radio";
129
+ Radio.prototype.native = false;
130
+ Radio.prototype.default = false;
131
+
132
+ Widget.alias("radio", Radio);
133
+
134
+ class RadioCmp extends VDOM.Component {
135
+ constructor(props) {
136
+ super(props);
137
+ this.state = {
138
+ value: props.data.checked,
139
+ };
140
+ }
141
+
142
+ UNSAFE_componentWillReceiveProps(props) {
143
+ this.setState({
144
+ value: props.data.checked,
145
+ });
146
+ }
147
+
148
+ render() {
149
+ var { instance, data } = this.props;
150
+ var { widget } = instance;
151
+ var { baseClass, CSS } = widget;
152
+
153
+ return (
154
+ <span
155
+ key="check"
156
+ tabIndex={data.disabled ? null : data.tabIndex || 0}
157
+ className={CSS.element(baseClass, "input", {
158
+ checked: this.state.value,
159
+ })}
160
+ style={CSS.parseStyle(data.inputStyle)}
161
+ id={data.id}
162
+ onClick={this.onClick.bind(this)}
163
+ onKeyDown={this.onKeyDown.bind(this)}
164
+ />
165
+ );
166
+ }
167
+
168
+ onClick(e) {
169
+ var { instance, data } = this.props;
170
+ var { widget } = instance;
171
+ if (!data.disabled && !data.readOnly) {
172
+ e.stopPropagation();
173
+ e.preventDefault();
174
+ widget.handleChange(e, instance);
175
+ }
176
+ }
177
+
178
+ onKeyDown(e) {
179
+ let { instance } = this.props;
180
+ if (instance.widget.handleKeyDown(e, instance) === false) return;
181
+
182
+ switch (e.keyCode) {
183
+ case KeyCode.space:
184
+ this.onClick(e);
185
+ break;
186
+ }
187
+ }
188
+ }