cx 25.10.1 → 26.0.1

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 (1247) hide show
  1. package/.mocharc.json +5 -0
  2. package/LICENSE-THIRD-PARTY.md +91 -91
  3. package/LICENSE.md +7 -7
  4. package/README.md +46 -46
  5. package/build.js +129 -0
  6. package/dist/charts.css +250 -250
  7. package/dist/charts.js +2421 -3102
  8. package/dist/data.js +857 -1063
  9. package/dist/hooks.js +48 -59
  10. package/dist/jsx-runtime.js +24 -0
  11. package/dist/manifest.js +959 -953
  12. package/dist/svg.js +266 -432
  13. package/dist/ui.js +1935 -2388
  14. package/dist/util.js +587 -557
  15. package/dist/widgets.css +6 -6
  16. package/dist/widgets.js +7543 -9909
  17. package/package.json +39 -5
  18. package/src/charts/Bar.scss +5 -3
  19. package/src/charts/Bar.ts +114 -0
  20. package/src/charts/BarGraph.scss +4 -3
  21. package/src/charts/BarGraph.tsx +145 -0
  22. package/src/charts/BubbleGraph.scss +5 -3
  23. package/src/charts/BubbleGraph.tsx +165 -0
  24. package/src/charts/Chart.ts +108 -0
  25. package/src/charts/ColorMap.ts +150 -0
  26. package/src/charts/Column.scss +5 -3
  27. package/src/charts/Column.ts +124 -0
  28. package/src/charts/ColumnBarBase.tsx +284 -0
  29. package/src/charts/ColumnBarGraphBase.tsx +229 -0
  30. package/src/charts/ColumnGraph.scss +5 -3
  31. package/src/charts/ColumnGraph.tsx +153 -0
  32. package/src/charts/Grid.ts +5 -0
  33. package/src/charts/Gridlines.scss +5 -3
  34. package/src/charts/Gridlines.tsx +88 -0
  35. package/src/charts/Legend.scss +5 -3
  36. package/src/charts/Legend.tsx +270 -0
  37. package/src/charts/LegendEntry.scss +5 -3
  38. package/src/charts/LegendEntry.tsx +197 -0
  39. package/src/charts/LineGraph.scss +4 -3
  40. package/src/charts/LineGraph.tsx +441 -0
  41. package/src/charts/Marker.scss +5 -3
  42. package/src/charts/Marker.tsx +483 -0
  43. package/src/charts/MarkerLine.scss +5 -3
  44. package/src/charts/MarkerLine.tsx +214 -0
  45. package/src/charts/MouseTracker.tsx +112 -0
  46. package/src/charts/Pie.ts +8 -0
  47. package/src/charts/PieChart.scss +5 -3
  48. package/src/charts/PieChart.tsx +717 -0
  49. package/src/charts/PieLabel.tsx +106 -0
  50. package/src/charts/PieLabelsContainer.ts +68 -0
  51. package/src/charts/Range.scss +4 -3
  52. package/src/charts/Range.tsx +318 -0
  53. package/src/charts/RangeMarker.scss +5 -3
  54. package/src/charts/RangeMarker.tsx +233 -0
  55. package/src/charts/ScatterGraph.scss +5 -3
  56. package/src/charts/ScatterGraph.tsx +245 -0
  57. package/src/charts/Swimlane.scss +5 -3
  58. package/src/charts/Swimlane.tsx +195 -0
  59. package/src/charts/Swimlanes.scss +5 -3
  60. package/src/charts/Swimlanes.tsx +179 -0
  61. package/src/charts/axis/Axis.scss +22 -22
  62. package/src/charts/axis/Axis.tsx +444 -0
  63. package/src/charts/axis/CategoryAxis.scss +5 -3
  64. package/src/charts/axis/CategoryAxis.tsx +313 -0
  65. package/src/charts/axis/NumericAxis.scss +5 -3
  66. package/src/charts/axis/NumericAxis.tsx +437 -0
  67. package/src/charts/axis/Stack.ts +61 -0
  68. package/src/charts/axis/TimeAxis.scss +4 -3
  69. package/src/charts/axis/TimeAxis.tsx +718 -0
  70. package/src/charts/axis/index.scss +5 -5
  71. package/src/charts/axis/index.ts +4 -0
  72. package/src/charts/axis/variables.scss +2 -2
  73. package/src/charts/helpers/MinMaxFinder.ts +66 -0
  74. package/src/charts/helpers/PointReducer.ts +135 -0
  75. package/src/charts/helpers/SnapPointFinder.ts +136 -0
  76. package/src/charts/helpers/ValueAtFinder.ts +72 -0
  77. package/src/charts/helpers/index.ts +4 -0
  78. package/src/charts/index.scss +22 -22
  79. package/src/charts/palette.scss +7 -5
  80. package/src/charts/shapes.tsx +86 -0
  81. package/src/charts/variables.scss +2 -1
  82. package/src/core.d.ts +182 -310
  83. package/src/data/AggregateFunction.ts +171 -0
  84. package/src/data/ArrayElementView.spec.ts +88 -0
  85. package/src/data/ArrayElementView.ts +90 -0
  86. package/src/data/ArrayRef.ts +35 -0
  87. package/src/data/AugmentedViewBase.ts +88 -0
  88. package/src/data/Binding.ts +104 -0
  89. package/src/data/ExposedRecordView.ts +95 -0
  90. package/src/data/ExposedValueView.ts +89 -0
  91. package/src/data/Expression.spec.ts +229 -0
  92. package/src/data/Expression.ts +233 -0
  93. package/src/data/Grouper.spec.ts +57 -0
  94. package/src/data/Grouper.ts +158 -0
  95. package/src/data/NestedDataView.ts +43 -0
  96. package/src/data/ReadOnlyDataView.ts +39 -0
  97. package/src/data/Ref.spec.ts +79 -0
  98. package/src/data/Ref.ts +104 -0
  99. package/src/data/Selector.ts +10 -0
  100. package/src/data/Store.spec.ts +22 -0
  101. package/src/data/Store.ts +52 -0
  102. package/src/data/StoreProxy.ts +19 -0
  103. package/src/data/StoreRef.spec.ts +24 -0
  104. package/src/data/StoreRef.ts +66 -0
  105. package/src/data/StringTemplate.spec.ts +132 -0
  106. package/src/data/StringTemplate.ts +93 -0
  107. package/src/data/StructuredSelector.spec.ts +113 -0
  108. package/src/data/StructuredSelector.ts +146 -0
  109. package/src/data/SubscribableView.ts +63 -0
  110. package/src/data/View.ts +289 -0
  111. package/src/data/ZoomIntoPropertyView.spec.ts +64 -0
  112. package/src/data/ZoomIntoPropertyView.ts +45 -0
  113. package/src/data/comparer.ts +78 -0
  114. package/src/data/computable.spec.ts +62 -0
  115. package/src/data/computable.ts +72 -0
  116. package/src/data/createAccessorModelProxy.ts +60 -0
  117. package/src/data/createStructuredSelector.spec.ts +45 -0
  118. package/src/data/createStructuredSelector.ts +62 -0
  119. package/src/data/defaultCompare.ts +15 -0
  120. package/src/data/diff/diffArrays.ts +49 -0
  121. package/src/data/diff/diffs.spec.ts +49 -0
  122. package/src/data/diff/index.ts +1 -0
  123. package/src/data/enableFatArrowExpansion.ts +6 -0
  124. package/src/data/getAccessor.spec.ts +11 -0
  125. package/src/data/getAccessor.ts +74 -0
  126. package/src/data/getSelector.spec.ts +43 -0
  127. package/src/data/getSelector.ts +66 -0
  128. package/src/data/index.ts +30 -0
  129. package/src/data/isSelector.ts +26 -0
  130. package/src/data/ops/append.spec.ts +28 -0
  131. package/src/data/ops/append.ts +5 -0
  132. package/src/data/ops/filter.spec.ts +35 -0
  133. package/src/data/ops/filter.ts +9 -0
  134. package/src/data/ops/findTreeNode.spec.ts +23 -0
  135. package/src/data/ops/findTreeNode.ts +18 -0
  136. package/src/data/ops/findTreePath.ts +23 -0
  137. package/src/data/ops/insertElement.ts +3 -0
  138. package/src/data/ops/merge.spec.ts +27 -0
  139. package/src/data/ops/merge.ts +13 -0
  140. package/src/data/ops/moveElement.ts +21 -0
  141. package/src/data/ops/removeTreeNodes.spec.ts +37 -0
  142. package/src/data/ops/removeTreeNodes.ts +15 -0
  143. package/src/data/ops/updateArray.spec.ts +69 -0
  144. package/src/data/ops/updateArray.ts +31 -0
  145. package/src/data/ops/updateTree.spec.ts +54 -0
  146. package/src/data/ops/updateTree.ts +23 -0
  147. package/src/data/test-types.ts +7 -0
  148. package/src/global.scss +13 -13
  149. package/src/hooks/createLocalStorageRef.ts +21 -0
  150. package/src/hooks/invokeCallback.spec.tsx +59 -0
  151. package/src/hooks/invokeCallback.ts +8 -0
  152. package/src/hooks/resolveCallback.spec.tsx +48 -0
  153. package/src/hooks/resolveCallback.ts +16 -0
  154. package/src/hooks/store.spec.tsx +67 -0
  155. package/src/hooks/store.ts +46 -0
  156. package/src/hooks/useEffect.ts +14 -0
  157. package/src/hooks/useInterval.ts +8 -0
  158. package/src/hooks/useState.ts +20 -0
  159. package/src/hooks/useTrigger.spec.tsx +99 -0
  160. package/src/hooks/useTrigger.ts +26 -0
  161. package/src/jsx-runtime.ts +72 -0
  162. package/src/locale/de-de.ts +76 -0
  163. package/src/locale/en-us.ts +75 -0
  164. package/src/locale/es-es.ts +76 -0
  165. package/src/locale/fr-fr.ts +76 -0
  166. package/src/locale/nl-nl.ts +76 -0
  167. package/src/locale/pt-pt.ts +76 -0
  168. package/src/locale/sr-latn-ba.ts +76 -0
  169. package/src/svg/BoundedObject.ts +101 -0
  170. package/src/svg/ClipRect.tsx +29 -0
  171. package/src/svg/Ellipse.tsx +69 -0
  172. package/src/svg/Line.tsx +58 -0
  173. package/src/svg/NonOverlappingRect.ts +26 -0
  174. package/src/svg/NonOverlappingRectGroup.ts +49 -0
  175. package/src/svg/Rectangle.tsx +91 -0
  176. package/src/svg/Svg.scss +5 -4
  177. package/src/svg/Svg.tsx +241 -0
  178. package/src/svg/Text.tsx +134 -0
  179. package/src/svg/TextualBoundedObject.ts +35 -0
  180. package/src/svg/index.scss +8 -8
  181. package/src/svg/util/Rect.ts +105 -0
  182. package/src/ui/CSS.ts +87 -0
  183. package/src/ui/CSSHelper.ts +17 -0
  184. package/src/ui/Container.tsx +216 -0
  185. package/src/ui/ContentResolver.spec.tsx +430 -0
  186. package/src/ui/ContentResolver.ts +124 -0
  187. package/src/ui/Controller.spec.tsx +566 -0
  188. package/src/ui/Controller.ts +189 -0
  189. package/src/ui/Culture.ts +159 -0
  190. package/src/ui/Cx.spec.tsx +208 -0
  191. package/src/ui/Cx.tsx +386 -0
  192. package/src/ui/DataProxy.spec.tsx +337 -0
  193. package/src/ui/DataProxy.ts +55 -0
  194. package/src/ui/DetachedScope.tsx +159 -0
  195. package/src/ui/FocusManager.ts +171 -0
  196. package/src/ui/Format.ts +108 -0
  197. package/src/ui/HoverSync.tsx +189 -0
  198. package/src/ui/Instance.ts +868 -0
  199. package/src/ui/IsolatedScope.spec.tsx +55 -0
  200. package/src/ui/IsolatedScope.ts +50 -0
  201. package/src/ui/Localization.ts +70 -0
  202. package/src/ui/Prop.ts +112 -0
  203. package/src/ui/PureContainer.spec.tsx +230 -0
  204. package/src/ui/PureContainer.tsx +19 -0
  205. package/src/ui/RenderingContext.ts +99 -0
  206. package/src/ui/Repeater.spec.tsx +141 -0
  207. package/src/ui/Repeater.ts +203 -0
  208. package/src/ui/Rescope.spec.tsx +199 -0
  209. package/src/ui/Rescope.ts +49 -0
  210. package/src/ui/ResizeManager.ts +31 -0
  211. package/src/ui/Restate.spec.tsx +418 -0
  212. package/src/ui/Restate.tsx +217 -0
  213. package/src/ui/StaticText.ts +11 -0
  214. package/src/ui/StructuredInstanceDataAccessor.ts +32 -0
  215. package/src/ui/Text.ts +30 -0
  216. package/src/ui/VDOM.ts +34 -0
  217. package/src/ui/Widget.spec.tsx +53 -0
  218. package/src/ui/Widget.tsx +308 -0
  219. package/src/ui/ZIndexManager.ts +11 -0
  220. package/src/ui/adapter/ArrayAdapter.spec.ts +55 -0
  221. package/src/ui/adapter/ArrayAdapter.ts +226 -0
  222. package/src/ui/adapter/DataAdapter.ts +52 -0
  223. package/src/ui/adapter/GroupAdapter.ts +235 -0
  224. package/src/ui/adapter/TreeAdapter.spec.ts +76 -0
  225. package/src/ui/adapter/TreeAdapter.ts +185 -0
  226. package/src/ui/app/History.ts +133 -0
  227. package/src/ui/app/Url.spec.ts +50 -0
  228. package/src/ui/app/Url.ts +102 -0
  229. package/src/ui/app/startAppLoop.tsx +74 -0
  230. package/src/ui/app/startHotAppLoop.ts +40 -0
  231. package/src/ui/batchUpdates.ts +77 -0
  232. package/src/ui/bind.ts +10 -0
  233. package/src/ui/createFunctionalComponent.spec.tsx +399 -0
  234. package/src/ui/createFunctionalComponent.ts +65 -0
  235. package/src/ui/expr.ts +44 -0
  236. package/src/ui/flattenProps.ts +21 -0
  237. package/src/ui/index.scss +2 -2
  238. package/src/ui/index.ts +45 -0
  239. package/src/ui/keyboardShortcuts.ts +40 -0
  240. package/src/ui/layout/Content.ts +30 -0
  241. package/src/ui/layout/ContentPlaceholder.spec.tsx +587 -0
  242. package/src/ui/layout/ContentPlaceholder.ts +133 -0
  243. package/src/ui/layout/FirstVisibleChildLayout.spec.tsx +195 -0
  244. package/src/ui/layout/FirstVisibleChildLayout.ts +60 -0
  245. package/src/ui/layout/LabelsLeftLayout.scss +6 -4
  246. package/src/ui/layout/LabelsLeftLayout.tsx +76 -0
  247. package/src/ui/layout/LabelsTopLayout.scss +5 -4
  248. package/src/ui/layout/LabelsTopLayout.tsx +156 -0
  249. package/src/ui/layout/UseParentLayout.ts +8 -0
  250. package/src/ui/layout/exploreChildren.ts +38 -0
  251. package/src/ui/layout/index.scss +3 -3
  252. package/src/ui/layout/variables.scss +2 -2
  253. package/src/ui/selection/KeySelection.ts +165 -0
  254. package/src/ui/selection/PropertySelection.ts +87 -0
  255. package/src/ui/selection/Selection.ts +118 -0
  256. package/src/ui/tpl.ts +5 -0
  257. package/src/ui/variables.scss +1 -1
  258. package/src/util/Component.spec.ts +381 -0
  259. package/src/util/Component.ts +296 -0
  260. package/src/util/Console.ts +11 -0
  261. package/src/util/DOM.ts +88 -0
  262. package/src/util/Debug.ts +71 -0
  263. package/src/util/Format.spec.ts +69 -0
  264. package/src/util/Format.ts +267 -0
  265. package/src/util/GlobalCacheIdentifier.ts +11 -0
  266. package/src/util/KeyCode.ts +21 -0
  267. package/src/util/SubscriberList.ts +87 -0
  268. package/src/util/Timing.ts +59 -0
  269. package/src/util/TraversalStack.spec.ts +54 -0
  270. package/src/util/TraversalStack.ts +48 -0
  271. package/src/util/addEventListenerWithOptions.ts +41 -0
  272. package/src/util/browserSupportsPassiveEventHandlers.ts +20 -0
  273. package/src/util/calculateNaturalElementHeight.ts +22 -0
  274. package/src/util/call-once.scss +6 -6
  275. package/src/util/capitalize.ts +4 -0
  276. package/src/util/coalesce.ts +6 -0
  277. package/src/util/color/hslToRgb.ts +34 -0
  278. package/src/util/color/parseColor.ts +173 -0
  279. package/src/util/color/rgbToHex.ts +15 -0
  280. package/src/util/color/rgbToHsl.ts +36 -0
  281. package/src/util/date/dateDiff.ts +9 -0
  282. package/src/util/date/diff.ts +13 -0
  283. package/src/util/date/encodeDate.ts +8 -0
  284. package/src/util/date/encodeDateWithTimezoneOffset.ts +19 -0
  285. package/src/util/date/lowerBoundCheck.ts +13 -0
  286. package/src/util/date/maxDate.ts +14 -0
  287. package/src/util/date/minDate.ts +14 -0
  288. package/src/util/date/monthStart.ts +8 -0
  289. package/src/util/date/parseDateInvariant.ts +20 -0
  290. package/src/util/date/sameDate.ts +11 -0
  291. package/src/util/date/upperBoundCheck.ts +13 -0
  292. package/src/util/date/zeroTime.ts +9 -0
  293. package/src/util/debounce.ts +26 -0
  294. package/src/util/dummyCallback.ts +1 -0
  295. package/src/util/escapeSpecialRegexCharacters.ts +8 -0
  296. package/src/util/eventCallbacks.ts +12 -0
  297. package/src/util/expandFatArrows.ts +118 -0
  298. package/src/util/findScrollableParent.ts +15 -0
  299. package/src/util/getActiveElement.ts +4 -0
  300. package/src/util/getParentFrameBoundingClientRect.ts +13 -0
  301. package/src/util/getScrollerBoundingClientRect.ts +12 -0
  302. package/src/util/getSearchQueryPredicate.ts +58 -0
  303. package/src/util/getTopLevelBoundingClientRect.ts +7 -0
  304. package/src/util/getVendorPrefix.ts +33 -0
  305. package/src/util/hasKey.ts +18 -0
  306. package/src/util/index.scss +10 -10
  307. package/src/util/index.ts +55 -0
  308. package/src/util/innerTextTrim.ts +10 -0
  309. package/src/util/isArray.ts +3 -0
  310. package/src/util/isDataRecord.ts +5 -0
  311. package/src/util/isDefined.ts +3 -0
  312. package/src/util/isDigit.ts +8 -0
  313. package/src/util/isFunction.ts +3 -0
  314. package/src/util/isNonEmptyArray.ts +3 -0
  315. package/src/util/isNumber.ts +3 -0
  316. package/src/util/isObject.ts +3 -0
  317. package/src/util/isPromise.ts +6 -0
  318. package/src/util/isString.ts +3 -0
  319. package/src/util/isTextInputElement.ts +3 -0
  320. package/src/util/isTouchDevice.ts +7 -0
  321. package/src/util/isTouchEvent.ts +64 -0
  322. package/src/util/isUndefined.ts +3 -0
  323. package/src/util/isValidIdentifierName.ts +5 -0
  324. package/src/util/onIdleCallback.ts +10 -0
  325. package/src/util/parseStyle.ts +29 -0
  326. package/src/util/quote.ts +6 -0
  327. package/src/util/reverseSlice.ts +10 -0
  328. package/src/util/routeAppend.ts +16 -0
  329. package/src/util/scrollElementIntoView.ts +40 -0
  330. package/src/util/scss/add-rules.scss +7 -5
  331. package/src/util/scss/calc.scss +12 -8
  332. package/src/util/scss/call-once.scss +5 -3
  333. package/src/util/scss/clockwise.scss +20 -18
  334. package/src/util/scss/colors.scss +4 -2
  335. package/src/util/scss/deep-get.scss +3 -1
  336. package/src/util/scss/deep-merge.scss +6 -3
  337. package/src/util/scss/divide.scss +3 -3
  338. package/src/util/scss/include.scss +6 -5
  339. package/src/util/scss/index.scss +9 -9
  340. package/src/util/shallowEquals.ts +43 -0
  341. package/src/util/test/createTestRenderer.tsx +12 -0
  342. package/src/util/throttle.ts +21 -0
  343. package/src/util/validatedDebounce.ts +23 -0
  344. package/src/variables.scss +217 -217
  345. package/src/widgets/AccessorBindings.spec.tsx +64 -66
  346. package/src/widgets/Button.scss +6 -4
  347. package/src/widgets/Button.tsx +201 -0
  348. package/src/widgets/Button.variables.scss +13 -10
  349. package/src/widgets/CxCredit.scss +6 -4
  350. package/src/widgets/CxCredit.tsx +46 -0
  351. package/src/widgets/DocumentTitle.ts +92 -0
  352. package/src/widgets/FlexBox.scss +7 -5
  353. package/src/widgets/FlexBox.tsx +169 -0
  354. package/src/widgets/Heading.scss +6 -4
  355. package/src/widgets/Heading.ts +43 -0
  356. package/src/widgets/HighlightedSearchText.scss +6 -4
  357. package/src/widgets/HighlightedSearchText.tsx +54 -0
  358. package/src/widgets/HtmlElement.spec.tsx +79 -0
  359. package/src/widgets/HtmlElement.tsx +349 -0
  360. package/src/widgets/Icon.scss +6 -4
  361. package/src/widgets/Icon.ts +78 -0
  362. package/src/widgets/List.scss +6 -4
  363. package/src/widgets/List.tsx +787 -0
  364. package/src/widgets/ProgressBar.scss +5 -4
  365. package/src/widgets/ProgressBar.tsx +66 -0
  366. package/src/widgets/Resizer.scss +5 -4
  367. package/src/widgets/Resizer.tsx +200 -0
  368. package/src/widgets/Sandbox.ts +103 -0
  369. package/src/widgets/Section.scss +5 -4
  370. package/src/widgets/Section.tsx +187 -0
  371. package/src/widgets/animations.scss +10 -10
  372. package/src/widgets/autoFocus.ts +9 -0
  373. package/src/widgets/cx.ts +63 -0
  374. package/src/widgets/drag-drop/DragClone.scss +6 -4
  375. package/src/widgets/drag-drop/DragHandle.scss +6 -4
  376. package/src/widgets/drag-drop/DragHandle.tsx +47 -0
  377. package/src/widgets/drag-drop/DragSource.scss +6 -4
  378. package/src/widgets/drag-drop/DragSource.tsx +238 -0
  379. package/src/widgets/drag-drop/DropZone.scss +6 -4
  380. package/src/widgets/drag-drop/DropZone.tsx +354 -0
  381. package/src/widgets/drag-drop/index.scss +3 -3
  382. package/src/widgets/drag-drop/ops.tsx +422 -0
  383. package/src/widgets/drag-drop/variables.scss +4 -1
  384. package/src/widgets/enableAllInternalDependencies.ts +11 -0
  385. package/src/widgets/form/Calendar.scss +8 -5
  386. package/src/widgets/form/Calendar.tsx +760 -0
  387. package/src/widgets/form/Calendar.variables.scss +63 -63
  388. package/src/widgets/form/Checkbox.scss +5 -3
  389. package/src/widgets/form/Checkbox.tsx +285 -0
  390. package/src/widgets/form/Checkbox.variables.scss +39 -39
  391. package/src/widgets/form/ColorField.scss +5 -3
  392. package/src/widgets/form/ColorField.tsx +491 -0
  393. package/src/widgets/form/ColorPicker.scss +5 -3
  394. package/src/widgets/form/ColorPicker.tsx +544 -0
  395. package/src/widgets/form/ColorPicker.variables.scss +22 -22
  396. package/src/widgets/form/DateField.ts +21 -0
  397. package/src/widgets/form/DateTimeField.scss +5 -3
  398. package/src/widgets/form/DateTimeField.tsx +723 -0
  399. package/src/widgets/form/DateTimePicker.scss +6 -4
  400. package/src/widgets/form/DateTimePicker.tsx +431 -0
  401. package/src/widgets/form/Field.scss +4 -2
  402. package/src/widgets/form/Field.tsx +611 -0
  403. package/src/widgets/form/FieldGroup.ts +10 -0
  404. package/src/widgets/form/FieldIcon.ts +61 -0
  405. package/src/widgets/form/HelpText.scss +5 -4
  406. package/src/widgets/form/HelpText.ts +15 -0
  407. package/src/widgets/form/Label.scss +5 -4
  408. package/src/widgets/form/Label.tsx +116 -0
  409. package/src/widgets/form/LabeledContainer.ts +81 -0
  410. package/src/widgets/form/LookupField.scss +5 -3
  411. package/src/widgets/form/LookupField.tsx +1326 -0
  412. package/src/widgets/form/MonthField.scss +4 -3
  413. package/src/widgets/form/MonthField.tsx +665 -0
  414. package/src/widgets/form/MonthPicker.scss +8 -5
  415. package/src/widgets/form/MonthPicker.tsx +822 -0
  416. package/src/widgets/form/NumberField.scss +5 -3
  417. package/src/widgets/form/NumberField.tsx +540 -0
  418. package/src/widgets/form/Radio.scss +5 -3
  419. package/src/widgets/form/Radio.tsx +245 -0
  420. package/src/widgets/form/Radio.variables.scss +45 -45
  421. package/src/widgets/form/Select.scss +6 -4
  422. package/src/widgets/form/Select.tsx +322 -0
  423. package/src/widgets/form/Slider.scss +6 -3
  424. package/src/widgets/form/Slider.tsx +461 -0
  425. package/src/widgets/form/Switch.scss +5 -3
  426. package/src/widgets/form/Switch.tsx +174 -0
  427. package/src/widgets/form/TextArea.scss +6 -4
  428. package/src/widgets/form/TextArea.tsx +229 -0
  429. package/src/widgets/form/TextField.scss +6 -4
  430. package/src/widgets/form/TextField.tsx +345 -0
  431. package/src/widgets/form/TimeField.ts +10 -0
  432. package/src/widgets/form/TimeList.tsx +94 -0
  433. package/src/widgets/form/UploadButton.scss +5 -3
  434. package/src/widgets/form/UploadButton.tsx +256 -0
  435. package/src/widgets/form/ValidationError.scss +4 -3
  436. package/src/widgets/form/ValidationError.tsx +72 -0
  437. package/src/widgets/form/ValidationGroup.spec.tsx +147 -0
  438. package/src/widgets/form/ValidationGroup.ts +141 -0
  439. package/src/widgets/form/Validator.ts +23 -0
  440. package/src/widgets/form/Wheel.scss +9 -7
  441. package/src/widgets/form/Wheel.tsx +315 -0
  442. package/src/widgets/form/index.scss +24 -24
  443. package/src/widgets/form/variables.scss +3 -1
  444. package/src/widgets/grid/Grid.scss +6 -4
  445. package/src/widgets/grid/Grid.tsx +4247 -0
  446. package/src/widgets/grid/GridCell.ts +143 -0
  447. package/src/widgets/grid/GridCellEditor.tsx +52 -0
  448. package/src/widgets/grid/GridRow.ts +302 -0
  449. package/src/widgets/grid/GridRowLine.ts +49 -0
  450. package/src/widgets/grid/Pagination.scss +5 -3
  451. package/src/widgets/grid/Pagination.tsx +126 -0
  452. package/src/widgets/grid/TreeNode.scss +6 -4
  453. package/src/widgets/grid/TreeNode.tsx +145 -0
  454. package/src/widgets/grid/createGridCellEditor.tsx +18 -0
  455. package/src/widgets/grid/index.scss +3 -3
  456. package/src/widgets/grid/index.ts +17 -0
  457. package/src/widgets/grid/variables.scss +8 -4
  458. package/src/widgets/icons/arrow-down.svg +3 -3
  459. package/src/widgets/icons/arrow-right.svg +2 -2
  460. package/src/widgets/icons/base.svg +104 -104
  461. package/src/widgets/icons/calendar-old.svg +169 -169
  462. package/src/widgets/icons/calendar.svg +187 -187
  463. package/src/widgets/icons/calendar.tsx +17 -0
  464. package/src/widgets/icons/check.tsx +13 -0
  465. package/src/widgets/icons/clear.svg +74 -74
  466. package/src/widgets/icons/clear.tsx +15 -0
  467. package/src/widgets/icons/close.svg +74 -74
  468. package/src/widgets/icons/close.tsx +20 -0
  469. package/src/widgets/icons/cx.tsx +38 -0
  470. package/src/widgets/icons/drop-down.tsx +15 -0
  471. package/src/widgets/icons/dropdown-arrow.svg +61 -61
  472. package/src/widgets/icons/file.svg +4 -4
  473. package/src/widgets/icons/file.tsx +13 -0
  474. package/src/widgets/icons/folder-open.svg +5 -5
  475. package/src/widgets/icons/folder-open.tsx +15 -0
  476. package/src/widgets/icons/folder.svg +58 -58
  477. package/src/widgets/icons/folder.tsx +13 -0
  478. package/src/widgets/icons/forward.svg +67 -67
  479. package/src/widgets/icons/forward.tsx +22 -0
  480. package/src/widgets/icons/loading.svg +4 -4
  481. package/src/widgets/icons/loading.tsx +24 -0
  482. package/src/widgets/icons/menu.tsx +17 -0
  483. package/src/widgets/icons/pixel-picker.tsx +18 -0
  484. package/src/widgets/icons/registry.ts +57 -0
  485. package/src/widgets/icons/search.svg +107 -107
  486. package/src/widgets/icons/search.tsx +13 -0
  487. package/src/widgets/icons/sort-asc.svg +3 -3
  488. package/src/widgets/icons/sort-asc.tsx +14 -0
  489. package/src/widgets/icons/square.tsx +18 -0
  490. package/src/widgets/index.d.ts +55 -55
  491. package/src/widgets/index.scss +16 -16
  492. package/src/widgets/nav/Link.scss +5 -3
  493. package/src/widgets/nav/Link.ts +12 -0
  494. package/src/widgets/nav/LinkButton.ts +176 -0
  495. package/src/widgets/nav/Menu.scss +7 -5
  496. package/src/widgets/nav/Menu.tsx +489 -0
  497. package/src/widgets/nav/Menu.variables.scss +3 -1
  498. package/src/widgets/nav/MenuItem.scss +6 -4
  499. package/src/widgets/nav/MenuItem.tsx +523 -0
  500. package/src/widgets/nav/MenuSpacer.ts +19 -0
  501. package/src/widgets/nav/RedirectRoute.ts +50 -0
  502. package/src/widgets/nav/Route.spec.tsx +24 -0
  503. package/src/widgets/nav/Route.ts +142 -0
  504. package/src/widgets/nav/Scroller.scss +5 -3
  505. package/src/widgets/nav/Scroller.tsx +253 -0
  506. package/src/widgets/nav/Submenu.ts +6 -0
  507. package/src/widgets/nav/Tab.scss +5 -4
  508. package/src/widgets/nav/Tab.ts +120 -0
  509. package/src/widgets/nav/Tab.variables.scss +84 -84
  510. package/src/widgets/nav/cover.scss +5 -4
  511. package/src/widgets/nav/index.scss +5 -5
  512. package/src/widgets/nav/variables.scss +3 -1
  513. package/src/widgets/overlay/ContextMenu.ts +42 -0
  514. package/src/widgets/overlay/Dropdown.scss +11 -9
  515. package/src/widgets/overlay/Dropdown.tsx +762 -0
  516. package/src/widgets/overlay/FlyweightTooltipTracker.ts +57 -0
  517. package/src/widgets/overlay/MsgBox.tsx +141 -0
  518. package/src/widgets/overlay/Overlay.scss +5 -3
  519. package/src/widgets/overlay/Overlay.tsx +942 -0
  520. package/src/widgets/overlay/Toast.scss +8 -7
  521. package/src/widgets/overlay/Toast.ts +111 -0
  522. package/src/widgets/overlay/Tooltip.scss +6 -4
  523. package/src/widgets/overlay/Tooltip.tsx +393 -0
  524. package/src/widgets/overlay/Window.scss +6 -4
  525. package/src/widgets/overlay/Window.tsx +299 -0
  526. package/src/widgets/overlay/Window.variables.scss +62 -62
  527. package/src/widgets/overlay/alerts.ts +46 -0
  528. package/src/widgets/overlay/captureMouse.scss +13 -13
  529. package/src/widgets/overlay/captureMouse.ts +195 -0
  530. package/src/widgets/overlay/createHotPromiseWindowFactory.ts +72 -0
  531. package/src/widgets/overlay/index.scss +15 -15
  532. package/src/widgets/overlay/index.ts +11 -0
  533. package/src/widgets/overlay/tooltip-ops.ts +173 -0
  534. package/src/widgets/overlay/variables.scss +3 -1
  535. package/src/widgets/variables.scss +3 -1
  536. package/tsconfig.compile.json +4 -0
  537. package/tsconfig.json +34 -0
  538. package/tsconfig.mocha.json +14 -0
  539. package/charts.d.ts +0 -1
  540. package/charts.js +0 -1
  541. package/data.d.ts +0 -1
  542. package/data.js +0 -1
  543. package/hooks.d.ts +0 -1
  544. package/hooks.js +0 -1
  545. package/index.js +0 -17
  546. package/locale/de-de.js +0 -75
  547. package/locale/en-us.js +0 -75
  548. package/locale/es-es.js +0 -75
  549. package/locale/fr-fr.js +0 -75
  550. package/locale/nl-nl.js +0 -75
  551. package/locale/pt-pt.js +0 -75
  552. package/locale/sr-latn-ba.js +0 -75
  553. package/manifest.js +0 -1
  554. package/src/charts/Bar.d.ts +0 -28
  555. package/src/charts/Bar.js +0 -90
  556. package/src/charts/BarGraph.d.ts +0 -15
  557. package/src/charts/BarGraph.js +0 -112
  558. package/src/charts/BubbleGraph.js +0 -93
  559. package/src/charts/Chart.d.ts +0 -12
  560. package/src/charts/Chart.js +0 -75
  561. package/src/charts/ColorMap.d.ts +0 -21
  562. package/src/charts/ColorMap.js +0 -97
  563. package/src/charts/Column.d.ts +0 -29
  564. package/src/charts/Column.js +0 -88
  565. package/src/charts/ColumnBarBase.d.ts +0 -64
  566. package/src/charts/ColumnBarBase.js +0 -176
  567. package/src/charts/ColumnBarGraphBase.d.ts +0 -73
  568. package/src/charts/ColumnBarGraphBase.js +0 -114
  569. package/src/charts/ColumnGraph.d.ts +0 -18
  570. package/src/charts/ColumnGraph.js +0 -120
  571. package/src/charts/Grid.js +0 -5
  572. package/src/charts/Gridlines.d.ts +0 -25
  573. package/src/charts/Gridlines.js +0 -49
  574. package/src/charts/Legend.d.ts +0 -45
  575. package/src/charts/Legend.js +0 -187
  576. package/src/charts/LegendEntry.d.ts +0 -54
  577. package/src/charts/LegendEntry.js +0 -128
  578. package/src/charts/LineGraph.d.ts +0 -101
  579. package/src/charts/LineGraph.js +0 -300
  580. package/src/charts/Marker.d.ts +0 -110
  581. package/src/charts/Marker.js +0 -311
  582. package/src/charts/MarkerLine.d.ts +0 -56
  583. package/src/charts/MarkerLine.js +0 -128
  584. package/src/charts/MouseTracker.d.ts +0 -17
  585. package/src/charts/MouseTracker.js +0 -81
  586. package/src/charts/Pie.js +0 -8
  587. package/src/charts/PieChart.d.ts +0 -92
  588. package/src/charts/PieChart.js +0 -530
  589. package/src/charts/PieLabel.d.ts +0 -26
  590. package/src/charts/PieLabel.js +0 -71
  591. package/src/charts/PieLabelsContainer.d.ts +0 -6
  592. package/src/charts/PieLabelsContainer.js +0 -55
  593. package/src/charts/Range.d.ts +0 -75
  594. package/src/charts/Range.js +0 -206
  595. package/src/charts/RangeMarker.d.ts +0 -35
  596. package/src/charts/RangeMarker.js +0 -159
  597. package/src/charts/ScatterGraph.d.ts +0 -64
  598. package/src/charts/ScatterGraph.js +0 -164
  599. package/src/charts/Swimlane.d.ts +0 -24
  600. package/src/charts/Swimlane.js +0 -140
  601. package/src/charts/Swimlanes.d.ts +0 -41
  602. package/src/charts/Swimlanes.js +0 -114
  603. package/src/charts/axis/Axis.d.ts +0 -113
  604. package/src/charts/axis/Axis.js +0 -288
  605. package/src/charts/axis/CategoryAxis.d.ts +0 -30
  606. package/src/charts/axis/CategoryAxis.js +0 -241
  607. package/src/charts/axis/NumericAxis.d.ts +0 -46
  608. package/src/charts/axis/NumericAxis.js +0 -351
  609. package/src/charts/axis/Stack.d.ts +0 -11
  610. package/src/charts/axis/Stack.js +0 -55
  611. package/src/charts/axis/TimeAxis.d.ts +0 -31
  612. package/src/charts/axis/TimeAxis.js +0 -611
  613. package/src/charts/axis/index.d.ts +0 -4
  614. package/src/charts/axis/index.js +0 -4
  615. package/src/charts/helpers/MinMaxFinder.d.ts +0 -22
  616. package/src/charts/helpers/MinMaxFinder.js +0 -36
  617. package/src/charts/helpers/PointReducer.d.ts +0 -24
  618. package/src/charts/helpers/PointReducer.js +0 -61
  619. package/src/charts/helpers/SnapPointFinder.d.ts +0 -30
  620. package/src/charts/helpers/SnapPointFinder.js +0 -69
  621. package/src/charts/helpers/ValueAtFinder.d.ts +0 -16
  622. package/src/charts/helpers/ValueAtFinder.js +0 -46
  623. package/src/charts/helpers/index.d.ts +0 -4
  624. package/src/charts/helpers/index.js +0 -4
  625. package/src/charts/index.d.ts +0 -27
  626. package/src/charts/shapes.d.ts +0 -23
  627. package/src/charts/shapes.js +0 -79
  628. package/src/data/AggregateFunction.d.ts +0 -20
  629. package/src/data/AggregateFunction.js +0 -145
  630. package/src/data/ArrayElementView.d.ts +0 -13
  631. package/src/data/ArrayElementView.js +0 -64
  632. package/src/data/ArrayElementView.spec.js +0 -88
  633. package/src/data/ArrayRef.d.ts +0 -15
  634. package/src/data/ArrayRef.js +0 -35
  635. package/src/data/AugmentedViewBase.d.ts +0 -18
  636. package/src/data/AugmentedViewBase.js +0 -77
  637. package/src/data/Binding.d.ts +0 -19
  638. package/src/data/Binding.js +0 -76
  639. package/src/data/ExposedRecordView.d.ts +0 -14
  640. package/src/data/ExposedRecordView.js +0 -75
  641. package/src/data/ExposedValueView.d.ts +0 -19
  642. package/src/data/ExposedValueView.js +0 -73
  643. package/src/data/Expression.d.ts +0 -17
  644. package/src/data/Expression.js +0 -229
  645. package/src/data/Expression.spec.js +0 -229
  646. package/src/data/Grouper.d.ts +0 -21
  647. package/src/data/Grouper.js +0 -144
  648. package/src/data/Grouper.spec.js +0 -57
  649. package/src/data/NestedDataView.d.ts +0 -19
  650. package/src/data/NestedDataView.js +0 -22
  651. package/src/data/ReadOnlyDataView.d.ts +0 -14
  652. package/src/data/ReadOnlyDataView.js +0 -27
  653. package/src/data/Ref.d.ts +0 -24
  654. package/src/data/Ref.js +0 -79
  655. package/src/data/Ref.spec.js +0 -79
  656. package/src/data/Store.d.ts +0 -14
  657. package/src/data/Store.js +0 -46
  658. package/src/data/Store.spec.js +0 -22
  659. package/src/data/StoreProxy.d.ts +0 -5
  660. package/src/data/StoreProxy.js +0 -17
  661. package/src/data/StoreRef.js +0 -54
  662. package/src/data/StoreRef.spec.js +0 -24
  663. package/src/data/StringTemplate.d.ts +0 -15
  664. package/src/data/StringTemplate.js +0 -92
  665. package/src/data/StringTemplate.spec.js +0 -132
  666. package/src/data/StructuredDataAccessor.d.ts +0 -7
  667. package/src/data/StructuredSelector.d.ts +0 -17
  668. package/src/data/StructuredSelector.js +0 -132
  669. package/src/data/StructuredSelector.spec.js +0 -113
  670. package/src/data/SubscribableView.d.ts +0 -11
  671. package/src/data/SubscribableView.js +0 -54
  672. package/src/data/View.d.ts +0 -155
  673. package/src/data/View.js +0 -182
  674. package/src/data/ZoomIntoPropertyView.d.ts +0 -11
  675. package/src/data/ZoomIntoPropertyView.js +0 -33
  676. package/src/data/ZoomIntoPropertyView.spec.js +0 -65
  677. package/src/data/comparer.d.ts +0 -7
  678. package/src/data/comparer.js +0 -54
  679. package/src/data/computable.d.ts +0 -125
  680. package/src/data/computable.js +0 -56
  681. package/src/data/computable.spec.js +0 -55
  682. package/src/data/createAccessorModelProxy.d.ts +0 -6
  683. package/src/data/createAccessorModelProxy.js +0 -43
  684. package/src/data/createStructuredSelector.d.ts +0 -3
  685. package/src/data/createStructuredSelector.js +0 -43
  686. package/src/data/createStructuredSelector.spec.js +0 -46
  687. package/src/data/defaultCompare.d.ts +0 -1
  688. package/src/data/defaultCompare.js +0 -15
  689. package/src/data/diff/diffArrays.d.ts +0 -15
  690. package/src/data/diff/diffArrays.js +0 -41
  691. package/src/data/diff/diffs.spec.js +0 -49
  692. package/src/data/diff/index.d.ts +0 -1
  693. package/src/data/diff/index.js +0 -1
  694. package/src/data/enableFatArrowExpansion.d.ts +0 -1
  695. package/src/data/enableFatArrowExpansion.js +0 -6
  696. package/src/data/getAccessor.d.ts +0 -9
  697. package/src/data/getAccessor.js +0 -61
  698. package/src/data/getAccessor.spec.js +0 -11
  699. package/src/data/getSelector.d.ts +0 -3
  700. package/src/data/getSelector.js +0 -49
  701. package/src/data/getSelector.spec.js +0 -43
  702. package/src/data/index.d.ts +0 -30
  703. package/src/data/index.js +0 -29
  704. package/src/data/isSelector.d.ts +0 -1
  705. package/src/data/isSelector.js +0 -26
  706. package/src/data/ops/append.d.ts +0 -1
  707. package/src/data/ops/append.js +0 -7
  708. package/src/data/ops/append.spec.js +0 -28
  709. package/src/data/ops/filter.d.ts +0 -1
  710. package/src/data/ops/filter.js +0 -8
  711. package/src/data/ops/filter.spec.js +0 -29
  712. package/src/data/ops/findTreeNode.d.ts +0 -1
  713. package/src/data/ops/findTreeNode.js +0 -15
  714. package/src/data/ops/findTreeNode.spec.js +0 -24
  715. package/src/data/ops/findTreePath.d.ts +0 -6
  716. package/src/data/ops/findTreePath.js +0 -16
  717. package/src/data/ops/index.d.ts +0 -10
  718. package/src/data/ops/insertElement.d.ts +0 -1
  719. package/src/data/ops/insertElement.js +0 -3
  720. package/src/data/ops/merge.d.ts +0 -3
  721. package/src/data/ops/merge.js +0 -9
  722. package/src/data/ops/merge.spec.js +0 -27
  723. package/src/data/ops/moveElement.d.ts +0 -1
  724. package/src/data/ops/moveElement.js +0 -14
  725. package/src/data/ops/removeTreeNodes.d.ts +0 -5
  726. package/src/data/ops/removeTreeNodes.js +0 -5
  727. package/src/data/ops/removeTreeNodes.spec.js +0 -28
  728. package/src/data/ops/updateArray.d.ts +0 -6
  729. package/src/data/ops/updateArray.js +0 -24
  730. package/src/data/ops/updateArray.spec.js +0 -38
  731. package/src/data/ops/updateTree.d.ts +0 -7
  732. package/src/data/ops/updateTree.js +0 -25
  733. package/src/data/ops/updateTree.spec.js +0 -36
  734. package/src/hooks/createLocalStorageRef.d.ts +0 -3
  735. package/src/hooks/createLocalStorageRef.js +0 -20
  736. package/src/hooks/index.js +0 -8
  737. package/src/hooks/invokeCallback.d.ts +0 -5
  738. package/src/hooks/invokeCallback.js +0 -7
  739. package/src/hooks/invokeCallback.spec.js +0 -53
  740. package/src/hooks/resolveCallback.d.ts +0 -3
  741. package/src/hooks/resolveCallback.js +0 -12
  742. package/src/hooks/resolveCallback.spec.js +0 -54
  743. package/src/hooks/store.d.ts +0 -8
  744. package/src/hooks/store.js +0 -32
  745. package/src/hooks/store.spec.js +0 -73
  746. package/src/hooks/useEffect.d.ts +0 -3
  747. package/src/hooks/useEffect.js +0 -15
  748. package/src/hooks/useInterval.d.ts +0 -1
  749. package/src/hooks/useInterval.js +0 -8
  750. package/src/hooks/useState.d.ts +0 -3
  751. package/src/hooks/useState.js +0 -16
  752. package/src/hooks/useTrigger.d.ts +0 -5
  753. package/src/hooks/useTrigger.js +0 -20
  754. package/src/hooks/useTrigger.spec.js +0 -102
  755. package/src/svg/BoundedObject.d.ts +0 -23
  756. package/src/svg/BoundedObject.js +0 -59
  757. package/src/svg/ClipRect.d.ts +0 -5
  758. package/src/svg/ClipRect.js +0 -23
  759. package/src/svg/Ellipse.d.ts +0 -24
  760. package/src/svg/Ellipse.js +0 -37
  761. package/src/svg/Line.d.ts +0 -21
  762. package/src/svg/Line.js +0 -33
  763. package/src/svg/NonOverlappingRect.d.ts +0 -5
  764. package/src/svg/NonOverlappingRect.js +0 -15
  765. package/src/svg/NonOverlappingRectGroup.d.ts +0 -3
  766. package/src/svg/NonOverlappingRectGroup.js +0 -37
  767. package/src/svg/Rectangle.d.ts +0 -37
  768. package/src/svg/Rectangle.js +0 -42
  769. package/src/svg/Svg.d.ts +0 -32
  770. package/src/svg/Svg.js +0 -177
  771. package/src/svg/Text.d.ts +0 -40
  772. package/src/svg/Text.js +0 -78
  773. package/src/svg/TextualBoundedObject.d.ts +0 -7
  774. package/src/svg/TextualBoundedObject.js +0 -28
  775. package/src/svg/index.d.ts +0 -11
  776. package/src/svg/util/Rect.d.ts +0 -41
  777. package/src/svg/util/Rect.js +0 -109
  778. package/src/svg/util/index.js +0 -1
  779. package/src/ui/CSS.d.ts +0 -20
  780. package/src/ui/CSS.js +0 -79
  781. package/src/ui/CSSHelper.d.ts +0 -11
  782. package/src/ui/CSSHelper.js +0 -18
  783. package/src/ui/Container.d.ts +0 -18
  784. package/src/ui/Container.js +0 -154
  785. package/src/ui/ContentResolver.d.ts +0 -12
  786. package/src/ui/ContentResolver.js +0 -78
  787. package/src/ui/Controller.d.ts +0 -182
  788. package/src/ui/Controller.js +0 -114
  789. package/src/ui/Controller.spec.js +0 -415
  790. package/src/ui/Culture.d.ts +0 -57
  791. package/src/ui/Culture.js +0 -139
  792. package/src/ui/Cx.d.ts +0 -18
  793. package/src/ui/Cx.js +0 -325
  794. package/src/ui/Cx.spec.js +0 -194
  795. package/src/ui/DataProxy.d.ts +0 -12
  796. package/src/ui/DataProxy.js +0 -31
  797. package/src/ui/DataProxy.spec.js +0 -338
  798. package/src/ui/DetachedScope.d.ts +0 -21
  799. package/src/ui/DetachedScope.js +0 -98
  800. package/src/ui/FocusManager.d.ts +0 -29
  801. package/src/ui/FocusManager.js +0 -171
  802. package/src/ui/Format.d.ts +0 -3
  803. package/src/ui/Format.js +0 -108
  804. package/src/ui/HoverSync.d.ts +0 -13
  805. package/src/ui/HoverSync.js +0 -147
  806. package/src/ui/Instance.d.ts +0 -72
  807. package/src/ui/Instance.js +0 -620
  808. package/src/ui/IsolatedScope.d.ts +0 -16
  809. package/src/ui/IsolatedScope.js +0 -30
  810. package/src/ui/IsolatedScope.spec.js +0 -62
  811. package/src/ui/Localization.d.ts +0 -17
  812. package/src/ui/Localization.js +0 -70
  813. package/src/ui/PureContainer.d.ts +0 -16
  814. package/src/ui/PureContainer.js +0 -7
  815. package/src/ui/RenderingContext.d.ts +0 -9
  816. package/src/ui/RenderingContext.js +0 -88
  817. package/src/ui/Repeater.d.ts +0 -61
  818. package/src/ui/Repeater.js +0 -109
  819. package/src/ui/Repeater.spec.js +0 -143
  820. package/src/ui/Rescope.d.ts +0 -10
  821. package/src/ui/Rescope.js +0 -35
  822. package/src/ui/Rescope.spec.js +0 -195
  823. package/src/ui/ResizeManager.d.ts +0 -10
  824. package/src/ui/ResizeManager.js +0 -31
  825. package/src/ui/Restate.d.ts +0 -21
  826. package/src/ui/Restate.js +0 -167
  827. package/src/ui/Restate.spec.js +0 -422
  828. package/src/ui/StaticText.d.ts +0 -8
  829. package/src/ui/StaticText.js +0 -9
  830. package/src/ui/StructuredInstanceDataAccessor.d.ts +0 -16
  831. package/src/ui/StructuredInstanceDataAccessor.js +0 -26
  832. package/src/ui/Text.d.ts +0 -10
  833. package/src/ui/Text.js +0 -25
  834. package/src/ui/VDOM.d.ts +0 -12
  835. package/src/ui/VDOM.js +0 -2
  836. package/src/ui/Widget.d.ts +0 -14
  837. package/src/ui/Widget.js +0 -184
  838. package/src/ui/ZIndexManager.d.ts +0 -7
  839. package/src/ui/ZIndexManager.js +0 -11
  840. package/src/ui/adapter/ArrayAdapter.d.ts +0 -17
  841. package/src/ui/adapter/ArrayAdapter.js +0 -152
  842. package/src/ui/adapter/ArrayAdapter.spec.js +0 -55
  843. package/src/ui/adapter/DataAdapter.d.ts +0 -31
  844. package/src/ui/adapter/DataAdapter.js +0 -15
  845. package/src/ui/adapter/GroupAdapter.d.ts +0 -23
  846. package/src/ui/adapter/GroupAdapter.js +0 -140
  847. package/src/ui/adapter/TreeAdapter.d.ts +0 -24
  848. package/src/ui/adapter/TreeAdapter.js +0 -101
  849. package/src/ui/adapter/TreeAdapter.spec.js +0 -67
  850. package/src/ui/adapter/index.js +0 -4
  851. package/src/ui/app/History.d.ts +0 -17
  852. package/src/ui/app/History.js +0 -114
  853. package/src/ui/app/Url.d.ts +0 -21
  854. package/src/ui/app/Url.js +0 -103
  855. package/src/ui/app/Url.spec.js +0 -51
  856. package/src/ui/app/index.d.ts +0 -4
  857. package/src/ui/app/startAppLoop.d.ts +0 -4
  858. package/src/ui/app/startAppLoop.js +0 -58
  859. package/src/ui/app/startHotAppLoop.d.ts +0 -7
  860. package/src/ui/app/startHotAppLoop.js +0 -25
  861. package/src/ui/batchUpdates.d.ts +0 -11
  862. package/src/ui/batchUpdates.js +0 -67
  863. package/src/ui/bind.d.ts +0 -4
  864. package/src/ui/bind.js +0 -7
  865. package/src/ui/createFunctionalComponent.d.ts +0 -1
  866. package/src/ui/createFunctionalComponent.js +0 -63
  867. package/src/ui/createFunctionalComponent.spec.js +0 -400
  868. package/src/ui/expr.d.ts +0 -24
  869. package/src/ui/expr.js +0 -17
  870. package/src/ui/flattenProps.js +0 -21
  871. package/src/ui/index.d.ts +0 -42
  872. package/src/ui/index.js +0 -44
  873. package/src/ui/keyboardShortcuts.d.ts +0 -5
  874. package/src/ui/keyboardShortcuts.js +0 -31
  875. package/src/ui/layout/Content.d.ts +0 -14
  876. package/src/ui/layout/Content.js +0 -16
  877. package/src/ui/layout/ContentPlaceholder.d.ts +0 -19
  878. package/src/ui/layout/ContentPlaceholder.js +0 -105
  879. package/src/ui/layout/ContentPlaceholder.spec.js +0 -579
  880. package/src/ui/layout/FirstVisibleChildLayout.d.ts +0 -4
  881. package/src/ui/layout/FirstVisibleChildLayout.js +0 -66
  882. package/src/ui/layout/FirstVisibleChildLayout.spec.js +0 -196
  883. package/src/ui/layout/LabelsLeftLayout.d.ts +0 -11
  884. package/src/ui/layout/LabelsLeftLayout.js +0 -59
  885. package/src/ui/layout/LabelsTopLayout.d.ts +0 -15
  886. package/src/ui/layout/LabelsTopLayout.js +0 -135
  887. package/src/ui/layout/UseParentLayout.d.ts +0 -4
  888. package/src/ui/layout/UseParentLayout.js +0 -6
  889. package/src/ui/layout/exploreChildren.d.ts +0 -12
  890. package/src/ui/layout/exploreChildren.js +0 -27
  891. package/src/ui/layout/index.js +0 -10
  892. package/src/ui/selection/KeySelection.d.ts +0 -17
  893. package/src/ui/selection/KeySelection.js +0 -129
  894. package/src/ui/selection/PropertySelection.d.ts +0 -17
  895. package/src/ui/selection/PropertySelection.js +0 -55
  896. package/src/ui/selection/Selection.d.ts +0 -27
  897. package/src/ui/selection/Selection.js +0 -93
  898. package/src/ui/selection/index.js +0 -3
  899. package/src/ui/tpl.d.ts +0 -3
  900. package/src/ui/tpl.js +0 -5
  901. package/src/util/Component.d.ts +0 -42
  902. package/src/util/Component.js +0 -108
  903. package/src/util/Console.d.ts +0 -4
  904. package/src/util/Console.js +0 -11
  905. package/src/util/DOM.d.ts +0 -33
  906. package/src/util/DOM.js +0 -72
  907. package/src/util/Debug.d.ts +0 -11
  908. package/src/util/Debug.js +0 -45
  909. package/src/util/Format.d.ts +0 -18
  910. package/src/util/Format.js +0 -270
  911. package/src/util/Format.spec.js +0 -69
  912. package/src/util/GlobalCacheIdentifier.js +0 -11
  913. package/src/util/GlobalCacheldentifier.d.ts +0 -7
  914. package/src/util/KeyCode.d.ts +0 -21
  915. package/src/util/KeyCode.js +0 -21
  916. package/src/util/SubscriberList.d.ts +0 -42
  917. package/src/util/SubscriberList.js +0 -58
  918. package/src/util/Timing.d.ts +0 -14
  919. package/src/util/Timing.js +0 -58
  920. package/src/util/TraversalStack.js +0 -43
  921. package/src/util/TraversalStack.spec.js +0 -47
  922. package/src/util/addEventListenerWithOptions.d.ts +0 -6
  923. package/src/util/addEventListenerWithOptions.js +0 -9
  924. package/src/util/browserSupportsPassiveEventHandlers.d.ts +0 -5
  925. package/src/util/browserSupportsPassiveEventHandlers.js +0 -18
  926. package/src/util/calculateNaturalElementHeight.d.ts +0 -1
  927. package/src/util/calculateNaturalElementHeight.js +0 -22
  928. package/src/util/capitalize.d.ts +0 -1
  929. package/src/util/capitalize.js +0 -4
  930. package/src/util/coalesce.d.ts +0 -1
  931. package/src/util/coalesce.js +0 -6
  932. package/src/util/color/hslToRgb.d.ts +0 -9
  933. package/src/util/color/hslToRgb.js +0 -27
  934. package/src/util/color/index.d.ts +0 -4
  935. package/src/util/color/parseColor.d.ts +0 -60
  936. package/src/util/color/parseColor.js +0 -119
  937. package/src/util/color/rgbToHex.d.ts +0 -9
  938. package/src/util/color/rgbToHex.js +0 -8
  939. package/src/util/color/rgbToHsl.d.ts +0 -9
  940. package/src/util/color/rgbToHsl.js +0 -28
  941. package/src/util/date/dateDiff.d.ts +0 -8
  942. package/src/util/date/dateDiff.js +0 -3
  943. package/src/util/date/diff.d.ts +0 -8
  944. package/src/util/date/diff.js +0 -7
  945. package/src/util/date/encodeDate.d.ts +0 -1
  946. package/src/util/date/encodeDate.js +0 -8
  947. package/src/util/date/encodeDateWithTimezoneOffset.d.ts +0 -1
  948. package/src/util/date/encodeDateWithTimezoneOffset.js +0 -19
  949. package/src/util/date/index.js +0 -11
  950. package/src/util/date/lowerBoundCheck.d.ts +0 -8
  951. package/src/util/date/lowerBoundCheck.js +0 -6
  952. package/src/util/date/maxDate.d.ts +0 -6
  953. package/src/util/date/maxDate.js +0 -9
  954. package/src/util/date/minDate.d.ts +0 -6
  955. package/src/util/date/minDate.js +0 -9
  956. package/src/util/date/monthStart.d.ts +0 -6
  957. package/src/util/date/monthStart.js +0 -3
  958. package/src/util/date/parseDateInvariant.d.ts +0 -3
  959. package/src/util/date/parseDateInvariant.js +0 -20
  960. package/src/util/date/sameDate.d.ts +0 -7
  961. package/src/util/date/sameDate.js +0 -5
  962. package/src/util/date/upperBoundCheck.d.ts +0 -8
  963. package/src/util/date/upperBoundCheck.js +0 -6
  964. package/src/util/date/zeroTime.d.ts +0 -7
  965. package/src/util/date/zeroTime.js +0 -3
  966. package/src/util/debounce.d.ts +0 -9
  967. package/src/util/debounce.js +0 -18
  968. package/src/util/dummyCallback.d.ts +0 -1
  969. package/src/util/dummyCallback.js +0 -1
  970. package/src/util/escapeSpecialRegexCharacters.d.ts +0 -7
  971. package/src/util/escapeSpecialRegexCharacters.js +0 -3
  972. package/src/util/eventCallbacks.d.ts +0 -5
  973. package/src/util/eventCallbacks.js +0 -2
  974. package/src/util/expandFatArrows.d.ts +0 -1
  975. package/src/util/expandFatArrows.js +0 -118
  976. package/src/util/findScrollableParent.d.ts +0 -1
  977. package/src/util/findScrollableParent.js +0 -16
  978. package/src/util/getActiveElement.d.ts +0 -1
  979. package/src/util/getActiveElement.js +0 -4
  980. package/src/util/getParentFrameBoundingClientRect.d.ts +0 -1
  981. package/src/util/getParentFrameBoundingClientRect.js +0 -21
  982. package/src/util/getScrollerBoundingClientRect.d.ts +0 -1
  983. package/src/util/getScrollerBoundingClientRect.js +0 -22
  984. package/src/util/getSearchQueryPredicate.d.ts +0 -1
  985. package/src/util/getSearchQueryPredicate.js +0 -59
  986. package/src/util/getTopLevelBoundingClientRect.d.ts +0 -1
  987. package/src/util/getTopLevelBoundingClientRect.js +0 -14
  988. package/src/util/getVendorPrefix.d.ts +0 -1
  989. package/src/util/getVendorPrefix.js +0 -26
  990. package/src/util/index.d.ts +0 -51
  991. package/src/util/index.js +0 -54
  992. package/src/util/innerTextTrim.d.ts +0 -7
  993. package/src/util/innerTextTrim.js +0 -5
  994. package/src/util/isArray.d.ts +0 -1
  995. package/src/util/isArray.js +0 -3
  996. package/src/util/isDefined.d.ts +0 -1
  997. package/src/util/isDefined.js +0 -3
  998. package/src/util/isDigit.d.ts +0 -7
  999. package/src/util/isDigit.js +0 -3
  1000. package/src/util/isFunction.d.ts +0 -1
  1001. package/src/util/isFunction.js +0 -3
  1002. package/src/util/isNonEmptyArray.d.ts +0 -1
  1003. package/src/util/isNonEmptyArray.js +0 -3
  1004. package/src/util/isNumber.d.ts +0 -1
  1005. package/src/util/isNumber.js +0 -3
  1006. package/src/util/isObject.d.ts +0 -1
  1007. package/src/util/isObject.js +0 -3
  1008. package/src/util/isPromise.d.ts +0 -1
  1009. package/src/util/isPromise.js +0 -6
  1010. package/src/util/isString.d.ts +0 -1
  1011. package/src/util/isString.js +0 -3
  1012. package/src/util/isTextInputElement.d.ts +0 -1
  1013. package/src/util/isTextInputElement.js +0 -3
  1014. package/src/util/isTouchDevice.d.ts +0 -2
  1015. package/src/util/isTouchDevice.js +0 -7
  1016. package/src/util/isTouchEvent.d.ts +0 -4
  1017. package/src/util/isTouchEvent.js +0 -64
  1018. package/src/util/isUndefined.d.ts +0 -1
  1019. package/src/util/isUndefined.js +0 -3
  1020. package/src/util/isValidIdentifierName.d.ts +0 -1
  1021. package/src/util/isValidIdentifierName.js +0 -5
  1022. package/src/util/onIdleCallback.d.ts +0 -1
  1023. package/src/util/onIdleCallback.js +0 -14
  1024. package/src/util/parseStyle.d.ts +0 -4
  1025. package/src/util/parseStyle.js +0 -27
  1026. package/src/util/quote.d.ts +0 -3
  1027. package/src/util/quote.js +0 -4
  1028. package/src/util/reverseSlice.d.ts +0 -1
  1029. package/src/util/reverseSlice.js +0 -10
  1030. package/src/util/routeAppend.d.ts +0 -1
  1031. package/src/util/routeAppend.js +0 -16
  1032. package/src/util/scrollElementIntoView.d.ts +0 -7
  1033. package/src/util/scrollElementIntoView.js +0 -34
  1034. package/src/util/shallowEquals.d.ts +0 -1
  1035. package/src/util/shallowEquals.js +0 -43
  1036. package/src/util/throttle.d.ts +0 -9
  1037. package/src/util/throttle.js +0 -14
  1038. package/src/util/validatedDebounce.js +0 -19
  1039. package/src/widgets/Button.d.ts +0 -58
  1040. package/src/widgets/Button.js +0 -118
  1041. package/src/widgets/CxCredit.d.ts +0 -12
  1042. package/src/widgets/CxCredit.js +0 -32
  1043. package/src/widgets/DocumentTitle.d.ts +0 -11
  1044. package/src/widgets/DocumentTitle.js +0 -69
  1045. package/src/widgets/FlexBox.d.ts +0 -69
  1046. package/src/widgets/FlexBox.js +0 -93
  1047. package/src/widgets/Heading.d.ts +0 -16
  1048. package/src/widgets/Heading.js +0 -33
  1049. package/src/widgets/HighlightedSearchText.d.ts +0 -9
  1050. package/src/widgets/HighlightedSearchText.js +0 -36
  1051. package/src/widgets/HtmlElement.d.ts +0 -30
  1052. package/src/widgets/HtmlElement.js +0 -275
  1053. package/src/widgets/HtmlElement.spec.js +0 -57
  1054. package/src/widgets/Icon.d.ts +0 -34
  1055. package/src/widgets/Icon.js +0 -50
  1056. package/src/widgets/List.d.ts +0 -96
  1057. package/src/widgets/List.js +0 -594
  1058. package/src/widgets/ProgressBar.d.ts +0 -17
  1059. package/src/widgets/ProgressBar.js +0 -46
  1060. package/src/widgets/Resizer.d.ts +0 -27
  1061. package/src/widgets/Resizer.js +0 -151
  1062. package/src/widgets/Sandbox.d.ts +0 -18
  1063. package/src/widgets/Sandbox.js +0 -65
  1064. package/src/widgets/Section.d.ts +0 -52
  1065. package/src/widgets/Section.js +0 -139
  1066. package/src/widgets/autoFocus.d.ts +0 -1
  1067. package/src/widgets/autoFocus.js +0 -9
  1068. package/src/widgets/cx.d.ts +0 -2
  1069. package/src/widgets/cx.js +0 -72
  1070. package/src/widgets/drag-drop/DragHandle.d.ts +0 -10
  1071. package/src/widgets/drag-drop/DragHandle.js +0 -37
  1072. package/src/widgets/drag-drop/DragSource.d.ts +0 -45
  1073. package/src/widgets/drag-drop/DragSource.js +0 -160
  1074. package/src/widgets/drag-drop/DropZone.d.ts +0 -98
  1075. package/src/widgets/drag-drop/DropZone.js +0 -214
  1076. package/src/widgets/drag-drop/index.d.ts +0 -4
  1077. package/src/widgets/drag-drop/ops.d.ts +0 -57
  1078. package/src/widgets/drag-drop/ops.js +0 -344
  1079. package/src/widgets/enableAllInternalDependencies.d.ts +0 -1
  1080. package/src/widgets/enableAllInternalDependencies.js +0 -11
  1081. package/src/widgets/form/Calendar.d.ts +0 -86
  1082. package/src/widgets/form/Calendar.js +0 -618
  1083. package/src/widgets/form/Checkbox.d.ts +0 -43
  1084. package/src/widgets/form/Checkbox.js +0 -203
  1085. package/src/widgets/form/ColorField.d.ts +0 -44
  1086. package/src/widgets/form/ColorField.js +0 -397
  1087. package/src/widgets/form/ColorPicker.d.ts +0 -23
  1088. package/src/widgets/form/ColorPicker.js +0 -485
  1089. package/src/widgets/form/DateField.d.ts +0 -6
  1090. package/src/widgets/form/DateField.js +0 -12
  1091. package/src/widgets/form/DateTimeField.d.ts +0 -89
  1092. package/src/widgets/form/DateTimeField.js +0 -576
  1093. package/src/widgets/form/DateTimePicker.js +0 -392
  1094. package/src/widgets/form/Field.d.ts +0 -112
  1095. package/src/widgets/form/Field.js +0 -446
  1096. package/src/widgets/form/FieldGroup.d.ts +0 -6
  1097. package/src/widgets/form/FieldGroup.js +0 -6
  1098. package/src/widgets/form/FieldIcon.js +0 -42
  1099. package/src/widgets/form/HelpText.d.ts +0 -10
  1100. package/src/widgets/form/HelpText.js +0 -9
  1101. package/src/widgets/form/Label.d.ts +0 -23
  1102. package/src/widgets/form/Label.js +0 -89
  1103. package/src/widgets/form/LabeledContainer.d.ts +0 -9
  1104. package/src/widgets/form/LabeledContainer.js +0 -59
  1105. package/src/widgets/form/LookupField.d.ts +0 -179
  1106. package/src/widgets/form/LookupField.js +0 -1135
  1107. package/src/widgets/form/MonthField.d.ts +0 -104
  1108. package/src/widgets/form/MonthField.js +0 -524
  1109. package/src/widgets/form/MonthPicker.d.ts +0 -97
  1110. package/src/widgets/form/MonthPicker.js +0 -687
  1111. package/src/widgets/form/NumberField.d.ts +0 -96
  1112. package/src/widgets/form/NumberField.js +0 -459
  1113. package/src/widgets/form/Radio.d.ts +0 -37
  1114. package/src/widgets/form/Radio.js +0 -188
  1115. package/src/widgets/form/Select.d.ts +0 -69
  1116. package/src/widgets/form/Select.js +0 -269
  1117. package/src/widgets/form/Slider.d.ts +0 -65
  1118. package/src/widgets/form/Slider.js +0 -351
  1119. package/src/widgets/form/Switch.d.ts +0 -38
  1120. package/src/widgets/form/Switch.js +0 -118
  1121. package/src/widgets/form/TextArea.d.ts +0 -17
  1122. package/src/widgets/form/TextArea.js +0 -195
  1123. package/src/widgets/form/TextField.d.ts +0 -78
  1124. package/src/widgets/form/TextField.js +0 -290
  1125. package/src/widgets/form/TimeField.d.ts +0 -6
  1126. package/src/widgets/form/TimeField.js +0 -11
  1127. package/src/widgets/form/TimeList.js +0 -84
  1128. package/src/widgets/form/UploadButton.d.ts +0 -34
  1129. package/src/widgets/form/UploadButton.js +0 -213
  1130. package/src/widgets/form/ValidationError.d.ts +0 -10
  1131. package/src/widgets/form/ValidationError.js +0 -44
  1132. package/src/widgets/form/ValidationGroup.d.ts +0 -41
  1133. package/src/widgets/form/ValidationGroup.js +0 -68
  1134. package/src/widgets/form/ValidationGroup.spec.js +0 -148
  1135. package/src/widgets/form/Validator.d.ts +0 -8
  1136. package/src/widgets/form/Validator.js +0 -21
  1137. package/src/widgets/form/Wheel.js +0 -261
  1138. package/src/widgets/form/index.d.ts +0 -26
  1139. package/src/widgets/grid/Grid.d.ts +0 -442
  1140. package/src/widgets/grid/Grid.js +0 -3429
  1141. package/src/widgets/grid/GridCell.d.ts +0 -38
  1142. package/src/widgets/grid/GridCell.js +0 -71
  1143. package/src/widgets/grid/GridCellEditor.js +0 -41
  1144. package/src/widgets/grid/GridRow.js +0 -228
  1145. package/src/widgets/grid/GridRowLine.js +0 -24
  1146. package/src/widgets/grid/Pagination.d.ts +0 -14
  1147. package/src/widgets/grid/Pagination.js +0 -95
  1148. package/src/widgets/grid/TreeNode.d.ts +0 -23
  1149. package/src/widgets/grid/TreeNode.js +0 -102
  1150. package/src/widgets/grid/index.d.ts +0 -4
  1151. package/src/widgets/grid/index.js +0 -15
  1152. package/src/widgets/icons/calendar.js +0 -16
  1153. package/src/widgets/icons/check.js +0 -12
  1154. package/src/widgets/icons/clear.js +0 -14
  1155. package/src/widgets/icons/close.js +0 -19
  1156. package/src/widgets/icons/cx.js +0 -37
  1157. package/src/widgets/icons/drop-down.js +0 -14
  1158. package/src/widgets/icons/file.js +0 -12
  1159. package/src/widgets/icons/folder-open.js +0 -14
  1160. package/src/widgets/icons/folder.js +0 -12
  1161. package/src/widgets/icons/forward.js +0 -21
  1162. package/src/widgets/icons/loading.js +0 -23
  1163. package/src/widgets/icons/menu.js +0 -16
  1164. package/src/widgets/icons/pixel-picker.js +0 -17
  1165. package/src/widgets/icons/registry.js +0 -54
  1166. package/src/widgets/icons/search.js +0 -12
  1167. package/src/widgets/icons/sort-asc.js +0 -13
  1168. package/src/widgets/icons/square.js +0 -17
  1169. package/src/widgets/nav/Link.d.ts +0 -26
  1170. package/src/widgets/nav/Link.js +0 -8
  1171. package/src/widgets/nav/LinkButton.d.ts +0 -34
  1172. package/src/widgets/nav/LinkButton.js +0 -128
  1173. package/src/widgets/nav/Menu.d.ts +0 -27
  1174. package/src/widgets/nav/Menu.js +0 -406
  1175. package/src/widgets/nav/MenuItem.d.ts +0 -31
  1176. package/src/widgets/nav/MenuItem.js +0 -445
  1177. package/src/widgets/nav/MenuSpacer.d.ts +0 -5
  1178. package/src/widgets/nav/MenuSpacer.js +0 -13
  1179. package/src/widgets/nav/RedirectRoute.d.ts +0 -9
  1180. package/src/widgets/nav/RedirectRoute.js +0 -41
  1181. package/src/widgets/nav/Route.d.ts +0 -21
  1182. package/src/widgets/nav/Route.js +0 -102
  1183. package/src/widgets/nav/Route.spec.js +0 -27
  1184. package/src/widgets/nav/Scroller.d.ts +0 -17
  1185. package/src/widgets/nav/Scroller.js +0 -214
  1186. package/src/widgets/nav/Submenu.d.ts +0 -6
  1187. package/src/widgets/nav/Submenu.js +0 -6
  1188. package/src/widgets/nav/Tab.d.ts +0 -33
  1189. package/src/widgets/nav/Tab.js +0 -82
  1190. package/src/widgets/nav/index.d.ts +0 -10
  1191. package/src/widgets/overlay/ContextMenu.d.ts +0 -10
  1192. package/src/widgets/overlay/ContextMenu.js +0 -29
  1193. package/src/widgets/overlay/Dropdown.d.ts +0 -32
  1194. package/src/widgets/overlay/Dropdown.js +0 -612
  1195. package/src/widgets/overlay/FlyweightTooltipTracker.d.ts +0 -8
  1196. package/src/widgets/overlay/FlyweightTooltipTracker.js +0 -39
  1197. package/src/widgets/overlay/MsgBox.d.ts +0 -17
  1198. package/src/widgets/overlay/MsgBox.js +0 -116
  1199. package/src/widgets/overlay/Overlay.d.ts +0 -73
  1200. package/src/widgets/overlay/Overlay.js +0 -747
  1201. package/src/widgets/overlay/Toast.d.ts +0 -30
  1202. package/src/widgets/overlay/Toast.js +0 -93
  1203. package/src/widgets/overlay/Tooltip.d.ts +0 -50
  1204. package/src/widgets/overlay/Tooltip.js +0 -308
  1205. package/src/widgets/overlay/Window.d.ts +0 -42
  1206. package/src/widgets/overlay/Window.js +0 -202
  1207. package/src/widgets/overlay/alerts.d.ts +0 -7
  1208. package/src/widgets/overlay/alerts.js +0 -39
  1209. package/src/widgets/overlay/captureMouse.d.ts +0 -54
  1210. package/src/widgets/overlay/captureMouse.js +0 -124
  1211. package/src/widgets/overlay/createHotPromiseWindowFactory.d.ts +0 -18
  1212. package/src/widgets/overlay/createHotPromiseWindowFactory.js +0 -56
  1213. package/src/widgets/overlay/index.js +0 -11
  1214. package/src/widgets/overlay/tooltip-ops.d.ts +0 -11
  1215. package/src/widgets/overlay/tooltip-ops.js +0 -29
  1216. package/svg.d.ts +0 -1
  1217. package/svg.js +0 -1
  1218. package/ui.d.ts +0 -1
  1219. package/ui.js +0 -1
  1220. package/util.d.ts +0 -1
  1221. package/util.js +0 -1
  1222. package/widgets.d.ts +0 -1
  1223. package/widgets.js +0 -1
  1224. /package/src/charts/{index.js → index.ts} +0 -0
  1225. /package/src/data/{Binding.spec.js → Binding.spec.ts} +0 -0
  1226. /package/src/data/{View.spec.js → View.spec.ts} +0 -0
  1227. /package/src/data/{comparer.spec.js → comparer.spec.ts} +0 -0
  1228. /package/src/data/ops/{index.js → index.ts} +0 -0
  1229. /package/src/hooks/{index.d.ts → index.ts} +0 -0
  1230. /package/src/{index.js → index.ts} +0 -0
  1231. /package/src/svg/{index.js → index.ts} +0 -0
  1232. /package/src/svg/util/{index.d.ts → index.ts} +0 -0
  1233. /package/src/ui/adapter/{index.d.ts → index.ts} +0 -0
  1234. /package/src/ui/app/{index.js → index.ts} +0 -0
  1235. /package/src/ui/layout/{index.d.ts → index.ts} +0 -0
  1236. /package/src/ui/selection/{index.d.ts → index.ts} +0 -0
  1237. /package/src/util/color/{index.js → index.ts} +0 -0
  1238. /package/src/util/date/{index.d.ts → index.ts} +0 -0
  1239. /package/src/util/date/{upperBoundCheck.spec.js → upperBoundCheck.spec.ts} +0 -0
  1240. /package/src/util/{getSearchQueryPredicate.spec.js → getSearchQueryPredicate.spec.ts} +0 -0
  1241. /package/src/util/{isValidIdentifierName.spec.js → isValidIdentifierName.spec.ts} +0 -0
  1242. /package/src/util/{routeAppend.spec.js → routeAppend.spec.ts} +0 -0
  1243. /package/src/widgets/drag-drop/{index.js → index.ts} +0 -0
  1244. /package/src/widgets/form/{index.js → index.ts} +0 -0
  1245. /package/src/widgets/icons/{index.js → index.ts} +0 -0
  1246. /package/src/widgets/{index.js → index.ts} +0 -0
  1247. /package/src/widgets/nav/{index.js → index.ts} +0 -0
package/dist/data.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import {
2
2
  isString,
3
3
  isObject,
4
+ hasStringAtKey,
5
+ hasValueAtKey,
4
6
  isFunction,
5
7
  Format,
6
8
  isValidIdentifierName,
@@ -9,18 +11,17 @@ import {
9
11
  isArray,
10
12
  isDefined,
11
13
  SubscriberList,
14
+ hasKey,
15
+ hasFunctionAtKey,
12
16
  isUndefined,
13
17
  expandFatArrows,
14
18
  } from "cx/util";
15
19
 
16
- var emptyFn = function emptyFn() {};
17
- function createAccessorModelProxy(chain) {
18
- if (chain === void 0) {
19
- chain = "";
20
- }
21
- var lastOp = null;
22
- var proxy = new Proxy(emptyFn, {
23
- get: function get(_, name) {
20
+ const emptyFn = () => {};
21
+ function createAccessorModelProxy(chain = "") {
22
+ let lastOp = null;
23
+ const proxy = new Proxy(emptyFn, {
24
+ get: (_, name) => {
24
25
  if (typeof name !== "string") return proxy;
25
26
  switch (name) {
26
27
  case "isAccessorChain":
@@ -31,15 +32,15 @@ function createAccessorModelProxy(chain) {
31
32
  lastOp = name;
32
33
  return proxy;
33
34
  }
34
- var newChain = chain;
35
+ let newChain = chain;
35
36
  if (newChain.length > 0) newChain += ".";
36
37
  newChain += name;
37
38
  return createAccessorModelProxy(newChain);
38
39
  },
39
- apply: function apply() {
40
+ apply() {
40
41
  switch (lastOp) {
41
42
  case "nameOf":
42
- var lastDotIndex = chain.lastIndexOf(".");
43
+ const lastDotIndex = chain.lastIndexOf(".");
43
44
  return lastDotIndex > 0 ? chain.substring(lastDotIndex + 1) : chain;
44
45
  default:
45
46
  return chain;
@@ -52,36 +53,38 @@ function isAccessorChain(value) {
52
53
  return value != null && !!value.isAccessorChain;
53
54
  }
54
55
 
55
- var bindingCache = {};
56
- var Binding = /*#__PURE__*/ (function () {
57
- function Binding(path) {
56
+ let bindingCache = {};
57
+ class Binding {
58
+ path;
59
+ parts;
60
+ value;
61
+ constructor(path) {
58
62
  this.path = path;
59
63
  this.parts = path.split(".");
60
- var body = "return x";
61
- for (var i = 0; i < this.parts.length; i++) body += '?.["' + this.parts[i] + '"]';
64
+ let body = "return x";
65
+ for (let i = 0; i < this.parts.length; i++) body += '?.["' + this.parts[i] + '"]';
62
66
  this.value = new Function("x", body);
63
67
  }
64
- var _proto = Binding.prototype;
65
- _proto.set = function set(state, value) {
66
- var cv = this.value(state);
68
+ set(state, value) {
69
+ const cv = this.value(state);
67
70
  if (cv === value) return state;
68
- var ns = Object.assign({}, state);
69
- var o = ns;
70
- for (var i = 0; i < this.parts.length; i++) {
71
- var part = this.parts[i];
72
- var no = i == this.parts.length - 1 ? value : Object.assign({}, o[part]);
71
+ const ns = Object.assign({}, state);
72
+ let o = ns;
73
+ for (let i = 0; i < this.parts.length; i++) {
74
+ const part = this.parts[i];
75
+ const no = i === this.parts.length - 1 ? value : Object.assign({}, o[part]);
73
76
  o[part] = no;
74
77
  o = no;
75
78
  }
76
79
  return ns;
77
- };
78
- _proto["delete"] = function _delete(state) {
79
- var ns = Object.assign({}, state);
80
- var o = ns;
81
- var part;
82
- for (var i = 0; i < this.parts.length - 1; i++) {
80
+ }
81
+ delete(state) {
82
+ const ns = Object.assign({}, state);
83
+ let o = ns;
84
+ let part;
85
+ for (let i = 0; i < this.parts.length - 1; i++) {
83
86
  part = this.parts[i];
84
- var no = Object.assign({}, o[part]);
87
+ const no = Object.assign({}, o[part]);
85
88
  o[part] = no;
86
89
  o = no;
87
90
  }
@@ -89,119 +92,72 @@ var Binding = /*#__PURE__*/ (function () {
89
92
  if (!o.hasOwnProperty(part)) return state;
90
93
  delete o[part];
91
94
  return ns;
92
- };
93
- Binding.get = function get(path) {
95
+ }
96
+ static get(path) {
94
97
  if (isString(path)) {
95
- var b = bindingCache[path];
98
+ let b = bindingCache[path];
96
99
  if (b) return b;
97
100
  b = new Binding(path);
98
101
  bindingCache[path] = b;
99
102
  return b;
100
103
  }
101
- if (isObject(path) && isString(path.bind)) return this.get(path.bind);
104
+ if (isBindingObject(path)) return this.get(path.bind);
102
105
  if (path instanceof Binding) return path;
103
106
  if (isAccessorChain(path)) return this.get(path.toString());
104
107
  throw new Error("Invalid binding definition provided.");
105
- };
106
- return Binding;
107
- })();
108
+ }
109
+ }
108
110
  function isBinding(value) {
109
- if (isObject(value) && isString(value.bind)) return true;
110
- if (value && value.isAccessorChain) return true;
111
+ if (isObject(value)) {
112
+ if (hasStringAtKey(value, "bind")) return true;
113
+ if (hasValueAtKey(value, "isAccessorChain", true)) return true;
114
+ }
111
115
  return value instanceof Binding;
112
116
  }
113
-
114
- function _construct(t, e, r) {
115
- if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
116
- var o = [null];
117
- o.push.apply(o, e);
118
- var p = new (t.bind.apply(t, o))();
119
- return p;
120
- }
121
- function _extends() {
122
- return (
123
- (_extends = Object.assign
124
- ? Object.assign.bind()
125
- : function (n) {
126
- for (var e = 1; e < arguments.length; e++) {
127
- var t = arguments[e];
128
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
129
- }
130
- return n;
131
- }),
132
- _extends.apply(null, arguments)
133
- );
134
- }
135
- function _inheritsLoose(t, o) {
136
- (t.prototype = Object.create(o.prototype)), (t.prototype.constructor = t), _setPrototypeOf(t, o);
137
- }
138
- function _isNativeReflectConstruct() {
139
- try {
140
- var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
141
- } catch (t) {}
142
- return (_isNativeReflectConstruct = function () {
143
- return !!t;
144
- })();
145
- }
146
- function _setPrototypeOf(t, e) {
147
- return (
148
- (_setPrototypeOf = Object.setPrototypeOf
149
- ? Object.setPrototypeOf.bind()
150
- : function (t, e) {
151
- return (t.__proto__ = e), t;
152
- }),
153
- _setPrototypeOf(t, e)
154
- );
117
+ function isBindingObject(value) {
118
+ return isObject(value) && hasStringAtKey(value, "bind");
155
119
  }
156
120
 
157
- function computable() {
158
- var _ref;
159
- if (arguments.length == 0)
121
+ function computable(...selectorsAndCompute) {
122
+ if (selectorsAndCompute.length == 0)
160
123
  throw new Error("computable requires at least a compute function to be passed in arguments.");
161
- var compute = ((_ref = arguments.length - 1), _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref]);
124
+ let compute = selectorsAndCompute[selectorsAndCompute.length - 1];
162
125
  if (typeof compute != "function") throw new Error("Last argument to the computable function should be a function.");
163
- var inputs = [],
126
+ let inputs = [],
164
127
  a;
165
- for (var i = 0; i + 1 < arguments.length; i++) {
166
- a = i < 0 || arguments.length <= i ? undefined : arguments[i];
128
+ for (let i = 0; i + 1 < selectorsAndCompute.length; i++) {
129
+ a = selectorsAndCompute[i];
167
130
  if (isString(a) || isAccessorChain(a)) inputs.push(Binding.get(a.toString()).value);
168
131
  else if (a.memoize) inputs.push(a.memoize());
169
132
  else if (isFunction(a)) inputs.push(a);
170
- else throw new Error("Invalid selector type '" + typeof a + "' received.");
133
+ else throw new Error(`Invalid selector type '${typeof a}' received.`);
171
134
  }
172
135
  function memoize(warmupData) {
173
- var lastValue,
174
- lastArgs =
175
- warmupData &&
176
- inputs.map(function (s) {
177
- return s(warmupData);
178
- });
136
+ let lastValue,
137
+ lastArgs = warmupData && inputs.map((s) => s(warmupData));
179
138
  return function (data) {
180
- var dirty = false;
139
+ let dirty = false;
181
140
  if (!lastArgs) {
182
141
  lastArgs = Array.from({
183
142
  length: inputs.length,
184
143
  });
185
144
  dirty = true;
186
145
  }
187
- for (var _i = 0; _i < inputs.length; _i++) {
188
- var v = inputs[_i](data);
189
- if (v === lastArgs[_i]) continue;
190
- lastArgs[_i] = v;
146
+ for (let i = 0; i < inputs.length; i++) {
147
+ let v = inputs[i](data);
148
+ if (v === lastArgs[i]) continue;
149
+ lastArgs[i] = v;
191
150
  dirty = true;
192
151
  }
193
152
  if (dirty) lastValue = compute.apply(null, lastArgs);
194
153
  return lastValue;
195
154
  };
196
155
  }
197
- var selector = function selector(data) {
198
- return compute.apply(
156
+ let selector = (data) =>
157
+ compute.apply(
199
158
  null,
200
- inputs.map(function (s) {
201
- return s(data);
202
- }),
159
+ inputs.map((s) => s(data)),
203
160
  );
204
- };
205
161
  selector.memoize = memoize;
206
162
  return selector;
207
163
  }
@@ -212,56 +168,53 @@ function computable() {
212
168
  Expression.registerHelper('_', _);
213
169
  let e = Expression.compile('_.min({data})');
214
170
  */
215
-
216
- var helpers = {},
171
+ let helpers = {},
217
172
  helperNames = [],
218
173
  helperValues = [],
219
174
  expFatArrows = null;
220
175
  function getExpr(expr) {
221
176
  if (expr.memoize) return expr;
222
177
  function memoize() {
223
- var lastValue,
178
+ let lastValue,
224
179
  lastRunBindings = {},
225
180
  lastRunResults = {},
226
181
  getters = {},
227
182
  currentData,
228
183
  len = -1;
229
- var get = function get(bindingWithFormat) {
230
- var getter = getters[bindingWithFormat];
184
+ let get = function (bindingWithFormat) {
185
+ let getter = getters[bindingWithFormat];
231
186
  if (!getter) {
232
- var binding = bindingWithFormat,
187
+ let binding = bindingWithFormat,
233
188
  format;
234
- var colonIndex = bindingWithFormat.indexOf(":");
189
+ let colonIndex = bindingWithFormat.indexOf(":");
235
190
  if (colonIndex != -1) {
236
191
  format = Format.parse(bindingWithFormat.substring(colonIndex + 1));
237
192
  binding = bindingWithFormat.substring(0, colonIndex);
238
193
  } else {
239
- var nullSeparatorIndex = bindingWithFormat.indexOf(":");
194
+ let nullSeparatorIndex = bindingWithFormat.indexOf(":");
240
195
  if (nullSeparatorIndex != -1) {
241
196
  format = Format.parse(bindingWithFormat.substring(nullSeparatorIndex));
242
197
  binding = bindingWithFormat.substring(0, nullSeparatorIndex - 1);
243
198
  }
244
199
  }
245
- var b = Binding.get(binding);
246
- getter = function getter(data) {
247
- var value = b.value(data);
200
+ let b = Binding.get(binding);
201
+ getter = (data) => {
202
+ let value = b.value(data);
248
203
  lastRunBindings[len] = b.value;
249
204
  lastRunResults[len] = value;
250
205
  len++;
251
206
  return value;
252
207
  };
253
208
  if (format) {
254
- var valueGetter = getter;
255
- getter = function getter(data) {
256
- return format(valueGetter(data));
257
- };
209
+ let valueGetter = getter;
210
+ getter = (data) => format(valueGetter(data));
258
211
  }
259
212
  getters[bindingWithFormat] = getter;
260
213
  }
261
214
  return getter(currentData);
262
215
  };
263
216
  return function (data) {
264
- var i = 0;
217
+ let i = 0;
265
218
  for (; i < len; i++) if (lastRunBindings[i](data) !== lastRunResults[i]) break;
266
219
  if (i !== len) {
267
220
  len = 0;
@@ -271,26 +224,26 @@ function getExpr(expr) {
271
224
  return lastValue;
272
225
  };
273
226
  }
274
- var result = memoize();
227
+ let result = memoize();
275
228
  result.memoize = memoize;
276
229
  return result;
277
230
  }
278
231
  function expression(str) {
279
232
  if (isFunction(str)) return getExpr(str);
280
- var cache = getExpressionCache();
281
- var r = cache[str];
233
+ let cache = getExpressionCache();
234
+ let r = cache[str];
282
235
  if (r) return r;
283
- var quote = false;
284
- var termStart = -1,
236
+ let quote = false;
237
+ let termStart = -1,
285
238
  curlyBrackets = 0,
286
239
  percentExpression;
287
- var fb = ["return ("];
288
- var args = {};
289
- var formats = [];
290
- var subExprCount = 0;
291
- var invalidNameCount = 0;
292
- for (var i = 0; i < str.length; i++) {
293
- var c = str[i];
240
+ let fb = ["return ("];
241
+ let args = {};
242
+ let formats = [];
243
+ let subExprCount = 0;
244
+ let invalidNameCount = 0;
245
+ for (let i = 0; i < str.length; i++) {
246
+ let c = str[i];
294
247
  switch (c) {
295
248
  case "{":
296
249
  if (curlyBrackets > 0 && !quote) curlyBrackets++;
@@ -305,27 +258,27 @@ function expression(str) {
305
258
  if (termStart >= 0) {
306
259
  if (quote) continue;
307
260
  if (--curlyBrackets == 0) {
308
- var term = str.substring(termStart, i);
309
- var formatStart = 0;
261
+ let term = str.substring(termStart, i);
262
+ let formatStart = 0;
310
263
  if (term[0] == "[") formatStart = term.indexOf("]");
311
- var colon = term.indexOf(":", formatStart > 0 ? formatStart : 0);
312
- var binding = colon == -1 ? term : term.substring(0, colon);
313
- var format = colon == -1 ? null : term.substring(colon + 1);
264
+ let colon = term.indexOf(":", formatStart > 0 ? formatStart : 0);
265
+ let binding = colon == -1 ? term : term.substring(0, colon);
266
+ let format = colon == -1 ? null : term.substring(colon + 1);
314
267
  if (colon == -1) {
315
- var nullSepIndex = binding.indexOf("|", formatStart);
268
+ let nullSepIndex = binding.indexOf("|", formatStart);
316
269
  if (nullSepIndex != -1) {
317
270
  format = binding.substring(nullSepIndex);
318
271
  binding = binding.substring(0, nullSepIndex);
319
272
  }
320
273
  }
321
- var argName = binding.replace(/\./g, "_");
274
+ let argName = binding.replace(/\./g, "_");
322
275
  if (!isValidIdentifierName(argName)) argName = "inv" + ++invalidNameCount;
323
276
  if (percentExpression || (binding[0] == "[" && binding[binding.length - 1] == "]")) {
324
- argName = "expr" + ++subExprCount;
277
+ argName = `expr${++subExprCount}`;
325
278
  args[argName] = expression(percentExpression ? binding : binding.substring(1, binding.length - 1));
326
279
  } else args[argName] = binding;
327
280
  if (format) {
328
- var formatter = "fmt" + formats.length;
281
+ let formatter = "fmt" + formats.length;
329
282
  fb.push(formatter, "(", argName, ", ", quoteStr(format), ")");
330
283
  formats.push(Format.parse(format));
331
284
  } else fb.push(argName);
@@ -337,8 +290,8 @@ function expression(str) {
337
290
  case "'":
338
291
  if (!quote) quote = c;
339
292
  else if (quote == c) {
340
- var at = i - 1;
341
- var slashCount = 0;
293
+ let at = i - 1;
294
+ let slashCount = 0;
342
295
  while (at >= 0 && str[at] === "\\") {
343
296
  slashCount++;
344
297
  at--;
@@ -353,51 +306,35 @@ function expression(str) {
353
306
  }
354
307
  }
355
308
  fb.push(")");
356
- var body = fb.join("");
309
+ let body = fb.join("");
357
310
  if (expFatArrows) body = expFatArrows(body);
358
-
359
311
  //console.log(body);
360
- var keys = Object.keys(args);
312
+ let keys = Object.keys(args);
361
313
  try {
362
- var _Function;
363
- var compute = (_Function = _construct(
364
- Function,
365
- ["fmt"].concat(
366
- formats.map(function (f, i) {
367
- return "fmt" + i;
368
- }),
369
- helperNames,
370
- keys,
371
- [body],
372
- ),
373
- )).bind.apply(_Function, [Format, Format.value].concat(formats, helperValues));
374
- var selector = computable.apply(
375
- void 0,
376
- keys
377
- .map(function (k) {
378
- return args[k];
379
- })
380
- .concat([compute]),
314
+ let compute = new Function("fmt", ...formats.map((f, i) => "fmt" + i), ...helperNames, ...keys, body).bind(
315
+ Format,
316
+ Format.value,
317
+ ...formats,
318
+ ...helperValues,
381
319
  );
320
+ let selector = computable(...keys.map((k) => args[k]), compute);
382
321
  cache[str] = selector;
383
322
  return selector;
384
323
  } catch (err) {
385
- throw new Error("Failed to parse expression: '" + str + "'. Error: " + err.message);
324
+ throw new Error(`Failed to parse expression: '${str}'. ${err}`);
386
325
  }
387
326
  }
388
- var Expression = {
389
- get: function get(str) {
327
+ const Expression = {
328
+ get: function (str) {
390
329
  return expression(str);
391
330
  },
392
- compile: function compile(str) {
331
+ compile: function (str) {
393
332
  return this.get(str).memoize();
394
333
  },
395
- registerHelper: function registerHelper(name, helper) {
334
+ registerHelper: function (name, helper) {
396
335
  helpers[name] = helper;
397
336
  helperNames = Object.keys(helpers);
398
- helperValues = helperNames.map(function (n) {
399
- return helpers[n];
400
- });
337
+ helperValues = helperNames.map((n) => helpers[n]);
401
338
  },
402
339
  };
403
340
  function plugFatArrowExpansion(impl) {
@@ -406,10 +343,8 @@ function plugFatArrowExpansion(impl) {
406
343
  function invalidateExpressionCache() {
407
344
  expCache = {};
408
345
  }
409
- var expCache = {};
410
- var getExpressionCache = function getExpressionCache() {
411
- return expCache;
412
- };
346
+ let expCache = {};
347
+ let getExpressionCache = () => expCache;
413
348
  function setGetExpressionCacheCallback(callback) {
414
349
  getExpressionCache = callback;
415
350
  }
@@ -418,16 +353,16 @@ function plus(str) {
418
353
  return str.length ? str + " + " : str;
419
354
  }
420
355
  function stringTemplate(str) {
421
- var tplCache = getTplCache();
422
- var expr = tplCache[str];
423
- if (expr) return expr;
424
- expr = "";
425
- var termStart = -1,
356
+ let tplCache = getTplCache();
357
+ let cached = tplCache[str];
358
+ if (cached) return cached;
359
+ let expr = "";
360
+ let termStart = -1,
426
361
  quoteStart = 0,
427
362
  term,
428
363
  bracketsOpen = 0,
429
- percentSign;
430
- for (var i = 0; i < str.length; i++) {
364
+ percentSign = false;
365
+ for (let i = 0; i < str.length; i++) {
431
366
  switch (str[i]) {
432
367
  case "{":
433
368
  if (termStart < 0) {
@@ -449,7 +384,7 @@ function stringTemplate(str) {
449
384
  if (--bracketsOpen == 0) {
450
385
  term = str.substring(termStart, i);
451
386
  if (term.indexOf(":") == -1) {
452
- var nullSepIndex = term.indexOf("|");
387
+ let nullSepIndex = term.indexOf("|");
453
388
  if (nullSepIndex == -1) term += ":s";
454
389
  else term = term.substring(0, nullSepIndex) + ":s" + term.substring(nullSepIndex);
455
390
  }
@@ -469,24 +404,19 @@ function stringTemplate(str) {
469
404
  if (quoteStart < str.length || expr.length == 0) expr = plus(expr) + quoteStr(str.substring(quoteStart));
470
405
  return (tplCache[str] = expression(expr));
471
406
  }
472
- var StringTemplate = {
473
- get: function get(str) {
407
+ const StringTemplate = {
408
+ get: function (str) {
474
409
  return stringTemplate(str);
475
410
  },
476
- compile: function compile(str) {
411
+ compile: function (str) {
477
412
  return stringTemplate(str).memoize();
478
413
  },
479
- format: function format(_format) {
480
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
481
- args[_key - 1] = arguments[_key];
482
- }
483
- return stringTemplate(_format)(args);
414
+ format: function (format, ...args) {
415
+ return stringTemplate(format)(args);
484
416
  },
485
417
  };
486
- var tplCache = {};
487
- var getTplCache = function getTplCache() {
488
- return tplCache;
489
- };
418
+ let tplCache = {};
419
+ let getTplCache = () => tplCache;
490
420
  function invalidateStringTemplateCache() {
491
421
  tplCache = {};
492
422
  }
@@ -494,301 +424,278 @@ function setGetStringTemplateCacheCallback(callback) {
494
424
  getTplCache = callback;
495
425
  }
496
426
 
497
- var Ref = /*#__PURE__*/ (function (_Component) {
498
- function Ref(config) {
499
- var _this;
500
- _this = _Component.call(this, config) || this;
501
- _this.get = _this.get.bind(_this);
502
- if (_this.set) _this.set = _this.set.bind(_this);
503
- return _this;
504
- }
505
- _inheritsLoose(Ref, _Component);
506
- var _proto = Ref.prototype;
507
- _proto.get = function get() {
427
+ class Ref extends Component {
428
+ constructor(config) {
429
+ super(config);
430
+ this.get = this.get.bind(this);
431
+ if (this.set) this.set = this.set.bind(this);
432
+ }
433
+ get() {
508
434
  throw new Error("Ref's get method is not implemented.");
509
- };
510
- _proto.init = function init(value) {
511
- if (this.get() === undefined) this.set(value);
512
- };
513
- _proto.toggle = function toggle() {
514
- this.set(!this.get());
515
- };
516
- _proto.update = function update(cb) {
517
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
518
- args[_key - 1] = arguments[_key];
519
- }
520
- this.set(cb.apply(void 0, [this.get()].concat(args)));
521
- };
522
- _proto.as = function as(config) {
435
+ }
436
+ set(value) {
437
+ throw new Error("Ref's set method is not implemented.");
438
+ }
439
+ delete() {
440
+ throw new Error("Ref's delete method is not implemented.");
441
+ }
442
+ init(value) {
443
+ if (value === undefined) return; // Component.init() compatibility
444
+ if (this.get() === undefined) return this.set(value);
445
+ return false;
446
+ }
447
+ toggle() {
448
+ return this.set(!this.get());
449
+ }
450
+ update(cb, ...args) {
451
+ return this.set(cb(this.get(), ...args));
452
+ }
453
+ as(config) {
523
454
  return Ref.create(config, {
524
455
  get: this.get,
525
456
  set: this.set,
526
457
  });
527
- };
528
- _proto.ref = function ref(path) {
529
- var _this2 = this;
530
- var binding = Binding.get(path);
458
+ }
459
+ ref(path) {
460
+ let binding = Binding.get(path);
531
461
  return Ref.create({
532
- get: function get() {
533
- return binding.value(_this2.get());
534
- },
535
- set: function set(value) {
536
- var data = _this2.get();
537
- var newData = binding.set(data, value);
462
+ get: () => binding.value(this.get()),
463
+ set: (value) => {
464
+ let data = this.get();
465
+ let newData = binding.set(data, value);
538
466
  if (data === newData) return false;
539
- return _this2.set(newData);
467
+ return this.set(newData);
540
468
  },
541
469
  });
542
- };
543
-
470
+ }
544
471
  //allows the function to be passed as a selector, e.g. to computable or addTrigger
545
- _proto.memoize = function memoize() {
472
+ memoize() {
546
473
  return this.get;
547
- };
548
- return Ref;
549
- })(Component);
474
+ }
475
+ }
550
476
  Ref.prototype.isRef = true;
551
477
  Ref.factory = function (alias, config, more) {
552
478
  if (isFunction(alias)) {
553
- var cfg = _extends({}, config, more);
479
+ let cfg = {
480
+ ...config,
481
+ ...more,
482
+ };
554
483
  if (cfg.store) Object.assign(cfg, cfg.store.getMethods());
555
- var result = alias(cfg);
484
+ let result = alias(cfg);
556
485
  if (result instanceof Ref) return result;
557
- return this.create(_extends({}, config, more, result));
486
+ return this.create({
487
+ ...config,
488
+ ...more,
489
+ ...result,
490
+ });
558
491
  }
559
- return this.create(_extends({}, config, more));
492
+ return this.create({
493
+ ...config,
494
+ ...more,
495
+ });
560
496
  };
561
497
 
562
- var StoreRef = /*#__PURE__*/ (function (_Ref) {
563
- function StoreRef(config) {
564
- var _this;
565
- _this = _Ref.call(this, config) || this;
566
- if (isAccessorChain(_this.path)) _this.path = _this.path.toString();
567
- return _this;
568
- }
569
- _inheritsLoose(StoreRef, _Ref);
570
- var _proto = StoreRef.prototype;
571
- _proto.get = function get() {
498
+ class StoreRef extends Ref {
499
+ constructor(config) {
500
+ super(config);
501
+ if (isAccessorChain(this.path)) this.path = this.path.toString();
502
+ }
503
+ get() {
572
504
  return this.store.get(this.path);
573
- };
574
- _proto.set = function set(value) {
505
+ }
506
+ set(value) {
575
507
  return this.store.set(this.path, value);
576
- };
577
- _proto.init = function init(value) {
508
+ }
509
+ init(value) {
510
+ if (value === undefined) return;
578
511
  return this.store.init(this.path, value);
579
- };
580
- _proto.toggle = function toggle() {
512
+ }
513
+ toggle() {
581
514
  return this.store.toggle(this.path);
582
- };
583
- _proto["delete"] = function _delete() {
584
- return this.store["delete"](this.path);
585
- };
586
- _proto.update = function update() {
587
- var _this$store;
588
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
589
- args[_key] = arguments[_key];
590
- }
591
- return (_this$store = this.store).update.apply(_this$store, [this.path].concat(args));
592
- };
593
-
515
+ }
516
+ delete() {
517
+ return this.store.delete(this.path);
518
+ }
519
+ update(cb, ...args) {
520
+ return this.store.update(this.path, cb, ...args);
521
+ }
594
522
  //allows the function to be passed as a selector, e.g. to computable or addTrigger
595
- _proto.memoize = function memoize() {
523
+ memoize() {
596
524
  return this.get;
597
- };
598
- _proto.ref = function ref(path) {
525
+ }
526
+ ref(path) {
599
527
  return new StoreRef({
600
- path: this.path + "." + path,
528
+ path: `${this.path}.${path}`,
601
529
  store: this.store,
602
530
  });
603
- };
604
- _proto.as = function as(config) {
531
+ }
532
+ as(config) {
605
533
  return StoreRef.create(config, {
606
534
  path: this.path,
607
535
  store: this.store,
608
536
  get: this.get,
609
537
  set: this.set,
610
538
  });
611
- };
612
- return StoreRef;
613
- })(Ref);
539
+ }
540
+ }
614
541
 
615
- var View = /*#__PURE__*/ (function () {
616
- function View(config) {
542
+ class View {
543
+ cache;
544
+ notificationsSuspended = 0;
545
+ dirty = false;
546
+ constructor(config) {
617
547
  Object.assign(this, config);
618
548
  this.cache = {
619
549
  version: -1,
620
550
  };
621
551
  if (this.store) this.setStore(this.store);
622
552
  }
623
- var _proto = View.prototype;
624
- _proto.getData = function getData() {
553
+ getData() {
625
554
  throw new Error("abstract method");
626
- };
627
- _proto.init = function init(path, value) {
555
+ }
556
+ init(path, value) {
628
557
  if (typeof path == "object" && path != null) {
629
- var changed = false;
630
- for (var key in path)
558
+ let changed = false;
559
+ for (let key in path)
631
560
  if (path.hasOwnProperty(key) && this.get(key) === undefined && this.setItem(key, path[key])) changed = true;
632
561
  return changed;
633
562
  }
634
- var binding = Binding.get(path);
563
+ let binding = Binding.get(path);
635
564
  if (this.get(binding.path) === undefined) return this.setItem(binding.path, value);
636
565
  return false;
637
- };
638
- _proto.set = function set(path, value) {
639
- if (isObject(path)) {
640
- var changed = false;
641
- for (var key in path) if (path.hasOwnProperty(key) && this.setItem(key, path[key])) changed = true;
566
+ }
567
+ set(path, value) {
568
+ if (typeof path == "object" && path != null) {
569
+ let changed = false;
570
+ for (let key in path) if (path.hasOwnProperty(key) && this.setItem(key, path[key])) changed = true;
642
571
  return changed;
643
572
  }
644
- var binding = Binding.get(path);
573
+ let binding = Binding.get(path);
645
574
  return this.setItem(binding.path, value);
646
- };
647
- _proto.copy = function copy(from, to) {
648
- var value = this.get(from);
649
- this.set(to, value);
650
- };
651
- _proto.move = function move(from, to) {
652
- var _this = this;
653
- this.batch(function () {
654
- _this.copy(from, to);
655
- _this["delete"](from);
575
+ }
576
+ copy(from, to) {
577
+ let value = this.get(from);
578
+ return this.set(to, value);
579
+ }
580
+ move(from, to) {
581
+ return this.batch(() => {
582
+ this.copy(from, to);
583
+ this.delete(from);
656
584
  });
657
- };
658
-
585
+ }
659
586
  //protected
660
- _proto.setItem = function setItem(path, value) {
587
+ setItem(path, value) {
661
588
  if (this.store) return this.store.setItem(path, value);
662
589
  throw new Error("abstract method");
663
- };
664
- _proto["delete"] = function _delete(path) {
665
- var _this2 = this;
590
+ }
591
+ delete(path) {
666
592
  if (arguments.length > 1) path = Array.from(arguments);
667
- if (isArray(path))
668
- return path
669
- .map(function (arg) {
670
- return _this2["delete"](arg);
671
- })
672
- .some(Boolean);
673
- var binding = Binding.get(path);
593
+ if (isArray(path)) return path.map((arg) => this.delete(arg)).some(Boolean);
594
+ let binding = Binding.get(path);
674
595
  return this.deleteItem(binding.path);
675
- };
676
-
596
+ }
677
597
  //protected
678
- _proto.deleteItem = function deleteItem(path) {
598
+ deleteItem(path) {
679
599
  if (this.store) return this.store.deleteItem(path);
680
600
  throw new Error("abstract method");
681
- };
682
- _proto.clear = function clear() {
601
+ }
602
+ clear() {
683
603
  if (this.store) return this.store.clear();
684
604
  throw new Error("abstract method");
685
- };
686
- _proto.get = function get(path) {
687
- var storeData = this.getData();
605
+ }
606
+ get(path, ...args) {
607
+ let storeData = this.getData();
688
608
  if (arguments.length > 1) path = Array.from(arguments);
689
- if (isArray(path))
690
- return path.map(function (arg) {
691
- return Binding.get(arg).value(storeData);
692
- });
609
+ if (isArray(path)) return path.map((arg) => Binding.get(arg).value(storeData));
693
610
  return Binding.get(path).value(storeData);
694
- };
695
- _proto.toggle = function toggle(path) {
611
+ }
612
+ toggle(path) {
696
613
  return this.set(path, !this.get(path));
697
- };
698
- _proto.update = function update(path, updateFn) {
699
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
700
- args[_key - 2] = arguments[_key];
701
- }
614
+ }
615
+ update(path, updateFn, ...args) {
702
616
  if (arguments.length == 1 && isFunction(path))
703
- return this.load(path.apply(null, [this.getData(), updateFn].concat(args)));
704
- return this.set(path, updateFn.apply(null, [this.get(path)].concat(args)));
705
- };
706
- _proto.batch = function batch(callback) {
707
- var dirty = this.silently(callback);
617
+ return this.load(path.apply(null, [this.getData(), updateFn, ...args]));
618
+ return this.set(path, updateFn.apply(null, [this.get(path), ...args]));
619
+ }
620
+ mutate(path, updateFn, ...args) {
621
+ throw new Error(
622
+ "Mutate requires Immer. Please install 'immer' and 'cx-immer' packages and enable store mutation by calling enableImmerMutate().",
623
+ );
624
+ }
625
+ batch(callback) {
626
+ let dirty = this.silently(callback);
708
627
  if (dirty) this.notify();
709
628
  return dirty;
710
- };
711
- _proto.silently = function silently(callback) {
629
+ }
630
+ silently(callback) {
712
631
  if (this.store) return this.store.silently(callback);
713
632
  throw new Error("abstract method");
714
- };
715
- _proto.notify = function notify(path) {
633
+ }
634
+ notify(path) {
716
635
  if (this.notificationsSuspended) this.dirty = true;
717
636
  else this.doNotify(path);
718
- };
719
- _proto.doNotify = function doNotify(path) {
637
+ }
638
+ doNotify(path) {
720
639
  if (this.store) return this.store.notify(path);
721
640
  throw new Error("abstract method");
722
- };
723
- _proto.subscribe = function subscribe(callback) {
641
+ }
642
+ subscribe(callback) {
724
643
  if (this.store) return this.store.subscribe(callback);
725
644
  throw new Error("abstract method");
726
- };
727
- _proto.load = function load(data) {
728
- return this.batch(function (store) {
729
- for (var key in data) store.set(key, data[key]);
730
- });
731
- };
732
- _proto.dispatch = function dispatch(action) {
645
+ }
646
+ load(data) {
647
+ return this.set(data);
648
+ }
649
+ dispatch(action) {
733
650
  if (this.store) return this.store.dispatch(action);
734
651
  throw new Error("The underlying store doesn't support dispatch.");
735
- };
736
- _proto.getMeta = function getMeta() {
652
+ }
653
+ getMeta() {
737
654
  return this.meta;
738
- };
739
- _proto.setStore = function setStore(store) {
655
+ }
656
+ setStore(store) {
740
657
  this.store = store;
741
658
  this.meta = store.getMeta();
742
- };
743
- _proto.ref = function ref(path, defaultValue) {
659
+ }
660
+ ref(path, defaultValue) {
744
661
  if (isDefined(defaultValue)) this.init(path, defaultValue);
745
662
  return StoreRef.create({
746
663
  store: this,
747
- path: path,
664
+ path,
748
665
  });
749
- };
750
- _proto.getMethods = function getMethods() {
666
+ }
667
+ getMethods() {
751
668
  return {
752
669
  getData: this.getData.bind(this),
753
670
  set: this.set.bind(this),
754
671
  get: this.get.bind(this),
755
672
  update: this.update.bind(this),
756
- delete: this["delete"].bind(this),
673
+ delete: this.delete.bind(this),
757
674
  toggle: this.toggle.bind(this),
758
675
  init: this.init.bind(this),
759
676
  ref: this.ref.bind(this),
760
- mutate: this.ref.bind(this),
677
+ mutate: this.mutate.bind(this),
761
678
  };
762
- };
763
- return View;
764
- })();
679
+ }
680
+ }
765
681
  View.prototype.sealed = false; //indicate that data should be copied before virtual items are added
766
682
 
767
- //Immer integration point
768
- View.prototype.mutate = function () {
769
- throw new Error(
770
- "Mutate requires Immer. Please install 'immer' and 'cx-immer' packages and enable store mutation by calling enableImmerMutate().",
771
- );
772
- };
773
-
774
- var SubscribableView = /*#__PURE__*/ (function (_View) {
775
- function SubscribableView(config) {
776
- var _this;
777
- _this = _View.call(this, config) || this;
778
- _this.subscribers = new SubscriberList();
779
- _this.changes = [];
780
- return _this;
781
- }
782
- _inheritsLoose(SubscribableView, _View);
783
- var _proto = SubscribableView.prototype;
784
- _proto.subscribe = function subscribe(callback) {
683
+ class SubscribableView extends View {
684
+ subscribers;
685
+ changes;
686
+ scheduled;
687
+ constructor(config) {
688
+ super(config);
689
+ this.subscribers = new SubscriberList();
690
+ this.changes = [];
691
+ }
692
+ subscribe(callback) {
785
693
  return this.subscribers.subscribe(callback);
786
- };
787
- _proto.unsubscribeAll = function unsubscribeAll() {
694
+ }
695
+ unsubscribeAll() {
788
696
  this.subscribers.clear();
789
- };
790
- _proto.doNotify = function doNotify(path) {
791
- var _this2 = this;
697
+ }
698
+ doNotify(path) {
792
699
  if (this.notificationsSuspended) return;
793
700
  if (!this.async) {
794
701
  this.subscribers.notify([path]);
@@ -796,18 +703,18 @@ var SubscribableView = /*#__PURE__*/ (function (_View) {
796
703
  this.changes.push(path || "");
797
704
  if (!this.scheduled) {
798
705
  this.scheduled = true;
799
- setTimeout(function () {
800
- _this2.scheduled = false;
801
- var changes = _this2.changes;
802
- _this2.changes = [];
803
- _this2.subscribers.notify(changes);
706
+ setTimeout(() => {
707
+ this.scheduled = false;
708
+ let changes = this.changes;
709
+ this.changes = [];
710
+ this.subscribers.notify(changes);
804
711
  }, 0);
805
712
  }
806
713
  }
807
- };
808
- _proto.silently = function silently(callback) {
714
+ }
715
+ silently(callback) {
809
716
  this.notificationsSuspended = (this.notificationsSuspended || 0) + 1;
810
- var wasDirty = this.dirty,
717
+ let wasDirty = this.dirty,
811
718
  dirty;
812
719
  this.dirty = false;
813
720
  try {
@@ -818,31 +725,24 @@ var SubscribableView = /*#__PURE__*/ (function (_View) {
818
725
  this.dirty = wasDirty;
819
726
  }
820
727
  return dirty;
821
- };
822
- return SubscribableView;
823
- })(View);
728
+ }
729
+ }
824
730
  SubscribableView.prototype.async = false;
825
731
 
826
- var Store = /*#__PURE__*/ (function (_SubscribableView) {
827
- function Store(config) {
828
- var _this;
829
- if (config === void 0) {
830
- config = {};
831
- }
832
- _this = _SubscribableView.call(this, config) || this;
833
- _this.data = config.data || {};
834
- _this.meta = {
732
+ class Store extends SubscribableView {
733
+ data;
734
+ constructor(config = {}) {
735
+ super(config);
736
+ this.data = config.data ?? {};
737
+ this.meta = {
835
738
  version: 0,
836
739
  };
837
- return _this;
838
740
  }
839
- _inheritsLoose(Store, _SubscribableView);
840
- var _proto = Store.prototype;
841
- _proto.getData = function getData() {
741
+ getData() {
842
742
  return this.data;
843
- };
844
- _proto.setItem = function setItem(path, value) {
845
- var next = Binding.get(path).set(this.data, value);
743
+ }
744
+ setItem(path, value) {
745
+ let next = Binding.get(path).set(this.data, value);
846
746
  if (next != this.data) {
847
747
  this.data = next;
848
748
  this.meta.version++;
@@ -850,9 +750,9 @@ var Store = /*#__PURE__*/ (function (_SubscribableView) {
850
750
  return true;
851
751
  }
852
752
  return false;
853
- };
854
- _proto.deleteItem = function deleteItem(path) {
855
- var next = Binding.get(path)["delete"](this.data);
753
+ }
754
+ deleteItem(path) {
755
+ let next = Binding.get(path).delete(this.data);
856
756
  if (next != this.data) {
857
757
  this.data = next;
858
758
  this.meta.version++;
@@ -860,23 +760,25 @@ var Store = /*#__PURE__*/ (function (_SubscribableView) {
860
760
  return true;
861
761
  }
862
762
  return false;
863
- };
864
- _proto.clear = function clear() {
763
+ }
764
+ clear() {
865
765
  this.data = {};
866
766
  this.meta.version++;
867
767
  this.notify();
868
- };
869
- return Store;
870
- })(SubscribableView);
768
+ }
769
+ }
871
770
  Store.prototype.async = false;
872
771
 
873
- var ExposedRecordView = /*#__PURE__*/ (function (_View) {
874
- function ExposedRecordView() {
875
- return _View.apply(this, arguments) || this;
772
+ class ExposedRecordView extends View {
773
+ itemIndex;
774
+ immutable;
775
+ collectionBinding;
776
+ recordName;
777
+ indexName;
778
+ constructor(config) {
779
+ super(config);
876
780
  }
877
- _inheritsLoose(ExposedRecordView, _View);
878
- var _proto = ExposedRecordView.prototype;
879
- _proto.getData = function getData() {
781
+ getData() {
880
782
  if (
881
783
  this.sealed &&
882
784
  this.meta.version === this.cache.version &&
@@ -889,65 +791,63 @@ var ExposedRecordView = /*#__PURE__*/ (function (_View) {
889
791
  this.cache.itemIndex = this.itemIndex;
890
792
  this.meta = this.store.meta;
891
793
  return this.cache.result;
892
- };
893
- _proto.embed = function embed(data) {
894
- var collection = this.collectionBinding.value(data);
895
- var record = collection[this.itemIndex];
896
- var copy = this.sealed || this.immutable || this.store.sealed ? _extends({}, data) : data;
794
+ }
795
+ embed(data) {
796
+ const collection = this.collectionBinding.value(data);
797
+ const record = collection[this.itemIndex];
798
+ const copy =
799
+ this.sealed || this.immutable || this.store.sealed
800
+ ? {
801
+ ...data,
802
+ }
803
+ : data;
897
804
  copy[this.recordName] = record;
898
805
  if (this.indexName) copy[this.indexName] = this.itemIndex;
899
806
  return copy;
900
- };
901
- _proto.setIndex = function setIndex(index) {
807
+ }
808
+ setIndex(index) {
902
809
  this.itemIndex = index;
903
- };
904
- _proto.setItem = function setItem(path, value) {
810
+ }
811
+ setItem(path, value) {
905
812
  if (path == this.recordName || path.indexOf(this.recordName + ".") == 0) {
906
- var storeData = this.store.getData();
907
- var collection = this.collectionBinding.value(storeData);
908
- var data = this.embed(storeData);
909
- var d = Binding.get(path).set(data, value);
813
+ const storeData = this.store.getData();
814
+ const collection = this.collectionBinding.value(storeData);
815
+ const data = this.embed(storeData);
816
+ const d = Binding.get(path).set(data, value);
910
817
  if (d === data) return false;
911
- var record = d[this.recordName];
912
- var newCollection = [].concat(
913
- collection.slice(0, this.itemIndex),
914
- [record],
915
- collection.slice(this.itemIndex + 1),
916
- );
818
+ const record = d[this.recordName];
819
+ const newCollection = [...collection.slice(0, this.itemIndex), record, ...collection.slice(this.itemIndex + 1)];
917
820
  return this.store.setItem(this.collectionBinding.path, newCollection);
918
821
  }
919
822
  return this.store.setItem(path, value);
920
- };
921
- _proto.deleteItem = function deleteItem(path) {
922
- var storeData, collection, newCollection;
823
+ }
824
+ deleteItem(path) {
825
+ let storeData, collection, newCollection;
923
826
  if (path == this.recordName) {
924
827
  storeData = this.store.getData();
925
828
  collection = this.collectionBinding.value(storeData);
926
- newCollection = [].concat(collection.slice(0, this.itemIndex), collection.slice(this.itemIndex + 1));
829
+ newCollection = [...collection.slice(0, this.itemIndex), ...collection.slice(this.itemIndex + 1)];
927
830
  return this.store.setItem(this.collectionBinding.path, newCollection);
928
831
  } else if (path.indexOf(this.recordName + ".") == 0) {
929
832
  storeData = this.store.getData();
930
833
  collection = this.collectionBinding.value(storeData);
931
- var data = this.embed(storeData);
932
- var d = Binding.get(path)["delete"](data);
834
+ const data = this.embed(storeData);
835
+ const d = Binding.get(path).delete(data);
933
836
  if (d === data) return false;
934
- var record = d[this.recordName];
935
- newCollection = [].concat(collection.slice(0, this.itemIndex), [record], collection.slice(this.itemIndex + 1));
837
+ const record = d[this.recordName];
838
+ newCollection = [...collection.slice(0, this.itemIndex), record, ...collection.slice(this.itemIndex + 1)];
936
839
  return this.store.setItem(this.collectionBinding.path, newCollection);
937
840
  }
938
841
  return this.store.deleteItem(path);
939
- };
940
- return ExposedRecordView;
941
- })(View);
842
+ }
843
+ }
942
844
  ExposedRecordView.prototype.immutable = false;
943
845
 
944
- var ExposedValueView = /*#__PURE__*/ (function (_View) {
945
- function ExposedValueView() {
946
- return _View.apply(this, arguments) || this;
846
+ class ExposedValueView extends View {
847
+ constructor(config) {
848
+ super(config);
947
849
  }
948
- _inheritsLoose(ExposedValueView, _View);
949
- var _proto = ExposedValueView.prototype;
950
- _proto.getData = function getData() {
850
+ getData() {
951
851
  if (
952
852
  this.sealed &&
953
853
  this.meta.version === this.cache.version &&
@@ -955,23 +855,28 @@ var ExposedValueView = /*#__PURE__*/ (function (_View) {
955
855
  this.meta == this.store.meta
956
856
  )
957
857
  return this.cache.result;
958
- var data = this.store.getData();
959
- var container = this.containerBinding.value(data) || {};
960
- var record = container[this.key];
858
+ let data = this.store.getData();
859
+ let container = this.containerBinding.value(data) || {};
860
+ let record = container[this.key];
961
861
  this.cache.version = this.meta.version;
962
862
  this.cache.key = this.key;
963
- this.cache.result = this.sealed || this.immutable || this.store.sealed ? _extends({}, data) : data;
863
+ this.cache.result =
864
+ this.sealed || this.immutable || this.store.sealed
865
+ ? {
866
+ ...data,
867
+ }
868
+ : data;
964
869
  this.cache.result[this.recordName] = record;
965
870
  this.meta = this.store.meta;
966
871
  return this.cache.result;
967
- };
968
- _proto.setKey = function setKey(key) {
872
+ }
873
+ setKey(key) {
969
874
  this.key = key;
970
- };
971
- _proto.getKey = function getKey() {
875
+ }
876
+ getKey() {
972
877
  return this.key;
973
- };
974
- _proto.setItem = function setItem(path, value) {
878
+ }
879
+ setItem(path, value) {
975
880
  if (path == this.recordName || path.indexOf(this.recordName + ".") == 0) {
976
881
  var data = this.getData();
977
882
  var d = Binding.get(path).set(data, value);
@@ -983,8 +888,8 @@ var ExposedValueView = /*#__PURE__*/ (function (_View) {
983
888
  return this.store.setItem(this.containerBinding.path, newContainer);
984
889
  }
985
890
  return this.store.setItem(path, value);
986
- };
987
- _proto.deleteItem = function deleteItem(path) {
891
+ }
892
+ deleteItem(path) {
988
893
  var data, container, newContainer;
989
894
  if (path == this.recordName) {
990
895
  data = this.getData();
@@ -995,7 +900,7 @@ var ExposedValueView = /*#__PURE__*/ (function (_View) {
995
900
  this.store.set(this.containerBinding.path, newContainer);
996
901
  } else if (path.indexOf(this.recordName + ".") == 0) {
997
902
  data = this.getData();
998
- var d = Binding.get(path)["delete"](data);
903
+ var d = Binding.get(path).delete(data);
999
904
  if (d === data) return false;
1000
905
  container = this.containerBinding.value(d);
1001
906
  var record = d[this.recordName];
@@ -1004,21 +909,18 @@ var ExposedValueView = /*#__PURE__*/ (function (_View) {
1004
909
  return this.store.setItem(this.containerBinding.path, newContainer);
1005
910
  }
1006
911
  return this.store.deleteItem(path);
1007
- };
1008
- return ExposedValueView;
1009
- })(View);
912
+ }
913
+ }
1010
914
  ExposedValueView.prototype.immutable = false;
1011
915
 
1012
- var ReadOnlyDataView = /*#__PURE__*/ (function (_View) {
1013
- function ReadOnlyDataView() {
1014
- return _View.apply(this, arguments) || this;
916
+ class ReadOnlyDataView extends View {
917
+ constructor(config) {
918
+ super(config);
1015
919
  }
1016
- _inheritsLoose(ReadOnlyDataView, _View);
1017
- var _proto = ReadOnlyDataView.prototype;
1018
- _proto.getData = function getData() {
920
+ getData() {
1019
921
  if (this.sealed && this.meta.version === this.cache.version && this.cache.data === this.data)
1020
922
  return this.cache.result;
1021
- var data = this.store.getData();
923
+ let data = this.store.getData();
1022
924
  this.cache.result =
1023
925
  this.sealed || this.immutable || this.store.sealed
1024
926
  ? Object.assign({}, data, this.getAdditionalData(data))
@@ -1026,158 +928,156 @@ var ReadOnlyDataView = /*#__PURE__*/ (function (_View) {
1026
928
  this.cache.version = this.meta.version;
1027
929
  this.cache.data = this.data;
1028
930
  return this.cache.result;
1029
- };
1030
- _proto.getAdditionalData = function getAdditionalData() {
931
+ }
932
+ getAdditionalData(data) {
1031
933
  return this.data;
1032
- };
1033
- _proto.setData = function setData(data) {
934
+ }
935
+ setData(data) {
1034
936
  this.data = data;
1035
- };
1036
- return ReadOnlyDataView;
1037
- })(View);
937
+ }
938
+ }
1038
939
  ReadOnlyDataView.prototype.immutable = false;
1039
940
 
1040
- var AugmentedViewBase = /*#__PURE__*/ (function (_View) {
1041
- function AugmentedViewBase() {
1042
- return _View.apply(this, arguments) || this;
941
+ class AugmentedViewBase extends View {
942
+ constructor(config) {
943
+ super(config);
1043
944
  }
1044
- _inheritsLoose(AugmentedViewBase, _View);
1045
- var _proto = AugmentedViewBase.prototype;
1046
- _proto.getData = function getData() {
945
+ getData() {
1047
946
  if (this.sealed && this.meta.version === this.cache.version && this.meta === this.store.meta)
1048
947
  return this.cache.result;
1049
- var parentStoreData = this.store.getData();
1050
- var result = this.getBaseData(parentStoreData);
948
+ let parentStoreData = this.store.getData();
949
+ let result = this.getBaseData(parentStoreData);
1051
950
  this.embedAugmentData(result, parentStoreData);
1052
951
  this.cache.result = result;
1053
952
  this.cache.parentStoreData = parentStoreData;
1054
953
  this.cache.version = this.meta.version;
1055
954
  this.meta = this.store.meta;
1056
955
  return this.cache.result;
1057
- };
1058
- _proto.getBaseData = function getBaseData(parentStoreData) {
1059
- if (this.sealed || this.immutable || this.store.sealed) return _extends({}, parentStoreData);
956
+ }
957
+ getBaseData(parentStoreData) {
958
+ if (this.sealed || this.immutable || this.store.sealed)
959
+ return {
960
+ ...parentStoreData,
961
+ };
1060
962
  return parentStoreData;
1061
- };
1062
- _proto.embedAugmentData = function embedAugmentData(result, parentStoreData) {
963
+ }
964
+ embedAugmentData(result, parentStoreData) {
1063
965
  throw new Error("abstract");
1064
- };
1065
- _proto.isExtraKey = function isExtraKey(key) {
966
+ }
967
+ isExtraKey(key) {
1066
968
  throw new Error("abstract");
1067
- };
1068
-
969
+ }
1069
970
  // Stores which need to support nested aliases should override this method
1070
- _proto.getExtraKeyBinding = function getExtraKeyBinding(key) {
1071
- var binding = Binding.get(key);
971
+ getExtraKeyBinding(key) {
972
+ let binding = Binding.get(key);
1072
973
  return this.isExtraKey(binding.parts[0]) ? Binding.get(binding.parts[0]) : null;
1073
- };
1074
- _proto.setExtraKeyValue = function setExtraKeyValue(key, value) {
974
+ }
975
+ setExtraKeyValue(key, value) {
1075
976
  throw new Error("abstract");
1076
- };
1077
- _proto.deleteExtraKeyValue = function deleteExtraKeyValue(key) {
977
+ }
978
+ deleteExtraKeyValue(key) {
1078
979
  throw new Error("abstract");
1079
- };
1080
- _proto.setItem = function setItem(path, value) {
1081
- var extraKeyBinding = this.getExtraKeyBinding(path);
980
+ }
981
+ setItem(path, value) {
982
+ let extraKeyBinding = this.getExtraKeyBinding(path);
1082
983
  if (extraKeyBinding) {
1083
- var binding = Binding.get(path);
1084
- var newValue = value;
984
+ let binding = Binding.get(path);
985
+ let newValue = value;
1085
986
  if (binding.parts.length > extraKeyBinding.parts.length) {
1086
- var data = {};
987
+ let data = {};
1087
988
  this.embedAugmentData(data, this.store.getData());
1088
- var _binding = Binding.get(path);
1089
- data = _binding.set(data, value);
989
+ let binding = Binding.get(path);
990
+ data = binding.set(data, value);
1090
991
  newValue = extraKeyBinding.value(data);
1091
992
  }
1092
993
  return this.setExtraKeyValue(extraKeyBinding.path, newValue);
1093
994
  }
1094
- return _View.prototype.setItem.call(this, path, value);
1095
- };
1096
- _proto.deleteItem = function deleteItem(path) {
1097
- var extraKeyBinding = this.getExtraKeyBinding(path);
995
+ return super.setItem(path, value);
996
+ }
997
+ deleteItem(path) {
998
+ let extraKeyBinding = this.getExtraKeyBinding(path);
1098
999
  if (extraKeyBinding) {
1099
1000
  if (path == extraKeyBinding.path) return this.deleteExtraKeyValue(extraKeyBinding.path);
1100
- var data = {};
1001
+ let data = {};
1101
1002
  this.embedAugmentData(data, this.store.getData());
1102
- var binding = Binding.get(path);
1103
- data = binding["delete"](data);
1104
- var newValue = extraKeyBinding.value(data);
1003
+ let binding = Binding.get(path);
1004
+ data = binding.delete(data);
1005
+ let newValue = extraKeyBinding.value(data);
1105
1006
  return this.setExtraKeyValue(extraKeyBinding.path, newValue);
1106
1007
  }
1107
- return _View.prototype.deleteItem.call(this, path);
1108
- };
1109
- return AugmentedViewBase;
1110
- })(View);
1008
+ return super.deleteItem(path);
1009
+ }
1010
+ }
1111
1011
  AugmentedViewBase.prototype.immutable = false;
1112
1012
 
1113
- var NestedDataView = /*#__PURE__*/ (function (_AugmentedViewBase) {
1114
- function NestedDataView() {
1115
- return _AugmentedViewBase.apply(this, arguments) || this;
1013
+ class NestedDataView extends AugmentedViewBase {
1014
+ constructor(config) {
1015
+ super(config);
1116
1016
  }
1117
- _inheritsLoose(NestedDataView, _AugmentedViewBase);
1118
- var _proto = NestedDataView.prototype;
1119
- _proto.embedAugmentData = function embedAugmentData(result, parentStoreData) {
1017
+ embedAugmentData(result, parentStoreData) {
1120
1018
  if (this.nestedData) {
1121
- var nested = this.nestedData.getSelector()(parentStoreData);
1122
- for (var key in nested) result[key] = nested[key];
1019
+ let nested = this.nestedData.getSelector()(parentStoreData);
1020
+ for (let key in nested) result[key] = nested[key];
1123
1021
  }
1124
- };
1125
- _proto.isExtraKey = function isExtraKey(key) {
1126
- return this.nestedData && this.nestedData.containsKey(key);
1127
- };
1128
- _proto.setExtraKeyValue = function setExtraKeyValue(key, value) {
1129
- this.nestedData.setItem(key, value);
1130
- };
1131
- _proto.deleteExtraKeyValue = function deleteExtraKeyValue(key) {
1132
- this.setExtraKeyValue(key, undefined);
1133
- };
1134
- return NestedDataView;
1135
- })(AugmentedViewBase);
1022
+ }
1023
+ isExtraKey(key) {
1024
+ return !!this.nestedData && this.nestedData.containsKey(key);
1025
+ }
1026
+ setExtraKeyValue(key, value) {
1027
+ if (!this.nestedData) throw new Error("Internal error. This should not happen.");
1028
+ return this.nestedData.setItem(key, value);
1029
+ }
1030
+ deleteExtraKeyValue(key) {
1031
+ return this.setExtraKeyValue(key, undefined);
1032
+ }
1033
+ }
1136
1034
 
1137
- var ZoomIntoPropertyView = /*#__PURE__*/ (function (_NestedDataView) {
1138
- function ZoomIntoPropertyView() {
1139
- return _NestedDataView.apply(this, arguments) || this;
1140
- }
1141
- _inheritsLoose(ZoomIntoPropertyView, _NestedDataView);
1142
- var _proto = ZoomIntoPropertyView.prototype;
1143
- _proto.getBaseData = function getBaseData(parentStoreData) {
1144
- var x = this.binding.value(parentStoreData);
1035
+ class ZoomIntoPropertyView extends NestedDataView {
1036
+ constructor(config) {
1037
+ super(config);
1038
+ }
1039
+ getBaseData(parentStoreData) {
1040
+ let x = this.binding.value(parentStoreData);
1145
1041
  if (x != null && typeof x != "object") throw new Error("Zoomed value must be an object.");
1146
- return _extends({}, x);
1147
- };
1148
- _proto.embedAugmentData = function embedAugmentData(result, parentStoreData) {
1042
+ return {
1043
+ ...x,
1044
+ };
1045
+ }
1046
+ embedAugmentData(result, parentStoreData) {
1149
1047
  result[this.rootName] = parentStoreData;
1150
- _NestedDataView.prototype.embedAugmentData.call(this, result, parentStoreData);
1151
- };
1152
- _proto.setItem = function setItem(path, value) {
1153
- if (path.indexOf(this.rootName + ".") == 0) this.store.setItem(path.substring(this.rootName.length + 1), value);
1154
- else if (this.isExtraKey(Binding.get(path).parts[0])) _NestedDataView.prototype.setItem.call(this, path, value);
1155
- else _NestedDataView.prototype.setItem.call(this, this.binding.path + "." + path, value);
1156
- };
1157
- _proto.deleteItem = function deleteItem(path) {
1158
- if (path.indexOf(this.rootName + ".") == 0) this.store.deleteItem(path.substring(this.rootName.length + 1));
1159
- else if (this.isExtraKey(Binding.get(path).parts[0])) _NestedDataView.prototype.deleteItem.call(this, path);
1160
- else _NestedDataView.prototype.deleteItem.call(this, this.binding.path + "." + path);
1161
- };
1162
- return ZoomIntoPropertyView;
1163
- })(NestedDataView);
1048
+ super.embedAugmentData(result, parentStoreData);
1049
+ }
1050
+ setItem(path, value) {
1051
+ if (path.indexOf(this.rootName + ".") == 0)
1052
+ return this.store.setItem(path.substring(this.rootName.length + 1), value);
1053
+ if (this.isExtraKey(Binding.get(path).parts[0])) return super.setItem(path, value);
1054
+ return super.setItem(this.binding.path + "." + path, value);
1055
+ }
1056
+ deleteItem(path) {
1057
+ if (path.indexOf(this.rootName + ".") == 0) return this.store.deleteItem(path.substring(this.rootName.length + 1));
1058
+ if (this.isExtraKey(Binding.get(path).parts[0])) return super.deleteItem(path);
1059
+ return super.deleteItem(this.binding.path + "." + path);
1060
+ }
1061
+ }
1164
1062
  ZoomIntoPropertyView.prototype.rootName = "$root";
1165
1063
 
1166
1064
  function createStructuredSelector(selector, constants) {
1167
- var keys = Object.keys(selector);
1168
- if (keys.length == 0)
1169
- return function () {
1170
- return constants;
1171
- };
1065
+ let keys = Object.keys(selector);
1066
+ constants = constants ?? {};
1067
+ if (keys.length == 0) {
1068
+ let result = () => constants;
1069
+ result.memoize = () => result;
1070
+ return result;
1071
+ }
1172
1072
  function memoize() {
1173
- var lastResult = Object.assign({}, constants);
1174
- var memoizedSelectors = {};
1175
- keys.forEach(function (key) {
1073
+ let lastResult = Object.assign({}, constants);
1074
+ let memoizedSelectors = {};
1075
+ keys.forEach((key) => {
1176
1076
  memoizedSelectors[key] = selector[key].memoize ? selector[key].memoize() : selector[key];
1177
1077
  lastResult[key] = undefined;
1178
1078
  });
1179
1079
  return function (data) {
1180
- var result = lastResult,
1080
+ let result = lastResult,
1181
1081
  k,
1182
1082
  v,
1183
1083
  i;
@@ -1193,15 +1093,15 @@ function createStructuredSelector(selector, constants) {
1193
1093
  return (lastResult = result);
1194
1094
  };
1195
1095
  }
1196
- function evaluate(data) {
1197
- var result = Object.assign({}, constants);
1198
- for (var i = 0; i < keys.length; i++) {
1096
+ let result = function evaluate(data) {
1097
+ let result = Object.assign({}, constants);
1098
+ for (let i = 0; i < keys.length; i++) {
1199
1099
  result[keys[i]] = selector[keys[i]](data);
1200
1100
  }
1201
1101
  return result;
1202
- }
1203
- evaluate.memoize = memoize;
1204
- return evaluate;
1102
+ };
1103
+ result.memoize = memoize;
1104
+ return result;
1205
1105
  }
1206
1106
 
1207
1107
  function isSelector(config) {
@@ -1222,47 +1122,46 @@ function isSelector(config) {
1222
1122
  return false;
1223
1123
  }
1224
1124
 
1225
- var undefinedF = function undefinedF() {
1226
- return undefined;
1227
- };
1228
- var nullF = function nullF() {
1229
- return null;
1230
- };
1125
+ var undefinedF = () => undefined;
1126
+ var nullF = () => null;
1231
1127
  function getSelector(config) {
1232
1128
  if (config === undefined) return undefinedF;
1233
1129
  if (config === null) return nullF;
1234
1130
  switch (typeof config) {
1235
1131
  case "object":
1236
1132
  if (isArray(config)) {
1237
- var _selectors = config.map(function (x) {
1238
- return getSelector(x);
1239
- });
1240
- return function (data) {
1241
- return _selectors.map(function (elementSelector) {
1242
- return elementSelector(data);
1243
- });
1244
- };
1133
+ let selectors = config.map((x) => getSelector(x));
1134
+ return (data) => selectors.map((elementSelector) => elementSelector(data));
1245
1135
  }
1246
-
1247
1136
  //toString converts accessor chains to binding paths
1248
- if (config.bind) return Binding.get(config.bind.toString()).value;
1249
- if (isString(config.tpl)) return StringTemplate.get(config.tpl);
1250
- if (config.expr) return Expression.get(config.expr);
1251
- if (config.get) return config.get;
1252
- var selectors = {};
1253
- var constants = {};
1254
- for (var key in config) {
1255
- if (isSelector(config[key])) selectors[key] = getSelector(config[key]);
1256
- else constants[key] = config[key];
1137
+ if (hasKey(config, "bind") && config.bind != null) return Binding.get(config.bind.toString()).value;
1138
+ if (hasStringAtKey(config, "tpl")) return StringTemplate.get(config.tpl);
1139
+ if (hasKey(config, "expr") && (isString(config.expr) || isFunction(config.expr)))
1140
+ return Expression.get(config.expr);
1141
+ if (hasFunctionAtKey(config, "get")) return config.get;
1142
+ let selectors = {};
1143
+ let constants = {};
1144
+ let obj = config;
1145
+ for (let key in obj) {
1146
+ switch (typeof obj[key]) {
1147
+ case "bigint":
1148
+ case "boolean":
1149
+ case "number":
1150
+ case "string":
1151
+ constants[key] = obj[key];
1152
+ break;
1153
+ default:
1154
+ if (isSelector(obj[key])) selectors[key] = getSelector(obj[key]);
1155
+ else constants[key] = obj[key];
1156
+ break;
1157
+ }
1257
1158
  }
1258
1159
  return createStructuredSelector(selectors, constants);
1259
1160
  case "function":
1260
1161
  if (isAccessorChain(config)) return Binding.get(config.toString()).value;
1261
1162
  return config;
1262
1163
  default:
1263
- return function () {
1264
- return config;
1265
- };
1164
+ return () => config;
1266
1165
  }
1267
1166
  }
1268
1167
 
@@ -1271,7 +1170,7 @@ function defaultValue(pv) {
1271
1170
  return pv;
1272
1171
  }
1273
1172
  function getSelectorConfig(props, values, nameMap) {
1274
- var functions = {},
1173
+ let functions = {},
1275
1174
  structures = {},
1276
1175
  defaultValues = {},
1277
1176
  constants,
@@ -1305,7 +1204,7 @@ function getSelectorConfig(props, values, nameMap) {
1305
1204
  } else if (pv && typeof pv == "object" && pv.structured) {
1306
1205
  if (isArray(v)) functions[p] = getSelector(v);
1307
1206
  else {
1308
- var s = getSelectorConfig(v, v, {});
1207
+ let s = getSelectorConfig(v, v, {});
1309
1208
  structures[p] = s;
1310
1209
  Object.assign(defaultValues, s.defaultValues);
1311
1210
  }
@@ -1316,7 +1215,7 @@ function getSelectorConfig(props, values, nameMap) {
1316
1215
  }
1317
1216
  } else if (isFunction(v)) {
1318
1217
  if (isAccessorChain(v)) {
1319
- var path = v.toString();
1218
+ let path = v.toString();
1320
1219
  nameMap[p] = path;
1321
1220
  functions[p] = Binding.get(path).value;
1322
1221
  } else functions[p] = v;
@@ -1332,216 +1231,195 @@ function getSelectorConfig(props, values, nameMap) {
1332
1231
  }
1333
1232
  }
1334
1233
  return {
1335
- functions: functions,
1336
- structures: structures,
1337
- defaultValues: defaultValues,
1338
- constants: constants,
1339
- constant: constant,
1234
+ functions,
1235
+ structures,
1236
+ defaultValues,
1237
+ constants,
1238
+ constant,
1340
1239
  };
1341
1240
  }
1342
- function createSelector(_ref) {
1343
- var functions = _ref.functions,
1344
- structures = _ref.structures,
1345
- constants = _ref.constants;
1346
- _ref.defaultValues;
1347
- var selector = {};
1348
- for (var n in functions) {
1241
+ function createSelector({ functions, structures, constants, defaultValues }) {
1242
+ let selector = {};
1243
+ for (let n in functions) {
1349
1244
  selector[n] = functions[n];
1350
1245
  }
1351
- for (var _n in structures) selector[_n] = createSelector(structures[_n]);
1246
+ for (let n in structures) selector[n] = createSelector(structures[n]);
1352
1247
  return createStructuredSelector(selector, constants);
1353
1248
  }
1354
- var StructuredSelector = /*#__PURE__*/ (function () {
1355
- function StructuredSelector(_ref2) {
1356
- var props = _ref2.props,
1357
- values = _ref2.values;
1249
+ class StructuredSelector {
1250
+ nameMap;
1251
+ config;
1252
+ constructor({ props, values }) {
1358
1253
  this.nameMap = {};
1359
1254
  this.config = getSelectorConfig(props, values, this.nameMap);
1360
1255
  }
1361
- var _proto = StructuredSelector.prototype;
1362
- _proto.init = function init(store) {
1256
+ init(store) {
1363
1257
  store.init(this.config.defaultValues);
1364
- };
1365
- _proto.create = function create(memoize) {
1366
- if (memoize === void 0) {
1367
- memoize = true;
1368
- }
1369
- var selector = createSelector(this.config);
1258
+ }
1259
+ create(memoize = true) {
1260
+ let selector = createSelector(this.config);
1370
1261
  if (memoize && selector.memoize) return selector.memoize();
1371
1262
  return selector;
1372
- };
1373
- _proto.createStoreSelector = function createStoreSelector() {
1263
+ }
1264
+ createStoreSelector() {
1374
1265
  if (this.config.constant) {
1375
- var result = _extends({}, this.config.constants);
1376
- return function () {
1377
- return result;
1266
+ let result = {
1267
+ ...this.config.constants,
1378
1268
  };
1269
+ return () => result;
1379
1270
  }
1380
- var selector = this.create();
1381
- return function (store) {
1382
- return selector(store.getData());
1383
- };
1384
- };
1385
- return StructuredSelector;
1386
- })();
1271
+ let selector = this.create();
1272
+ return (store) => selector(store.getData());
1273
+ }
1274
+ }
1387
1275
 
1388
- var AggregateFunction = /*#__PURE__*/ (function () {
1389
- function AggregateFunction() {}
1390
- AggregateFunction.sum = function sum() {
1276
+ class AggregateFunction {
1277
+ static sum() {
1391
1278
  return new Sum();
1392
- };
1393
- AggregateFunction.avg = function avg() {
1279
+ }
1280
+ static avg() {
1394
1281
  return new Avg();
1395
- };
1396
- AggregateFunction.count = function count() {
1282
+ }
1283
+ static count() {
1397
1284
  return new Count();
1398
- };
1399
- AggregateFunction.distinct = function distinct() {
1285
+ }
1286
+ static distinct() {
1400
1287
  return new Distinct();
1401
- };
1402
- AggregateFunction.min = function min() {
1288
+ }
1289
+ static min() {
1403
1290
  return new Min();
1404
- };
1405
- AggregateFunction.max = function max() {
1291
+ }
1292
+ static max() {
1406
1293
  return new Max();
1407
- };
1408
- AggregateFunction.last = function last() {
1294
+ }
1295
+ static last() {
1409
1296
  return new LastValue();
1410
- };
1411
- return AggregateFunction;
1412
- })();
1413
- var Sum = /*#__PURE__*/ (function () {
1414
- function Sum() {}
1415
- var _proto = Sum.prototype;
1416
- _proto.process = function process(value) {
1297
+ }
1298
+ }
1299
+ class Sum {
1300
+ result = 0;
1301
+ empty = true;
1302
+ invalid;
1303
+ process(value) {
1417
1304
  this.empty = false;
1418
1305
  if (!isNaN(value)) this.result += value;
1419
1306
  else this.invalid = true;
1420
- };
1421
- _proto.getResult = function getResult() {
1307
+ }
1308
+ getResult() {
1422
1309
  if (this.invalid) return null;
1423
1310
  return this.result;
1424
- };
1425
- return Sum;
1426
- })();
1311
+ }
1312
+ }
1427
1313
  Sum.prototype.result = 0;
1428
1314
  Sum.prototype.empty = true;
1429
- var Avg = /*#__PURE__*/ (function () {
1430
- function Avg() {}
1431
- var _proto2 = Avg.prototype;
1432
- _proto2.process = function process(value, count) {
1433
- if (count === void 0) {
1434
- count = 1;
1435
- }
1315
+ class Avg {
1316
+ result = 0;
1317
+ count = 0;
1318
+ empty = true;
1319
+ invalid;
1320
+ process(value, count = 1) {
1436
1321
  this.empty = false;
1437
1322
  if (!isNaN(value) && !isNaN(count)) {
1438
1323
  this.result += value * count;
1439
1324
  this.count += count;
1440
1325
  } else this.invalid = true;
1441
- };
1442
- _proto2.getResult = function getResult() {
1326
+ }
1327
+ getResult() {
1443
1328
  if (this.empty || this.invalid || this.count == 0) return null;
1444
1329
  return this.result / this.count;
1445
- };
1446
- return Avg;
1447
- })();
1330
+ }
1331
+ }
1448
1332
  Avg.prototype.result = 0;
1449
1333
  Avg.prototype.count = 0;
1450
1334
  Avg.prototype.empty = true;
1451
- var Count = /*#__PURE__*/ (function () {
1452
- function Count() {}
1453
- var _proto3 = Count.prototype;
1454
- _proto3.process = function process(value) {
1335
+ class Count {
1336
+ result = 0;
1337
+ process(value) {
1455
1338
  if (value != null) this.result++;
1456
- };
1457
- _proto3.getResult = function getResult() {
1339
+ }
1340
+ getResult() {
1458
1341
  return this.result;
1459
- };
1460
- return Count;
1461
- })();
1342
+ }
1343
+ }
1462
1344
  Count.prototype.result = 0;
1463
- var Distinct = /*#__PURE__*/ (function () {
1464
- function Distinct() {
1345
+ class Distinct {
1346
+ values = {};
1347
+ empty = true;
1348
+ result = 0;
1349
+ invalid;
1350
+ constructor() {
1465
1351
  this.values = {};
1466
1352
  }
1467
- var _proto4 = Distinct.prototype;
1468
- _proto4.process = function process(value) {
1353
+ process(value) {
1469
1354
  if (value == null || this.values[value]) return;
1470
1355
  this.values[value] = true;
1471
1356
  this.empty = false;
1472
1357
  this.result++;
1473
- };
1474
- _proto4.getResult = function getResult() {
1358
+ }
1359
+ getResult() {
1475
1360
  if (this.empty || this.invalid) return null;
1476
1361
  return this.result;
1477
- };
1478
- return Distinct;
1479
- })();
1362
+ }
1363
+ }
1480
1364
  Distinct.prototype.result = 0;
1481
1365
  Distinct.prototype.empty = true;
1482
- var Max = /*#__PURE__*/ (function () {
1483
- function Max() {}
1484
- var _proto5 = Max.prototype;
1485
- _proto5.process = function process(value) {
1366
+ class Max {
1367
+ result = 0;
1368
+ empty = true;
1369
+ invalid;
1370
+ process(value) {
1486
1371
  if (!isNaN(value)) {
1487
1372
  if (this.empty) this.result = value;
1488
1373
  else if (value > this.result) this.result = value;
1489
1374
  this.empty = false;
1490
1375
  } else if (value != null) this.invalid = true;
1491
- };
1492
- _proto5.getResult = function getResult() {
1376
+ }
1377
+ getResult() {
1493
1378
  if (this.empty || this.invalid) return null;
1494
1379
  return this.result;
1495
- };
1496
- return Max;
1497
- })();
1380
+ }
1381
+ }
1498
1382
  Max.prototype.result = 0;
1499
1383
  Max.prototype.empty = true;
1500
- var Min = /*#__PURE__*/ (function () {
1501
- function Min() {}
1502
- var _proto6 = Min.prototype;
1503
- _proto6.process = function process(value) {
1384
+ class Min {
1385
+ result = 0;
1386
+ empty = true;
1387
+ invalid;
1388
+ process(value) {
1504
1389
  if (!isNaN(value)) {
1505
1390
  if (this.empty) this.result = value;
1506
1391
  else if (value < this.result) this.result = value;
1507
1392
  this.empty = false;
1508
1393
  } else if (value != null) this.invalid = true;
1509
- };
1510
- _proto6.getResult = function getResult() {
1394
+ }
1395
+ getResult() {
1511
1396
  if (this.empty || this.invalid) return null;
1512
1397
  return this.result;
1513
- };
1514
- return Min;
1515
- })();
1398
+ }
1399
+ }
1516
1400
  Min.prototype.result = 0;
1517
1401
  Min.prototype.empty = true;
1518
- var LastValue = /*#__PURE__*/ (function () {
1519
- function LastValue() {}
1520
- var _proto7 = LastValue.prototype;
1521
- _proto7.process = function process(value) {
1402
+ class LastValue {
1403
+ result = null;
1404
+ process(value) {
1522
1405
  this.result = value;
1523
- };
1524
- _proto7.getResult = function getResult() {
1406
+ }
1407
+ getResult() {
1525
1408
  return this.result;
1526
- };
1527
- return LastValue;
1528
- })();
1409
+ }
1410
+ }
1529
1411
  LastValue.prototype.result = null;
1530
1412
 
1531
- /*
1532
- 'column': {
1533
- index: 0,
1534
- sort: 'asc',
1535
- group: true
1536
- aggregate: 'count'
1537
- }
1538
- */
1539
-
1540
- var Grouper = /*#__PURE__*/ (function () {
1541
- function Grouper(key, aggregates, dataGetter, nameGetter) {
1542
- this.keys = Object.keys(key).map(function (keyField) {
1543
- var isSimpleField = keyField.indexOf(".") === -1;
1544
- var keySetter;
1413
+ class Grouper {
1414
+ keys;
1415
+ nameGetter;
1416
+ dataGetter;
1417
+ aggregates;
1418
+ groups;
1419
+ constructor(key, aggregates, dataGetter, nameGetter) {
1420
+ this.keys = Object.keys(key).map((keyField) => {
1421
+ let isSimpleField = keyField.indexOf(".") === -1;
1422
+ let keySetter;
1545
1423
  if (isSimpleField) {
1546
1424
  // use simple field setter wherever possible
1547
1425
  keySetter = function set(result, value) {
@@ -1550,49 +1428,41 @@ var Grouper = /*#__PURE__*/ (function () {
1550
1428
  };
1551
1429
  } else {
1552
1430
  // for complex paths, use deep setter
1553
- var binding = Binding.get(keyField);
1554
- keySetter = function keySetter(result, value) {
1555
- return binding.set(result, value);
1556
- };
1431
+ let binding = Binding.get(keyField);
1432
+ keySetter = (result, value) => binding.set(result, value);
1557
1433
  }
1558
1434
  return {
1559
1435
  name: keyField,
1560
- keySetter: keySetter,
1436
+ keySetter,
1561
1437
  value: getSelector(key[keyField]),
1562
1438
  };
1563
1439
  });
1564
1440
  if (nameGetter) this.nameGetter = getSelector(nameGetter);
1565
- this.dataGetter =
1566
- dataGetter ||
1567
- function (x) {
1568
- return x;
1569
- };
1441
+ this.dataGetter = dataGetter || ((x) => x);
1570
1442
  this.aggregates =
1571
1443
  aggregates &&
1572
- transformValues(aggregates, function (prop) {
1573
- var _prop$weight;
1574
- if (!AggregateFunction[prop.type]) throw new Error("Unknown aggregate function '" + prop.type + "'.");
1444
+ transformValues(aggregates, (prop) => {
1445
+ if (!(prop.type in AggregateFunction)) throw new Error(`Unknown aggregate function '${prop.type}'.`);
1575
1446
  return {
1576
1447
  value: getSelector(prop.value),
1577
- weight: getSelector((_prop$weight = prop.weight) != null ? _prop$weight : 1),
1448
+ weight: getSelector(prop.weight ?? 1),
1578
1449
  type: prop.type,
1579
1450
  };
1580
1451
  });
1581
1452
  this.reset();
1582
1453
  }
1583
- var _proto = Grouper.prototype;
1584
- _proto.reset = function reset() {
1454
+ reset() {
1585
1455
  this.groups = this.initGroup(this.keys.length == 0);
1586
- };
1587
- _proto.initGroup = function initGroup(leaf) {
1456
+ }
1457
+ initGroup(leaf) {
1588
1458
  if (!leaf) return {};
1589
1459
  return {
1590
1460
  records: [],
1591
1461
  indexes: [],
1592
1462
  aggregates:
1593
1463
  this.aggregates &&
1594
- transformValues(this.aggregates, function (prop) {
1595
- var f = AggregateFunction[prop.type];
1464
+ transformValues(this.aggregates, (prop) => {
1465
+ let f = AggregateFunction[prop.type];
1596
1466
  return {
1597
1467
  processor: f(),
1598
1468
  value: prop.value,
@@ -1600,15 +1470,13 @@ var Grouper = /*#__PURE__*/ (function () {
1600
1470
  };
1601
1471
  }),
1602
1472
  };
1603
- };
1604
- _proto.process = function process(record, index) {
1605
- var data = this.dataGetter(record);
1606
- var key = this.keys.map(function (k) {
1607
- return k.value(data);
1608
- });
1609
- var g = this.groups;
1610
- for (var i = 0; i < key.length; i++) {
1611
- var sg = g[key[i]];
1473
+ }
1474
+ process(record, index) {
1475
+ let data = this.dataGetter(record);
1476
+ let key = this.keys.map((k) => k.value(data));
1477
+ let g = this.groups;
1478
+ for (let i = 0; i < key.length; i++) {
1479
+ let sg = g[key[i]];
1612
1480
  if (!sg) {
1613
1481
  sg = g[key[i]] = this.initGroup(i + 1 == key.length);
1614
1482
  if (this.nameGetter) sg.name = this.nameGetter(data);
@@ -1618,24 +1486,19 @@ var Grouper = /*#__PURE__*/ (function () {
1618
1486
  g.records.push(record);
1619
1487
  g.indexes.push(index);
1620
1488
  if (g.aggregates) {
1621
- for (var k in g.aggregates)
1489
+ for (let k in g.aggregates)
1622
1490
  g.aggregates[k].processor.process(g.aggregates[k].value(data), g.aggregates[k].weight(data));
1623
1491
  }
1624
- };
1625
- _proto.processAll = function processAll(records, indexes) {
1626
- var _this = this;
1492
+ }
1493
+ processAll(records, indexes) {
1627
1494
  if (indexes) {
1628
- for (var i = 0; i < records.length; i++) this.process(records[i], indexes[i]);
1629
- } else
1630
- records.forEach(function (r, i) {
1631
- return _this.process(r, i);
1632
- });
1633
- };
1634
- _proto.report = function report(g, path, level, results) {
1635
- var _this2 = this;
1495
+ for (let i = 0; i < records.length; i++) this.process(records[i], indexes[i]);
1496
+ } else records.forEach((r, i) => this.process(r, i));
1497
+ }
1498
+ report(g, path, level, results) {
1636
1499
  if (level == this.keys.length) {
1637
- var key = {};
1638
- this.keys.forEach(function (k, i) {
1500
+ let key = {};
1501
+ this.keys.forEach((k, i) => {
1639
1502
  key = k.keySetter(key, path[i]);
1640
1503
  });
1641
1504
  results.push({
@@ -1643,38 +1506,29 @@ var Grouper = /*#__PURE__*/ (function () {
1643
1506
  name: g.name,
1644
1507
  records: g.records,
1645
1508
  indexes: g.indexes,
1646
- aggregates: resolveKeyPaths(
1647
- transformValues(g.aggregates, function (p) {
1648
- return p.processor.getResult();
1649
- }),
1650
- ),
1509
+ aggregates: resolveKeyPaths(transformValues(g.aggregates, (p) => p.processor.getResult())),
1651
1510
  });
1652
1511
  } else {
1653
- Object.keys(g).forEach(function (k) {
1654
- return _this2.report(g[k], [].concat(path, [k]), level + 1, results);
1655
- });
1512
+ Object.keys(g).forEach((k) => this.report(g[k], [...path, k], level + 1, results));
1656
1513
  }
1657
- };
1658
- _proto.getResults = function getResults() {
1659
- var g = this.groups;
1660
- var results = [];
1514
+ }
1515
+ getResults() {
1516
+ let g = this.groups;
1517
+ let results = [];
1661
1518
  this.report(g, [], 0, results);
1662
1519
  return results;
1663
- };
1664
- return Grouper;
1665
- })();
1666
-
1520
+ }
1521
+ }
1667
1522
  // transform object values using a function
1668
1523
  function transformValues(o, f) {
1669
- var res = {};
1670
- for (var k in o) res[k] = f(o[k], k);
1524
+ let res = {};
1525
+ for (let k in o) res[k] = f(o[k], k);
1671
1526
  return res;
1672
1527
  }
1673
-
1674
1528
  // transform keys like 'a.b.c' into nested objects
1675
1529
  function resolveKeyPaths(o) {
1676
- var res = {};
1677
- for (var k in o) {
1530
+ let res = {};
1531
+ for (let k in o) {
1678
1532
  if (k.indexOf(".") > 0) res = Binding.get(k).set(res, o[k]);
1679
1533
  else res[k] = o[k];
1680
1534
  }
@@ -1692,40 +1546,27 @@ function defaultCompare(av, bv) {
1692
1546
  }
1693
1547
 
1694
1548
  function getComparer(sorters, dataAccessor, comparer) {
1695
- var resolvedSorters = (sorters || []).map(function (s) {
1696
- var selector = isDefined(s.value)
1697
- ? getSelector(s.value)
1698
- : s.field
1699
- ? function (x) {
1700
- return x[s.field];
1701
- }
1702
- : function () {
1703
- return null;
1704
- };
1549
+ let resolvedSorters = (sorters || []).map((s) => {
1550
+ let selector = isDefined(s.value) ? getSelector(s.value) : s.field ? (x) => x[s.field] : () => null;
1705
1551
  return {
1706
- getter: dataAccessor
1707
- ? function (x) {
1708
- return selector(dataAccessor(x));
1709
- }
1710
- : selector,
1552
+ getter: dataAccessor ? (x) => selector(dataAccessor(x)) : selector,
1711
1553
  factor: s.direction && s.direction[0].toLowerCase() == "d" ? -1 : 1,
1712
1554
  compare: s.comparer || s.compare || comparer || defaultCompare,
1713
1555
  };
1714
1556
  });
1715
1557
  return function (a, b) {
1716
- var d, av, bv;
1717
- for (var i = 0; i < resolvedSorters.length; i++) {
1558
+ let d, av, bv;
1559
+ for (let i = 0; i < resolvedSorters.length; i++) {
1718
1560
  d = resolvedSorters[i];
1719
1561
  av = d.getter(a);
1720
1562
  bv = d.getter(b);
1721
-
1722
1563
  // show nulls always on the bottom
1723
1564
  if (av == null) {
1724
1565
  if (bv == null) continue;
1725
1566
  else return 1;
1726
1567
  }
1727
1568
  if (bv == null) return -1;
1728
- var r = d.compare(av, bv);
1569
+ let r = d.compare(av, bv);
1729
1570
  if (r == 0) continue;
1730
1571
  return d.factor * r;
1731
1572
  }
@@ -1733,26 +1574,22 @@ function getComparer(sorters, dataAccessor, comparer) {
1733
1574
  };
1734
1575
  }
1735
1576
  function indexSorter(sorters, dataAccessor, compare) {
1736
- var cmp = getComparer(sorters, dataAccessor, compare);
1577
+ let cmp = getComparer(sorters, dataAccessor, compare);
1737
1578
  return function (data) {
1738
- var result = Array.from(
1579
+ let result = Array.from(
1739
1580
  {
1740
1581
  length: data.length,
1741
1582
  },
1742
- function (v, k) {
1743
- return k;
1744
- },
1583
+ (v, k) => k,
1745
1584
  );
1746
- result.sort(function (ia, ib) {
1747
- return cmp(data[ia], data[ib]);
1748
- });
1585
+ result.sort((ia, ib) => cmp(data[ia], data[ib]));
1749
1586
  return result;
1750
1587
  };
1751
1588
  }
1752
1589
  function sorter(sorters, dataAccessor, compare) {
1753
- var cmp = getComparer(sorters, dataAccessor, compare);
1590
+ let cmp = getComparer(sorters, dataAccessor, compare);
1754
1591
  return function (data) {
1755
- var result = [].concat(data);
1592
+ let result = [...data];
1756
1593
  result.sort(cmp);
1757
1594
  return result;
1758
1595
  };
@@ -1762,43 +1599,46 @@ function enableFatArrowExpansion() {
1762
1599
  plugFatArrowExpansion(expandFatArrows);
1763
1600
  }
1764
1601
 
1765
- function append(array) {
1766
- for (var _len = arguments.length, items = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1767
- items[_key - 1] = arguments[_key];
1768
- }
1769
- if (items.length == 0) return array;
1602
+ function append(array, ...items) {
1603
+ if (items.length === 0) return array ?? [];
1770
1604
  if (!array) return items;
1771
- return [].concat(array, items);
1605
+ return [...array, ...items];
1772
1606
  }
1773
1607
 
1774
1608
  function merge(item, data) {
1775
- var result = item;
1776
- if (data) for (var key in data) result = Binding.get(key).set(result, data[key]);
1609
+ let result = item;
1610
+ if (data) {
1611
+ for (const key in data) {
1612
+ result = Binding.get(key).set(result, data[key]);
1613
+ }
1614
+ }
1777
1615
  return result;
1778
1616
  }
1779
1617
 
1780
1618
  function filter(array, callback) {
1781
1619
  if (array == null) return array;
1782
- var result = array.filter(callback);
1783
- if (result.length == array.length) return array;
1620
+ const result = array.filter(callback);
1621
+ if (result.length === array.length) return array;
1784
1622
  return result;
1785
1623
  }
1786
1624
 
1787
1625
  function updateArray(array, updateCallback, itemFilter, removeFilter) {
1788
1626
  if (!array) return array;
1789
- var newArray = [];
1790
- var dirty = false;
1791
- for (var index = 0; index < array.length; index++) {
1792
- var item = array[index];
1627
+ const newArray = [];
1628
+ let dirty = false;
1629
+ for (let index = 0; index < array.length; index++) {
1630
+ const item = array[index];
1793
1631
  if (removeFilter && removeFilter(item, index)) {
1794
1632
  dirty = true;
1795
1633
  continue;
1796
1634
  }
1797
1635
  if (!itemFilter || itemFilter(item, index)) {
1798
- var newItem = updateCallback(item, index);
1636
+ const newItem = updateCallback(item, index);
1799
1637
  newArray.push(newItem);
1800
1638
  if (newItem !== item) dirty = true;
1801
- } else newArray.push(item);
1639
+ } else {
1640
+ newArray.push(item);
1641
+ }
1802
1642
  }
1803
1643
  return dirty ? newArray : array;
1804
1644
  }
@@ -1806,14 +1646,16 @@ function updateArray(array, updateCallback, itemFilter, removeFilter) {
1806
1646
  function updateTree(array, updateCallback, itemFilter, childrenField, removeFilter) {
1807
1647
  return updateArray(
1808
1648
  array,
1809
- function (item) {
1810
- var _extends2;
1649
+ (item) => {
1811
1650
  if (!itemFilter || itemFilter(item)) item = updateCallback(item);
1812
- var children = item[childrenField];
1651
+ const children = item[childrenField];
1813
1652
  if (!Array.isArray(children)) return item;
1814
- var updatedChildren = updateTree(children, updateCallback, itemFilter, childrenField, removeFilter);
1653
+ const updatedChildren = updateTree(children, updateCallback, itemFilter, childrenField, removeFilter);
1815
1654
  if (updatedChildren != children)
1816
- return _extends({}, item, ((_extends2 = {}), (_extends2[childrenField] = updatedChildren), _extends2));
1655
+ return {
1656
+ ...item,
1657
+ [childrenField]: updatedChildren,
1658
+ };
1817
1659
  return item;
1818
1660
  },
1819
1661
  null,
@@ -1821,271 +1663,223 @@ function updateTree(array, updateCallback, itemFilter, childrenField, removeFilt
1821
1663
  );
1822
1664
  }
1823
1665
 
1824
- function removeTreeNodes(array, criteria, childrenField) {
1825
- if (childrenField === void 0) {
1826
- childrenField = "$children";
1827
- }
1666
+ function removeTreeNodes(array, criteria, childrenField = "$children") {
1828
1667
  return updateTree(
1829
1668
  array,
1830
- null,
1831
- function () {
1832
- return false;
1833
- },
1669
+ (x) => x,
1670
+ () => false,
1834
1671
  childrenField,
1835
1672
  criteria,
1836
1673
  );
1837
1674
  }
1838
1675
 
1839
- function findTreeNode(array, criteria, childrenField) {
1840
- if (childrenField === void 0) {
1841
- childrenField = "$children";
1842
- }
1676
+ function findTreeNode(array, criteria, childrenField = "$children") {
1843
1677
  if (!Array.isArray(array)) return false;
1844
- for (var i = 0; i < array.length; i++) {
1845
- if (criteria(array[i])) return array[i];
1846
- var child = findTreeNode(array[i][childrenField], criteria, childrenField);
1847
- if (child) return child;
1678
+ for (const node of array) {
1679
+ if (criteria(node)) return node;
1680
+ const children = node[childrenField];
1681
+ const found = findTreeNode(children, criteria, childrenField);
1682
+ if (found) return found;
1848
1683
  }
1849
1684
  return false;
1850
1685
  }
1851
1686
 
1852
1687
  function moveElement(array, sourceIndex, targetIndex) {
1853
- if (targetIndex == sourceIndex) return array;
1854
- var el = array[sourceIndex];
1855
- var res = [].concat(array);
1688
+ if (sourceIndex === targetIndex) return array;
1689
+ const result = [...array];
1690
+ const element = result[sourceIndex];
1856
1691
  if (sourceIndex < targetIndex) {
1857
- for (var i = sourceIndex; i + 1 < targetIndex; i++) res[i] = res[i + 1];
1692
+ for (let i = sourceIndex; i < targetIndex - 1; i++) {
1693
+ result[i] = result[i + 1];
1694
+ }
1695
+ result[targetIndex - 1] = result[targetIndex];
1858
1696
  targetIndex--;
1859
1697
  } else {
1860
- for (var _i = sourceIndex; _i > targetIndex; _i--) res[_i] = res[_i - 1];
1698
+ for (let i = sourceIndex; i > targetIndex; i--) {
1699
+ result[i] = result[i - 1];
1700
+ }
1861
1701
  }
1862
- res[targetIndex] = el;
1863
- return res;
1702
+ result[targetIndex] = element;
1703
+ return result;
1864
1704
  }
1865
1705
 
1866
- function insertElement(array, index) {
1867
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
1868
- args[_key - 2] = arguments[_key];
1869
- }
1870
- return [].concat(array.slice(0, index), args, array.slice(index));
1706
+ function insertElement(array, index, ...elements) {
1707
+ return [...array.slice(0, index), ...elements, ...array.slice(index)];
1871
1708
  }
1872
1709
 
1873
- function findTreePath(array, criteria, childrenField, currentPath) {
1874
- if (childrenField === void 0) {
1875
- childrenField = "$children";
1876
- }
1877
- if (currentPath === void 0) {
1878
- currentPath = [];
1879
- }
1710
+ function findTreePath(array, criteria, childrenField = "$children", currentPath = []) {
1880
1711
  if (!Array.isArray(array)) return false;
1881
- for (var i = 0; i < array.length; i++) {
1882
- currentPath.push(array[i]);
1883
- if (criteria(array[i])) return currentPath;
1884
- var childPath = findTreePath(array[i][childrenField], criteria, childrenField, currentPath);
1712
+ for (const node of array) {
1713
+ currentPath.push(node);
1714
+ if (criteria(node)) return [...currentPath];
1715
+ const children = node[childrenField];
1716
+ const childPath = findTreePath(children, criteria, childrenField, currentPath);
1885
1717
  if (childPath) return childPath;
1886
1718
  currentPath.pop();
1887
1719
  }
1888
1720
  return false;
1889
1721
  }
1890
1722
 
1891
- function diffArrays(oldArray, newArray, keyFn) {
1892
- if (!keyFn)
1893
- keyFn = function keyFn(e) {
1894
- return e;
1895
- };
1896
- var map = new Map();
1897
- for (var i = 0; i < oldArray.length; i++) map.set(keyFn(oldArray[i]), oldArray[i]);
1898
- var added = [],
1899
- changed = [],
1900
- unchanged = [];
1901
- for (var _i = 0; _i < newArray.length; _i++) {
1902
- var el = newArray[_i];
1903
- var k = keyFn(el);
1904
- var old = map.get(k);
1905
- if (isUndefined(old)) added.push(el);
1906
- else {
1907
- map["delete"](k);
1908
- if (el == old) unchanged.push(el);
1909
- else
1723
+ function diffArrays(oldArray, newArray, keyFn = (e) => e) {
1724
+ const map = new Map();
1725
+ oldArray.forEach((item) => {
1726
+ const key = keyFn(item);
1727
+ map.set(key, item);
1728
+ });
1729
+ const added = [];
1730
+ const changed = [];
1731
+ const unchanged = [];
1732
+ newArray.forEach((item) => {
1733
+ const key = keyFn(item);
1734
+ const oldItem = map.get(key);
1735
+ if (isUndefined(oldItem)) {
1736
+ added.push(item);
1737
+ } else {
1738
+ map.delete(key);
1739
+ if (item === oldItem) {
1740
+ unchanged.push(item);
1741
+ } else {
1910
1742
  changed.push({
1911
- before: old,
1912
- after: el,
1743
+ before: oldItem,
1744
+ after: item,
1913
1745
  });
1746
+ }
1914
1747
  }
1915
- }
1916
- var removed = Array.from(map.values());
1748
+ });
1749
+ const removed = Array.from(map.values());
1917
1750
  return {
1918
- added: added,
1919
- changed: changed,
1920
- unchanged: unchanged,
1921
- removed: removed,
1751
+ added,
1752
+ changed,
1753
+ unchanged,
1754
+ removed,
1922
1755
  };
1923
1756
  }
1924
1757
 
1925
- var ArrayRef = /*#__PURE__*/ (function (_Ref) {
1926
- function ArrayRef() {
1927
- return _Ref.apply(this, arguments) || this;
1928
- }
1929
- _inheritsLoose(ArrayRef, _Ref);
1930
- var _proto = ArrayRef.prototype;
1931
- _proto.append = function append$1() {
1932
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1933
- args[_key] = arguments[_key];
1934
- }
1935
- this.update.apply(this, [append].concat(args));
1936
- };
1937
- _proto.insert = function insert(index) {
1938
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1939
- args[_key2 - 1] = arguments[_key2];
1940
- }
1941
- this.update.apply(this, [insertElement].concat(args));
1942
- };
1943
- _proto.filter = function filter(predicate) {
1944
- this.update(function (array) {
1945
- return array.filter(function (a) {
1946
- return predicate(a);
1947
- });
1948
- });
1949
- };
1950
- _proto.move = function move(fromIndex, toIndex) {
1758
+ class ArrayRef extends Ref {
1759
+ append(...args) {
1760
+ this.update(append, ...args);
1761
+ }
1762
+ insert(index, ...args) {
1763
+ this.update(insertElement, ...args);
1764
+ }
1765
+ filter(predicate) {
1766
+ this.update((array) => array.filter((a) => predicate(a)));
1767
+ }
1768
+ move(fromIndex, toIndex) {
1951
1769
  this.update(moveElement, fromIndex, toIndex);
1952
- };
1953
- _proto.clear = function clear() {
1770
+ }
1771
+ clear() {
1954
1772
  this.set([]);
1955
- };
1956
- _proto.sort = function sort(compare) {
1957
- var data = this.get();
1773
+ }
1774
+ sort(compare) {
1775
+ let data = this.get();
1958
1776
  if (!data) return;
1959
- var x = [].concat(data);
1777
+ let x = [...data];
1960
1778
  x.sort(compare);
1961
1779
  this.set(x);
1962
- };
1963
- return ArrayRef;
1964
- })(Ref);
1780
+ }
1781
+ }
1965
1782
 
1966
- var StoreProxy = /*#__PURE__*/ (function (_View) {
1967
- function StoreProxy(getStore) {
1968
- var _this;
1969
- _this =
1970
- _View.call(this, {
1971
- store: getStore(),
1972
- }) || this;
1973
- Object.defineProperty(_this, "store", {
1783
+ class StoreProxy extends View {
1784
+ constructor(getStore) {
1785
+ super({
1786
+ store: getStore(),
1787
+ });
1788
+ Object.defineProperty(this, "store", {
1974
1789
  get: getStore,
1975
1790
  });
1976
- return _this;
1977
1791
  }
1978
- _inheritsLoose(StoreProxy, _View);
1979
- var _proto = StoreProxy.prototype;
1980
- _proto.getData = function getData() {
1792
+ getData() {
1981
1793
  return this.store.getData();
1982
- };
1983
- return StoreProxy;
1984
- })(View);
1794
+ }
1795
+ }
1985
1796
 
1986
- var ArrayElementView = /*#__PURE__*/ (function (_AugmentedViewBase) {
1987
- function ArrayElementView(config) {
1988
- var _this;
1989
- _this = _AugmentedViewBase.call(this, config) || this;
1990
- _this.hasNestedAliases =
1991
- _this.recordAlias.indexOf(".") >= 0 || _this.indexAlias.indexOf(".") >= 0 || _this.lengthAlias.indexOf(".") >= 0;
1992
- _this.recordBinding = Binding.get(_this.recordAlias);
1993
- if (_this.hasNestedAliases) {
1994
- _this.indexBinding = Binding.get(_this.indexAlias);
1995
- _this.lengthAlias = Binding.get(_this.lengthAlias);
1797
+ class ArrayElementView extends AugmentedViewBase {
1798
+ constructor(config) {
1799
+ super(config);
1800
+ this.hasNestedAliases =
1801
+ this.recordAlias.indexOf(".") >= 0 || this.indexAlias.indexOf(".") >= 0 || this.lengthAlias.indexOf(".") >= 0;
1802
+ this.recordBinding = Binding.get(this.recordAlias);
1803
+ if (this.hasNestedAliases) {
1804
+ this.indexBinding = Binding.get(this.indexAlias);
1805
+ this.lengthBinding = Binding.get(this.lengthAlias);
1996
1806
  }
1997
- return _this;
1998
1807
  }
1999
- _inheritsLoose(ArrayElementView, _AugmentedViewBase);
2000
- var _proto = ArrayElementView.prototype;
2001
- _proto.getExtraKeyBinding = function getExtraKeyBinding(key) {
1808
+ getExtraKeyBinding(key) {
2002
1809
  if (!key.startsWith(this.recordAlias)) return null;
2003
1810
  if (key.length == this.recordAlias.length || key[this.recordAlias.length] == ".") return this.recordBinding;
2004
1811
  return null;
2005
- };
2006
- _proto.deleteExtraKeyValue = function deleteExtraKeyValue(key) {
2007
- if (key != this.recordAlias) throw new Error("Field " + key + " cannot be deleted.");
2008
- var array = this.arrayAccessor.get(this.store.getData());
1812
+ }
1813
+ deleteExtraKeyValue(key) {
1814
+ if (key != this.recordAlias) throw new Error(`Field ${key} cannot be deleted.`);
1815
+ const array = this.arrayAccessor.get(this.store.getData());
2009
1816
  if (!array) return false;
2010
- var newArray = [].concat(array.slice(0, this.itemIndex), array.slice(this.itemIndex + 1));
1817
+ const newArray = [...array.slice(0, this.itemIndex), ...array.slice(this.itemIndex + 1)];
2011
1818
  return this.arrayAccessor.set(newArray, this.store);
2012
- };
2013
- _proto.setExtraKeyValue = function setExtraKeyValue(key, value) {
2014
- if (key != this.recordAlias) throw new Error("Field " + key + " is read-only.");
2015
- var array = this.arrayAccessor.get(this.store.getData());
1819
+ }
1820
+ setExtraKeyValue(key, value) {
1821
+ if (key != this.recordAlias) throw new Error(`Field ${key} is read-only.`);
1822
+ const array = this.arrayAccessor.get(this.store.getData());
2016
1823
  if (!array || value === array[this.itemIndex]) return false;
2017
- var newArray = [].concat(array.slice(0, this.itemIndex), [value], array.slice(this.itemIndex + 1));
1824
+ const newArray = [...array.slice(0, this.itemIndex), value, ...array.slice(this.itemIndex + 1)];
2018
1825
  return this.arrayAccessor.set(newArray, this.store);
2019
- };
2020
- _proto.embedAugmentData = function embedAugmentData(result, parentStoreData) {
2021
- var array = this.arrayAccessor.get(parentStoreData);
1826
+ }
1827
+ embedAugmentData(result, parentStoreData) {
1828
+ let array = this.arrayAccessor.get(parentStoreData);
2022
1829
  if (!isArray(array)) return;
2023
1830
  if (!this.hasNestedAliases) {
2024
1831
  result[this.recordAlias] = array[this.itemIndex];
2025
1832
  result[this.indexAlias] = this.itemIndex;
2026
1833
  result[this.lengthAlias] = array.length;
2027
1834
  } else {
2028
- var copy = result;
1835
+ let copy = result;
2029
1836
  copy = this.recordBinding.set(copy, array[this.itemIndex]);
2030
1837
  copy = this.indexBinding.set(copy, this.itemIndex);
2031
- copy = this.lengthAlias.set(copy, array.length);
1838
+ copy = this.lengthBinding.set(copy, array.length);
2032
1839
  result[this.recordBinding.parts[0]] = copy[this.recordBinding.parts[0]];
2033
1840
  result[this.indexBinding.parts[0]] = copy[this.indexBinding.parts[0]];
2034
- result[this.lengthAlias.parts[0]] = copy[this.lengthAlias.parts[0]];
1841
+ result[this.lengthBinding.parts[0]] = copy[this.lengthBinding.parts[0]];
2035
1842
  }
2036
- };
2037
- _proto.setIndex = function setIndex(itemIndex) {
1843
+ }
1844
+ setIndex(itemIndex) {
2038
1845
  this.itemIndex = itemIndex;
2039
- };
2040
- return ArrayElementView;
2041
- })(AugmentedViewBase);
1846
+ }
1847
+ }
2042
1848
  ArrayElementView.prototype.recordAlias = "$record";
2043
1849
  ArrayElementView.prototype.indexAlias = "$index";
2044
1850
  ArrayElementView.prototype.lengthAlias = "$length";
2045
1851
 
2046
- /*
2047
- Accessor provides a common ground between refs and bindings.
2048
- Refs offer simplicity, bindings have better performance with more arguments.
2049
- Accessor works as a common interface which works with both patterns.
2050
- */
2051
-
2052
- function getAccessor(accessor, options) {
2053
- if (accessor == null) return null;
1852
+ function getAccessor(accessor) {
1853
+ if (accessor == null) return undefined;
2054
1854
  if (isObject(accessor)) {
2055
- if (accessor.isAccessor || accessor.isRef) return accessor;
1855
+ if ("isAccessor" in accessor || "isRef" in accessor) return accessor;
2056
1856
  if (isBinding(accessor)) {
2057
- var binding = Binding.get(accessor);
1857
+ let binding = Binding.get(accessor);
2058
1858
  return {
2059
1859
  get: binding.value,
2060
- set: function set(v, store) {
2061
- return store.set(binding.path, v);
2062
- },
1860
+ set: (v, store) => store.set(binding.path, v),
2063
1861
  isAccessor: true,
2064
1862
  };
2065
1863
  }
2066
1864
  }
2067
1865
  if (isAccessorChain(accessor)) {
2068
- var _binding = Binding.get(accessor);
1866
+ let binding = Binding.get(accessor);
2069
1867
  return {
2070
- get: _binding.value,
2071
- set: function set(v, store) {
2072
- return store.set(_binding.path, v);
2073
- },
1868
+ get: binding.value,
1869
+ set: (v, store) => store.set(binding.path, v),
2074
1870
  isAccessor: true,
2075
1871
  };
2076
1872
  }
2077
1873
  if (isSelector(accessor)) {
2078
- var selector = getSelector(accessor);
1874
+ let selector = getSelector(accessor);
2079
1875
  if (accessor && accessor.set)
2080
1876
  return {
2081
1877
  get: selector,
2082
1878
  isAccessor: true,
2083
- bindInstance: function bindInstance(instance) {
1879
+ bindInstance(instance) {
2084
1880
  return {
2085
1881
  get: selector,
2086
- set: function set(value) {
2087
- return accessor.set(value, instance);
2088
- },
1882
+ set: (value) => accessor.set(value, instance),
2089
1883
  isAccessor: true,
2090
1884
  };
2091
1885
  },
@@ -2096,9 +1890,7 @@ function getAccessor(accessor, options) {
2096
1890
  };
2097
1891
  }
2098
1892
  return {
2099
- get: function get() {
2100
- return accessor;
2101
- },
1893
+ get: () => accessor,
2102
1894
  };
2103
1895
  }
2104
1896
 
@@ -2122,6 +1914,7 @@ export {
2122
1914
  View,
2123
1915
  ZoomIntoPropertyView,
2124
1916
  append,
1917
+ bindingCache,
2125
1918
  computable,
2126
1919
  createAccessorModelProxy,
2127
1920
  defaultCompare,
@@ -2140,6 +1933,7 @@ export {
2140
1933
  invalidateStringTemplateCache,
2141
1934
  isAccessorChain,
2142
1935
  isBinding,
1936
+ isBindingObject,
2143
1937
  isSelector,
2144
1938
  merge,
2145
1939
  moveElement,