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