cx 22.8.1 → 22.8.2

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 (779) 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 +35 -39
  5. package/dist/data.js +2506 -2510
  6. package/dist/manifest.js +370 -370
  7. package/dist/svg.js +55 -63
  8. package/dist/ui.js +5241 -5242
  9. package/dist/widgets.js +21949 -21952
  10. package/index.js +17 -17
  11. package/locale/de-de.js +69 -69
  12. package/locale/en-us.js +71 -71
  13. package/locale/es-es.js +69 -69
  14. package/locale/fr-fr.js +70 -70
  15. package/locale/nl-nl.js +75 -75
  16. package/locale/pt-pt.js +63 -63
  17. package/locale/sr-latn-ba.js +70 -70
  18. package/package.json +30 -30
  19. package/src/charts/Bar.d.ts +27 -27
  20. package/src/charts/Bar.js +89 -89
  21. package/src/charts/Bar.scss +26 -26
  22. package/src/charts/BarGraph.d.ts +16 -16
  23. package/src/charts/BarGraph.js +110 -110
  24. package/src/charts/BarGraph.scss +27 -27
  25. package/src/charts/BubbleGraph.js +92 -92
  26. package/src/charts/BubbleGraph.scss +29 -29
  27. package/src/charts/Chart.d.ts +12 -12
  28. package/src/charts/Chart.js +77 -77
  29. package/src/charts/ColorMap.d.ts +21 -27
  30. package/src/charts/ColorMap.js +98 -98
  31. package/src/charts/Column.scss +26 -26
  32. package/src/charts/ColumnBarBase.d.ts +61 -61
  33. package/src/charts/ColumnBarBase.js +169 -169
  34. package/src/charts/ColumnBarGraphBase.d.ts +71 -71
  35. package/src/charts/ColumnBarGraphBase.js +119 -119
  36. package/src/charts/ColumnGraph.d.ts +19 -19
  37. package/src/charts/ColumnGraph.js +114 -114
  38. package/src/charts/ColumnGraph.scss +27 -27
  39. package/src/charts/Grid.js +5 -5
  40. package/src/charts/Gridlines.d.ts +24 -24
  41. package/src/charts/Gridlines.js +48 -48
  42. package/src/charts/Gridlines.scss +22 -22
  43. package/src/charts/Legend.d.ts +26 -26
  44. package/src/charts/Legend.js +142 -142
  45. package/src/charts/Legend.scss +41 -41
  46. package/src/charts/LegendEntry.d.ts +37 -37
  47. package/src/charts/LegendEntry.js +117 -117
  48. package/src/charts/LegendEntry.scss +30 -30
  49. package/src/charts/LineGraph.d.ts +90 -90
  50. package/src/charts/LineGraph.js +201 -201
  51. package/src/charts/LineGraph.scss +23 -23
  52. package/src/charts/Marker.d.ts +87 -87
  53. package/src/charts/Marker.js +287 -287
  54. package/src/charts/Marker.scss +41 -41
  55. package/src/charts/MarkerLine.d.ts +57 -57
  56. package/src/charts/MarkerLine.js +128 -128
  57. package/src/charts/MarkerLine.scss +17 -17
  58. package/src/charts/MouseTracker.d.ts +16 -16
  59. package/src/charts/MouseTracker.js +80 -80
  60. package/src/charts/Pie.js +8 -8
  61. package/src/charts/PieChart.d.ts +80 -80
  62. package/src/charts/PieChart.js +370 -370
  63. package/src/charts/PieChart.scss +26 -26
  64. package/src/charts/PieLabel.d.ts +26 -26
  65. package/src/charts/PieLabel.js +65 -65
  66. package/src/charts/PieLabelsContainer.d.ts +3 -3
  67. package/src/charts/PieLabelsContainer.js +55 -55
  68. package/src/charts/Range.d.ts +74 -74
  69. package/src/charts/Range.js +205 -205
  70. package/src/charts/Range.scss +18 -18
  71. package/src/charts/ScatterGraph.d.ts +65 -65
  72. package/src/charts/ScatterGraph.js +155 -155
  73. package/src/charts/ScatterGraph.scss +21 -21
  74. package/src/charts/axis/Axis.d.ts +82 -82
  75. package/src/charts/axis/Axis.js +222 -222
  76. package/src/charts/axis/Axis.scss +22 -22
  77. package/src/charts/axis/CategoryAxis.d.ts +21 -21
  78. package/src/charts/axis/CategoryAxis.js +224 -224
  79. package/src/charts/axis/CategoryAxis.scss +32 -32
  80. package/src/charts/axis/NumericAxis.js +349 -349
  81. package/src/charts/axis/NumericAxis.scss +32 -32
  82. package/src/charts/axis/Stack.d.ts +10 -10
  83. package/src/charts/axis/Stack.js +58 -58
  84. package/src/charts/axis/TimeAxis.d.ts +23 -23
  85. package/src/charts/axis/TimeAxis.js +510 -510
  86. package/src/charts/axis/TimeAxis.scss +32 -32
  87. package/src/charts/axis/index.d.ts +3 -3
  88. package/src/charts/axis/index.js +3 -3
  89. package/src/charts/axis/index.scss +5 -5
  90. package/src/charts/axis/variables.scss +2 -2
  91. package/src/charts/helpers/MinMaxFinder.js +37 -37
  92. package/src/charts/helpers/MinMaxReducer.d.ts +22 -22
  93. package/src/charts/helpers/PointReducer.d.ts +15 -15
  94. package/src/charts/helpers/PointReducer.js +39 -39
  95. package/src/charts/helpers/SnapPointFinder.d.ts +18 -18
  96. package/src/charts/helpers/SnapPointFinder.js +46 -46
  97. package/src/charts/helpers/ValueAtFinder.d.ts +16 -16
  98. package/src/charts/helpers/ValueAtFinder.js +41 -41
  99. package/src/charts/helpers/index.d.ts +4 -4
  100. package/src/charts/helpers/index.js +4 -4
  101. package/src/charts/index.d.ts +23 -23
  102. package/src/charts/index.js +31 -31
  103. package/src/charts/index.scss +20 -20
  104. package/src/charts/palette.scss +95 -95
  105. package/src/charts/shapes.d.ts +22 -22
  106. package/src/charts/shapes.js +79 -79
  107. package/src/charts/variables.scss +14 -14
  108. package/src/core.d.ts +261 -261
  109. package/src/data/AggregateFunction.d.ts +17 -17
  110. package/src/data/AggregateFunction.js +148 -148
  111. package/src/data/ArrayElementView.d.ts +13 -13
  112. package/src/data/ArrayElementView.js +46 -46
  113. package/src/data/ArrayRef.d.ts +14 -14
  114. package/src/data/ArrayRef.js +34 -34
  115. package/src/data/AugmentedViewBase.d.ts +18 -18
  116. package/src/data/AugmentedViewBase.js +67 -67
  117. package/src/data/Binding.d.ts +16 -16
  118. package/src/data/Binding.js +86 -86
  119. package/src/data/Binding.spec.js +51 -51
  120. package/src/data/ExposedRecordView.d.ts +14 -14
  121. package/src/data/ExposedRecordView.js +69 -69
  122. package/src/data/ExposedValueView.d.ts +19 -19
  123. package/src/data/ExposedValueView.js +72 -72
  124. package/src/data/Expression.d.ts +16 -16
  125. package/src/data/Grouper.d.ts +21 -21
  126. package/src/data/Grouper.js +120 -120
  127. package/src/data/Grouper.spec.js +22 -22
  128. package/src/data/NestedDataView.d.ts +19 -19
  129. package/src/data/NestedDataView.js +22 -22
  130. package/src/data/ReadOnlyDataView.d.ts +14 -14
  131. package/src/data/ReadOnlyDataView.js +26 -26
  132. package/src/data/Ref.js +79 -79
  133. package/src/data/Store.d.ts +14 -14
  134. package/src/data/Store.js +46 -46
  135. package/src/data/Store.spec.js +22 -22
  136. package/src/data/StoreProxy.d.ts +4 -4
  137. package/src/data/StoreProxy.js +16 -16
  138. package/src/data/StoreRef.js +54 -54
  139. package/src/data/StringTemplate.d.ts +13 -13
  140. package/src/data/StringTemplate.js +97 -97
  141. package/src/data/StringTemplate.spec.js +82 -82
  142. package/src/data/StructuredSelector.d.ts +16 -16
  143. package/src/data/StructuredSelector.js +131 -131
  144. package/src/data/StructuredSelector.spec.js +113 -113
  145. package/src/data/SubscribableView.d.ts +11 -11
  146. package/src/data/View.d.ts +126 -126
  147. package/src/data/View.js +182 -182
  148. package/src/data/View.spec.js +60 -60
  149. package/src/data/ZoomIntoPropertyView.d.ts +11 -11
  150. package/src/data/ZoomIntoPropertyView.js +33 -33
  151. package/src/data/ZoomIntoPropertyView.spec.js +65 -65
  152. package/src/data/comparer.d.ts +7 -7
  153. package/src/data/comparer.js +51 -51
  154. package/src/data/comparer.spec.js +60 -60
  155. package/src/data/computable.d.ts +45 -45
  156. package/src/data/computable.js +56 -56
  157. package/src/data/computable.spec.js +55 -55
  158. package/src/data/createAccessorModelProxy.d.ts +6 -6
  159. package/src/data/createAccessorModelProxy.js +43 -43
  160. package/src/data/createAccessorModelProxy.spec.tsx +38 -38
  161. package/src/data/createStructuredSelector.d.ts +2 -2
  162. package/src/data/createStructuredSelector.js +43 -43
  163. package/src/data/createStructuredSelector.spec.js +46 -46
  164. package/src/data/defaultCompare.js +14 -14
  165. package/src/data/diff/diffArrays.d.ts +15 -15
  166. package/src/data/diff/diffArrays.js +41 -41
  167. package/src/data/diff/diffs.spec.js +49 -49
  168. package/src/data/diff/index.d.ts +1 -1
  169. package/src/data/diff/index.js +1 -1
  170. package/src/data/enableFatArrowExpansion.d.ts +1 -1
  171. package/src/data/enableFatArrowExpansion.js +6 -6
  172. package/src/data/getAccessor.d.ts +8 -8
  173. package/src/data/getAccessor.js +61 -61
  174. package/src/data/getSelector.d.ts +3 -3
  175. package/src/data/getSelector.js +48 -48
  176. package/src/data/getSelector.spec.js +43 -43
  177. package/src/data/index.d.ts +30 -30
  178. package/src/data/index.js +28 -28
  179. package/src/data/isSelector.d.ts +1 -1
  180. package/src/data/isSelector.js +26 -26
  181. package/src/data/ops/append.d.ts +1 -1
  182. package/src/data/ops/append.js +7 -7
  183. package/src/data/ops/append.spec.js +28 -28
  184. package/src/data/ops/filter.d.ts +1 -1
  185. package/src/data/ops/filter.js +8 -8
  186. package/src/data/ops/filter.spec.js +29 -29
  187. package/src/data/ops/findTreeNode.js +15 -15
  188. package/src/data/ops/findTreeNode.spec.js +24 -24
  189. package/src/data/ops/findTreePath.d.ts +6 -6
  190. package/src/data/ops/findTreePath.js +16 -16
  191. package/src/data/ops/index.d.ts +10 -10
  192. package/src/data/ops/index.js +11 -11
  193. package/src/data/ops/insertElement.js +2 -2
  194. package/src/data/ops/merge.d.ts +3 -3
  195. package/src/data/ops/merge.js +9 -9
  196. package/src/data/ops/merge.spec.js +27 -27
  197. package/src/data/ops/moveElement.js +13 -13
  198. package/src/data/ops/removeTreeNodes.d.ts +1 -1
  199. package/src/data/ops/removeTreeNodes.js +5 -5
  200. package/src/data/ops/removeTreeNodes.spec.js +28 -28
  201. package/src/data/ops/updateArray.d.ts +5 -5
  202. package/src/data/ops/updateArray.js +24 -24
  203. package/src/data/ops/updateArray.spec.js +38 -38
  204. package/src/data/ops/updateTree.d.ts +7 -7
  205. package/src/data/ops/updateTree.js +25 -25
  206. package/src/data/ops/updateTree.spec.js +34 -34
  207. package/src/global.scss +13 -13
  208. package/src/hooks/createLocalStorageRef.d.ts +2 -2
  209. package/src/hooks/createLocalStorageRef.js +22 -22
  210. package/src/hooks/index.d.ts +8 -8
  211. package/src/hooks/index.js +7 -7
  212. package/src/hooks/invokeCallback.d.ts +5 -5
  213. package/src/hooks/invokeCallback.js +6 -6
  214. package/src/hooks/invokeCallback.spec.js +53 -53
  215. package/src/hooks/resolveCallback.d.ts +3 -3
  216. package/src/hooks/resolveCallback.js +11 -11
  217. package/src/hooks/resolveCallback.spec.js +54 -54
  218. package/src/hooks/store.d.ts +7 -7
  219. package/src/hooks/store.js +32 -32
  220. package/src/hooks/store.spec.js +73 -73
  221. package/src/hooks/useEffect.d.ts +2 -2
  222. package/src/hooks/useEffect.js +14 -14
  223. package/src/hooks/useInterval.js +7 -7
  224. package/src/hooks/useState.d.ts +2 -2
  225. package/src/hooks/useState.js +15 -15
  226. package/src/hooks/useTrigger.d.ts +4 -4
  227. package/src/hooks/useTrigger.js +20 -20
  228. package/src/hooks/useTrigger.spec.js +102 -102
  229. package/src/index.js +7 -7
  230. package/src/index.scss +6 -6
  231. package/src/svg/BoundedObject.d.ts +22 -22
  232. package/src/svg/BoundedObject.js +59 -59
  233. package/src/svg/ClipRect.d.ts +4 -4
  234. package/src/svg/ClipRect.js +23 -23
  235. package/src/svg/Ellipse.d.ts +23 -23
  236. package/src/svg/Ellipse.js +36 -36
  237. package/src/svg/Line.d.ts +20 -20
  238. package/src/svg/Line.js +32 -32
  239. package/src/svg/NonOverlappingRect.d.ts +5 -5
  240. package/src/svg/NonOverlappingRect.js +14 -14
  241. package/src/svg/NonOverlappingRectGroup.d.ts +3 -3
  242. package/src/svg/NonOverlappingRectGroup.js +36 -36
  243. package/src/svg/Rectangle.d.ts +23 -23
  244. package/src/svg/Rectangle.js +36 -36
  245. package/src/svg/Svg.d.ts +32 -32
  246. package/src/svg/Svg.js +177 -177
  247. package/src/svg/Svg.scss +26 -26
  248. package/src/svg/Text.d.ts +38 -38
  249. package/src/svg/Text.js +61 -61
  250. package/src/svg/TextualBoundedObject.d.ts +6 -6
  251. package/src/svg/TextualBoundedObject.js +28 -28
  252. package/src/svg/index.d.ts +11 -11
  253. package/src/svg/index.js +17 -17
  254. package/src/svg/index.scss +8 -8
  255. package/src/svg/util/Rect.d.ts +40 -40
  256. package/src/svg/util/Rect.js +108 -108
  257. package/src/ui/CSS.d.ts +19 -19
  258. package/src/ui/CSS.js +79 -79
  259. package/src/ui/CSSHelper.d.ts +10 -10
  260. package/src/ui/CSSHelper.js +17 -17
  261. package/src/ui/Container.d.ts +18 -18
  262. package/src/ui/Container.js +183 -183
  263. package/src/ui/ContentResolver.d.ts +12 -12
  264. package/src/ui/ContentResolver.js +78 -78
  265. package/src/ui/Controller.d.ts +70 -70
  266. package/src/ui/Controller.js +114 -114
  267. package/src/ui/Controller.spec.js +414 -414
  268. package/src/ui/Culture.d.ts +22 -22
  269. package/src/ui/Culture.js +65 -65
  270. package/src/ui/Cx.d.ts +18 -18
  271. package/src/ui/Cx.js +313 -313
  272. package/src/ui/Cx.spec.js +193 -193
  273. package/src/ui/DataProxy.d.ts +10 -10
  274. package/src/ui/DataProxy.js +44 -44
  275. package/src/ui/DataProxy.spec.js +335 -335
  276. package/src/ui/DetachedScope.d.ts +21 -21
  277. package/src/ui/DetachedScope.js +93 -93
  278. package/src/ui/FocusManager.d.ts +29 -29
  279. package/src/ui/FocusManager.js +171 -171
  280. package/src/ui/Format.d.ts +2 -2
  281. package/src/ui/Format.js +88 -88
  282. package/src/ui/HoverSync.d.ts +13 -13
  283. package/src/ui/HoverSync.js +147 -147
  284. package/src/ui/Instance.d.ts +69 -69
  285. package/src/ui/Instance.js +607 -607
  286. package/src/ui/IsolatedScope.d.ts +16 -16
  287. package/src/ui/IsolatedScope.js +29 -29
  288. package/src/ui/IsolatedScope.spec.js +62 -62
  289. package/src/ui/Localization.d.ts +17 -17
  290. package/src/ui/Localization.js +72 -72
  291. package/src/ui/PureContainer.d.ts +16 -16
  292. package/src/ui/PureContainer.js +7 -7
  293. package/src/ui/RenderingContext.d.ts +9 -9
  294. package/src/ui/RenderingContext.js +88 -88
  295. package/src/ui/Repeater.d.ts +49 -49
  296. package/src/ui/Repeater.js +98 -98
  297. package/src/ui/Repeater.spec.js +143 -59
  298. package/src/ui/Rescope.d.ts +10 -10
  299. package/src/ui/Rescope.js +31 -31
  300. package/src/ui/Rescope.spec.js +195 -195
  301. package/src/ui/ResizeManager.d.ts +9 -9
  302. package/src/ui/ResizeManager.js +30 -30
  303. package/src/ui/Restate.d.ts +15 -15
  304. package/src/ui/Restate.js +155 -155
  305. package/src/ui/Restate.spec.js +422 -422
  306. package/src/ui/StaticText.d.ts +8 -8
  307. package/src/ui/StaticText.js +9 -9
  308. package/src/ui/StructuredInstanceDataAccessor.d.ts +16 -16
  309. package/src/ui/StructuredInstanceDataAccessor.js +26 -26
  310. package/src/ui/Text.d.ts +10 -10
  311. package/src/ui/Text.js +27 -27
  312. package/src/ui/VDOM.d.ts +3 -3
  313. package/src/ui/VDOM.js +2 -2
  314. package/src/ui/Widget.d.ts +14 -14
  315. package/src/ui/Widget.js +200 -200
  316. package/src/ui/ZIndexManager.d.ts +7 -7
  317. package/src/ui/ZIndexManager.js +11 -11
  318. package/src/ui/adapter/ArrayAdapter.d.ts +17 -17
  319. package/src/ui/adapter/ArrayAdapter.js +142 -142
  320. package/src/ui/adapter/ArrayAdapter.spec.js +55 -0
  321. package/src/ui/adapter/DataAdapter.d.ts +19 -19
  322. package/src/ui/adapter/DataAdapter.js +19 -19
  323. package/src/ui/adapter/GroupAdapter.d.ts +4 -4
  324. package/src/ui/adapter/GroupAdapter.js +135 -135
  325. package/src/ui/adapter/TreeAdapter.d.ts +4 -4
  326. package/src/ui/adapter/TreeAdapter.js +100 -100
  327. package/src/ui/adapter/TreeAdapter.spec.js +67 -67
  328. package/src/ui/adapter/index.d.ts +4 -4
  329. package/src/ui/adapter/index.js +4 -4
  330. package/src/ui/app/History.d.ts +17 -17
  331. package/src/ui/app/History.js +114 -114
  332. package/src/ui/app/Url.d.ts +21 -21
  333. package/src/ui/app/Url.js +103 -103
  334. package/src/ui/app/Url.spec.js +51 -51
  335. package/src/ui/app/index.d.ts +4 -4
  336. package/src/ui/app/index.js +5 -5
  337. package/src/ui/app/startAppLoop.d.ts +3 -3
  338. package/src/ui/app/startAppLoop.js +57 -57
  339. package/src/ui/app/startHotAppLoop.d.ts +6 -6
  340. package/src/ui/app/startHotAppLoop.js +25 -25
  341. package/src/ui/batchUpdates.d.ts +10 -10
  342. package/src/ui/batchUpdates.js +67 -67
  343. package/src/ui/bind.d.ts +4 -4
  344. package/src/ui/bind.js +7 -7
  345. package/src/ui/createFunctionalComponent.d.ts +1 -1
  346. package/src/ui/createFunctionalComponent.js +68 -68
  347. package/src/ui/createFunctionalComponent.spec.js +400 -400
  348. package/src/ui/expr.d.ts +24 -24
  349. package/src/ui/expr.js +17 -17
  350. package/src/ui/flattenProps.js +21 -21
  351. package/src/ui/index.js +44 -44
  352. package/src/ui/index.scss +2 -2
  353. package/src/ui/keyboardShortcuts.d.ts +4 -4
  354. package/src/ui/keyboardShortcuts.js +32 -32
  355. package/src/ui/layout/Content.d.ts +14 -14
  356. package/src/ui/layout/Content.js +16 -16
  357. package/src/ui/layout/ContentPlaceholder.d.ts +17 -17
  358. package/src/ui/layout/ContentPlaceholder.js +79 -79
  359. package/src/ui/layout/ContentPlaceholder.spec.js +368 -368
  360. package/src/ui/layout/FirstVisibleChildLayout.d.ts +4 -4
  361. package/src/ui/layout/FirstVisibleChildLayout.js +65 -65
  362. package/src/ui/layout/FirstVisibleChildLayout.spec.js +196 -196
  363. package/src/ui/layout/LabelsLeftLayout.d.ts +11 -11
  364. package/src/ui/layout/LabelsLeftLayout.js +59 -59
  365. package/src/ui/layout/LabelsLeftLayout.scss +44 -44
  366. package/src/ui/layout/LabelsTopLayout.d.ts +15 -15
  367. package/src/ui/layout/LabelsTopLayout.js +134 -134
  368. package/src/ui/layout/LabelsTopLayout.scss +63 -63
  369. package/src/ui/layout/UseParentLayout.d.ts +4 -4
  370. package/src/ui/layout/UseParentLayout.js +6 -6
  371. package/src/ui/layout/exploreChildren.d.ts +14 -14
  372. package/src/ui/layout/exploreChildren.js +40 -40
  373. package/src/ui/layout/index.d.ts +10 -10
  374. package/src/ui/layout/index.js +10 -10
  375. package/src/ui/layout/index.scss +3 -3
  376. package/src/ui/layout/variables.scss +2 -2
  377. package/src/ui/selection/KeySelection.d.ts +17 -17
  378. package/src/ui/selection/KeySelection.js +129 -129
  379. package/src/ui/selection/PropertySelection.d.ts +17 -17
  380. package/src/ui/selection/PropertySelection.js +57 -57
  381. package/src/ui/selection/Selection.d.ts +27 -27
  382. package/src/ui/selection/Selection.js +97 -97
  383. package/src/ui/selection/index.d.ts +3 -3
  384. package/src/ui/selection/index.js +3 -3
  385. package/src/ui/tpl.d.ts +2 -2
  386. package/src/ui/tpl.js +4 -4
  387. package/src/ui/variables.scss +1 -1
  388. package/src/util/Component.d.ts +41 -41
  389. package/src/util/Component.js +107 -107
  390. package/src/util/Console.d.ts +9 -9
  391. package/src/util/Console.js +11 -11
  392. package/src/util/DOM.d.ts +33 -33
  393. package/src/util/DOM.js +72 -72
  394. package/src/util/Debug.d.ts +10 -10
  395. package/src/util/Debug.js +45 -45
  396. package/src/util/Format.d.ts +13 -13
  397. package/src/util/Format.js +241 -241
  398. package/src/util/Format.spec.js +69 -69
  399. package/src/util/GlobalCacheIdentifier.js +11 -11
  400. package/src/util/GlobalCacheldentifier.d.ts +6 -6
  401. package/src/util/KeyCode.d.ts +21 -21
  402. package/src/util/KeyCode.js +21 -21
  403. package/src/util/SubscriberList.d.ts +41 -41
  404. package/src/util/SubscriberList.js +57 -57
  405. package/src/util/Timing.d.ts +13 -13
  406. package/src/util/Timing.js +57 -57
  407. package/src/util/TraversalStack.js +42 -42
  408. package/src/util/TraversalStack.spec.js +46 -46
  409. package/src/util/addEventListenerWithOptions.d.ts +6 -6
  410. package/src/util/addEventListenerWithOptions.js +9 -9
  411. package/src/util/browserSupportsPassiveEventHandlers.d.ts +4 -4
  412. package/src/util/browserSupportsPassiveEventHandlers.js +18 -18
  413. package/src/util/calculateNaturalElementHeight.d.ts +1 -1
  414. package/src/util/calculateNaturalElementHeight.js +22 -22
  415. package/src/util/call-once.scss +6 -6
  416. package/src/util/coalesce.d.ts +1 -1
  417. package/src/util/coalesce.js +6 -6
  418. package/src/util/color/hslToRgb.d.ts +8 -8
  419. package/src/util/color/hslToRgb.js +27 -27
  420. package/src/util/color/index.d.ts +3 -3
  421. package/src/util/color/index.js +4 -4
  422. package/src/util/color/parseColor.d.ts +59 -59
  423. package/src/util/color/parseColor.js +119 -119
  424. package/src/util/color/rgbToHex.d.ts +8 -8
  425. package/src/util/color/rgbToHex.js +7 -7
  426. package/src/util/color/rgbToHsl.d.ts +8 -8
  427. package/src/util/color/rgbToHsl.js +27 -27
  428. package/src/util/date/dateDiff.d.ts +7 -7
  429. package/src/util/date/dateDiff.js +3 -3
  430. package/src/util/date/diff.d.ts +7 -7
  431. package/src/util/date/diff.js +7 -7
  432. package/src/util/date/encodeDateWithTimezoneOffset.js +18 -18
  433. package/src/util/date/index.d.ts +8 -8
  434. package/src/util/date/index.js +9 -9
  435. package/src/util/date/lowerBoundCheck.d.ts +7 -7
  436. package/src/util/date/lowerBoundCheck.js +6 -6
  437. package/src/util/date/maxDate.d.ts +5 -5
  438. package/src/util/date/maxDate.js +9 -9
  439. package/src/util/date/minDate.d.ts +5 -5
  440. package/src/util/date/minDate.js +9 -9
  441. package/src/util/date/monthStart.d.ts +5 -5
  442. package/src/util/date/monthStart.js +3 -3
  443. package/src/util/date/sameDate.d.ts +6 -6
  444. package/src/util/date/sameDate.js +5 -5
  445. package/src/util/date/upperBoundCheck.d.ts +7 -7
  446. package/src/util/date/upperBoundCheck.js +6 -6
  447. package/src/util/date/upperBoundCheck.spec.js +30 -30
  448. package/src/util/date/zeroTime.d.ts +6 -6
  449. package/src/util/date/zeroTime.js +3 -3
  450. package/src/util/debounce.d.ts +9 -9
  451. package/src/util/dummyCallback.d.ts +1 -1
  452. package/src/util/dummyCallback.js +1 -1
  453. package/src/util/escapeSpecialRegexCharacters.d.ts +6 -6
  454. package/src/util/escapeSpecialRegexCharacters.js +3 -3
  455. package/src/util/eventCallbacks.d.ts +4 -4
  456. package/src/util/eventCallbacks.js +2 -2
  457. package/src/util/expandFatArrows.js +118 -118
  458. package/src/util/findScrollableParent.js +16 -16
  459. package/src/util/getActiveElement.js +3 -3
  460. package/src/util/getParentFrameBoundingClientRect.js +18 -18
  461. package/src/util/getScrollerBoundingClientRect.js +21 -21
  462. package/src/util/getSearchQueryPredicate.js +58 -58
  463. package/src/util/getSearchQueryPredicate.spec.js +40 -40
  464. package/src/util/getTopLevelBoundingClientRect.js +13 -13
  465. package/src/util/getVendorPrefix.js +26 -26
  466. package/src/util/index.d.ts +50 -50
  467. package/src/util/index.js +52 -52
  468. package/src/util/index.scss +10 -10
  469. package/src/util/innerTextTrim.d.ts +6 -6
  470. package/src/util/innerTextTrim.js +5 -5
  471. package/src/util/isArray.js +3 -3
  472. package/src/util/isDefined.js +3 -3
  473. package/src/util/isDigit.d.ts +6 -6
  474. package/src/util/isDigit.js +3 -3
  475. package/src/util/isFunction.d.ts +1 -1
  476. package/src/util/isFunction.js +3 -3
  477. package/src/util/isNonEmptyArray.d.ts +1 -1
  478. package/src/util/isNonEmptyArray.js +3 -3
  479. package/src/util/isNumber.js +3 -3
  480. package/src/util/isObject.js +3 -3
  481. package/src/util/isPromise.d.ts +1 -1
  482. package/src/util/isPromise.js +6 -6
  483. package/src/util/isString.js +3 -3
  484. package/src/util/isTextInputElement.d.ts +1 -1
  485. package/src/util/isTextInputElement.js +2 -2
  486. package/src/util/isTouchDevice.d.ts +1 -1
  487. package/src/util/isTouchDevice.js +7 -7
  488. package/src/util/isTouchEvent.d.ts +3 -3
  489. package/src/util/isTouchEvent.js +64 -64
  490. package/src/util/isUndefined.js +3 -3
  491. package/src/util/onIdleCallback.js +13 -13
  492. package/src/util/parseStyle.d.ts +3 -3
  493. package/src/util/parseStyle.js +27 -27
  494. package/src/util/quote.d.ts +2 -2
  495. package/src/util/quote.js +5 -5
  496. package/src/util/reverseSlice.js +9 -9
  497. package/src/util/routeAppend.js +15 -15
  498. package/src/util/routeAppend.spec.js +19 -19
  499. package/src/util/scrollElementIntoView.d.ts +7 -7
  500. package/src/util/scrollElementIntoView.js +34 -34
  501. package/src/util/scss/add-rules.scss +39 -39
  502. package/src/util/scss/calc.scss +40 -40
  503. package/src/util/scss/call-once.scss +10 -10
  504. package/src/util/scss/clockwise.scss +47 -47
  505. package/src/util/scss/colors.scss +7 -7
  506. package/src/util/scss/deep-get.scss +9 -9
  507. package/src/util/scss/deep-merge.scss +18 -18
  508. package/src/util/scss/include.scss +47 -47
  509. package/src/util/scss/index.scss +8 -8
  510. package/src/util/shallowEquals.js +43 -43
  511. package/src/util/throttle.d.ts +8 -8
  512. package/src/util/throttle.js +14 -14
  513. package/src/variables.scss +217 -217
  514. package/src/widgets/AccessorBindings.spec.tsx +66 -66
  515. package/src/widgets/Button.d.ts +58 -58
  516. package/src/widgets/Button.scss +36 -28
  517. package/src/widgets/Button.variables.scss +107 -107
  518. package/src/widgets/CxCredit.d.ts +12 -12
  519. package/src/widgets/CxCredit.js +31 -31
  520. package/src/widgets/CxCredit.scss +41 -41
  521. package/src/widgets/DocumentTitle.d.ts +11 -11
  522. package/src/widgets/DocumentTitle.js +68 -68
  523. package/src/widgets/FlexBox.d.ts +69 -69
  524. package/src/widgets/FlexBox.js +92 -92
  525. package/src/widgets/FlexBox.scss +155 -155
  526. package/src/widgets/Heading.d.ts +16 -16
  527. package/src/widgets/Heading.js +32 -32
  528. package/src/widgets/Heading.scss +38 -38
  529. package/src/widgets/HighlightedSearchText.d.ts +9 -9
  530. package/src/widgets/HighlightedSearchText.js +36 -36
  531. package/src/widgets/HighlightedSearchText.scss +18 -18
  532. package/src/widgets/HtmlElement.d.ts +26 -26
  533. package/src/widgets/HtmlElement.js +273 -273
  534. package/src/widgets/HtmlElement.spec.js +57 -57
  535. package/src/widgets/Icon.d.ts +36 -36
  536. package/src/widgets/Icon.js +50 -50
  537. package/src/widgets/Icon.scss +20 -20
  538. package/src/widgets/List.d.ts +87 -87
  539. package/src/widgets/List.js +589 -589
  540. package/src/widgets/List.scss +92 -92
  541. package/src/widgets/ProgressBar.d.ts +17 -17
  542. package/src/widgets/ProgressBar.js +46 -46
  543. package/src/widgets/ProgressBar.scss +49 -49
  544. package/src/widgets/Resizer.d.ts +27 -27
  545. package/src/widgets/Resizer.js +151 -151
  546. package/src/widgets/Resizer.scss +42 -42
  547. package/src/widgets/Sandbox.d.ts +16 -16
  548. package/src/widgets/Sandbox.js +62 -62
  549. package/src/widgets/Section.d.ts +52 -52
  550. package/src/widgets/Section.js +139 -139
  551. package/src/widgets/Section.scss +54 -54
  552. package/src/widgets/animations.scss +10 -10
  553. package/src/widgets/autoFocus.d.ts +1 -1
  554. package/src/widgets/autoFocus.js +11 -11
  555. package/src/widgets/cx.d.ts +1 -1
  556. package/src/widgets/cx.js +71 -71
  557. package/src/widgets/drag-drop/DragClone.scss +33 -33
  558. package/src/widgets/drag-drop/DragHandle.d.ts +10 -10
  559. package/src/widgets/drag-drop/DragHandle.js +37 -37
  560. package/src/widgets/drag-drop/DragHandle.scss +16 -16
  561. package/src/widgets/drag-drop/DragSource.d.ts +34 -34
  562. package/src/widgets/drag-drop/DragSource.js +160 -160
  563. package/src/widgets/drag-drop/DragSource.scss +24 -24
  564. package/src/widgets/drag-drop/DropZone.d.ts +90 -90
  565. package/src/widgets/drag-drop/DropZone.js +213 -213
  566. package/src/widgets/drag-drop/DropZone.scss +74 -74
  567. package/src/widgets/drag-drop/index.d.ts +4 -4
  568. package/src/widgets/drag-drop/index.js +4 -4
  569. package/src/widgets/drag-drop/index.scss +3 -3
  570. package/src/widgets/drag-drop/ops.d.ts +56 -56
  571. package/src/widgets/drag-drop/ops.js +344 -344
  572. package/src/widgets/drag-drop/variables.scss +11 -11
  573. package/src/widgets/enableAllInternalDependencies.d.ts +1 -1
  574. package/src/widgets/enableAllInternalDependencies.js +11 -11
  575. package/src/widgets/form/Calendar.d.ts +60 -60
  576. package/src/widgets/form/Calendar.js +506 -506
  577. package/src/widgets/form/Calendar.scss +164 -164
  578. package/src/widgets/form/Calendar.variables.scss +63 -63
  579. package/src/widgets/form/Checkbox.d.ts +43 -43
  580. package/src/widgets/form/Checkbox.js +200 -200
  581. package/src/widgets/form/Checkbox.scss +122 -122
  582. package/src/widgets/form/Checkbox.variables.scss +39 -39
  583. package/src/widgets/form/ColorField.d.ts +43 -43
  584. package/src/widgets/form/ColorField.js +389 -389
  585. package/src/widgets/form/ColorField.scss +92 -92
  586. package/src/widgets/form/ColorPicker.d.ts +23 -23
  587. package/src/widgets/form/ColorPicker.js +451 -451
  588. package/src/widgets/form/ColorPicker.scss +184 -184
  589. package/src/widgets/form/ColorPicker.variables.scss +20 -20
  590. package/src/widgets/form/DateField.d.ts +6 -6
  591. package/src/widgets/form/DateField.js +12 -12
  592. package/src/widgets/form/DateTimeField.d.ts +83 -83
  593. package/src/widgets/form/DateTimeField.js +571 -571
  594. package/src/widgets/form/DateTimeField.scss +90 -90
  595. package/src/widgets/form/DateTimePicker.js +391 -391
  596. package/src/widgets/form/DateTimePicker.scss +44 -44
  597. package/src/widgets/form/Field.d.ts +112 -112
  598. package/src/widgets/form/Field.js +419 -419
  599. package/src/widgets/form/Field.scss +162 -162
  600. package/src/widgets/form/FieldGroup.d.ts +6 -6
  601. package/src/widgets/form/FieldGroup.js +5 -5
  602. package/src/widgets/form/HelpText.d.ts +10 -10
  603. package/src/widgets/form/HelpText.js +9 -9
  604. package/src/widgets/form/HelpText.scss +23 -23
  605. package/src/widgets/form/Label.d.ts +25 -25
  606. package/src/widgets/form/Label.js +86 -86
  607. package/src/widgets/form/Label.scss +36 -36
  608. package/src/widgets/form/LabeledContainer.d.ts +17 -17
  609. package/src/widgets/form/LabeledContainer.js +57 -57
  610. package/src/widgets/form/LookupField.d.ts +159 -159
  611. package/src/widgets/form/LookupField.js +1118 -1118
  612. package/src/widgets/form/LookupField.scss +210 -210
  613. package/src/widgets/form/MonthField.d.ts +88 -88
  614. package/src/widgets/form/MonthField.js +512 -512
  615. package/src/widgets/form/MonthField.scss +99 -99
  616. package/src/widgets/form/MonthPicker.d.ts +68 -68
  617. package/src/widgets/form/MonthPicker.js +631 -631
  618. package/src/widgets/form/MonthPicker.scss +120 -120
  619. package/src/widgets/form/NumberField.d.ts +94 -94
  620. package/src/widgets/form/NumberField.js +443 -443
  621. package/src/widgets/form/NumberField.scss +65 -65
  622. package/src/widgets/form/Radio.d.ts +37 -37
  623. package/src/widgets/form/Radio.js +188 -188
  624. package/src/widgets/form/Radio.scss +122 -122
  625. package/src/widgets/form/Radio.variables.scss +45 -45
  626. package/src/widgets/form/Select.d.ts +73 -73
  627. package/src/widgets/form/Select.js +274 -274
  628. package/src/widgets/form/Select.scss +98 -98
  629. package/src/widgets/form/Slider.d.ts +62 -62
  630. package/src/widgets/form/Slider.js +345 -345
  631. package/src/widgets/form/Slider.scss +121 -121
  632. package/src/widgets/form/Switch.d.ts +38 -38
  633. package/src/widgets/form/Switch.js +120 -120
  634. package/src/widgets/form/Switch.scss +140 -140
  635. package/src/widgets/form/TextArea.d.ts +17 -17
  636. package/src/widgets/form/TextArea.js +182 -182
  637. package/src/widgets/form/TextArea.scss +60 -60
  638. package/src/widgets/form/TextField.d.ts +75 -75
  639. package/src/widgets/form/TextField.js +285 -285
  640. package/src/widgets/form/TextField.scss +67 -67
  641. package/src/widgets/form/TimeField.d.ts +6 -6
  642. package/src/widgets/form/TimeField.js +11 -11
  643. package/src/widgets/form/TimeList.js +84 -84
  644. package/src/widgets/form/UploadButton.d.ts +31 -31
  645. package/src/widgets/form/UploadButton.js +213 -213
  646. package/src/widgets/form/UploadButton.scss +47 -47
  647. package/src/widgets/form/ValidationError.d.ts +10 -10
  648. package/src/widgets/form/ValidationError.js +37 -37
  649. package/src/widgets/form/ValidationError.scss +21 -21
  650. package/src/widgets/form/ValidationGroup.spec.js +148 -148
  651. package/src/widgets/form/Validator.d.ts +6 -6
  652. package/src/widgets/form/Wheel.js +261 -261
  653. package/src/widgets/form/Wheel.scss +148 -148
  654. package/src/widgets/form/index.d.ts +26 -26
  655. package/src/widgets/form/index.js +29 -29
  656. package/src/widgets/form/index.scss +24 -24
  657. package/src/widgets/form/variables.scss +4 -4
  658. package/src/widgets/grid/Grid.d.ts +369 -369
  659. package/src/widgets/grid/Grid.js +3223 -3223
  660. package/src/widgets/grid/Grid.scss +680 -680
  661. package/src/widgets/grid/GridCell.d.ts +29 -29
  662. package/src/widgets/grid/GridCell.js +70 -70
  663. package/src/widgets/grid/GridCellEditor.js +41 -41
  664. package/src/widgets/grid/GridRow.js +228 -228
  665. package/src/widgets/grid/GridRowLine.js +24 -24
  666. package/src/widgets/grid/Pagination.d.ts +14 -14
  667. package/src/widgets/grid/Pagination.js +94 -94
  668. package/src/widgets/grid/Pagination.scss +113 -113
  669. package/src/widgets/grid/TreeNode.d.ts +25 -25
  670. package/src/widgets/grid/TreeNode.js +102 -102
  671. package/src/widgets/grid/TreeNode.scss +90 -90
  672. package/src/widgets/grid/index.d.ts +3 -3
  673. package/src/widgets/grid/index.js +14 -14
  674. package/src/widgets/grid/index.scss +3 -3
  675. package/src/widgets/grid/variables.scss +88 -88
  676. package/src/widgets/icons/arrow-down.svg +3 -3
  677. package/src/widgets/icons/arrow-right.svg +2 -2
  678. package/src/widgets/icons/base.svg +104 -104
  679. package/src/widgets/icons/calendar-old.svg +169 -169
  680. package/src/widgets/icons/calendar.js +16 -16
  681. package/src/widgets/icons/calendar.svg +187 -187
  682. package/src/widgets/icons/check.js +12 -12
  683. package/src/widgets/icons/clear.js +14 -14
  684. package/src/widgets/icons/clear.svg +74 -74
  685. package/src/widgets/icons/close.js +19 -19
  686. package/src/widgets/icons/close.svg +74 -74
  687. package/src/widgets/icons/cx.js +37 -37
  688. package/src/widgets/icons/drop-down.js +14 -14
  689. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  690. package/src/widgets/icons/file.js +12 -12
  691. package/src/widgets/icons/file.svg +4 -4
  692. package/src/widgets/icons/folder-open.js +14 -14
  693. package/src/widgets/icons/folder-open.svg +5 -5
  694. package/src/widgets/icons/folder.js +12 -12
  695. package/src/widgets/icons/folder.svg +58 -58
  696. package/src/widgets/icons/forward.js +21 -21
  697. package/src/widgets/icons/forward.svg +67 -67
  698. package/src/widgets/icons/index.js +14 -14
  699. package/src/widgets/icons/loading.js +23 -23
  700. package/src/widgets/icons/loading.svg +4 -4
  701. package/src/widgets/icons/menu.js +16 -16
  702. package/src/widgets/icons/registry.js +53 -53
  703. package/src/widgets/icons/search.js +12 -12
  704. package/src/widgets/icons/search.svg +107 -107
  705. package/src/widgets/icons/sort-asc.js +13 -13
  706. package/src/widgets/icons/sort-asc.svg +3 -3
  707. package/src/widgets/icons/square.js +17 -17
  708. package/src/widgets/index.d.ts +55 -55
  709. package/src/widgets/index.js +57 -57
  710. package/src/widgets/index.scss +16 -16
  711. package/src/widgets/nav/Link.d.ts +26 -26
  712. package/src/widgets/nav/Link.js +7 -7
  713. package/src/widgets/nav/Link.scss +18 -18
  714. package/src/widgets/nav/LinkButton.d.ts +31 -31
  715. package/src/widgets/nav/LinkButton.js +127 -127
  716. package/src/widgets/nav/Menu.d.ts +27 -27
  717. package/src/widgets/nav/Menu.js +406 -406
  718. package/src/widgets/nav/Menu.scss +74 -74
  719. package/src/widgets/nav/Menu.variables.scss +17 -17
  720. package/src/widgets/nav/MenuItem.d.ts +35 -35
  721. package/src/widgets/nav/MenuItem.js +445 -445
  722. package/src/widgets/nav/MenuItem.scss +128 -128
  723. package/src/widgets/nav/MenuSpacer.d.ts +5 -5
  724. package/src/widgets/nav/MenuSpacer.js +12 -12
  725. package/src/widgets/nav/RedirectRoute.d.ts +9 -9
  726. package/src/widgets/nav/RedirectRoute.js +40 -40
  727. package/src/widgets/nav/Route.d.ts +21 -21
  728. package/src/widgets/nav/Route.js +105 -105
  729. package/src/widgets/nav/Route.spec.js +27 -27
  730. package/src/widgets/nav/Scroller.d.ts +17 -17
  731. package/src/widgets/nav/Scroller.js +214 -214
  732. package/src/widgets/nav/Scroller.scss +146 -146
  733. package/src/widgets/nav/Submenu.d.ts +6 -6
  734. package/src/widgets/nav/Submenu.js +6 -6
  735. package/src/widgets/nav/Tab.d.ts +33 -33
  736. package/src/widgets/nav/Tab.js +82 -82
  737. package/src/widgets/nav/Tab.scss +81 -81
  738. package/src/widgets/nav/Tab.variables.scss +80 -80
  739. package/src/widgets/nav/cover.scss +21 -21
  740. package/src/widgets/nav/index.d.ts +10 -10
  741. package/src/widgets/nav/index.js +10 -10
  742. package/src/widgets/nav/index.scss +5 -5
  743. package/src/widgets/nav/variables.scss +25 -25
  744. package/src/widgets/overlay/ContextMenu.d.ts +8 -8
  745. package/src/widgets/overlay/ContextMenu.js +28 -28
  746. package/src/widgets/overlay/Dropdown.d.ts +27 -27
  747. package/src/widgets/overlay/Dropdown.js +610 -610
  748. package/src/widgets/overlay/Dropdown.scss +184 -184
  749. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +8 -8
  750. package/src/widgets/overlay/FlyweightTooltipTracker.js +36 -36
  751. package/src/widgets/overlay/MsgBox.d.ts +16 -16
  752. package/src/widgets/overlay/MsgBox.js +116 -116
  753. package/src/widgets/overlay/Overlay.d.ts +69 -69
  754. package/src/widgets/overlay/Overlay.js +747 -747
  755. package/src/widgets/overlay/Overlay.scss +66 -66
  756. package/src/widgets/overlay/Toast.d.ts +30 -30
  757. package/src/widgets/overlay/Toast.js +92 -92
  758. package/src/widgets/overlay/Toast.scss +162 -162
  759. package/src/widgets/overlay/Tooltip.d.ts +50 -50
  760. package/src/widgets/overlay/Tooltip.js +283 -283
  761. package/src/widgets/overlay/Tooltip.scss +175 -175
  762. package/src/widgets/overlay/Window.d.ts +39 -39
  763. package/src/widgets/overlay/Window.js +195 -195
  764. package/src/widgets/overlay/Window.scss +112 -112
  765. package/src/widgets/overlay/Window.variables.scss +67 -67
  766. package/src/widgets/overlay/alerts.d.ts +7 -7
  767. package/src/widgets/overlay/alerts.js +39 -39
  768. package/src/widgets/overlay/captureMouse.d.ts +53 -53
  769. package/src/widgets/overlay/captureMouse.js +132 -132
  770. package/src/widgets/overlay/captureMouse.scss +13 -13
  771. package/src/widgets/overlay/index.d.ts +10 -10
  772. package/src/widgets/overlay/index.js +10 -10
  773. package/src/widgets/overlay/index.scss +15 -15
  774. package/src/widgets/overlay/tooltip-ops.d.ts +8 -8
  775. package/src/widgets/overlay/tooltip-ops.js +24 -24
  776. package/src/widgets/overlay/variables.scss +82 -82
  777. package/src/widgets/variables.scss +144 -144
  778. package/yarn-error.log +7973 -0
  779. package/dist/reset.js +0 -1
@@ -1,90 +1,90 @@
1
- import * as Cx from '../../core';
2
-
3
- import {Instance} from '../../ui/Instance';
4
- import {DragEvent} from "./ops";
5
-
6
- interface DropZoneProps extends Cx.StyledContainerProps {
7
-
8
- /** CSS styles to be applied when drag cursor is over the drop zone. */
9
- overStyle?: Cx.StyleProp,
10
-
11
- /** CSS styles to be applied when drag cursor is near the drop zone. */
12
- nearStyle?: Cx.StyleProp,
13
-
14
- /** CSS styles to be applied when drag operations begin used to highlight drop zones. */
15
- farStyle?: Cx.StyleProp,
16
-
17
- /** Additional CSS class to be applied when drag cursor is over the drop zone. */
18
- overClass?: Cx.ClassProp,
19
-
20
- /** Additional CSS class to be applied when drag cursor is near the drop zone. */
21
- nearClass?: Cx.ClassProp,
22
-
23
- /** Additional CSS class to be applied when drag operations begin used to highlight drop zones. */
24
- farClass?: Cx.ClassProp,
25
-
26
- /** Distance in `px` used to determine if cursor is near the dropzone. If not configured, cursor is never considered near. */
27
- nearDistance?: number,
28
-
29
- /** Bindable data related to the DropZone that might be useful inside onDrop operations. */
30
- data?: Cx.StructuredProp,
31
-
32
- /**
33
- * Inflate the drop zone's bounding box so it activates on cursor proximity.
34
- * Useful for invisible drop-zones that are only a few pixels tall/wide.
35
- */
36
- inflate?: number,
37
-
38
- /**
39
- * Inflate the drop zone's bounding box horizontally so it activates on cursor proximity.
40
- * Useful for invisible drop-zones that are only a few pixels tall/wide.
41
- */
42
- hinflate?: number,
43
-
44
- /**
45
- * Inflate the drop zone's bounding box vertically so it activates on cursor proximity.
46
- * Useful for invisible drop-zones that are only a few pixels tall/wide.
47
- */
48
- vinflate?: number,
49
-
50
- /** Base CSS class to be applied to the element. Defaults to 'dropzone'. */
51
- baseClass?: string,
52
-
53
- /** A callback method invoked when dragged item is finally dropped.
54
- The callback takes two arguments:
55
- * dragDropEvent - An object containing information related to the source
56
- * instance
57
- Return value is written into dragDropEvent.result and can be passed
58
- to the source's onDragEnd callback. */
59
- onDrop?: (event?: DragEvent, instance?: Instance) => any,
60
-
61
- /** A callback method used to test if dragged item (source) is compatible
62
- with the drop zone. */
63
- onDropTest?: (event?: DragEvent, instance?: Instance) => boolean,
64
-
65
- /** A callback method invoked when the dragged item gets close to the drop zone.
66
- See also `nearDistance`. */
67
- onDragNear?: (event?: DragEvent, instance?: Instance) => void,
68
-
69
- /** A callback method invoked when the dragged item is dragged away. */
70
- onDragAway?: (event?: DragEvent, instance?: Instance) => void,
71
-
72
- /** A callback method invoked when the dragged item is dragged over the drop zone.
73
- The callback is called for each `mousemove` or `touchmove` event. */
74
- onDragOver?: (event?: DragEvent, instance?: Instance) => void,
75
-
76
- /** A callback method invoked when the dragged item is dragged over the drop zone
77
- for the first time. */
78
- onDragEnter?: (event?: DragEvent, instance?: Instance) => void,
79
-
80
- /** A callback method invoked when the dragged item leaves the drop zone area. */
81
- onDragLeave?: (event?: DragEvent, instance?: Instance) => void,
82
-
83
- /** A callback method invoked when at the beginning of the drag & drop operation. */
84
- onDragStart?: (event?: DragEvent, instance?: Instance) => void,
85
-
86
- /** A callback method invoked when at the end of the drag & drop operation. */
87
- onDragEnd?: (event?: DragEvent, instance?: Instance) => void,
88
- }
89
-
90
- export class DropZone extends Cx.Widget<DropZoneProps> {}
1
+ import * as Cx from '../../core';
2
+
3
+ import {Instance} from '../../ui/Instance';
4
+ import {DragEvent} from "./ops";
5
+
6
+ interface DropZoneProps extends Cx.StyledContainerProps {
7
+
8
+ /** CSS styles to be applied when drag cursor is over the drop zone. */
9
+ overStyle?: Cx.StyleProp,
10
+
11
+ /** CSS styles to be applied when drag cursor is near the drop zone. */
12
+ nearStyle?: Cx.StyleProp,
13
+
14
+ /** CSS styles to be applied when drag operations begin used to highlight drop zones. */
15
+ farStyle?: Cx.StyleProp,
16
+
17
+ /** Additional CSS class to be applied when drag cursor is over the drop zone. */
18
+ overClass?: Cx.ClassProp,
19
+
20
+ /** Additional CSS class to be applied when drag cursor is near the drop zone. */
21
+ nearClass?: Cx.ClassProp,
22
+
23
+ /** Additional CSS class to be applied when drag operations begin used to highlight drop zones. */
24
+ farClass?: Cx.ClassProp,
25
+
26
+ /** Distance in `px` used to determine if cursor is near the dropzone. If not configured, cursor is never considered near. */
27
+ nearDistance?: number,
28
+
29
+ /** Bindable data related to the DropZone that might be useful inside onDrop operations. */
30
+ data?: Cx.StructuredProp,
31
+
32
+ /**
33
+ * Inflate the drop zone's bounding box so it activates on cursor proximity.
34
+ * Useful for invisible drop-zones that are only a few pixels tall/wide.
35
+ */
36
+ inflate?: number,
37
+
38
+ /**
39
+ * Inflate the drop zone's bounding box horizontally so it activates on cursor proximity.
40
+ * Useful for invisible drop-zones that are only a few pixels tall/wide.
41
+ */
42
+ hinflate?: number,
43
+
44
+ /**
45
+ * Inflate the drop zone's bounding box vertically so it activates on cursor proximity.
46
+ * Useful for invisible drop-zones that are only a few pixels tall/wide.
47
+ */
48
+ vinflate?: number,
49
+
50
+ /** Base CSS class to be applied to the element. Defaults to 'dropzone'. */
51
+ baseClass?: string,
52
+
53
+ /** A callback method invoked when dragged item is finally dropped.
54
+ The callback takes two arguments:
55
+ * dragDropEvent - An object containing information related to the source
56
+ * instance
57
+ Return value is written into dragDropEvent.result and can be passed
58
+ to the source's onDragEnd callback. */
59
+ onDrop?: (event?: DragEvent, instance?: Instance) => any,
60
+
61
+ /** A callback method used to test if dragged item (source) is compatible
62
+ with the drop zone. */
63
+ onDropTest?: (event?: DragEvent, instance?: Instance) => boolean,
64
+
65
+ /** A callback method invoked when the dragged item gets close to the drop zone.
66
+ See also `nearDistance`. */
67
+ onDragNear?: (event?: DragEvent, instance?: Instance) => void,
68
+
69
+ /** A callback method invoked when the dragged item is dragged away. */
70
+ onDragAway?: (event?: DragEvent, instance?: Instance) => void,
71
+
72
+ /** A callback method invoked when the dragged item is dragged over the drop zone.
73
+ The callback is called for each `mousemove` or `touchmove` event. */
74
+ onDragOver?: (event?: DragEvent, instance?: Instance) => void,
75
+
76
+ /** A callback method invoked when the dragged item is dragged over the drop zone
77
+ for the first time. */
78
+ onDragEnter?: (event?: DragEvent, instance?: Instance) => void,
79
+
80
+ /** A callback method invoked when the dragged item leaves the drop zone area. */
81
+ onDragLeave?: (event?: DragEvent, instance?: Instance) => void,
82
+
83
+ /** A callback method invoked when at the beginning of the drag & drop operation. */
84
+ onDragStart?: (event?: DragEvent, instance?: Instance) => void,
85
+
86
+ /** A callback method invoked when at the end of the drag & drop operation. */
87
+ onDragEnd?: (event?: DragEvent, instance?: Instance) => void,
88
+ }
89
+
90
+ export class DropZone extends Cx.Widget<DropZoneProps> {}
@@ -1,213 +1,213 @@
1
- import { Widget, VDOM } from "../../ui/Widget";
2
- import { Container } from "../../ui/Container";
3
- import { parseStyle } from "../../util/parseStyle";
4
- import { registerDropZone, DragDropContext } from "./ops";
5
- import { findScrollableParent } from "../../util/findScrollableParent";
6
- import { isNumber } from "../../util/isNumber";
7
- import { getTopLevelBoundingClientRect } from "../../util/getTopLevelBoundingClientRect";
8
-
9
- export class DropZone extends Container {
10
- init() {
11
- this.overStyle = parseStyle(this.overStyle);
12
- this.nearStyle = parseStyle(this.nearStyle);
13
- this.farStyle = parseStyle(this.farStyle);
14
-
15
- if (isNumber(this.inflate)) {
16
- this.hinflate = this.inflate;
17
- this.vinflate = this.inflate;
18
- }
19
-
20
- super.init();
21
- }
22
-
23
- declareData() {
24
- return super.declareData(...arguments, {
25
- overClass: { structured: true },
26
- nearClass: { structured: true },
27
- farClass: { structured: true },
28
- overStyle: { structured: true },
29
- nearStyle: { structured: true },
30
- farStyle: { structured: true },
31
- data: { structured: true },
32
- });
33
- }
34
-
35
- render(context, instance, key) {
36
- return (
37
- <DropZoneComponent key={key} instance={instance}>
38
- {this.renderChildren(context, instance)}
39
- </DropZoneComponent>
40
- );
41
- }
42
- }
43
-
44
- DropZone.prototype.styled = true;
45
- DropZone.prototype.nearDistance = 0;
46
- DropZone.prototype.hinflate = 0;
47
- DropZone.prototype.vinflate = 0;
48
- DropZone.prototype.baseClass = "dropzone";
49
-
50
- Widget.alias("dropzone", DropZone);
51
-
52
- class DropZoneComponent extends VDOM.Component {
53
- constructor(props) {
54
- super(props);
55
- this.state = {
56
- state: false,
57
- };
58
- }
59
-
60
- render() {
61
- let { instance, children } = this.props;
62
- let { data, widget } = instance;
63
- let { CSS } = widget;
64
-
65
- let classes = [data.classNames, CSS.state(this.state.state)];
66
-
67
- let stateStyle;
68
-
69
- switch (this.state.state) {
70
- case "over":
71
- classes.push(data.overClass);
72
- stateStyle = parseStyle(data.overStyle);
73
- break;
74
- case "near":
75
- classes.push(data.nearClass);
76
- stateStyle = parseStyle(data.nearStyle);
77
- break;
78
- case "far":
79
- classes.push(data.farClass);
80
- stateStyle = parseStyle(data.farStyle);
81
- break;
82
- }
83
-
84
- return (
85
- <div
86
- className={CSS.expand(classes)}
87
- style={{ ...data.style, ...this.state.style, ...stateStyle }}
88
- ref={(el) => {
89
- this.el = el;
90
- }}
91
- >
92
- {children}
93
- </div>
94
- );
95
- }
96
-
97
- componentDidMount() {
98
- let dragDropOptions = this.context;
99
- let disabled = dragDropOptions && dragDropOptions.disabled;
100
- if (!disabled) this.unregister = registerDropZone(this);
101
- }
102
-
103
- componentWillUnmount() {
104
- this.unregister && this.unregister();
105
- }
106
-
107
- onDropTest(e) {
108
- let { instance } = this.props;
109
- let { widget } = instance;
110
- return !widget.onDropTest || instance.invoke("onDropTest", e, instance);
111
- }
112
-
113
- onDragStart(e) {
114
- this.setState({
115
- state: "far",
116
- });
117
- }
118
-
119
- onDragNear(e) {
120
- this.setState({
121
- state: "near",
122
- });
123
- }
124
-
125
- onDragAway(e) {
126
- this.setState({
127
- state: "far",
128
- });
129
- }
130
-
131
- onDragLeave(e) {
132
- let { nearDistance } = this.props.instance.widget;
133
- this.setState({
134
- state: nearDistance ? "near" : "far",
135
- style: null,
136
- });
137
- }
138
-
139
- onDragMeasure(e) {
140
- let rect = getTopLevelBoundingClientRect(this.el);
141
-
142
- let { instance } = this.props;
143
- let { widget } = instance;
144
-
145
- let { clientX, clientY } = e.cursor;
146
- let distance =
147
- Math.max(0, rect.left - clientX, clientX - rect.right) +
148
- Math.max(0, rect.top - clientY, clientY - rect.bottom);
149
-
150
- if (widget.hinflate > 0) {
151
- rect.left -= widget.hinflate;
152
- rect.right += widget.hinflate;
153
- }
154
-
155
- if (widget.vinflate > 0) {
156
- rect.top -= widget.vinflate;
157
- rect.bottom += widget.vinflate;
158
- }
159
-
160
- let { nearDistance } = widget;
161
-
162
- let over = rect.left <= clientX && clientX < rect.right && rect.top <= clientY && clientY < rect.bottom;
163
-
164
- return {
165
- over: over && distance,
166
- near: nearDistance && (over || distance < nearDistance),
167
- };
168
- }
169
-
170
- onDragEnter(e) {
171
- let { instance } = this.props;
172
- let { widget } = instance;
173
- let style = {};
174
-
175
- if (widget.matchWidth) style.width = `${e.source.width}px`;
176
-
177
- if (widget.matchHeight) style.height = `${e.source.height}px`;
178
-
179
- if (widget.matchMargin) style.margin = e.source.margin.join(" ");
180
-
181
- if (this.state != "over")
182
- this.setState({
183
- state: "over",
184
- style,
185
- });
186
- }
187
-
188
- onDragOver(e) {}
189
-
190
- onGetHScrollParent() {
191
- return findScrollableParent(this.el, true);
192
- }
193
-
194
- onGetVScrollParent() {
195
- return findScrollableParent(this.el);
196
- }
197
-
198
- onDrop(e) {
199
- let { instance } = this.props;
200
- let { widget } = instance;
201
-
202
- if (this.state.state == "over" && widget.onDrop) instance.invoke("onDrop", e, instance);
203
- }
204
-
205
- onDragEnd(e) {
206
- this.setState({
207
- state: false,
208
- style: null,
209
- });
210
- }
211
- }
212
-
213
- DropZoneComponent.contextType = DragDropContext;
1
+ import { Widget, VDOM } from "../../ui/Widget";
2
+ import { Container } from "../../ui/Container";
3
+ import { parseStyle } from "../../util/parseStyle";
4
+ import { registerDropZone, DragDropContext } from "./ops";
5
+ import { findScrollableParent } from "../../util/findScrollableParent";
6
+ import { isNumber } from "../../util/isNumber";
7
+ import { getTopLevelBoundingClientRect } from "../../util/getTopLevelBoundingClientRect";
8
+
9
+ export class DropZone extends Container {
10
+ init() {
11
+ this.overStyle = parseStyle(this.overStyle);
12
+ this.nearStyle = parseStyle(this.nearStyle);
13
+ this.farStyle = parseStyle(this.farStyle);
14
+
15
+ if (isNumber(this.inflate)) {
16
+ this.hinflate = this.inflate;
17
+ this.vinflate = this.inflate;
18
+ }
19
+
20
+ super.init();
21
+ }
22
+
23
+ declareData() {
24
+ return super.declareData(...arguments, {
25
+ overClass: { structured: true },
26
+ nearClass: { structured: true },
27
+ farClass: { structured: true },
28
+ overStyle: { structured: true },
29
+ nearStyle: { structured: true },
30
+ farStyle: { structured: true },
31
+ data: { structured: true },
32
+ });
33
+ }
34
+
35
+ render(context, instance, key) {
36
+ return (
37
+ <DropZoneComponent key={key} instance={instance}>
38
+ {this.renderChildren(context, instance)}
39
+ </DropZoneComponent>
40
+ );
41
+ }
42
+ }
43
+
44
+ DropZone.prototype.styled = true;
45
+ DropZone.prototype.nearDistance = 0;
46
+ DropZone.prototype.hinflate = 0;
47
+ DropZone.prototype.vinflate = 0;
48
+ DropZone.prototype.baseClass = "dropzone";
49
+
50
+ Widget.alias("dropzone", DropZone);
51
+
52
+ class DropZoneComponent extends VDOM.Component {
53
+ constructor(props) {
54
+ super(props);
55
+ this.state = {
56
+ state: false,
57
+ };
58
+ }
59
+
60
+ render() {
61
+ let { instance, children } = this.props;
62
+ let { data, widget } = instance;
63
+ let { CSS } = widget;
64
+
65
+ let classes = [data.classNames, CSS.state(this.state.state)];
66
+
67
+ let stateStyle;
68
+
69
+ switch (this.state.state) {
70
+ case "over":
71
+ classes.push(data.overClass);
72
+ stateStyle = parseStyle(data.overStyle);
73
+ break;
74
+ case "near":
75
+ classes.push(data.nearClass);
76
+ stateStyle = parseStyle(data.nearStyle);
77
+ break;
78
+ case "far":
79
+ classes.push(data.farClass);
80
+ stateStyle = parseStyle(data.farStyle);
81
+ break;
82
+ }
83
+
84
+ return (
85
+ <div
86
+ className={CSS.expand(classes)}
87
+ style={{ ...data.style, ...this.state.style, ...stateStyle }}
88
+ ref={(el) => {
89
+ this.el = el;
90
+ }}
91
+ >
92
+ {children}
93
+ </div>
94
+ );
95
+ }
96
+
97
+ componentDidMount() {
98
+ let dragDropOptions = this.context;
99
+ let disabled = dragDropOptions && dragDropOptions.disabled;
100
+ if (!disabled) this.unregister = registerDropZone(this);
101
+ }
102
+
103
+ componentWillUnmount() {
104
+ this.unregister && this.unregister();
105
+ }
106
+
107
+ onDropTest(e) {
108
+ let { instance } = this.props;
109
+ let { widget } = instance;
110
+ return !widget.onDropTest || instance.invoke("onDropTest", e, instance);
111
+ }
112
+
113
+ onDragStart(e) {
114
+ this.setState({
115
+ state: "far",
116
+ });
117
+ }
118
+
119
+ onDragNear(e) {
120
+ this.setState({
121
+ state: "near",
122
+ });
123
+ }
124
+
125
+ onDragAway(e) {
126
+ this.setState({
127
+ state: "far",
128
+ });
129
+ }
130
+
131
+ onDragLeave(e) {
132
+ let { nearDistance } = this.props.instance.widget;
133
+ this.setState({
134
+ state: nearDistance ? "near" : "far",
135
+ style: null,
136
+ });
137
+ }
138
+
139
+ onDragMeasure(e) {
140
+ let rect = getTopLevelBoundingClientRect(this.el);
141
+
142
+ let { instance } = this.props;
143
+ let { widget } = instance;
144
+
145
+ let { clientX, clientY } = e.cursor;
146
+ let distance =
147
+ Math.max(0, rect.left - clientX, clientX - rect.right) +
148
+ Math.max(0, rect.top - clientY, clientY - rect.bottom);
149
+
150
+ if (widget.hinflate > 0) {
151
+ rect.left -= widget.hinflate;
152
+ rect.right += widget.hinflate;
153
+ }
154
+
155
+ if (widget.vinflate > 0) {
156
+ rect.top -= widget.vinflate;
157
+ rect.bottom += widget.vinflate;
158
+ }
159
+
160
+ let { nearDistance } = widget;
161
+
162
+ let over = rect.left <= clientX && clientX < rect.right && rect.top <= clientY && clientY < rect.bottom;
163
+
164
+ return {
165
+ over: over && distance,
166
+ near: nearDistance && (over || distance < nearDistance),
167
+ };
168
+ }
169
+
170
+ onDragEnter(e) {
171
+ let { instance } = this.props;
172
+ let { widget } = instance;
173
+ let style = {};
174
+
175
+ if (widget.matchWidth) style.width = `${e.source.width}px`;
176
+
177
+ if (widget.matchHeight) style.height = `${e.source.height}px`;
178
+
179
+ if (widget.matchMargin) style.margin = e.source.margin.join(" ");
180
+
181
+ if (this.state != "over")
182
+ this.setState({
183
+ state: "over",
184
+ style,
185
+ });
186
+ }
187
+
188
+ onDragOver(e) {}
189
+
190
+ onGetHScrollParent() {
191
+ return findScrollableParent(this.el, true);
192
+ }
193
+
194
+ onGetVScrollParent() {
195
+ return findScrollableParent(this.el);
196
+ }
197
+
198
+ onDrop(e) {
199
+ let { instance } = this.props;
200
+ let { widget } = instance;
201
+
202
+ if (this.state.state == "over" && widget.onDrop) instance.invoke("onDrop", e, instance);
203
+ }
204
+
205
+ onDragEnd(e) {
206
+ this.setState({
207
+ state: false,
208
+ style: null,
209
+ });
210
+ }
211
+ }
212
+
213
+ DropZoneComponent.contextType = DragDropContext;