cx 24.8.7 → 24.9.1

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