cx 24.4.2 → 24.4.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 (796) hide show
  1. package/LICENSE-THIRD-PARTY.md +91 -91
  2. package/LICENSE.md +7 -7
  3. package/README.md +46 -46
  4. package/dist/charts.js +6 -6
  5. package/dist/manifest.js +814 -814
  6. package/dist/widgets.js +6 -4
  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 +32 -32
  16. package/src/charts/Bar.d.ts +27 -27
  17. package/src/charts/Bar.js +89 -89
  18. package/src/charts/Bar.scss +26 -26
  19. package/src/charts/BarGraph.d.ts +15 -15
  20. package/src/charts/BarGraph.js +112 -112
  21. package/src/charts/BarGraph.scss +27 -27
  22. package/src/charts/BubbleGraph.js +92 -92
  23. package/src/charts/BubbleGraph.scss +29 -29
  24. package/src/charts/Chart.d.ts +12 -12
  25. package/src/charts/Chart.js +77 -77
  26. package/src/charts/ColorMap.d.ts +21 -21
  27. package/src/charts/ColorMap.js +96 -96
  28. package/src/charts/Column.d.ts +27 -27
  29. package/src/charts/Column.js +88 -88
  30. package/src/charts/Column.scss +26 -26
  31. package/src/charts/ColumnBarBase.d.ts +64 -64
  32. package/src/charts/ColumnBarBase.js +172 -172
  33. package/src/charts/ColumnBarGraphBase.d.ts +73 -73
  34. package/src/charts/ColumnBarGraphBase.js +114 -114
  35. package/src/charts/ColumnGraph.d.ts +18 -18
  36. package/src/charts/ColumnGraph.js +112 -112
  37. package/src/charts/ColumnGraph.scss +27 -27
  38. package/src/charts/Grid.js +5 -5
  39. package/src/charts/Gridlines.d.ts +24 -24
  40. package/src/charts/Gridlines.js +48 -48
  41. package/src/charts/Gridlines.scss +22 -22
  42. package/src/charts/Legend.d.ts +27 -27
  43. package/src/charts/Legend.js +148 -148
  44. package/src/charts/Legend.scss +41 -41
  45. package/src/charts/LegendEntry.d.ts +37 -37
  46. package/src/charts/LegendEntry.js +117 -117
  47. package/src/charts/LegendEntry.scss +30 -30
  48. package/src/charts/LineGraph.d.ts +92 -92
  49. package/src/charts/LineGraph.js +211 -211
  50. package/src/charts/LineGraph.scss +23 -23
  51. package/src/charts/Marker.d.ts +87 -87
  52. package/src/charts/Marker.js +287 -287
  53. package/src/charts/Marker.scss +41 -41
  54. package/src/charts/MarkerLine.d.ts +57 -57
  55. package/src/charts/MarkerLine.js +128 -128
  56. package/src/charts/MarkerLine.scss +17 -17
  57. package/src/charts/MouseTracker.d.ts +16 -16
  58. package/src/charts/MouseTracker.js +80 -80
  59. package/src/charts/Pie.js +8 -8
  60. package/src/charts/PieChart.d.ts +89 -89
  61. package/src/charts/PieChart.js +6 -6
  62. package/src/charts/PieChart.scss +26 -26
  63. package/src/charts/PieLabel.d.ts +26 -26
  64. package/src/charts/PieLabel.js +71 -71
  65. package/src/charts/PieLabelsContainer.d.ts +6 -6
  66. package/src/charts/PieLabelsContainer.js +55 -55
  67. package/src/charts/Range.d.ts +74 -74
  68. package/src/charts/Range.js +205 -205
  69. package/src/charts/Range.scss +18 -18
  70. package/src/charts/RangeMarker.d.ts +35 -35
  71. package/src/charts/RangeMarker.js +155 -155
  72. package/src/charts/RangeMarker.scss +15 -15
  73. package/src/charts/ScatterGraph.d.ts +64 -64
  74. package/src/charts/ScatterGraph.js +155 -155
  75. package/src/charts/ScatterGraph.scss +21 -21
  76. package/src/charts/Swimlanes.d.ts +41 -41
  77. package/src/charts/Swimlanes.js +114 -114
  78. package/src/charts/Swimlanes.scss +14 -14
  79. package/src/charts/axis/Axis.scss +22 -22
  80. package/src/charts/axis/CategoryAxis.d.ts +21 -21
  81. package/src/charts/axis/CategoryAxis.js +224 -224
  82. package/src/charts/axis/CategoryAxis.scss +32 -32
  83. package/src/charts/axis/NumericAxis.d.ts +46 -46
  84. package/src/charts/axis/NumericAxis.js +347 -347
  85. package/src/charts/axis/NumericAxis.scss +32 -32
  86. package/src/charts/axis/Stack.d.ts +10 -10
  87. package/src/charts/axis/Stack.js +58 -58
  88. package/src/charts/axis/TimeAxis.d.ts +23 -23
  89. package/src/charts/axis/TimeAxis.js +510 -510
  90. package/src/charts/axis/TimeAxis.scss +32 -32
  91. package/src/charts/axis/index.d.ts +3 -3
  92. package/src/charts/axis/index.js +3 -3
  93. package/src/charts/axis/index.scss +5 -5
  94. package/src/charts/axis/variables.scss +2 -2
  95. package/src/charts/helpers/MinMaxFinder.d.ts +22 -22
  96. package/src/charts/helpers/MinMaxFinder.js +36 -36
  97. package/src/charts/helpers/PointReducer.d.ts +15 -15
  98. package/src/charts/helpers/PointReducer.js +39 -39
  99. package/src/charts/helpers/SnapPointFinder.d.ts +24 -24
  100. package/src/charts/helpers/SnapPointFinder.js +46 -46
  101. package/src/charts/helpers/ValueAtFinder.d.ts +16 -16
  102. package/src/charts/helpers/ValueAtFinder.js +41 -41
  103. package/src/charts/helpers/index.d.ts +4 -4
  104. package/src/charts/helpers/index.js +4 -4
  105. package/src/charts/index.d.ts +26 -26
  106. package/src/charts/index.js +33 -33
  107. package/src/charts/index.scss +21 -21
  108. package/src/charts/palette.scss +95 -95
  109. package/src/charts/shapes.d.ts +22 -22
  110. package/src/charts/shapes.js +79 -79
  111. package/src/charts/variables.scss +21 -21
  112. package/src/core.d.ts +271 -271
  113. package/src/data/AggregateFunction.d.ts +20 -20
  114. package/src/data/AggregateFunction.js +145 -145
  115. package/src/data/ArrayElementView.d.ts +13 -13
  116. package/src/data/ArrayElementView.js +46 -46
  117. package/src/data/ArrayElementView.spec.js +70 -70
  118. package/src/data/ArrayRef.d.ts +14 -14
  119. package/src/data/ArrayRef.js +34 -34
  120. package/src/data/AugmentedViewBase.d.ts +18 -18
  121. package/src/data/AugmentedViewBase.js +67 -67
  122. package/src/data/Binding.d.ts +17 -17
  123. package/src/data/Binding.js +76 -76
  124. package/src/data/Binding.spec.js +61 -61
  125. package/src/data/ExposedRecordView.d.ts +14 -14
  126. package/src/data/ExposedRecordView.js +69 -69
  127. package/src/data/ExposedValueView.d.ts +19 -19
  128. package/src/data/ExposedValueView.js +72 -72
  129. package/src/data/Expression.d.ts +17 -17
  130. package/src/data/Expression.js +220 -220
  131. package/src/data/Expression.spec.js +174 -174
  132. package/src/data/Grouper.d.ts +21 -21
  133. package/src/data/NestedDataView.d.ts +19 -19
  134. package/src/data/NestedDataView.js +22 -22
  135. package/src/data/ReadOnlyDataView.d.ts +14 -14
  136. package/src/data/ReadOnlyDataView.js +26 -26
  137. package/src/data/Ref.d.ts +24 -24
  138. package/src/data/Ref.js +79 -79
  139. package/src/data/Ref.spec.js +79 -79
  140. package/src/data/Store.d.ts +14 -14
  141. package/src/data/Store.js +46 -46
  142. package/src/data/Store.spec.js +22 -22
  143. package/src/data/StoreProxy.d.ts +4 -4
  144. package/src/data/StoreProxy.js +16 -16
  145. package/src/data/StoreRef.js +54 -54
  146. package/src/data/StoreRef.spec.js +24 -24
  147. package/src/data/StringTemplate.d.ts +15 -15
  148. package/src/data/StringTemplate.js +92 -92
  149. package/src/data/StructuredDataAccessor.d.ts +7 -7
  150. package/src/data/StructuredSelector.d.ts +17 -17
  151. package/src/data/StructuredSelector.js +131 -131
  152. package/src/data/StructuredSelector.spec.js +113 -113
  153. package/src/data/SubscribableView.d.ts +11 -11
  154. package/src/data/SubscribableView.js +54 -54
  155. package/src/data/View.d.ts +131 -131
  156. package/src/data/View.js +182 -182
  157. package/src/data/View.spec.js +60 -60
  158. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  159. package/src/data/ZoomIntoPropertyView.js +33 -33
  160. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  161. package/src/data/comparer.d.ts +7 -7
  162. package/src/data/comparer.js +54 -54
  163. package/src/data/comparer.spec.js +60 -60
  164. package/src/data/computable.d.ts +125 -125
  165. package/src/data/computable.js +56 -56
  166. package/src/data/computable.spec.js +55 -55
  167. package/src/data/createAccessorModelProxy.d.ts +6 -6
  168. package/src/data/createAccessorModelProxy.js +43 -43
  169. package/src/data/createAccessorModelProxy.spec.tsx +44 -44
  170. package/src/data/createStructuredSelector.d.ts +2 -2
  171. package/src/data/createStructuredSelector.js +43 -43
  172. package/src/data/createStructuredSelector.spec.js +46 -46
  173. package/src/data/defaultCompare.js +14 -14
  174. package/src/data/diff/diffArrays.d.ts +15 -15
  175. package/src/data/diff/diffArrays.js +41 -41
  176. package/src/data/diff/diffs.spec.js +49 -49
  177. package/src/data/diff/index.d.ts +1 -1
  178. package/src/data/diff/index.js +1 -1
  179. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  180. package/src/data/enableFatArrowExpansion.js +6 -6
  181. package/src/data/getAccessor.d.ts +8 -8
  182. package/src/data/getAccessor.js +61 -61
  183. package/src/data/getSelector.d.ts +3 -3
  184. package/src/data/getSelector.js +48 -48
  185. package/src/data/getSelector.spec.js +43 -43
  186. package/src/data/index.d.ts +30 -30
  187. package/src/data/index.js +28 -28
  188. package/src/data/isSelector.d.ts +1 -1
  189. package/src/data/isSelector.js +26 -26
  190. package/src/data/ops/append.d.ts +1 -1
  191. package/src/data/ops/append.js +7 -7
  192. package/src/data/ops/append.spec.js +28 -28
  193. package/src/data/ops/filter.d.ts +1 -1
  194. package/src/data/ops/filter.js +8 -8
  195. package/src/data/ops/filter.spec.js +29 -29
  196. package/src/data/ops/findTreeNode.d.ts +1 -1
  197. package/src/data/ops/findTreeNode.js +15 -15
  198. package/src/data/ops/findTreeNode.spec.js +24 -24
  199. package/src/data/ops/findTreePath.d.ts +6 -6
  200. package/src/data/ops/findTreePath.js +16 -16
  201. package/src/data/ops/index.d.ts +10 -10
  202. package/src/data/ops/index.js +11 -11
  203. package/src/data/ops/insertElement.d.ts +1 -1
  204. package/src/data/ops/insertElement.js +2 -2
  205. package/src/data/ops/merge.d.ts +3 -3
  206. package/src/data/ops/merge.js +9 -9
  207. package/src/data/ops/merge.spec.js +27 -27
  208. package/src/data/ops/moveElement.d.ts +1 -1
  209. package/src/data/ops/moveElement.js +13 -13
  210. package/src/data/ops/removeTreeNodes.d.ts +5 -5
  211. package/src/data/ops/removeTreeNodes.js +5 -5
  212. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  213. package/src/data/ops/updateArray.d.ts +5 -5
  214. package/src/data/ops/updateArray.js +24 -24
  215. package/src/data/ops/updateArray.spec.js +38 -38
  216. package/src/data/ops/updateTree.d.ts +7 -7
  217. package/src/data/ops/updateTree.js +25 -25
  218. package/src/data/ops/updateTree.spec.js +36 -36
  219. package/src/global.scss +13 -13
  220. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  221. package/src/hooks/createLocalStorageRef.js +22 -22
  222. package/src/hooks/index.d.ts +8 -8
  223. package/src/hooks/index.js +7 -7
  224. package/src/hooks/invokeCallback.d.ts +5 -5
  225. package/src/hooks/invokeCallback.js +6 -6
  226. package/src/hooks/invokeCallback.spec.js +53 -53
  227. package/src/hooks/resolveCallback.d.ts +3 -3
  228. package/src/hooks/resolveCallback.js +11 -11
  229. package/src/hooks/resolveCallback.spec.js +54 -54
  230. package/src/hooks/store.d.ts +7 -7
  231. package/src/hooks/store.js +32 -32
  232. package/src/hooks/store.spec.js +73 -73
  233. package/src/hooks/useEffect.d.ts +2 -2
  234. package/src/hooks/useEffect.js +14 -14
  235. package/src/hooks/useInterval.js +7 -7
  236. package/src/hooks/useState.d.ts +2 -2
  237. package/src/hooks/useState.js +15 -15
  238. package/src/hooks/useTrigger.d.ts +4 -4
  239. package/src/hooks/useTrigger.js +20 -20
  240. package/src/hooks/useTrigger.spec.js +102 -102
  241. package/src/index.js +7 -7
  242. package/src/index.scss +6 -6
  243. package/src/svg/BoundedObject.d.ts +22 -22
  244. package/src/svg/BoundedObject.js +59 -59
  245. package/src/svg/ClipRect.d.ts +4 -4
  246. package/src/svg/ClipRect.js +23 -23
  247. package/src/svg/Ellipse.d.ts +23 -23
  248. package/src/svg/Ellipse.js +36 -36
  249. package/src/svg/Line.d.ts +20 -20
  250. package/src/svg/Line.js +32 -32
  251. package/src/svg/NonOverlappingRect.d.ts +5 -5
  252. package/src/svg/NonOverlappingRect.js +14 -14
  253. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  254. package/src/svg/NonOverlappingRectGroup.js +36 -36
  255. package/src/svg/Rectangle.d.ts +23 -23
  256. package/src/svg/Rectangle.js +36 -36
  257. package/src/svg/Svg.d.ts +32 -32
  258. package/src/svg/Svg.js +177 -177
  259. package/src/svg/Svg.scss +26 -26
  260. package/src/svg/Text.d.ts +40 -40
  261. package/src/svg/Text.js +78 -78
  262. package/src/svg/TextualBoundedObject.d.ts +6 -6
  263. package/src/svg/TextualBoundedObject.js +28 -28
  264. package/src/svg/index.d.ts +11 -11
  265. package/src/svg/index.js +17 -17
  266. package/src/svg/index.scss +8 -8
  267. package/src/svg/util/Rect.d.ts +40 -40
  268. package/src/svg/util/Rect.js +108 -108
  269. package/src/ui/CSS.d.ts +19 -19
  270. package/src/ui/CSS.js +79 -79
  271. package/src/ui/CSSHelper.d.ts +10 -10
  272. package/src/ui/CSSHelper.js +17 -17
  273. package/src/ui/Container.d.ts +18 -18
  274. package/src/ui/Container.js +183 -183
  275. package/src/ui/ContentResolver.d.ts +12 -12
  276. package/src/ui/ContentResolver.js +78 -78
  277. package/src/ui/Controller.js +114 -114
  278. package/src/ui/Controller.spec.js +414 -414
  279. package/src/ui/Culture.d.ts +51 -51
  280. package/src/ui/Culture.js +129 -129
  281. package/src/ui/Cx.d.ts +18 -18
  282. package/src/ui/Cx.js +313 -313
  283. package/src/ui/Cx.spec.js +193 -193
  284. package/src/ui/DataProxy.d.ts +12 -12
  285. package/src/ui/DataProxy.js +44 -44
  286. package/src/ui/DataProxy.spec.js +335 -335
  287. package/src/ui/DetachedScope.d.ts +21 -21
  288. package/src/ui/DetachedScope.js +93 -93
  289. package/src/ui/FocusManager.d.ts +29 -29
  290. package/src/ui/Format.d.ts +2 -2
  291. package/src/ui/Format.js +107 -107
  292. package/src/ui/HoverSync.d.ts +13 -13
  293. package/src/ui/HoverSync.js +147 -147
  294. package/src/ui/Instance.js +610 -610
  295. package/src/ui/IsolatedScope.d.ts +16 -16
  296. package/src/ui/IsolatedScope.js +29 -29
  297. package/src/ui/IsolatedScope.spec.js +62 -62
  298. package/src/ui/Localization.d.ts +17 -17
  299. package/src/ui/Localization.js +70 -70
  300. package/src/ui/PureContainer.d.ts +16 -16
  301. package/src/ui/PureContainer.js +7 -7
  302. package/src/ui/RenderingContext.d.ts +9 -9
  303. package/src/ui/RenderingContext.js +88 -88
  304. package/src/ui/Repeater.d.ts +60 -60
  305. package/src/ui/Repeater.js +102 -102
  306. package/src/ui/Repeater.spec.js +143 -143
  307. package/src/ui/Rescope.d.ts +10 -10
  308. package/src/ui/Rescope.js +31 -31
  309. package/src/ui/Rescope.spec.js +195 -195
  310. package/src/ui/ResizeManager.d.ts +9 -9
  311. package/src/ui/ResizeManager.js +30 -30
  312. package/src/ui/Restate.d.ts +21 -21
  313. package/src/ui/Restate.js +163 -163
  314. package/src/ui/Restate.spec.js +422 -422
  315. package/src/ui/StaticText.d.ts +8 -8
  316. package/src/ui/StaticText.js +9 -9
  317. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  318. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  319. package/src/ui/Text.d.ts +10 -10
  320. package/src/ui/Text.js +25 -25
  321. package/src/ui/VDOM.d.ts +3 -3
  322. package/src/ui/VDOM.js +2 -2
  323. package/src/ui/Widget.d.ts +14 -14
  324. package/src/ui/Widget.js +200 -200
  325. package/src/ui/ZIndexManager.d.ts +7 -7
  326. package/src/ui/ZIndexManager.js +11 -11
  327. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  328. package/src/ui/adapter/ArrayAdapter.js +142 -142
  329. package/src/ui/adapter/ArrayAdapter.spec.js +55 -55
  330. package/src/ui/adapter/DataAdapter.d.ts +28 -28
  331. package/src/ui/adapter/DataAdapter.js +15 -15
  332. package/src/ui/adapter/GroupAdapter.d.ts +23 -23
  333. package/src/ui/adapter/TreeAdapter.d.ts +24 -24
  334. package/src/ui/adapter/TreeAdapter.js +100 -100
  335. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  336. package/src/ui/adapter/index.d.ts +4 -4
  337. package/src/ui/adapter/index.js +4 -4
  338. package/src/ui/app/History.d.ts +17 -17
  339. package/src/ui/app/History.js +114 -114
  340. package/src/ui/app/Url.d.ts +21 -21
  341. package/src/ui/app/Url.js +103 -103
  342. package/src/ui/app/Url.spec.js +51 -51
  343. package/src/ui/app/index.d.ts +4 -4
  344. package/src/ui/app/index.js +5 -5
  345. package/src/ui/app/startAppLoop.d.ts +3 -3
  346. package/src/ui/app/startAppLoop.js +57 -57
  347. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  348. package/src/ui/app/startHotAppLoop.js +25 -25
  349. package/src/ui/batchUpdates.d.ts +10 -10
  350. package/src/ui/batchUpdates.js +67 -67
  351. package/src/ui/bind.d.ts +4 -4
  352. package/src/ui/bind.js +7 -7
  353. package/src/ui/createFunctionalComponent.d.ts +1 -1
  354. package/src/ui/createFunctionalComponent.js +68 -68
  355. package/src/ui/createFunctionalComponent.spec.js +400 -400
  356. package/src/ui/expr.d.ts +24 -24
  357. package/src/ui/expr.js +17 -17
  358. package/src/ui/flattenProps.js +21 -21
  359. package/src/ui/index.js +44 -44
  360. package/src/ui/index.scss +2 -2
  361. package/src/ui/keyboardShortcuts.d.ts +4 -4
  362. package/src/ui/keyboardShortcuts.js +31 -31
  363. package/src/ui/layout/Content.d.ts +14 -14
  364. package/src/ui/layout/Content.js +16 -16
  365. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  366. package/src/ui/layout/ContentPlaceholder.js +79 -79
  367. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  368. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  369. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  370. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  371. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  372. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  373. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  374. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  375. package/src/ui/layout/LabelsTopLayout.js +134 -134
  376. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  377. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  378. package/src/ui/layout/UseParentLayout.js +6 -6
  379. package/src/ui/layout/exploreChildren.d.ts +14 -14
  380. package/src/ui/layout/exploreChildren.js +40 -40
  381. package/src/ui/layout/index.d.ts +10 -10
  382. package/src/ui/layout/index.js +10 -10
  383. package/src/ui/layout/index.scss +3 -3
  384. package/src/ui/layout/variables.scss +2 -2
  385. package/src/ui/selection/KeySelection.d.ts +17 -17
  386. package/src/ui/selection/KeySelection.js +129 -129
  387. package/src/ui/selection/PropertySelection.d.ts +17 -17
  388. package/src/ui/selection/PropertySelection.js +55 -55
  389. package/src/ui/selection/Selection.d.ts +27 -27
  390. package/src/ui/selection/Selection.js +93 -93
  391. package/src/ui/selection/index.d.ts +3 -3
  392. package/src/ui/selection/index.js +3 -3
  393. package/src/ui/tpl.d.ts +2 -2
  394. package/src/ui/tpl.js +4 -4
  395. package/src/ui/variables.scss +1 -1
  396. package/src/util/Component.d.ts +41 -41
  397. package/src/util/Component.js +107 -107
  398. package/src/util/Console.d.ts +4 -4
  399. package/src/util/Console.js +11 -11
  400. package/src/util/DOM.d.ts +33 -33
  401. package/src/util/DOM.js +72 -72
  402. package/src/util/Debug.d.ts +10 -10
  403. package/src/util/Debug.js +45 -45
  404. package/src/util/Format.d.ts +18 -18
  405. package/src/util/Format.js +234 -234
  406. package/src/util/Format.spec.js +69 -69
  407. package/src/util/GlobalCacheIdentifier.js +11 -11
  408. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  409. package/src/util/KeyCode.d.ts +21 -21
  410. package/src/util/KeyCode.js +21 -21
  411. package/src/util/SubscriberList.d.ts +41 -41
  412. package/src/util/SubscriberList.js +57 -57
  413. package/src/util/Timing.d.ts +13 -13
  414. package/src/util/Timing.js +57 -57
  415. package/src/util/TraversalStack.js +42 -42
  416. package/src/util/TraversalStack.spec.js +46 -46
  417. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  418. package/src/util/addEventListenerWithOptions.js +9 -9
  419. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  420. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  421. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  422. package/src/util/calculateNaturalElementHeight.js +22 -22
  423. package/src/util/call-once.scss +6 -6
  424. package/src/util/coalesce.d.ts +1 -1
  425. package/src/util/coalesce.js +6 -6
  426. package/src/util/color/hslToRgb.d.ts +8 -8
  427. package/src/util/color/hslToRgb.js +27 -27
  428. package/src/util/color/index.d.ts +3 -3
  429. package/src/util/color/index.js +4 -4
  430. package/src/util/color/parseColor.d.ts +59 -59
  431. package/src/util/color/parseColor.js +119 -119
  432. package/src/util/color/rgbToHex.d.ts +8 -8
  433. package/src/util/color/rgbToHex.js +7 -7
  434. package/src/util/color/rgbToHsl.d.ts +8 -8
  435. package/src/util/color/rgbToHsl.js +27 -27
  436. package/src/util/date/dateDiff.d.ts +7 -7
  437. package/src/util/date/dateDiff.js +3 -3
  438. package/src/util/date/diff.d.ts +7 -7
  439. package/src/util/date/diff.js +7 -7
  440. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  441. package/src/util/date/index.d.ts +8 -8
  442. package/src/util/date/index.js +9 -9
  443. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  444. package/src/util/date/lowerBoundCheck.js +6 -6
  445. package/src/util/date/maxDate.d.ts +5 -5
  446. package/src/util/date/maxDate.js +9 -9
  447. package/src/util/date/minDate.d.ts +5 -5
  448. package/src/util/date/minDate.js +9 -9
  449. package/src/util/date/monthStart.d.ts +5 -5
  450. package/src/util/date/monthStart.js +3 -3
  451. package/src/util/date/sameDate.d.ts +6 -6
  452. package/src/util/date/sameDate.js +5 -5
  453. package/src/util/date/upperBoundCheck.d.ts +7 -7
  454. package/src/util/date/upperBoundCheck.js +6 -6
  455. package/src/util/date/upperBoundCheck.spec.js +30 -30
  456. package/src/util/date/zeroTime.d.ts +6 -6
  457. package/src/util/date/zeroTime.js +3 -3
  458. package/src/util/debounce.d.ts +9 -9
  459. package/src/util/debounce.js +18 -18
  460. package/src/util/dummyCallback.d.ts +1 -1
  461. package/src/util/dummyCallback.js +1 -1
  462. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  463. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  464. package/src/util/eventCallbacks.d.ts +4 -4
  465. package/src/util/eventCallbacks.js +2 -2
  466. package/src/util/expandFatArrows.js +118 -118
  467. package/src/util/findScrollableParent.js +16 -16
  468. package/src/util/getActiveElement.js +3 -3
  469. package/src/util/getParentFrameBoundingClientRect.js +21 -21
  470. package/src/util/getScrollerBoundingClientRect.js +21 -21
  471. package/src/util/getSearchQueryPredicate.js +58 -58
  472. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  473. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  474. package/src/util/getVendorPrefix.js +26 -26
  475. package/src/util/index.d.ts +50 -50
  476. package/src/util/index.js +52 -52
  477. package/src/util/index.scss +10 -10
  478. package/src/util/innerTextTrim.d.ts +6 -6
  479. package/src/util/innerTextTrim.js +5 -5
  480. package/src/util/isArray.d.ts +1 -1
  481. package/src/util/isArray.js +3 -3
  482. package/src/util/isDefined.js +3 -3
  483. package/src/util/isDigit.d.ts +6 -6
  484. package/src/util/isDigit.js +3 -3
  485. package/src/util/isFunction.d.ts +1 -1
  486. package/src/util/isFunction.js +3 -3
  487. package/src/util/isNonEmptyArray.d.ts +1 -1
  488. package/src/util/isNonEmptyArray.js +3 -3
  489. package/src/util/isNumber.d.ts +1 -1
  490. package/src/util/isNumber.js +3 -3
  491. package/src/util/isObject.d.ts +1 -1
  492. package/src/util/isObject.js +3 -3
  493. package/src/util/isPromise.d.ts +1 -1
  494. package/src/util/isPromise.js +6 -6
  495. package/src/util/isString.d.ts +1 -1
  496. package/src/util/isString.js +3 -3
  497. package/src/util/isTextInputElement.d.ts +1 -1
  498. package/src/util/isTextInputElement.js +2 -2
  499. package/src/util/isTouchDevice.d.ts +1 -1
  500. package/src/util/isTouchDevice.js +7 -7
  501. package/src/util/isTouchEvent.d.ts +3 -3
  502. package/src/util/isTouchEvent.js +64 -64
  503. package/src/util/isUndefined.d.ts +1 -1
  504. package/src/util/isUndefined.js +3 -3
  505. package/src/util/onIdleCallback.js +13 -13
  506. package/src/util/parseStyle.d.ts +3 -3
  507. package/src/util/parseStyle.js +27 -27
  508. package/src/util/quote.d.ts +2 -2
  509. package/src/util/quote.js +4 -4
  510. package/src/util/reverseSlice.js +9 -9
  511. package/src/util/routeAppend.js +15 -15
  512. package/src/util/routeAppend.spec.js +19 -19
  513. package/src/util/scrollElementIntoView.d.ts +7 -7
  514. package/src/util/scrollElementIntoView.js +34 -34
  515. package/src/util/scss/add-rules.scss +39 -39
  516. package/src/util/scss/calc.scss +40 -40
  517. package/src/util/scss/call-once.scss +10 -10
  518. package/src/util/scss/clockwise.scss +47 -47
  519. package/src/util/scss/colors.scss +7 -7
  520. package/src/util/scss/deep-get.scss +9 -9
  521. package/src/util/scss/deep-merge.scss +18 -18
  522. package/src/util/scss/divide.scss +3 -3
  523. package/src/util/scss/include.scss +47 -47
  524. package/src/util/scss/index.scss +9 -9
  525. package/src/util/shallowEquals.js +43 -43
  526. package/src/util/throttle.d.ts +8 -8
  527. package/src/util/throttle.js +14 -14
  528. package/src/util/validatedDebounce.js +19 -19
  529. package/src/variables.scss +217 -217
  530. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  531. package/src/widgets/Button.d.ts +58 -58
  532. package/src/widgets/Button.js +118 -118
  533. package/src/widgets/Button.scss +117 -117
  534. package/src/widgets/Button.variables.scss +107 -107
  535. package/src/widgets/CxCredit.d.ts +12 -12
  536. package/src/widgets/CxCredit.js +31 -31
  537. package/src/widgets/CxCredit.scss +41 -41
  538. package/src/widgets/DocumentTitle.d.ts +11 -11
  539. package/src/widgets/DocumentTitle.js +68 -68
  540. package/src/widgets/FlexBox.d.ts +69 -69
  541. package/src/widgets/FlexBox.js +92 -92
  542. package/src/widgets/FlexBox.scss +146 -146
  543. package/src/widgets/Heading.d.ts +16 -16
  544. package/src/widgets/Heading.js +32 -32
  545. package/src/widgets/Heading.scss +38 -38
  546. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  547. package/src/widgets/HighlightedSearchText.js +36 -36
  548. package/src/widgets/HighlightedSearchText.scss +18 -18
  549. package/src/widgets/HtmlElement.d.ts +26 -26
  550. package/src/widgets/HtmlElement.js +273 -273
  551. package/src/widgets/HtmlElement.spec.js +57 -57
  552. package/src/widgets/Icon.d.ts +34 -34
  553. package/src/widgets/Icon.js +50 -50
  554. package/src/widgets/Icon.scss +20 -20
  555. package/src/widgets/List.d.ts +94 -94
  556. package/src/widgets/List.js +587 -587
  557. package/src/widgets/List.scss +92 -92
  558. package/src/widgets/ProgressBar.d.ts +17 -17
  559. package/src/widgets/ProgressBar.js +46 -46
  560. package/src/widgets/ProgressBar.scss +49 -49
  561. package/src/widgets/Resizer.d.ts +27 -27
  562. package/src/widgets/Resizer.js +151 -151
  563. package/src/widgets/Resizer.scss +42 -42
  564. package/src/widgets/Sandbox.d.ts +16 -16
  565. package/src/widgets/Sandbox.js +62 -62
  566. package/src/widgets/Section.d.ts +52 -52
  567. package/src/widgets/Section.js +139 -139
  568. package/src/widgets/Section.scss +54 -54
  569. package/src/widgets/animations.scss +10 -10
  570. package/src/widgets/autoFocus.d.ts +1 -1
  571. package/src/widgets/autoFocus.js +9 -9
  572. package/src/widgets/cx.d.ts +1 -1
  573. package/src/widgets/cx.js +71 -71
  574. package/src/widgets/drag-drop/DragClone.scss +33 -33
  575. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  576. package/src/widgets/drag-drop/DragHandle.js +37 -37
  577. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  578. package/src/widgets/drag-drop/DragSource.d.ts +45 -45
  579. package/src/widgets/drag-drop/DragSource.js +160 -160
  580. package/src/widgets/drag-drop/DragSource.scss +24 -24
  581. package/src/widgets/drag-drop/DropZone.d.ts +98 -98
  582. package/src/widgets/drag-drop/DropZone.js +213 -213
  583. package/src/widgets/drag-drop/DropZone.scss +74 -74
  584. package/src/widgets/drag-drop/index.d.ts +4 -4
  585. package/src/widgets/drag-drop/index.js +4 -4
  586. package/src/widgets/drag-drop/index.scss +3 -3
  587. package/src/widgets/drag-drop/ops.d.ts +56 -56
  588. package/src/widgets/drag-drop/ops.js +344 -344
  589. package/src/widgets/drag-drop/variables.scss +11 -11
  590. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  591. package/src/widgets/enableAllInternalDependencies.js +11 -11
  592. package/src/widgets/form/Calendar.d.ts +86 -86
  593. package/src/widgets/form/Calendar.js +527 -527
  594. package/src/widgets/form/Calendar.scss +164 -164
  595. package/src/widgets/form/Calendar.variables.scss +63 -63
  596. package/src/widgets/form/Checkbox.d.ts +43 -43
  597. package/src/widgets/form/Checkbox.js +200 -200
  598. package/src/widgets/form/Checkbox.scss +125 -125
  599. package/src/widgets/form/Checkbox.variables.scss +39 -39
  600. package/src/widgets/form/ColorField.d.ts +43 -43
  601. package/src/widgets/form/ColorField.js +397 -397
  602. package/src/widgets/form/ColorField.scss +92 -92
  603. package/src/widgets/form/ColorPicker.d.ts +23 -23
  604. package/src/widgets/form/ColorPicker.js +480 -480
  605. package/src/widgets/form/ColorPicker.scss +275 -275
  606. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  607. package/src/widgets/form/DateField.d.ts +6 -6
  608. package/src/widgets/form/DateField.js +12 -12
  609. package/src/widgets/form/DateTimeField.d.ts +86 -86
  610. package/src/widgets/form/DateTimeField.js +573 -573
  611. package/src/widgets/form/DateTimeField.scss +90 -90
  612. package/src/widgets/form/DateTimePicker.js +391 -391
  613. package/src/widgets/form/DateTimePicker.scss +44 -44
  614. package/src/widgets/form/Field.d.ts +112 -112
  615. package/src/widgets/form/Field.js +441 -441
  616. package/src/widgets/form/Field.scss +162 -162
  617. package/src/widgets/form/FieldGroup.d.ts +6 -6
  618. package/src/widgets/form/FieldGroup.js +5 -5
  619. package/src/widgets/form/FieldIcon.js +42 -42
  620. package/src/widgets/form/HelpText.d.ts +10 -10
  621. package/src/widgets/form/HelpText.js +9 -9
  622. package/src/widgets/form/HelpText.scss +23 -23
  623. package/src/widgets/form/Label.d.ts +23 -23
  624. package/src/widgets/form/Label.js +89 -89
  625. package/src/widgets/form/Label.scss +36 -36
  626. package/src/widgets/form/LabeledContainer.d.ts +9 -9
  627. package/src/widgets/form/LabeledContainer.js +59 -59
  628. package/src/widgets/form/LookupField.d.ts +173 -173
  629. package/src/widgets/form/LookupField.js +1130 -1130
  630. package/src/widgets/form/LookupField.scss +219 -219
  631. package/src/widgets/form/MonthField.d.ts +92 -92
  632. package/src/widgets/form/MonthField.js +516 -516
  633. package/src/widgets/form/MonthField.scss +99 -99
  634. package/src/widgets/form/MonthPicker.d.ts +74 -74
  635. package/src/widgets/form/MonthPicker.js +632 -632
  636. package/src/widgets/form/MonthPicker.scss +120 -120
  637. package/src/widgets/form/NumberField.d.ts +96 -96
  638. package/src/widgets/form/NumberField.js +459 -459
  639. package/src/widgets/form/NumberField.scss +65 -65
  640. package/src/widgets/form/Radio.d.ts +37 -37
  641. package/src/widgets/form/Radio.js +188 -188
  642. package/src/widgets/form/Radio.scss +122 -122
  643. package/src/widgets/form/Radio.variables.scss +45 -45
  644. package/src/widgets/form/Select.d.ts +69 -69
  645. package/src/widgets/form/Select.js +269 -269
  646. package/src/widgets/form/Select.scss +98 -98
  647. package/src/widgets/form/Slider.d.ts +65 -65
  648. package/src/widgets/form/Slider.js +351 -351
  649. package/src/widgets/form/Slider.scss +119 -119
  650. package/src/widgets/form/Switch.d.ts +38 -38
  651. package/src/widgets/form/Switch.js +118 -118
  652. package/src/widgets/form/Switch.scss +140 -140
  653. package/src/widgets/form/TextArea.d.ts +17 -17
  654. package/src/widgets/form/TextArea.js +186 -186
  655. package/src/widgets/form/TextArea.scss +60 -60
  656. package/src/widgets/form/TextField.d.ts +78 -78
  657. package/src/widgets/form/TextField.js +288 -288
  658. package/src/widgets/form/TextField.scss +55 -55
  659. package/src/widgets/form/TimeField.d.ts +6 -6
  660. package/src/widgets/form/TimeField.js +11 -11
  661. package/src/widgets/form/TimeList.js +84 -84
  662. package/src/widgets/form/UploadButton.js +213 -213
  663. package/src/widgets/form/UploadButton.scss +47 -47
  664. package/src/widgets/form/ValidationError.d.ts +10 -10
  665. package/src/widgets/form/ValidationError.js +44 -44
  666. package/src/widgets/form/ValidationError.scss +21 -21
  667. package/src/widgets/form/ValidationGroup.d.ts +41 -41
  668. package/src/widgets/form/ValidationGroup.js +68 -68
  669. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  670. package/src/widgets/form/Validator.d.ts +8 -8
  671. package/src/widgets/form/Validator.js +21 -21
  672. package/src/widgets/form/Wheel.js +261 -261
  673. package/src/widgets/form/Wheel.scss +150 -150
  674. package/src/widgets/form/index.d.ts +26 -26
  675. package/src/widgets/form/index.js +28 -28
  676. package/src/widgets/form/index.scss +24 -24
  677. package/src/widgets/form/variables.scss +352 -352
  678. package/src/widgets/grid/Grid.d.ts +412 -412
  679. package/src/widgets/grid/Grid.js +3331 -3330
  680. package/src/widgets/grid/GridCell.d.ts +29 -29
  681. package/src/widgets/grid/GridCell.js +70 -70
  682. package/src/widgets/grid/GridCellEditor.js +41 -41
  683. package/src/widgets/grid/GridRow.js +228 -228
  684. package/src/widgets/grid/GridRowLine.js +24 -24
  685. package/src/widgets/grid/Pagination.d.ts +14 -14
  686. package/src/widgets/grid/Pagination.js +94 -94
  687. package/src/widgets/grid/Pagination.scss +113 -113
  688. package/src/widgets/grid/TreeNode.d.ts +25 -25
  689. package/src/widgets/grid/TreeNode.js +102 -102
  690. package/src/widgets/grid/TreeNode.scss +89 -89
  691. package/src/widgets/grid/index.d.ts +3 -3
  692. package/src/widgets/grid/index.js +14 -14
  693. package/src/widgets/grid/index.scss +3 -3
  694. package/src/widgets/icons/arrow-down.svg +3 -3
  695. package/src/widgets/icons/arrow-right.svg +2 -2
  696. package/src/widgets/icons/base.svg +104 -104
  697. package/src/widgets/icons/calendar-old.svg +169 -169
  698. package/src/widgets/icons/calendar.js +16 -16
  699. package/src/widgets/icons/calendar.svg +187 -187
  700. package/src/widgets/icons/check.js +12 -12
  701. package/src/widgets/icons/clear.js +14 -14
  702. package/src/widgets/icons/clear.svg +74 -74
  703. package/src/widgets/icons/close.js +19 -19
  704. package/src/widgets/icons/close.svg +74 -74
  705. package/src/widgets/icons/cx.js +37 -37
  706. package/src/widgets/icons/drop-down.js +14 -14
  707. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  708. package/src/widgets/icons/file.js +12 -12
  709. package/src/widgets/icons/file.svg +4 -4
  710. package/src/widgets/icons/folder-open.js +14 -14
  711. package/src/widgets/icons/folder-open.svg +5 -5
  712. package/src/widgets/icons/folder.js +12 -12
  713. package/src/widgets/icons/folder.svg +58 -58
  714. package/src/widgets/icons/forward.js +21 -21
  715. package/src/widgets/icons/forward.svg +67 -67
  716. package/src/widgets/icons/index.js +14 -14
  717. package/src/widgets/icons/loading.js +23 -23
  718. package/src/widgets/icons/loading.svg +4 -4
  719. package/src/widgets/icons/menu.js +16 -16
  720. package/src/widgets/icons/pixel-picker.js +17 -17
  721. package/src/widgets/icons/registry.js +53 -53
  722. package/src/widgets/icons/search.js +12 -12
  723. package/src/widgets/icons/search.svg +107 -107
  724. package/src/widgets/icons/sort-asc.js +13 -13
  725. package/src/widgets/icons/sort-asc.svg +3 -3
  726. package/src/widgets/icons/square.js +17 -17
  727. package/src/widgets/index.d.ts +55 -55
  728. package/src/widgets/index.js +57 -57
  729. package/src/widgets/index.scss +16 -16
  730. package/src/widgets/nav/Link.d.ts +26 -26
  731. package/src/widgets/nav/Link.js +7 -7
  732. package/src/widgets/nav/Link.scss +18 -18
  733. package/src/widgets/nav/LinkButton.d.ts +31 -31
  734. package/src/widgets/nav/LinkButton.js +127 -127
  735. package/src/widgets/nav/Menu.d.ts +27 -27
  736. package/src/widgets/nav/Menu.js +406 -406
  737. package/src/widgets/nav/Menu.scss +74 -74
  738. package/src/widgets/nav/Menu.variables.scss +17 -17
  739. package/src/widgets/nav/MenuItem.d.ts +31 -31
  740. package/src/widgets/nav/MenuItem.js +445 -445
  741. package/src/widgets/nav/MenuItem.scss +128 -128
  742. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  743. package/src/widgets/nav/MenuSpacer.js +12 -12
  744. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  745. package/src/widgets/nav/RedirectRoute.js +40 -40
  746. package/src/widgets/nav/Route.d.ts +21 -21
  747. package/src/widgets/nav/Route.js +105 -105
  748. package/src/widgets/nav/Route.spec.js +27 -27
  749. package/src/widgets/nav/Scroller.d.ts +17 -17
  750. package/src/widgets/nav/Scroller.js +214 -214
  751. package/src/widgets/nav/Scroller.scss +146 -146
  752. package/src/widgets/nav/Submenu.d.ts +6 -6
  753. package/src/widgets/nav/Submenu.js +6 -6
  754. package/src/widgets/nav/Tab.d.ts +33 -33
  755. package/src/widgets/nav/Tab.js +82 -82
  756. package/src/widgets/nav/Tab.scss +81 -81
  757. package/src/widgets/nav/Tab.variables.scss +80 -80
  758. package/src/widgets/nav/cover.scss +21 -21
  759. package/src/widgets/nav/index.d.ts +10 -10
  760. package/src/widgets/nav/index.js +10 -10
  761. package/src/widgets/nav/index.scss +5 -5
  762. package/src/widgets/nav/variables.scss +25 -25
  763. package/src/widgets/overlay/ContextMenu.d.ts +10 -10
  764. package/src/widgets/overlay/ContextMenu.js +29 -29
  765. package/src/widgets/overlay/Dropdown.d.ts +32 -32
  766. package/src/widgets/overlay/Dropdown.js +612 -612
  767. package/src/widgets/overlay/Dropdown.scss +184 -184
  768. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  769. package/src/widgets/overlay/FlyweightTooltipTracker.js +36 -36
  770. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  771. package/src/widgets/overlay/MsgBox.js +116 -116
  772. package/src/widgets/overlay/Overlay.d.ts +69 -69
  773. package/src/widgets/overlay/Overlay.js +747 -747
  774. package/src/widgets/overlay/Overlay.scss +66 -66
  775. package/src/widgets/overlay/Toast.d.ts +30 -30
  776. package/src/widgets/overlay/Toast.js +92 -92
  777. package/src/widgets/overlay/Toast.scss +162 -162
  778. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  779. package/src/widgets/overlay/Tooltip.js +288 -288
  780. package/src/widgets/overlay/Tooltip.scss +175 -175
  781. package/src/widgets/overlay/Window.d.ts +39 -39
  782. package/src/widgets/overlay/Window.js +195 -195
  783. package/src/widgets/overlay/Window.scss +112 -112
  784. package/src/widgets/overlay/Window.variables.scss +67 -67
  785. package/src/widgets/overlay/alerts.d.ts +7 -7
  786. package/src/widgets/overlay/alerts.js +39 -39
  787. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  788. package/src/widgets/overlay/captureMouse.js +124 -124
  789. package/src/widgets/overlay/captureMouse.scss +13 -13
  790. package/src/widgets/overlay/index.d.ts +10 -10
  791. package/src/widgets/overlay/index.js +10 -10
  792. package/src/widgets/overlay/index.scss +15 -15
  793. package/src/widgets/overlay/tooltip-ops.d.ts +8 -8
  794. package/src/widgets/overlay/tooltip-ops.js +24 -24
  795. package/src/widgets/overlay/variables.scss +82 -82
  796. package/src/widgets/variables.scss +144 -144
@@ -1,89 +1,89 @@
1
- import * as Cx from "../core";
2
- import { BoundedObject, BoundedObjectProps } from "../svg/BoundedObject";
3
- import { PropertySelection, KeySelection } from "../ui/selection";
4
-
5
- interface PieChartProps extends BoundedObjectProps {
6
- /** Angle in degrees. Default is `360` which represents the full circle. */
7
- angle?: Cx.NumberProp;
8
-
9
- /** Start angle in degrees. Indicates the starting point of the first stack. Default is `0`. */
10
- startAngle?: Cx.NumberProp;
11
-
12
- /** When set to `true`, stacks are rendered in clock wise direction. */
13
- clockwise?: Cx.BooleanProp;
14
-
15
- /** Gap between slices in pixels. Default is `0` which means there is no gap. */
16
- gap?: Cx.NumberProp;
17
- }
18
-
19
- export class PieChart extends Cx.Widget<PieChartProps> {}
20
-
21
- interface PieSliceProps extends Cx.StyledContainerProps {
22
- /** Used to indicate whether an item is active or not. Inactive items are shown only in the legend. */
23
- active?: Cx.BooleanProp;
24
-
25
- /**
26
- * Inner pie radius in percents of the maximum available radius.
27
- * If `percentageRadius` flag is set to false, then the value represents the radius in pixels. Default is 0.
28
- */
29
- r0?: Cx.NumberProp;
30
-
31
- /**
32
- * Outer pie radius in percents of the maximum available radius.
33
- * If `percentageRadius` flag is set to false, then the value represents the radius in pixels. Default is 50.
34
- */
35
- r?: Cx.NumberProp;
36
-
37
- /** Index of a color from the standard palette of colors. 0-15. */
38
- colorIndex?: Cx.NumberProp;
39
-
40
- /** Used to automatically assign a color based on the `name` and the contextual `ColorMap` widget. */
41
- colorMap?: Cx.StringProp;
42
-
43
- /** Name used to resolve the color. If not provided, `name` is used instead. */
44
- colorName?: Cx.StringProp;
45
-
46
- /** Value in pixels to be used to explode the pie. */
47
- offset?: Cx.NumberProp;
48
-
49
- value?: Cx.NumberProp;
50
- disabled?: Cx.BooleanProp;
51
- innerPointRadius?: Cx.NumberProp;
52
- outerPointRadius?: Cx.NumberProp;
53
-
54
- /** Name of the item as it will appear in the legend. */
55
- name?: Cx.StringProp;
56
-
57
- /** Multi-level pie charts consist of multiple stacks. Assign a unique name to each level. Default is `stack`. */
58
- stack?: Cx.StringProp;
59
-
60
- /** Name of the legend to be used. Default is `legend`. */
61
- legend?: Cx.StringProp;
62
-
63
- percentageRaidus?: boolean;
64
-
65
- /** Base CSS class to be applied to the element. Defaults to `pieslice`. */
66
- baseClass?: string;
67
-
68
- legendAction?: string;
69
-
70
- /** Tooltip configuration. For more info see Tooltips. */
71
- tooltip?: Cx.StringProp | Cx.StructuredProp;
72
-
73
- /** Selection configuration. */
74
- selection?: { type: typeof PropertySelection | typeof KeySelection; [prop: string]: any };
75
-
76
- /** A value used to identify the group of components participating in hover effect synchronization. */
77
- hoverChannel?: string;
78
-
79
- /** A value used to uniquely identify the record within the hover sync group. */
80
- hoverId?: Cx.StringProp;
81
-
82
- /** Border radius of the slice. Default is 0. */
83
- borderRadius?: Cx.NumberProp;
84
-
85
- /** Border radius of the slice. Default is 0. */
86
- br?: Cx.NumberProp;
87
- }
88
-
89
- export class PieSlice extends Cx.Widget<PieSliceProps> {}
1
+ import * as Cx from "../core";
2
+ import { BoundedObject, BoundedObjectProps } from "../svg/BoundedObject";
3
+ import { PropertySelection, KeySelection } from "../ui/selection";
4
+
5
+ interface PieChartProps extends BoundedObjectProps {
6
+ /** Angle in degrees. Default is `360` which represents the full circle. */
7
+ angle?: Cx.NumberProp;
8
+
9
+ /** Start angle in degrees. Indicates the starting point of the first stack. Default is `0`. */
10
+ startAngle?: Cx.NumberProp;
11
+
12
+ /** When set to `true`, stacks are rendered in clock wise direction. */
13
+ clockwise?: Cx.BooleanProp;
14
+
15
+ /** Gap between slices in pixels. Default is `0` which means there is no gap. */
16
+ gap?: Cx.NumberProp;
17
+ }
18
+
19
+ export class PieChart extends Cx.Widget<PieChartProps> {}
20
+
21
+ interface PieSliceProps extends Cx.StyledContainerProps {
22
+ /** Used to indicate whether an item is active or not. Inactive items are shown only in the legend. */
23
+ active?: Cx.BooleanProp;
24
+
25
+ /**
26
+ * Inner pie radius in percents of the maximum available radius.
27
+ * If `percentageRadius` flag is set to false, then the value represents the radius in pixels. Default is 0.
28
+ */
29
+ r0?: Cx.NumberProp;
30
+
31
+ /**
32
+ * Outer pie radius in percents of the maximum available radius.
33
+ * If `percentageRadius` flag is set to false, then the value represents the radius in pixels. Default is 50.
34
+ */
35
+ r?: Cx.NumberProp;
36
+
37
+ /** Index of a color from the standard palette of colors. 0-15. */
38
+ colorIndex?: Cx.NumberProp;
39
+
40
+ /** Used to automatically assign a color based on the `name` and the contextual `ColorMap` widget. */
41
+ colorMap?: Cx.StringProp;
42
+
43
+ /** Name used to resolve the color. If not provided, `name` is used instead. */
44
+ colorName?: Cx.StringProp;
45
+
46
+ /** Value in pixels to be used to explode the pie. */
47
+ offset?: Cx.NumberProp;
48
+
49
+ value?: Cx.NumberProp;
50
+ disabled?: Cx.BooleanProp;
51
+ innerPointRadius?: Cx.NumberProp;
52
+ outerPointRadius?: Cx.NumberProp;
53
+
54
+ /** Name of the item as it will appear in the legend. */
55
+ name?: Cx.StringProp;
56
+
57
+ /** Multi-level pie charts consist of multiple stacks. Assign a unique name to each level. Default is `stack`. */
58
+ stack?: Cx.StringProp;
59
+
60
+ /** Name of the legend to be used. Default is `legend`. */
61
+ legend?: Cx.StringProp;
62
+
63
+ percentageRaidus?: boolean;
64
+
65
+ /** Base CSS class to be applied to the element. Defaults to `pieslice`. */
66
+ baseClass?: string;
67
+
68
+ legendAction?: string;
69
+
70
+ /** Tooltip configuration. For more info see Tooltips. */
71
+ tooltip?: Cx.StringProp | Cx.StructuredProp;
72
+
73
+ /** Selection configuration. */
74
+ selection?: { type: typeof PropertySelection | typeof KeySelection; [prop: string]: any };
75
+
76
+ /** A value used to identify the group of components participating in hover effect synchronization. */
77
+ hoverChannel?: string;
78
+
79
+ /** A value used to uniquely identify the record within the hover sync group. */
80
+ hoverId?: Cx.StringProp;
81
+
82
+ /** Border radius of the slice. Default is 0. */
83
+ borderRadius?: Cx.NumberProp;
84
+
85
+ /** Border radius of the slice. Default is 0. */
86
+ br?: Cx.NumberProp;
87
+ }
88
+
89
+ export class PieSlice extends Cx.Widget<PieSliceProps> {}
@@ -98,13 +98,13 @@ class PieCalculator {
98
98
  }
99
99
  while (stack.gap > 0) {
100
100
  for (let index = 0; index < stack.r0s.length; index++)
101
- gapAngleTotal += Math.asin(stack.gap / stack.r0s[index] / 2);
101
+ gapAngleTotal += 2 * Math.asin(stack.gap / stack.r0s[index] / 2);
102
102
 
103
103
  for (let index = 0; index < stack.r0ps.length; index++)
104
- gapAngleTotal += Math.asin(stack.gap / ((stack.r0ps[index] * this.R) / 100) / 2);
104
+ gapAngleTotal += 2 * Math.asin(stack.gap / ((stack.r0ps[index] * this.R) / 100) / 2);
105
105
 
106
106
  if (gapAngleTotal < 0.25 * this.angleTotal) break;
107
- stack.gap = stack.gap * 0.9;
107
+ stack.gap = stack.gap * 0.95;
108
108
  gapAngleTotal = 0;
109
109
  }
110
110
  if (gapAngleTotal == 0) stack.gap = 0;
@@ -124,7 +124,7 @@ class PieCalculator {
124
124
  let angle = value * s.angleFactor;
125
125
  let startAngle = s.lastAngle;
126
126
  let clockFactor = this.clockwise ? -1 : 1;
127
- let gapAngle = r0 > 0 && s.gap > 0 ? Math.asin(s.gap / r0 / 2) : 0;
127
+ let gapAngle = r0 > 0 && s.gap > 0 ? 2 * Math.asin(s.gap / r0 / 2) : 0;
128
128
  s.lastAngle += clockFactor * (angle + gapAngle);
129
129
  let endAngle = startAngle + clockFactor * angle + gapAngle;
130
130
 
@@ -163,7 +163,7 @@ function createSvgArc(cx, cy, r0 = 0, r, startAngle, endAngle, br = 0, gap = 0)
163
163
  if (innerSmallArcAngle > (endAngle - startAngle) / 2) {
164
164
  innerSmallArcAngle = (endAngle - startAngle) / 2;
165
165
  let sin = Math.sin(innerSmallArcAngle);
166
- innerBr = (r0 * sin - gap2) / (1 - sin);
166
+ innerBr = Math.max((r0 * sin - gap2) / (1 - sin), 0);
167
167
  }
168
168
 
169
169
  let innerHipDiagonal = (r0 + innerBr) * Math.cos(innerSmallArcAngle);
@@ -214,7 +214,7 @@ function createSvgArc(cx, cy, r0 = 0, r, startAngle, endAngle, br = 0, gap = 0)
214
214
  if (outerSmallArcAngle > (endAngle - startAngle) / 2) {
215
215
  outerSmallArcAngle = (endAngle - startAngle) / 2;
216
216
  let sin = Math.sin(outerSmallArcAngle);
217
- outerBr = (r * sin - gap2) / (1 + sin);
217
+ outerBr = Math.max((r * sin - gap2) / (1 + sin), 0);
218
218
  }
219
219
 
220
220
  let outerHipDiagonal = Math.cos(outerSmallArcAngle) * (r - outerBr);
@@ -1,27 +1,27 @@
1
-
2
- @mixin cx-pieslice(
3
- $name: 'pieslice',
4
- $besm: $cx-besm
5
- ) {
6
- $block: map-get($besm, block);
7
- $element: map-get($besm, element);
8
- $state: map-get($besm, state);
9
-
10
- .#{$element}#{$name}-slice {
11
- stroke-width: 0;
12
- fill: #eee;
13
- stroke: #ccc;
14
-
15
- &.#{$state}selectable {
16
- cursor: pointer;
17
- }
18
-
19
- &.#{$state}selected {
20
- stroke-width: 2px;
21
- }
22
- }
23
- }
24
-
25
- @if (cx-should-include('cx/charts/PieSlice')) {
26
- @include cx-pieslice();
1
+
2
+ @mixin cx-pieslice(
3
+ $name: 'pieslice',
4
+ $besm: $cx-besm
5
+ ) {
6
+ $block: map-get($besm, block);
7
+ $element: map-get($besm, element);
8
+ $state: map-get($besm, state);
9
+
10
+ .#{$element}#{$name}-slice {
11
+ stroke-width: 0;
12
+ fill: #eee;
13
+ stroke: #ccc;
14
+
15
+ &.#{$state}selectable {
16
+ cursor: pointer;
17
+ }
18
+
19
+ &.#{$state}selected {
20
+ stroke-width: 2px;
21
+ }
22
+ }
23
+ }
24
+
25
+ @if (cx-should-include('cx/charts/PieSlice')) {
26
+ @include cx-pieslice();
27
27
  }
@@ -1,26 +1,26 @@
1
- import * as Cx from "../core";
2
- import { BoundedObjectProps } from "../svg/BoundedObject";
3
-
4
- interface PieLabelProps extends BoundedObjectProps {
5
- /** Distance in pixels, for which the labels will be separated from the pie chart. Default value is 100px. */
6
- distance: Cx.NumberProp;
7
-
8
- /**
9
- * Index of the color in the default color palette.
10
- */
11
- lineColorIndex?: Cx.NumberProp;
12
-
13
- /** A color used to paint the guideline. */
14
- lineStroke?: Cx.StringProp;
15
-
16
- /** CSS class applied to the line element. */
17
- lineClass?: Cx.StringProp;
18
-
19
- /** CSS style applied to the line element. */
20
- lineStyle?: Cx.StringProp;
21
-
22
- /** Base CSS class to be applied to the element. Defaults to `pielabel`. */
23
- baseClass?: string;
24
- }
25
-
26
- export class PieLabel extends Cx.Widget<PieLabelProps> {}
1
+ import * as Cx from "../core";
2
+ import { BoundedObjectProps } from "../svg/BoundedObject";
3
+
4
+ interface PieLabelProps extends BoundedObjectProps {
5
+ /** Distance in pixels, for which the labels will be separated from the pie chart. Default value is 100px. */
6
+ distance: Cx.NumberProp;
7
+
8
+ /**
9
+ * Index of the color in the default color palette.
10
+ */
11
+ lineColorIndex?: Cx.NumberProp;
12
+
13
+ /** A color used to paint the guideline. */
14
+ lineStroke?: Cx.StringProp;
15
+
16
+ /** CSS class applied to the line element. */
17
+ lineClass?: Cx.StringProp;
18
+
19
+ /** CSS style applied to the line element. */
20
+ lineStyle?: Cx.StringProp;
21
+
22
+ /** Base CSS class to be applied to the element. Defaults to `pielabel`. */
23
+ baseClass?: string;
24
+ }
25
+
26
+ export class PieLabel extends Cx.Widget<PieLabelProps> {}
@@ -1,71 +1,71 @@
1
- import { VDOM } from "../ui/Widget";
2
- import { BoundedObject } from "../svg/BoundedObject";
3
- import { Rect } from "../svg/util/Rect";
4
- import { parseStyle } from "../util/parseStyle";
5
-
6
- export class PieLabel extends BoundedObject {
7
- init() {
8
- this.lineStyle = parseStyle(this.lineStyle);
9
- super.init();
10
- }
11
-
12
- declareData(...args) {
13
- super.declareData(...args, {
14
- distance: undefined,
15
- lineStyle: { structured: true },
16
- lineStroke: undefined,
17
- lineClass: { structured: true },
18
- lineColorIndex: undefined,
19
- });
20
- }
21
-
22
- calculateBounds(context, instance) {
23
- var { data } = instance;
24
- var bounds = Rect.add(Rect.add(Rect.multiply(instance.parentRect, data.anchors), data.offset), data.margin);
25
- instance.originalBounds = bounds;
26
- instance.actualBounds = context.placePieLabel(bounds, data.distance);
27
- return new Rect({ t: 0, r: bounds.width(), b: bounds.height(), l: 0 });
28
- }
29
-
30
- prepare(context, instance) {
31
- super.prepare(context, instance);
32
- if (!context.registerPieLabel)
33
- throw new Error("PieLabel components are allowed only within PieLabelsContainer components.");
34
- let right = instance.parentRect.r > instance.parentRect.l;
35
- context.push("textDirection", right ? "right" : "left");
36
- context.registerPieLabel(instance);
37
- }
38
-
39
- prepareCleanup(context, instance) {
40
- context.pop("textDirection");
41
- }
42
-
43
- render(context, instance, key) {
44
- let { originalBounds, actualBounds, data } = instance;
45
-
46
- return (
47
- <g key={key} className={data.classNames}>
48
- <line
49
- className={this.CSS.element(
50
- this.baseClass,
51
- "line",
52
- data.lineColorIndex != null && "color-" + data.lineColorIndex
53
- )}
54
- x1={actualBounds.l < originalBounds.l ? actualBounds.r : actualBounds.l}
55
- y1={(actualBounds.t + actualBounds.b) / 2}
56
- x2={(originalBounds.l + originalBounds.r) / 2}
57
- y2={(originalBounds.t + originalBounds.b) / 2}
58
- stroke={data.lineStroke}
59
- style={data.lineStyle}
60
- />
61
- <g transform={`translate(${instance.actualBounds.l} ${instance.actualBounds.t})`}>
62
- {this.renderChildren(context, instance)}
63
- </g>
64
- </g>
65
- );
66
- }
67
- }
68
-
69
- PieLabel.prototype.distance = 100;
70
- PieLabel.prototype.baseClass = "pielabel";
71
- PieLabel.prototype.styled = true;
1
+ import { VDOM } from "../ui/Widget";
2
+ import { BoundedObject } from "../svg/BoundedObject";
3
+ import { Rect } from "../svg/util/Rect";
4
+ import { parseStyle } from "../util/parseStyle";
5
+
6
+ export class PieLabel extends BoundedObject {
7
+ init() {
8
+ this.lineStyle = parseStyle(this.lineStyle);
9
+ super.init();
10
+ }
11
+
12
+ declareData(...args) {
13
+ super.declareData(...args, {
14
+ distance: undefined,
15
+ lineStyle: { structured: true },
16
+ lineStroke: undefined,
17
+ lineClass: { structured: true },
18
+ lineColorIndex: undefined,
19
+ });
20
+ }
21
+
22
+ calculateBounds(context, instance) {
23
+ var { data } = instance;
24
+ var bounds = Rect.add(Rect.add(Rect.multiply(instance.parentRect, data.anchors), data.offset), data.margin);
25
+ instance.originalBounds = bounds;
26
+ instance.actualBounds = context.placePieLabel(bounds, data.distance);
27
+ return new Rect({ t: 0, r: bounds.width(), b: bounds.height(), l: 0 });
28
+ }
29
+
30
+ prepare(context, instance) {
31
+ super.prepare(context, instance);
32
+ if (!context.registerPieLabel)
33
+ throw new Error("PieLabel components are allowed only within PieLabelsContainer components.");
34
+ let right = instance.parentRect.r > instance.parentRect.l;
35
+ context.push("textDirection", right ? "right" : "left");
36
+ context.registerPieLabel(instance);
37
+ }
38
+
39
+ prepareCleanup(context, instance) {
40
+ context.pop("textDirection");
41
+ }
42
+
43
+ render(context, instance, key) {
44
+ let { originalBounds, actualBounds, data } = instance;
45
+
46
+ return (
47
+ <g key={key} className={data.classNames}>
48
+ <line
49
+ className={this.CSS.element(
50
+ this.baseClass,
51
+ "line",
52
+ data.lineColorIndex != null && "color-" + data.lineColorIndex
53
+ )}
54
+ x1={actualBounds.l < originalBounds.l ? actualBounds.r : actualBounds.l}
55
+ y1={(actualBounds.t + actualBounds.b) / 2}
56
+ x2={(originalBounds.l + originalBounds.r) / 2}
57
+ y2={(originalBounds.t + originalBounds.b) / 2}
58
+ stroke={data.lineStroke}
59
+ style={data.lineStyle}
60
+ />
61
+ <g transform={`translate(${instance.actualBounds.l} ${instance.actualBounds.t})`}>
62
+ {this.renderChildren(context, instance)}
63
+ </g>
64
+ </g>
65
+ );
66
+ }
67
+ }
68
+
69
+ PieLabel.prototype.distance = 100;
70
+ PieLabel.prototype.baseClass = "pielabel";
71
+ PieLabel.prototype.styled = true;
@@ -1,6 +1,6 @@
1
- import { Widget } from "cx/src/core";
2
- import { BoundedObject, BoundedObjectProps } from "../svg/BoundedObject";
3
-
4
- interface PieLabelsContainerProps extends BoundedObjectProps {}
5
-
6
- export class PieLabelsContainer extends Widget<PieLabelsContainerProps> {}
1
+ import { Widget } from "cx/src/core";
2
+ import { BoundedObject, BoundedObjectProps } from "../svg/BoundedObject";
3
+
4
+ interface PieLabelsContainerProps extends BoundedObjectProps {}
5
+
6
+ export class PieLabelsContainer extends Widget<PieLabelsContainerProps> {}
@@ -1,55 +1,55 @@
1
- import { BoundedObject } from "../svg/BoundedObject";
2
- import { Rect } from "../svg/util/Rect";
3
-
4
- export class PieLabelsContainer extends BoundedObject {
5
- prepare(context, instance) {
6
- super.prepare(context, instance);
7
- let { bounds } = instance.data;
8
- let cx2 = bounds.l + bounds.r;
9
-
10
- context.push("placePieLabel", (labelBounds, distance) => {
11
- let clone = new Rect(labelBounds);
12
- let w = clone.r - clone.l;
13
- if (clone.l + clone.r > cx2) {
14
- clone.r = Math.min(clone.r + distance, bounds.r);
15
- clone.l = clone.r - w;
16
- } else {
17
- clone.l = Math.max(bounds.l, clone.l - distance);
18
- clone.r = clone.l + w;
19
- }
20
- return clone;
21
- });
22
-
23
- instance.leftLabels = [];
24
- instance.rightLabels = [];
25
-
26
- context.push("registerPieLabel", (label) => {
27
- if (label.actualBounds.l + label.actualBounds.r < cx2) instance.leftLabels.push(label);
28
- else instance.rightLabels.push(label);
29
- });
30
- }
31
-
32
- prepareCleanup(context, instance) {
33
- context.pop("placePieLabel");
34
- context.pop("registerPieLabel");
35
- super.prepareCleanup(context, instance);
36
- this.distributeLabels(instance.leftLabels, instance);
37
- this.distributeLabels(instance.rightLabels, instance);
38
- }
39
-
40
- distributeLabels(labels, instance) {
41
- labels.sort((a, b) => a.actualBounds.t + a.actualBounds.b - (b.actualBounds.t + b.actualBounds.b));
42
- let totalHeight = labels.reduce((h, l) => h + l.actualBounds.height(), 0);
43
- let { bounds } = instance.data;
44
- let avgHeight = Math.min(totalHeight, bounds.height()) / labels.length;
45
- let at = bounds.t;
46
- for (let i = 0; i < labels.length; i++) {
47
- let ab = labels[i].actualBounds;
48
- ab.t = Math.max(at, Math.min(ab.t, bounds.b - (labels.length - i) * avgHeight));
49
- ab.b = ab.t + avgHeight;
50
- at = ab.b;
51
- }
52
- }
53
- }
54
-
55
- PieLabelsContainer.prototype.anchors = "0 1 1 0";
1
+ import { BoundedObject } from "../svg/BoundedObject";
2
+ import { Rect } from "../svg/util/Rect";
3
+
4
+ export class PieLabelsContainer extends BoundedObject {
5
+ prepare(context, instance) {
6
+ super.prepare(context, instance);
7
+ let { bounds } = instance.data;
8
+ let cx2 = bounds.l + bounds.r;
9
+
10
+ context.push("placePieLabel", (labelBounds, distance) => {
11
+ let clone = new Rect(labelBounds);
12
+ let w = clone.r - clone.l;
13
+ if (clone.l + clone.r > cx2) {
14
+ clone.r = Math.min(clone.r + distance, bounds.r);
15
+ clone.l = clone.r - w;
16
+ } else {
17
+ clone.l = Math.max(bounds.l, clone.l - distance);
18
+ clone.r = clone.l + w;
19
+ }
20
+ return clone;
21
+ });
22
+
23
+ instance.leftLabels = [];
24
+ instance.rightLabels = [];
25
+
26
+ context.push("registerPieLabel", (label) => {
27
+ if (label.actualBounds.l + label.actualBounds.r < cx2) instance.leftLabels.push(label);
28
+ else instance.rightLabels.push(label);
29
+ });
30
+ }
31
+
32
+ prepareCleanup(context, instance) {
33
+ context.pop("placePieLabel");
34
+ context.pop("registerPieLabel");
35
+ super.prepareCleanup(context, instance);
36
+ this.distributeLabels(instance.leftLabels, instance);
37
+ this.distributeLabels(instance.rightLabels, instance);
38
+ }
39
+
40
+ distributeLabels(labels, instance) {
41
+ labels.sort((a, b) => a.actualBounds.t + a.actualBounds.b - (b.actualBounds.t + b.actualBounds.b));
42
+ let totalHeight = labels.reduce((h, l) => h + l.actualBounds.height(), 0);
43
+ let { bounds } = instance.data;
44
+ let avgHeight = Math.min(totalHeight, bounds.height()) / labels.length;
45
+ let at = bounds.t;
46
+ for (let i = 0; i < labels.length; i++) {
47
+ let ab = labels[i].actualBounds;
48
+ ab.t = Math.max(at, Math.min(ab.t, bounds.b - (labels.length - i) * avgHeight));
49
+ ab.b = ab.t + avgHeight;
50
+ at = ab.b;
51
+ }
52
+ }
53
+ }
54
+
55
+ PieLabelsContainer.prototype.anchors = "0 1 1 0";