cx 22.11.2 → 22.12.0

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