cx 22.3.3 → 22.3.4

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