cx 22.8.3 → 22.9.0

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