@onepercentio/one-ui 1.3.2 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/.github/workflows/release-browser-bundle.yml +76 -0
  2. package/README.md +23 -0
  3. package/dist/assets/img/svg/checkbox.svg +3 -0
  4. package/dist/assets/styles/index.scss +2 -0
  5. package/dist/assets/styles/mixins.scss +15 -0
  6. package/dist/assets/styles/variables.scss +49 -0
  7. package/dist/components/AdaptiveButton/AdaptiveButton.js +32 -0
  8. package/dist/components/AdaptiveButton/AdaptiveButton.module.scss +7 -0
  9. package/dist/components/AdaptiveButton/index.js +27 -0
  10. package/dist/components/AdaptiveContainer/AdaptiveContainer.js +152 -0
  11. package/dist/components/AdaptiveContainer/AdaptiveContainer.module.scss +53 -0
  12. package/dist/components/AdaptiveContainer/index.js +27 -0
  13. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +81 -0
  14. package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +145 -0
  15. package/dist/components/AdaptiveDialog/index.js +27 -0
  16. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +77 -0
  17. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +49 -0
  18. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +13 -0
  19. package/dist/components/AdaptiveSidebar/index.js +27 -0
  20. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +168 -0
  21. package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +64 -0
  22. package/dist/components/AnchoredTooltip/index.js +27 -0
  23. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +166 -0
  24. package/dist/components/AnimatedEntrance/AnimatedEntrance.module.scss +108 -0
  25. package/dist/components/AnimatedEntrance/index.js +27 -0
  26. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +95 -0
  27. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.module.scss +22 -0
  28. package/dist/components/AsyncTriggerContainer/index.js +27 -0
  29. package/dist/components/AsyncWrapper/AsyncWrapper.js +42 -0
  30. package/dist/components/AsyncWrapper/index.js +27 -0
  31. package/dist/components/Avatar/Avatar.js +40 -0
  32. package/dist/components/Avatar/Avatar.module.scss +22 -0
  33. package/dist/components/Avatar/index.js +27 -0
  34. package/dist/components/BucketFill/BucketFill.js +56 -0
  35. package/dist/components/BucketFill/BucketFill.module.scss +36 -0
  36. package/dist/components/BucketFill/index.js +27 -0
  37. package/dist/components/Button/Button.js +39 -0
  38. package/dist/components/Button/Button.module.scss +45 -0
  39. package/dist/components/Button/index.js +27 -0
  40. package/dist/components/Card/Card.js +22 -0
  41. package/dist/components/Card/Card.module.scss +12 -0
  42. package/dist/components/Card/index.js +27 -0
  43. package/dist/components/Chart/Chart.js +27 -0
  44. package/dist/components/Chart/Chart.logic.js +14 -0
  45. package/dist/components/Chart/Chart.module.scss +58 -0
  46. package/dist/components/Chart/Chart.types.js +6 -0
  47. package/dist/components/Chart/Chart.view.js +184 -0
  48. package/dist/components/Chart/index.js +27 -0
  49. package/dist/components/CheckBox/CheckBox.js +52 -0
  50. package/dist/components/CheckBox/CheckBox.module.scss +36 -0
  51. package/dist/components/CheckBox/index.js +27 -0
  52. package/dist/components/CodeInput/CodeInput.js +84 -0
  53. package/dist/components/CodeInput/CodeInput.module.scss +5 -0
  54. package/dist/components/CodeInput/index.js +27 -0
  55. package/dist/components/Collapsable/Collapsable.js +186 -0
  56. package/dist/components/Collapsable/Collapsable.module.scss +42 -0
  57. package/dist/components/Collapsable/index.js +27 -0
  58. package/dist/components/Countdown/Countdown.js +83 -0
  59. package/dist/components/Countdown/index.js +27 -0
  60. package/dist/components/CurrencyInput/CurrencyInput.hook.js +28 -0
  61. package/dist/components/CurrencyInput/CurrencyInput.js +54 -0
  62. package/dist/components/CurrencyInput/index.js +27 -0
  63. package/dist/components/Divider/Divider.js +21 -0
  64. package/dist/components/Divider/Divider.module.scss +7 -0
  65. package/dist/components/Divider/index.js +27 -0
  66. package/dist/components/EmailInput/EmailInput.js +48 -0
  67. package/dist/components/EmailInput/EmailInput.module.scss +0 -0
  68. package/dist/components/EmailInput/index.js +27 -0
  69. package/dist/components/FadeIn/FadeIn.js +64 -0
  70. package/dist/components/FadeIn/FadeIn.module.scss +9 -0
  71. package/dist/components/FadeIn/index.js +27 -0
  72. package/dist/components/FileInput/FileInput.js +53 -0
  73. package/dist/components/FileInput/FileInput.module.scss +6 -0
  74. package/dist/components/FileInput/View/BigFactory/BigFactory.js +54 -0
  75. package/dist/components/FileInput/View/BigFactory/BigFactory.module.scss +20 -0
  76. package/dist/components/FileInput/View/BigFactory/index.js +27 -0
  77. package/dist/components/FileInput/View/Compact/Compact.js +120 -0
  78. package/dist/components/FileInput/View/Compact/Compact.module.scss +68 -0
  79. package/dist/components/FileInput/View/Compact/index.js +27 -0
  80. package/dist/components/FileInput/View/View.types.js +6 -0
  81. package/dist/components/FileInput/index.js +27 -0
  82. package/dist/components/FlowController/FlowController.js +66 -0
  83. package/dist/components/FlowController/FlowController.module.scss +47 -0
  84. package/dist/components/FlowController/index.js +27 -0
  85. package/dist/components/Form/Form.hook.js +234 -0
  86. package/dist/components/Form/Form.js +115 -0
  87. package/dist/components/Form/Form.module.scss +0 -0
  88. package/dist/components/Form/Form.types.js +40 -0
  89. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +75 -0
  90. package/dist/components/Form/FormField/Extensions/DateField/DateField.module.scss +0 -0
  91. package/dist/components/Form/FormField/Extensions/DateField/index.js +27 -0
  92. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +91 -0
  93. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
  94. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +27 -0
  95. package/dist/components/Form/FormField/FormField.js +296 -0
  96. package/dist/components/Form/FormField/FormField.types.js +12 -0
  97. package/dist/components/Form/FormField/index.js +27 -0
  98. package/dist/components/Form/index.js +27 -0
  99. package/dist/components/Freeze/Freeze.js +18 -0
  100. package/dist/components/Freeze/index.js +27 -0
  101. package/dist/components/HSForms/HSForms.js +55 -0
  102. package/dist/components/HSForms/index.js +27 -0
  103. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +25 -0
  104. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +44 -0
  105. package/dist/components/HeaderCloseBtn/index.js +27 -0
  106. package/dist/components/InfinityScroll/InfinityScroll.js +128 -0
  107. package/dist/components/InfinityScroll/InfinityScroll.module.scss +30 -0
  108. package/dist/components/InfinityScroll/index.js +27 -0
  109. package/dist/components/Input/Input.js +110 -0
  110. package/dist/components/Input/Input.module.scss +31 -0
  111. package/dist/components/Input/index.js +27 -0
  112. package/dist/components/InstantCounter/InstantCounter.js +55 -0
  113. package/dist/components/InstantCounter/index.js +27 -0
  114. package/dist/components/LavaLamp/LavaLamp.data.js +89 -0
  115. package/dist/components/LavaLamp/LavaLamp.js +125 -0
  116. package/dist/components/LavaLamp/LavaLamp.module.scss +26 -0
  117. package/dist/components/LavaLamp/index.js +27 -0
  118. package/dist/components/LavaLamp/v2/LavaLamp.js +154 -0
  119. package/dist/components/LavaLamp/v2/LavaLamp.module.scss +23 -0
  120. package/dist/components/LinkToId/LinkToId.js +45 -0
  121. package/dist/components/LinkToId/LinkToId.module.scss +4 -0
  122. package/dist/components/LinkToId/index.js +27 -0
  123. package/dist/components/Loader/Loader.js +27 -0
  124. package/dist/components/Loader/Loader.module.scss +40 -0
  125. package/dist/components/Loader/index.js +27 -0
  126. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +36 -0
  127. package/dist/components/LoaderDotsIndicator/index.js +27 -0
  128. package/dist/components/LoopableVideo/LoopableVideo.js +41 -0
  129. package/dist/components/LoopableVideo/index.js +27 -0
  130. package/dist/components/MainGrid/MainGrid.js +55 -0
  131. package/dist/components/MainGrid/MainGrid.module.scss +28 -0
  132. package/dist/components/MainGrid/index.js +27 -0
  133. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +32 -0
  134. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +220 -0
  135. package/dist/components/MutableHamburgerButton/index.js +27 -0
  136. package/dist/components/Notification/Notification.js +24 -0
  137. package/dist/components/Notification/Notification.module.scss +25 -0
  138. package/dist/components/Notification/index.js +27 -0
  139. package/dist/components/NumberInput/NumberInput.js +50 -0
  140. package/dist/components/NumberInput/index.js +27 -0
  141. package/dist/components/OrderableList/OrderableList.js +439 -0
  142. package/dist/components/OrderableList/OrderableList.module.scss +98 -0
  143. package/dist/components/OrderableList/index.js +27 -0
  144. package/dist/components/PaginationIndicator/PaginationIndicator.js +261 -0
  145. package/dist/components/PaginationIndicator/index.js +27 -0
  146. package/dist/components/Parallax/Parallax.js +169 -0
  147. package/dist/components/Parallax/Parallax.module.scss +28 -0
  148. package/dist/components/Parallax/index.js +27 -0
  149. package/dist/components/Parallax/math/helpers.js +134 -0
  150. package/dist/components/PasswordInput/PasswordInput.js +97 -0
  151. package/dist/components/PasswordInput/PasswordInput.module.scss +17 -0
  152. package/dist/components/PasswordInput/index.js +27 -0
  153. package/dist/components/PingPongText/PingPongText.js +76 -0
  154. package/dist/components/PingPongText/PingPongText.module.scss +4 -0
  155. package/dist/components/PingPongText/index.js +27 -0
  156. package/dist/components/PixelatedScan/PixelatedScan.js +139 -0
  157. package/dist/components/PixelatedScan/PixelatedScan.module.scss +86 -0
  158. package/dist/components/PixelatedScan/index.js +27 -0
  159. package/dist/components/Portal/Portal.js +62 -0
  160. package/dist/components/Portal/Portal.module.scss +3 -0
  161. package/dist/components/Portal/index.js +27 -0
  162. package/dist/components/ProgressBar/ProgressBar.js +113 -0
  163. package/dist/components/ProgressBar/ProgressBar.module.scss +44 -0
  164. package/dist/components/ProgressBar/index.js +27 -0
  165. package/dist/components/ProgressTexts/ProgressTexts.js +52 -0
  166. package/dist/components/ProgressTexts/ProgressTexts.module.scss +37 -0
  167. package/dist/components/ProgressTexts/index.js +27 -0
  168. package/dist/components/Radio/Radio.js +53 -0
  169. package/dist/components/Radio/Radio.module.scss +20 -0
  170. package/dist/components/Radio/index.js +27 -0
  171. package/dist/components/Radio/variants/Checkmark/Checkmark.js +20 -0
  172. package/dist/components/Radio/variants/Checkmark/Checkmark.module.scss +24 -0
  173. package/dist/components/Radio/variants/Checkmark/index.js +27 -0
  174. package/dist/components/Radio/variants/Generic/Generic.js +22 -0
  175. package/dist/components/Radio/variants/Generic/Generic.module.scss +38 -0
  176. package/dist/components/Radio/variants/Generic/index.js +27 -0
  177. package/dist/components/SectionContainer/SectionContainer.js +49 -0
  178. package/dist/components/SectionContainer/SectionContainer.module.scss +30 -0
  179. package/dist/components/SectionContainer/index.js +27 -0
  180. package/dist/components/Select/Select.js +138 -0
  181. package/dist/components/Select/Select.module.scss +60 -0
  182. package/dist/components/Select/index.js +27 -0
  183. package/dist/components/Skeleton/Skeleton.js +30 -0
  184. package/dist/components/Skeleton/Skeleton.module.scss +21 -0
  185. package/dist/components/Skeleton/index.js +27 -0
  186. package/dist/components/Slider/Slider.js +70 -0
  187. package/dist/components/Slider/Slider.module.scss +7 -0
  188. package/dist/components/Slider/index.js +27 -0
  189. package/dist/components/Spacing/Spacing.js +34 -0
  190. package/dist/components/Spacing/Spacing.module.scss +13 -0
  191. package/dist/components/Spacing/index.js +27 -0
  192. package/dist/components/StaticScroller/StaticScroller.js +72 -0
  193. package/dist/components/StaticScroller/StaticScroller.module.scss +14 -0
  194. package/dist/components/StaticScroller/index.js +27 -0
  195. package/dist/components/Switch/Switch.js +47 -0
  196. package/dist/components/Switch/Switch.module.scss +46 -0
  197. package/dist/components/Switch/index.js +27 -0
  198. package/dist/components/Table/Table.js +115 -0
  199. package/dist/components/Table/Table.module.scss +74 -0
  200. package/dist/components/Table/index.js +27 -0
  201. package/dist/components/Tabs/Tabs.js +67 -0
  202. package/dist/components/Tabs/Tabs.module.scss +40 -0
  203. package/dist/components/Tabs/index.js +27 -0
  204. package/dist/components/Text/Text.js +44 -0
  205. package/dist/components/Text/Text.module.scss +13 -0
  206. package/dist/components/Text/index.js +27 -0
  207. package/dist/components/Transition/MasksFactory/DiagonalReveal.js +49 -0
  208. package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +78 -0
  209. package/dist/components/Transition/MasksFactory/PhysicsSquares.js +96 -0
  210. package/dist/components/Transition/MasksFactory/SquareToBalls.js +67 -0
  211. package/dist/components/Transition/MasksFactory/utils.js +30 -0
  212. package/dist/components/Transition/Transition.js +323 -0
  213. package/dist/components/Transition/Transition.module.scss +211 -0
  214. package/dist/components/Transition/index.js +27 -0
  215. package/dist/components/UncontrolledTransition/UncontrolledTransition.ai.md +9 -0
  216. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +110 -0
  217. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +32 -0
  218. package/dist/components/UncontrolledTransition/index.js +27 -0
  219. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +115 -0
  220. package/dist/components/WalletConnectionWrapper/index.js +27 -0
  221. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +59 -0
  222. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.module.scss +5 -0
  223. package/dist/components/utilitary/ScrollAndFocusLock/index.js +27 -0
  224. package/dist/context/AsyncProcess.js +74 -0
  225. package/dist/context/ContextAsyncControl.js +92 -0
  226. package/dist/context/CustomBrowserRouter.js +50 -0
  227. package/dist/context/OneUIProvider.js +129 -0
  228. package/dist/hooks/logs/useDependencyChangeDetection.js +20 -0
  229. package/dist/hooks/logs/useIsMounting.js +13 -0
  230. package/dist/hooks/persistence/useLocalStorage.js +48 -0
  231. package/dist/hooks/shims/ObjectWatchShim.js +54 -0
  232. package/dist/hooks/ui/useAdaptiveImage.js +36 -0
  233. package/dist/hooks/ui/useAlternating.js +24 -0
  234. package/dist/hooks/ui/useBreakpoint.js +26 -0
  235. package/dist/hooks/ui/useCustomScrollbar.js +28 -0
  236. package/dist/hooks/ui/useCustomScrollbar.module.scss +20 -0
  237. package/dist/hooks/ui/useEffectIf.js +14 -0
  238. package/dist/hooks/ui/useMouseHover.js +32 -0
  239. package/dist/hooks/ui/usePaginationControls.js +136 -0
  240. package/dist/hooks/ui/usePaginationControls.module.scss +16 -0
  241. package/dist/hooks/ui/useSnapToViewport.js +26 -0
  242. package/dist/hooks/ui/useSnapToViewport.module.scss +6 -0
  243. package/dist/hooks/ui/useTilt.js +161 -0
  244. package/dist/hooks/ui/useZoomable.js +135 -0
  245. package/dist/hooks/ui/useZoomable.module.scss +34 -0
  246. package/dist/hooks/useAsyncControl.ai.md +25 -0
  247. package/dist/hooks/useAsyncControl.js +79 -0
  248. package/dist/hooks/useContainedRepositioning.js +83 -0
  249. package/dist/hooks/useCustomHistory.js +24 -0
  250. package/dist/hooks/useElementFit.js +54 -0
  251. package/dist/hooks/useFirestoreWatch.js +45 -0
  252. package/dist/hooks/useFreeze.js +17 -0
  253. package/dist/hooks/useHero.js +273 -0
  254. package/dist/hooks/useHero.module.scss +41 -0
  255. package/dist/hooks/useIntersection.js +39 -0
  256. package/dist/hooks/useMergeRefs.js +36 -0
  257. package/dist/hooks/useObserve.js +25 -0
  258. package/dist/hooks/usePagination.js +163 -0
  259. package/dist/hooks/usePooledOperation.js +52 -0
  260. package/dist/hooks/usePooling.js +52 -0
  261. package/dist/hooks/useRebound.js +32 -0
  262. package/dist/hooks/useShortIntl.ai.md +5 -0
  263. package/dist/hooks/useShortIntl.js +82 -0
  264. package/dist/hooks/utility/useAsyncMemo.js +45 -0
  265. package/dist/hooks/utility/useDepChange.js +17 -0
  266. package/dist/hooks/utility/useEvents.js +33 -0
  267. package/dist/hooks/utility/useImmediate.js +14 -0
  268. package/dist/hooks/utility/useManualInit.js +25 -0
  269. package/dist/hooks/utility/useModule.js +18 -0
  270. package/dist/hooks/utility/useQuery.js +20 -0
  271. package/dist/hooks/utility/useUniqueEffect.js +20 -0
  272. package/dist/index.js +2149 -0
  273. package/dist/index.preprocess.js +42 -0
  274. package/dist/models/DebugLogger.js +16 -0
  275. package/dist/models/GenericContract.js +51 -0
  276. package/dist/models/Orbs.js +67 -0
  277. package/dist/reac-app-env.d.js +2 -0
  278. package/dist/storybook/assets/video/txt-reversed.mp4 +0 -0
  279. package/dist/storybookUtils/index.js +44 -0
  280. package/dist/type-utils.js +6 -0
  281. package/dist/types.js +6 -0
  282. package/dist/utility.d.js +2 -0
  283. package/dist/utils/blockchain.js +46 -0
  284. package/dist/utils/e2e.js +33 -0
  285. package/dist/utils/flatten.js +19 -0
  286. package/dist/utils/formatters.js +63 -0
  287. package/dist/utils/html.utils.js +15 -0
  288. package/dist/utils/ownEvent.js +16 -0
  289. package/dist/utils/test.js +19 -0
  290. package/dist-browser/bundle.js +83650 -0
  291. package/dist-browser/bundle.js.LICENSE.txt +94 -0
  292. package/dist-browser/bundle.js.map +1 -0
  293. package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js +2 -1
  294. package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
  295. package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
  296. package/dist-ts/components/CheckBox/CheckBox.d.ts +3 -1
  297. package/dist-ts/components/CheckBox/CheckBox.js +7 -4
  298. package/dist-ts/components/CheckBox/CheckBox.js.map +1 -1
  299. package/dist-ts/components/CheckBox/CheckBox.module.scss +5 -0
  300. package/dist-ts/components/Input/Input.js +1 -1
  301. package/dist-ts/components/Input/Input.js.map +1 -1
  302. package/dist-ts/context/OneUIProvider.d.ts +3 -1
  303. package/dist-ts/context/OneUIProvider.js.map +1 -1
  304. package/dist-ts/hooks/ui/useAdaptiveImage.d.ts +1 -1
  305. package/dist-ts/hooks/ui/useAdaptiveImage.js +1 -1
  306. package/dist-ts/hooks/ui/useAdaptiveImage.js.map +1 -1
  307. package/dist-ts/hooks/ui/useMouseHover.d.ts +2 -2
  308. package/dist-ts/hooks/ui/useMouseHover.js +6 -5
  309. package/dist-ts/hooks/ui/useMouseHover.js.map +1 -1
  310. package/dist-ts/hooks/useObserve.d.ts +1 -1
  311. package/dist-ts/hooks/useObserve.js +1 -1
  312. package/dist-ts/hooks/useObserve.js.map +1 -1
  313. package/dist-ts/index.d.ts +1 -0
  314. package/dist-ts/index.js +1 -0
  315. package/dist-ts/index.js.map +1 -1
  316. package/dist-ts/models/ImageScales.d.ts +7 -0
  317. package/dist-ts/models/ImageScales.js +9 -0
  318. package/dist-ts/models/ImageScales.js.map +1 -0
  319. package/example.html +76 -0
  320. package/package.json +11 -4
  321. package/webpack.bundle.config.js +87 -0
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _WalletConnectionWrapper.default;
11
+ }
12
+ });
13
+ var _WalletConnectionWrapper = _interopRequireWildcard(require("./WalletConnectionWrapper"));
14
+ Object.keys(_WalletConnectionWrapper).forEach(function (key) {
15
+ if (key === "default" || key === "__esModule") return;
16
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
+ if (key in exports && exports[key] === _WalletConnectionWrapper[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _WalletConnectionWrapper[key];
22
+ }
23
+ });
24
+ });
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVzYyIsInNldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1dhbGxldENvbm5lY3Rpb25XcmFwcGVyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vV2FsbGV0Q29ubmVjdGlvbldyYXBwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1dhbGxldENvbm5lY3Rpb25XcmFwcGVyXCI7Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSx3QkFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSix3QkFBQSxFQUFBSyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFOLHdCQUFBLENBQUFNLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BQUFkLHdCQUFBLENBQUFNLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFBMEMsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWYsd0JBQUFtQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFULEdBQUEsQ0FBQU0sR0FBQSxTQUFBSyxNQUFBLFdBQUFDLHFCQUFBLEdBQUF2QixNQUFBLENBQUFTLGNBQUEsSUFBQVQsTUFBQSxDQUFBd0Isd0JBQUEsV0FBQXJCLEdBQUEsSUFBQWMsR0FBQSxRQUFBZCxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFXLEdBQUEsRUFBQWQsR0FBQSxTQUFBc0IsSUFBQSxHQUFBRixxQkFBQSxHQUFBdkIsTUFBQSxDQUFBd0Isd0JBQUEsQ0FBQVAsR0FBQSxFQUFBZCxHQUFBLGNBQUFzQixJQUFBLEtBQUFBLElBQUEsQ0FBQWQsR0FBQSxJQUFBYyxJQUFBLENBQUFDLEdBQUEsS0FBQTFCLE1BQUEsQ0FBQVMsY0FBQSxDQUFBYSxNQUFBLEVBQUFuQixHQUFBLEVBQUFzQixJQUFBLFlBQUFILE1BQUEsQ0FBQW5CLEdBQUEsSUFBQWMsR0FBQSxDQUFBZCxHQUFBLFNBQUFtQixNQUFBLENBQUFILE9BQUEsR0FBQUYsR0FBQSxNQUFBRyxLQUFBLElBQUFBLEtBQUEsQ0FBQU0sR0FBQSxDQUFBVCxHQUFBLEVBQUFLLE1BQUEsWUFBQUEsTUFBQSJ9
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ScrollAndFocusLock;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _ScrollAndFocusLockModule = _interopRequireDefault(require("./ScrollAndFocusLock.module.scss"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ /**
13
+ * This utilitary component shall be used to lock the focus and disable scroll over the wrapped component
14
+ **/
15
+ function ScrollAndFocusLock(_ref) {
16
+ let {
17
+ open,
18
+ children
19
+ } = _ref;
20
+ const firstAnchor = (0, _react.useRef)(null);
21
+ const lastAnchor = (0, _react.useRef)(null);
22
+ const startOfModal = (0, _react.useRef)(null);
23
+ (0, _react.useEffect)(() => {
24
+ if (open) startOfModal.current.focus();
25
+ }, []);
26
+ (0, _react.useEffect)(() => {
27
+ if (open) {
28
+ startOfModal.current.focus();
29
+ document.body.classList.add(_ScrollAndFocusLockModule.default.lockClass);
30
+ return () => {
31
+ document.body.classList.remove(_ScrollAndFocusLockModule.default.lockClass);
32
+ };
33
+ }
34
+ }, [open]);
35
+ function onFocusAnchors(e) {
36
+ const focusOnStartOfModal = () => {
37
+ const nextSibling = firstAnchor.current.nextElementSibling;
38
+ if (nextSibling instanceof HTMLDivElement) nextSibling.focus();
39
+ };
40
+ if (e.target === firstAnchor.current) {
41
+ if (e.relatedTarget === startOfModal.current) lastAnchor.current.focus();else focusOnStartOfModal();
42
+ } else if (e.target === lastAnchor.current && e.relatedTarget !== firstAnchor.current) {
43
+ focusOnStartOfModal();
44
+ }
45
+ }
46
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
47
+ ref: firstAnchor,
48
+ tabIndex: 0,
49
+ onFocus: onFocusAnchors
50
+ }), /*#__PURE__*/_react.default.createElement("div", {
51
+ ref: startOfModal,
52
+ tabIndex: 0
53
+ }), children, /*#__PURE__*/_react.default.createElement("div", {
54
+ ref: lastAnchor,
55
+ tabIndex: 0,
56
+ onFocus: onFocusAnchors
57
+ }));
58
+ }
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2Nyb2xsQW5kRm9jdXNMb2NrTW9kdWxlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTY3JvbGxBbmRGb2N1c0xvY2siLCJfcmVmIiwib3BlbiIsImNoaWxkcmVuIiwiZmlyc3RBbmNob3IiLCJ1c2VSZWYiLCJsYXN0QW5jaG9yIiwic3RhcnRPZk1vZGFsIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImZvY3VzIiwiZG9jdW1lbnQiLCJib2R5IiwiY2xhc3NMaXN0IiwiYWRkIiwiU3R5bGVzIiwibG9ja0NsYXNzIiwicmVtb3ZlIiwib25Gb2N1c0FuY2hvcnMiLCJlIiwiZm9jdXNPblN0YXJ0T2ZNb2RhbCIsIm5leHRTaWJsaW5nIiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiSFRNTERpdkVsZW1lbnQiLCJ0YXJnZXQiLCJyZWxhdGVkVGFyZ2V0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwicmVmIiwidGFiSW5kZXgiLCJvbkZvY3VzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdXRpbGl0YXJ5L1Njcm9sbEFuZEZvY3VzTG9jay9TY3JvbGxBbmRGb2N1c0xvY2sudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vU2Nyb2xsQW5kRm9jdXNMb2NrLm1vZHVsZS5zY3NzXCI7XG4vKipcbiAqIFRoaXMgdXRpbGl0YXJ5IGNvbXBvbmVudCBzaGFsbCBiZSB1c2VkIHRvIGxvY2sgdGhlIGZvY3VzIGFuZCBkaXNhYmxlIHNjcm9sbCBvdmVyIHRoZSB3cmFwcGVkIGNvbXBvbmVudFxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gU2Nyb2xsQW5kRm9jdXNMb2NrKHtcbiAgb3BlbixcbiAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIG9wZW46IGJvb2xlYW47XG59Pikge1xuICBjb25zdCBmaXJzdEFuY2hvciA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IGxhc3RBbmNob3IgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBzdGFydE9mTW9kYWwgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSBzdGFydE9mTW9kYWwuY3VycmVudCEuZm9jdXMoKTtcbiAgfSwgW10pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSB7XG4gICAgICBzdGFydE9mTW9kYWwuY3VycmVudCEuZm9jdXMoKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChTdHlsZXMubG9ja0NsYXNzKVxuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoU3R5bGVzLmxvY2tDbGFzcylcbiAgICAgIH07XG4gICAgfVxuICB9LCBbb3Blbl0pO1xuXG4gIGZ1bmN0aW9uIG9uRm9jdXNBbmNob3JzKGU6IFJlYWN0LkZvY3VzRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSB7XG4gICAgY29uc3QgZm9jdXNPblN0YXJ0T2ZNb2RhbCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHRTaWJsaW5nID0gZmlyc3RBbmNob3IuY3VycmVudCEubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgaWYgKG5leHRTaWJsaW5nIGluc3RhbmNlb2YgSFRNTERpdkVsZW1lbnQpIG5leHRTaWJsaW5nLmZvY3VzKCk7XG4gICAgfTtcbiAgICBpZiAoZS50YXJnZXQgPT09IGZpcnN0QW5jaG9yLmN1cnJlbnQpIHtcbiAgICAgIGlmIChlLnJlbGF0ZWRUYXJnZXQgPT09IHN0YXJ0T2ZNb2RhbC5jdXJyZW50KSBsYXN0QW5jaG9yLmN1cnJlbnQhLmZvY3VzKCk7XG4gICAgICBlbHNlIGZvY3VzT25TdGFydE9mTW9kYWwoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgZS50YXJnZXQgPT09IGxhc3RBbmNob3IuY3VycmVudCAmJlxuICAgICAgZS5yZWxhdGVkVGFyZ2V0ICE9PSBmaXJzdEFuY2hvci5jdXJyZW50XG4gICAgKSB7XG4gICAgICBmb2N1c09uU3RhcnRPZk1vZGFsKCk7XG4gICAgfVxuICB9XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgcmVmPXtmaXJzdEFuY2hvcn0gdGFiSW5kZXg9ezB9IG9uRm9jdXM9e29uRm9jdXNBbmNob3JzfSAvPlxuICAgICAgPGRpdiByZWY9e3N0YXJ0T2ZNb2RhbH0gdGFiSW5kZXg9ezB9IC8+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8ZGl2IHJlZj17bGFzdEFuY2hvcn0gdGFiSW5kZXg9ezB9IG9uRm9jdXM9e29uRm9jdXNBbmNob3JzfSAvPlxuICAgIDwvPlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyx5QkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXNELFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFB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
@@ -0,0 +1,5 @@
1
+ .lockClass {
2
+ @media screen and (max-width: 639px) {
3
+ overflow: hidden;
4
+ }
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _ScrollAndFocusLock.default;
11
+ }
12
+ });
13
+ var _ScrollAndFocusLock = _interopRequireWildcard(require("./ScrollAndFocusLock"));
14
+ Object.keys(_ScrollAndFocusLock).forEach(function (key) {
15
+ if (key === "default" || key === "__esModule") return;
16
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
+ if (key in exports && exports[key] === _ScrollAndFocusLock[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _ScrollAndFocusLock[key];
22
+ }
23
+ });
24
+ });
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2Nyb2xsQW5kRm9jdXNMb2NrIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJfZXhwb3J0TmFtZXMiLCJleHBvcnRzIiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImRlc2MiLCJzZXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy91dGlsaXRhcnkvU2Nyb2xsQW5kRm9jdXNMb2NrL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vU2Nyb2xsQW5kRm9jdXNMb2NrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TY3JvbGxBbmRGb2N1c0xvY2tcIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLG1CQUFBLEVBQUFLLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQU4sbUJBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsbUJBQUEsQ0FBQU0sR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUFxQyxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQVQsR0FBQSxDQUFBTSxHQUFBLFNBQUFLLE1BQUEsV0FBQUMscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQVMsY0FBQSxJQUFBVCxNQUFBLENBQUF3Qix3QkFBQSxXQUFBckIsR0FBQSxJQUFBYyxHQUFBLFFBQUFkLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQVcsR0FBQSxFQUFBZCxHQUFBLFNBQUFzQixJQUFBLEdBQUFGLHFCQUFBLEdBQUF2QixNQUFBLENBQUF3Qix3QkFBQSxDQUFBUCxHQUFBLEVBQUFkLEdBQUEsY0FBQXNCLElBQUEsS0FBQUEsSUFBQSxDQUFBZCxHQUFBLElBQUFjLElBQUEsQ0FBQUMsR0FBQSxLQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFhLE1BQUEsRUFBQW5CLEdBQUEsRUFBQXNCLElBQUEsWUFBQUgsTUFBQSxDQUFBbkIsR0FBQSxJQUFBYyxHQUFBLENBQUFkLEdBQUEsU0FBQW1CLE1BQUEsQ0FBQUgsT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBTSxHQUFBLENBQUFULEdBQUEsRUFBQUssTUFBQSxZQUFBQSxNQUFBIn0=
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AsyncProcessProvider;
7
+ exports.useAsyncProcess = useAsyncProcess;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _useEvents = _interopRequireDefault(require("../hooks/utility/useEvents"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ const AsyncProcessContext = /*#__PURE__*/(0, _react.createContext)(null);
19
+ /** Provides the async process functionality to the application */
20
+ function AsyncProcessProvider(_ref) {
21
+ let {
22
+ children,
23
+ triggers,
24
+ persistence
25
+ } = _ref;
26
+ const {
27
+ subscriber,
28
+ dispatcher
29
+ } = (0, _useEvents.default)();
30
+ const wrappedFunctions = (0, _react.useMemo)(() => {
31
+ return Object.keys(triggers).reduce((r, k) => _objectSpread(_objectSpread({}, r), {}, {
32
+ [k]: function () {
33
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+ let persisted = persistence.write(k, ...args);
37
+ return triggers[k](...args).finally(() => {
38
+ persistence.remove(persisted);
39
+ dispatcher(k);
40
+ });
41
+ }
42
+ }), {});
43
+ }, []);
44
+ (0, _react.useEffect)(() => {
45
+ const recoveries = persistence.recover();
46
+ for (let [recoveryId, recoveryProcess] of recoveries) recoveryProcess.finally(() => {
47
+ persistence.remove(recoveryId);
48
+ });
49
+ }, []);
50
+ return /*#__PURE__*/_react.default.createElement(AsyncProcessContext.Provider, {
51
+ value: {
52
+ _subscriber: subscriber,
53
+ _wrappedFunctions: wrappedFunctions
54
+ }
55
+ }, children);
56
+ }
57
+
58
+ /** Allows components to use the async process functionality */
59
+ function useAsyncProcess() {
60
+ const {
61
+ _subscriber: subscriber,
62
+ _wrappedFunctions
63
+ } = (0, _react.useContext)(AsyncProcessContext);
64
+ const subscriptions = (0, _react.useRef)([]);
65
+ (0, _react.useEffect)(() => () => {
66
+ for (let unsubscribe of subscriptions.current) unsubscribe();
67
+ }, []);
68
+ return _objectSpread({
69
+ on: (k, whatToDo) => {
70
+ subscriptions.current.push(subscriber(k, whatToDo));
71
+ }
72
+ }, _wrappedFunctions);
73
+ }
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlRXZlbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsIlR5cGVFcnJvciIsIk51bWJlciIsIkFzeW5jUHJvY2Vzc0NvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiQXN5bmNQcm9jZXNzUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJ0cmlnZ2VycyIsInBlcnNpc3RlbmNlIiwic3Vic2NyaWJlciIsImRpc3BhdGNoZXIiLCJ1c2VFdmVudHMiLCJ3cmFwcGVkRnVuY3Rpb25zIiwidXNlTWVtbyIsInJlZHVjZSIsInIiLCJrIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJwZXJzaXN0ZWQiLCJ3cml0ZSIsImZpbmFsbHkiLCJyZW1vdmUiLCJ1c2VFZmZlY3QiLCJyZWNvdmVyaWVzIiwicmVjb3ZlciIsInJlY292ZXJ5SWQiLCJyZWNvdmVyeVByb2Nlc3MiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJfc3Vic2NyaWJlciIsIl93cmFwcGVkRnVuY3Rpb25zIiwidXNlQXN5bmNQcm9jZXNzIiwidXNlQ29udGV4dCIsInN1YnNjcmlwdGlvbnMiLCJ1c2VSZWYiLCJ1bnN1YnNjcmliZSIsImN1cnJlbnQiLCJvbiIsIndoYXRUb0RvIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHQvQXN5bmNQcm9jZXNzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlUmVmLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VFdmVudHMgZnJvbSBcIi4uL2hvb2tzL3V0aWxpdHkvdXNlRXZlbnRzXCI7XG5pbXBvcnQgeyBGcm9tT25lUGVyY2VudFV0aWxpdHkgfSBmcm9tIFwiLi4vdHlwZS11dGlsc1wiO1xuXG5jb25zdCBBc3luY1Byb2Nlc3NDb250ZXh0ID0gY3JlYXRlQ29udGV4dDx7XG4gIF9zdWJzY3JpYmVyOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VFdmVudHM+W1wic3Vic2NyaWJlclwiXTtcbiAgX3dyYXBwZWRGdW5jdGlvbnM6IHtcbiAgICBbayBpbiBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5dOiAoXG4gICAgICAuLi5hcmdzOiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5ba11cbiAgICApID0+IFByb21pc2U8dm9pZD47XG4gIH07XG59PihudWxsIGFzIGFueSk7XG5cbnR5cGUgUGVyc2lzdGVkSWRlbnRpZmllciA9IHN0cmluZztcblxuLyoqIFByb3ZpZGVzIHRoZSBhc3luYyBwcm9jZXNzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIGFwcGxpY2F0aW9uICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBBc3luY1Byb2Nlc3NQcm92aWRlcih7XG4gIGNoaWxkcmVuLFxuICB0cmlnZ2VycyxcbiAgcGVyc2lzdGVuY2UsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIC8qKiBGdW5jdGlvbnMgdGhhdCB3aWxsIGJlIHByb3ZpZGVkIHRvIHRob3NlIHRoYXQgdXNlIHRoZSBhc3luYyBwcm9jZXNzICovXG4gIHRyaWdnZXJzOiB7XG4gICAgW2sgaW4ga2V5b2YgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+XTogKFxuICAgICAgLi4uYXJnczogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+W2tdXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuICAvKiogVGhpcyB3aWxsIHBlcnNpc3QgdGhlIGRhdGEgcmVxdWlyZWQgZm9yIHJlc3RvcmluZyB0aGUgYXN5bmMgcHJvY2Vzc2VzIHdoZW4gcmVxdWlyZWQgKi9cbiAgcGVyc2lzdGVuY2U6IHtcbiAgICB3cml0ZTogPEsgZXh0ZW5kcyBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz4+KFxuICAgICAgazogSyxcbiAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltLXVxuICAgICkgPT4gUGVyc2lzdGVkSWRlbnRpZmllcjtcbiAgICByZW1vdmU6IChpZDogUGVyc2lzdGVkSWRlbnRpZmllcikgPT4gdm9pZDtcbiAgICByZWNvdmVyOiAoKSA9PiBbUGVyc2lzdGVkSWRlbnRpZmllciwgUHJvbWlzZTx2b2lkPl1bXTtcbiAgfTtcbn0+KSB7XG4gIGNvbnN0IHsgc3Vic2NyaWJlciwgZGlzcGF0Y2hlciB9ID0gdXNlRXZlbnRzKCk7XG5cbiAgY29uc3Qgd3JhcHBlZEZ1bmN0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0cmlnZ2VycykucmVkdWNlKFxuICAgICAgKHIsIGspID0+ICh7XG4gICAgICAgIC4uLnIsXG4gICAgICAgIFtrXTogKFxuICAgICAgICAgIC4uLmFyZ3M6IEZyb21PbmVQZXJjZW50VXRpbGl0eTwnQXN5bmNRdWV1ZS5Qcm9jZXNzZXMnPltrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5dXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgIGxldCBwZXJzaXN0ZWQgPSBwZXJzaXN0ZW5jZS53cml0ZShrIGFzIGFueSwgLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuICh0cmlnZ2VycyBhcyBhbnkpW2sgYXMgYW55XSguLi5hcmdzKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHBlcnNpc3RlbmNlLnJlbW92ZShwZXJzaXN0ZWQpO1xuICAgICAgICAgICAgZGlzcGF0Y2hlcihrIGFzIGFueSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHt9IGFzIHR5cGVvZiB0cmlnZ2Vyc1xuICAgICk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlY292ZXJpZXMgPSBwZXJzaXN0ZW5jZS5yZWNvdmVyKCk7XG4gICAgZm9yIChsZXQgW3JlY292ZXJ5SWQsIHJlY292ZXJ5UHJvY2Vzc10gb2YgcmVjb3ZlcmllcylcbiAgICAgIHJlY292ZXJ5UHJvY2Vzcy5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgcGVyc2lzdGVuY2UucmVtb3ZlKHJlY292ZXJ5SWQpO1xuICAgICAgfSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxBc3luY1Byb2Nlc3NDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17eyBfc3Vic2NyaWJlcjogc3Vic2NyaWJlciwgX3dyYXBwZWRGdW5jdGlvbnM6IHdyYXBwZWRGdW5jdGlvbnMgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Bc3luY1Byb2Nlc3NDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufVxuXG4vKiogQWxsb3dzIGNvbXBvbmVudHMgdG8gdXNlIHRoZSBhc3luYyBwcm9jZXNzIGZ1bmN0aW9uYWxpdHkgKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VBc3luY1Byb2Nlc3MoKToge1xuICBbayBpbiBrZXlvZiBGcm9tT25lUGVyY2VudFV0aWxpdHk8J0FzeW5jUXVldWUuUHJvY2Vzc2VzJz5dOiAoXG4gICAgLi4uYXJnczogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+W2tdXG4gICkgPT4gUHJvbWlzZTx2b2lkPjtcbn0gJiB7XG4gIG9uOiAoXG4gICAgazoga2V5b2YgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PCdBc3luY1F1ZXVlLlByb2Nlc3Nlcyc+LFxuICAgIHdoYXRUb0RvOiAoKSA9PiB2b2lkXG4gICkgPT4gdm9pZDtcbn0ge1xuICBjb25zdCB7IF9zdWJzY3JpYmVyOiBzdWJzY3JpYmVyLCBfd3JhcHBlZEZ1bmN0aW9ucyB9ID1cbiAgICB1c2VDb250ZXh0KEFzeW5jUHJvY2Vzc0NvbnRleHQpO1xuICBjb25zdCBzdWJzY3JpcHRpb25zID0gdXNlUmVmPEZ1bmN0aW9uW10+KFtdKTtcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4ge1xuICAgICAgZm9yIChsZXQgdW5zdWJzY3JpYmUgb2Ygc3Vic2NyaXB0aW9ucy5jdXJyZW50KSB1bnN1YnNjcmliZSgpO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4ge1xuICAgIG9uOiAoaywgd2hhdFRvRG8pID0+IHtcbiAgICAgIHN1YnNjcmlwdGlvbnMuY3VycmVudC5wdXNoKHN1YnNjcmliZXIoaywgd2hhdFRvRG8pKTtcbiAgICB9LFxuICAgIC4uLl93cmFwcGVkRnVuY3Rpb25zLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBUUEsSUFBQUMsVUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQW1ELFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVIsd0JBQUFJLEdBQUEsRUFBQUksV0FBQSxTQUFBQSxXQUFBLElBQUFKLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFRLEtBQUEsR0FBQUwsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBVCxHQUFBLFlBQUFRLEtBQUEsQ0FBQUUsR0FBQSxDQUFBVixHQUFBLFNBQUFXLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBaEIsR0FBQSxRQUFBZ0IsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBbkIsR0FBQSxFQUFBZ0IsR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWYsR0FBQSxFQUFBZ0IsR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBaEIsR0FBQSxDQUFBZ0IsR0FBQSxTQUFBTCxNQUFBLENBQUFULE9BQUEsR0FBQUYsR0FBQSxNQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBckIsR0FBQSxFQUFBVyxNQUFBLFlBQUFBLE1BQUE7QUFBQSxTQUFBVyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBWixNQUFBLENBQUFZLElBQUEsQ0FBQUYsTUFBQSxPQUFBVixNQUFBLENBQUFhLHFCQUFBLFFBQUFDLE9BQUEsR0FBQWQsTUFBQSxDQUFBYSxxQkFBQSxDQUFBSCxNQUFBLEdBQUFDLGNBQUEsS0FBQUcsT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBaEIsTUFBQSxDQUFBRSx3QkFBQSxDQUFBUSxNQUFBLEVBQUFNLEdBQUEsRUFBQUMsVUFBQSxPQUFBTCxJQUFBLENBQUFNLElBQUEsQ0FBQUMsS0FBQSxDQUFBUCxJQUFBLEVBQUFFLE9BQUEsWUFBQUYsSUFBQTtBQUFBLFNBQUFRLGNBQUFDLE1BQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBRixDQUFBLFVBQUFHLE1BQUEsV0FBQUYsU0FBQSxDQUFBRCxDQUFBLElBQUFDLFNBQUEsQ0FBQUQsQ0FBQSxRQUFBQSxDQUFBLE9BQUFiLE9BQUEsQ0FBQVQsTUFBQSxDQUFBeUIsTUFBQSxPQUFBQyxPQUFBLFdBQUF2QixHQUFBLElBQUF3QixlQUFBLENBQUFOLE1BQUEsRUFBQWxCLEdBQUEsRUFBQXNCLE1BQUEsQ0FBQXRCLEdBQUEsU0FBQUgsTUFBQSxDQUFBNEIseUJBQUEsR0FBQTVCLE1BQUEsQ0FBQTZCLGdCQUFBLENBQUFSLE1BQUEsRUFBQXJCLE1BQUEsQ0FBQTRCLHlCQUFBLENBQUFILE1BQUEsS0FBQWhCLE9BQUEsQ0FBQVQsTUFBQSxDQUFBeUIsTUFBQSxHQUFBQyxPQUFBLFdBQUF2QixHQUFBLElBQUFILE1BQUEsQ0FBQUMsY0FBQSxDQUFBb0IsTUFBQSxFQUFBbEIsR0FBQSxFQUFBSCxNQUFBLENBQUFFLHdCQUFBLENBQUF1QixNQUFBLEVBQUF0QixHQUFBLGlCQUFBa0IsTUFBQTtBQUFBLFNBQUFNLGdCQUFBeEMsR0FBQSxFQUFBZ0IsR0FBQSxFQUFBMkIsS0FBQSxJQUFBM0IsR0FBQSxHQUFBNEIsY0FBQSxDQUFBNUIsR0FBQSxPQUFBQSxHQUFBLElBQUFoQixHQUFBLElBQUFhLE1BQUEsQ0FBQUMsY0FBQSxDQUFBZCxHQUFBLEVBQUFnQixHQUFBLElBQUEyQixLQUFBLEVBQUFBLEtBQUEsRUFBQWIsVUFBQSxRQUFBZSxZQUFBLFFBQUFDLFFBQUEsb0JBQUE5QyxHQUFBLENBQUFnQixHQUFBLElBQUEyQixLQUFBLFdBQUEzQyxHQUFBO0FBQUEsU0FBQTRDLGVBQUFHLEdBQUEsUUFBQS9CLEdBQUEsR0FBQWdDLFlBQUEsQ0FBQUQsR0FBQSwyQkFBQS9CLEdBQUEsZ0JBQUFBLEdBQUEsR0FBQWlDLE1BQUEsQ0FBQWpDLEdBQUE7QUFBQSxTQUFBZ0MsYUFBQUUsS0FBQSxFQUFBQyxJQUFBLGVBQUFELEtBQUEsaUJBQUFBLEtBQUEsa0JBQUFBLEtBQUEsTUFBQUUsSUFBQSxHQUFBRixLQUFBLENBQUFHLE1BQUEsQ0FBQUMsV0FBQSxPQUFBRixJQUFBLEtBQUFHLFNBQUEsUUFBQUMsR0FBQSxHQUFBSixJQUFBLENBQUFqQyxJQUFBLENBQUErQixLQUFBLEVBQUFDLElBQUEsMkJBQUFLLEdBQUEsc0JBQUFBLEdBQUEsWUFBQUMsU0FBQSw0REFBQU4sSUFBQSxnQkFBQUYsTUFBQSxHQUFBUyxNQUFBLEVBQUFSLEtBQUE7QUFHbkQsTUFBTVMsbUJBQW1CLGdCQUFHLElBQUFDLG9CQUFhLEVBT3RDLElBQVcsQ0FBQztBQUlmO0FBQ2UsU0FBU0Msb0JBQW9CQSxDQUFBQyxJQUFBLEVBb0J4QztFQUFBLElBcEJ5QztJQUMzQ0MsUUFBUTtJQUNSQyxRQUFRO0lBQ1JDO0VBaUJELENBQUMsR0FBQUgsSUFBQTtFQUNBLE1BQU07SUFBRUksVUFBVTtJQUFFQztFQUFXLENBQUMsR0FBRyxJQUFBQyxrQkFBUyxFQUFDLENBQUM7RUFFOUMsTUFBTUMsZ0JBQWdCLEdBQUcsSUFBQUMsY0FBTyxFQUFDLE1BQU07SUFDckMsT0FBT3pELE1BQU0sQ0FBQ1ksSUFBSSxDQUFDdUMsUUFBUSxDQUFDLENBQUNPLE1BQU0sQ0FDakMsQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEtBQUF4QyxhQUFBLENBQUFBLGFBQUEsS0FDQXVDLENBQUM7TUFDSixDQUFDQyxDQUFDLEdBQUcsWUFFQTtRQUFBLFNBQUFDLElBQUEsR0FBQXRDLFNBQUEsQ0FBQUMsTUFBQSxFQURBc0MsSUFBSSxPQUFBQyxLQUFBLENBQUFGLElBQUEsR0FBQUcsSUFBQSxNQUFBQSxJQUFBLEdBQUFILElBQUEsRUFBQUcsSUFBQTtVQUFKRixJQUFJLENBQUFFLElBQUEsSUFBQXpDLFNBQUEsQ0FBQXlDLElBQUE7UUFBQTtRQUVQLElBQUlDLFNBQVMsR0FBR2IsV0FBVyxDQUFDYyxLQUFLLENBQUNOLENBQUMsRUFBUyxHQUFHRSxJQUFJLENBQUM7UUFDcEQsT0FBUVgsUUFBUSxDQUFTUyxDQUFDLENBQVEsQ0FBQyxHQUFHRSxJQUFJLENBQUMsQ0FBQ0ssT0FBTyxDQUFDLE1BQU07VUFDeERmLFdBQVcsQ0FBQ2dCLE1BQU0sQ0FBQ0gsU0FBUyxDQUFDO1VBQzdCWCxVQUFVLENBQUNNLENBQVEsQ0FBQztRQUN0QixDQUFDLENBQUM7TUFDSjtJQUFDLEVBQ0QsRUFDRixDQUFDLENBQ0gsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFBUyxnQkFBUyxFQUFDLE1BQU07SUFDZCxNQUFNQyxVQUFVLEdBQUdsQixXQUFXLENBQUNtQixPQUFPLENBQUMsQ0FBQztJQUN4QyxLQUFLLElBQUksQ0FBQ0MsVUFBVSxFQUFFQyxlQUFlLENBQUMsSUFBSUgsVUFBVSxFQUNsREcsZUFBZSxDQUFDTixPQUFPLENBQUMsTUFBTTtNQUM1QmYsV0FBVyxDQUFDZ0IsTUFBTSxDQUFDSSxVQUFVLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0VBQ04sQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLG9CQUNFMUYsTUFBQSxDQUFBTyxPQUFBLENBQUFxRixhQUFBLENBQUM1QixtQkFBbUIsQ0FBQzZCLFFBQVE7SUFDM0I3QyxLQUFLLEVBQUU7TUFBRThDLFdBQVcsRUFBRXZCLFVBQVU7TUFBRXdCLGlCQUFpQixFQUFFckI7SUFBaUI7RUFBRSxHQUV2RU4sUUFDMkIsQ0FBQztBQUVuQzs7QUFFQTtBQUNPLFNBQVM0QixlQUFlQSxDQUFBLEVBUzdCO0VBQ0EsTUFBTTtJQUFFRixXQUFXLEVBQUV2QixVQUFVO0lBQUV3QjtFQUFrQixDQUFDLEdBQ2xELElBQUFFLGlCQUFVLEVBQUNqQyxtQkFBbUIsQ0FBQztFQUNqQyxNQUFNa0MsYUFBYSxHQUFHLElBQUFDLGFBQU0sRUFBYSxFQUFFLENBQUM7RUFFNUMsSUFBQVosZ0JBQVMsRUFDUCxNQUFNLE1BQU07SUFDVixLQUFLLElBQUlhLFdBQVcsSUFBSUYsYUFBYSxDQUFDRyxPQUFPLEVBQUVELFdBQVcsQ0FBQyxDQUFDO0VBQzlELENBQUMsRUFDRCxFQUNGLENBQUM7RUFFRCxPQUFBOUQsYUFBQTtJQUNFZ0UsRUFBRSxFQUFFQSxDQUFDeEIsQ0FBQyxFQUFFeUIsUUFBUSxLQUFLO01BQ25CTCxhQUFhLENBQUNHLE9BQU8sQ0FBQ2pFLElBQUksQ0FBQ21DLFVBQVUsQ0FBQ08sQ0FBQyxFQUFFeUIsUUFBUSxDQUFDLENBQUM7SUFDckQ7RUFBQyxHQUNFUixpQkFBaUI7QUFFeEIifQ==
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ContextAsyncControlContext = void 0;
7
+ exports.default = ContextAsyncControlProvider;
8
+ exports.useContextControl = useContextControl;
9
+ exports.useShareState = useShareState;
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _useAsyncControl = require("../hooks/useAsyncControl");
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
+ class Subscriber {
18
+ constructor() {
19
+ _defineProperty(this, "sharedCbs", {});
20
+ _defineProperty(this, "latest", {});
21
+ }
22
+ register(cbId, cb) {
23
+ var _this = this;
24
+ if (!this.sharedCbs[cbId]) this.sharedCbs[cbId] = [];
25
+ this.sharedCbs[cbId].push(cb);
26
+ return function () {
27
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28
+ args[_key] = arguments[_key];
29
+ }
30
+ _this.latest[cbId] = args;
31
+ for (let cb of _this.sharedCbs[cbId]) cb(...args);
32
+ };
33
+ }
34
+ unregister(cbId, cb) {
35
+ const cbIdx = this.sharedCbs[cbId].indexOf(cb);
36
+ this.sharedCbs[cbId].splice(cbIdx, 1);
37
+ }
38
+ current(cbId) {
39
+ return this.latest[cbId];
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Defines the structure for context control sharing.
45
+ */
46
+
47
+ /**
48
+ * The context used to share state across components.
49
+ */
50
+ const ContextAsyncControlContext = exports.ContextAsyncControlContext = /*#__PURE__*/(0, _react.createContext)(null);
51
+
52
+ /**
53
+ * Provider component to wrap the application context.
54
+ */
55
+ function ContextAsyncControlProvider(_ref) {
56
+ let {
57
+ children
58
+ } = _ref;
59
+ return /*#__PURE__*/_react.default.createElement(ContextAsyncControlContext.Provider, {
60
+ value: {}
61
+ }, children);
62
+ }
63
+
64
+ /**
65
+ * Hook to share state between components.
66
+ */
67
+ function useShareState(controlId, stateId) {
68
+ const ctx = (0, _react.useContext)(ContextAsyncControlContext);
69
+ const [state, setLocalState] = (0, _react.useState)(() => {
70
+ var _ctx$controlId$curren;
71
+ if (!ctx[controlId]) ctx[controlId] = new Subscriber();
72
+ const initAs = (_ctx$controlId$curren = ctx[controlId].current(stateId)) === null || _ctx$controlId$curren === void 0 ? void 0 : _ctx$controlId$curren[0];
73
+ return initAs;
74
+ });
75
+ const wrappedSetState = (0, _react.useMemo)(() => {
76
+ return ctx[controlId].register(stateId, setLocalState);
77
+ }, []);
78
+ (0, _react.useInsertionEffect)(() => () => {
79
+ ctx[controlId].unregister(stateId, setLocalState);
80
+ }, []);
81
+ return [state, wrappedSetState];
82
+ }
83
+
84
+ /**
85
+ * Hook to control context with error and loading states.
86
+ */
87
+ function useContextControl(controlId, functionsToWrap) {
88
+ const [error, setError] = useShareState(controlId, "error");
89
+ const [loading, setLoading] = useShareState(controlId, "loading");
90
+ return (0, _useAsyncControl.useRawAsynControl)(functionsToWrap, [error, setError], [loading, setLoading]);
91
+ }
92
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlQXN5bmNDb250cm9sIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9kZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJTdWJzY3JpYmVyIiwiY29uc3RydWN0b3IiLCJyZWdpc3RlciIsImNiSWQiLCJjYiIsIl90aGlzIiwic2hhcmVkQ2JzIiwicHVzaCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwibGF0ZXN0IiwidW5yZWdpc3RlciIsImNiSWR4IiwiaW5kZXhPZiIsInNwbGljZSIsImN1cnJlbnQiLCJDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dCIsImV4cG9ydHMiLCJjcmVhdGVDb250ZXh0IiwiQ29udGV4dEFzeW5jQ29udHJvbFByb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidXNlU2hhcmVTdGF0ZSIsImNvbnRyb2xJZCIsInN0YXRlSWQiLCJjdHgiLCJ1c2VDb250ZXh0Iiwic3RhdGUiLCJzZXRMb2NhbFN0YXRlIiwidXNlU3RhdGUiLCJfY3R4JGNvbnRyb2xJZCRjdXJyZW4iLCJpbml0QXMiLCJ3cmFwcGVkU2V0U3RhdGUiLCJ1c2VNZW1vIiwidXNlSW5zZXJ0aW9uRWZmZWN0IiwidXNlQ29udGV4dENvbnRyb2wiLCJmdW5jdGlvbnNUb1dyYXAiLCJlcnJvciIsInNldEVycm9yIiwibG9hZGluZyIsInNldExvYWRpbmciLCJ1c2VSYXdBc3luQ29udHJvbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L0NvbnRleHRBc3luY0NvbnRyb2wudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDb250ZXh0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlSW5zZXJ0aW9uRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEZ1bmN0aW9uTWFwLCB1c2VSYXdBc3luQ29udHJvbCB9IGZyb20gXCIuLi9ob29rcy91c2VBc3luY0NvbnRyb2xcIjtcblxudHlwZSBDQiA9ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZDtcbmNsYXNzIFN1YnNjcmliZXIge1xuICBwcml2YXRlIHNoYXJlZENiczogeyBbaWQ6IHN0cmluZ106IEZ1bmN0aW9uW10gfSA9IHt9O1xuICBwcml2YXRlIGxhdGVzdDoge1xuICAgIFtpZDogc3RyaW5nXTogYW55O1xuICB9ID0ge307XG5cbiAgcmVnaXN0ZXI8QyBleHRlbmRzIENCPihjYklkOiBzdHJpbmcsIGNiOiBDKSB7XG4gICAgaWYgKCF0aGlzLnNoYXJlZENic1tjYklkXSkgdGhpcy5zaGFyZWRDYnNbY2JJZF0gPSBbXTtcbiAgICB0aGlzLnNoYXJlZENic1tjYklkXS5wdXNoKGNiKTtcbiAgICByZXR1cm4gKC4uLmFyZ3M6IFBhcmFtZXRlcnM8Qz4pID0+IHtcbiAgICAgIHRoaXMubGF0ZXN0W2NiSWRdID0gYXJncztcbiAgICAgIGZvciAobGV0IGNiIG9mIHRoaXMuc2hhcmVkQ2JzW2NiSWRdKSBjYiguLi5hcmdzKTtcbiAgICB9O1xuICB9XG4gIHVucmVnaXN0ZXI8QyBleHRlbmRzIENCPihjYklkOiBzdHJpbmcsIGNiOiBDKSB7XG4gICAgY29uc3QgY2JJZHggPSB0aGlzLnNoYXJlZENic1tjYklkXS5pbmRleE9mKGNiKTtcbiAgICB0aGlzLnNoYXJlZENic1tjYklkXS5zcGxpY2UoY2JJZHgsIDEpO1xuICB9XG4gIGN1cnJlbnQoY2JJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubGF0ZXN0W2NiSWRdO1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgc3RydWN0dXJlIGZvciBjb250ZXh0IGNvbnRyb2wgc2hhcmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHRTaGFwZSA9IHtcbiAgW2NvbnRyb2xJZDogc3RyaW5nXTogU3Vic2NyaWJlcjtcbn07XG4vKipcbiAqIFRoZSBjb250ZXh0IHVzZWQgdG8gc2hhcmUgc3RhdGUgYWNyb3NzIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBjb25zdCBDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dCA9XG4gIGNyZWF0ZUNvbnRleHQ8Q29udGV4dEFzeW5jQ29udHJvbENvbnRleHRTaGFwZT4obnVsbCBhcyBhbnkpO1xuXG4vKipcbiAqIFByb3ZpZGVyIGNvbXBvbmVudCB0byB3cmFwIHRoZSBhcHBsaWNhdGlvbiBjb250ZXh0LlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDb250ZXh0QXN5bmNDb250cm9sUHJvdmlkZXIoe1xuICBjaGlsZHJlbixcbn06IFByb3BzV2l0aENoaWxkcmVuPHt9Pikge1xuICByZXR1cm4gKFxuICAgIDxDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17e319PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQ29udGV4dEFzeW5jQ29udHJvbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59XG5cbi8qKlxuICogSG9vayB0byBzaGFyZSBzdGF0ZSBiZXR3ZWVuIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VTaGFyZVN0YXRlPEU+KGNvbnRyb2xJZDogc3RyaW5nLCBzdGF0ZUlkOiBzdHJpbmcpIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChDb250ZXh0QXN5bmNDb250cm9sQ29udGV4dCk7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0TG9jYWxTdGF0ZV0gPSB1c2VTdGF0ZTxFPigoKSA9PiB7XG4gICAgaWYgKCFjdHhbY29udHJvbElkXSkgY3R4W2NvbnRyb2xJZF0gPSBuZXcgU3Vic2NyaWJlcigpO1xuICAgIGNvbnN0IGluaXRBcyA9IGN0eFtjb250cm9sSWRdLmN1cnJlbnQoc3RhdGVJZCk/LlswXSBhcyBFO1xuICAgIHJldHVybiBpbml0QXM7XG4gIH0pO1xuXG4gIGNvbnN0IHdyYXBwZWRTZXRTdGF0ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjdHhbY29udHJvbElkXS5yZWdpc3RlcihzdGF0ZUlkLCBzZXRMb2NhbFN0YXRlKTtcbiAgfSwgW10pO1xuXG4gIHVzZUluc2VydGlvbkVmZmVjdChcbiAgICAoKSA9PiAoKSA9PiB7XG4gICAgICBjdHhbY29udHJvbElkXS51bnJlZ2lzdGVyKHN0YXRlSWQsIHNldExvY2FsU3RhdGUpO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gW3N0YXRlLCB3cmFwcGVkU2V0U3RhdGVdIGFzIGNvbnN0O1xufVxuXG4vKipcbiAqIEhvb2sgdG8gY29udHJvbCBjb250ZXh0IHdpdGggZXJyb3IgYW5kIGxvYWRpbmcgc3RhdGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udGV4dENvbnRyb2w8RSwgRiBleHRlbmRzIEZ1bmN0aW9uTWFwPihcbiAgY29udHJvbElkOiBzdHJpbmcsXG4gIGZ1bmN0aW9uc1RvV3JhcDogRlxuKSB7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU2hhcmVTdGF0ZTxFIHwgRXJyb3IgfCB1bmRlZmluZWQ+KFxuICAgIGNvbnRyb2xJZCxcbiAgICBcImVycm9yXCJcbiAgKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU2hhcmVTdGF0ZTxib29sZWFuPihjb250cm9sSWQsIFwibG9hZGluZ1wiKTtcblxuICByZXR1cm4gdXNlUmF3QXN5bkNvbnRyb2woXG4gICAgZnVuY3Rpb25zVG9XcmFwLFxuICAgIFtlcnJvciwgc2V0RXJyb3JdLFxuICAgIFtsb2FkaW5nLCBzZXRMb2FkaW5nXVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFTQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQTBFLFNBQUFFLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFFLEdBQUEsQ0FBQUwsR0FBQSxTQUFBTSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdC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
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CustomBrowserRouter;
7
+ var _reactRouterDom = require("react-router-dom");
8
+ var _history = require("history");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ /**
13
+ * Defines the data that can be passed along with navigation.
14
+ */
15
+
16
+ /**
17
+ * A router component that manages navigation and route changes.
18
+ */
19
+ function CustomBrowserRouter(_ref) {
20
+ let {
21
+ children,
22
+ beforeRouteChange = s => s
23
+ } = _ref;
24
+ const {
25
+ current: historyCustom
26
+ } = (0, _react.useRef)((0, _history.createBrowserHistory)());
27
+ (0, _react.useLayoutEffect)(() => {
28
+ function overrideFunction(name) {
29
+ const orig = historyCustom[name];
30
+ historyCustom[name] = function (route, state) {
31
+ var _history$state, _history$state2;
32
+ const isReplacingAnInternalNavigation = name === "replace" && ((_history$state = history.state) === null || _history$state === void 0 || (_history$state = _history$state.state) === null || _history$state === void 0 ? void 0 : _history$state.internalNavigation);
33
+ const isARouteChange = name !== "replace";
34
+ if ((isARouteChange || isReplacingAnInternalNavigation) && !state) state = {};
35
+ if (state) state.internalNavigation = name === "replace" ? (_history$state2 = history.state) === null || _history$state2 === void 0 || (_history$state2 = _history$state2.state) === null || _history$state2 === void 0 ? void 0 : _history$state2.internalNavigation : true;
36
+ const modifiedRoute = beforeRouteChange(route, historyCustom);
37
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
38
+ args[_key - 2] = arguments[_key];
39
+ }
40
+ return orig(modifiedRoute, state, ...args);
41
+ };
42
+ }
43
+ overrideFunction("push");
44
+ overrideFunction("replace");
45
+ }, [historyCustom]);
46
+ return /*#__PURE__*/_react.default.createElement(_reactRouterDom.Router, {
47
+ history: historyCustom
48
+ }, children);
49
+ }
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSb3V0ZXJEb20iLCJyZXF1aXJlIiwiX2hpc3RvcnkiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJDdXN0b21Ccm93c2VyUm91dGVyIiwiX3JlZiIsImNoaWxkcmVuIiwiYmVmb3JlUm91dGVDaGFuZ2UiLCJzIiwiY3VycmVudCIsImhpc3RvcnlDdXN0b20iLCJ1c2VSZWYiLCJjcmVhdGVCcm93c2VySGlzdG9yeSIsInVzZUxheW91dEVmZmVjdCIsIm92ZXJyaWRlRnVuY3Rpb24iLCJuYW1lIiwib3JpZyIsInJvdXRlIiwic3RhdGUiLCJfaGlzdG9yeSRzdGF0ZSIsIl9oaXN0b3J5JHN0YXRlMiIsImlzUmVwbGFjaW5nQW5JbnRlcm5hbE5hdmlnYXRpb24iLCJoaXN0b3J5IiwiaW50ZXJuYWxOYXZpZ2F0aW9uIiwiaXNBUm91dGVDaGFuZ2UiLCJtb2RpZmllZFJvdXRlIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjcmVhdGVFbGVtZW50IiwiUm91dGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHQvQ3VzdG9tQnJvd3NlclJvdXRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVyLCB1c2VIaXN0b3J5IH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IGNyZWF0ZUJyb3dzZXJIaXN0b3J5IH0gZnJvbSBcImhpc3RvcnlcIjtcbmltcG9ydCBSZWFjdCwge1xuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlRWZmZWN0LFxuICB1c2VMYXlvdXRFZmZlY3QsXG4gIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGF0YSB0aGF0IGNhbiBiZSBwYXNzZWQgYWxvbmcgd2l0aCBuYXZpZ2F0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDdXN0b21TdGF0ZSA9IHtcbiAgaW50ZXJuYWxOYXZpZ2F0aW9uPzogYm9vbGVhbjtcbn07XG5cbi8qKlxuICogQSByb3V0ZXIgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBuYXZpZ2F0aW9uIGFuZCByb3V0ZSBjaGFuZ2VzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDdXN0b21Ccm93c2VyUm91dGVyKHtcbiAgY2hpbGRyZW4sXG4gIGJlZm9yZVJvdXRlQ2hhbmdlID0gKHMpID0+IHMsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIC8qKlxuICAgKiBBbGxvd3MgdGhlIGRldiB0byBtb2RpZnkgdGhlIHJvdXRlIGJlZm9yZSBjb21taXRpbmcgdGhlIHJvdXRlIGNoYW5nZVxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgbmV3IHJvdXRlXG4gICAqL1xuICBiZWZvcmVSb3V0ZUNoYW5nZT86IChcbiAgICBuZXdSb3V0ZTogc3RyaW5nLFxuICAgIGhpc3Rvcnk6IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUJyb3dzZXJIaXN0b3J5PlxuICApID0+IHN0cmluZztcbn0+KSB7XG4gIGNvbnN0IHsgY3VycmVudDogaGlzdG9yeUN1c3RvbSB9ID0gdXNlUmVmKGNyZWF0ZUJyb3dzZXJIaXN0b3J5PGFueT4oKSk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gb3ZlcnJpZGVGdW5jdGlvbihuYW1lOiBrZXlvZiB0eXBlb2YgaGlzdG9yeUN1c3RvbSkge1xuICAgICAgY29uc3Qgb3JpZyA9IGhpc3RvcnlDdXN0b21bbmFtZV0gYXMgYW55O1xuICAgICAgKGhpc3RvcnlDdXN0b20gYXMgYW55KVtuYW1lXSA9IChcbiAgICAgICAgcm91dGU6IHN0cmluZyxcbiAgICAgICAgc3RhdGU6IEN1c3RvbVN0YXRlIHwgbnVsbCxcbiAgICAgICAgLi4uYXJnczogYW55W11cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBpc1JlcGxhY2luZ0FuSW50ZXJuYWxOYXZpZ2F0aW9uID1cbiAgICAgICAgICBuYW1lID09PSBcInJlcGxhY2VcIiAmJiBoaXN0b3J5LnN0YXRlPy5zdGF0ZT8uaW50ZXJuYWxOYXZpZ2F0aW9uO1xuICAgICAgICBjb25zdCBpc0FSb3V0ZUNoYW5nZSA9IG5hbWUgIT09IFwicmVwbGFjZVwiO1xuICAgICAgICBpZiAoKGlzQVJvdXRlQ2hhbmdlIHx8IGlzUmVwbGFjaW5nQW5JbnRlcm5hbE5hdmlnYXRpb24pICYmICFzdGF0ZSlcbiAgICAgICAgICBzdGF0ZSA9IHt9O1xuICAgICAgICBpZiAoc3RhdGUpXG4gICAgICAgICAgc3RhdGUuaW50ZXJuYWxOYXZpZ2F0aW9uID1cbiAgICAgICAgICAgIG5hbWUgPT09IFwicmVwbGFjZVwiXG4gICAgICAgICAgICAgID8gaGlzdG9yeS5zdGF0ZT8uc3RhdGU/LmludGVybmFsTmF2aWdhdGlvblxuICAgICAgICAgICAgICA6IHRydWU7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVkUm91dGUgPSBiZWZvcmVSb3V0ZUNoYW5nZShyb3V0ZSwgaGlzdG9yeUN1c3RvbSk7XG4gICAgICAgIHJldHVybiBvcmlnKG1vZGlmaWVkUm91dGUsIHN0YXRlLCAuLi5hcmdzKTtcbiAgICAgIH07XG4gICAgfVxuICAgIG92ZXJyaWRlRnVuY3Rpb24oXCJwdXNoXCIpO1xuICAgIG92ZXJyaWRlRnVuY3Rpb24oXCJyZXBsYWNlXCIpO1xuICB9LCBbaGlzdG9yeUN1c3RvbV0pO1xuICByZXR1cm4gPFJv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
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.useCurrentImageScale = useCurrentImageScale;
8
+ exports.useOneUIConfig = useOneUIConfig;
9
+ exports.useOneUIContext = useOneUIContext;
10
+ exports.useOneUIView = useOneUIView;
11
+ var _get = _interopRequireDefault(require("lodash/get"));
12
+ var _merge = _interopRequireDefault(require("lodash/merge"));
13
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _useAdaptiveImage = _interopRequireDefault(require("../hooks/ui/useAdaptiveImage"));
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+ /**
20
+ * Defines the available UI features and their settings.
21
+ */
22
+
23
+ /**
24
+ * The configuration object used to set up the UI provider.
25
+ */
26
+
27
+ const Context = /*#__PURE__*/(0, _react.createContext)(null);
28
+ function OneUIProvider(_ref) {
29
+ let {
30
+ children,
31
+ config
32
+ } = _ref;
33
+ const prevCtx = (0, _react.useContext)(Context);
34
+ const scale = (0, _useAdaptiveImage.default)();
35
+ const mergedConfig = (0, _react.useMemo)(() => {
36
+ return (0, _merge.default)((0, _cloneDeep.default)(prevCtx), config, {
37
+ state: {
38
+ imageScale: scale
39
+ }
40
+ });
41
+ }, [prevCtx, config, scale]);
42
+ return /*#__PURE__*/_react.default.createElement(Context.Provider, {
43
+ value: mergedConfig
44
+ }, children);
45
+ }
46
+
47
+ /**
48
+ * The main provider component that wraps your app to enable UI features.
49
+ */
50
+ var _default = exports.default = OneUIProvider;
51
+ function pathToJson(path, key) {
52
+ let exampleConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "THE_MISSING_CONFIG";
53
+ if (!key) {
54
+ key = path.split(".").slice(-1)[0];
55
+ path = path.replace(".".concat(key), "");
56
+ }
57
+ return path.split(".").concat(key).reduce((result, key, idx, arr) => {
58
+ arr.slice(0, idx).reduce((r, k) => r[k], result)[key] = idx === arr.length - 1 ? exampleConfig : {};
59
+ return result;
60
+ }, {});
61
+ }
62
+ function ErrorWrapper(originalObject) {
63
+ let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "config";
64
+ return new Proxy(typeof originalObject !== "object" ? {} : originalObject || {}, {
65
+ get(_target, key) {
66
+ if (key === Symbol.toPrimitive || key === "$$typeof") {
67
+ return () => _target[key];
68
+ }
69
+ try {
70
+ const value = originalObject[key];
71
+ if (typeof value === "undefined") return undefined;
72
+ if (typeof value === "object") return ErrorWrapper(value, [path, key].filter(Boolean).join("."));
73
+ return value;
74
+ } catch (e) {
75
+ const pathJson = pathToJson(path, key);
76
+ throw new Error("A component is using the UI config ".concat([path, key].join("."), ".\n\nPlease define it using:\nimport OneUIProvider from \"@onepercent/one-ui/dist/context/OneUIProvider\";\n\n ...\n").concat("<OneUIProvider config={".concat(JSON.stringify(pathJson, null, 4), "}>\n...\n</OneUIProvider>").replace(/[ ]/g, "-")));
77
+ }
78
+ }
79
+ });
80
+ }
81
+
82
+ /**
83
+ * A hook to access the current UI configuration.
84
+ */
85
+ function useOneUIContext() {
86
+ const context = (0, _react.useContext)(Context);
87
+ if (process.env.NODE_ENV === "development") return ErrorWrapper(context);
88
+ return context;
89
+ }
90
+
91
+ /**
92
+ * A hook to get a specific UI view component.
93
+ */
94
+ function useOneUIView(oneuiConfigPath, componentName) {
95
+ const providedValue = useOneUIConfig(oneuiConfigPath);
96
+ if (!providedValue) {
97
+ throw new Error("The component ".concat(componentName, " requires a view to be set on OneUI initialization\n\nViews ready for use with this component shall be available at:\nimport SomeView from \"@onepercentio/one-ui/dist/components/").concat(componentName, "/View/SomeView\";\n\nPlease define it using:\nimport OneUIProvider from \"@onepercentio/one-ui/dist/context/OneUIProvider\";\n\n ...\n").concat("<OneUIProvider config={".concat(JSON.stringify(pathToJson(oneuiConfigPath, undefined, "SomeView"), null, 4), "}>\n...\n</OneUIProvider>").replace(/[ ]/g, "-")));
98
+ }
99
+ return providedValue;
100
+ }
101
+
102
+ /**
103
+ * A hook to retrieve a specific value from the UI configuration.
104
+ */
105
+
106
+ function useOneUIConfig(prop, defaultValue) {
107
+ const context = (0, _react.useContext)(Context);
108
+ if (process.env.NODE_ENV === "development") {
109
+ const val = (0, _react.useMemo)(() => {
110
+ return (0, _get.default)(context, prop);
111
+ }, [context, prop]);
112
+ if (typeof val === "string" || typeof val === "function" || prop.endsWith(".Component") || prop.endsWith(".View")) return val || defaultValue;
113
+ if (typeof val === "boolean") return val;
114
+ return ErrorWrapper(val || defaultValue);
115
+ }
116
+ const value = (0, _react.useMemo)(() => {
117
+ return (0, _get.default)(context, prop);
118
+ }, [context, prop]);
119
+ return value || defaultValue;
120
+ }
121
+
122
+ /**
123
+ * A hook to get the current image scale setting.
124
+ */
125
+ function useCurrentImageScale() {
126
+ const context = (0, _react.useContext)(Context);
127
+ return context.state.imageScale;
128
+ }
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIk9uZVVJUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJjb25maWciLCJwcmV2Q3R4IiwidXNlQ29udGV4dCIsInNjYWxlIiwidXNlQWRhcHRpdmVJbWFnZSIsIm1lcmdlZENvbmZpZyIsInVzZU1lbW8iLCJtZXJnZSIsImNsb25lIiwic3RhdGUiLCJpbWFnZVNjYWxlIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJwYXRoVG9Kc29uIiwicGF0aCIsImV4YW1wbGVDb25maWciLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJzcGxpdCIsInNsaWNlIiwicmVwbGFjZSIsImNvbmNhdCIsInJlZHVjZSIsInJlc3VsdCIsImlkeCIsImFyciIsInIiLCJrIiwiRXJyb3JXcmFwcGVyIiwib3JpZ2luYWxPYmplY3QiLCJQcm94eSIsIl90YXJnZXQiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiZSIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIkBtdXJpdGF2by93ZWJwYWNrLW1pY3JvZnJvbnRlbmQtc2NyaXB0cy9iaW4vdHlwZXMvSW1hZ2VTY2FsZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHtcbiAgRmllbGRQYXRoLFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHksXG4gIE5hbWVzcGFjZUFjY2Vzc29ycyxcbiAgUGF0aCxcbiAgUGF0aE9iamVjdCxcbn0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB1c2VBZGFwdGl2ZUltYWdlIGZyb20gXCIuLi9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvblwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0NoZWNrQm94XCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9cIjtcbmltcG9ydCB7IEZpbGVJbnB1dFZpZXdQcm9wcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbGVJbnB1dC9WaWV3L1ZpZXcudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZCxcbiAgR2VuZXJpY0Zvcm1GaWVsZFByb3BzLFxufSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IEJhc2VRdWVzdGlvbiwgRm9ybU1vZGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm0udHlwZXNcIjtcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzIEZ1bmN0aW9uXG4gICAgPyBUW1BdXG4gICAgOiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbnR5cGUgSWZVdGlsaXR5SGFzPE4gZXh0ZW5kcyBOYW1lc3BhY2VBY2Nlc3NvcnMsIERlY2xhcmU+ID1cbiAgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PE4+IGV4dGVuZHMgYFRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHlvdSBuZWVkIHRvIHNldCBPbmVwZXJjZW50VXRpbGl0eS4ke3N0cmluZ30gZ2xvYmFsbHlgXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IERlY2xhcmU7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgYXZhaWxhYmxlIFVJIGZlYXR1cmVzIGFuZCB0aGVpciBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IHR5cGUgT25lVUlDb250ZXh0U3BlY3MgPSB7XG4gIGNvbXBvbmVudDoge1xuICAgIGFzeW5jVHJpZ2dlckNvbnRhaW5lcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgc3BhY2luZzoge1xuICAgICAgdmFyaWFudHM6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5TcGFjaW5nVmFyaWFudHNcIj5dOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gICAgY29sbGFwc2FibGU6IHtcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgZm9ybToge1xuICAgICAgZmllbGRXcmFwcGVyOiB7XG4gICAgICAgIFtrIGluIGAke2tleW9mIHR5cGVvZiBGb3JtTW9kZX0tJHtGb3JtRmllbGRbXCJ0eXBlXCJdfWBdOlxuICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgfCAoKHA6IFByb3BzV2l0aENoaWxkcmVuPEZvcm1GaWVsZCAmIHsgdmFsdWU6IGFueSB9PikgPT4gUmVhY3ROb2RlKTtcbiAgICAgIH07XG4gICAgICB0aXRsZVZhcmlhbnQ6IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCI+O1xuICAgICAgbGFiZWxWYXJpYW50OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIC8qKiBMYWJlbCBzaG93biB3aGVuIGEgZmllbGQgaXMgb3B0aW9uYWwgKi9cbiAgICAgIG9wdGlvbmFsTGFiZWw6IHN0cmluZztcblxuICAgICAgLyoqIExhYmVsIHNob3duIHdoZW4gYSByZXF1aXJlZCBmaWVsZCB3YXMgbm90IHByb3ZpZGVkICovXG4gICAgICByZXF1aXJlZExhYmVsOiBzdHJpbmc7XG5cbiAgICAgIG9uRmlsZVVwbG9hZChxdWVzdGlvbklkOiBzdHJpbmcsIGZpbGU6IEZpbGUpOiBVcGxvYWRUYXNrO1xuXG4gICAgICBleHRlbnNpb25zOiBJZlV0aWxpdHlIYXM8XG4gICAgICAgIFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBbSyBpbiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZHNcIl1bXCJ0eXBlXCJdXToge1xuICAgICAgICAgICAgUmVhZE9ubHk/OiAoXG4gICAgICAgICAgICAgIHByb3BzOiBPbWl0PEdlbmVyaWNGb3JtRmllbGRQcm9wczxLPiwgXCJvbkFuc3dlclwiIHwgXCJlcnJvclwiPixcbiAgICAgICAgICAgICkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICAgICAgSW5wdXQ6IChwcm9wczogR2VuZXJpY0Zvcm1GaWVsZFByb3BzPEs+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IChcbiAgICAgICAgICAgICAgYW5zd2VyOiBBbnN3ZXJCeUZpZWxkPHsgdHlwZTogSyB9PiB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcXVlc3Rpb246IEZvcm1GaWVsZCAmXG4gICAgICAgICAgICAgICAgKEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXSAmIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IEs7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICAgICAgICAgICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgID47XG4gICAgfTtcbiAgICB0ZXh0OiBJZlV0aWxpdHlIYXM8XG4gICAgICBcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCIsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIFtrIGluIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgKHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL1RleHRcIikpW1wiZGVmYXVsdFwiXVxuICAgICAgICAgID5bXCJ0eXBlXCJdXTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBodG1sVGFnOiB7XG4gICAgICAgICAgW2sgaW4gUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICAodHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvVGV4dFwiKSlbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInR5cGVcIl1dOiBcInBcIiB8IFwiaDFcIiB8IFwiaDJcIiB8IFwiaDNcIiB8IFwiaDRcIiB8IFwiaDVcIiB8IFwiaDZcIjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICA+O1xuICAgIGJ1dHRvbj86IHtcbiAgICAgIGNsYXNzTmFtZT86IHtcbiAgICAgICAgW2sgaW4gTm9uTnVsbGFibGU8XG4gICAgICAgICAgUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICAodHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvQnV0dG9uXCIpKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widmFyaWFudFwiXVxuICAgICAgICA+XT86IHN0cmluZztcbiAgICAgIH07XG4gICAgICBDb21wb25lbnQ/OiAocHJvcHM6IENvbXBvbmVudFByb3BzPHR5cGVvZiBCdXR0b24+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBpbnB1dDoge1xuICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgIC8qKiBUaGUgd3JhcHBlciBhcm91bmQgaW5wdXQgdGFnICYgY2FwdGlvbiBlbGVtZW50ICh1c2VkIGZvciBlcnJvciBhbmQgY2FwdGlvbikgKi9cbiAgICAgICAgY29udGFpbmVyOiBzdHJpbmc7XG4gICAgICAgIC8qKiBUaGUgaW5wdXQgaHRtbCB0YWcgKi9cbiAgICAgICAgaW5wdXQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgICBsYWJlbFZhcmlhbnRzOiB7XG4gICAgICAgIGVycm9yPzogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICAgIGRpc2NsYWltZXI/OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmaWxlSW5wdXQ6IHtcbiAgICAgIFZpZXc6IChwcm9wczogRmlsZUlucHV0Vmlld1Byb3BzKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICBidXR0b246IHtcbiAgICAgICAgdmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5CdXR0b25WYXJpYW50c1wiPjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBwYXNzd29yZElucHV0OiB7XG4gICAgICBpY29uU3JjOiB7XG4gICAgICAgIHBhc3N3b3JkSGlkZGVuOiBzdHJpbmc7XG4gICAgICAgIHBhc3N3b3JkVmlzaWJsZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFzeW5jV3JhcHBlcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudD86ICgpID0+IEpTWC5FbGVtZW50O1xuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgIHJldHJ5QnRuOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH07XG4gICAgc2VsZWN0OiB7XG4gICAgICBTdGF0ZUluZGljYXRvcjogKHByb3BzOiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBjbGFzc05hbWU/OiB7XG4gICAgICAgIGRyb3Bkb3duPzogc3RyaW5nO1xuICAgICAgICBpdGVtPzogc3RyaW5nO1xuICAgICAgICBzZWxlY3RlZEl0ZW0/OiBzdHJpbmc7XG4gICAgICAgIGlucHV0Pzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGhlYWRlcjoge1xuICAgICAgTG9nb0ltYWdlOiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIE1vcmVPcHRpb25zOiAoeyBvcGVuIH06IHsgb3BlbjogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICBjb250cm9sczoge1xuICAgICAgICBQcmV2UGFnZTogKHsgZGlzYWJsZWQgfTogeyBkaXNhYmxlZDogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICAgICAgTmV4dFBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICB9O1xuICAgIH07XG4gICAgdG9vbHRpcDoge1xuICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWRhcHRpdmVEaWFsb2c6IHtcbiAgICAgIGRpYWxvZ0NsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgYmFja2Ryb3BDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFkYXB0aXZlU2lkZWJhcjoge1xuICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICBjb250cm9sQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjaGVja2JveDoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2hlY2tCb3g+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICByYWRpbzoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgUmFkaW8+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJzOiB7XG4gICAgICBpdGVtOiBzdHJpbmc7XG4gICAgICBjb250YWluZXI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBob29rOiB7XG4gICAgdWk6IHtcbiAgICAgIHVzZVBhZ2luYXRpb25Db250cm9sczoge1xuICAgICAgICBMZWZ0Q29udHJvbDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICBSaWdodENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBzdGF0ZToge1xuICAgIGltYWdlU2NhbGU6IEltYWdlU2NhbGVzO1xuICB9O1xufTtcblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgdXNlZCB0byBzZXQgdXAgdGhlIFVJIHByb3ZpZGVyLlxuICovXG5leHBvcnQgdHlwZSBDb250ZXh0Q29uZmlnU3BlY3MgPSBEZWVwUGFydGlhbDxPbmVVSUNvbnRleHRTcGVjcz4gJlxuICBQYXRoT2JqZWN0PE9uZVVJQ29udGV4dFNwZWNzLCBcImNvbXBvbmVudC50ZXh0XCI+O1xuXG5jb25zdCBDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxDb250ZXh0Q29uZmlnU3BlY3M+KG51bGwgYXMgYW55KTtcblxuZnVuY3Rpb24gT25lVUlQcm92aWRlcih7XG4gIGNoaWxkcmVuLFxuICBjb25maWcsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7IGNvbmZpZzogQ29udGV4dENvbmZpZ1NwZWNzIH0+KSB7XG4gIGNvbnN0IHByZXZDdHggPSB1c2VDb250ZXh0KENvbnRleHQpO1xuICBjb25zdCBzY2FsZSA9IHVzZUFkYXB0aXZlSW1hZ2UoKTtcbiAgY29uc3QgbWVyZ2VkQ29uZmlnID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlKGNsb25lKHByZXZDdHgpLCBjb25maWcsIHtcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIGltYWdlU2NhbGU6IHNjYWxlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW3ByZXZDdHgsIGNvbmZpZywgc2NhbGVdKTtcblxuICByZXR1cm4gPENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e21lcmdlZENvbmZpZ30+e2NoaWxkcmVufTwvQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbi8qKlxuICogVGhlIG1haW4gcHJvdmlkZXIgY29tcG9uZW50IHRoYXQgd3JhcHMgeW91ciBhcHAgdG8gZW5hYmxlIFVJIGZlYXR1cmVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBPbmVVSVByb3ZpZGVyO1xuXG5mdW5jdGlvbiBwYXRoVG9Kc29uKFxuICBwYXRoOiBzdHJpbmcsXG4gIGtleT86IHN0cmluZyB8IFN5bWJvbCxcbiAgZXhhbXBsZUNvbmZpZyA9IFwiVEhFX01JU1NJTkdfQ09ORklHXCIsXG4pIHtcbiAgaWYgKCFrZXkpIHtcbiAgICBrZXkgPSBwYXRoLnNwbGl0KFwiLlwiKS5zbGljZSgtMSlbMF07XG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZShgLiR7a2V5fWAsIFwiXCIpO1xuICB9XG5cbiAgcmV0dXJuIHBhdGhcbiAgICAuc3BsaXQoXCIuXCIpXG4gICAgLmNvbmNhdChrZXkgYXMgc3RyaW5nKVxuICAgIC5yZWR1Y2UoKHJlc3VsdCwga2V5LCBpZHgsIGFycikgPT4ge1xuICAgICAgKGFyci5zbGljZSgwLCBpZHgpLnJlZHVjZSgociwgaykgPT4gKHIgYXMgYW55KVtrXSwgcmVzdWx0KSBhcyBhbnkpW2tleV0gPVxuICAgICAgICBpZHggPT09IGFyci5sZW5ndGggLSAxID8gZXhhbXBsZUNvbmZpZyA6IHt9O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIEVycm9yV3JhcHBlcihcbiAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgcGF0aDogc3RyaW5nID0gXCJjb25maWdcIixcbik6IHR5cGVvZiBQcm94eSB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAgdHlwZW9mIG9yaWdpbmFsT2JqZWN0ICE9PSBcIm9iamVjdFwiID8ge30gOiBvcmlnaW5hbE9iamVjdCB8fCB7fSxcbiAgICB7XG4gICAgICBnZXQoX3RhcmdldCwga2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT09IFN5bWJvbC50b1ByaW1pdGl2ZSB8fCBrZXkgPT09IFwiJCR0eXBlb2ZcIikge1xuICAgICAgICAgIHJldHVybiAoKSA9PiBfdGFyZ2V0W2tleV07XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9yaWdpbmFsT2JqZWN0W2tleV07XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKVxuICAgICAgICAgICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWx1ZSwgW3BhdGgsIGtleV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIuXCIpKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zdCBwYXRoSnNvbiA9IHBhdGhUb0pzb24ocGF0aCwga2V5KTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQSBjb21wb25lbnQgaXMgdXNpbmcgdGhlIFVJIGNvbmZpZyAke1twYXRoLCBrZXldLmpvaW4oXCIuXCIpfS5cblxuUGxlYXNlIGRlZmluZSBpdCB1c2luZzpcbmltcG9ydCBPbmVVSVByb3ZpZGVyIGZyb20gXCJAb25lcGVyY2VudC9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShwYXRoSnNvbiwgbnVsbCwgNCl9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbnRleHQoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRleHQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgIHJldHVybiBFcnJvcldyYXBwZXIoY29udGV4dCkgYXMgdW5rbm93biBhcyBPbmVVSUNvbnRleHRTcGVjcztcblxuICByZXR1cm4gY29udGV4dCBhcyBPbmVVSUNvbnRleHRTcGVjcztcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IGEgc3BlY2lmaWMgVUkgdmlldyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSVZpZXc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBvbmV1aUNvbmZpZ1BhdGg6IFAsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbikge1xuICBjb25zdCBwcm92aWRlZFZhbHVlID0gdXNlT25lVUlDb25maWcob25ldWlDb25maWdQYXRoKTtcbiAgaWYgKCFwcm92aWRlZFZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gcmVxdWlyZXMgYSB2aWV3IHRvIGJlIHNldCBvbiBPbmVVSSBpbml0aWFsaXphdGlvblxuXG5WaWV3cyByZWFkeSBmb3IgdXNlIHdpdGggdGhpcyBjb21wb25lbnQgc2hhbGwgYmUgYXZhaWxhYmxlIGF0OlxuaW1wb3J0IFNvbWVWaWV3IGZyb20gXCJAb25lcGVyY2VudGlvL29uZS11aS9kaXN0L2NvbXBvbmVudHMvJHtjb21wb25lbnROYW1lfS9WaWV3L1NvbWVWaWV3XCI7XG5cblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnRpby9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShcbiAgcGF0aFRvSnNvbihvbmV1aUNvbmZpZ1BhdGgsIHVuZGVmaW5lZCwgXCJTb21lVmlld1wiKSxcbiAgbnVsbCxcbiAgNCxcbil9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlZFZhbHVlO1xufVxuXG4vKipcbiAqIEEgaG9vayB0byByZXRyaWV2ZSBhIHNwZWNpZmljIHZhbHVlIGZyb20gdGhlIFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPj4oXG4gIHByb3A6IFAsXG4pOiBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29uZmlnPFxuICBQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPixcbiAgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU6IFQpOiBOb25OdWxsYWJsZTxHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+PjtcbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxcbiAgUCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4sXG4gIFQgZXh0ZW5kcyBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU/OiBUKTogR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPiB8IFQge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICBjb25zdCB2YWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gICAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiIHx8XG4gICAgICB0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3AuZW5kc1dpdGgoXCIuQ29tcG9uZW50XCIpIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLlZpZXdcIilcbiAgICApXG4gICAgICByZXR1cm4gKHZhbCBhcyBhbnkpIHx8IGRlZmF1bHRWYWx1ZTtcblxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbCBhcyBhbnk7XG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWwgfHwgZGVmYXVsdFZhbHVlKSBhcyB1bmtub3duIGFzIE5vbk51bGxhYmxlPFQ+O1xuICB9XG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldChjb250ZXh0LCBwcm9wKTtcbiAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgcmV0dXJuIHZhbHVlIHx8IGRlZmF1bHRWYWx1ZTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IHRoZSBjdXJyZW50IGltYWdlIHNjYWxlIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW50SW1hZ2VTY2FsZSgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHQuc3RhdGUhLmltYWdlU2NhbGUhO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFB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