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