cx 22.8.0 → 22.8.3

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