@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,211 @@
1
+ @use "../../assets/styles/index.scss" as *;
2
+
3
+ .section {
4
+ * {
5
+ box-sizing: border-box;
6
+ }
7
+ position: relative;
8
+ display: flex;
9
+ align-items: flex-start;
10
+ > div {
11
+ display: flex;
12
+ flex-direction: column;
13
+ min-height: inherit;
14
+ min-width: 100%;
15
+ animation-duration: var(--animation-speed-transition, $fast);
16
+ animation-timing-function: var(--animation-timing-transition, initial);
17
+ animation-fill-mode: forwards;
18
+ transform-origin: inherit;
19
+ }
20
+ }
21
+
22
+ div.stub {
23
+ animation-name: stub;
24
+ position: absolute;
25
+ pointer-events: none;
26
+ }
27
+
28
+ div.stubEntering {
29
+ animation-name: stub;
30
+ z-index: -1;
31
+ }
32
+ @keyframes stub {
33
+ 0% {
34
+ opacity: 1;
35
+ }
36
+ 100% {
37
+ opacity: 1;
38
+ }
39
+ }
40
+
41
+ div.entranceLeft {
42
+ animation-name: entranceLeft;
43
+ }
44
+ div.exitLeft {
45
+ animation-name: exitLeft;
46
+ }
47
+
48
+ @keyframes entranceLeft {
49
+ 0% {
50
+ margin-left: -100%;
51
+ }
52
+ 100% {
53
+ margin-left: 0%;
54
+ }
55
+ }
56
+ @keyframes exitLeft {
57
+ 0% {
58
+ margin-left: 0%;
59
+ }
60
+ 100% {
61
+ margin-left: -100%;
62
+ }
63
+ }
64
+
65
+ div.fadeOut {
66
+ animation-name: fadeOut;
67
+ position: absolute;
68
+ }
69
+
70
+ @keyframes fadeOut {
71
+ 0% {
72
+ opacity: 1;
73
+ }
74
+ 100% {
75
+ opacity: 0;
76
+ }
77
+ }
78
+
79
+ div.scaleIn {
80
+ animation-fill-mode: forwards;
81
+ animation-name: scaleIn;
82
+ }
83
+
84
+ @keyframes scaleIn {
85
+ 0% {
86
+ transform: scale(0);
87
+ }
88
+ 100% {
89
+ transform: scale(1);
90
+ }
91
+ }
92
+
93
+ div.scaleOut {
94
+ animation-fill-mode: initial;
95
+ animation-name: scaleOut;
96
+ }
97
+
98
+ @keyframes scaleOut {
99
+ 0% {
100
+ position: absolute;
101
+ transform: scale(1);
102
+ }
103
+ 100% {
104
+ position: absolute;
105
+ transform: scale(0);
106
+ }
107
+ }
108
+
109
+ div.fadeIn {
110
+ animation-name: fadeIn;
111
+ }
112
+
113
+ @keyframes fadeIn {
114
+ 0% {
115
+ opacity: 0;
116
+ }
117
+ 100% {
118
+ opacity: 1;
119
+ }
120
+ }
121
+
122
+ @keyframes fadeInDelayed {
123
+ 0% {
124
+ opacity: 0;
125
+ }
126
+ 50% {
127
+ opacity: 0.1;
128
+ }
129
+ 100% {
130
+ opacity: 1;
131
+ }
132
+ }
133
+ @keyframes fadeOutDelayed {
134
+ 0% {
135
+ opacity: 1;
136
+ }
137
+ 50% {
138
+ opacity: 0.1;
139
+ }
140
+ 100% {
141
+ opacity: 0;
142
+ }
143
+ }
144
+
145
+ .fadeInDelayed {
146
+ animation-name: fadeInDelayed;
147
+ }
148
+
149
+ .fadeOutAbsolute {
150
+ position: absolute;
151
+ animation-name: fadeOutDelayed;
152
+ }
153
+
154
+ @keyframes flip {
155
+ 0% {
156
+ transform: rotateX(0deg);
157
+ }
158
+
159
+ 25% {
160
+ transform: rotateX(36deg);
161
+ }
162
+
163
+ 50% {
164
+ transform: rotateX(90deg);
165
+ }
166
+
167
+ 75% {
168
+ transform: rotateX(90deg);
169
+ }
170
+
171
+ 100% {
172
+ transform: rotateX(90deg);
173
+ }
174
+ }
175
+ @keyframes flipIn {
176
+ 0% {
177
+ transform: rotateX(0deg);
178
+ opacity: 0;
179
+ }
180
+
181
+ 25% {
182
+ transform: rotateX(0deg);
183
+ }
184
+
185
+ 50% {
186
+ transform: rotateX(90deg);
187
+ opacity: 0;
188
+ }
189
+ 51% {
190
+ opacity: 1;
191
+ }
192
+
193
+ 75% {
194
+ transform: rotateX(36deg);
195
+ }
196
+
197
+ 100% {
198
+ transform: rotateX(0deg);
199
+ }
200
+ }
201
+ .flipBottomUpOut {
202
+ transform-origin: 50% 50% !important;
203
+ position: absolute !important;
204
+ animation-name: flip;
205
+ animation-timing-function: linear !important;
206
+ }
207
+ .flipBottomUpIn {
208
+ transform-origin: 50% 50% !important;
209
+ animation-name: flipIn;
210
+ animation-timing-function: linear !important;
211
+ }
@@ -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 _Transition.default;
11
+ }
12
+ });
13
+ var _Transition = _interopRequireWildcard(require("./Transition"));
14
+ Object.keys(_Transition).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] === _Transition[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _Transition[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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVHJhbnNpdGlvbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuL1RyYW5zaXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RyYW5zaXRpb25cIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosV0FBQSxFQUFBSyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFOLFdBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsV0FBQSxDQUFBTSxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQTZCLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFmLHdCQUFBbUIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBVCxHQUFBLENBQUFNLEdBQUEsU0FBQUssTUFBQSxXQUFBQyxxQkFBQSxHQUFBdkIsTUFBQSxDQUFBUyxjQUFBLElBQUFULE1BQUEsQ0FBQXdCLHdCQUFBLFdBQUFyQixHQUFBLElBQUFjLEdBQUEsUUFBQWQsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBVyxHQUFBLEVBQUFkLEdBQUEsU0FBQXNCLElBQUEsR0FBQUYscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQXdCLHdCQUFBLENBQUFQLEdBQUEsRUFBQWQsR0FBQSxjQUFBc0IsSUFBQSxLQUFBQSxJQUFBLENBQUFkLEdBQUEsSUFBQWMsSUFBQSxDQUFBQyxHQUFBLEtBQUExQixNQUFBLENBQUFTLGNBQUEsQ0FBQWEsTUFBQSxFQUFBbkIsR0FBQSxFQUFBc0IsSUFBQSxZQUFBSCxNQUFBLENBQUFuQixHQUFBLElBQUFjLEdBQUEsQ0FBQWQsR0FBQSxTQUFBbUIsTUFBQSxDQUFBSCxPQUFBLEdBQUFGLEdBQUEsTUFBQUcsS0FBQSxJQUFBQSxLQUFBLENBQUFNLEdBQUEsQ0FBQVQsR0FBQSxFQUFBSyxNQUFBLFlBQUFBLE1BQUEifQ==
@@ -0,0 +1,9 @@
1
+ # Animating component transition
2
+
3
+ When the key changes, a the transition between components will be controlled by UncontrolledTransition
4
+
5
+ ```tsx
6
+ <UncontrolledTransition>
7
+ <AComponent key={DYNAMIC_KEY}>
8
+ </UncontrolledTransition>
9
+ ```
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.UncontrolledTransition = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Transition = _interopRequireDefault(require("../Transition"));
9
+ const _excluded = ["className", "contentClassName", "children", "lockTransitionWidth", "lockTransitionHeight", "contentStyle", "onDiscardStep"];
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
18
+ 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); }
19
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
20
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
+ function _UncontrolledTransition(_ref, ref) {
22
+ let {
23
+ className = "",
24
+ contentClassName,
25
+ children = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
26
+ key: "default"
27
+ }),
28
+ lockTransitionWidth = true,
29
+ lockTransitionHeight = false,
30
+ contentStyle,
31
+ onDiscardStep
32
+ } = _ref,
33
+ props = _objectWithoutProperties(_ref, _excluded);
34
+ const sectionRef = (0, _react.useRef)(null);
35
+ const [{
36
+ childStack,
37
+ offset
38
+ }, setChildStack] = (0, _react.useState)(() => ({
39
+ childStack: [_objectSpread(_objectSpread({}, children), {}, {
40
+ createdAt: Date.now()
41
+ })],
42
+ offset: 1
43
+ }));
44
+ const orientation = (0, _react.useRef)("forward");
45
+ function setOrientation(a) {
46
+ orientation.current = a;
47
+ }
48
+ (0, _react.useImperativeHandle)(ref, () => ({
49
+ setOrientation,
50
+ sectionRef
51
+ }), []);
52
+ (0, _react.useLayoutEffect)(() => {
53
+ if (process.env.NODE_ENV !== "production" && !children.key) throw new Error("The provided child should have a key property, please provide it");
54
+ if (childStack.length === 1 && childStack[0].key === children.key) return;
55
+ if (orientation.current === "forward") setChildStack(p => _objectSpread(_objectSpread({}, p), {}, {
56
+ childStack: [...p.childStack, _objectSpread(_objectSpread({}, children), {}, {
57
+ createdAt: Date.now()
58
+ })]
59
+ }));else setChildStack(p => _objectSpread(_objectSpread({}, p), {}, {
60
+ childStack: [_objectSpread(_objectSpread({}, children), {}, {
61
+ createdAt: Date.now()
62
+ }), ...p.childStack]
63
+ }));
64
+ }, [children.key]);
65
+ (0, _react.useEffect)(() => {
66
+ if (orientation.current === "backward") {
67
+ setChildStack(prev => {
68
+ return _objectSpread(_objectSpread({}, prev), {}, {
69
+ offset: prev.childStack.length
70
+ });
71
+ });
72
+ }
73
+ }, [childStack.length]);
74
+ childStack.forEach((a, i, arr) => {
75
+ if (a.key === children.key) arr[i] = _objectSpread(_objectSpread({}, children), {}, {
76
+ createdAt: a.createdAt
77
+ });
78
+ });
79
+ const predictedStep = childStack.length - offset;
80
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, childStack.length ? /*#__PURE__*/_react.default.createElement(_Transition.default, _extends({
81
+ ref: sectionRef,
82
+ contentStyle: contentStyle,
83
+ className: className,
84
+ step: predictedStep,
85
+ onDiscardStep: (discardedKey, animatedAt) => {
86
+ setTimeout(() => {
87
+ if (onDiscardStep) onDiscardStep(discardedKey);
88
+ orientation.current = "forward";
89
+ setChildStack(prev => {
90
+ return {
91
+ childStack: prev.childStack.filter(a => {
92
+ return a.key !== discardedKey || a.createdAt > animatedAt;
93
+ }),
94
+ offset: prev.offset === 1 ? 1 : prev.offset - 1
95
+ };
96
+ });
97
+ }, 0);
98
+ },
99
+ lockTransitionWidth: lockTransitionWidth,
100
+ lockTransitionHeight: lockTransitionHeight,
101
+ contentClassName: contentClassName
102
+ }, props), childStack) : null);
103
+ }
104
+
105
+ /**
106
+ * A component that handles transitions when child elements change, making the swap appear smooth.
107
+ */
108
+ const UncontrolledTransition = exports.UncontrolledTransition = /*#__PURE__*/(0, _react.forwardRef)(_UncontrolledTransition);
109
+ var _default = exports.default = UncontrolledTransition;
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZXhjbHVkZWQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImFwcGx5Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJfVW5jb250cm9sbGVkVHJhbnNpdGlvbiIsIl9yZWYiLCJyZWYiLCJjbGFzc05hbWUiLCJjb250ZW50Q2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJsb2NrVHJhbnNpdGlvbldpZHRoIiwibG9ja1RyYW5zaXRpb25IZWlnaHQiLCJjb250ZW50U3R5bGUiLCJvbkRpc2NhcmRTdGVwIiwicHJvcHMiLCJzZWN0aW9uUmVmIiwidXNlUmVmIiwiY2hpbGRTdGFjayIsIm9mZnNldCIsInNldENoaWxkU3RhY2siLCJ1c2VTdGF0ZSIsImNyZWF0ZWRBdCIsIkRhdGUiLCJub3ciLCJvcmllbnRhdGlvbiIsInNldE9yaWVudGF0aW9uIiwiYSIsImN1cnJlbnQiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidXNlTGF5b3V0RWZmZWN0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiRXJyb3IiLCJwIiwidXNlRWZmZWN0IiwicHJldiIsImFyciIsInByZWRpY3RlZFN0ZXAiLCJzdGVwIiwiZGlzY2FyZGVkS2V5IiwiYW5pbWF0ZWRBdCIsInNldFRpbWVvdXQiLCJVbmNvbnRyb2xsZWRUcmFuc2l0aW9uIiwiZXhwb3J0cyIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1VuY29udHJvbGxlZFRyYW5zaXRpb24vVW5jb250cm9sbGVkVHJhbnNpdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIERldGFpbGVkSFRNTFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEtleSxcbiAgUmVmT2JqZWN0LFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgVHJhbnNpdGlvbiBmcm9tIFwiLi4vVHJhbnNpdGlvblwiO1xuaW1wb3J0IHtcbiAgVHJhbnNpdGlvblByb3BzLFxuICBUcmFuc2l0aW9uVHlwZURlZmluaXRpb25zLFxufSBmcm9tIFwiLi4vVHJhbnNpdGlvbi9UcmFuc2l0aW9uXCI7XG5cbmZ1bmN0aW9uIF9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uKFxuICB7XG4gICAgY2xhc3NOYW1lID0gXCJcIixcbiAgICBjb250ZW50Q2xhc3NOYW1lLFxuICAgIGNoaWxkcmVuID0gPFJlYWN0LkZyYWdtZW50IGtleT1cImRlZmF1bHRcIj48L1JlYWN0LkZyYWdtZW50PixcbiAgICBsb2NrVHJhbnNpdGlvbldpZHRoID0gdHJ1ZSxcbiAgICBsb2NrVHJhbnNpdGlvbkhlaWdodCA9IGZhbHNlLFxuICAgIGNvbnRlbnRTdHlsZSxcbiAgICBvbkRpc2NhcmRTdGVwLFxuICAgIC4uLnByb3BzXG4gIH06IHtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgY29udGVudENsYXNzTmFtZT86IHN0cmluZztcbiAgICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0RWxlbWVudDtcbiAgICBsb2NrVHJhbnNpdGlvbldpZHRoPzogYm9vbGVhbjtcbiAgICBsb2NrVHJhbnNpdGlvbkhlaWdodD86IGJvb2xlYW47XG4gICAgb25EaXNjYXJkU3RlcD86IChrZXk6IEtleSkgPT4gdm9pZDtcbiAgfSAmIFBpY2s8VHJhbnNpdGlvblByb3BzLCBcImNvbnRlbnRTdHlsZVwiPiAmXG4gICAgVHJhbnNpdGlvblR5cGVEZWZpbml0aW9ucyAmXG4gICAgT21pdDxcbiAgICAgIERldGFpbGVkSFRNTFByb3BzPFJlYWN0LkhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgYW55PixcbiAgICAgIFwiY2xhc3NOYW1lXCIgfCBcImNoaWxkcmVuXCIgfCBcInJlZlwiXG4gICAgPixcbiAgcmVmOiBGb3J3YXJkZWRSZWY8e1xuICAgIHNldE9yaWVudGF0aW9uOiAob3JpZW50YXRpb246IFwiZm9yd2FyZFwiIHwgXCJiYWNrd2FyZFwiKSA9PiB2b2lkO1xuICAgIHNlY3Rpb25SZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+O1xuICB9PlxuKSB7XG4gIGNvbnN0IHNlY3Rpb25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBbeyBjaGlsZFN0YWNrLCBvZmZzZXQgfSwgc2V0Q2hpbGRTdGFja10gPSB1c2VTdGF0ZTx7XG4gICAgY2hpbGRTdGFjazogKFJlYWN0LlJlYWN0RWxlbWVudCAmIHsgY3JlYXRlZEF0OiBudW1iZXIgfSlbXTtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbiAgfT4oKCkgPT4gKHtcbiAgICBjaGlsZFN0YWNrOiBbeyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBEYXRlLm5vdygpIH1dLFxuICAgIG9mZnNldDogMSxcbiAgfSkpO1xuICBjb25zdCBvcmllbnRhdGlvbiA9IHVzZVJlZjxcImZvcndhcmRcIiB8IFwiYmFja3dhcmRcIj4oXCJmb3J3YXJkXCIpO1xuICBmdW5jdGlvbiBzZXRPcmllbnRhdGlvbihhOiB0eXBlb2Ygb3JpZW50YXRpb24uY3VycmVudCkge1xuICAgIG9yaWVudGF0aW9uLmN1cnJlbnQgPSBhO1xuICB9XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICByZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIHNldE9yaWVudGF0aW9uLFxuICAgICAgc2VjdGlvblJlZixcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiAmJiAhY2hpbGRyZW4ua2V5KVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBwcm92aWRlZCBjaGlsZCBzaG91bGQgaGF2ZSBhIGtleSBwcm9wZXJ0eSwgcGxlYXNlIHByb3ZpZGUgaXRcIlxuICAgICAgKTtcbiAgICBpZiAoY2hpbGRTdGFjay5sZW5ndGggPT09IDEgJiYgY2hpbGRTdGFja1swXS5rZXkgPT09IGNoaWxkcmVuLmtleSkgcmV0dXJuO1xuICAgIGlmIChvcmllbnRhdGlvbi5jdXJyZW50ID09PSBcImZvcndhcmRcIilcbiAgICAgIHNldENoaWxkU3RhY2soKHApID0+ICh7XG4gICAgICAgIC4uLnAsXG4gICAgICAgIGNoaWxkU3RhY2s6IFsuLi5wLmNoaWxkU3RhY2ssIHsgLi4uY2hpbGRyZW4sIGNyZWF0ZWRBdDogRGF0ZS5ub3coKSB9XSxcbiAgICAgIH0pKTtcbiAgICBlbHNlXG4gICAgICBzZXRDaGlsZFN0YWNrKChwKSA9PiAoe1xuICAgICAgICAuLi5wLFxuICAgICAgICBjaGlsZFN0YWNrOiBbeyAuLi5jaGlsZHJlbiwgY3JlYXRlZEF0OiBEYXRlLm5vdygpIH0sIC4uLnAuY2hpbGRTdGFja10sXG4gICAgICB9KSk7XG4gIH0sIFtjaGlsZHJlbi5rZXldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcmllbnRhdGlvbi5jdXJyZW50ID09PSBcImJhY2t3YXJkXCIpIHtcbiAgICAgIHNldENoaWxkU3RhY2soKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgIG9mZnNldDogcHJldi5jaGlsZFN0YWNrLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2NoaWxkU3RhY2subGVuZ3RoXSk7XG5cbiAgY2hpbGRTdGFjay5mb3JFYWNoKChhLCBpLCBhcnIpID0+IHtcbiAgICBpZiAoYS5rZXkgPT09IGNoaWxkcmVuLmtleSlcbiAgICAgIGFycltpXSA9IHsgLi4uY2hpbGRyZW4sIGNyZWF0ZWRBdDogYS5jcmVhdGVkQXQgfTtcbiAgfSk7XG5cbiAgY29uc3QgcHJlZGljdGVkU3RlcCA9IGNoaWxkU3RhY2subGVuZ3RoIC0gb2Zmc2V0O1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtjaGlsZFN0YWNrLmxlbmd0aCA/IChcbiAgICAgICAgPFRyYW5zaXRpb25cbiAgICAgICAgICByZWY9e3NlY3Rpb25SZWZ9XG4gICAgICAgICAgY29udGVudFN0eWxlPXtjb250ZW50U3R5bGV9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgc3RlcD17cHJlZGljdGVkU3RlcH1cbiAgICAgICAgICBvbkRpc2NhcmRTdGVwPXsoZGlzY2FyZGVkS2V5LCBhbmltYXRlZEF0KSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKG9uRGlzY2FyZFN0ZXApIG9uRGlzY2FyZFN0ZXAoZGlzY2FyZGVkS2V5KTtcbiAgICAgICAgICAgICAgb3JpZW50YXRpb24uY3VycmVudCA9IFwiZm9yd2FyZFwiO1xuICAgICAgICAgICAgICBzZXRDaGlsZFN0YWNrKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIGNoaWxkU3RhY2s6IHByZXYuY2hpbGRTdGFjay5maWx0ZXIoKGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEua2V5ICE9PSBkaXNjYXJkZWRLZXkgfHwgYS5jcmVhdGVkQXQgPiBhbmltYXRlZEF0O1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IHByZXYub2Zmc2V0ID09PSAxID8gMSA6IHByZXYub2Zmc2V0IC0gMSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIDApXG4gICAgICAgICAgfX1cbiAgICAgICAgICBsb2NrVHJhbnNpdGlvbldpZHRoPXtsb2NrVHJhbnNpdGlvbldpZHRofVxuICAgICAgICAgIGxvY2tUcmFuc2l0aW9uSGVpZ2h0PXtsb2NrVHJhbnNpdGlvbkhlaWdodH1cbiAgICAgICAgICBjb250ZW50Q2xhc3NOYW1lPXtjb250ZW50Q2xhc3NOYW1lfVxuICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZFN0YWNrfVxuICAgICAgICA8L1RyYW5zaXRpb24+XG4gICAgICApIDogbnVsbH1cbiAgICA8Lz5cbiAgKTtcbn1cblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGhhbmRsZXMgdHJhbnNpdGlvbnMgd2hlbiBjaGlsZCBlbGVtZW50cyBjaGFuZ2UsIG1ha2luZyB0aGUgc3dhcCBhcHBlYXIgc21vb3RoLlxuICovXG5leHBvcnQgY29uc3QgVW5jb250cm9sbGVkVHJhbnNpdGlvbiA9IGZvcndhcmRSZWYoX1VuY29udHJvbGxlZFRyYW5zaXRpb24pO1xuZXhwb3J0IGRlZmF1bHQgVW5jb250cm9sbGVkVHJhbnNpdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBWUEsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQXVDLE1BQUFHLFNBQUE7QUFBQSxTQUFBRCx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFULHdCQUFBSyxHQUFBLEVBQUFJLFdBQUEsU0FBQUEsV0FBQSxJQUFBSixHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBUSxL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
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Example;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _UncontrolledTransition = _interopRequireDefault(require("../UncontrolledTransition"));
9
+ var _Button = _interopRequireDefault(require("../Button"));
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 colorGen() {
14
+ return [255 * Math.random(), 255 * Math.random(), 255 * Math.random()];
15
+ }
16
+ function Example() {
17
+ const [color, setColor] = (0, _react.useState)(colorGen);
18
+ const rgb = "rgb(".concat(color.join(","), ")");
19
+ return /*#__PURE__*/_react.default.createElement(_UncontrolledTransition.default, null, /*#__PURE__*/_react.default.createElement("div", {
20
+ key: color.join(""),
21
+ style: {
22
+ width: "100vw",
23
+ height: "100vh",
24
+ backgroundColor: rgb,
25
+ textAlign: "center"
26
+ }
27
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
28
+ variant: "filled",
29
+ onClick: () => setColor(colorGen())
30
+ }, "Click to transition"), /*#__PURE__*/_react.default.createElement("h2", null, "RGB"), /*#__PURE__*/_react.default.createElement("p", null, color[0].toFixed(0)), /*#__PURE__*/_react.default.createElement("p", null, color[1].toFixed(0)), /*#__PURE__*/_react.default.createElement("p", null, color[2].toFixed(0))));
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVW5jb250cm9sbGVkVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImNvbG9yR2VuIiwiTWF0aCIsInJhbmRvbSIsIkV4YW1wbGUiLCJjb2xvciIsInNldENvbG9yIiwidXNlU3RhdGUiLCJyZ2IiLCJjb25jYXQiLCJqb2luIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJ0ZXh0QWxpZ24iLCJ2YXJpYW50Iiwib25DbGljayIsInRvRml4ZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uL1VuY29udHJvbGxlZFRyYW5zaXRpb24uc2FtcGxlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFVuY29udHJvbGxlZFRyYW5zaXRpb24gZnJvbSBcIi4uL1VuY29udHJvbGxlZFRyYW5zaXRpb25cIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL0J1dHRvblwiO1xuXG5mdW5jdGlvbiBjb2xvckdlbigpIHtcbiAgcmV0dXJuIFsyNTUgKiBNYXRoLnJhbmRvbSgpLCAyNTUgKiBNYXRoLnJhbmRvbSgpLCAyNTUgKiBNYXRoLnJhbmRvbSgpXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXhhbXBsZSgpIHtcbiAgY29uc3QgW2NvbG9yLCBzZXRDb2xvcl0gPSB1c2VTdGF0ZShjb2xvckdlbik7XG4gIGNvbnN0IHJnYiA9IGByZ2IoJHtjb2xvci5qb2luKFwiLFwiKX0pYDtcbiAgcmV0dXJuIChcbiAgICA8VW5jb250cm9sbGVkVHJhbnNpdGlvbj5cbiAgICAgIDxkaXZcbiAgICAgICAga2V5PXtjb2xvci5qb2luKFwiXCIpfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHdpZHRoOiBcIjEwMHZ3XCIsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiByZ2IsXG4gICAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJmaWxsZWRcIiBvbkNsaWNrPXsoKSA9PiBzZXRDb2xvcihjb2xvckdlbigpKX0+XG4gICAgICAgICAgQ2xpY2sgdG8gdHJhbnNpdGlvblxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPGgyPlJHQjwvaDI+XG4gICAgICAgIDxwPntjb2xvclswXS50b0ZpeGVkKDApfTwvcD5cbiAgICAgICAgPHA+e2NvbG9yWzFdLnRvRml4ZWQoMCl9PC9wPlxuICAgICAgICA8cD57Y29sb3JbMl0udG9GaXhlZCgwKX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L1VuY29udHJvbGxlZFRyYW5zaXRpb24+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLHVCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdB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
@@ -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 _UncontrolledTransition.default;
11
+ }
12
+ });
13
+ var _UncontrolledTransition = _interopRequireWildcard(require("./UncontrolledTransition"));
14
+ Object.keys(_UncontrolledTransition).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] === _UncontrolledTransition[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _UncontrolledTransition[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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVW5jb250cm9sbGVkVHJhbnNpdGlvbiIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVW5jb250cm9sbGVkVHJhbnNpdGlvbi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuL1VuY29udHJvbGxlZFRyYW5zaXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VuY29udHJvbGxlZFRyYW5zaXRpb25cIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLHVCQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLHVCQUFBLEVBQUFLLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQU4sdUJBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsdUJBQUEsQ0FBQU0sR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUF5QyxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQVQsR0FBQSxDQUFBTSxHQUFBLFNBQUFLLE1BQUEsV0FBQUMscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQVMsY0FBQSxJQUFBVCxNQUFBLENBQUF3Qix3QkFBQSxXQUFBckIsR0FBQSxJQUFBYyxHQUFBLFFBQUFkLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQVcsR0FBQSxFQUFBZCxHQUFBLFNBQUFzQixJQUFBLEdBQUFGLHFCQUFBLEdBQUF2QixNQUFBLENBQUF3Qix3QkFBQSxDQUFBUCxHQUFBLEVBQUFkLEdBQUEsY0FBQXNCLElBQUEsS0FBQUEsSUFBQSxDQUFBZCxHQUFBLElBQUFjLElBQUEsQ0FBQUMsR0FBQSxLQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFhLE1BQUEsRUFBQW5CLEdBQUEsRUFBQXNCLElBQUEsWUFBQUgsTUFBQSxDQUFBbkIsR0FBQSxJQUFBYyxHQUFBLENBQUFkLEdBQUEsU0FBQW1CLE1BQUEsQ0FBQUgsT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBTSxHQUFBLENBQUFULEdBQUEsRUFBQUssTUFBQSxZQUFBQSxNQUFBIn0=
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.BaseWalletConnectionWrapper = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _useWallet = require("use-wallet");
9
+ var _useAsyncControl = _interopRequireDefault(require("../../hooks/useAsyncControl"));
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ function _WalletConnectionWrapper(props, ref) {
15
+ return /*#__PURE__*/_react.default.createElement(_useWallet.UseWalletProvider, null, /*#__PURE__*/_react.default.createElement(Content, _extends({
16
+ compRef: ref || /*#__PURE__*/(0, _react.createRef)()
17
+ }, props)));
18
+ }
19
+ /**
20
+ * This component handles a lot of cenarios when dealing with the wallet connection to different providers (ex: Metamask)
21
+ **/
22
+ function _BaseWalletConnectionWrapper(props, ref) {
23
+ return /*#__PURE__*/_react.default.createElement(Content, _extends({
24
+ compRef: ref || /*#__PURE__*/(0, _react.createRef)()
25
+ }, props));
26
+ }
27
+ function Content(_ref) {
28
+ let {
29
+ ProviderUnavailable,
30
+ ChainIdInvalid,
31
+ chain,
32
+ Content: ProvidedContentWrapper,
33
+ compRef,
34
+ children
35
+ } = _ref;
36
+ const wallet = (0, _useWallet.useWallet)();
37
+ const connectionAsyncWrapper = (0, _useAsyncControl.default)();
38
+ const connect = async () => {
39
+ await connectionAsyncWrapper.process(async () => {
40
+ await wallet.connect("injected");
41
+ localStorage.setItem("auto_connect", "true");
42
+ });
43
+ };
44
+ const disconnect = () => {
45
+ wallet.reset();
46
+ localStorage.removeItem("auto_connect");
47
+ };
48
+ (0, _react.useEffect)(() => {
49
+ const autoConnect = !!localStorage.getItem("auto_connect");
50
+ if (autoConnect && !wallet.account) connect();
51
+ }, []);
52
+ (0, _react.useImperativeHandle)(compRef, () => ({
53
+ connect,
54
+ disconnect
55
+ }), [wallet]);
56
+ const [isProviderAvailable] = (0, _react.useState)(() => !!window.ethereum);
57
+ /**
58
+ * true - Mostrar o conteudo (ex: form de transferencia)
59
+ * false - Mostrar o botão de trocar a chain
60
+ *
61
+ * undefined ???
62
+ */
63
+ const isChainIdValid = (0, _react.useMemo)(() => chain ? wallet.isConnected() ? wallet.chainId === chain.id : true : undefined, [wallet, chain === null || chain === void 0 ? void 0 : chain.id]);
64
+ async function changeChainId() {
65
+ try {
66
+ await window.ethereum.request({
67
+ method: "wallet_switchEthereumChain",
68
+ params: [{
69
+ chainId: "0x".concat(chain.id.toString(16).padStart(2, "0"))
70
+ }]
71
+ });
72
+ } catch (e) {
73
+ switch (e.code) {
74
+ case 4902:
75
+ await window.ethereum.request({
76
+ method: "wallet_addEthereumChain",
77
+ params: [{
78
+ chainId: "0x".concat(chain.id.toString(16).padStart(2, "0")),
79
+ chainName: chain.name,
80
+ rpcUrls: [chain.rpcUrl],
81
+ blockExplorerUrls: [chain.explorerUrl],
82
+ nativeCurrency: {
83
+ symbol: chain.currency,
84
+ decimals: 18
85
+ }
86
+ }]
87
+ });
88
+ default:
89
+ throw e;
90
+ }
91
+ }
92
+ }
93
+ const ContentWrapper = ProvidedContentWrapper;
94
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ProviderUnavailable && !isProviderAvailable && /*#__PURE__*/_react.default.createElement(ProviderUnavailable, null), ChainIdInvalid && !isChainIdValid && /*#__PURE__*/_react.default.createElement(ChainIdInvalid, {
95
+ changeChainId: changeChainId
96
+ }), /*#__PURE__*/_react.default.createElement(ContentWrapper, _extends({}, connectionAsyncWrapper, {
97
+ isChainIdValid: isChainIdValid,
98
+ isProviderAvailable: isProviderAvailable,
99
+ isConnectedAndValidChain: isChainIdValid && wallet.isConnected(),
100
+ connect: connect,
101
+ disconnect: disconnect,
102
+ changeChainId: changeChainId,
103
+ chainId: wallet.chainId,
104
+ isConnected: wallet.isConnected(),
105
+ wallet: wallet.account
106
+ }), children));
107
+ }
108
+
109
+ /**
110
+ * This component handles some cenarios when dealing with the wallet connection to different providers (ex: Metamask)
111
+ **/
112
+ const WalletConnectionWrapper = /*#__PURE__*/(0, _react.forwardRef)(_WalletConnectionWrapper);
113
+ var _default = exports.default = WalletConnectionWrapper;
114
+ const BaseWalletConnectionWrapper = exports.BaseWalletConnectionWrapper = /*#__PURE__*/(0, _react.forwardRef)(_BaseWalletConnectionWrapper);
115
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlV2FsbGV0IiwiX3VzZUFzeW5jQ29udHJvbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImFwcGx5IiwiX1dhbGxldENvbm5lY3Rpb25XcmFwcGVyIiwicHJvcHMiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiVXNlV2FsbGV0UHJvdmlkZXIiLCJDb250ZW50IiwiY29tcFJlZiIsImNyZWF0ZVJlZiIsIl9CYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJfcmVmIiwiUHJvdmlkZXJVbmF2YWlsYWJsZSIsIkNoYWluSWRJbnZhbGlkIiwiY2hhaW4iLCJQcm92aWRlZENvbnRlbnRXcmFwcGVyIiwiY2hpbGRyZW4iLCJ3YWxsZXQiLCJ1c2VXYWxsZXQiLCJjb25uZWN0aW9uQXN5bmNXcmFwcGVyIiwidXNlQXN5bmNDb250cm9sIiwiY29ubmVjdCIsInByb2Nlc3MiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwiZGlzY29ubmVjdCIsInJlc2V0IiwicmVtb3ZlSXRlbSIsInVzZUVmZmVjdCIsImF1dG9Db25uZWN0IiwiZ2V0SXRlbSIsImFjY291bnQiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiaXNQcm92aWRlckF2YWlsYWJsZSIsInVzZVN0YXRlIiwid2luZG93IiwiZXRoZXJldW0iLCJpc0NoYWluSWRWYWxpZCIsInVzZU1lbW8iLCJpc0Nvbm5lY3RlZCIsImNoYWluSWQiLCJpZCIsInVuZGVmaW5lZCIsImNoYW5nZUNoYWluSWQiLCJyZXF1ZXN0IiwibWV0aG9kIiwicGFyYW1zIiwiY29uY2F0IiwidG9TdHJpbmciLCJwYWRTdGFydCIsImUiLCJjb2RlIiwiY2hhaW5OYW1lIiwibmFtZSIsInJwY1VybHMiLCJycGNVcmwiLCJibG9ja0V4cGxvcmVyVXJscyIsImV4cGxvcmVyVXJsIiwibmF0aXZlQ3VycmVuY3kiLCJzeW1ib2wiLCJjdXJyZW5jeSIsImRlY2ltYWxzIiwiQ29udGVudFdyYXBwZXIiLCJGcmFnbWVudCIsImlzQ29ubmVjdGVkQW5kVmFsaWRDaGFpbiIsIldhbGxldENvbm5lY3Rpb25XcmFwcGVyIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsIkJhc2VXYWxsZXRDb25uZWN0aW9uV3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1dhbGxldENvbm5lY3Rpb25XcmFwcGVyL1dhbGxldENvbm5lY3Rpb25XcmFwcGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlUmVmLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICBSZWFjdEVsZW1lbnQsXG4gIFJlYWN0Tm9kZSxcbiAgdXNlRWZmZWN0LFxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VXYWxsZXQsIFVzZVdhbGxldFByb3ZpZGVyIH0gZnJvbSBcInVzZS13YWxsZXRcIjtcbmltcG9ydCB1c2VBc3luY0NvbnRyb2wgZnJvbSBcIi4uLy4uL2hvb2tzL3VzZUFzeW5jQ29udHJvbFwiO1xuXG5leHBvcnQgdHlwZSBXYWxsZXRDb25uZWN0aW9uUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjxcbiAgT21pdDxSZXR1cm5UeXBlPHR5cGVvZiB1c2VBc3luY0NvbnRyb2w+LCBcInByb2Nlc3NcIj4gJiB7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcbiAgICBpc0NoYWluSWRWYWxpZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICBpc1Byb3ZpZGVyQXZhaWxhYmxlOiBib29sZWFuO1xuICAgIGlzQ29ubmVjdGVkQW5kVmFsaWRDaGFpbjogYm9vbGVhbjtcbiAgICBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcbiAgICB3YWxsZXQ/OiBzdHJpbmc7XG5cbiAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQ7XG4gICAgY2hhbmdlQ2hhaW5JZDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgfVxuPjtcblxudHlwZSBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFRoZSBjaGFpbiBpZCB0aGF0IHRoZSB1c2VyIGlzIGV4cGVjdGVkIHRvIGNvbm5lY3QgdG9cbiAgICovXG4gIGNoYWluPzoge1xuICAgIGlkOiBudW1iZXI7XG4gICAgcnBjVXJsOiBzdHJpbmc7XG4gICAgZXhwbG9yZXJVcmw6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY3VycmVuY3k6IHN0cmluZztcbiAgfTtcblxuICAvKipcbiAgICogV2hlbiB0aGUgdXNlciBkb2Vzbid0IGhhdmUgYSBwcm92aWRlciBsaWtlIG1ldGFtYXNrIGF2YWlsYWJsZVxuICAgKi9cbiAgUHJvdmlkZXJVbmF2YWlsYWJsZT86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGludm9rZWQgd2hlbiB0aGUgY2hhaW4gSUQgaXMgbm90IGF2YWlsYWJsZVxuICAgKi9cbiAgQ2hhaW5JZEludmFsaWQ/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDx7XG4gICAgY2hhbmdlQ2hhaW5JZDogKCkgPT4gdm9pZDtcbiAgfT47XG5cbiAgLyoqXG4gICAqIFRoaXMgcmVuZGVycyB0aGUgY29udGVudCB0aGF0IGlzIHNob3duIGluc2lkZSB0aGUgd2FsbGV0IGNvbnRlbnRcbiAgICovXG4gIENvbnRlbnQ6IChwcm9wczogV2FsbGV0Q29ubmVjdGlvblByb3BzKSA9PiBSZWFjdEVsZW1lbnQ7XG59O1xuZnVuY3Rpb24gX1dhbGxldENvbm5lY3Rpb25XcmFwcGVyKFxuICBwcm9wczogUHJvcHNXaXRoQ2hpbGRyZW48UHJvcHM+LFxuICByZWY6IEZvcndhcmRlZFJlZjx7XG4gICAgY29ubmVjdDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBkaXNjb25uZWN0OiAoKSA9PiB2b2lkO1xuICB9PlxuKSB7XG4gIHJldHVybiAoXG4gICAgPFVzZVdhbGxldFByb3ZpZGVyPlxuICAgICAgPENvbnRlbnQgY29tcFJlZj17cmVmIHx8IGNyZWF0ZVJlZigpfSB7Li4ucHJvcHN9IC8+XG4gICAgPC9Vc2VXYWxsZXRQcm92aWRlcj5cbiAgKTtcbn1cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaGFuZGxlcyBhIGxvdCBvZiBjZW5hcmlvcyB3aGVuIGRlYWxpbmcgd2l0aCB0aGUgd2FsbGV0IGNvbm5lY3Rpb24gdG8gZGlmZmVyZW50IHByb3ZpZGVycyAoZXg6IE1ldGFtYXNrKVxuICoqL1xuZnVuY3Rpb24gX0Jhc2VXYWxsZXRDb25uZWN0aW9uV3JhcHBlcihcbiAgcHJvcHM6IFByb3BzICYge1xuICAgIGNoaWxkcmVuPzogYW55O1xuICB9LFxuICByZWY6IEZvcndhcmRlZFJlZjx7XG4gICAgY29ubmVjdDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgICBkaXNjb25uZWN0OiAoKSA9PiB2b2lkO1xuICB9PlxuKSB7XG4gIHJldHVybiA8Q29udGVudCBjb21wUmVmPXtyZWYgfHwgY3JlYXRlUmVmKCl9IHsuLi5wcm9wc30gLz47XG59XG5cbmZ1bmN0aW9uIENvbnRlbnQoe1xuICBQcm92aWRlclVuYXZhaWxhYmxlLFxuICBDaGFpbklkSW52YWxpZCxcbiAgY2hhaW4sXG4gIENvbnRlbnQ6IFByb3ZpZGVkQ29udGVudFdyYXBwZXIsXG4gIGNvbXBSZWYsXG4gIGNoaWxkcmVuLFxufTogUHJvcHNXaXRoQ2hpbGRyZW48XG4gIFByb3BzICYge1xuICAgIGNvbXBSZWY6IEZvcndhcmRlZFJlZjx7XG4gICAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgICAgZGlzY29ubmVjdDogKCkgPT4gdm9pZDtcbiAgICB9PjtcbiAgfVxuPikge1xuICBjb25zdCB3YWxsZXQgPSB1c2VXYWxsZXQoKTtcbiAgY29uc3QgY29ubmVjdGlvbkFzeW5jV3JhcHBlciA9IHVzZUFzeW5jQ29udHJvbCgpO1xuICBjb25zdCBjb25uZWN0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGNvbm5lY3Rpb25Bc3luY1dyYXBwZXIucHJvY2Vzcyhhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB3YWxsZXQuY29ubmVjdChcImluamVjdGVkXCIpO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJhdXRvX2Nvbm5lY3RcIiwgXCJ0cnVlXCIpO1xuICAgIH0pO1xuICB9O1xuICBjb25zdCBkaXNjb25uZWN0ID0gKCkgPT4ge1xuICAgIHdhbGxldC5yZXNldCgpO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFwiYXV0b19jb25uZWN0XCIpO1xuICB9O1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGF1dG9Db25uZWN0ID0gISFsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImF1dG9fY29ubmVjdFwiKTtcbiAgICBpZiAoYXV0b0Nvbm5lY3QgJiYgIXdhbGxldC5hY2NvdW50KSBjb25uZWN0KCk7XG4gIH0sIFtdKTtcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICBjb21wUmVmLFxuICAgICgpID0+ICh7XG4gICAgICBjb25uZWN0LFxuICAgICAgZGlzY29ubmVjdCxcbiAgICB9KSxcbiAgICBbd2FsbGV0XVxuICApO1xuICBjb25zdCBbaXNQcm92aWRlckF2YWlsYWJsZV0gPSB1c2VTdGF0ZSgoKSA9PiAhIXdpbmRvdy5ldGhlcmV1bSk7XG4gIC8qKlxuICAgKiB0cnVlIC0gTW9zdHJhciBvIGNvbnRldWRvIChleDogZm9ybSBkZSB0cmFuc2ZlcmVuY2lhKVxuICAgKiBmYWxzZSAtIE1vc3RyYXIgbyBib3TDo28gZGUgdHJvY2FyIGEgY2hhaW5cbiAgICpcbiAgICogdW5kZWZpbmVkID8/P1xuICAgKi9cbiAgY29uc3QgaXNDaGFpbklkVmFsaWQgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBjaGFpblxuICAgICAgICA/IHdhbGxldC5pc0Nvbm5lY3RlZCgpXG4gICAgICAgICAgPyB3YWxsZXQuY2hhaW5JZCA9PT0gY2hhaW4uaWRcbiAgICAgICAgICA6IHRydWVcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgW3dhbGxldCwgY2hhaW4/LmlkXVxuICApO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGNoYW5nZUNoYWluSWQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHdpbmRvdy5ldGhlcmV1bSEucmVxdWVzdCh7XG4gICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfc3dpdGNoRXRoZXJldW1DaGFpblwiLFxuICAgICAgICBwYXJhbXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjaGFpbklkOiBgMHgke2NoYWluIS5pZC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpfWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgc3dpdGNoIChlLmNvZGUpIHtcbiAgICAgICAgY2FzZSA0OTAyOlxuICAgICAgICAgIGF3YWl0IHdpbmRvdy5ldGhlcmV1bSEucmVxdWVzdCh7XG4gICAgICAgICAgICBtZXRob2Q6IFwid2FsbGV0X2FkZEV0aGVyZXVtQ2hhaW5cIixcbiAgICAgICAgICAgIHBhcmFtczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2hhaW5JZDogYDB4JHtjaGFpbiEuaWQudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIFwiMFwiKX1gLFxuICAgICAgICAgICAgICAgIGNoYWluTmFtZTogY2hhaW4hLm5hbWUsXG4gICAgICAgICAgICAgICAgcnBjVXJsczogW2NoYWluIS5ycGNVcmxdLFxuICAgICAgICAgICAgICAgIGJsb2NrRXhwbG9yZXJVcmxzOiBbY2hhaW4hLmV4cGxvcmVyVXJsXSxcbiAgICAgICAgICAgICAgICBuYXRpdmVDdXJyZW5jeToge1xuICAgICAgICAgICAgICAgICAgc3ltYm9sOiBjaGFpbiEuY3VycmVuY3ksXG4gICAgICAgICAgICAgICAgICBkZWNpbWFsczogMTgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3QgQ29udGVudFdyYXBwZXIgPSBQcm92aWRlZENvbnRlbnRXcmFwcGVyIGFzIGFueTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1Byb3ZpZGVyVW5hdmFpbGFibGUgJiYgIWlzUHJvdmlkZXJBdmFpbGFibGUgJiYgPFByb3ZpZGVyVW5hdmFpbGFibGUgLz59XG4gICAgICB7Q2hhaW5JZEludmFsaWQgJiYgIWlzQ2hhaW5JZFZhbGlkICYmIChcbiAgICAgICAgPENoYWluSWRJbnZhbGlkIGNoYW5nZUNoYWluSWQ9e2NoYW5nZUNoYWluSWR9IC8+XG4gICAgICApfVxuICAgICAge1xuICAgICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgICB7Li4uY29ubmVjdGlvbkFzeW5jV3JhcHBlcn1cbiAgICAgICAgICBpc0NoYWluSWRWYWxpZD17aXNDaGFpbklkVmFsaWR9XG4gICAgICAgICAgaXNQcm92aWRlckF2YWlsYWJsZT17aXNQcm92aWRlckF2YWlsYWJsZX1cbiAgICAgICAgICBpc0Nvbm5lY3RlZEFuZFZhbGlkQ2hhaW49e2lzQ2hhaW5JZFZhbGlkICYmIHdhbGxldC5pc0Nvbm5lY3RlZCgpfVxuICAgICAgICAgIGNvbm5lY3Q9e2Nvbm5lY3R9XG4gICAgICAgICAgZGlzY29ubmVjdD17ZGlzY29ubmVjdH1cbiAgICAgICAgICBjaGFuZ2VDaGFpbklkPXtjaGFuZ2VDaGFpbklkfVxuICAgICAgICAgIGNoYWluSWQ9e3dhbGxldC5jaGFpbklkfVxuICAgICAgICAgIGlzQ29ubmVjdGVkPXt3YWxsZXQuaXNDb25uZWN0ZWQoKX1cbiAgICAgICAgICB3YWxsZXQ9e3dhbGxldC5hY2NvdW50fVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbnRlbnRXcmFwcGVyPlxuICAgICAgfVxuICAgIDwvPlxuICApO1xufVxuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGhhbmRsZXMgc29tZSBjZW5hcmlvcyB3aGVuIGRlYWxpbmcgd2l0aCB0aGUgd2FsbGV0IGNvbm5lY3Rpb24gdG8gZGlmZmVyZW50IHByb3ZpZGVycyAoZXg6IE1ldGFtYXNrKVxuICoqL1xuY29uc3QgV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIgPSBmb3J3YXJkUmVmKF9XYWxsZXRDb25uZWN0aW9uV3JhcHBlcik7XG5leHBvcnQgZGVmYXVsdCBXYWxsZXRDb25uZWN0aW9uV3JhcHBlcjtcblxuZXhwb3J0IGNvbnN0IEJhc2VXYWxsZXRDb25uZWN0aW9uV3JhcHBlciA9IGZvcndhcmRSZWYoXG4gIF9CYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXJcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQVlBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFB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