cx 22.11.0 → 22.11.2

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