cx 22.11.2 → 22.11.3

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