cx 22.3.3 → 22.3.4

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