cx 24.9.3 → 24.10.0

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 (729) hide show
  1. package/LICENSE-THIRD-PARTY.md +91 -91
  2. package/LICENSE.md +7 -7
  3. package/README.md +46 -46
  4. package/dist/charts.css +19 -16
  5. package/dist/charts.js +102 -72
  6. package/dist/data.js +5 -4
  7. package/dist/manifest.js +866 -863
  8. package/dist/util.js +7 -0
  9. package/index.js +17 -17
  10. package/locale/de-de.js +74 -74
  11. package/locale/en-us.js +74 -74
  12. package/locale/es-es.js +74 -74
  13. package/locale/fr-fr.js +74 -74
  14. package/locale/nl-nl.js +74 -74
  15. package/locale/pt-pt.js +74 -74
  16. package/locale/sr-latn-ba.js +74 -74
  17. package/package.json +1 -1
  18. package/src/charts/Bar.js +89 -89
  19. package/src/charts/Bar.scss +26 -26
  20. package/src/charts/BarGraph.d.ts +15 -15
  21. package/src/charts/BarGraph.js +112 -112
  22. package/src/charts/BarGraph.scss +27 -27
  23. package/src/charts/BubbleGraph.js +92 -92
  24. package/src/charts/BubbleGraph.scss +29 -29
  25. package/src/charts/Chart.d.ts +12 -12
  26. package/src/charts/Chart.js +75 -75
  27. package/src/charts/ColorMap.d.ts +21 -21
  28. package/src/charts/ColorMap.js +96 -96
  29. package/src/charts/Column.scss +26 -26
  30. package/src/charts/ColumnBarBase.d.ts +64 -64
  31. package/src/charts/ColumnBarGraphBase.d.ts +73 -73
  32. package/src/charts/ColumnBarGraphBase.js +114 -114
  33. package/src/charts/ColumnGraph.d.ts +18 -18
  34. package/src/charts/ColumnGraph.scss +27 -27
  35. package/src/charts/Grid.js +5 -5
  36. package/src/charts/Gridlines.d.ts +24 -24
  37. package/src/charts/Gridlines.js +48 -48
  38. package/src/charts/Gridlines.scss +22 -22
  39. package/src/charts/Legend.d.ts +27 -27
  40. package/src/charts/Legend.js +49 -33
  41. package/src/charts/Legend.scss +17 -19
  42. package/src/charts/LegendEntry.js +120 -121
  43. package/src/charts/LegendEntry.scss +8 -12
  44. package/src/charts/LineGraph.d.ts +92 -92
  45. package/src/charts/LineGraph.scss +23 -23
  46. package/src/charts/Marker.scss +41 -41
  47. package/src/charts/MarkerLine.d.ts +57 -57
  48. package/src/charts/MarkerLine.js +128 -128
  49. package/src/charts/MarkerLine.scss +17 -17
  50. package/src/charts/MouseTracker.d.ts +16 -16
  51. package/src/charts/MouseTracker.js +80 -80
  52. package/src/charts/Pie.js +8 -8
  53. package/src/charts/PieChart.d.ts +89 -89
  54. package/src/charts/PieChart.js +527 -527
  55. package/src/charts/PieChart.scss +26 -26
  56. package/src/charts/PieLabel.d.ts +26 -26
  57. package/src/charts/PieLabelsContainer.d.ts +6 -6
  58. package/src/charts/PieLabelsContainer.js +55 -55
  59. package/src/charts/Range.d.ts +74 -74
  60. package/src/charts/Range.js +205 -205
  61. package/src/charts/Range.scss +18 -18
  62. package/src/charts/RangeMarker.d.ts +35 -35
  63. package/src/charts/RangeMarker.js +155 -155
  64. package/src/charts/RangeMarker.scss +15 -15
  65. package/src/charts/ScatterGraph.d.ts +64 -64
  66. package/src/charts/ScatterGraph.scss +21 -21
  67. package/src/charts/Swimlane.d.ts +24 -24
  68. package/src/charts/Swimlane.js +140 -140
  69. package/src/charts/Swimlane.scss +14 -14
  70. package/src/charts/Swimlanes.d.ts +41 -41
  71. package/src/charts/Swimlanes.js +114 -114
  72. package/src/charts/Swimlanes.scss +14 -14
  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.scss +32 -32
  79. package/src/charts/axis/Stack.d.ts +10 -10
  80. package/src/charts/axis/TimeAxis.d.ts +23 -23
  81. package/src/charts/axis/TimeAxis.js +510 -510
  82. package/src/charts/axis/TimeAxis.scss +32 -32
  83. package/src/charts/axis/index.d.ts +3 -3
  84. package/src/charts/axis/index.js +3 -3
  85. package/src/charts/axis/index.scss +5 -5
  86. package/src/charts/axis/variables.scss +2 -2
  87. package/src/charts/helpers/MinMaxFinder.js +36 -36
  88. package/src/charts/helpers/PointReducer.d.ts +15 -15
  89. package/src/charts/helpers/index.d.ts +4 -4
  90. package/src/charts/helpers/index.js +4 -4
  91. package/src/charts/index.d.ts +27 -27
  92. package/src/charts/index.js +34 -34
  93. package/src/charts/index.scss +22 -22
  94. package/src/charts/palette.scss +95 -95
  95. package/src/charts/shapes.d.ts +22 -22
  96. package/src/charts/shapes.js +79 -79
  97. package/src/charts/variables.scss +21 -21
  98. package/src/core.d.ts +271 -271
  99. package/src/data/AggregateFunction.d.ts +20 -20
  100. package/src/data/AggregateFunction.js +145 -145
  101. package/src/data/ArrayElementView.d.ts +13 -13
  102. package/src/data/ArrayRef.d.ts +14 -14
  103. package/src/data/ArrayRef.js +34 -34
  104. package/src/data/AugmentedViewBase.d.ts +18 -18
  105. package/src/data/Binding.d.ts +19 -19
  106. package/src/data/Binding.js +76 -76
  107. package/src/data/ExposedRecordView.d.ts +14 -14
  108. package/src/data/ExposedRecordView.js +69 -69
  109. package/src/data/ExposedValueView.d.ts +19 -19
  110. package/src/data/ExposedValueView.js +72 -72
  111. package/src/data/Expression.d.ts +17 -17
  112. package/src/data/Expression.js +221 -220
  113. package/src/data/Expression.spec.js +184 -174
  114. package/src/data/Grouper.d.ts +21 -21
  115. package/src/data/Grouper.js +144 -144
  116. package/src/data/Grouper.spec.js +57 -57
  117. package/src/data/NestedDataView.d.ts +19 -19
  118. package/src/data/NestedDataView.js +22 -22
  119. package/src/data/ReadOnlyDataView.d.ts +14 -14
  120. package/src/data/ReadOnlyDataView.js +26 -26
  121. package/src/data/Ref.d.ts +24 -24
  122. package/src/data/Ref.js +79 -79
  123. package/src/data/Ref.spec.js +79 -79
  124. package/src/data/Store.d.ts +14 -14
  125. package/src/data/Store.js +46 -46
  126. package/src/data/Store.spec.js +22 -22
  127. package/src/data/StoreProxy.d.ts +4 -4
  128. package/src/data/StoreProxy.js +16 -16
  129. package/src/data/StoreRef.js +54 -54
  130. package/src/data/StoreRef.spec.js +24 -24
  131. package/src/data/StringTemplate.d.ts +15 -15
  132. package/src/data/StringTemplate.js +92 -92
  133. package/src/data/StringTemplate.spec.js +105 -105
  134. package/src/data/StructuredDataAccessor.d.ts +7 -7
  135. package/src/data/StructuredSelector.d.ts +17 -17
  136. package/src/data/StructuredSelector.js +131 -131
  137. package/src/data/StructuredSelector.spec.js +113 -113
  138. package/src/data/SubscribableView.d.ts +11 -11
  139. package/src/data/SubscribableView.js +54 -54
  140. package/src/data/View.d.ts +131 -131
  141. package/src/data/View.js +182 -182
  142. package/src/data/View.spec.js +60 -60
  143. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  144. package/src/data/ZoomIntoPropertyView.js +33 -33
  145. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  146. package/src/data/comparer.d.ts +7 -7
  147. package/src/data/comparer.js +54 -54
  148. package/src/data/comparer.spec.js +60 -60
  149. package/src/data/computable.d.ts +125 -125
  150. package/src/data/computable.js +56 -56
  151. package/src/data/computable.spec.js +55 -55
  152. package/src/data/createAccessorModelProxy.d.ts +6 -6
  153. package/src/data/createAccessorModelProxy.js +43 -43
  154. package/src/data/createAccessorModelProxy.spec.tsx +44 -44
  155. package/src/data/createStructuredSelector.d.ts +2 -2
  156. package/src/data/createStructuredSelector.js +43 -43
  157. package/src/data/createStructuredSelector.spec.js +46 -46
  158. package/src/data/defaultCompare.js +14 -14
  159. package/src/data/diff/diffArrays.d.ts +15 -15
  160. package/src/data/diff/diffArrays.js +41 -41
  161. package/src/data/diff/diffs.spec.js +49 -49
  162. package/src/data/diff/index.d.ts +1 -1
  163. package/src/data/diff/index.js +1 -1
  164. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  165. package/src/data/enableFatArrowExpansion.js +6 -6
  166. package/src/data/getAccessor.d.ts +8 -8
  167. package/src/data/getAccessor.js +61 -61
  168. package/src/data/getAccessor.spec.js +11 -11
  169. package/src/data/getSelector.d.ts +3 -3
  170. package/src/data/getSelector.js +48 -48
  171. package/src/data/getSelector.spec.js +43 -43
  172. package/src/data/index.d.ts +30 -30
  173. package/src/data/index.js +28 -28
  174. package/src/data/isSelector.d.ts +1 -1
  175. package/src/data/isSelector.js +26 -26
  176. package/src/data/ops/append.d.ts +1 -1
  177. package/src/data/ops/append.js +7 -7
  178. package/src/data/ops/append.spec.js +28 -28
  179. package/src/data/ops/filter.d.ts +1 -1
  180. package/src/data/ops/filter.js +8 -8
  181. package/src/data/ops/filter.spec.js +29 -29
  182. package/src/data/ops/findTreeNode.d.ts +1 -1
  183. package/src/data/ops/findTreeNode.js +15 -15
  184. package/src/data/ops/findTreeNode.spec.js +24 -24
  185. package/src/data/ops/findTreePath.d.ts +6 -6
  186. package/src/data/ops/findTreePath.js +16 -16
  187. package/src/data/ops/index.d.ts +10 -10
  188. package/src/data/ops/index.js +11 -11
  189. package/src/data/ops/insertElement.d.ts +1 -1
  190. package/src/data/ops/insertElement.js +2 -2
  191. package/src/data/ops/merge.d.ts +3 -3
  192. package/src/data/ops/merge.js +9 -9
  193. package/src/data/ops/merge.spec.js +27 -27
  194. package/src/data/ops/moveElement.d.ts +1 -1
  195. package/src/data/ops/moveElement.js +13 -13
  196. package/src/data/ops/removeTreeNodes.d.ts +5 -5
  197. package/src/data/ops/removeTreeNodes.js +5 -5
  198. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  199. package/src/data/ops/updateArray.d.ts +5 -5
  200. package/src/data/ops/updateArray.js +24 -24
  201. package/src/data/ops/updateArray.spec.js +38 -38
  202. package/src/data/ops/updateTree.d.ts +7 -7
  203. package/src/data/ops/updateTree.js +25 -25
  204. package/src/data/ops/updateTree.spec.js +36 -36
  205. package/src/global.scss +13 -13
  206. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  207. package/src/hooks/createLocalStorageRef.js +22 -22
  208. package/src/hooks/index.d.ts +8 -8
  209. package/src/hooks/index.js +7 -7
  210. package/src/hooks/invokeCallback.d.ts +5 -5
  211. package/src/hooks/invokeCallback.js +6 -6
  212. package/src/hooks/invokeCallback.spec.js +53 -53
  213. package/src/hooks/resolveCallback.d.ts +3 -3
  214. package/src/hooks/resolveCallback.js +11 -11
  215. package/src/hooks/resolveCallback.spec.js +54 -54
  216. package/src/hooks/store.d.ts +7 -7
  217. package/src/hooks/store.js +32 -32
  218. package/src/hooks/store.spec.js +73 -73
  219. package/src/hooks/useEffect.d.ts +2 -2
  220. package/src/hooks/useEffect.js +14 -14
  221. package/src/hooks/useInterval.js +7 -7
  222. package/src/hooks/useState.d.ts +2 -2
  223. package/src/hooks/useState.js +15 -15
  224. package/src/hooks/useTrigger.d.ts +4 -4
  225. package/src/hooks/useTrigger.js +20 -20
  226. package/src/hooks/useTrigger.spec.js +102 -102
  227. package/src/index.js +7 -7
  228. package/src/svg/BoundedObject.d.ts +22 -22
  229. package/src/svg/BoundedObject.js +59 -59
  230. package/src/svg/ClipRect.d.ts +4 -4
  231. package/src/svg/ClipRect.js +23 -23
  232. package/src/svg/Ellipse.d.ts +23 -23
  233. package/src/svg/Ellipse.js +36 -36
  234. package/src/svg/Line.d.ts +20 -20
  235. package/src/svg/Line.js +32 -32
  236. package/src/svg/NonOverlappingRect.d.ts +5 -5
  237. package/src/svg/NonOverlappingRect.js +14 -14
  238. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  239. package/src/svg/NonOverlappingRectGroup.js +36 -36
  240. package/src/svg/Svg.d.ts +32 -32
  241. package/src/svg/Svg.js +177 -177
  242. package/src/svg/Svg.scss +26 -26
  243. package/src/svg/Text.js +78 -78
  244. package/src/svg/TextualBoundedObject.d.ts +6 -6
  245. package/src/svg/TextualBoundedObject.js +28 -28
  246. package/src/svg/index.d.ts +11 -11
  247. package/src/svg/index.js +17 -17
  248. package/src/svg/index.scss +8 -8
  249. package/src/svg/util/Rect.d.ts +40 -40
  250. package/src/svg/util/Rect.js +108 -108
  251. package/src/ui/CSS.d.ts +19 -19
  252. package/src/ui/CSS.js +79 -79
  253. package/src/ui/CSSHelper.d.ts +10 -10
  254. package/src/ui/CSSHelper.js +17 -17
  255. package/src/ui/Container.d.ts +18 -18
  256. package/src/ui/Container.js +183 -183
  257. package/src/ui/ContentResolver.d.ts +12 -12
  258. package/src/ui/ContentResolver.js +78 -78
  259. package/src/ui/Controller.js +114 -114
  260. package/src/ui/Controller.spec.js +414 -414
  261. package/src/ui/Cx.d.ts +18 -18
  262. package/src/ui/Cx.spec.js +193 -193
  263. package/src/ui/DataProxy.d.ts +12 -12
  264. package/src/ui/DataProxy.js +44 -44
  265. package/src/ui/DetachedScope.d.ts +21 -21
  266. package/src/ui/DetachedScope.js +93 -93
  267. package/src/ui/FocusManager.d.ts +29 -29
  268. package/src/ui/FocusManager.js +171 -171
  269. package/src/ui/Format.d.ts +2 -2
  270. package/src/ui/Format.js +107 -107
  271. package/src/ui/HoverSync.d.ts +13 -13
  272. package/src/ui/HoverSync.js +147 -147
  273. package/src/ui/Instance.d.ts +72 -72
  274. package/src/ui/Instance.js +610 -610
  275. package/src/ui/IsolatedScope.d.ts +16 -16
  276. package/src/ui/IsolatedScope.js +29 -29
  277. package/src/ui/IsolatedScope.spec.js +62 -62
  278. package/src/ui/Localization.d.ts +17 -17
  279. package/src/ui/Localization.js +70 -70
  280. package/src/ui/PureContainer.d.ts +16 -16
  281. package/src/ui/PureContainer.js +7 -7
  282. package/src/ui/RenderingContext.d.ts +9 -9
  283. package/src/ui/RenderingContext.js +88 -88
  284. package/src/ui/Repeater.d.ts +60 -60
  285. package/src/ui/Repeater.js +102 -102
  286. package/src/ui/Repeater.spec.js +143 -143
  287. package/src/ui/Rescope.d.ts +10 -10
  288. package/src/ui/Rescope.js +31 -31
  289. package/src/ui/Rescope.spec.js +195 -195
  290. package/src/ui/ResizeManager.d.ts +9 -9
  291. package/src/ui/ResizeManager.js +30 -30
  292. package/src/ui/Restate.d.ts +21 -21
  293. package/src/ui/Restate.js +163 -163
  294. package/src/ui/Restate.spec.js +422 -422
  295. package/src/ui/StaticText.d.ts +8 -8
  296. package/src/ui/StaticText.js +9 -9
  297. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  298. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  299. package/src/ui/Text.d.ts +10 -10
  300. package/src/ui/Text.js +25 -25
  301. package/src/ui/VDOM.d.ts +12 -12
  302. package/src/ui/VDOM.js +2 -2
  303. package/src/ui/Widget.d.ts +14 -14
  304. package/src/ui/Widget.js +200 -200
  305. package/src/ui/ZIndexManager.d.ts +7 -7
  306. package/src/ui/ZIndexManager.js +11 -11
  307. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  308. package/src/ui/adapter/ArrayAdapter.js +142 -142
  309. package/src/ui/adapter/ArrayAdapter.spec.js +55 -55
  310. package/src/ui/adapter/DataAdapter.js +15 -15
  311. package/src/ui/adapter/GroupAdapter.d.ts +23 -23
  312. package/src/ui/adapter/TreeAdapter.d.ts +24 -24
  313. package/src/ui/adapter/TreeAdapter.js +100 -100
  314. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  315. package/src/ui/adapter/index.d.ts +4 -4
  316. package/src/ui/adapter/index.js +4 -4
  317. package/src/ui/app/History.d.ts +17 -17
  318. package/src/ui/app/History.js +114 -114
  319. package/src/ui/app/Url.js +103 -103
  320. package/src/ui/app/Url.spec.js +51 -51
  321. package/src/ui/app/index.d.ts +4 -4
  322. package/src/ui/app/index.js +5 -5
  323. package/src/ui/app/startAppLoop.d.ts +3 -3
  324. package/src/ui/app/startAppLoop.js +58 -58
  325. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  326. package/src/ui/app/startHotAppLoop.js +25 -25
  327. package/src/ui/batchUpdates.d.ts +10 -10
  328. package/src/ui/batchUpdates.js +67 -67
  329. package/src/ui/bind.d.ts +4 -4
  330. package/src/ui/bind.js +7 -7
  331. package/src/ui/createFunctionalComponent.d.ts +1 -1
  332. package/src/ui/createFunctionalComponent.js +68 -68
  333. package/src/ui/createFunctionalComponent.spec.js +400 -400
  334. package/src/ui/expr.d.ts +24 -24
  335. package/src/ui/expr.js +17 -17
  336. package/src/ui/flattenProps.js +21 -21
  337. package/src/ui/index.d.ts +42 -42
  338. package/src/ui/index.js +44 -44
  339. package/src/ui/index.scss +2 -2
  340. package/src/ui/keyboardShortcuts.d.ts +4 -4
  341. package/src/ui/keyboardShortcuts.js +31 -31
  342. package/src/ui/layout/Content.d.ts +14 -14
  343. package/src/ui/layout/Content.js +16 -16
  344. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  345. package/src/ui/layout/ContentPlaceholder.js +79 -79
  346. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  347. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  348. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  349. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  350. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  351. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  352. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  353. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  354. package/src/ui/layout/LabelsTopLayout.js +134 -134
  355. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  356. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  357. package/src/ui/layout/UseParentLayout.js +6 -6
  358. package/src/ui/layout/exploreChildren.d.ts +14 -14
  359. package/src/ui/layout/exploreChildren.js +40 -40
  360. package/src/ui/layout/index.d.ts +10 -10
  361. package/src/ui/layout/index.js +10 -10
  362. package/src/ui/layout/index.scss +3 -3
  363. package/src/ui/layout/variables.scss +2 -2
  364. package/src/ui/selection/KeySelection.d.ts +17 -17
  365. package/src/ui/selection/KeySelection.js +129 -129
  366. package/src/ui/selection/PropertySelection.d.ts +17 -17
  367. package/src/ui/selection/Selection.d.ts +27 -27
  368. package/src/ui/selection/Selection.js +93 -93
  369. package/src/ui/selection/index.d.ts +3 -3
  370. package/src/ui/selection/index.js +3 -3
  371. package/src/ui/tpl.d.ts +2 -2
  372. package/src/ui/tpl.js +4 -4
  373. package/src/ui/variables.scss +1 -1
  374. package/src/util/Component.d.ts +41 -41
  375. package/src/util/Component.js +107 -107
  376. package/src/util/Console.js +11 -11
  377. package/src/util/DOM.d.ts +33 -33
  378. package/src/util/DOM.js +72 -72
  379. package/src/util/Debug.d.ts +10 -10
  380. package/src/util/Debug.js +45 -45
  381. package/src/util/Format.d.ts +18 -18
  382. package/src/util/Format.spec.js +69 -69
  383. package/src/util/GlobalCacheIdentifier.js +11 -11
  384. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  385. package/src/util/KeyCode.d.ts +21 -21
  386. package/src/util/KeyCode.js +21 -21
  387. package/src/util/SubscriberList.d.ts +41 -41
  388. package/src/util/SubscriberList.js +57 -57
  389. package/src/util/Timing.d.ts +13 -13
  390. package/src/util/Timing.js +57 -57
  391. package/src/util/TraversalStack.js +42 -42
  392. package/src/util/TraversalStack.spec.js +46 -46
  393. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  394. package/src/util/addEventListenerWithOptions.js +9 -9
  395. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  396. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  397. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  398. package/src/util/calculateNaturalElementHeight.js +22 -22
  399. package/src/util/call-once.scss +6 -6
  400. package/src/util/coalesce.d.ts +1 -1
  401. package/src/util/coalesce.js +6 -6
  402. package/src/util/color/hslToRgb.d.ts +8 -8
  403. package/src/util/color/hslToRgb.js +27 -27
  404. package/src/util/color/index.d.ts +3 -3
  405. package/src/util/color/index.js +4 -4
  406. package/src/util/color/parseColor.d.ts +59 -59
  407. package/src/util/color/parseColor.js +119 -119
  408. package/src/util/color/rgbToHex.d.ts +8 -8
  409. package/src/util/color/rgbToHex.js +7 -7
  410. package/src/util/color/rgbToHsl.d.ts +8 -8
  411. package/src/util/color/rgbToHsl.js +27 -27
  412. package/src/util/date/dateDiff.d.ts +7 -7
  413. package/src/util/date/dateDiff.js +3 -3
  414. package/src/util/date/diff.d.ts +7 -7
  415. package/src/util/date/diff.js +7 -7
  416. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  417. package/src/util/date/index.d.ts +8 -8
  418. package/src/util/date/index.js +9 -9
  419. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  420. package/src/util/date/lowerBoundCheck.js +6 -6
  421. package/src/util/date/maxDate.d.ts +5 -5
  422. package/src/util/date/maxDate.js +9 -9
  423. package/src/util/date/minDate.d.ts +5 -5
  424. package/src/util/date/minDate.js +9 -9
  425. package/src/util/date/monthStart.d.ts +5 -5
  426. package/src/util/date/monthStart.js +3 -3
  427. package/src/util/date/sameDate.d.ts +6 -6
  428. package/src/util/date/sameDate.js +5 -5
  429. package/src/util/date/upperBoundCheck.d.ts +7 -7
  430. package/src/util/date/upperBoundCheck.js +6 -6
  431. package/src/util/date/upperBoundCheck.spec.js +30 -30
  432. package/src/util/date/zeroTime.d.ts +6 -6
  433. package/src/util/date/zeroTime.js +3 -3
  434. package/src/util/debounce.d.ts +9 -9
  435. package/src/util/debounce.js +18 -18
  436. package/src/util/dummyCallback.d.ts +1 -1
  437. package/src/util/dummyCallback.js +1 -1
  438. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  439. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  440. package/src/util/eventCallbacks.d.ts +4 -4
  441. package/src/util/eventCallbacks.js +2 -2
  442. package/src/util/expandFatArrows.js +118 -118
  443. package/src/util/findScrollableParent.js +16 -16
  444. package/src/util/getActiveElement.js +3 -3
  445. package/src/util/getParentFrameBoundingClientRect.js +21 -21
  446. package/src/util/getScrollerBoundingClientRect.js +21 -21
  447. package/src/util/getSearchQueryPredicate.js +58 -58
  448. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  449. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  450. package/src/util/getVendorPrefix.js +26 -26
  451. package/src/util/index.d.ts +51 -50
  452. package/src/util/index.js +1 -0
  453. package/src/util/index.scss +10 -10
  454. package/src/util/innerTextTrim.d.ts +6 -6
  455. package/src/util/innerTextTrim.js +5 -5
  456. package/src/util/isArray.d.ts +1 -1
  457. package/src/util/isArray.js +3 -3
  458. package/src/util/isDefined.js +3 -3
  459. package/src/util/isDigit.d.ts +6 -6
  460. package/src/util/isDigit.js +3 -3
  461. package/src/util/isFunction.d.ts +1 -1
  462. package/src/util/isFunction.js +3 -3
  463. package/src/util/isNonEmptyArray.d.ts +1 -1
  464. package/src/util/isNonEmptyArray.js +3 -3
  465. package/src/util/isNumber.d.ts +1 -1
  466. package/src/util/isNumber.js +3 -3
  467. package/src/util/isObject.d.ts +1 -1
  468. package/src/util/isObject.js +3 -3
  469. package/src/util/isPromise.d.ts +1 -1
  470. package/src/util/isPromise.js +6 -6
  471. package/src/util/isString.d.ts +1 -1
  472. package/src/util/isString.js +3 -3
  473. package/src/util/isTextInputElement.d.ts +1 -1
  474. package/src/util/isTextInputElement.js +2 -2
  475. package/src/util/isTouchDevice.d.ts +1 -1
  476. package/src/util/isTouchDevice.js +7 -7
  477. package/src/util/isTouchEvent.d.ts +3 -3
  478. package/src/util/isTouchEvent.js +64 -64
  479. package/src/util/isUndefined.d.ts +1 -1
  480. package/src/util/isUndefined.js +3 -3
  481. package/src/util/isValidIdentifierName.d.ts +1 -0
  482. package/src/util/isValidIdentifierName.js +5 -0
  483. package/src/util/isValidIdentifierName.spec.js +33 -0
  484. package/src/util/onIdleCallback.js +13 -13
  485. package/src/util/parseStyle.d.ts +3 -3
  486. package/src/util/parseStyle.js +27 -27
  487. package/src/util/quote.d.ts +2 -2
  488. package/src/util/quote.js +4 -4
  489. package/src/util/reverseSlice.js +9 -9
  490. package/src/util/routeAppend.js +15 -15
  491. package/src/util/routeAppend.spec.js +19 -19
  492. package/src/util/scrollElementIntoView.d.ts +7 -7
  493. package/src/util/scrollElementIntoView.js +34 -34
  494. package/src/util/scss/calc.scss +40 -40
  495. package/src/util/scss/call-once.scss +10 -10
  496. package/src/util/scss/clockwise.scss +47 -47
  497. package/src/util/scss/colors.scss +7 -7
  498. package/src/util/scss/deep-get.scss +9 -9
  499. package/src/util/scss/deep-merge.scss +18 -18
  500. package/src/util/scss/include.scss +47 -47
  501. package/src/util/scss/index.scss +9 -9
  502. package/src/util/shallowEquals.js +43 -43
  503. package/src/util/throttle.d.ts +8 -8
  504. package/src/util/throttle.js +14 -14
  505. package/src/util/validatedDebounce.js +19 -19
  506. package/src/variables.scss +217 -217
  507. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  508. package/src/widgets/Button.d.ts +58 -58
  509. package/src/widgets/Button.js +118 -118
  510. package/src/widgets/Button.scss +117 -117
  511. package/src/widgets/CxCredit.d.ts +12 -12
  512. package/src/widgets/CxCredit.js +31 -31
  513. package/src/widgets/DocumentTitle.d.ts +11 -11
  514. package/src/widgets/DocumentTitle.js +68 -68
  515. package/src/widgets/FlexBox.d.ts +69 -69
  516. package/src/widgets/FlexBox.js +92 -92
  517. package/src/widgets/FlexBox.scss +146 -146
  518. package/src/widgets/Heading.d.ts +16 -16
  519. package/src/widgets/Heading.js +32 -32
  520. package/src/widgets/Heading.scss +38 -38
  521. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  522. package/src/widgets/HtmlElement.d.ts +26 -26
  523. package/src/widgets/HtmlElement.spec.js +57 -57
  524. package/src/widgets/Icon.d.ts +34 -34
  525. package/src/widgets/Icon.js +50 -50
  526. package/src/widgets/Icon.scss +20 -20
  527. package/src/widgets/List.d.ts +96 -96
  528. package/src/widgets/List.js +587 -587
  529. package/src/widgets/ProgressBar.d.ts +17 -17
  530. package/src/widgets/ProgressBar.js +46 -46
  531. package/src/widgets/ProgressBar.scss +49 -49
  532. package/src/widgets/Resizer.d.ts +27 -27
  533. package/src/widgets/Resizer.js +151 -151
  534. package/src/widgets/Resizer.scss +42 -42
  535. package/src/widgets/Sandbox.d.ts +16 -16
  536. package/src/widgets/Sandbox.js +62 -62
  537. package/src/widgets/Section.d.ts +52 -52
  538. package/src/widgets/Section.js +139 -139
  539. package/src/widgets/Section.scss +54 -54
  540. package/src/widgets/animations.scss +10 -10
  541. package/src/widgets/autoFocus.d.ts +1 -1
  542. package/src/widgets/autoFocus.js +9 -9
  543. package/src/widgets/cx.d.ts +1 -1
  544. package/src/widgets/cx.js +71 -71
  545. package/src/widgets/drag-drop/DragClone.scss +33 -33
  546. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  547. package/src/widgets/drag-drop/DragHandle.js +37 -37
  548. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  549. package/src/widgets/drag-drop/DragSource.d.ts +45 -45
  550. package/src/widgets/drag-drop/DragSource.js +160 -160
  551. package/src/widgets/drag-drop/DragSource.scss +24 -24
  552. package/src/widgets/drag-drop/DropZone.d.ts +98 -98
  553. package/src/widgets/drag-drop/DropZone.js +214 -214
  554. package/src/widgets/drag-drop/DropZone.scss +74 -74
  555. package/src/widgets/drag-drop/index.d.ts +4 -4
  556. package/src/widgets/drag-drop/index.js +4 -4
  557. package/src/widgets/drag-drop/index.scss +3 -3
  558. package/src/widgets/drag-drop/ops.d.ts +56 -56
  559. package/src/widgets/drag-drop/ops.js +344 -344
  560. package/src/widgets/drag-drop/variables.scss +11 -11
  561. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  562. package/src/widgets/enableAllInternalDependencies.js +11 -11
  563. package/src/widgets/form/Calendar.d.ts +86 -86
  564. package/src/widgets/form/Calendar.variables.scss +63 -63
  565. package/src/widgets/form/Checkbox.d.ts +43 -43
  566. package/src/widgets/form/Checkbox.js +200 -200
  567. package/src/widgets/form/Checkbox.scss +127 -127
  568. package/src/widgets/form/Checkbox.variables.scss +39 -39
  569. package/src/widgets/form/ColorField.scss +96 -96
  570. package/src/widgets/form/ColorPicker.d.ts +23 -23
  571. package/src/widgets/form/ColorPicker.js +480 -480
  572. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  573. package/src/widgets/form/DateField.d.ts +6 -6
  574. package/src/widgets/form/DateField.js +12 -12
  575. package/src/widgets/form/DateTimeField.scss +90 -90
  576. package/src/widgets/form/DateTimePicker.js +391 -391
  577. package/src/widgets/form/DateTimePicker.scss +44 -44
  578. package/src/widgets/form/Field.d.ts +112 -112
  579. package/src/widgets/form/Field.scss +162 -162
  580. package/src/widgets/form/FieldGroup.d.ts +6 -6
  581. package/src/widgets/form/FieldGroup.js +5 -5
  582. package/src/widgets/form/FieldIcon.js +42 -42
  583. package/src/widgets/form/HelpText.d.ts +10 -10
  584. package/src/widgets/form/HelpText.js +9 -9
  585. package/src/widgets/form/HelpText.scss +23 -23
  586. package/src/widgets/form/Label.d.ts +23 -23
  587. package/src/widgets/form/Label.js +89 -89
  588. package/src/widgets/form/Label.scss +36 -36
  589. package/src/widgets/form/LabeledContainer.d.ts +9 -9
  590. package/src/widgets/form/LabeledContainer.js +59 -59
  591. package/src/widgets/form/LookupField.scss +219 -219
  592. package/src/widgets/form/MonthField.scss +99 -99
  593. package/src/widgets/form/MonthPicker.d.ts +74 -74
  594. package/src/widgets/form/MonthPicker.js +632 -632
  595. package/src/widgets/form/NumberField.d.ts +96 -96
  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/TimeField.d.ts +6 -6
  610. package/src/widgets/form/TimeField.js +11 -11
  611. package/src/widgets/form/TimeList.js +84 -84
  612. package/src/widgets/form/UploadButton.d.ts +34 -34
  613. package/src/widgets/form/UploadButton.js +213 -213
  614. package/src/widgets/form/UploadButton.scss +47 -47
  615. package/src/widgets/form/ValidationError.d.ts +10 -10
  616. package/src/widgets/form/ValidationError.js +44 -44
  617. package/src/widgets/form/ValidationError.scss +21 -21
  618. package/src/widgets/form/ValidationGroup.d.ts +41 -41
  619. package/src/widgets/form/ValidationGroup.js +68 -68
  620. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  621. package/src/widgets/form/Validator.d.ts +8 -8
  622. package/src/widgets/form/Validator.js +21 -21
  623. package/src/widgets/form/Wheel.js +261 -261
  624. package/src/widgets/form/Wheel.scss +150 -150
  625. package/src/widgets/form/index.d.ts +26 -26
  626. package/src/widgets/form/index.js +28 -28
  627. package/src/widgets/form/index.scss +24 -24
  628. package/src/widgets/grid/Grid.scss +680 -680
  629. package/src/widgets/grid/GridCell.d.ts +38 -38
  630. package/src/widgets/grid/GridCell.js +71 -71
  631. package/src/widgets/grid/GridCellEditor.js +41 -41
  632. package/src/widgets/grid/GridRow.js +228 -228
  633. package/src/widgets/grid/GridRowLine.js +24 -24
  634. package/src/widgets/grid/Pagination.d.ts +14 -14
  635. package/src/widgets/grid/Pagination.js +94 -94
  636. package/src/widgets/grid/Pagination.scss +113 -113
  637. package/src/widgets/grid/TreeNode.d.ts +25 -25
  638. package/src/widgets/grid/TreeNode.js +102 -102
  639. package/src/widgets/grid/index.d.ts +3 -3
  640. package/src/widgets/grid/index.js +14 -14
  641. package/src/widgets/grid/index.scss +3 -3
  642. package/src/widgets/grid/variables.scss +88 -88
  643. package/src/widgets/icons/arrow-down.svg +3 -3
  644. package/src/widgets/icons/arrow-right.svg +2 -2
  645. package/src/widgets/icons/base.svg +104 -104
  646. package/src/widgets/icons/calendar-old.svg +169 -169
  647. package/src/widgets/icons/calendar.js +16 -16
  648. package/src/widgets/icons/calendar.svg +187 -187
  649. package/src/widgets/icons/check.js +12 -12
  650. package/src/widgets/icons/clear.js +14 -14
  651. package/src/widgets/icons/clear.svg +74 -74
  652. package/src/widgets/icons/close.js +19 -19
  653. package/src/widgets/icons/close.svg +74 -74
  654. package/src/widgets/icons/cx.js +37 -37
  655. package/src/widgets/icons/drop-down.js +14 -14
  656. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  657. package/src/widgets/icons/file.js +12 -12
  658. package/src/widgets/icons/file.svg +4 -4
  659. package/src/widgets/icons/folder-open.js +14 -14
  660. package/src/widgets/icons/folder-open.svg +5 -5
  661. package/src/widgets/icons/folder.js +12 -12
  662. package/src/widgets/icons/folder.svg +58 -58
  663. package/src/widgets/icons/forward.js +21 -21
  664. package/src/widgets/icons/forward.svg +67 -67
  665. package/src/widgets/icons/index.js +14 -14
  666. package/src/widgets/icons/loading.js +23 -23
  667. package/src/widgets/icons/loading.svg +4 -4
  668. package/src/widgets/icons/menu.js +16 -16
  669. package/src/widgets/icons/pixel-picker.js +17 -17
  670. package/src/widgets/icons/registry.js +53 -53
  671. package/src/widgets/icons/search.js +12 -12
  672. package/src/widgets/icons/search.svg +107 -107
  673. package/src/widgets/icons/sort-asc.js +13 -13
  674. package/src/widgets/icons/sort-asc.svg +3 -3
  675. package/src/widgets/icons/square.js +17 -17
  676. package/src/widgets/index.d.ts +55 -55
  677. package/src/widgets/index.js +57 -57
  678. package/src/widgets/index.scss +16 -16
  679. package/src/widgets/nav/Link.d.ts +26 -26
  680. package/src/widgets/nav/Link.js +7 -7
  681. package/src/widgets/nav/Link.scss +18 -18
  682. package/src/widgets/nav/Menu.d.ts +27 -27
  683. package/src/widgets/nav/Menu.js +406 -406
  684. package/src/widgets/nav/MenuItem.d.ts +31 -31
  685. package/src/widgets/nav/MenuItem.js +445 -445
  686. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  687. package/src/widgets/nav/MenuSpacer.js +12 -12
  688. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  689. package/src/widgets/nav/RedirectRoute.js +40 -40
  690. package/src/widgets/nav/Route.d.ts +21 -21
  691. package/src/widgets/nav/Route.js +105 -105
  692. package/src/widgets/nav/Route.spec.js +27 -27
  693. package/src/widgets/nav/Scroller.d.ts +17 -17
  694. package/src/widgets/nav/Scroller.js +214 -214
  695. package/src/widgets/nav/Scroller.scss +146 -146
  696. package/src/widgets/nav/Submenu.d.ts +6 -6
  697. package/src/widgets/nav/Submenu.js +6 -6
  698. package/src/widgets/nav/Tab.d.ts +33 -33
  699. package/src/widgets/nav/Tab.js +82 -82
  700. package/src/widgets/nav/Tab.scss +81 -81
  701. package/src/widgets/nav/cover.scss +21 -21
  702. package/src/widgets/nav/index.d.ts +10 -10
  703. package/src/widgets/nav/index.js +10 -10
  704. package/src/widgets/nav/index.scss +5 -5
  705. package/src/widgets/nav/variables.scss +25 -25
  706. package/src/widgets/overlay/ContextMenu.d.ts +10 -10
  707. package/src/widgets/overlay/ContextMenu.js +29 -29
  708. package/src/widgets/overlay/Dropdown.d.ts +32 -32
  709. package/src/widgets/overlay/Dropdown.scss +184 -184
  710. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  711. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  712. package/src/widgets/overlay/MsgBox.js +116 -116
  713. package/src/widgets/overlay/Overlay.d.ts +69 -69
  714. package/src/widgets/overlay/Overlay.js +747 -747
  715. package/src/widgets/overlay/Overlay.scss +66 -66
  716. package/src/widgets/overlay/Toast.d.ts +30 -30
  717. package/src/widgets/overlay/Toast.js +92 -92
  718. package/src/widgets/overlay/Toast.scss +162 -162
  719. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  720. package/src/widgets/overlay/Tooltip.scss +175 -175
  721. package/src/widgets/overlay/Window.js +196 -196
  722. package/src/widgets/overlay/alerts.d.ts +7 -7
  723. package/src/widgets/overlay/alerts.js +39 -39
  724. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  725. package/src/widgets/overlay/captureMouse.scss +13 -13
  726. package/src/widgets/overlay/index.d.ts +10 -10
  727. package/src/widgets/overlay/index.js +10 -10
  728. package/src/widgets/overlay/index.scss +15 -15
  729. package/src/widgets/overlay/variables.scss +83 -83
@@ -1,45 +1,45 @@
1
- @mixin cx-datetimepicker(
2
- $name: 'datetimepicker',
3
- $dtp-font-size: $cx-default-font-size,
4
- $dtp-background-color: $cx-default-datetimepicker-background-color,
5
- $dtp-border-width: $cx-default-datetimepicker-border-width,
6
- $dtp-border-radius: $cx-default-datetimepicker-border-radius,
7
- $dtp-border-color: $cx-default-datetimepicker-border-color,
8
- $dtp-padding: $cx-default-datetimepicker-padding,
9
- $tool-size: $cx-default-input-tool-size,
10
- $icon-size: $cx-default-input-icon-size,
11
- $besm: $cx-besm
12
- ) {
13
- $block: map-get($besm, block);
14
- $element: map-get($besm, element);
15
- $state: map-get($besm, state);
16
- $mod: map-get($besm, mod);
17
-
18
- .#{$block}#{$name} {
19
- background: $dtp-background-color;
20
- border-style: solid;
21
- border-width: $dtp-border-width;
22
- border-radius: $dtp-border-radius;
23
- border-color: $dtp-border-color;
24
- display: inline-block;
25
- vertical-align: middle;
26
- padding: $dtp-padding;
27
- user-select: none;
28
- font-size: $dtp-font-size;
29
-
30
- &:focus {
31
- outline: 0;
32
- }
33
- }
34
-
35
- @include cx-wheel-elements($name+'-wheel', $tool-size, $icon-size, $besm);
36
-
37
- .#{$element}#{$name}-spacer {
38
- width: 20px;
39
- display: inline-block;
40
- }
41
- }
42
-
43
- @if (cx-should-include('cx/widgets/DateTimePicker')) {
44
- @include cx-datetimepicker();
1
+ @mixin cx-datetimepicker(
2
+ $name: 'datetimepicker',
3
+ $dtp-font-size: $cx-default-font-size,
4
+ $dtp-background-color: $cx-default-datetimepicker-background-color,
5
+ $dtp-border-width: $cx-default-datetimepicker-border-width,
6
+ $dtp-border-radius: $cx-default-datetimepicker-border-radius,
7
+ $dtp-border-color: $cx-default-datetimepicker-border-color,
8
+ $dtp-padding: $cx-default-datetimepicker-padding,
9
+ $tool-size: $cx-default-input-tool-size,
10
+ $icon-size: $cx-default-input-icon-size,
11
+ $besm: $cx-besm
12
+ ) {
13
+ $block: map-get($besm, block);
14
+ $element: map-get($besm, element);
15
+ $state: map-get($besm, state);
16
+ $mod: map-get($besm, mod);
17
+
18
+ .#{$block}#{$name} {
19
+ background: $dtp-background-color;
20
+ border-style: solid;
21
+ border-width: $dtp-border-width;
22
+ border-radius: $dtp-border-radius;
23
+ border-color: $dtp-border-color;
24
+ display: inline-block;
25
+ vertical-align: middle;
26
+ padding: $dtp-padding;
27
+ user-select: none;
28
+ font-size: $dtp-font-size;
29
+
30
+ &:focus {
31
+ outline: 0;
32
+ }
33
+ }
34
+
35
+ @include cx-wheel-elements($name+'-wheel', $tool-size, $icon-size, $besm);
36
+
37
+ .#{$element}#{$name}-spacer {
38
+ width: 20px;
39
+ display: inline-block;
40
+ }
41
+ }
42
+
43
+ @if (cx-should-include('cx/widgets/DateTimePicker')) {
44
+ @include cx-datetimepicker();
45
45
  }
@@ -1,112 +1,112 @@
1
- import * as Cx from "../../core";
2
- import { Instance } from "../../ui";
3
-
4
- export interface FieldProps extends Cx.StyledContainerProps {
5
- /** Field label. For advanced use cases. */
6
- label?: Cx.StringProp | Cx.Config;
7
-
8
- /** Set to `material` to use custom label placement instruction. Used in Material theme to implement animated labels. */
9
- labelPlacement?: "material";
10
-
11
- /** Set to `material` to use custom help placement instruction. Used in Material theme to implement absolutely positioned validation messages. */
12
- helpPlacement?: "material";
13
-
14
- /* Deprecated */
15
- labelWidth?: any;
16
-
17
- /** Either `view` or `edit` (default). In `view` mode, the field is displayed as plain text. */
18
- mode?: Cx.Prop<"view" | "edit">;
19
-
20
- /** Set to `true` to switch to widget view mode. Same as `mode="view". Default is false. */
21
- viewMode?: Cx.BooleanProp;
22
-
23
- id?: Cx.Prop<string | number>;
24
-
25
- /** Used for validation. If error evaluates to non-null, the field is marked in red. */
26
- error?: Cx.StringProp;
27
-
28
- /** Style object applied to the input element. Used for setting visual elements, such as borders and backgrounds. */
29
- inputStyle?: Cx.StyleProp;
30
-
31
- /** Additional CSS class applied to the input element. Used for setting visual elements, such as borders and backgrounds. */
32
- inputClass?: Cx.ClassProp;
33
-
34
- /** Additional attributes that should be rendered on the input element. E.g. inputAttrs={{ autoComplete: "off" }}. */
35
- inputAttrs?: Cx.Config;
36
-
37
- /** Text to be rendered in view mode when the field is empty. */
38
- emptyText?: Cx.StringProp;
39
-
40
- /** Set to `true` to make error indicators visible in pristine state. By default, validation errors are not shown until the user visits the field. */
41
- visited?: Cx.BooleanProp;
42
-
43
- /** Set to `true` to automatically focus the field, after it renders for the first time. */
44
- autoFocus?: Cx.BooleanProp;
45
-
46
- /** Defines how to present validation errors. Default mode is `tooltip`. Other options are `help` and `help-block`. */
47
- validationMode?: "tooltip" | "help" | "help-block";
48
-
49
- /** Defaults to `false`. Set to `true` to disable the field. */
50
- disabled?: Cx.BooleanProp;
51
-
52
- /** Defaults to `false`. Used to make the field required. */
53
- required?: Cx.BooleanProp;
54
-
55
- /** Renamed to suppressErrorsUntilVisited. Used to indicate that required fields should not be marked as invalid before the user visits them. */
56
- suppressErrorTooltipsUntilVisited?: boolean;
57
-
58
- /** Error message used to indicate that field is required. */
59
- requiredText?: string;
60
-
61
- /** Append asterisk to the label to indicate a required field. */
62
- asterisk?: Cx.BooleanProp;
63
-
64
- /** Text displayed to the user to indicate that server-side validation is in progress. */
65
- validatingText?: string;
66
-
67
- /** Text displayed to the user to indicate that server-side validation has thrown an exception. */
68
- validationExceptionText?: string;
69
-
70
- /** Configuration of the toolitp used to indicate validation errors. */
71
- errorTooltip?: Cx.Config;
72
-
73
- /** Tooltip configuration. */
74
- tooltip?: Cx.StringProp | Cx.StructuredProp;
75
-
76
- /** Indicates that `help` should be separated from the input with a whitespace. Default is `true`. */
77
- helpSpacer?: boolean;
78
-
79
- /**
80
- * If set to `true` top level element will get additional CSS class indicating that input is focused.
81
- * Used for adding special effects on focus. Default is `false`.
82
- */
83
- trackFocus?: boolean;
84
-
85
- /** Custom tab index */
86
- tabIndex?: Cx.StringProp;
87
-
88
- /**
89
- * Additional content to be displayed next to the field.
90
- * This is commonly used for presenting additional information or validation errors.
91
- */
92
- help?: string | Cx.Config;
93
-
94
- /** Custom validation function. */
95
- onValidate?: string | ((value, instance: Instance, validationParams) => any);
96
-
97
- /** Validation parameters to be passed to the validation function. */
98
- validationParams?: Cx.Config;
99
-
100
- onValidationException?: string | ((error: any, instance: Instance) => void);
101
-
102
- /** Value to be set in the store if the field is empty. Default value is null. */
103
- emptyValue?: any;
104
-
105
- /** Additional CSS style to be passed to the label object. */
106
- labelStyle?: Cx.StyleProp;
107
-
108
- /** Additional CSS class to be passed to the label object. */
109
- labelClass?: Cx.ClassProp;
110
- }
111
-
112
- export class Field extends Cx.Widget<FieldProps> {}
1
+ import * as Cx from "../../core";
2
+ import { Instance } from "../../ui";
3
+
4
+ export interface FieldProps extends Cx.StyledContainerProps {
5
+ /** Field label. For advanced use cases. */
6
+ label?: Cx.StringProp | Cx.Config;
7
+
8
+ /** Set to `material` to use custom label placement instruction. Used in Material theme to implement animated labels. */
9
+ labelPlacement?: "material";
10
+
11
+ /** Set to `material` to use custom help placement instruction. Used in Material theme to implement absolutely positioned validation messages. */
12
+ helpPlacement?: "material";
13
+
14
+ /* Deprecated */
15
+ labelWidth?: any;
16
+
17
+ /** Either `view` or `edit` (default). In `view` mode, the field is displayed as plain text. */
18
+ mode?: Cx.Prop<"view" | "edit">;
19
+
20
+ /** Set to `true` to switch to widget view mode. Same as `mode="view". Default is false. */
21
+ viewMode?: Cx.BooleanProp;
22
+
23
+ id?: Cx.Prop<string | number>;
24
+
25
+ /** Used for validation. If error evaluates to non-null, the field is marked in red. */
26
+ error?: Cx.StringProp;
27
+
28
+ /** Style object applied to the input element. Used for setting visual elements, such as borders and backgrounds. */
29
+ inputStyle?: Cx.StyleProp;
30
+
31
+ /** Additional CSS class applied to the input element. Used for setting visual elements, such as borders and backgrounds. */
32
+ inputClass?: Cx.ClassProp;
33
+
34
+ /** Additional attributes that should be rendered on the input element. E.g. inputAttrs={{ autoComplete: "off" }}. */
35
+ inputAttrs?: Cx.Config;
36
+
37
+ /** Text to be rendered in view mode when the field is empty. */
38
+ emptyText?: Cx.StringProp;
39
+
40
+ /** Set to `true` to make error indicators visible in pristine state. By default, validation errors are not shown until the user visits the field. */
41
+ visited?: Cx.BooleanProp;
42
+
43
+ /** Set to `true` to automatically focus the field, after it renders for the first time. */
44
+ autoFocus?: Cx.BooleanProp;
45
+
46
+ /** Defines how to present validation errors. Default mode is `tooltip`. Other options are `help` and `help-block`. */
47
+ validationMode?: "tooltip" | "help" | "help-block";
48
+
49
+ /** Defaults to `false`. Set to `true` to disable the field. */
50
+ disabled?: Cx.BooleanProp;
51
+
52
+ /** Defaults to `false`. Used to make the field required. */
53
+ required?: Cx.BooleanProp;
54
+
55
+ /** Renamed to suppressErrorsUntilVisited. Used to indicate that required fields should not be marked as invalid before the user visits them. */
56
+ suppressErrorTooltipsUntilVisited?: boolean;
57
+
58
+ /** Error message used to indicate that field is required. */
59
+ requiredText?: string;
60
+
61
+ /** Append asterisk to the label to indicate a required field. */
62
+ asterisk?: Cx.BooleanProp;
63
+
64
+ /** Text displayed to the user to indicate that server-side validation is in progress. */
65
+ validatingText?: string;
66
+
67
+ /** Text displayed to the user to indicate that server-side validation has thrown an exception. */
68
+ validationExceptionText?: string;
69
+
70
+ /** Configuration of the toolitp used to indicate validation errors. */
71
+ errorTooltip?: Cx.Config;
72
+
73
+ /** Tooltip configuration. */
74
+ tooltip?: Cx.StringProp | Cx.StructuredProp;
75
+
76
+ /** Indicates that `help` should be separated from the input with a whitespace. Default is `true`. */
77
+ helpSpacer?: boolean;
78
+
79
+ /**
80
+ * If set to `true` top level element will get additional CSS class indicating that input is focused.
81
+ * Used for adding special effects on focus. Default is `false`.
82
+ */
83
+ trackFocus?: boolean;
84
+
85
+ /** Custom tab index */
86
+ tabIndex?: Cx.StringProp;
87
+
88
+ /**
89
+ * Additional content to be displayed next to the field.
90
+ * This is commonly used for presenting additional information or validation errors.
91
+ */
92
+ help?: string | Cx.Config;
93
+
94
+ /** Custom validation function. */
95
+ onValidate?: string | ((value, instance: Instance, validationParams) => any);
96
+
97
+ /** Validation parameters to be passed to the validation function. */
98
+ validationParams?: Cx.Config;
99
+
100
+ onValidationException?: string | ((error: any, instance: Instance) => void);
101
+
102
+ /** Value to be set in the store if the field is empty. Default value is null. */
103
+ emptyValue?: any;
104
+
105
+ /** Additional CSS style to be passed to the label object. */
106
+ labelStyle?: Cx.StyleProp;
107
+
108
+ /** Additional CSS class to be passed to the label object. */
109
+ labelClass?: Cx.ClassProp;
110
+ }
111
+
112
+ export class Field extends Cx.Widget<FieldProps> {}
@@ -1,162 +1,162 @@
1
- @mixin cxb-field($besm, $state-style-map, $input: true, $box: false, $width: null) {
2
- position: relative;
3
- display: inline-block;
4
- box-sizing: border-box;
5
-
6
- $line-height: cx-get-state-rule($state-style-map, default, "line-height", 1.2em);
7
- $padding: cx-get-state-rule($state-style-map, default, "padding", 0);
8
- $border-width: cx-get-state-rule($state-style-map, default, "border-width", 1px);
9
-
10
- @if $input {
11
- width: $width;
12
- line-height: 0;
13
- height: cx-calc(
14
- $line-height,
15
- cx-top($padding),
16
- cx-bottom($padding),
17
- cx-top($border-width),
18
- cx-bottom($border-width)
19
- );
20
-
21
- //font: cx-get-state-rule($state-style-map, default, 'font');
22
- //font-size: cx-get-state-rule($state-style-map, default, 'font-size');
23
- //
24
- //height: calc(#{$line-height} + #{cx-top($padding) + cx-bottom($padding)} + #{cx-top($border-width) + cx-bottom($border-width)});
25
- }
26
-
27
- @if ($box) {
28
- line-height: $line-height;
29
- padding: $padding;
30
- border-width: $border-width;
31
- border-style: solid;
32
- border-color: transparent;
33
-
34
- //other optional rules which could affect height
35
- font: cx-get-state-rule($state-style-map, default, "font");
36
- font-size: cx-get-state-rule($state-style-map, default, "font-size");
37
- height: cx-get-state-rule($state-style-map, default, "height");
38
- }
39
-
40
- $state: map-get($besm, state);
41
-
42
- &.#{$state}view-mode {
43
- line-height: $line-height;
44
- padding: $padding;
45
- border-width: $border-width;
46
- border-style: solid;
47
- border-color: transparent;
48
- }
49
- }
50
-
51
- @mixin cxe-field-input($besm, $state-style-map, $overrides: null, $placeholder: null, $width: 100%, $input: true) {
52
- $state: map-get($besm, state);
53
-
54
- $styles: cx-deep-map-merge($state-style-map, $overrides);
55
-
56
- $line-height: cx-get-state-rule($styles, default, "line-height", 1.2em);
57
- $padding: cx-get-state-rule($styles, default, "padding", 0);
58
- $border-width: cx-get-state-rule($styles, default, "border-width", 1px);
59
-
60
- box-sizing: border-box;
61
-
62
- @if $input {
63
- width: $width;
64
- height: 100%; //cx-calc($line-height, cx-top($padding), cx-bottom($padding), cx-top($border-width), cx-bottom($border-width));
65
-
66
- @if ($cx-use-box-line-height-fix) {
67
- //100% line-height fix - inputs work better in all browser, especially in Firefox
68
- $styles: cx-deep-map-merge(
69
- $styles,
70
- (
71
- default: (
72
- line-height: cx-calc($line-height, cx-top($padding), cx-bottom($padding)),
73
- padding: 0 cx-right($padding) 0 cx-left($padding),
74
- ),
75
- )
76
- );
77
- }
78
- }
79
-
80
- @include cx-add-state-rules($styles, default);
81
-
82
- &:hover {
83
- @include cx-add-state-rules($styles, hover);
84
- }
85
-
86
- &:focus {
87
- @include cx-add-state-rules($styles, focus);
88
- }
89
-
90
- @if $input {
91
- &:disabled {
92
- @include cx-add-state-rules($styles, disabled);
93
- }
94
-
95
- &:read-only {
96
- @include cx-add-state-rules($styles, read-only);
97
- }
98
- } @else {
99
- .#{$state}disabled > & {
100
- @include cx-add-state-rules($styles, disabled);
101
- }
102
- }
103
-
104
- .#{$state}error > & {
105
- @include cx-add-state-rules($styles, error);
106
-
107
- &:focus {
108
- @include cx-add-state-rules($styles, error-focus);
109
- }
110
- }
111
-
112
- @if $input {
113
- &::-webkit-input-placeholder {
114
- @include cx-add-rules($placeholder);
115
- }
116
-
117
- &::-moz-placeholder {
118
- @include cx-add-rules($placeholder);
119
- }
120
-
121
- &:-ms-input-placeholder {
122
- @include cx-add-rules($placeholder);
123
- }
124
-
125
- &::-ms-clear {
126
- width: 0;
127
- height: 0;
128
- }
129
- }
130
- }
131
-
132
- @mixin cxe-field-button($besm, $state-style-map) {
133
- display: block;
134
- position: absolute;
135
-
136
- @include cx-add-state-rules($state-style-map, default);
137
-
138
- &:hover {
139
- @include cx-add-state-rules($state-style-map, hover);
140
- }
141
-
142
- &:active {
143
- @include cx-add-state-rules($state-style-map, active);
144
- }
145
- }
146
-
147
- @mixin cxe-field-button-icon($besm, $size) {
148
- display: block;
149
- position: absolute;
150
- left: 50%;
151
- top: 50%;
152
- margin-top: -$size * 0.5;
153
- margin-left: -$size * 0.5;
154
- height: $size;
155
- width: $size;
156
- line-height: $size;
157
- text-align: center;
158
- }
159
-
160
- @mixin cxe-field-empty-text($empty-text) {
161
- @include cx-add-rules($empty-text);
162
- }
1
+ @mixin cxb-field($besm, $state-style-map, $input: true, $box: false, $width: null) {
2
+ position: relative;
3
+ display: inline-block;
4
+ box-sizing: border-box;
5
+
6
+ $line-height: cx-get-state-rule($state-style-map, default, "line-height", 1.2em);
7
+ $padding: cx-get-state-rule($state-style-map, default, "padding", 0);
8
+ $border-width: cx-get-state-rule($state-style-map, default, "border-width", 1px);
9
+
10
+ @if $input {
11
+ width: $width;
12
+ line-height: 0;
13
+ height: cx-calc(
14
+ $line-height,
15
+ cx-top($padding),
16
+ cx-bottom($padding),
17
+ cx-top($border-width),
18
+ cx-bottom($border-width)
19
+ );
20
+
21
+ //font: cx-get-state-rule($state-style-map, default, 'font');
22
+ //font-size: cx-get-state-rule($state-style-map, default, 'font-size');
23
+ //
24
+ //height: calc(#{$line-height} + #{cx-top($padding) + cx-bottom($padding)} + #{cx-top($border-width) + cx-bottom($border-width)});
25
+ }
26
+
27
+ @if ($box) {
28
+ line-height: $line-height;
29
+ padding: $padding;
30
+ border-width: $border-width;
31
+ border-style: solid;
32
+ border-color: transparent;
33
+
34
+ //other optional rules which could affect height
35
+ font: cx-get-state-rule($state-style-map, default, "font");
36
+ font-size: cx-get-state-rule($state-style-map, default, "font-size");
37
+ height: cx-get-state-rule($state-style-map, default, "height");
38
+ }
39
+
40
+ $state: map-get($besm, state);
41
+
42
+ &.#{$state}view-mode {
43
+ line-height: $line-height;
44
+ padding: $padding;
45
+ border-width: $border-width;
46
+ border-style: solid;
47
+ border-color: transparent;
48
+ }
49
+ }
50
+
51
+ @mixin cxe-field-input($besm, $state-style-map, $overrides: null, $placeholder: null, $width: 100%, $input: true) {
52
+ $state: map-get($besm, state);
53
+
54
+ $styles: cx-deep-map-merge($state-style-map, $overrides);
55
+
56
+ $line-height: cx-get-state-rule($styles, default, "line-height", 1.2em);
57
+ $padding: cx-get-state-rule($styles, default, "padding", 0);
58
+ $border-width: cx-get-state-rule($styles, default, "border-width", 1px);
59
+
60
+ box-sizing: border-box;
61
+
62
+ @if $input {
63
+ width: $width;
64
+ height: 100%; //cx-calc($line-height, cx-top($padding), cx-bottom($padding), cx-top($border-width), cx-bottom($border-width));
65
+
66
+ @if ($cx-use-box-line-height-fix) {
67
+ //100% line-height fix - inputs work better in all browser, especially in Firefox
68
+ $styles: cx-deep-map-merge(
69
+ $styles,
70
+ (
71
+ default: (
72
+ line-height: cx-calc($line-height, cx-top($padding), cx-bottom($padding)),
73
+ padding: 0 cx-right($padding) 0 cx-left($padding),
74
+ ),
75
+ )
76
+ );
77
+ }
78
+ }
79
+
80
+ @include cx-add-state-rules($styles, default);
81
+
82
+ &:hover {
83
+ @include cx-add-state-rules($styles, hover);
84
+ }
85
+
86
+ &:focus {
87
+ @include cx-add-state-rules($styles, focus);
88
+ }
89
+
90
+ @if $input {
91
+ &:disabled {
92
+ @include cx-add-state-rules($styles, disabled);
93
+ }
94
+
95
+ &:read-only {
96
+ @include cx-add-state-rules($styles, read-only);
97
+ }
98
+ } @else {
99
+ .#{$state}disabled > & {
100
+ @include cx-add-state-rules($styles, disabled);
101
+ }
102
+ }
103
+
104
+ .#{$state}error > & {
105
+ @include cx-add-state-rules($styles, error);
106
+
107
+ &:focus {
108
+ @include cx-add-state-rules($styles, error-focus);
109
+ }
110
+ }
111
+
112
+ @if $input {
113
+ &::-webkit-input-placeholder {
114
+ @include cx-add-rules($placeholder);
115
+ }
116
+
117
+ &::-moz-placeholder {
118
+ @include cx-add-rules($placeholder);
119
+ }
120
+
121
+ &:-ms-input-placeholder {
122
+ @include cx-add-rules($placeholder);
123
+ }
124
+
125
+ &::-ms-clear {
126
+ width: 0;
127
+ height: 0;
128
+ }
129
+ }
130
+ }
131
+
132
+ @mixin cxe-field-button($besm, $state-style-map) {
133
+ display: block;
134
+ position: absolute;
135
+
136
+ @include cx-add-state-rules($state-style-map, default);
137
+
138
+ &:hover {
139
+ @include cx-add-state-rules($state-style-map, hover);
140
+ }
141
+
142
+ &:active {
143
+ @include cx-add-state-rules($state-style-map, active);
144
+ }
145
+ }
146
+
147
+ @mixin cxe-field-button-icon($besm, $size) {
148
+ display: block;
149
+ position: absolute;
150
+ left: 50%;
151
+ top: 50%;
152
+ margin-top: -$size * 0.5;
153
+ margin-left: -$size * 0.5;
154
+ height: $size;
155
+ width: $size;
156
+ line-height: $size;
157
+ text-align: center;
158
+ }
159
+
160
+ @mixin cxe-field-empty-text($empty-text) {
161
+ @include cx-add-rules($empty-text);
162
+ }
@@ -1,6 +1,6 @@
1
- import * as Cx from '../../core';
2
- import { ValidationGroupProps } from './ValidationGroup';
3
-
4
- export interface FieldGroupProps extends ValidationGroupProps {}
5
-
6
- export class FieldGroup extends Cx.Widget<FieldGroupProps> {}
1
+ import * as Cx from '../../core';
2
+ import { ValidationGroupProps } from './ValidationGroup';
3
+
4
+ export interface FieldGroupProps extends ValidationGroupProps {}
5
+
6
+ export class FieldGroup extends Cx.Widget<FieldGroupProps> {}
@@ -1,6 +1,6 @@
1
- import {Widget} from '../../ui/Widget';
2
- import {ValidationGroup} from './ValidationGroup';
3
-
4
- export class FieldGroup extends ValidationGroup {}
5
-
1
+ import {Widget} from '../../ui/Widget';
2
+ import {ValidationGroup} from './ValidationGroup';
3
+
4
+ export class FieldGroup extends ValidationGroup {}
5
+
6
6
  Widget.alias('field-group', FieldGroup);