@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,98 @@
1
+ $baseSpeed: 300ms;
2
+ $fast: var(--orderable-list--speed);
3
+
4
+ .unselectable * {
5
+ -webkit-touch-callout: none;
6
+ -webkit-user-select: none;
7
+ -khtml-user-select: none;
8
+ -moz-user-select: none;
9
+ -ms-user-select: none;
10
+ user-select: none;
11
+ }
12
+
13
+ .clone {
14
+ --orderable-list--speed: #{$baseSpeed};
15
+ transition: max-height $fast linear;
16
+ pointer-events: none;
17
+ position: fixed;
18
+ overflow: hidden;
19
+ }
20
+
21
+ .ordering {
22
+ > * {
23
+ opacity: 0;
24
+ }
25
+ .visible {
26
+ opacity: 1;
27
+ * {
28
+ pointer-events: none;
29
+ }
30
+ }
31
+ }
32
+
33
+ .shrinkable.ordering section.visible,
34
+ .shrinkable.ordering section.currentOrdering {
35
+ max-height: var(--shrink-to) !important;
36
+ }
37
+ .shrinkable.ordering > section:not(.visible):not(.currentOrdering) > * {
38
+ max-height: var(--shrink-to) !important;
39
+ }
40
+ .transitionHeight {
41
+ transition: max-height $fast linear;
42
+ }
43
+
44
+ .root {
45
+ position: relative;
46
+ --orderable-list--speed: #{$baseSpeed};
47
+ transition: padding-top $fast linear;
48
+ > * {
49
+ transition: max-height $fast linear;
50
+ overflow: hidden;
51
+ > * > * {
52
+ flex-shrink: 0;
53
+ }
54
+ }
55
+
56
+ &::before {
57
+ position: absolute;
58
+ height: 100%;
59
+ width: 100%;
60
+ content: " ";
61
+ }
62
+ }
63
+
64
+ .transition {
65
+ width: 100%;
66
+ align-items: flex-start !important;
67
+ overflow: visible !important;
68
+ > * {
69
+ flex-direction: row !important;
70
+ flex-wrap: wrap;
71
+ // &:first-child {
72
+ // visibility: hidden;
73
+ // }
74
+ &:last-child {
75
+ visibility: visible;
76
+ }
77
+ }
78
+ }
79
+
80
+ div.stub {
81
+ animation-name: stub;
82
+ position: absolute;
83
+ pointer-events: none;
84
+ opacity: 0 !important;
85
+ }
86
+
87
+ div.stubEntering {
88
+ animation-name: stub;
89
+ z-index: -1;
90
+ }
91
+ @keyframes stub {
92
+ 0% {
93
+ opacity: 1;
94
+ }
95
+ 100% {
96
+ opacity: 1;
97
+ }
98
+ }
@@ -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 _OrderableList.default;
11
+ }
12
+ });
13
+ var _OrderableList = _interopRequireWildcard(require("./OrderableList"));
14
+ Object.keys(_OrderableList).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] === _OrderableList[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _OrderableList[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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfT3JkZXJhYmxlTGlzdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvT3JkZXJhYmxlTGlzdC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuL09yZGVyYWJsZUxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL09yZGVyYWJsZUxpc3RcIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosY0FBQSxFQUFBSyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFOLGNBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsY0FBQSxDQUFBTSxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQWdDLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFmLHdCQUFBbUIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBVCxHQUFBLENBQUFNLEdBQUEsU0FBQUssTUFBQSxXQUFBQyxxQkFBQSxHQUFBdkIsTUFBQSxDQUFBUyxjQUFBLElBQUFULE1BQUEsQ0FBQXdCLHdCQUFBLFdBQUFyQixHQUFBLElBQUFjLEdBQUEsUUFBQWQsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBVyxHQUFBLEVBQUFkLEdBQUEsU0FBQXNCLElBQUEsR0FBQUYscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQXdCLHdCQUFBLENBQUFQLEdBQUEsRUFBQWQsR0FBQSxjQUFBc0IsSUFBQSxLQUFBQSxJQUFBLENBQUFkLEdBQUEsSUFBQWMsSUFBQSxDQUFBQyxHQUFBLEtBQUExQixNQUFBLENBQUFTLGNBQUEsQ0FBQWEsTUFBQSxFQUFBbkIsR0FBQSxFQUFBc0IsSUFBQSxZQUFBSCxNQUFBLENBQUFuQixHQUFBLElBQUFjLEdBQUEsQ0FBQWQsR0FBQSxTQUFBbUIsTUFBQSxDQUFBSCxPQUFBLEdBQUFGLEdBQUEsTUFBQUcsS0FBQSxJQUFBQSxLQUFBLENBQUFNLEdBQUEsQ0FBQVQsR0FBQSxFQUFBSyxNQUFBLFlBQUFBLE1BQUEifQ==
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AnimatedPaginationIndicator = AnimatedPaginationIndicator;
7
+ exports.PaginationIndicatorMode = void 0;
8
+ exports.PaginationIndicatorView = PaginationIndicatorView;
9
+ exports.default = void 0;
10
+ var _react = _interopRequireWildcard(require("react"));
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
+ const MAX_BALLS = 7;
15
+ const eachBallWidthEm = 1.2;
16
+ const CENTER_GUIDE_BALL = 1;
17
+ let PaginationIndicatorMode = exports.PaginationIndicatorMode = /*#__PURE__*/function (PaginationIndicatorMode) {
18
+ PaginationIndicatorMode[PaginationIndicatorMode["CENTERED"] = 0] = "CENTERED";
19
+ PaginationIndicatorMode[PaginationIndicatorMode["START"] = 1] = "START";
20
+ return PaginationIndicatorMode;
21
+ }({});
22
+ function PaginationIndicatorView(_ref) {
23
+ let {
24
+ size,
25
+ page: currentPage,
26
+ pages: decimalPages,
27
+ className,
28
+ onClickPage,
29
+ mode = PaginationIndicatorMode.CENTERED,
30
+ infinite
31
+ } = _ref;
32
+ const maxBalls = (0, _react.useMemo)(() => infinite ? 5 : MAX_BALLS, [infinite]);
33
+ const page = (0, _react.useMemo)(() => {
34
+ const floor = Math.floor(decimalPages);
35
+ const modulus = decimalPages % floor;
36
+ if (currentPage > floor) {
37
+ const currentFloorModulus = currentPage % floor;
38
+ const equivalent = currentFloorModulus * 100 / modulus;
39
+ return floor + equivalent / 100;
40
+ } else {
41
+ return currentPage;
42
+ }
43
+ }, [currentPage, decimalPages]);
44
+ const rand = (0, _react.useMemo)(() => Math.random().toString(), []);
45
+ const pageIndex = page - 1;
46
+ const pages = (0, _react.useMemo)(() => Math.ceil(decimalPages), [decimalPages]);
47
+ const numBalls = (0, _react.useMemo)(() => {
48
+ const numBalls = pages >= maxBalls ? maxBalls : Math.ceil(pages);
49
+ return numBalls;
50
+ }, [pages]);
51
+ const indexForTheBallsCenter = (0, _react.useMemo)(() => (infinite ? numBalls - 5 : numBalls - 1) / 2, [numBalls, infinite]);
52
+ const balls = (0, _react.useMemo)(() => {
53
+ const indexForLastPages = pages + 1 - indexForTheBallsCenter;
54
+ /**
55
+ * Is the page index (position of the center)
56
+ * after the first pages and
57
+ * before the last pages */
58
+ const isCenterPage = numBalls >= maxBalls && pageIndex > indexForTheBallsCenter && pageIndex < indexForLastPages - 1;
59
+ let modulus = pageIndex % (1 + (indexForTheBallsCenter - Math.floor(indexForTheBallsCenter)));
60
+ const resetPageIndex = isCenterPage ? indexForTheBallsCenter + modulus : pages < maxBalls ? pageIndex : pageIndex >= indexForLastPages - 1 ? numBalls - (pages - pageIndex) : pageIndex;
61
+ const left = eachBallWidthEm * resetPageIndex;
62
+ const {
63
+ pushBallsToRightBy,
64
+ pushBallsToLeftBy,
65
+ pushGuideToRightBy
66
+ } = mode === PaginationIndicatorMode.CENTERED ? {
67
+ pushBallsToRightBy: Math.min(pages, maxBalls) * eachBallWidthEm,
68
+ pushBallsToLeftBy: left,
69
+ pushGuideToRightBy: 0
70
+ } : {
71
+ pushBallsToRightBy: (eachBallWidthEm - 0.5) / 2,
72
+ pushBallsToLeftBy: 0,
73
+ pushGuideToRightBy: left
74
+ };
75
+ let pushToLeft = 0;
76
+ return new Array(CENTER_GUIDE_BALL + numBalls).fill(undefined).map((_, i) => {
77
+ const isLastBall = i === numBalls - 1;
78
+ const isFirstBall = i === 0;
79
+ if (i === numBalls) {
80
+ const diameter = 0.45 * 2;
81
+ const padding = (eachBallWidthEm - diameter) / 2;
82
+ return /*#__PURE__*/_react.default.createElement("rect", {
83
+ fill: "#fff",
84
+ width: "".concat(diameter, "em"),
85
+ height: "".concat(diameter, "em"),
86
+ x: "".concat(pushBallsToRightBy - padding + pushGuideToRightBy - pushToLeft, "em"),
87
+ y: "".concat(padding, "em"),
88
+ rx: "".concat(diameter / 2, "em")
89
+ });
90
+ }
91
+ const ballSize = numBalls < maxBalls ? 0.5 : page <= indexForTheBallsCenter + 1 && isLastBall ? 0 : pageIndex >= indexForLastPages - 1 && isFirstBall ? 0 : isCenterPage ? isFirstBall ? 0.5 - modulus * 0.5 : isLastBall ? modulus * 0.5 : 0.5 : 0.5;
92
+ if (i === 0 && mode === PaginationIndicatorMode.START) pushToLeft = (0.5 - ballSize) * 2.4;
93
+ return /*#__PURE__*/_react.default.createElement("rect", {
94
+ key: "guide-".concat(i),
95
+ width: "".concat(ballSize * 1.2, "em"),
96
+ height: "".concat(ballSize * 1.2, "em"),
97
+ x: "".concat(pushBallsToRightBy + i * eachBallWidthEm - pushBallsToLeftBy - pushToLeft, "em"),
98
+ y: "".concat((eachBallWidthEm - ballSize * 1.2) / 2, "em"),
99
+ rx: "".concat(ballSize * 1.2 / 2, "em"),
100
+ onClick: () => {
101
+ if (onClickPage) {
102
+ const pageClicked = (!isCenterPage ? pageIndex >= indexForLastPages - 1 ? Math.floor(page) - resetPageIndex - 1 : 0 : Math.floor(page) - (indexForTheBallsCenter + 1)) + 1 + i;
103
+ onClickPage(Math.round(pageClicked));
104
+ }
105
+ }
106
+ });
107
+ });
108
+ }, [indexForTheBallsCenter, pageIndex, pages]);
109
+ const [guideBall, ...pageBalls] = balls.reverse();
110
+ let width = eachBallWidthEm * Math.min(pages, maxBalls) * 2;
111
+ if (mode === PaginationIndicatorMode.START) width /= 2;
112
+ return /*#__PURE__*/_react.default.createElement("svg", {
113
+ version: "1.1",
114
+ xmlns: "http://www.w3.org/2000/svg",
115
+ className: className,
116
+ style: {
117
+ width: "".concat(width, "em"),
118
+ minWidth: "".concat(width, "em"),
119
+ height: "1.2em",
120
+ fontSize: "".concat(size, "px")
121
+ }
122
+ }, /*#__PURE__*/_react.default.createElement("filter", {
123
+ id: "goo-".concat(rand)
124
+ }, /*#__PURE__*/_react.default.createElement("feGaussianBlur", {
125
+ in: "SourceGraphic",
126
+ result: "blur",
127
+ stdDeviation: "5"
128
+ }), /*#__PURE__*/_react.default.createElement("feColorMatrix", {
129
+ in: "blur",
130
+ mode: "matrix",
131
+ values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7",
132
+ result: "goo"
133
+ }), /*#__PURE__*/_react.default.createElement("feBlend", {
134
+ in2: "goo",
135
+ in: "SourceGraphic",
136
+ result: "mix"
137
+ })), /*#__PURE__*/_react.default.createElement("mask", {
138
+ id: "mask-".concat(rand)
139
+ }, /*#__PURE__*/_react.default.createElement("g", {
140
+ filter: "url(#".concat("goo-".concat(rand), ")"),
141
+ fill: "#fff"
142
+ }, [pageBalls], guideBall)), /*#__PURE__*/_react.default.createElement("rect", {
143
+ x: "0",
144
+ y: "0",
145
+ mask: "url(#".concat("mask-".concat(rand), ")"),
146
+ width: "100%",
147
+ height: "100%",
148
+ style: {
149
+ fill: "var(--digital-blue)"
150
+ }
151
+ }), onClickPage && /*#__PURE__*/_react.default.createElement("g", {
152
+ opacity: 0,
153
+ style: {
154
+ cursor: "pointer"
155
+ }
156
+ }, pageBalls));
157
+ }
158
+ function AnimatedPaginationIndicator(props) {
159
+ const prevPage = (0, _react.useRef)(props.page);
160
+ const [pageProgress, setPageProgress] = (0, _react.useState)(props.page);
161
+ (0, _react.useEffect)(() => {
162
+ const diff = props.page - prevPage.current;
163
+ const diffPerStep = diff / 60;
164
+ const interval = setInterval(() => {
165
+ setPageProgress(prev => {
166
+ const next = prev + diffPerStep;
167
+ if (diff < 0) {
168
+ if (next <= props.page) {
169
+ clearInterval(interval);
170
+ return props.page;
171
+ }
172
+ } else {
173
+ if (next >= props.page) {
174
+ clearInterval(interval);
175
+ return props.page;
176
+ }
177
+ }
178
+ return Number(next.toFixed(2));
179
+ });
180
+ }, props.duration / 60);
181
+ return () => {
182
+ prevPage.current = props.page;
183
+ clearInterval(interval);
184
+ };
185
+ }, [props.page]);
186
+ return /*#__PURE__*/_react.default.createElement(PaginationIndicatorView, _extends({}, props, {
187
+ page: pageProgress
188
+ }));
189
+ }
190
+ function _PaginationIndicator(_ref2, ref) {
191
+ let {
192
+ scrollableRef,
193
+ estimatedWidth,
194
+ size,
195
+ className = "",
196
+ onClickPage,
197
+ mode,
198
+ infinite
199
+ } = _ref2;
200
+ const [currentPage, setCurrentPage] = (0, _react.useState)(1);
201
+ const [defs, setDefs] = (0, _react.useState)();
202
+ const refreshPages = (0, _react.useCallback)(() => {
203
+ if (!scrollableRef.current) return;
204
+ const maxWidth = estimatedWidth === undefined ? scrollableRef.current.scrollWidth : estimatedWidth;
205
+ const pages = maxWidth / scrollableRef.current.clientWidth;
206
+ if (pages > 1) setDefs({
207
+ pages: infinite ? pages + 2 : pages
208
+ });
209
+ }, [estimatedWidth, infinite]);
210
+ (0, _react.useEffect)(() => refreshPages(), [refreshPages]);
211
+ const updatePageIndicators = (0, _react.useCallback)((target, pages) => {
212
+ if (!scrollableRef.current) return;
213
+ const eachPageWidth = scrollableRef.current.clientWidth;
214
+ const page = 1 + target.scrollLeft / eachPageWidth;
215
+ const lastPageProgress = Math.floor(pages) + 1;
216
+ const maximumProgress = pages + 1;
217
+ const diffToMax = maximumProgress - lastPageProgress;
218
+ const currentProgressOnDiff = page - lastPageProgress;
219
+ if (page > lastPageProgress) {
220
+ const p = lastPageProgress + currentProgressOnDiff / diffToMax;
221
+ setCurrentPage(p);
222
+ } else setCurrentPage(page);
223
+ }, []);
224
+ (0, _react.useImperativeHandle)(ref, () => ({
225
+ refreshPages
226
+ }), []);
227
+ (0, _react.useEffect)(() => {
228
+ if (!defs) return;
229
+ const el = scrollableRef.current;
230
+ const onScroll = e => updatePageIndicators(e.currentTarget, defs.pages);
231
+ updatePageIndicators(el, defs.pages);
232
+ el.addEventListener("scroll", onScroll, {
233
+ passive: true
234
+ });
235
+ return () => {
236
+ el.removeEventListener("scroll", onScroll);
237
+ };
238
+ }, [defs]);
239
+ const pages = (0, _react.useMemo)(() => defs ? defs.pages : undefined, [defs]);
240
+ return !pages ? null : /*#__PURE__*/_react.default.createElement(PaginationIndicatorView, {
241
+ pages: pages,
242
+ page: currentPage,
243
+ size: size,
244
+ className: className,
245
+ onClickPage: onClickPage,
246
+ mode: mode,
247
+ infinite: infinite
248
+ });
249
+ }
250
+
251
+ /**
252
+ * A cool component to indicate how many pages are
253
+ **/
254
+ /**
255
+ * A pagination indicator component that displays the current page
256
+ * and total number of pages using animated circular indicators.
257
+ * It updates visually when scrolling through pages.
258
+ */
259
+ const PaginationIndicator = /*#__PURE__*/(0, _react.forwardRef)(_PaginationIndicator);
260
+ var _default = exports.default = PaginationIndicator;
261
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImFwcGx5IiwiTUFYX0JBTExTIiwiZWFjaEJhbGxXaWR0aEVtIiwiQ0VOVEVSX0dVSURFX0JBTEwiLCJQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZSIsImV4cG9ydHMiLCJQYWdpbmF0aW9uSW5kaWNhdG9yVmlldyIsIl9yZWYiLCJzaXplIiwicGFnZSIsImN1cnJlbnRQYWdlIiwicGFnZXMiLCJkZWNpbWFsUGFnZXMiLCJjbGFzc05hbWUiLCJvbkNsaWNrUGFnZSIsIm1vZGUiLCJDRU5URVJFRCIsImluZmluaXRlIiwibWF4QmFsbHMiLCJ1c2VNZW1vIiwiZmxvb3IiLCJNYXRoIiwibW9kdWx1cyIsImN1cnJlbnRGbG9vck1vZHVsdXMiLCJlcXVpdmFsZW50IiwicmFuZCIsInJhbmRvbSIsInRvU3RyaW5nIiwicGFnZUluZGV4IiwiY2VpbCIsIm51bUJhbGxzIiwiaW5kZXhGb3JUaGVCYWxsc0NlbnRlciIsImJhbGxzIiwiaW5kZXhGb3JMYXN0UGFnZXMiLCJpc0NlbnRlclBhZ2UiLCJyZXNldFBhZ2VJbmRleCIsImxlZnQiLCJwdXNoQmFsbHNUb1JpZ2h0QnkiLCJwdXNoQmFsbHNUb0xlZnRCeSIsInB1c2hHdWlkZVRvUmlnaHRCeSIsIm1pbiIsInB1c2hUb0xlZnQiLCJBcnJheSIsImZpbGwiLCJ1bmRlZmluZWQiLCJtYXAiLCJfIiwiaXNMYXN0QmFsbCIsImlzRmlyc3RCYWxsIiwiZGlhbWV0ZXIiLCJwYWRkaW5nIiwiY3JlYXRlRWxlbWVudCIsIndpZHRoIiwiY29uY2F0IiwiaGVpZ2h0IiwieCIsInkiLCJyeCIsImJhbGxTaXplIiwiU1RBUlQiLCJvbkNsaWNrIiwicGFnZUNsaWNrZWQiLCJyb3VuZCIsImd1aWRlQmFsbCIsInBhZ2VCYWxscyIsInJldmVyc2UiLCJ2ZXJzaW9uIiwieG1sbnMiLCJzdHlsZSIsIm1pbldpZHRoIiwiZm9udFNpemUiLCJpZCIsImluIiwicmVzdWx0Iiwic3RkRGV2aWF0aW9uIiwidmFsdWVzIiwiaW4yIiwiZmlsdGVyIiwibWFzayIsIm9wYWNpdHkiLCJjdXJzb3IiLCJBbmltYXRlZFBhZ2luYXRpb25JbmRpY2F0b3IiLCJwcm9wcyIsInByZXZQYWdlIiwidXNlUmVmIiwicGFnZVByb2dyZXNzIiwic2V0UGFnZVByb2dyZXNzIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJkaWZmIiwiY3VycmVudCIsImRpZmZQZXJTdGVwIiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsInByZXYiLCJuZXh0IiwiY2xlYXJJbnRlcnZhbCIsIk51bWJlciIsInRvRml4ZWQiLCJkdXJhdGlvbiIsIl9QYWdpbmF0aW9uSW5kaWNhdG9yIiwiX3JlZjIiLCJyZWYiLCJzY3JvbGxhYmxlUmVmIiwiZXN0aW1hdGVkV2lkdGgiLCJzZXRDdXJyZW50UGFnZSIsImRlZnMiLCJzZXREZWZzIiwicmVmcmVzaFBhZ2VzIiwidXNlQ2FsbGJhY2siLCJtYXhXaWR0aCIsInNjcm9sbFdpZHRoIiwiY2xpZW50V2lkdGgiLCJ1cGRhdGVQYWdlSW5kaWNhdG9ycyIsImVhY2hQYWdlV2lkdGgiLCJzY3JvbGxMZWZ0IiwibGFzdFBhZ2VQcm9ncmVzcyIsIm1heGltdW1Qcm9ncmVzcyIsImRpZmZUb01heCIsImN1cnJlbnRQcm9ncmVzc09uRGlmZiIsInAiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiZWwiLCJvblNjcm9sbCIsImUiLCJjdXJyZW50VGFyZ2V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiUGFnaW5hdGlvbkluZGljYXRvciIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1BhZ2luYXRpb25JbmRpY2F0b3IvUGFnaW5hdGlvbkluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIENvbXBvbmVudFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIFJlZk9iamVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IE1BWF9CQUxMUyA9IDc7XG5jb25zdCBlYWNoQmFsbFdpZHRoRW0gPSAxLjI7XG5cbmNvbnN0IENFTlRFUl9HVUlERV9CQUxMID0gMTtcblxuZXhwb3J0IGVudW0gUGFnaW5hdGlvbkluZGljYXRvck1vZGUge1xuICAvKiogVGhpcyB3aWxsIG1ha2UgdGhlIGd1aWRlIGJhbGwgYmUga2VwdCBvbiBjZW50ZXIgICovXG4gIENFTlRFUkVELFxuXG4gIC8qKiBUaGlzIHdpbGwgbWFrZSB0aGUgZ3VpZGUgYmFsbCBtb3ZlLCB3aGlsZSB0aGUgaW5kaWNhdG9yIGJhbGxzIGtlZXAgaW4gcGxhY2UgKi9cbiAgU1RBUlQsXG59XG5leHBvcnQgZnVuY3Rpb24gUGFnaW5hdGlvbkluZGljYXRvclZpZXcoe1xuICBzaXplLFxuICBwYWdlOiBjdXJyZW50UGFnZSxcbiAgcGFnZXM6IGRlY2ltYWxQYWdlcyxcbiAgY2xhc3NOYW1lLFxuICBvbkNsaWNrUGFnZSxcbiAgbW9kZSA9IFBhZ2luYXRpb25JbmRpY2F0b3JNb2RlLkNFTlRFUkVELFxuICBpbmZpbml0ZSxcbn06IHtcbiAgc2l6ZTogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG4gIHBhZ2VzOiBudW1iZXI7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgb25DbGlja1BhZ2U/OiAocGFnZTogbnVtYmVyKSA9PiB2b2lkO1xuICBtb2RlPzogUGFnaW5hdGlvbkluZGljYXRvck1vZGU7XG4gIGluZmluaXRlPzogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgbWF4QmFsbHMgPSB1c2VNZW1vKCgpID0+IChpbmZpbml0ZSA/IDUgOiBNQVhfQkFMTFMpLCBbaW5maW5pdGVdKTtcbiAgY29uc3QgcGFnZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZsb29yID0gTWF0aC5mbG9vcihkZWNpbWFsUGFnZXMpO1xuICAgIGNvbnN0IG1vZHVsdXMgPSBkZWNpbWFsUGFnZXMgJSBmbG9vcjtcblxuICAgIGlmIChjdXJyZW50UGFnZSA+IGZsb29yKSB7XG4gICAgICBjb25zdCBjdXJyZW50Rmxvb3JNb2R1bHVzID0gY3VycmVudFBhZ2UgJSBmbG9vcjtcbiAgICAgIGNvbnN0IGVxdWl2YWxlbnQgPSAoY3VycmVudEZsb29yTW9kdWx1cyAqIDEwMCkgLyBtb2R1bHVzO1xuXG4gICAgICByZXR1cm4gZmxvb3IgKyBlcXVpdmFsZW50IC8gMTAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3VycmVudFBhZ2U7XG4gICAgfVxuICB9LCBbY3VycmVudFBhZ2UsIGRlY2ltYWxQYWdlc10pO1xuICBjb25zdCByYW5kID0gdXNlTWVtbygoKSA9PiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCksIFtdKTtcbiAgY29uc3QgcGFnZUluZGV4ID0gcGFnZSAtIDE7XG4gIGNvbnN0IHBhZ2VzID0gdXNlTWVtbygoKSA9PiBNYXRoLmNlaWwoZGVjaW1hbFBhZ2VzKSwgW2RlY2ltYWxQYWdlc10pO1xuICBjb25zdCBudW1CYWxscyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG51bUJhbGxzID0gcGFnZXMgPj0gbWF4QmFsbHMgPyBtYXhCYWxscyA6IE1hdGguY2VpbChwYWdlcyk7XG5cbiAgICByZXR1cm4gbnVtQmFsbHM7XG4gIH0sIFtwYWdlc10pO1xuXG4gIGNvbnN0IGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgPSB1c2VNZW1vKFxuICAgICgpID0+IChpbmZpbml0ZSA/IG51bUJhbGxzIC0gNSA6IG51bUJhbGxzIC0gMSkgLyAyLFxuICAgIFtudW1CYWxscywgaW5maW5pdGVdXG4gICk7XG4gIGNvbnN0IGJhbGxzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaW5kZXhGb3JMYXN0UGFnZXMgPSBwYWdlcyArIDEgLSBpbmRleEZvclRoZUJhbGxzQ2VudGVyO1xuICAgIC8qKlxuICAgICAqIElzIHRoZSBwYWdlIGluZGV4IChwb3NpdGlvbiBvZiB0aGUgY2VudGVyKVxuICAgICAqIGFmdGVyIHRoZSBmaXJzdCBwYWdlcyBhbmRcbiAgICAgKiBiZWZvcmUgdGhlIGxhc3QgcGFnZXMgKi9cbiAgICBjb25zdCBpc0NlbnRlclBhZ2UgPVxuICAgICAgbnVtQmFsbHMgPj0gbWF4QmFsbHMgJiZcbiAgICAgIHBhZ2VJbmRleCA+IGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgJiZcbiAgICAgIHBhZ2VJbmRleCA8IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMTtcbiAgICBsZXQgbW9kdWx1cyA9XG4gICAgICBwYWdlSW5kZXggJVxuICAgICAgKDEgKyAoaW5kZXhGb3JUaGVCYWxsc0NlbnRlciAtIE1hdGguZmxvb3IoaW5kZXhGb3JUaGVCYWxsc0NlbnRlcikpKTtcbiAgICBjb25zdCByZXNldFBhZ2VJbmRleCA9IGlzQ2VudGVyUGFnZVxuICAgICAgPyBpbmRleEZvclRoZUJhbGxzQ2VudGVyICsgbW9kdWx1c1xuICAgICAgOiBwYWdlcyA8IG1heEJhbGxzXG4gICAgICA/IHBhZ2VJbmRleFxuICAgICAgOiBwYWdlSW5kZXggPj0gaW5kZXhGb3JMYXN0UGFnZXMgLSAxXG4gICAgICA/IG51bUJhbGxzIC0gKHBhZ2VzIC0gcGFnZUluZGV4KVxuICAgICAgOiBwYWdlSW5kZXg7XG4gICAgY29uc3QgbGVmdCA9IGVhY2hCYWxsV2lkdGhFbSAqIHJlc2V0UGFnZUluZGV4O1xuICAgIGNvbnN0IHsgcHVzaEJhbGxzVG9SaWdodEJ5LCBwdXNoQmFsbHNUb0xlZnRCeSwgcHVzaEd1aWRlVG9SaWdodEJ5IH0gPVxuICAgICAgbW9kZSA9PT0gUGFnaW5hdGlvbkluZGljYXRvck1vZGUuQ0VOVEVSRURcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwdXNoQmFsbHNUb1JpZ2h0Qnk6IE1hdGgubWluKHBhZ2VzLCBtYXhCYWxscykgKiBlYWNoQmFsbFdpZHRoRW0sXG4gICAgICAgICAgICBwdXNoQmFsbHNUb0xlZnRCeTogbGVmdCxcbiAgICAgICAgICAgIHB1c2hHdWlkZVRvUmlnaHRCeTogMCxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgcHVzaEJhbGxzVG9SaWdodEJ5OiAoZWFjaEJhbGxXaWR0aEVtIC0gMC41KSAvIDIsXG4gICAgICAgICAgICBwdXNoQmFsbHNUb0xlZnRCeTogMCxcbiAgICAgICAgICAgIHB1c2hHdWlkZVRvUmlnaHRCeTogbGVmdCxcbiAgICAgICAgICB9O1xuICAgIGxldCBwdXNoVG9MZWZ0OiBudW1iZXIgPSAwO1xuICAgIHJldHVybiBuZXcgQXJyYXkoQ0VOVEVSX0dVSURFX0JBTEwgKyBudW1CYWxscylcbiAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgIC5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgY29uc3QgaXNMYXN0QmFsbCA9IGkgPT09IG51bUJhbGxzIC0gMTtcbiAgICAgICAgY29uc3QgaXNGaXJzdEJhbGwgPSBpID09PSAwO1xuXG4gICAgICAgIGlmIChpID09PSBudW1CYWxscykge1xuICAgICAgICAgIGNvbnN0IGRpYW1ldGVyID0gMC40NSAqIDI7XG4gICAgICAgICAgY29uc3QgcGFkZGluZyA9IChlYWNoQmFsbFdpZHRoRW0gLSBkaWFtZXRlcikgLyAyO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICAgIHdpZHRoPXtgJHtkaWFtZXRlcn1lbWB9XG4gICAgICAgICAgICAgIGhlaWdodD17YCR7ZGlhbWV0ZXJ9ZW1gfVxuICAgICAgICAgICAgICB4PXtgJHtcbiAgICAgICAgICAgICAgICBwdXNoQmFsbHNUb1JpZ2h0QnkgLSBwYWRkaW5nICsgcHVzaEd1aWRlVG9SaWdodEJ5IC0gcHVzaFRvTGVmdFxuICAgICAgICAgICAgICB9ZW1gfVxuICAgICAgICAgICAgICB5PXtgJHtwYWRkaW5nfWVtYH1cbiAgICAgICAgICAgICAgcng9e2Ake2RpYW1ldGVyIC8gMn1lbWB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYWxsU2l6ZSA9XG4gICAgICAgICAgbnVtQmFsbHMgPCBtYXhCYWxsc1xuICAgICAgICAgICAgPyAwLjVcbiAgICAgICAgICAgIDogcGFnZSA8PSBpbmRleEZvclRoZUJhbGxzQ2VudGVyICsgMSAmJiBpc0xhc3RCYWxsXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogcGFnZUluZGV4ID49IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMSAmJiBpc0ZpcnN0QmFsbFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IGlzQ2VudGVyUGFnZVxuICAgICAgICAgICAgPyBpc0ZpcnN0QmFsbFxuICAgICAgICAgICAgICA/IDAuNSAtIG1vZHVsdXMgKiAwLjVcbiAgICAgICAgICAgICAgOiBpc0xhc3RCYWxsXG4gICAgICAgICAgICAgID8gbW9kdWx1cyAqIDAuNVxuICAgICAgICAgICAgICA6IDAuNVxuICAgICAgICAgICAgOiAwLjU7XG5cbiAgICAgICAgaWYgKGkgPT09IDAgJiYgbW9kZSA9PT0gUGFnaW5hdGlvbkluZGljYXRvck1vZGUuU1RBUlQpXG4gICAgICAgICAgcHVzaFRvTGVmdCA9ICgwLjUgLSBiYWxsU2l6ZSkgKiAyLjQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAga2V5PXtgZ3VpZGUtJHtpfWB9XG4gICAgICAgICAgICB3aWR0aD17YCR7YmFsbFNpemUgKiAxLjJ9ZW1gfVxuICAgICAgICAgICAgaGVpZ2h0PXtgJHtiYWxsU2l6ZSAqIDEuMn1lbWB9XG4gICAgICAgICAgICB4PXtgJHtcbiAgICAgICAgICAgICAgcHVzaEJhbGxzVG9SaWdodEJ5ICtcbiAgICAgICAgICAgICAgaSAqIGVhY2hCYWxsV2lkdGhFbSAtXG4gICAgICAgICAgICAgIHB1c2hCYWxsc1RvTGVmdEJ5IC1cbiAgICAgICAgICAgICAgcHVzaFRvTGVmdFxuICAgICAgICAgICAgfWVtYH1cbiAgICAgICAgICAgIHk9e2AkeyhlYWNoQmFsbFdpZHRoRW0gLSBiYWxsU2l6ZSAqIDEuMikgLyAyfWVtYH1cbiAgICAgICAgICAgIHJ4PXtgJHsoYmFsbFNpemUgKiAxLjIpIC8gMn1lbWB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChvbkNsaWNrUGFnZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VDbGlja2VkID1cbiAgICAgICAgICAgICAgICAgICghaXNDZW50ZXJQYWdlXG4gICAgICAgICAgICAgICAgICAgID8gcGFnZUluZGV4ID49IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMVxuICAgICAgICAgICAgICAgICAgICAgID8gTWF0aC5mbG9vcihwYWdlKSAtIHJlc2V0UGFnZUluZGV4IC0gMVxuICAgICAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgICAgICAgICA6IE1hdGguZmxvb3IocGFnZSkgLSAoaW5kZXhGb3JUaGVCYWxsc0NlbnRlciArIDEpKSArXG4gICAgICAgICAgICAgICAgICAxICtcbiAgICAgICAgICAgICAgICAgIGk7XG4gICAgICAgICAgICAgICAgb25DbGlja1BhZ2UoTWF0aC5yb3VuZChwYWdlQ2xpY2tlZCkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfSwgW2luZGV4Rm9yVGhlQmFsbHNDZW50ZXIsIHBhZ2VJbmRleCwgcGFnZXNdKTtcbiAgY29uc3QgW2d1aWRlQmFsbCwgLi4ucGFnZUJhbGxzXSA9IGJhbGxzLnJldmVyc2UoKTtcbiAgbGV0IHdpZHRoID0gZWFjaEJhbGxXaWR0aEVtICogTWF0aC5taW4ocGFnZXMsIG1heEJhbGxzKSAqIDI7XG4gIGlmIChtb2RlID09PSBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZS5TVEFSVCkgd2lkdGggLz0gMjtcblxuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHdpZHRoOiBgJHt3aWR0aH1lbWAsXG4gICAgICAgIG1pbldpZHRoOiBgJHt3aWR0aH1lbWAsXG4gICAgICAgIGhlaWdodDogXCIxLjJlbVwiLFxuICAgICAgICBmb250U2l6ZTogYCR7c2l6ZX1weGAsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxmaWx0ZXIgaWQ9e2Bnb28tJHtyYW5kfWB9PlxuICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgaW49XCJTb3VyY2VHcmFwaGljXCIgcmVzdWx0PVwiYmx1clwiIHN0ZERldmlhdGlvbj1cIjVcIiAvPlxuICAgICAgICA8ZmVDb2xvck1hdHJpeFxuICAgICAgICAgIGluPVwiYmx1clwiXG4gICAgICAgICAgbW9kZT1cIm1hdHJpeFwiXG4gICAgICAgICAgdmFsdWVzPVwiMSAwIDAgMCAwICAwIDEgMCAwIDAgIDAgMCAxIDAgMCAgMCAwIDAgMTggLTdcIlxuICAgICAgICAgIHJlc3VsdD1cImdvb1wiXG4gICAgICAgIC8+XG4gICAgICAgIDxmZUJsZW5kIGluMj1cImdvb1wiIGluPVwiU291cmNlR3JhcGhpY1wiIHJlc3VsdD1cIm1peFwiIC8+XG4gICAgICA8L2ZpbHRlcj5cbiAgICAgIDxtYXNrIGlkPXtgbWFzay0ke3JhbmR9YH0+XG4gICAgICAgIDxnIGZpbHRlcj17YHVybCgjJHtgZ29vLSR7cmFuZH1gfSlgfSBmaWxsPVwiI2ZmZlwiPlxuICAgICAgICAgIHtbcGFnZUJhbGxzXX1cbiAgICAgICAgICB7Z3VpZGVCYWxsfVxuICAgICAgICA8L2c+XG4gICAgICA8L21hc2s+XG4gICAgICA8cmVjdFxuICAgICAgICB4PVwiMFwiXG4gICAgICAgIHk9XCIwXCJcbiAgICAgICAgbWFzaz17YHVybCgjJHtgbWFzay0ke3JhbmR9YH0pYH1cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgIHN0eWxlPXt7IGZpbGw6IFwidmFyKC0tZGlnaXRhbC1ibHVlKVwiIH19XG4gICAgICA+PC9yZWN0PlxuICAgICAge29uQ2xpY2tQYWdlICYmIChcbiAgICAgICAgPGcgb3BhY2l0eT17MH0gc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fT5cbiAgICAgICAgICB7cGFnZUJhbGxzfVxuICAgICAgICA8L2c+XG4gICAgICApfVxuICAgIDwvc3ZnPlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQW5pbWF0ZWRQYWdpbmF0aW9uSW5kaWNhdG9yKFxuICBwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFBhZ2luYXRpb25JbmRpY2F0b3JWaWV3PiAmIHtcbiAgICBkdXJhdGlvbjogbnVtYmVyO1xuICB9XG4pIHtcbiAgY29uc3QgcHJldlBhZ2UgPSB1c2VSZWYocHJvcHMucGFnZSk7XG4gIGNvbnN0IFtwYWdlUHJvZ3Jlc3MsIHNldFBhZ2VQcm9ncmVzc10gPSB1c2VTdGF0ZShwcm9wcy5wYWdlKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkaWZmID0gcHJvcHMucGFnZSAtIHByZXZQYWdlLmN1cnJlbnQ7XG4gICAgY29uc3QgZGlmZlBlclN0ZXAgPSBkaWZmIC8gNjA7XG5cbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHNldFBhZ2VQcm9ncmVzcygocHJldikgPT4ge1xuICAgICAgICBjb25zdCBuZXh0ID0gcHJldiArIGRpZmZQZXJTdGVwO1xuICAgICAgICBpZiAoZGlmZiA8IDApIHtcbiAgICAgICAgICBpZiAobmV4dCA8PSBwcm9wcy5wYWdlKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5wYWdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAobmV4dCA+PSBwcm9wcy5wYWdlKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy5wYWdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTnVtYmVyKG5leHQudG9GaXhlZCgyKSk7XG4gICAgICB9KTtcbiAgICB9LCBwcm9wcy5kdXJhdGlvbiAvIDYwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBwcmV2UGFnZS5jdXJyZW50ID0gcHJvcHMucGFnZTtcbiAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgIH07XG4gIH0sIFtwcm9wcy5wYWdlXSk7XG5cbiAgcmV0dXJuIDxQYWdpbmF0aW9uSW5kaWNhdG9yVmlldyB7Li4ucHJvcHN9IHBhZ2U9e3BhZ2VQcm9ncmVzc30gLz47XG59XG5cbmZ1bmN0aW9uIF9QYWdpbmF0aW9uSW5kaWNhdG9yKFxuICB7XG4gICAgc2Nyb2xsYWJsZVJlZixcbiAgICBlc3RpbWF0ZWRXaWR0aCxcbiAgICBzaXplLFxuICAgIGNsYXNzTmFtZSA9IFwiXCIsXG4gICAgb25DbGlja1BhZ2UsXG4gICAgbW9kZSxcbiAgICBpbmZpbml0ZSxcbiAgfToge1xuICAgIHNjcm9sbGFibGVSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG4gICAgZXN0aW1hdGVkV2lkdGg/OiBudW1iZXI7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBvbkNsaWNrUGFnZT86IChwYWdlOiBudW1iZXIpID0+IHZvaWQ7XG4gIH0gJiBQaWNrPENvbXBvbmVudFByb3BzPHR5cGVvZiBQYWdpbmF0aW9uSW5kaWNhdG9yVmlldz4sIFwibW9kZVwiIHwgXCJpbmZpbml0ZVwiPixcbiAgcmVmOiBGb3J3YXJkZWRSZWY8e1xuICAgIHJlZnJlc2hQYWdlczogKCkgPT4gdm9pZDtcbiAgfT5cbikge1xuICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDEpO1xuXG4gIGNvbnN0IFtkZWZzLCBzZXREZWZzXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgcGFnZXM6IG51bWJlcjtcbiAgICB9PigpO1xuXG4gIGNvbnN0IHJlZnJlc2hQYWdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIXNjcm9sbGFibGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGNvbnN0IG1heFdpZHRoID1cbiAgICAgIGVzdGltYXRlZFdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBzY3JvbGxhYmxlUmVmLmN1cnJlbnQhLnNjcm9sbFdpZHRoXG4gICAgICAgIDogZXN0aW1hdGVkV2lkdGg7XG5cbiAgICBjb25zdCBwYWdlcyA9IG1heFdpZHRoIC8gc2Nyb2xsYWJsZVJlZi5jdXJyZW50IS5jbGllbnRXaWR0aDtcbiAgICBpZiAocGFnZXMgPiAxKVxuICAgICAgc2V0RGVmcyh7XG4gICAgICAgIHBhZ2VzOiBpbmZpbml0ZSA/IHBhZ2VzICsgMiA6IHBhZ2VzLFxuICAgICAgfSk7XG4gIH0sIFtlc3RpbWF0ZWRXaWR0aCwgaW5maW5pdGVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4gcmVmcmVzaFBhZ2VzKCksIFtyZWZyZXNoUGFnZXNdKTtcblxuICBjb25zdCB1cGRhdGVQYWdlSW5kaWNhdG9ycyA9IHVzZUNhbGxiYWNrKFxuICAgICh0YXJnZXQ6IEhUTUxEaXZFbGVtZW50LCBwYWdlczogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXNjcm9sbGFibGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgICAgY29uc3QgZWFjaFBhZ2VXaWR0aCA9IHNjcm9sbGFibGVSZWYuY3VycmVudCEuY2xpZW50V2lkdGg7XG4gICAgICBjb25zdCBwYWdlID0gMSArIHRhcmdldC5zY3JvbGxMZWZ0IC8gZWFjaFBhZ2VXaWR0aDtcbiAgICAgIGNvbnN0IGxhc3RQYWdlUHJvZ3Jlc3MgPSBNYXRoLmZsb29yKHBhZ2VzKSArIDE7XG4gICAgICBjb25zdCBtYXhpbXVtUHJvZ3Jlc3MgPSBwYWdlcyArIDE7XG5cbiAgICAgIGNvbnN0IGRpZmZUb01heCA9IG1heGltdW1Qcm9ncmVzcyAtIGxhc3RQYWdlUHJvZ3Jlc3M7XG4gICAgICBjb25zdCBjdXJyZW50UHJvZ3Jlc3NPbkRpZmYgPSBwYWdlIC0gbGFzdFBhZ2VQcm9ncmVzcztcblxuICAgICAgaWYgKHBhZ2UgPiBsYXN0UGFnZVByb2dyZXNzKSB7XG4gICAgICAgIGNvbnN0IHAgPSBsYXN0UGFnZVByb2dyZXNzICsgY3VycmVudFByb2dyZXNzT25EaWZmIC8gZGlmZlRvTWF4O1xuICAgICAgICBzZXRDdXJyZW50UGFnZShwKTtcbiAgICAgIH0gZWxzZSBzZXRDdXJyZW50UGFnZShwYWdlKTtcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICByZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZnJlc2hQYWdlcyxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkZWZzKSByZXR1cm47XG4gICAgY29uc3QgZWwgPSBzY3JvbGxhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGNvbnN0IG9uU2Nyb2xsID0gKGU6IEV2ZW50KSA9PlxuICAgICAgdXBkYXRlUGFnZUluZGljYXRvcnMoZS5jdXJyZW50VGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50LCBkZWZzLnBhZ2VzKTtcbiAgICB1cGRhdGVQYWdlSW5kaWNhdG9ycyhlbCwgZGVmcy5wYWdlcyk7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XG4gICAgfTtcbiAgfSwgW2RlZnNdKTtcblxuICBjb25zdCBwYWdlcyA9IHVzZU1lbW8oKCkgPT4gKGRlZnMgPyBkZWZzLnBhZ2VzIDogdW5kZWZpbmVkKSwgW2RlZnNdKTtcblxuICByZXR1cm4gIXBhZ2VzID8gbnVsbCA6IChcbiAgICA8UGFnaW5hdGlvbkluZGljYXRvclZpZXdcbiAgICAgIHBhZ2VzPXtwYWdlc31cbiAgICAgIHBhZ2U9e2N1cnJlbnRQYWdlfVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgb25DbGlja1BhZ2U9e29uQ2xpY2tQYWdlfVxuICAgICAgbW9kZT17bW9kZX1cbiAgICAgIGluZmluaXRlPXtpbmZpbml0ZX1cbiAgICAvPlxuICApO1xufVxuXG4vKipcbiAqIEEgY29vbCBjb21wb25lbnQgdG8gaW5kaWNhdGUgaG93IG1hbnkgcGFnZXMgYXJlXG4gKiovXG4vKipcbiAqIEEgcGFnaW5hdGlvbiBpbmRpY2F0b3IgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgdGhlIGN1cnJlbnQgcGFnZVxuICogYW5kIHRvdGFsIG51bWJlciBvZiBwYWdlcyB1c2luZyBhbmltYXRlZCBjaXJjdWxhciBpbmRpY2F0b3JzLlxuICogSXQgdXBkYXRlcyB2aXN1YWxseSB3aGVuIHNjcm9sbGluZyB0aHJvdWdoIHBhZ2VzLlxuICovXG5jb25zdCBQYWdpbmF0aW9uSW5kaWNhdG9yID0gZm9yd2FyZFJlZihfUGFnaW5hdGlvbkluZGljYXRvcik7XG5leHBvcnQgZGVmYXVsdCBQYWdpbmF0aW9uSW5kaWNhdG9yO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFXZSxTQUFBQyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSCx3QkFBQU8sR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLEdB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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 _PaginationIndicator.default;
11
+ }
12
+ });
13
+ var _PaginationIndicator = _interopRequireWildcard(require("./PaginationIndicator"));
14
+ Object.keys(_PaginationIndicator).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] === _PaginationIndicator[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _PaginationIndicator[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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUGFnaW5hdGlvbkluZGljYXRvciIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiX2V4cG9ydE5hbWVzIiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJkZXNjIiwic2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbkluZGljYXRvci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuL1BhZ2luYXRpb25JbmRpY2F0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1BhZ2luYXRpb25JbmRpY2F0b3JcIjsiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLG9CQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLG9CQUFBLEVBQUFLLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQU4sb0JBQUEsQ0FBQU0sR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxDQUFBO01BQUEsT0FBQWQsb0JBQUEsQ0FBQU0sR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUFzQyxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQVQsR0FBQSxDQUFBTSxHQUFBLFNBQUFLLE1BQUEsV0FBQUMscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQVMsY0FBQSxJQUFBVCxNQUFBLENBQUF3Qix3QkFBQSxXQUFBckIsR0FBQSxJQUFBYyxHQUFBLFFBQUFkLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQVcsR0FBQSxFQUFBZCxHQUFBLFNBQUFzQixJQUFBLEdBQUFGLHFCQUFBLEdBQUF2QixNQUFBLENBQUF3Qix3QkFBQSxDQUFBUCxHQUFBLEVBQUFkLEdBQUEsY0FBQXNCLElBQUEsS0FBQUEsSUFBQSxDQUFBZCxHQUFBLElBQUFjLElBQUEsQ0FBQUMsR0FBQSxLQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFhLE1BQUEsRUFBQW5CLEdBQUEsRUFBQXNCLElBQUEsWUFBQUgsTUFBQSxDQUFBbkIsR0FBQSxJQUFBYyxHQUFBLENBQUFkLEdBQUEsU0FBQW1CLE1BQUEsQ0FBQUgsT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBTSxHQUFBLENBQUFULEdBQUEsRUFBQUssTUFBQSxZQUFBQSxNQUFBIn0=