@onepercentio/one-ui 1.2.2 → 1.2.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.
- package/WebpackConfigs/loaders/static-loader.js +4 -3
- package/WebpackConfigs/scripts/css-inliner.ts +13 -8
- package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +2 -1
- package/dist/components/AdaptiveButton/AdaptiveButton.js +3 -2
- package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +5 -1
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +6 -2
- package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -1
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +5 -2
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +2 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +3 -2
- package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +4 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +5 -2
- package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +2 -1
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +3 -2
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +5 -0
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +6 -1
- package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +4 -0
- package/dist/components/AsyncWrapper/AsyncWrapper.js +5 -1
- package/dist/components/Avatar/Avatar.d.ts +3 -1
- package/dist/components/Avatar/Avatar.js +4 -2
- package/dist/components/BucketFill/BucketFill.d.ts +3 -4
- package/dist/components/BucketFill/BucketFill.js +4 -5
- package/dist/components/Button/Button.d.ts +4 -0
- package/dist/components/Button/Button.js +5 -1
- package/dist/components/Chart/Chart.view.d.ts +2 -2
- package/dist/components/Chart/Chart.view.js +3 -3
- package/dist/components/CheckBox/CheckBox.d.ts +3 -0
- package/dist/components/CheckBox/CheckBox.js +4 -1
- package/dist/components/CodeInput/CodeInput.js +1 -1
- package/dist/components/Collapsable/Collapsable.d.ts +5 -0
- package/dist/components/Collapsable/Collapsable.js +6 -1
- package/dist/components/Countdown/Countdown.d.ts +4 -0
- package/dist/components/Countdown/Countdown.js +5 -1
- package/dist/components/CurrencyInput/CurrencyInput.d.ts +4 -0
- package/dist/components/CurrencyInput/CurrencyInput.js +5 -1
- package/dist/components/Divider/Divider.d.ts +2 -2
- package/dist/components/Divider/Divider.js +3 -3
- package/dist/components/EmailInput/EmailInput.d.ts +3 -0
- package/dist/components/EmailInput/EmailInput.js +4 -1
- package/dist/components/FadeIn/FadeIn.d.ts +2 -1
- package/dist/components/FadeIn/FadeIn.js +3 -2
- package/dist/components/FileInput/FileInput.d.ts +3 -0
- package/dist/components/FileInput/FileInput.js +5 -1
- package/dist/components/FlowController/FlowController.d.ts +4 -0
- package/dist/components/FlowController/FlowController.js +5 -1
- package/dist/components/Form/Form.d.ts +8 -3
- package/dist/components/Form/Form.js +7 -2
- package/dist/components/Form/Form.types.d.ts +1 -1
- package/dist/components/Form/Form.types.js +1 -1
- package/dist/components/Form/FormField/FormField.js +20 -7
- package/dist/components/HSForms/HSForms.d.ts +4 -0
- package/dist/components/HSForms/HSForms.js +5 -1
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +3 -2
- package/dist/components/InfinityScroll/InfinityScroll.d.ts +2 -1
- package/dist/components/InfinityScroll/InfinityScroll.js +3 -2
- package/dist/components/Input/Input.d.ts +6 -0
- package/dist/components/Input/Input.js +7 -1
- package/dist/components/LavaLamp/LavaLamp.d.ts +2 -2
- package/dist/components/LavaLamp/LavaLamp.js +3 -3
- package/dist/components/LinkToId/LinkToId.d.ts +1 -1
- package/dist/components/LinkToId/LinkToId.js +2 -2
- package/dist/components/Loader/Loader.d.ts +2 -1
- package/dist/components/Loader/Loader.js +3 -2
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +4 -0
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +5 -1
- package/dist/components/LoopableVideo/LoopableVideo.d.ts +4 -1
- package/dist/components/LoopableVideo/LoopableVideo.js +5 -2
- package/dist/components/MainGrid/MainGrid.d.ts +4 -0
- package/dist/components/MainGrid/MainGrid.js +5 -1
- package/dist/components/Notification/Notification.d.ts +1 -0
- package/dist/components/Notification/Notification.js +2 -1
- package/dist/components/NumberInput/NumberInput.d.ts +4 -0
- package/dist/components/NumberInput/NumberInput.js +6 -1
- package/dist/components/OrderableList/OrderableList.d.ts +4 -2
- package/dist/components/OrderableList/OrderableList.js +5 -3
- package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +5 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.js +6 -1
- package/dist/components/Parallax/Parallax.d.ts +4 -0
- package/dist/components/Parallax/Parallax.js +5 -1
- package/dist/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/dist/components/PasswordInput/PasswordInput.js +4 -3
- package/dist/components/PingPongText/PingPongText.d.ts +4 -0
- package/dist/components/PingPongText/PingPongText.js +5 -1
- package/dist/components/PixelatedScan/PixelatedScan.d.ts +5 -0
- package/dist/components/PixelatedScan/PixelatedScan.js +7 -1
- package/dist/components/Portal/Portal.d.ts +4 -0
- package/dist/components/Portal/Portal.js +7 -3
- package/dist/components/ProgressBar/ProgressBar.d.ts +3 -2
- package/dist/components/ProgressBar/ProgressBar.js +4 -3
- package/dist/components/ProgressTexts/ProgressTexts.d.ts +4 -0
- package/dist/components/ProgressTexts/ProgressTexts.js +5 -1
- package/dist/components/Radio/Radio.d.ts +4 -0
- package/dist/components/Radio/Radio.js +5 -1
- package/dist/components/SectionContainer/SectionContainer.d.ts +5 -0
- package/dist/components/SectionContainer/SectionContainer.js +6 -1
- package/dist/components/Select/Select.d.ts +4 -0
- package/dist/components/Select/Select.js +6 -1
- package/dist/components/Slider/Slider.d.ts +4 -0
- package/dist/components/Slider/Slider.e2e.d.ts +3 -3
- package/dist/components/Slider/Slider.js +5 -1
- package/dist/components/Spacing/Spacing.d.ts +4 -0
- package/dist/components/Spacing/Spacing.js +6 -1
- package/dist/components/StaticScroller/StaticScroller.d.ts +3 -2
- package/dist/components/StaticScroller/StaticScroller.js +4 -3
- package/dist/components/Switch/Switch.d.ts +4 -2
- package/dist/components/Switch/Switch.js +5 -3
- package/dist/components/Table/Table.d.ts +4 -2
- package/dist/components/Table/Table.js +5 -3
- package/dist/components/Tabs/Tabs.d.ts +3 -2
- package/dist/components/Tabs/Tabs.js +4 -3
- package/dist/components/Text/Text.d.ts +4 -0
- package/dist/components/Text/Text.js +6 -1
- package/dist/components/Transition/Transition.d.ts +10 -2
- package/dist/components/Transition/Transition.js +12 -3
- package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +2 -2
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +3 -3
- package/dist/context/AsyncProcess.d.ts +2 -0
- package/dist/context/AsyncProcess.js +4 -1
- package/dist/context/ContextAsyncControl.d.ts +15 -0
- package/dist/context/ContextAsyncControl.js +21 -1
- package/dist/context/CustomBrowserRouter.d.ts +6 -0
- package/dist/context/CustomBrowserRouter.js +8 -1
- package/dist/context/OneUIProvider.d.ts +21 -0
- package/dist/context/OneUIProvider.js +31 -2
- package/dist/hooks/useIntersection.d.ts +4 -0
- package/dist/hooks/useIntersection.js +5 -1
- package/dist/hooks/useMergeRefs.d.ts +1 -1
- package/dist/hooks/useMergeRefs.js +4 -2
- package/dist/hooks/useObserve.d.ts +4 -0
- package/dist/hooks/useObserve.js +5 -1
- package/dist/hooks/usePagination.d.ts +5 -0
- package/dist/hooks/usePagination.js +6 -1
- package/dist/hooks/usePooledOperation.d.ts +4 -0
- package/dist/hooks/usePooledOperation.js +6 -1
- package/dist/hooks/usePooling.d.ts +6 -1
- package/dist/hooks/usePooling.js +7 -2
- package/dist/hooks/useRebound.d.ts +4 -0
- package/dist/hooks/useRebound.js +8 -4
- package/dist/hooks/useShortIntl.d.ts +4 -0
- package/dist/hooks/useShortIntl.js +5 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +7 -26
- package/dist/models/DebugLogger.d.ts +3 -0
- package/dist/models/DebugLogger.js +5 -1
- package/dist/models/GenericContract.d.ts +21 -0
- package/dist/models/GenericContract.js +26 -1
- package/dist/models/Orbs.d.ts +9 -0
- package/dist/models/Orbs.js +13 -1
- package/dist/utils/blockchain.d.ts +4 -0
- package/dist/utils/blockchain.js +8 -1
- package/dist/utils/e2e.d.ts +6 -2
- package/dist/utils/e2e.js +4 -11
- package/dist/utils/flatten.d.ts +1 -0
- package/dist/utils/flatten.js +2 -1
- package/dist/utils/formatters.js +5 -1
- package/dist/utils/html.utils.d.ts +1 -0
- package/dist/utils/html.utils.js +2 -1
- package/dist/utils/ownEvent.js +2 -1
- package/dist/utils/test.js +2 -1
- package/dist-ts/components/AdaptiveButton/AdaptiveButton.d.ts +2 -1
- package/dist-ts/components/AdaptiveButton/AdaptiveButton.js +2 -1
- package/dist-ts/components/AdaptiveButton/AdaptiveButton.js.map +1 -1
- package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.d.ts +5 -1
- package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js +10 -5
- package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -1
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js +4 -1
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.js.map +1 -1
- package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +2 -1
- package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.js +2 -1
- package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
- package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.d.ts +4 -1
- package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.js +4 -1
- package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.js.map +1 -1
- package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.d.ts +2 -1
- package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.js +2 -1
- package/dist-ts/components/AnimatedEntrance/AnimatedEntrance.js.map +1 -1
- package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +5 -0
- package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.js +5 -0
- package/dist-ts/components/AsyncTriggerContainer/AsyncTriggerContainer.js.map +1 -1
- package/dist-ts/components/AsyncWrapper/AsyncWrapper.d.ts +4 -0
- package/dist-ts/components/AsyncWrapper/AsyncWrapper.js +4 -0
- package/dist-ts/components/AsyncWrapper/AsyncWrapper.js.map +1 -1
- package/dist-ts/components/Avatar/Avatar.d.ts +3 -1
- package/dist-ts/components/Avatar/Avatar.js +3 -1
- package/dist-ts/components/Avatar/Avatar.js.map +1 -1
- package/dist-ts/components/BucketFill/BucketFill.d.ts +3 -4
- package/dist-ts/components/BucketFill/BucketFill.js +3 -4
- package/dist-ts/components/BucketFill/BucketFill.js.map +1 -1
- package/dist-ts/components/Button/Button.d.ts +4 -0
- package/dist-ts/components/Button/Button.js +4 -0
- package/dist-ts/components/Button/Button.js.map +1 -1
- package/dist-ts/components/Chart/Chart.view.d.ts +2 -2
- package/dist-ts/components/Chart/Chart.view.js +2 -2
- package/dist-ts/components/Chart/Chart.view.js.map +1 -1
- package/dist-ts/components/CheckBox/CheckBox.d.ts +3 -0
- package/dist-ts/components/CheckBox/CheckBox.js +3 -0
- package/dist-ts/components/CheckBox/CheckBox.js.map +1 -1
- package/dist-ts/components/Collapsable/Collapsable.d.ts +5 -0
- package/dist-ts/components/Collapsable/Collapsable.js +5 -0
- package/dist-ts/components/Collapsable/Collapsable.js.map +1 -1
- package/dist-ts/components/Countdown/Countdown.d.ts +4 -0
- package/dist-ts/components/Countdown/Countdown.js +4 -0
- package/dist-ts/components/Countdown/Countdown.js.map +1 -1
- package/dist-ts/components/CurrencyInput/CurrencyInput.d.ts +4 -0
- package/dist-ts/components/CurrencyInput/CurrencyInput.js +4 -0
- package/dist-ts/components/CurrencyInput/CurrencyInput.js.map +1 -1
- package/dist-ts/components/Divider/Divider.d.ts +2 -2
- package/dist-ts/components/Divider/Divider.js +2 -2
- package/dist-ts/components/Divider/Divider.js.map +1 -1
- package/dist-ts/components/EmailInput/EmailInput.d.ts +3 -0
- package/dist-ts/components/EmailInput/EmailInput.js +3 -0
- package/dist-ts/components/EmailInput/EmailInput.js.map +1 -1
- package/dist-ts/components/FadeIn/FadeIn.d.ts +2 -1
- package/dist-ts/components/FadeIn/FadeIn.js +2 -1
- package/dist-ts/components/FadeIn/FadeIn.js.map +1 -1
- package/dist-ts/components/FileInput/FileInput.d.ts +3 -0
- package/dist-ts/components/FileInput/FileInput.js +3 -0
- package/dist-ts/components/FileInput/FileInput.js.map +1 -1
- package/dist-ts/components/FlowController/FlowController.d.ts +4 -0
- package/dist-ts/components/FlowController/FlowController.js +4 -0
- package/dist-ts/components/FlowController/FlowController.js.map +1 -1
- package/dist-ts/components/Form/Form.d.ts +8 -3
- package/dist-ts/components/Form/Form.js +7 -2
- package/dist-ts/components/Form/Form.js.map +1 -1
- package/dist-ts/components/Form/Form.types.d.ts +1 -1
- package/dist-ts/components/Form/FormField/FormField.js +6 -3
- package/dist-ts/components/Form/FormField/FormField.js.map +1 -1
- package/dist-ts/components/HSForms/HSForms.d.ts +4 -0
- package/dist-ts/components/HSForms/HSForms.js +4 -0
- package/dist-ts/components/HSForms/HSForms.js.map +1 -1
- package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
- package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.js +2 -1
- package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.js.map +1 -1
- package/dist-ts/components/InfinityScroll/InfinityScroll.d.ts +2 -1
- package/dist-ts/components/InfinityScroll/InfinityScroll.js +2 -1
- package/dist-ts/components/InfinityScroll/InfinityScroll.js.map +1 -1
- package/dist-ts/components/Input/Input.d.ts +6 -0
- package/dist-ts/components/Input/Input.js +6 -0
- package/dist-ts/components/Input/Input.js.map +1 -1
- package/dist-ts/components/LavaLamp/LavaLamp.d.ts +2 -2
- package/dist-ts/components/LavaLamp/LavaLamp.js +2 -2
- package/dist-ts/components/LavaLamp/LavaLamp.js.map +1 -1
- package/dist-ts/components/LinkToId/LinkToId.d.ts +1 -1
- package/dist-ts/components/LinkToId/LinkToId.js +1 -1
- package/dist-ts/components/Loader/Loader.d.ts +2 -1
- package/dist-ts/components/Loader/Loader.js +2 -1
- package/dist-ts/components/Loader/Loader.js.map +1 -1
- package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +4 -0
- package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.js +4 -0
- package/dist-ts/components/LoaderDotsIndicator/LoaderDotsIndicator.js.map +1 -1
- package/dist-ts/components/LoopableVideo/LoopableVideo.d.ts +4 -1
- package/dist-ts/components/LoopableVideo/LoopableVideo.js +4 -1
- package/dist-ts/components/LoopableVideo/LoopableVideo.js.map +1 -1
- package/dist-ts/components/MainGrid/MainGrid.d.ts +4 -0
- package/dist-ts/components/MainGrid/MainGrid.js +4 -0
- package/dist-ts/components/MainGrid/MainGrid.js.map +1 -1
- package/dist-ts/components/Notification/Notification.d.ts +1 -0
- package/dist-ts/components/Notification/Notification.js +1 -0
- package/dist-ts/components/Notification/Notification.js.map +1 -1
- package/dist-ts/components/NumberInput/NumberInput.d.ts +4 -0
- package/dist-ts/components/NumberInput/NumberInput.js +4 -0
- package/dist-ts/components/NumberInput/NumberInput.js.map +1 -1
- package/dist-ts/components/OrderableList/OrderableList.d.ts +4 -2
- package/dist-ts/components/OrderableList/OrderableList.js +4 -2
- package/dist-ts/components/OrderableList/OrderableList.js.map +1 -1
- package/dist-ts/components/PaginationIndicator/PaginationIndicator.d.ts +5 -0
- package/dist-ts/components/PaginationIndicator/PaginationIndicator.js +5 -0
- package/dist-ts/components/PaginationIndicator/PaginationIndicator.js.map +1 -1
- package/dist-ts/components/Parallax/Parallax.d.ts +4 -0
- package/dist-ts/components/Parallax/Parallax.js +4 -0
- package/dist-ts/components/Parallax/Parallax.js.map +1 -1
- package/dist-ts/components/PasswordInput/PasswordInput.d.ts +3 -2
- package/dist-ts/components/PasswordInput/PasswordInput.js +3 -2
- package/dist-ts/components/PasswordInput/PasswordInput.js.map +1 -1
- package/dist-ts/components/PingPongText/PingPongText.d.ts +4 -0
- package/dist-ts/components/PingPongText/PingPongText.js +4 -0
- package/dist-ts/components/PingPongText/PingPongText.js.map +1 -1
- package/dist-ts/components/PixelatedScan/PixelatedScan.d.ts +5 -0
- package/dist-ts/components/PixelatedScan/PixelatedScan.js +5 -0
- package/dist-ts/components/PixelatedScan/PixelatedScan.js.map +1 -1
- package/dist-ts/components/Portal/Portal.d.ts +4 -0
- package/dist-ts/components/Portal/Portal.js +4 -0
- package/dist-ts/components/Portal/Portal.js.map +1 -1
- package/dist-ts/components/ProgressBar/ProgressBar.d.ts +3 -2
- package/dist-ts/components/ProgressBar/ProgressBar.js +3 -2
- package/dist-ts/components/ProgressBar/ProgressBar.js.map +1 -1
- package/dist-ts/components/ProgressTexts/ProgressTexts.d.ts +4 -0
- package/dist-ts/components/ProgressTexts/ProgressTexts.js +4 -0
- package/dist-ts/components/ProgressTexts/ProgressTexts.js.map +1 -1
- package/dist-ts/components/Radio/Radio.d.ts +4 -0
- package/dist-ts/components/Radio/Radio.js.map +1 -1
- package/dist-ts/components/SectionContainer/SectionContainer.d.ts +5 -0
- package/dist-ts/components/SectionContainer/SectionContainer.js +5 -0
- package/dist-ts/components/SectionContainer/SectionContainer.js.map +1 -1
- package/dist-ts/components/Select/Select.d.ts +4 -0
- package/dist-ts/components/Select/Select.js +4 -0
- package/dist-ts/components/Select/Select.js.map +1 -1
- package/dist-ts/components/Slider/Slider.d.ts +4 -0
- package/dist-ts/components/Slider/Slider.e2e.d.ts +3 -3
- package/dist-ts/components/Slider/Slider.js +4 -0
- package/dist-ts/components/Slider/Slider.js.map +1 -1
- package/dist-ts/components/Spacing/Spacing.d.ts +4 -0
- package/dist-ts/components/Spacing/Spacing.js +4 -0
- package/dist-ts/components/Spacing/Spacing.js.map +1 -1
- package/dist-ts/components/StaticScroller/StaticScroller.d.ts +3 -2
- package/dist-ts/components/StaticScroller/StaticScroller.js +3 -2
- package/dist-ts/components/StaticScroller/StaticScroller.js.map +1 -1
- package/dist-ts/components/Switch/Switch.d.ts +4 -2
- package/dist-ts/components/Switch/Switch.js +4 -2
- package/dist-ts/components/Switch/Switch.js.map +1 -1
- package/dist-ts/components/Table/Table.d.ts +4 -2
- package/dist-ts/components/Table/Table.js +4 -2
- package/dist-ts/components/Table/Table.js.map +1 -1
- package/dist-ts/components/Tabs/Tabs.d.ts +3 -2
- package/dist-ts/components/Tabs/Tabs.js +3 -2
- package/dist-ts/components/Tabs/Tabs.js.map +1 -1
- package/dist-ts/components/Text/Text.d.ts +4 -0
- package/dist-ts/components/Text/Text.js +4 -0
- package/dist-ts/components/Text/Text.js.map +1 -1
- package/dist-ts/components/Transition/Transition.d.ts +10 -2
- package/dist-ts/components/Transition/Transition.js +10 -2
- package/dist-ts/components/Transition/Transition.js.map +1 -1
- package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.d.ts +2 -2
- package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.js +2 -2
- package/dist-ts/components/UncontrolledTransition/UncontrolledTransition.js.map +1 -1
- package/dist-ts/context/AsyncProcess.d.ts +2 -0
- package/dist-ts/context/AsyncProcess.js +2 -0
- package/dist-ts/context/AsyncProcess.js.map +1 -1
- package/dist-ts/context/ContextAsyncControl.d.ts +15 -0
- package/dist-ts/context/ContextAsyncControl.js +12 -0
- package/dist-ts/context/ContextAsyncControl.js.map +1 -1
- package/dist-ts/context/CustomBrowserRouter.d.ts +6 -0
- package/dist-ts/context/CustomBrowserRouter.js +3 -0
- package/dist-ts/context/CustomBrowserRouter.js.map +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +21 -0
- package/dist-ts/context/OneUIProvider.js +13 -1
- package/dist-ts/context/OneUIProvider.js.map +1 -1
- package/dist-ts/hooks/useIntersection.d.ts +4 -0
- package/dist-ts/hooks/useIntersection.js +4 -0
- package/dist-ts/hooks/useIntersection.js.map +1 -1
- package/dist-ts/hooks/useMergeRefs.d.ts +1 -1
- package/dist-ts/hooks/useMergeRefs.js +3 -1
- package/dist-ts/hooks/useMergeRefs.js.map +1 -1
- package/dist-ts/hooks/useObserve.d.ts +4 -0
- package/dist-ts/hooks/useObserve.js +4 -0
- package/dist-ts/hooks/useObserve.js.map +1 -1
- package/dist-ts/hooks/usePagination.d.ts +5 -0
- package/dist-ts/hooks/usePagination.js +5 -0
- package/dist-ts/hooks/usePagination.js.map +1 -1
- package/dist-ts/hooks/usePooledOperation.d.ts +4 -0
- package/dist-ts/hooks/usePooledOperation.js +4 -0
- package/dist-ts/hooks/usePooledOperation.js.map +1 -1
- package/dist-ts/hooks/usePooling.d.ts +6 -1
- package/dist-ts/hooks/usePooling.js +6 -1
- package/dist-ts/hooks/usePooling.js.map +1 -1
- package/dist-ts/hooks/useRebound.d.ts +4 -0
- package/dist-ts/hooks/useRebound.js +4 -0
- package/dist-ts/hooks/useRebound.js.map +1 -1
- package/dist-ts/hooks/useShortIntl.d.ts +4 -0
- package/dist-ts/hooks/useShortIntl.js +4 -0
- package/dist-ts/hooks/useShortIntl.js.map +1 -1
- package/dist-ts/index.d.ts +0 -2
- package/dist-ts/index.js +0 -2
- package/dist-ts/index.js.map +1 -1
- package/dist-ts/models/DebugLogger.d.ts +3 -0
- package/dist-ts/models/DebugLogger.js +3 -0
- package/dist-ts/models/DebugLogger.js.map +1 -1
- package/dist-ts/models/GenericContract.d.ts +21 -0
- package/dist-ts/models/GenericContract.js +6 -0
- package/dist-ts/models/GenericContract.js.map +1 -1
- package/dist-ts/models/Orbs.d.ts +9 -0
- package/dist-ts/models/Orbs.js +6 -0
- package/dist-ts/models/Orbs.js.map +1 -1
- package/dist-ts/utils/blockchain.d.ts +4 -0
- package/dist-ts/utils/blockchain.js +4 -0
- package/dist-ts/utils/blockchain.js.map +1 -1
- package/dist-ts/utils/e2e.d.ts +6 -2
- package/dist-ts/utils/e2e.js +3 -3
- package/dist-ts/utils/e2e.js.map +1 -1
- package/dist-ts/utils/flatten.d.ts +1 -0
- package/dist-ts/utils/flatten.js +1 -0
- package/dist-ts/utils/flatten.js.map +1 -1
- package/dist-ts/utils/formatters.js +3 -0
- package/dist-ts/utils/formatters.js.map +1 -1
- package/dist-ts/utils/html.utils.d.ts +1 -0
- package/dist-ts/utils/html.utils.js +1 -0
- package/dist-ts/utils/html.utils.js.map +1 -1
- package/dist-ts/utils/ownEvent.js +1 -0
- package/dist-ts/utils/ownEvent.js.map +1 -1
- package/dist-ts/utils/test.js +1 -0
- package/dist-ts/utils/test.js.map +1 -1
- package/package.json +13 -2
- package/dist/components/Header/Header.d.ts +0 -25
- package/dist/components/Header/Header.js +0 -88
- package/dist/components/Header/Header.module.scss +0 -119
- package/dist/components/Header/index.d.ts +0 -2
- package/dist/components/Header/index.js +0 -26
- package/dist-ts/components/Header/Header.d.ts +0 -25
- package/dist-ts/components/Header/Header.js +0 -35
- package/dist-ts/components/Header/Header.js.map +0 -1
- package/dist-ts/components/Header/Header.module.scss +0 -119
- package/dist-ts/components/Header/index.d.ts +0 -2
- package/dist-ts/components/Header/index.js +0 -3
- package/dist-ts/components/Header/index.js.map +0 -1
|
@@ -15,6 +15,9 @@ type DeepPartial<T> = {
|
|
|
15
15
|
[P in keyof T]?: NonNullable<T[P]> extends Function ? T[P] : DeepPartial<T[P]>;
|
|
16
16
|
};
|
|
17
17
|
type IfUtilityHas<N extends NamespaceAccessors, Declare> = FromOnePercentUtility<N> extends `To define this property you need to set OnepercentUtility.${string} globally` ? undefined : Declare;
|
|
18
|
+
/**
|
|
19
|
+
* Defines the available UI features and their settings.
|
|
20
|
+
*/
|
|
18
21
|
export type OneUIContextSpecs = {
|
|
19
22
|
component: {
|
|
20
23
|
asyncTriggerContainer: {
|
|
@@ -165,13 +168,31 @@ export type OneUIContextSpecs = {
|
|
|
165
168
|
imageScale: ImageScales;
|
|
166
169
|
};
|
|
167
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* The configuration object used to set up the UI provider.
|
|
173
|
+
*/
|
|
168
174
|
export type ContextConfigSpecs = DeepPartial<OneUIContextSpecs> & PathObject<OneUIContextSpecs, "component.text">;
|
|
169
175
|
declare function OneUIProvider({ children, config, }: PropsWithChildren<{
|
|
170
176
|
config: ContextConfigSpecs;
|
|
171
177
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
178
|
+
/**
|
|
179
|
+
* The main provider component that wraps your app to enable UI features.
|
|
180
|
+
*/
|
|
172
181
|
export default OneUIProvider;
|
|
182
|
+
/**
|
|
183
|
+
* A hook to access the current UI configuration.
|
|
184
|
+
*/
|
|
173
185
|
export declare function useOneUIContext(): OneUIContextSpecs;
|
|
186
|
+
/**
|
|
187
|
+
* A hook to get a specific UI view component.
|
|
188
|
+
*/
|
|
174
189
|
export declare function useOneUIView<P extends FieldPath<OneUIContextSpecs>>(oneuiConfigPath: P, componentName: string): NonNullable<import("type-fest/source/get").GetWithPath<OneUIContextSpecs, P extends string ? import("type-fest").Split<import("type-fest/source/get").FixPathSquareBrackets<P>, "."> : P, {}>>;
|
|
190
|
+
/**
|
|
191
|
+
* A hook to retrieve a specific value from the UI configuration.
|
|
192
|
+
*/
|
|
175
193
|
export declare function useOneUIConfig<P extends FieldPath<OneUIContextSpecs>>(prop: P): Get<OneUIContextSpecs, P>;
|
|
176
194
|
export declare function useOneUIConfig<P extends FieldPath<OneUIContextSpecs>, T extends DeepPartial<Get<OneUIContextSpecs, P>>>(prop: P, defaultValue: T): NonNullable<Get<OneUIContextSpecs, P>>;
|
|
195
|
+
/**
|
|
196
|
+
* A hook to get the current image scale setting.
|
|
197
|
+
*/
|
|
177
198
|
export declare function useCurrentImageScale(): DeepPartial<ImageScales>;
|
|
@@ -15,6 +15,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
var _useAdaptiveImage = _interopRequireDefault(require("../hooks/ui/useAdaptiveImage"));
|
|
16
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
/**
|
|
19
|
+
* Defines the available UI features and their settings.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The configuration object used to set up the UI provider.
|
|
24
|
+
*/
|
|
25
|
+
|
|
18
26
|
const Context = /*#__PURE__*/(0, _react.createContext)(null);
|
|
19
27
|
function OneUIProvider(_ref) {
|
|
20
28
|
let {
|
|
@@ -34,6 +42,10 @@ function OneUIProvider(_ref) {
|
|
|
34
42
|
value: mergedConfig
|
|
35
43
|
}, children);
|
|
36
44
|
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* The main provider component that wraps your app to enable UI features.
|
|
48
|
+
*/
|
|
37
49
|
var _default = exports.default = OneUIProvider;
|
|
38
50
|
function pathToJson(path, key) {
|
|
39
51
|
let exampleConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "THE_MISSING_CONFIG";
|
|
@@ -65,18 +77,31 @@ function ErrorWrapper(originalObject) {
|
|
|
65
77
|
}
|
|
66
78
|
});
|
|
67
79
|
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* A hook to access the current UI configuration.
|
|
83
|
+
*/
|
|
68
84
|
function useOneUIContext() {
|
|
69
85
|
const context = (0, _react.useContext)(Context);
|
|
70
86
|
if (process.env.NODE_ENV === "development") return ErrorWrapper(context);
|
|
71
87
|
return context;
|
|
72
88
|
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* A hook to get a specific UI view component.
|
|
92
|
+
*/
|
|
73
93
|
function useOneUIView(oneuiConfigPath, componentName) {
|
|
74
94
|
const providedValue = useOneUIConfig(oneuiConfigPath);
|
|
75
95
|
if (!providedValue) {
|
|
76
|
-
throw new Error("The component ".concat(componentName, " requires a view to be set on OneUI initialization\n\nViews ready for use with this component shall be available at:\nimport SomeView from \"@onepercentio/one-ui/dist/components/").concat(componentName, "/View/SomeView\";\n
|
|
96
|
+
throw new Error("The component ".concat(componentName, " requires a view to be set on OneUI initialization\n\nViews ready for use with this component shall be available at:\nimport SomeView from \"@onepercentio/one-ui/dist/components/").concat(componentName, "/View/SomeView\";\n\nPlease define it using:\nimport OneUIProvider from \"@onepercentio/one-ui/dist/context/OneUIProvider\";\n\n ...\n").concat("<OneUIProvider config={".concat(JSON.stringify(pathToJson(oneuiConfigPath, undefined, "SomeView"), null, 4), "}>\n...\n</OneUIProvider>").replace(/[ ]/g, "-")));
|
|
77
97
|
}
|
|
78
98
|
return providedValue;
|
|
79
99
|
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A hook to retrieve a specific value from the UI configuration.
|
|
103
|
+
*/
|
|
104
|
+
|
|
80
105
|
function useOneUIConfig(prop, defaultValue) {
|
|
81
106
|
const context = (0, _react.useContext)(Context);
|
|
82
107
|
if (process.env.NODE_ENV === "development") {
|
|
@@ -92,8 +117,12 @@ function useOneUIConfig(prop, defaultValue) {
|
|
|
92
117
|
}, [context, prop]);
|
|
93
118
|
return value || defaultValue;
|
|
94
119
|
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* A hook to get the current image scale setting.
|
|
123
|
+
*/
|
|
95
124
|
function useCurrentImageScale() {
|
|
96
125
|
const context = (0, _react.useContext)(Context);
|
|
97
126
|
return context.state.imageScale;
|
|
98
127
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiT25lVUlQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNvbmZpZyIsInByZXZDdHgiLCJ1c2VDb250ZXh0Iiwic2NhbGUiLCJ1c2VBZGFwdGl2ZUltYWdlIiwibWVyZ2VkQ29uZmlnIiwidXNlTWVtbyIsIm1lcmdlIiwiY2xvbmUiLCJzdGF0ZSIsImltYWdlU2NhbGUiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInBhdGhUb0pzb24iLCJwYXRoIiwia2V5IiwiZXhhbXBsZUNvbmZpZyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic2xpY2UiLCJyZXBsYWNlIiwiY29uY2F0IiwicmVkdWNlIiwicmVzdWx0IiwiaWR4IiwiYXJyIiwiayIsIkVycm9yV3JhcHBlciIsIm9yaWdpbmFsT2JqZWN0IiwiUHJveHkiLCJfdGFyZ2V0IiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIkBtdXJpdGF2by93ZWJwYWNrLW1pY3JvZnJvbnRlbmQtc2NyaXB0cy9iaW4vdHlwZXMvSW1hZ2VTY2FsZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHtcbiAgRmllbGRQYXRoLFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHksXG4gIE5hbWVzcGFjZUFjY2Vzc29ycyxcbiAgUGF0aCxcbiAgUGF0aE9iamVjdCxcbn0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB1c2VBZGFwdGl2ZUltYWdlIGZyb20gXCIuLi9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvblwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0NoZWNrQm94XCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9cIjtcbmltcG9ydCB7IEZpbGVJbnB1dFZpZXdQcm9wcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbGVJbnB1dC9WaWV3L1ZpZXcudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZCxcbiAgR2VuZXJpY0Zvcm1GaWVsZFByb3BzLFxufSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IEJhc2VRdWVzdGlvbiwgRm9ybU1vZGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm0udHlwZXNcIjtcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzIEZ1bmN0aW9uXG4gICAgPyBUW1BdXG4gICAgOiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbnR5cGUgSWZVdGlsaXR5SGFzPE4gZXh0ZW5kcyBOYW1lc3BhY2VBY2Nlc3NvcnMsIERlY2xhcmU+ID1cbiAgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PE4+IGV4dGVuZHMgYFRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHlvdSBuZWVkIHRvIHNldCBPbmVwZXJjZW50VXRpbGl0eS4ke3N0cmluZ30gZ2xvYmFsbHlgXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IERlY2xhcmU7XG5cbmV4cG9ydCB0eXBlIE9uZVVJQ29udGV4dFNwZWNzID0ge1xuICBjb21wb25lbnQ6IHtcbiAgICBhc3luY1RyaWdnZXJDb250YWluZXI6IHtcbiAgICAgIExvYWRpbmdDb21wb25lbnQ6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICB9O1xuICAgIHNwYWNpbmc6IHtcbiAgICAgIHZhcmlhbnRzOiB7XG4gICAgICAgIFtrIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuU3BhY2luZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGNvbGxhcHNhYmxlOiB7XG4gICAgICBjbGFzc05hbWU6IHN0cmluZztcbiAgICB9O1xuICAgIGZvcm06IHtcbiAgICAgIGZpZWxkV3JhcHBlcjoge1xuICAgICAgICBbayBpbiBgJHtrZXlvZiB0eXBlb2YgRm9ybU1vZGV9LSR7Rm9ybUZpZWxkW1widHlwZVwiXX1gXTpcbiAgICAgICAgICB8IHN0cmluZ1xuICAgICAgICAgIHwgKChwOiBQcm9wc1dpdGhDaGlsZHJlbjxGb3JtRmllbGQgJiB7IHZhbHVlOiBhbnkgfT4pID0+IFJlYWN0Tm9kZSk7XG4gICAgICB9O1xuICAgICAgdGl0bGVWYXJpYW50OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIGxhYmVsVmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICAvKiogTGFiZWwgc2hvd24gd2hlbiBhIGZpZWxkIGlzIG9wdGlvbmFsICovXG4gICAgICBvcHRpb25hbExhYmVsOiBzdHJpbmc7XG5cbiAgICAgIC8qKiBMYWJlbCBzaG93biB3aGVuIGEgcmVxdWlyZWQgZmllbGQgd2FzIG5vdCBwcm92aWRlZCAqL1xuICAgICAgcmVxdWlyZWRMYWJlbDogc3RyaW5nO1xuXG4gICAgICBvbkZpbGVVcGxvYWQocXVlc3Rpb25JZDogc3RyaW5nLCBmaWxlOiBGaWxlKTogVXBsb2FkVGFzaztcblxuICAgICAgZXh0ZW5zaW9uczogSWZVdGlsaXR5SGFzPFxuICAgICAgICBcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiLFxuICAgICAgICB7XG4gICAgICAgICAgW0sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdW1widHlwZVwiXV06IHtcbiAgICAgICAgICAgIFJlYWRPbmx5PzogKFxuICAgICAgICAgICAgICBwcm9wczogT21pdDxHZW5lcmljRm9ybUZpZWxkUHJvcHM8Sz4sIFwib25BbnN3ZXJcIiB8IFwiZXJyb3JcIj4sXG4gICAgICAgICAgICApID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgICAgIElucHV0OiAocHJvcHM6IEdlbmVyaWNGb3JtRmllbGRQcm9wczxLPikgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICAgICAgdmFsaWRhdG9yOiAoXG4gICAgICAgICAgICAgIGFuc3dlcjogQW5zd2VyQnlGaWVsZDx7IHR5cGU6IEsgfT4gfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHF1ZXN0aW9uOiBGb3JtRmllbGQgJlxuICAgICAgICAgICAgICAgIChGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZHNcIl0gJiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBLO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICAgIGlzVmFsaWQ6IGJvb2xlYW47XG4gICAgICAgICAgICAgIGVycm9yPzogc3RyaW5nO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICA+O1xuICAgIH07XG4gICAgdGV4dDogSWZVdGlsaXR5SGFzPFxuICAgICAgXCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiLFxuICAgICAge1xuICAgICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgICBbayBpbiBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgICh0eXBlb2YgaW1wb3J0KFwiLi4vY29tcG9uZW50cy9UZXh0XCIpKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widHlwZVwiXV06IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgICAgaHRtbFRhZzoge1xuICAgICAgICAgIFtrIGluIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgKHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL1RleHRcIikpW1wiZGVmYXVsdFwiXVxuICAgICAgICAgID5bXCJ0eXBlXCJdXTogXCJwXCIgfCBcImgxXCIgfCBcImgyXCIgfCBcImgzXCIgfCBcImg0XCIgfCBcImg1XCIgfCBcImg2XCI7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgPjtcbiAgICBidXR0b24/OiB7XG4gICAgICBjbGFzc05hbWU/OiB7XG4gICAgICAgIFtrIGluIE5vbk51bGxhYmxlPFxuICAgICAgICAgIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgKHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL0J1dHRvblwiKSlbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInZhcmlhbnRcIl1cbiAgICAgICAgPl0/OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgaW5wdXQ6IHtcbiAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAvKiogVGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0IHRhZyAmIGNhcHRpb24gZWxlbWVudCAodXNlZCBmb3IgZXJyb3IgYW5kIGNhcHRpb24pICovXG4gICAgICAgIGNvbnRhaW5lcjogc3RyaW5nO1xuICAgICAgICAvKiogVGhlIGlucHV0IGh0bWwgdGFnICovXG4gICAgICAgIGlucHV0OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgbGFiZWxWYXJpYW50czoge1xuICAgICAgICBlcnJvcj86IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCI+O1xuICAgICAgICBkaXNjbGFpbWVyPzogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICB9O1xuICAgIH07XG4gICAgZmlsZUlucHV0OiB7XG4gICAgICBWaWV3OiAocHJvcHM6IEZpbGVJbnB1dFZpZXdQcm9wcykgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgcGFzc3dvcmRJbnB1dDoge1xuICAgICAgaWNvblNyYzoge1xuICAgICAgICBwYXNzd29yZEhpZGRlbjogc3RyaW5nO1xuICAgICAgICBwYXNzd29yZFZpc2libGU6IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBhc3luY1dyYXBwZXI6IHtcbiAgICAgIExvYWRpbmdDb21wb25lbnQ/OiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIG1lc3NhZ2VzOiB7XG4gICAgICAgIGVycm9yOiB7XG4gICAgICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgICAgICByZXRyeUJ0bjogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICB9O1xuICAgIHNlbGVjdDoge1xuICAgICAgU3RhdGVJbmRpY2F0b3I6IChwcm9wczogeyBvcGVuOiBib29sZWFuIH0pID0+IEpTWC5FbGVtZW50O1xuICAgICAgY2xhc3NOYW1lPzoge1xuICAgICAgICBkcm9wZG93bj86IHN0cmluZztcbiAgICAgICAgaXRlbT86IHN0cmluZztcbiAgICAgICAgc2VsZWN0ZWRJdGVtPzogc3RyaW5nO1xuICAgICAgICBpbnB1dD86IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBoZWFkZXI6IHtcbiAgICAgIExvZ29JbWFnZTogKCkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBNb3JlT3B0aW9uczogKHsgb3BlbiB9OiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgY29udHJvbHM6IHtcbiAgICAgICAgUHJldlBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICAgIE5leHRQYWdlOiAoeyBkaXNhYmxlZCB9OiB7IGRpc2FibGVkOiBib29sZWFuIH0pID0+IEpTWC5FbGVtZW50O1xuICAgICAgfTtcbiAgICB9O1xuICAgIHRvb2x0aXA6IHtcbiAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICB9O1xuICAgIGFkYXB0aXZlRGlhbG9nOiB7XG4gICAgICBkaWFsb2dDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIGJhY2tkcm9wQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICB2YXJpYW50OiB7XG4gICAgICAgIFtrIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuQWRhcHRpdmVEaWFsb2dWYXJpYW50c1wiPl06IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBhZGFwdGl2ZVNpZGViYXI6IHtcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgY29udHJvbENsYXNzTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgY2hlY2tib3g6IHtcbiAgICAgIENvbXBvbmVudD86IChwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIENoZWNrQm94PikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgcmFkaW86IHtcbiAgICAgIENvbXBvbmVudD86IChwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIFJhZGlvPikgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgdGFiczoge1xuICAgICAgaXRlbTogc3RyaW5nO1xuICAgICAgY29udGFpbmVyOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgaG9vazoge1xuICAgIHVpOiB7XG4gICAgICB1c2VQYWdpbmF0aW9uQ29udHJvbHM6IHtcbiAgICAgICAgTGVmdENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgUmlnaHRDb250cm9sOiAoKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgfTtcbiAgc3RhdGU6IHtcbiAgICBpbWFnZVNjYWxlOiBJbWFnZVNjYWxlcztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbnRleHRDb25maWdTcGVjcyA9IERlZXBQYXJ0aWFsPE9uZVVJQ29udGV4dFNwZWNzPiAmXG4gIFBhdGhPYmplY3Q8T25lVUlDb250ZXh0U3BlY3MsIFwiY29tcG9uZW50LnRleHRcIj47XG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0PENvbnRleHRDb25maWdTcGVjcz4obnVsbCBhcyBhbnkpO1xuXG5mdW5jdGlvbiBPbmVVSVByb3ZpZGVyKHtcbiAgY2hpbGRyZW4sXG4gIGNvbmZpZyxcbn06IFByb3BzV2l0aENoaWxkcmVuPHsgY29uZmlnOiBDb250ZXh0Q29uZmlnU3BlY3MgfT4pIHtcbiAgY29uc3QgcHJldkN0eCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG4gIGNvbnN0IHNjYWxlID0gdXNlQWRhcHRpdmVJbWFnZSgpO1xuICBjb25zdCBtZXJnZWRDb25maWcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2UoY2xvbmUocHJldkN0eCksIGNvbmZpZywge1xuICAgICAgc3RhdGU6IHtcbiAgICAgICAgaW1hZ2VTY2FsZTogc2NhbGUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbcHJldkN0eCwgY29uZmlnLCBzY2FsZV0pO1xuXG4gIHJldHVybiA8Q29udGV4dC5Qcm92aWRlciB2YWx1ZT17bWVyZ2VkQ29uZmlnfT57Y2hpbGRyZW59PC9Db250ZXh0LlByb3ZpZGVyPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgT25lVUlQcm92aWRlcjtcblxuZnVuY3Rpb24gcGF0aFRvSnNvbihcbiAgcGF0aDogc3RyaW5nLFxuICBrZXk/OiBzdHJpbmcgfCBTeW1ib2wsXG4gIGV4YW1wbGVDb25maWcgPSBcIlRIRV9NSVNTSU5HX0NPTkZJR1wiLFxuKSB7XG4gIGlmICgha2V5KSB7XG4gICAga2V5ID0gcGF0aC5zcGxpdChcIi5cIikuc2xpY2UoLTEpWzBdO1xuICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoYC4ke2tleX1gLCBcIlwiKTtcbiAgfVxuXG4gIHJldHVybiBwYXRoXG4gICAgLnNwbGl0KFwiLlwiKVxuICAgIC5jb25jYXQoa2V5IGFzIHN0cmluZylcbiAgICAucmVkdWNlKChyZXN1bHQsIGtleSwgaWR4LCBhcnIpID0+IHtcbiAgICAgIChhcnIuc2xpY2UoMCwgaWR4KS5yZWR1Y2UoKHIsIGspID0+IChyIGFzIGFueSlba10sIHJlc3VsdCkgYXMgYW55KVtrZXldID1cbiAgICAgICAgaWR4ID09PSBhcnIubGVuZ3RoIC0gMSA/IGV4YW1wbGVDb25maWcgOiB7fTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSwge30pO1xufVxuXG5mdW5jdGlvbiBFcnJvcldyYXBwZXIoXG4gIG9yaWdpbmFsT2JqZWN0OiBhbnksXG4gIHBhdGg6IHN0cmluZyA9IFwiY29uZmlnXCIsXG4pOiB0eXBlb2YgUHJveHkge1xuICByZXR1cm4gbmV3IFByb3h5KFxuICAgIHR5cGVvZiBvcmlnaW5hbE9iamVjdCAhPT0gXCJvYmplY3RcIiA/IHt9IDogb3JpZ2luYWxPYmplY3QgfHwge30sXG4gICAge1xuICAgICAgZ2V0KF90YXJnZXQsIGtleSkge1xuICAgICAgICBpZiAoa2V5ID09PSBTeW1ib2wudG9QcmltaXRpdmUgfHwga2V5ID09PSBcIiQkdHlwZW9mXCIpIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4gX3RhcmdldFtrZXldO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBvcmlnaW5hbE9iamVjdFtrZXldO1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIilcbiAgICAgICAgICAgIHJldHVybiBFcnJvcldyYXBwZXIodmFsdWUsIFtwYXRoLCBrZXldLmZpbHRlcihCb29sZWFuKS5qb2luKFwiLlwiKSk7XG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc3QgcGF0aEpzb24gPSBwYXRoVG9Kc29uKHBhdGgsIGtleSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEEgY29tcG9uZW50IGlzIHVzaW5nIHRoZSBVSSBjb25maWcgJHtbcGF0aCwga2V5XS5qb2luKFwiLlwiKX0uXG5cblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnQvb25lLXVpL2Rpc3QvY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5cbiAgLi4uXG4ke2A8T25lVUlQcm92aWRlciBjb25maWc9eyR7SlNPTi5zdHJpbmdpZnkocGF0aEpzb24sIG51bGwsIDQpfX0+XG4uLi5cbjwvT25lVUlQcm92aWRlcj5gLnJlcGxhY2UoL1sgXS9nLCBcIi1cIil9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbnRleHQoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRleHQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgIHJldHVybiBFcnJvcldyYXBwZXIoY29udGV4dCkgYXMgdW5rbm93biBhcyBPbmVVSUNvbnRleHRTcGVjcztcblxuICByZXR1cm4gY29udGV4dCBhcyBPbmVVSUNvbnRleHRTcGVjcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJVmlldzxQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPj4oXG4gIG9uZXVpQ29uZmlnUGF0aDogUCxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHByb3ZpZGVkVmFsdWUgPSB1c2VPbmVVSUNvbmZpZyhvbmV1aUNvbmZpZ1BhdGgpO1xuICBpZiAoIXByb3ZpZGVkVmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBjb21wb25lbnQgJHtjb21wb25lbnROYW1lfSByZXF1aXJlcyBhIHZpZXcgdG8gYmUgc2V0IG9uIE9uZVVJIGluaXRpYWxpemF0aW9uXG5cblZpZXdzIHJlYWR5IGZvciB1c2Ugd2l0aCB0aGlzIGNvbXBvbmVudCBzaGFsbCBiZSBhdmFpbGFibGUgYXQ6XG5pbXBvcnQgU29tZVZpZXcgZnJvbSBcIkBvbmVwZXJjZW50aW8vb25lLXVpL2Rpc3QvY29tcG9uZW50cy8ke2NvbXBvbmVudE5hbWV9L1ZpZXcvU29tZVZpZXdcIjtcbiAgICBcblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnRpby9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShcbiAgcGF0aFRvSnNvbihvbmV1aUNvbmZpZ1BhdGgsIHVuZGVmaW5lZCwgXCJTb21lVmlld1wiKSxcbiAgbnVsbCxcbiAgNCxcbil9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlZFZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb25maWc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBwcm9wOiBQLFxuKTogR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPjtcbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxcbiAgUCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4sXG4gIFQgZXh0ZW5kcyBEZWVwUGFydGlhbDxHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+Pixcbj4ocHJvcDogUCwgZGVmYXVsdFZhbHVlOiBUKTogTm9uTnVsbGFibGU8R2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPj47XG5leHBvcnQgZnVuY3Rpb24gdXNlT25lVUlDb25maWc8XG4gIFAgZXh0ZW5kcyBGaWVsZFBhdGg8T25lVUlDb250ZXh0U3BlY3M+LFxuICBUIGV4dGVuZHMgR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPixcbj4ocHJvcDogUCwgZGVmYXVsdFZhbHVlPzogVCk6IEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4gfCBUIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgY29uc3QgdmFsID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gZ2V0KGNvbnRleHQsIHByb3ApO1xuICAgIH0sIFtjb250ZXh0LCBwcm9wXSk7XG4gICAgaWYgKFxuICAgICAgdHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgdHlwZW9mIHZhbCA9PT0gXCJmdW5jdGlvblwiIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLkNvbXBvbmVudFwiKSB8fFxuICAgICAgcHJvcC5lbmRzV2l0aChcIi5WaWV3XCIpXG4gICAgKVxuICAgICAgcmV0dXJuICh2YWwgYXMgYW55KSB8fCBkZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJib29sZWFuXCIpIHJldHVybiB2YWwgYXMgYW55O1xuICAgIHJldHVybiBFcnJvcldyYXBwZXIodmFsIHx8IGRlZmF1bHRWYWx1ZSkgYXMgdW5rbm93biBhcyBOb25OdWxsYWJsZTxUPjtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gIH0sIFtjb250ZXh0LCBwcm9wXSk7XG4gIHJldHVybiB2YWx1ZSB8fCBkZWZhdWx0VmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW50SW1hZ2VTY2FsZSgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHQuc3RhdGUhLmltYWdlU2NhbGUhO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBV0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUE0RCxTQUFBSSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsQ0FBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFhLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FB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
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiT25lVUlQcm92aWRlciIsIl9yZWYiLCJjaGlsZHJlbiIsImNvbmZpZyIsInByZXZDdHgiLCJ1c2VDb250ZXh0Iiwic2NhbGUiLCJ1c2VBZGFwdGl2ZUltYWdlIiwibWVyZ2VkQ29uZmlnIiwidXNlTWVtbyIsIm1lcmdlIiwiY2xvbmUiLCJzdGF0ZSIsImltYWdlU2NhbGUiLCJjcmVhdGVFbGVtZW50IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInBhdGhUb0pzb24iLCJwYXRoIiwia2V5IiwiZXhhbXBsZUNvbmZpZyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInNwbGl0Iiwic2xpY2UiLCJyZXBsYWNlIiwiY29uY2F0IiwicmVkdWNlIiwicmVzdWx0IiwiaWR4IiwiYXJyIiwiayIsIkVycm9yV3JhcHBlciIsIm9yaWdpbmFsT2JqZWN0IiwiUHJveHkiLCJfdGFyZ2V0IiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIkBtdXJpdGF2by93ZWJwYWNrLW1pY3JvZnJvbnRlbmQtc2NyaXB0cy9iaW4vdHlwZXMvSW1hZ2VTY2FsZXNcIjtcbmltcG9ydCB7IFVwbG9hZFRhc2sgfSBmcm9tIFwiZmlyZWJhc2Uvc3RvcmFnZVwiO1xuaW1wb3J0IHtcbiAgRmllbGRQYXRoLFxuICBGcm9tT25lUGVyY2VudFV0aWxpdHksXG4gIE5hbWVzcGFjZUFjY2Vzc29ycyxcbiAgUGF0aCxcbiAgUGF0aE9iamVjdCxcbn0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB1c2VBZGFwdGl2ZUltYWdlIGZyb20gXCIuLi9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvblwiO1xuaW1wb3J0IENoZWNrQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0NoZWNrQm94XCI7XG5pbXBvcnQgUmFkaW8gZnJvbSBcIi4uL2NvbXBvbmVudHMvUmFkaW8vUmFkaW9cIjtcbmltcG9ydCB7IEZpbGVJbnB1dFZpZXdQcm9wcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0ZpbGVJbnB1dC9WaWV3L1ZpZXcudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFuc3dlckJ5RmllbGQsXG4gIEZvcm1GaWVsZCxcbiAgR2VuZXJpY0Zvcm1GaWVsZFByb3BzLFxufSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm1GaWVsZC9Gb3JtRmllbGQudHlwZXNcIjtcbmltcG9ydCB7IEJhc2VRdWVzdGlvbiwgRm9ybU1vZGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Gb3JtL0Zvcm0udHlwZXNcIjtcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBOb25OdWxsYWJsZTxUW1BdPiBleHRlbmRzIEZ1bmN0aW9uXG4gICAgPyBUW1BdXG4gICAgOiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbnR5cGUgSWZVdGlsaXR5SGFzPE4gZXh0ZW5kcyBOYW1lc3BhY2VBY2Nlc3NvcnMsIERlY2xhcmU+ID1cbiAgRnJvbU9uZVBlcmNlbnRVdGlsaXR5PE4+IGV4dGVuZHMgYFRvIGRlZmluZSB0aGlzIHByb3BlcnR5IHlvdSBuZWVkIHRvIHNldCBPbmVwZXJjZW50VXRpbGl0eS4ke3N0cmluZ30gZ2xvYmFsbHlgXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IERlY2xhcmU7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgYXZhaWxhYmxlIFVJIGZlYXR1cmVzIGFuZCB0aGVpciBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IHR5cGUgT25lVUlDb250ZXh0U3BlY3MgPSB7XG4gIGNvbXBvbmVudDoge1xuICAgIGFzeW5jVHJpZ2dlckNvbnRhaW5lcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgIH07XG4gICAgc3BhY2luZzoge1xuICAgICAgdmFyaWFudHM6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5TcGFjaW5nVmFyaWFudHNcIj5dOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH07XG4gICAgY29sbGFwc2FibGU6IHtcbiAgICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIH07XG4gICAgZm9ybToge1xuICAgICAgZmllbGRXcmFwcGVyOiB7XG4gICAgICAgIFtrIGluIGAke2tleW9mIHR5cGVvZiBGb3JtTW9kZX0tJHtGb3JtRmllbGRbXCJ0eXBlXCJdfWBdOlxuICAgICAgICAgIHwgc3RyaW5nXG4gICAgICAgICAgfCAoKHA6IFByb3BzV2l0aENoaWxkcmVuPEZvcm1GaWVsZCAmIHsgdmFsdWU6IGFueSB9PikgPT4gUmVhY3ROb2RlKTtcbiAgICAgIH07XG4gICAgICB0aXRsZVZhcmlhbnQ6IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCI+O1xuICAgICAgbGFiZWxWYXJpYW50OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIC8qKiBMYWJlbCBzaG93biB3aGVuIGEgZmllbGQgaXMgb3B0aW9uYWwgKi9cbiAgICAgIG9wdGlvbmFsTGFiZWw6IHN0cmluZztcblxuICAgICAgLyoqIExhYmVsIHNob3duIHdoZW4gYSByZXF1aXJlZCBmaWVsZCB3YXMgbm90IHByb3ZpZGVkICovXG4gICAgICByZXF1aXJlZExhYmVsOiBzdHJpbmc7XG5cbiAgICAgIG9uRmlsZVVwbG9hZChxdWVzdGlvbklkOiBzdHJpbmcsIGZpbGU6IEZpbGUpOiBVcGxvYWRUYXNrO1xuXG4gICAgICBleHRlbnNpb25zOiBJZlV0aWxpdHlIYXM8XG4gICAgICAgIFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBbSyBpbiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIj5bXCJmaWVsZHNcIl1bXCJ0eXBlXCJdXToge1xuICAgICAgICAgICAgUmVhZE9ubHk/OiAoXG4gICAgICAgICAgICAgIHByb3BzOiBPbWl0PEdlbmVyaWNGb3JtRmllbGRQcm9wczxLPiwgXCJvbkFuc3dlclwiIHwgXCJlcnJvclwiPixcbiAgICAgICAgICAgICkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICAgICAgSW5wdXQ6IChwcm9wczogR2VuZXJpY0Zvcm1GaWVsZFByb3BzPEs+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICAgICAgICB2YWxpZGF0b3I6IChcbiAgICAgICAgICAgICAgYW5zd2VyOiBBbnN3ZXJCeUZpZWxkPHsgdHlwZTogSyB9PiB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgcXVlc3Rpb246IEZvcm1GaWVsZCAmXG4gICAgICAgICAgICAgICAgKEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXSAmIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IEs7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgaXNWYWxpZDogYm9vbGVhbjtcbiAgICAgICAgICAgICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgID47XG4gICAgfTtcbiAgICB0ZXh0OiBJZlV0aWxpdHlIYXM8XG4gICAgICBcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCIsXG4gICAgICB7XG4gICAgICAgIGNsYXNzTmFtZToge1xuICAgICAgICAgIFtrIGluIFJlYWN0LkNvbXBvbmVudFByb3BzPFxuICAgICAgICAgICAgKHR5cGVvZiBpbXBvcnQoXCIuLi9jb21wb25lbnRzL1RleHRcIikpW1wiZGVmYXVsdFwiXVxuICAgICAgICAgID5bXCJ0eXBlXCJdXTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgICBodG1sVGFnOiB7XG4gICAgICAgICAgW2sgaW4gUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICAodHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvVGV4dFwiKSlbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInR5cGVcIl1dOiBcInBcIiB8IFwiaDFcIiB8IFwiaDJcIiB8IFwiaDNcIiB8IFwiaDRcIiB8IFwiaDVcIiB8IFwiaDZcIjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICA+O1xuICAgIGJ1dHRvbj86IHtcbiAgICAgIGNsYXNzTmFtZT86IHtcbiAgICAgICAgW2sgaW4gTm9uTnVsbGFibGU8XG4gICAgICAgICAgUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICAodHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvQnV0dG9uXCIpKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widmFyaWFudFwiXVxuICAgICAgICA+XT86IHN0cmluZztcbiAgICAgIH07XG4gICAgICBDb21wb25lbnQ/OiAocHJvcHM6IENvbXBvbmVudFByb3BzPHR5cGVvZiBCdXR0b24+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBpbnB1dDoge1xuICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgIC8qKiBUaGUgd3JhcHBlciBhcm91bmQgaW5wdXQgdGFnICYgY2FwdGlvbiBlbGVtZW50ICh1c2VkIGZvciBlcnJvciBhbmQgY2FwdGlvbikgKi9cbiAgICAgICAgY29udGFpbmVyOiBzdHJpbmc7XG4gICAgICAgIC8qKiBUaGUgaW5wdXQgaHRtbCB0YWcgKi9cbiAgICAgICAgaW5wdXQ6IHN0cmluZztcbiAgICAgIH07XG4gICAgICBsYWJlbFZhcmlhbnRzOiB7XG4gICAgICAgIGVycm9yPzogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICAgIGRpc2NsYWltZXI/OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmaWxlSW5wdXQ6IHtcbiAgICAgIFZpZXc6IChwcm9wczogRmlsZUlucHV0Vmlld1Byb3BzKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBwYXNzd29yZElucHV0OiB7XG4gICAgICBpY29uU3JjOiB7XG4gICAgICAgIHBhc3N3b3JkSGlkZGVuOiBzdHJpbmc7XG4gICAgICAgIHBhc3N3b3JkVmlzaWJsZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFzeW5jV3JhcHBlcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudD86ICgpID0+IEpTWC5FbGVtZW50O1xuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgIHJldHJ5QnRuOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH07XG4gICAgc2VsZWN0OiB7XG4gICAgICBTdGF0ZUluZGljYXRvcjogKHByb3BzOiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBjbGFzc05hbWU/OiB7XG4gICAgICAgIGRyb3Bkb3duPzogc3RyaW5nO1xuICAgICAgICBpdGVtPzogc3RyaW5nO1xuICAgICAgICBzZWxlY3RlZEl0ZW0/OiBzdHJpbmc7XG4gICAgICAgIGlucHV0Pzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGhlYWRlcjoge1xuICAgICAgTG9nb0ltYWdlOiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIE1vcmVPcHRpb25zOiAoeyBvcGVuIH06IHsgb3BlbjogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICBjb250cm9sczoge1xuICAgICAgICBQcmV2UGFnZTogKHsgZGlzYWJsZWQgfTogeyBkaXNhYmxlZDogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICAgICAgTmV4dFBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICB9O1xuICAgIH07XG4gICAgdG9vbHRpcDoge1xuICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWRhcHRpdmVEaWFsb2c6IHtcbiAgICAgIGRpYWxvZ0NsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgYmFja2Ryb3BDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFkYXB0aXZlU2lkZWJhcjoge1xuICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICBjb250cm9sQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjaGVja2JveDoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2hlY2tCb3g+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICByYWRpbzoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgUmFkaW8+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJzOiB7XG4gICAgICBpdGVtOiBzdHJpbmc7XG4gICAgICBjb250YWluZXI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBob29rOiB7XG4gICAgdWk6IHtcbiAgICAgIHVzZVBhZ2luYXRpb25Db250cm9sczoge1xuICAgICAgICBMZWZ0Q29udHJvbDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICBSaWdodENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBzdGF0ZToge1xuICAgIGltYWdlU2NhbGU6IEltYWdlU2NhbGVzO1xuICB9O1xufTtcblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgdXNlZCB0byBzZXQgdXAgdGhlIFVJIHByb3ZpZGVyLlxuICovXG5leHBvcnQgdHlwZSBDb250ZXh0Q29uZmlnU3BlY3MgPSBEZWVwUGFydGlhbDxPbmVVSUNvbnRleHRTcGVjcz4gJlxuICBQYXRoT2JqZWN0PE9uZVVJQ29udGV4dFNwZWNzLCBcImNvbXBvbmVudC50ZXh0XCI+O1xuXG5jb25zdCBDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxDb250ZXh0Q29uZmlnU3BlY3M+KG51bGwgYXMgYW55KTtcblxuZnVuY3Rpb24gT25lVUlQcm92aWRlcih7XG4gIGNoaWxkcmVuLFxuICBjb25maWcsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7IGNvbmZpZzogQ29udGV4dENvbmZpZ1NwZWNzIH0+KSB7XG4gIGNvbnN0IHByZXZDdHggPSB1c2VDb250ZXh0KENvbnRleHQpO1xuICBjb25zdCBzY2FsZSA9IHVzZUFkYXB0aXZlSW1hZ2UoKTtcbiAgY29uc3QgbWVyZ2VkQ29uZmlnID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlKGNsb25lKHByZXZDdHgpLCBjb25maWcsIHtcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIGltYWdlU2NhbGU6IHNjYWxlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW3ByZXZDdHgsIGNvbmZpZywgc2NhbGVdKTtcblxuICByZXR1cm4gPENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e21lcmdlZENvbmZpZ30+e2NoaWxkcmVufTwvQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbi8qKlxuICogVGhlIG1haW4gcHJvdmlkZXIgY29tcG9uZW50IHRoYXQgd3JhcHMgeW91ciBhcHAgdG8gZW5hYmxlIFVJIGZlYXR1cmVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBPbmVVSVByb3ZpZGVyO1xuXG5mdW5jdGlvbiBwYXRoVG9Kc29uKFxuICBwYXRoOiBzdHJpbmcsXG4gIGtleT86IHN0cmluZyB8IFN5bWJvbCxcbiAgZXhhbXBsZUNvbmZpZyA9IFwiVEhFX01JU1NJTkdfQ09ORklHXCIsXG4pIHtcbiAgaWYgKCFrZXkpIHtcbiAgICBrZXkgPSBwYXRoLnNwbGl0KFwiLlwiKS5zbGljZSgtMSlbMF07XG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZShgLiR7a2V5fWAsIFwiXCIpO1xuICB9XG5cbiAgcmV0dXJuIHBhdGhcbiAgICAuc3BsaXQoXCIuXCIpXG4gICAgLmNvbmNhdChrZXkgYXMgc3RyaW5nKVxuICAgIC5yZWR1Y2UoKHJlc3VsdCwga2V5LCBpZHgsIGFycikgPT4ge1xuICAgICAgKGFyci5zbGljZSgwLCBpZHgpLnJlZHVjZSgociwgaykgPT4gKHIgYXMgYW55KVtrXSwgcmVzdWx0KSBhcyBhbnkpW2tleV0gPVxuICAgICAgICBpZHggPT09IGFyci5sZW5ndGggLSAxID8gZXhhbXBsZUNvbmZpZyA6IHt9O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIEVycm9yV3JhcHBlcihcbiAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgcGF0aDogc3RyaW5nID0gXCJjb25maWdcIixcbik6IHR5cGVvZiBQcm94eSB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAgdHlwZW9mIG9yaWdpbmFsT2JqZWN0ICE9PSBcIm9iamVjdFwiID8ge30gOiBvcmlnaW5hbE9iamVjdCB8fCB7fSxcbiAgICB7XG4gICAgICBnZXQoX3RhcmdldCwga2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT09IFN5bWJvbC50b1ByaW1pdGl2ZSB8fCBrZXkgPT09IFwiJCR0eXBlb2ZcIikge1xuICAgICAgICAgIHJldHVybiAoKSA9PiBfdGFyZ2V0W2tleV07XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9yaWdpbmFsT2JqZWN0W2tleV07XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKVxuICAgICAgICAgICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWx1ZSwgW3BhdGgsIGtleV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIuXCIpKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zdCBwYXRoSnNvbiA9IHBhdGhUb0pzb24ocGF0aCwga2V5KTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQSBjb21wb25lbnQgaXMgdXNpbmcgdGhlIFVJIGNvbmZpZyAke1twYXRoLCBrZXldLmpvaW4oXCIuXCIpfS5cblxuUGxlYXNlIGRlZmluZSBpdCB1c2luZzpcbmltcG9ydCBPbmVVSVByb3ZpZGVyIGZyb20gXCJAb25lcGVyY2VudC9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShwYXRoSnNvbiwgbnVsbCwgNCl9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbnRleHQoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRleHQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgIHJldHVybiBFcnJvcldyYXBwZXIoY29udGV4dCkgYXMgdW5rbm93biBhcyBPbmVVSUNvbnRleHRTcGVjcztcblxuICByZXR1cm4gY29udGV4dCBhcyBPbmVVSUNvbnRleHRTcGVjcztcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IGEgc3BlY2lmaWMgVUkgdmlldyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSVZpZXc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBvbmV1aUNvbmZpZ1BhdGg6IFAsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbikge1xuICBjb25zdCBwcm92aWRlZFZhbHVlID0gdXNlT25lVUlDb25maWcob25ldWlDb25maWdQYXRoKTtcbiAgaWYgKCFwcm92aWRlZFZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gcmVxdWlyZXMgYSB2aWV3IHRvIGJlIHNldCBvbiBPbmVVSSBpbml0aWFsaXphdGlvblxuXG5WaWV3cyByZWFkeSBmb3IgdXNlIHdpdGggdGhpcyBjb21wb25lbnQgc2hhbGwgYmUgYXZhaWxhYmxlIGF0OlxuaW1wb3J0IFNvbWVWaWV3IGZyb20gXCJAb25lcGVyY2VudGlvL29uZS11aS9kaXN0L2NvbXBvbmVudHMvJHtjb21wb25lbnROYW1lfS9WaWV3L1NvbWVWaWV3XCI7XG5cblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnRpby9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShcbiAgcGF0aFRvSnNvbihvbmV1aUNvbmZpZ1BhdGgsIHVuZGVmaW5lZCwgXCJTb21lVmlld1wiKSxcbiAgbnVsbCxcbiAgNCxcbil9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlZFZhbHVlO1xufVxuXG4vKipcbiAqIEEgaG9vayB0byByZXRyaWV2ZSBhIHNwZWNpZmljIHZhbHVlIGZyb20gdGhlIFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPj4oXG4gIHByb3A6IFAsXG4pOiBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29uZmlnPFxuICBQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPixcbiAgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU6IFQpOiBOb25OdWxsYWJsZTxHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+PjtcbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxcbiAgUCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4sXG4gIFQgZXh0ZW5kcyBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU/OiBUKTogR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPiB8IFQge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICBjb25zdCB2YWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gICAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiIHx8XG4gICAgICB0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3AuZW5kc1dpdGgoXCIuQ29tcG9uZW50XCIpIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLlZpZXdcIilcbiAgICApXG4gICAgICByZXR1cm4gKHZhbCBhcyBhbnkpIHx8IGRlZmF1bHRWYWx1ZTtcblxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbCBhcyBhbnk7XG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWwgfHwgZGVmYXVsdFZhbHVlKSBhcyB1bmtub3duIGFzIE5vbk51bGxhYmxlPFQ+O1xuICB9XG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldChjb250ZXh0LCBwcm9wKTtcbiAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgcmV0dXJuIHZhbHVlIHx8IGRlZmF1bHRWYWx1ZTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IHRoZSBjdXJyZW50IGltYWdlIHNjYWxlIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW50SW1hZ2VTY2FsZSgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHQuc3RhdGUhLmltYWdlU2NhbGUhO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBV0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUE0RCxTQUFBSSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQs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QUFBMUIsTUFBQSxDQUdXMEIsYUFBYSw2SUFBQTFCLE1BQUEsQ0FNeEUsMEJBQUFBLE1BQUEsQ0FBMEJpQixJQUFJLENBQUNDLFNBQVMsQ0FDeEM1QixVQUFVLENBQUNtQyxlQUFlLEVBQUU3QixTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ2xELElBQUksRUFDSixDQUNGLENBQUMsK0JBRWlCRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFFLENBQUM7RUFDdkM7RUFFQSxPQUFPNEIsYUFBYTtBQUN0Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBUU8sU0FBU0MsY0FBY0EsQ0FHNUJDLElBQU8sRUFBRUMsWUFBZ0IsRUFBaUM7RUFDMUQsTUFBTVYsT0FBTyxHQUFHLElBQUE1QyxpQkFBVSxFQUFDUCxPQUFPLENBQUM7RUFDbkMsSUFBSW9ELE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssYUFBYSxFQUFFO0lBQzFDLE1BQU1RLEdBQUcsR0FBRyxJQUFBbkQsY0FBTyxFQUFDLE1BQU07TUFDeEIsT0FBTyxJQUFBbEIsWUFBRyxFQUFDMEQsT0FBTyxFQUFFUyxJQUFJLENBQUM7SUFDM0IsQ0FBQyxFQUFFLENBQUNULE9BQU8sRUFBRVMsSUFBSSxDQUFDLENBQUM7SUFDbkIsSUFDRSxPQUFPRSxHQUFHLEtBQUssUUFBUSxJQUN2QixPQUFPQSxHQUFHLEtBQUssVUFBVSxJQUN6QkYsSUFBSSxDQUFDRyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQzNCSCxJQUFJLENBQUNHLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFFdEIsT0FBUUQsR0FBRyxJQUFZRCxZQUFZO0lBRXJDLElBQUksT0FBT0MsR0FBRyxLQUFLLFNBQVMsRUFBRSxPQUFPQSxHQUFHO0lBQ3hDLE9BQU96QixZQUFZLENBQUN5QixHQUFHLElBQUlELFlBQVksQ0FBQztFQUMxQztFQUNBLE1BQU0zQyxLQUFLLEdBQUcsSUFBQVAsY0FBTyxFQUFDLE1BQU07SUFDMUIsT0FBTyxJQUFBbEIsWUFBRyxFQUFDMEQsT0FBTyxFQUFFUyxJQUFJLENBQUM7RUFDM0IsQ0FBQyxFQUFFLENBQUNULE9BQU8sRUFBRVMsSUFBSSxDQUFDLENBQUM7RUFDbkIsT0FBTzFDLEtBQUssSUFBSTJDLFlBQVk7QUFDOUI7O0FBRUE7QUFDQTtBQUNBO0FBQ08sU0FBU0csb0JBQW9CQSxDQUFBLEVBQUc7RUFDckMsTUFBTWIsT0FBTyxHQUFHLElBQUE1QyxpQkFBVSxFQUFDUCxPQUFPLENBQUM7RUFFbkMsT0FBT21ELE9BQU8sQ0FBQ3JDLEtBQUssQ0FBRUMsVUFBVTtBQUNsQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A hook that helps you watch when HTML or SVG elements appear on the screen.
|
|
3
|
+
* It lets you run code automatically when an element becomes visible to the user.
|
|
4
|
+
*/
|
|
1
5
|
export default function useIntersection(): {
|
|
2
6
|
observe: (e: HTMLOrSVGElement, cb: () => void) => void;
|
|
3
7
|
unobserve: (e: HTMLOrSVGElement) => void;
|
|
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = useIntersection;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
/**
|
|
9
|
+
* A hook that helps you watch when HTML or SVG elements appear on the screen.
|
|
10
|
+
* It lets you run code automatically when an element becomes visible to the user.
|
|
11
|
+
*/
|
|
8
12
|
function useIntersection() {
|
|
9
13
|
const {
|
|
10
14
|
current: targetMap
|
|
@@ -32,4 +36,4 @@ function useIntersection() {
|
|
|
32
36
|
};
|
|
33
37
|
}, []);
|
|
34
38
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlSW50ZXJzZWN0aW9uIiwiY3VycmVudCIsInRhcmdldE1hcCIsInVzZVJlZiIsIm9ic2VydmVyIiwid2luZG93IiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJlbHMiLCJmb3JFYWNoIiwiZSIsImkiLCJyZXN1bHQiLCJmaW5kIiwiZWwiLCJ0YXJnZXQiLCJpc0ludGVyc2VjdGluZyIsInVzZU1lbW8iLCJvYnNlcnZlIiwiY2IiLCJwdXNoIiwidW5vYnNlcnZlIiwic3BsaWNlIiwiZmluZEluZGV4Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUludGVyc2VjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBBIGhvb2sgdGhhdCBoZWxwcyB5b3Ugd2F0Y2ggd2hlbiBIVE1MIG9yIFNWRyBlbGVtZW50cyBhcHBlYXIgb24gdGhlIHNjcmVlbi5cbiAqIEl0IGxldHMgeW91IHJ1biBjb2RlIGF1dG9tYXRpY2FsbHkgd2hlbiBhbiBlbGVtZW50IGJlY29tZXMgdmlzaWJsZSB0byB0aGUgdXNlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlSW50ZXJzZWN0aW9uKCkge1xuICBjb25zdCB7IGN1cnJlbnQ6IHRhcmdldE1hcCB9ID0gdXNlUmVmPFtIVE1MT3JTVkdFbGVtZW50LCAoKSA9PiB2b2lkXVtdPihbXSk7XG4gIGNvbnN0IHsgY3VycmVudDogb2JzZXJ2ZXIgfSA9IHVzZVJlZihcbiAgICAoXCJJbnRlcnNlY3Rpb25PYnNlcnZlclwiIGluIHdpbmRvdykgPyBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVscykgPT4ge1xuICAgICAgZWxzLmZvckVhY2goKGUsIGkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGFyZ2V0TWFwLmZpbmQoKGVsKSA9PiBlbFswXSA9PT0gZS50YXJnZXQgYXMgYW55KTtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiBlLmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgcmVzdWx0WzFdKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pIDogbnVsbFxuICApO1xuICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6IChlOiBIVE1MT3JTVkdFbGVtZW50LCBjYjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICB0YXJnZXRNYXAucHVzaChbZSwgY2JdKTtcbiAgICAgICAgaWYgKG9ic2VydmVyKVxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGUgYXMgYW55KTtcbiAgICAgIH0sXG4gICAgICB1bm9ic2VydmU6IChlOiBIVE1MT3JTVkdFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChvYnNlcnZlcilcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGUgYXMgYW55KTtcbiAgICAgICAgdGFyZ2V0TWFwLnNwbGljZShcbiAgICAgICAgICB0YXJnZXRNYXAuZmluZEluZGV4KChlbCkgPT4gZWxbMF0gPT09IGUpLFxuICAgICAgICAgIDFcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSwgW10pO1xufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTQyxlQUFlQSxDQUFBLEVBQUc7RUFDeEMsTUFBTTtJQUFFQyxPQUFPLEVBQUVDO0VBQVUsQ0FBQyxHQUFHLElBQUFDLGFBQU0sRUFBbUMsRUFBRSxDQUFDO0VBQzNFLE1BQU07SUFBRUYsT0FBTyxFQUFFRztFQUFTLENBQUMsR0FBRyxJQUFBRCxhQUFNLEVBQ2pDLHNCQUFzQixJQUFJRSxNQUFNLEdBQUksSUFBSUMsb0JBQW9CLENBQUVDLEdBQUcsSUFBSztJQUNyRUEsR0FBRyxDQUFDQyxPQUFPLENBQUMsQ0FBQ0MsQ0FBQyxFQUFFQyxDQUFDLEtBQUs7TUFDcEIsTUFBTUMsTUFBTSxHQUFHVCxTQUFTLENBQUNVLElBQUksQ0FBRUMsRUFBRSxJQUFLQSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUtKLENBQUMsQ0FBQ0ssTUFBYSxDQUFDO01BQ2hFLElBQUlILE1BQU0sSUFBSUYsQ0FBQyxDQUFDTSxjQUFjLEVBQUU7UUFDOUJKLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ2I7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDLENBQUMsR0FBRyxJQUNQLENBQUM7RUFDRCxPQUFPLElBQUFLLGNBQU8sRUFBQyxNQUFNO0lBQ25CLE9BQU87TUFDTEMsT0FBTyxFQUFFQSxDQUFDUixDQUFtQixFQUFFUyxFQUFjLEtBQUs7UUFDaERoQixTQUFTLENBQUNpQixJQUFJLENBQUMsQ0FBQ1YsQ0FBQyxFQUFFUyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJZCxRQUFRLEVBQ1pBLFFBQVEsQ0FBQ2EsT0FBTyxDQUFDUixDQUFRLENBQUM7TUFDNUIsQ0FBQztNQUNEVyxTQUFTLEVBQUdYLENBQW1CLElBQUs7UUFDbEMsSUFBSUwsUUFBUSxFQUNaQSxRQUFRLENBQUNnQixTQUFTLENBQUNYLENBQVEsQ0FBQztRQUM1QlAsU0FBUyxDQUFDbUIsTUFBTSxDQUNkbkIsU0FBUyxDQUFDb0IsU0FBUyxDQUFFVCxFQUFFLElBQUtBLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBS0osQ0FBQyxDQUFDLEVBQ3hDLENBQ0YsQ0FBQztNQUNIO0lBQ0YsQ0FBQztFQUNILENBQUMsRUFBRSxFQUFFLENBQUM7QUFDUiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useRef } from "react";
|
|
2
2
|
/**
|
|
3
|
-
* This
|
|
3
|
+
* This hook combines multiple refs into one so they all point to the same element
|
|
4
4
|
*/
|
|
5
5
|
export default function useMergeRefs<T extends ReturnType<typeof useRef>>(mainRef: T, ...otherRefs: (T | undefined)[]): T;
|
|
6
6
|
/**
|
|
@@ -7,8 +7,9 @@ exports.default = useMergeRefs;
|
|
|
7
7
|
exports.useMergeRefsFunc = useMergeRefsFunc;
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
/**
|
|
10
|
-
* This
|
|
10
|
+
* This hook combines multiple refs into one so they all point to the same element
|
|
11
11
|
*/
|
|
12
|
+
// Combines multiple refs to work together
|
|
12
13
|
function useMergeRefs(mainRef) {
|
|
13
14
|
for (var _len = arguments.length, otherRefs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
14
15
|
otherRefs[_key - 1] = arguments[_key];
|
|
@@ -22,6 +23,7 @@ function useMergeRefs(mainRef) {
|
|
|
22
23
|
/**
|
|
23
24
|
* This function exists so we can work with multiple refs as a single one, almost immediatly
|
|
24
25
|
*/
|
|
26
|
+
// Creates a function to set all refs at once
|
|
25
27
|
function useMergeRefsFunc(mainRef) {
|
|
26
28
|
for (var _len2 = arguments.length, otherRefs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
27
29
|
otherRefs[_key2 - 1] = arguments[_key2];
|
|
@@ -32,4 +34,4 @@ function useMergeRefsFunc(mainRef) {
|
|
|
32
34
|
}
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlTWVyZ2VSZWZzIiwibWFpblJlZiIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJvdGhlclJlZnMiLCJBcnJheSIsIl9rZXkiLCJ1c2VMYXlvdXRFZmZlY3QiLCJyZWYiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY3VycmVudCIsInVzZU1lcmdlUmVmc0Z1bmMiLCJfbGVuMiIsIl9rZXkyIiwicHJvdmlkZWRSZWYiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlTWVyZ2VSZWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZk9iamVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBUaGlzIGhvb2sgY29tYmluZXMgbXVsdGlwbGUgcmVmcyBpbnRvIG9uZSBzbyB0aGV5IGFsbCBwb2ludCB0byB0aGUgc2FtZSBlbGVtZW50XG4gKi9cbi8vIENvbWJpbmVzIG11bHRpcGxlIHJlZnMgdG8gd29yayB0b2dldGhlclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTWVyZ2VSZWZzPFQgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiB1c2VSZWY+PihcbiAgbWFpblJlZjogVCxcbiAgLi4ub3RoZXJSZWZzOiAoVCB8IHVuZGVmaW5lZClbXVxuKSB7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgZm9yIChsZXQgcmVmIG9mIG90aGVyUmVmcy5maWx0ZXIoQm9vbGVhbikpIHJlZiEuY3VycmVudCA9IG1haW5SZWYuY3VycmVudDtcbiAgfSwgW10pO1xuICByZXR1cm4gbWFpblJlZjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGV4aXN0cyBzbyB3ZSBjYW4gd29yayB3aXRoIG11bHRpcGxlIHJlZnMgYXMgYSBzaW5nbGUgb25lLCBhbG1vc3QgaW1tZWRpYXRseVxuICovXG4vLyBDcmVhdGVzIGEgZnVuY3Rpb24gdG8gc2V0IGFsbCByZWZzIGF0IG9uY2VcbmV4cG9ydCBmdW5jdGlvbiB1c2VNZXJnZVJlZnNGdW5jPFxuICBUIGV4dGVuZHMgUmV0dXJuVHlwZTx0eXBlb2YgdXNlUmVmPiB8ICgocmVmOiBhbnkpID0+IHZvaWQpXG4+KG1haW5SZWY6IFQsIC4uLm90aGVyUmVmczogVFtdKSB7XG4gIHJldHVybiAocHJvdmlkZWRSZWY6IGFueSkgPT4ge1xuICAgIGlmIChwcm92aWRlZFJlZilcbiAgICAgIGZvciAobGV0IHJlZiBvZiBbbWFpblJlZiwgLi4ub3RoZXJSZWZzXSkge1xuICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gXCJmdW5jdGlvblwiKSByZWYocHJvdmlkZWRSZWYpO1xuICAgICAgICBlbHNlIHJlZi5jdXJyZW50ID0gcHJvdmlkZWRSZWY7XG4gICAgICB9XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNDLFlBQVlBLENBQ2xDQyxPQUFVLEVBRVY7RUFBQSxTQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQURHQyxTQUFTLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxPQUFBQSxJQUFBLFdBQUFLLElBQUEsTUFBQUEsSUFBQSxHQUFBTCxJQUFBLEVBQUFLLElBQUE7SUFBVEYsU0FBUyxDQUFBRSxJQUFBLFFBQUFKLFNBQUEsQ0FBQUksSUFBQTtFQUFBO0VBRVosSUFBQUMsc0JBQWUsRUFBQyxNQUFNO0lBQ3BCLEtBQUssSUFBSUMsR0FBRyxJQUFJSixTQUFTLENBQUNLLE1BQU0sQ0FBQ0MsT0FBTyxDQUFDLEVBQUVGLEdBQUcsQ0FBRUcsT0FBTyxHQUFHWCxPQUFPLENBQUNXLE9BQU87RUFDM0UsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUNOLE9BQU9YLE9BQU87QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTWSxnQkFBZ0JBLENBRTlCWixPQUFVLEVBQXFCO0VBQUEsU0FBQWEsS0FBQSxHQUFBWCxTQUFBLENBQUFDLE1BQUEsRUFBaEJDLFNBQVMsT0FBQUMsS0FBQSxDQUFBUSxLQUFBLE9BQUFBLEtBQUEsV0FBQUMsS0FBQSxNQUFBQSxLQUFBLEdBQUFELEtBQUEsRUFBQUMsS0FBQTtJQUFUVixTQUFTLENBQUFVLEtBQUEsUUFBQVosU0FBQSxDQUFBWSxLQUFBO0VBQUE7RUFDeEIsT0FBUUMsV0FBZ0IsSUFBSztJQUMzQixJQUFJQSxXQUFXLEVBQ2IsS0FBSyxJQUFJUCxHQUFHLElBQUksQ0FBQ1IsT0FBTyxFQUFFLEdBQUdJLFNBQVMsQ0FBQyxFQUFFO01BQ3ZDLElBQUksT0FBT0ksR0FBRyxLQUFLLFVBQVUsRUFBRUEsR0FBRyxDQUFDTyxXQUFXLENBQUMsQ0FBQyxLQUMzQ1AsR0FBRyxDQUFDRyxPQUFPLEdBQUdJLFdBQVc7SUFDaEM7RUFDSixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,2 +1,6 @@
|
|
|
1
1
|
import "./shims/ObjectWatchShim.js";
|
|
2
|
+
/**
|
|
3
|
+
* A React hook that watches for changes to specific properties of an object.
|
|
4
|
+
* When the watched properties change, it triggers a re-render.
|
|
5
|
+
*/
|
|
2
6
|
export default function useObserve<T extends any>(toObserve: T | T[], keysToObserve: (keyof T)[]): void;
|
package/dist/hooks/useObserve.js
CHANGED
|
@@ -6,6 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = useObserve;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
require("./shims/ObjectWatchShim.js");
|
|
9
|
+
/**
|
|
10
|
+
* A React hook that watches for changes to specific properties of an object.
|
|
11
|
+
* When the watched properties change, it triggers a re-render.
|
|
12
|
+
*/
|
|
9
13
|
function useObserve(toObserve, keysToObserve) {
|
|
10
14
|
const [_, ss] = (0, _react.useState)(0);
|
|
11
15
|
(0, _react.useLayoutEffect)(() => {
|
|
@@ -18,4 +22,4 @@ function useObserve(toObserve, keysToObserve) {
|
|
|
18
22
|
return () => unwatchers.forEach(unwatch => unwatch());
|
|
19
23
|
}, [toObserve]);
|
|
20
24
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlT2JzZXJ2ZSIsInRvT2JzZXJ2ZSIsImtleXNUb09ic2VydmUiLCJfIiwic3MiLCJ1c2VTdGF0ZSIsInVzZUxheW91dEVmZmVjdCIsImFyciIsIkFycmF5IiwiaXNBcnJheSIsInVud2F0Y2hlcnMiLCJtYXAiLCJvYmplY3QiLCJ3YXRjaCIsInAiLCJmb3JFYWNoIiwidW53YXRjaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VPYnNlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9zaGltcy9PYmplY3RXYXRjaFNoaW0uanNcIjtcblxuaW50ZXJmYWNlIE9iamVjdCB7XG4gIHdhdGNoPFQgZXh0ZW5kcyBPYmplY3Q+
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlT2JzZXJ2ZSIsInRvT2JzZXJ2ZSIsImtleXNUb09ic2VydmUiLCJfIiwic3MiLCJ1c2VTdGF0ZSIsInVzZUxheW91dEVmZmVjdCIsImFyciIsIkFycmF5IiwiaXNBcnJheSIsInVud2F0Y2hlcnMiLCJtYXAiLCJvYmplY3QiLCJ3YXRjaCIsInAiLCJmb3JFYWNoIiwidW53YXRjaCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VPYnNlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTGF5b3V0RWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFwiLi9zaGltcy9PYmplY3RXYXRjaFNoaW0uanNcIjtcblxuaW50ZXJmYWNlIE9iamVjdCB7XG4gIHdhdGNoPFQgZXh0ZW5kcyBPYmplY3Q+KHByb3A6IChrZXlvZiBUKVtdLCBoYW5kbGVyOiAoKSA9PiB2b2lkKTogKCkgPT4gdm9pZDtcbiAgdW53YXRjaCgpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgUmVhY3QgaG9vayB0aGF0IHdhdGNoZXMgZm9yIGNoYW5nZXMgdG8gc3BlY2lmaWMgcHJvcGVydGllcyBvZiBhbiBvYmplY3QuXG4gKiBXaGVuIHRoZSB3YXRjaGVkIHByb3BlcnRpZXMgY2hhbmdlLCBpdCB0cmlnZ2VycyBhIHJlLXJlbmRlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlT2JzZXJ2ZTxUIGV4dGVuZHMgYW55PihcbiAgdG9PYnNlcnZlOiBUIHwgVFtdLFxuICBrZXlzVG9PYnNlcnZlOiAoa2V5b2YgVClbXVxuKSB7XG4gIGNvbnN0IFtfLCBzc10gPSB1c2VTdGF0ZSgwKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhcnIgPSBBcnJheS5pc0FycmF5KHRvT2JzZXJ2ZSkgPyB0b09ic2VydmUgOiBbdG9PYnNlcnZlXVxuICAgIGNvbnN0IHVud2F0Y2hlcnMgPSBhcnIubWFwKG9iamVjdCA9PiAob2JqZWN0IGFzIE9iamVjdCkud2F0Y2goa2V5c1RvT2JzZXJ2ZSBhcyBhbnksICgpID0+IHtcbiAgICAgIHNzKChwKSA9PiB7XG4gICAgICAgIHJldHVybiBwICsgMVxuICAgICAgfSk7XG4gICAgfSkpXG5cbiAgICByZXR1cm4gKCkgPT4gdW53YXRjaGVycy5mb3JFYWNoKHVud2F0Y2ggPT4gdW53YXRjaCgpKVxuICB9LCBbdG9PYnNlcnZlXSk7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0MsVUFBVUEsQ0FDaENDLFNBQWtCLEVBQ2xCQyxhQUEwQixFQUMxQjtFQUNBLE1BQU0sQ0FBQ0MsQ0FBQyxFQUFFQyxFQUFFLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQUMsQ0FBQyxDQUFDO0VBQzNCLElBQUFDLHNCQUFlLEVBQUMsTUFBTTtJQUNwQixNQUFNQyxHQUFHLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDUixTQUFTLENBQUMsR0FBR0EsU0FBUyxHQUFHLENBQUNBLFNBQVMsQ0FBQztJQUM5RCxNQUFNUyxVQUFVLEdBQUdILEdBQUcsQ0FBQ0ksR0FBRyxDQUFDQyxNQUFNLElBQUtBLE1BQU0sQ0FBWUMsS0FBSyxDQUFDWCxhQUFhLEVBQVMsTUFBTTtNQUN4RkUsRUFBRSxDQUFFVSxDQUFDLElBQUs7UUFDUixPQUFPQSxDQUFDLEdBQUcsQ0FBQztNQUNkLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNSixVQUFVLENBQUNLLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJQSxPQUFPLENBQUMsQ0FBQyxDQUFDO0VBQ3ZELENBQUMsRUFBRSxDQUFDZixTQUFTLENBQUMsQ0FBQztBQUNqQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -5,6 +5,11 @@ type UpdateEvent<I extends any> = {
|
|
|
5
5
|
items: I[];
|
|
6
6
|
totalItems: number;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* This hook helps manage loading and showing items in pages.
|
|
10
|
+
* It handles fetching new items when the user scrolls or clicks next page,
|
|
11
|
+
* and keeps track of whether all items have been loaded.
|
|
12
|
+
*/
|
|
8
13
|
export default function usePagination<I extends any>(request: (page: number, pageSize: number | "all", currItems?: I[]) => Promise<UpdateEvent<I>>, paginationId?: object | any[] | (() => string), startingItems?: I[]): Paginable<I>;
|
|
9
14
|
export type Paginable<I extends any, E extends any = any> = {
|
|
10
15
|
updateItems: (cb: (prevItems?: I) => UpdateEvent<I>["items"]) => void;
|
|
@@ -18,6 +18,11 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
18
18
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
19
19
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
20
20
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
21
|
+
/**
|
|
22
|
+
* This hook helps manage loading and showing items in pages.
|
|
23
|
+
* It handles fetching new items when the user scrolls or clicks next page,
|
|
24
|
+
* and keeps track of whether all items have been loaded.
|
|
25
|
+
*/
|
|
21
26
|
function usePagination(request) {
|
|
22
27
|
let paginationId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => "default";
|
|
23
28
|
let startingItems = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -155,4 +160,4 @@ function useLocalPagination(items) {
|
|
|
155
160
|
src: pagSrc
|
|
156
161
|
});
|
|
157
162
|
}
|
|
158
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUFzeW5jQ29udHJvbDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Rocm90dGxlIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwibiIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImhhc093blByb3BlcnR5IiwidXNlUGFnaW5hdGlvbiIsInJlcXVlc3QiLCJwYWdpbmF0aW9uSWQiLCJ1bmRlZmluZWQiLCJzdGFydGluZ0l0ZW1zIiwicGFnaW5hdGlvbkRhdGFSZWYiLCJ1c2VSZWYiLCJjdXJyZW50IiwicGFnaW5hdGlvbkRhdGEiLCJwYWdpbmF0aW9uSWRGYWN0b3J5IiwidXNlTWVtbyIsInJhbmRJZCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsIkFycmF5IiwiaXNBcnJheSIsIml0ZW1zIiwic2V0SXRlbXMiLCJ1c2VTdGF0ZSIsImlkIiwic2V0SWQiLCJ1c2VFZmZlY3QiLCJfdXNlQXN5bmNDb250cm9sIiwidXNlQXN5bmNDb250cm9sIiwicHJvY2VzcyIsImNvbnRyb2wiLCJ1cGRhdGVJdGVtcyIsImNiIiwicHJldiIsImRlcml2YXRlQ3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsIl9pdGVtcyQxJGxlbmd0aCIsImN1cnJlbnRQYWdlIiwiZmxvb3IiLCJfcmVxdWVzdFBhZ2UiLCJ1c2VDYWxsYmFjayIsInBhZ2UiLCJfcGFnaW5hdGlvbkRhdGEkaWQiLCJmaW5pc2hlZCIsInJlc3VsdCIsInNsaWNlIiwidG90YWxJdGVtcyIsImdldE5leHRQYWdlIiwiZ2V0UGFnZSIsImdldEFsbCIsInJlZnJlc2hDdXJyZW50UGFnZSIsIl9wYWdpbmF0aW9uRGF0YSRwYWdpbiIsImxvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidXNlQ29udGFpbmVyUGFnaW5hdGlvbiIsImRpcmVjdGlvbiIsInNjcm9sbGFibGVSZWYiLCJjdXN0b21PcHRpb25zUmVmIiwiZWwiLCJzY3JvbGxFbGVtZW50Iiwic2Nyb2xsaW5nRWxlbWVudCIsImNhbGN1bGF0ZUlmUmVhY2hlZExpbWl0IiwidGhyb3R0bGUiLCJfY3VzdG9tT3B0aW9uc1JlZiRjdXIiLCJ0YXJnZXQiLCJvZmZzZXRCb3R0b20iLCJvZmZzZXRMZWZ0Iiwib2Zmc2V0TGltaXQiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwib2Zmc2V0Iiwic2Nyb2xsVG9wIiwic2Nyb2xsTGVmdCIsImxlYWRpbmciLCJ0cmFpbGluZyIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZUxvY2FsUGFnaW5hdGlvbiIsImluc3RhbmNlSUQiLCJEYXRlIiwibm93IiwiY3Vyckl0ZW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJmcm9tIiwibmV3QXJyYXkiLCJwYWdpbmF0aW9uIiwiY29uY2F0IiwicGFnU3JjIiwic3JjIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVBhZ2luYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VBc3luY0NvbnRyb2wgZnJvbSBcIi4vdXNlQXN5bmNDb250cm9sXCI7XG5pbXBvcnQgdGhyb3R0bGUgZnJvbSBcImxvZGFzaC90aHJvdHRsZVwiO1xuXG50eXBlIFVwZGF0ZUV2ZW50PEkgZXh0ZW5kcyBhbnk+ID0ge1xuICBmaW5pc2hlZDogYm9vbGVhbjtcbiAgaXRlbXM6IElbXTtcbiAgdG90YWxJdGVtczogbnVtYmVyO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUGFnaW5hdGlvbjxJIGV4dGVuZHMgYW55PihcbiAgcmVxdWVzdDogKFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyIHwgXCJhbGxcIixcbiAgICBjdXJySXRlbXM/OiBJW11cbiAgKSA9PiBQcm9taXNlPFVwZGF0ZUV2ZW50PEk+PixcbiAgcGFnaW5hdGlvbklkOiBvYmplY3QgfCBhbnlbXSB8ICgoKSA9PiBzdHJpbmcpID0gKCkgPT4gXCJkZWZhdWx0XCIsXG4gIHN0YXJ0aW5nSXRlbXM/OiBJW11cbik6IFBhZ2luYWJsZTxJPiB7XG4gIGNvbnN0IHBhZ2luYXRpb25EYXRhUmVmID0gdXNlUmVmPHtcbiAgICBbZDogc3RyaW5nXTpcbiAgICAgIHwge1xuICAgICAgICAgIGZpbmlzaGVkOiBib29sZWFuO1xuICAgICAgICAgIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgICAgICAgfVxuICAgICAgfCB1bmRlZmluZWQ7XG4gIH0+KHt9KTtcbiAgY29uc3QgeyBjdXJyZW50OiBwYWdpbmF0aW9uRGF0YSB9ID0gcGFnaW5hdGlvbkRhdGFSZWY7XG4gIGNvbnN0IHBhZ2luYXRpb25JZEZhY3RvcnkgPSB1c2VNZW1vKFxuICAgICgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcGFnaW5hdGlvbklkID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGNvbnN0IHJhbmRJZCA9IE1hdGgucmFuZG9tKCk7XG4gICAgICAgIHJldHVybiAoKSA9PiByYW5kSWQudG9TdHJpbmcoKTtcbiAgICAgIH0gZWxzZSByZXR1cm4gcGFnaW5hdGlvbklkO1xuICAgIH0sXG4gICAgQXJyYXkuaXNBcnJheShwYWdpbmF0aW9uSWQpID8gcGFnaW5hdGlvbklkIDogW3BhZ2luYXRpb25JZF1cbiAgKTtcblxuICBjb25zdCBbaXRlbXMsIHNldEl0ZW1zXSA9IHVzZVN0YXRlPFxuICAgIFtwYWdpbmF0aW9uSWQ6IHN0cmluZywgaXRlbXM6IElbXV0gfCB1bmRlZmluZWRcbiAgPigpO1xuXG4gIGNvbnN0IFtpZCwgc2V0SWRdID0gdXNlU3RhdGUoKCkgPT4gcGFnaW5hdGlvbklkRmFjdG9yeSgpKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldElkKHBhZ2luYXRpb25JZEZhY3RvcnkoKSk7XG4gICAgaWYgKHN0YXJ0aW5nSXRlbXMpIHNldEl0ZW1zKFtwYWdpbmF0aW9uSWRGYWN0b3J5KCksIHN0YXJ0aW5nSXRlbXNdKTtcbiAgICBlbHNlIHNldEl0ZW1zKHVuZGVmaW5lZCk7XG4gIH0sIFtwYWdpbmF0aW9uSWRGYWN0b3J5KCldKTtcblxuICBjb25zdCB7IHByb2Nlc3MsIC4uLmNvbnRyb2wgfSA9IHVzZUFzeW5jQ29udHJvbCgpO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZUl0ZW1zKGNiOiAocHJldkl0ZW1zPzogSSkgPT4gVXBkYXRlRXZlbnQ8ST5bXCJpdGVtc1wiXSkge1xuICAgIHNldEl0ZW1zKChwcmV2KSA9PiBbcHJldiFbMF0sIGNiKCldKTtcbiAgfVxuXG4gIGNvbnN0IGRlcml2YXRlQ3VycmVudFBhZ2UgPSAocGFnZVNpemU6IG51bWJlcikgPT4ge1xuICAgIGlmIChpdGVtcyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMDtcbiAgICBjb25zdCBjdXJyZW50UGFnZSA9IE1hdGguZmxvb3IoKGl0ZW1zPy5bMV0ubGVuZ3RoID8/IDApIC8gcGFnZVNpemUpIC0gMTtcbiAgICByZXR1cm4gY3VycmVudFBhZ2U7XG4gIH07XG5cbiAgY29uc3QgX3JlcXVlc3RQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgZnVuY3Rpb24gKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciB8IFwiYWxsXCIpIHtcbiAgICAgIGNvbnN0IGlkID0gcGFnaW5hdGlvbklkRmFjdG9yeSgpO1xuICAgICAgaWYgKHBhZ2luYXRpb25EYXRhW2lkXT8uZmluaXNoZWQpIHJldHVybjtcbiAgICAgIHByb2Nlc3MoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXF1ZXN0KFxuICAgICAgICAgIHBhZ2UsXG4gICAgICAgICAgcGFnZVNpemUsXG4gICAgICAgICAgaXRlbXM/LlswXSA9PT0gaWQgJiYgcGFnZSAhPT0gMFxuICAgICAgICAgICAgPyBwYWdlU2l6ZSA9PT0gXCJhbGxcIlxuICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICA6IGl0ZW1zPy5bMV0uc2xpY2UoMCwgcGFnZSAqIHBhZ2VTaXplKVxuICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgKTtcbiAgICAgICAgcGFnaW5hdGlvbkRhdGFbaWRdID0ge1xuICAgICAgICAgIGZpbmlzaGVkOiByZXN1bHQuZmluaXNoZWQsXG4gICAgICAgICAgdG90YWxJdGVtczogcmVzdWx0LnRvdGFsSXRlbXMsXG4gICAgICAgIH07XG4gICAgICAgIHNldEl0ZW1zKChwcmV2KSA9PiB7XG4gICAgICAgICAgaWYgKHBhZ2UgPT09IDApIHJldHVybiBbaWQsIHJlc3VsdC5pdGVtc107XG4gICAgICAgICAgZWxzZSBpZiAoIXByZXYgfHwgaWQgPT09IHByZXZbMF0pIHJldHVybiBbaWQsIHJlc3VsdC5pdGVtc107XG4gICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBbaXRlbXMsIHJlcXVlc3RdXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICB1cGRhdGVJdGVtcyxcbiAgICBnZXROZXh0UGFnZTogKHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgICAgIF9yZXF1ZXN0UGFnZShkZXJpdmF0ZUN1cnJlbnRQYWdlKHBhZ2VTaXplKSArIDEsIHBhZ2VTaXplKTtcbiAgICB9LFxuICAgIGdldFBhZ2U6IF9yZXF1ZXN0UGFnZSxcbiAgICBnZXRBbGw6ICgpID0+IHtcbiAgICAgIF9yZXF1ZXN0UGFnZSgwLCBcImFsbFwiKTtcbiAgICB9LFxuICAgIHJlZnJlc2hDdXJyZW50UGFnZTogKHBhZ2VTaXplOiBudW1iZXIpID0+IHtcbiAgICAgIF9yZXF1ZXN0UGFnZShkZXJpdmF0ZUN1cnJlbnRQYWdlKHBhZ2VTaXplKSwgcGFnZVNpemUpO1xuICAgIH0sXG4gICAgdG90YWxJdGVtczogKCkgPT4gcGFnaW5hdGlvbkRhdGFbcGFnaW5hdGlvbklkRmFjdG9yeSgpXT8udG90YWxJdGVtcyxcbiAgICBpZDogKCkgPT4gaWQsXG4gICAgbG9hZGluZzogY29udHJvbC5sb2FkaW5nLFxuICAgIGVycm9yOiBjb250cm9sLmVycm9yLFxuICAgIGl0ZW1zOiBpdGVtcz8uWzFdLFxuICAgIHNldEVycm9yOiBjb250cm9sLnNldEVycm9yLFxuICB9O1xufVxuXG5leHBvcnQgdHlwZSBQYWdpbmFibGU8SSBleHRlbmRzIGFueSwgRSBleHRlbmRzIGFueSA9IGFueT4gPSB7XG4gIHVwZGF0ZUl0ZW1zOiAoY2I6IChwcmV2SXRlbXM/OiBJKSA9PiBVcGRhdGVFdmVudDxJPltcIml0ZW1zXCJdKSA9PiB2b2lkO1xuICBnZXROZXh0UGFnZTogKHBhZ2VTaXplOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlZnJlc2hDdXJyZW50UGFnZTogKHBhZ2VTaXplOiBudW1iZXIpID0+IHZvaWQ7XG4gIGdldFBhZ2U6IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpID0+IHZvaWQ7XG4gIGdldEFsbDogKCkgPT4gdm9pZDtcbiAgdG90YWxJdGVtczogKCkgPT4gbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBlcnJvcjogRSB8IEVycm9yIHwgdW5kZWZpbmVkO1xuICBpdGVtczogSVtdIHwgdW5kZWZpbmVkO1xuICBzZXRFcnJvcjogUmV0dXJuVHlwZTx0eXBlb2YgdXNlQXN5bmNDb250cm9sPltcInNldEVycm9yXCJdO1xuICBpZDogKCkgPT4gc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYWxQYWdpbmFibGU8SSBleHRlbmRzIGFueSwgRSBleHRlbmRzIGFueSA9IGFueT4gPSBQYWdpbmFibGU8XG4gIEksXG4gIEVcbj4gJiB7XG4gIHNyYzogSTtcbn07XG5cbi8qKlxuICogVGhpcyByZXR1cm5zIGEgcmVmIHRvIGJlIGJvdW5kIHRvIGFuIGVsZW1lbnRzIHNvIGl0IGNhbiBiZSBhYmxlIHRvIGRldGVjdCB3aGVuIGEgcGFnaW5hdGlvbiB3aG91bGQgb2NjdXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUNvbnRhaW5lclBhZ2luYXRpb24oXG4gIGNiOiAocGFnZVNpemU6IG51bWJlcikgPT4gdm9pZCxcbiAgcGFnZVNpemU6IG51bWJlcixcbiAgZGlyZWN0aW9uOiBcImhcIiB8IFwidlwiID0gXCJ2XCJcbikge1xuICBjb25zdCBzY3JvbGxhYmxlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50Pih1bmRlZmluZWQpO1xuICBjb25zdCBjdXN0b21PcHRpb25zUmVmID1cbiAgICB1c2VSZWY8KCkgPT4geyBvZmZzZXRCb3R0b20/OiBudW1iZXI7IG9mZnNldExlZnQ/OiBudW1iZXIgfT4odW5kZWZpbmVkKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gc2Nyb2xsYWJsZVJlZi5jdXJyZW50ITtcbiAgICBjb25zdCBzY3JvbGxFbGVtZW50ID1cbiAgICAgIChlbCBhcyB1bmtub3duIGFzIHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQpLnNjcm9sbGluZ0VsZW1lbnQgfHwgZWw7XG4gICAgY29uc3QgY2FsY3VsYXRlSWZSZWFjaGVkTGltaXQgPSB0aHJvdHRsZShcbiAgICAgIChlOiBFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZS50YXJnZXQgIT09IGVsKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHsgb2Zmc2V0Qm90dG9tID0gMCwgb2Zmc2V0TGVmdCA9IDAgfSA9XG4gICAgICAgICAgY3VzdG9tT3B0aW9uc1JlZi5jdXJyZW50Py4oKSB8fCB7fTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0TGltaXQgPVxuICAgICAgICAgIGRpcmVjdGlvbiA9PT0gXCJ2XCJcbiAgICAgICAgICAgID8gc2Nyb2xsRWxlbWVudC5zY3JvbGxIZWlnaHQgLVxuICAgICAgICAgICAgICBvZmZzZXRCb3R0b20gLVxuICAgICAgICAgICAgICBzY3JvbGxFbGVtZW50LmNsaWVudEhlaWdodCAqIDAuNlxuICAgICAgICAgICAgOiBzY3JvbGxFbGVtZW50LnNjcm9sbFdpZHRoIC1cbiAgICAgICAgICAgICAgb2Zmc2V0TGVmdCAtXG4gICAgICAgICAgICAgIHNjcm9sbEVsZW1lbnQuY2xpZW50V2lkdGggKiAwLjY7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgZGlyZWN0aW9uID09PSBcInZcIlxuICAgICAgICAgICAgPyBzY3JvbGxFbGVtZW50LmNsaWVudEhlaWdodCArIHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wXG4gICAgICAgICAgICA6IHNjcm9sbEVsZW1lbnQuY2xpZW50V2lkdGggKyBzY3JvbGxFbGVtZW50LnNjcm9sbExlZnQ7XG4gICAgICAgIGlmIChvZmZzZXQgPj0gb2Zmc2V0TGltaXQpIHtcbiAgICAgICAgICBjYihwYWdlU2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAyNTAsXG4gICAgICB7XG4gICAgICAgIGxlYWRpbmc6IGZhbHNlLFxuICAgICAgICB0cmFpbGluZzogdHJ1ZSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVJZlJlYWNoZWRMaW1pdCwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBjYWxjdWxhdGVJZlJlYWNoZWRMaW1pdCk7XG4gIH0sIFtjYiwgcGFnZVNpemVdKTtcblxuICByZXR1cm4ge1xuICAgIHNjcm9sbGFibGVSZWYsXG4gICAgY3VzdG9tT3B0aW9uc1JlZixcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHJlY2VpdmVzIGFuIGFtb3VudCBvZiBsb2NhbCBpbnN0YW5jZXMgYW5kIHBhZ2luYXRlcyBpdFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTG9jYWxQYWdpbmF0aW9uPEw+KGl0ZW1zOiBMW10gfCB1bmRlZmluZWQpIHtcbiAgY29uc3QgaW5zdGFuY2VJRCA9IHVzZU1lbW8oKCkgPT4gRGF0ZS5ub3coKSwgW2l0ZW1zXSk7XG4gIGNvbnN0IGNiID0gdXNlQ2FsbGJhY2soXG4gICAgKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlciB8IFwiYWxsXCIsIGN1cnJJdGVtczogTFtdID0gW10pID0+IHtcbiAgICAgIGlmICghaXRlbXMpXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICAgIGZpbmlzaGVkOiBmYWxzZSxcbiAgICAgICAgICB0b3RhbEl0ZW1zOiAwLFxuICAgICAgICAgIGl0ZW1zOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICBpZiAocGFnZVNpemUgPT09IFwiYWxsXCIpIHBhZ2VTaXplID0gaXRlbXMubGVuZ3RoO1xuICAgICAgY29uc3QgZnJvbSA9IHBhZ2VTaXplICogcGFnZTtcbiAgICAgIGNvbnN0IG5ld0FycmF5ID0gWy4uLmN1cnJJdGVtcywgLi4uaXRlbXMuc2xpY2UoZnJvbSwgZnJvbSArIHBhZ2VTaXplKV07XG5cbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe1xuICAgICAgICBmaW5pc2hlZDogbmV3QXJyYXkubGVuZ3RoID09PSBpdGVtcy5sZW5ndGgsXG4gICAgICAgIHRvdGFsSXRlbXM6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgaXRlbXM6IG5ld0FycmF5LFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbaXRlbXNdXG4gICk7XG4gIGNvbnN0IHBhZ2luYXRpb24gPSB1c2VQYWdpbmF0aW9uPEw+KGNiLCAoKSA9PiBgJHtpbnN0YW5jZUlEfWApO1xuICBjb25zdCBwYWdTcmMgPSB1c2VNZW1vKCgpID0+IGl0ZW1zLCBbcGFnaW5hdGlvbi5pdGVtc10pO1xuXG4gIHJldHVybiB7XG4gICAgLi4ucGFnaW5hdGlvbixcbiAgICBsb2FkaW5nOiBpdGVtcyA9PT0gdW5kZWZpbmVkLFxuICAgIHNyYzogcGFnU3JjLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQVFBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFBdUMsTUFBQUksU0FBQTtBQUFBLFNBQUFGLHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsU0FBQUcsUUFBQUgsQ0FBQSxFQUFBSSxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFQLENBQUEsT0FBQU0sTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQVIsQ0FBQSxHQUFBSSxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFB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
|
|
163
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUFzeW5jQ29udHJvbDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Rocm90dGxlIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiaSIsIl90b1ByaW1pdGl2ZSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwibiIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImhhc093blByb3BlcnR5IiwidXNlUGFnaW5hdGlvbiIsInJlcXVlc3QiLCJwYWdpbmF0aW9uSWQiLCJ1bmRlZmluZWQiLCJzdGFydGluZ0l0ZW1zIiwicGFnaW5hdGlvbkRhdGFSZWYiLCJ1c2VSZWYiLCJjdXJyZW50IiwicGFnaW5hdGlvbkRhdGEiLCJwYWdpbmF0aW9uSWRGYWN0b3J5IiwidXNlTWVtbyIsInJhbmRJZCIsIk1hdGgiLCJyYW5kb20iLCJ0b1N0cmluZyIsIkFycmF5IiwiaXNBcnJheSIsIml0ZW1zIiwic2V0SXRlbXMiLCJ1c2VTdGF0ZSIsImlkIiwic2V0SWQiLCJ1c2VFZmZlY3QiLCJfdXNlQXN5bmNDb250cm9sIiwidXNlQXN5bmNDb250cm9sIiwicHJvY2VzcyIsImNvbnRyb2wiLCJ1cGRhdGVJdGVtcyIsImNiIiwicHJldiIsImRlcml2YXRlQ3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsIl9pdGVtcyQxJGxlbmd0aCIsImN1cnJlbnRQYWdlIiwiZmxvb3IiLCJfcmVxdWVzdFBhZ2UiLCJ1c2VDYWxsYmFjayIsInBhZ2UiLCJfcGFnaW5hdGlvbkRhdGEkaWQiLCJmaW5pc2hlZCIsInJlc3VsdCIsInNsaWNlIiwidG90YWxJdGVtcyIsImdldE5leHRQYWdlIiwiZ2V0UGFnZSIsImdldEFsbCIsInJlZnJlc2hDdXJyZW50UGFnZSIsIl9wYWdpbmF0aW9uRGF0YSRwYWdpbiIsImxvYWRpbmciLCJlcnJvciIsInNldEVycm9yIiwidXNlQ29udGFpbmVyUGFnaW5hdGlvbiIsImRpcmVjdGlvbiIsInNjcm9sbGFibGVSZWYiLCJjdXN0b21PcHRpb25zUmVmIiwiZWwiLCJzY3JvbGxFbGVtZW50Iiwic2Nyb2xsaW5nRWxlbWVudCIsImNhbGN1bGF0ZUlmUmVhY2hlZExpbWl0IiwidGhyb3R0bGUiLCJfY3VzdG9tT3B0aW9uc1JlZiRjdXIiLCJ0YXJnZXQiLCJvZmZzZXRCb3R0b20iLCJvZmZzZXRMZWZ0Iiwib2Zmc2V0TGltaXQiLCJzY3JvbGxIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxXaWR0aCIsImNsaWVudFdpZHRoIiwib2Zmc2V0Iiwic2Nyb2xsVG9wIiwic2Nyb2xsTGVmdCIsImxlYWRpbmciLCJ0cmFpbGluZyIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVzZUxvY2FsUGFnaW5hdGlvbiIsImluc3RhbmNlSUQiLCJEYXRlIiwibm93IiwiY3Vyckl0ZW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJmcm9tIiwibmV3QXJyYXkiLCJwYWdpbmF0aW9uIiwiY29uY2F0IiwicGFnU3JjIiwic3JjIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVBhZ2luYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTGF5b3V0RWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VBc3luY0NvbnRyb2wgZnJvbSBcIi4vdXNlQXN5bmNDb250cm9sXCI7XG5pbXBvcnQgdGhyb3R0bGUgZnJvbSBcImxvZGFzaC90aHJvdHRsZVwiO1xuXG50eXBlIFVwZGF0ZUV2ZW50PEkgZXh0ZW5kcyBhbnk+ID0ge1xuICBmaW5pc2hlZDogYm9vbGVhbjtcbiAgaXRlbXM6IElbXTtcbiAgdG90YWxJdGVtczogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBUaGlzIGhvb2sgaGVscHMgbWFuYWdlIGxvYWRpbmcgYW5kIHNob3dpbmcgaXRlbXMgaW4gcGFnZXMuXG4gKiBJdCBoYW5kbGVzIGZldGNoaW5nIG5ldyBpdGVtcyB3aGVuIHRoZSB1c2VyIHNjcm9sbHMgb3IgY2xpY2tzIG5leHQgcGFnZSxcbiAqIGFuZCBrZWVwcyB0cmFjayBvZiB3aGV0aGVyIGFsbCBpdGVtcyBoYXZlIGJlZW4gbG9hZGVkLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VQYWdpbmF0aW9uPEkgZXh0ZW5kcyBhbnk+KFxuICByZXF1ZXN0OiAoXG4gICAgcGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIgfCBcImFsbFwiLFxuICAgIGN1cnJJdGVtcz86IElbXVxuICApID0+IFByb21pc2U8VXBkYXRlRXZlbnQ8ST4+LFxuICBwYWdpbmF0aW9uSWQ6IG9iamVjdCB8IGFueVtdIHwgKCgpID0+IHN0cmluZykgPSAoKSA9PiBcImRlZmF1bHRcIixcbiAgc3RhcnRpbmdJdGVtcz86IElbXVxuKTogUGFnaW5hYmxlPEk+IHtcbiAgY29uc3QgcGFnaW5hdGlvbkRhdGFSZWYgPSB1c2VSZWY8e1xuICAgIFtkOiBzdHJpbmddOlxuICAgICAgfCB7XG4gICAgICAgICAgZmluaXNoZWQ6IGJvb2xlYW47XG4gICAgICAgICAgdG90YWxJdGVtczogbnVtYmVyO1xuICAgICAgICB9XG4gICAgICB8IHVuZGVmaW5lZDtcbiAgfT4oe30pO1xuICBjb25zdCB7IGN1cnJlbnQ6IHBhZ2luYXRpb25EYXRhIH0gPSBwYWdpbmF0aW9uRGF0YVJlZjtcbiAgY29uc3QgcGFnaW5hdGlvbklkRmFjdG9yeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwYWdpbmF0aW9uSWQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgY29uc3QgcmFuZElkID0gTWF0aC5yYW5kb20oKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHJhbmRJZC50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIHJldHVybiBwYWdpbmF0aW9uSWQ7XG4gICAgfSxcbiAgICBBcnJheS5pc0FycmF5KHBhZ2luYXRpb25JZCkgPyBwYWdpbmF0aW9uSWQgOiBbcGFnaW5hdGlvbklkXVxuICApO1xuXG4gIGNvbnN0IFtpdGVtcywgc2V0SXRlbXNdID0gdXNlU3RhdGU8XG4gICAgW3BhZ2luYXRpb25JZDogc3RyaW5nLCBpdGVtczogSVtdXSB8IHVuZGVmaW5lZFxuICA+KCk7XG5cbiAgY29uc3QgW2lkLCBzZXRJZF0gPSB1c2VTdGF0ZSgoKSA9PiBwYWdpbmF0aW9uSWRGYWN0b3J5KCkpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SWQocGFnaW5hdGlvbklkRmFjdG9yeSgpKTtcbiAgICBpZiAoc3RhcnRpbmdJdGVtcykgc2V0SXRlbXMoW3BhZ2luYXRpb25JZEZhY3RvcnkoKSwgc3RhcnRpbmdJdGVtc10pO1xuICAgIGVsc2Ugc2V0SXRlbXModW5kZWZpbmVkKTtcbiAgfSwgW3BhZ2luYXRpb25JZEZhY3RvcnkoKV0pO1xuXG4gIGNvbnN0IHsgcHJvY2VzcywgLi4uY29udHJvbCB9ID0gdXNlQXN5bmNDb250cm9sKCk7XG5cbiAgZnVuY3Rpb24gdXBkYXRlSXRlbXMoY2I6IChwcmV2SXRlbXM/OiBJKSA9PiBVcGRhdGVFdmVudDxJPltcIml0ZW1zXCJdKSB7XG4gICAgc2V0SXRlbXMoKHByZXYpID0+IFtwcmV2IVswXSwgY2IoKV0pO1xuICB9XG5cbiAgY29uc3QgZGVyaXZhdGVDdXJyZW50UGFnZSA9IChwYWdlU2l6ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGl0ZW1zID09PSB1bmRlZmluZWQpIHJldHVybiAwO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gTWF0aC5mbG9vcigoaXRlbXM/LlsxXS5sZW5ndGggPz8gMCkgLyBwYWdlU2l6ZSkgLSAxO1xuICAgIHJldHVybiBjdXJyZW50UGFnZTtcbiAgfTtcblxuICBjb25zdCBfcmVxdWVzdFBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICBmdW5jdGlvbiAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyIHwgXCJhbGxcIikge1xuICAgICAgY29uc3QgaWQgPSBwYWdpbmF0aW9uSWRGYWN0b3J5KCk7XG4gICAgICBpZiAocGFnaW5hdGlvbkRhdGFbaWRdPy5maW5pc2hlZCkgcmV0dXJuO1xuICAgICAgcHJvY2Vzcyhhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcXVlc3QoXG4gICAgICAgICAgcGFnZSxcbiAgICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgICBpdGVtcz8uWzBdID09PSBpZCAmJiBwYWdlICE9PSAwXG4gICAgICAgICAgICA/IHBhZ2VTaXplID09PSBcImFsbFwiXG4gICAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICAgIDogaXRlbXM/LlsxXS5zbGljZSgwLCBwYWdlICogcGFnZVNpemUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICApO1xuICAgICAgICBwYWdpbmF0aW9uRGF0YVtpZF0gPSB7XG4gICAgICAgICAgZmluaXNoZWQ6IHJlc3VsdC5maW5pc2hlZCxcbiAgICAgICAgICB0b3RhbEl0ZW1zOiByZXN1bHQudG90YWxJdGVtcyxcbiAgICAgICAgfTtcbiAgICAgICAgc2V0SXRlbXMoKHByZXYpID0+IHtcbiAgICAgICAgICBpZiAocGFnZSA9PT0gMCkgcmV0dXJuIFtpZCwgcmVzdWx0Lml0ZW1zXTtcbiAgICAgICAgICBlbHNlIGlmICghcHJldiB8fCBpZCA9PT0gcHJldlswXSkgcmV0dXJuIFtpZCwgcmVzdWx0Lml0ZW1zXTtcbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtpdGVtcywgcmVxdWVzdF1cbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHVwZGF0ZUl0ZW1zLFxuICAgIGdldE5leHRQYWdlOiAocGFnZVNpemU6IG51bWJlcikgPT4ge1xuICAgICAgX3JlcXVlc3RQYWdlKGRlcml2YXRlQ3VycmVudFBhZ2UocGFnZVNpemUpICsgMSwgcGFnZVNpemUpO1xuICAgIH0sXG4gICAgZ2V0UGFnZTogX3JlcXVlc3RQYWdlLFxuICAgIGdldEFsbDogKCkgPT4ge1xuICAgICAgX3JlcXVlc3RQYWdlKDAsIFwiYWxsXCIpO1xuICAgIH0sXG4gICAgcmVmcmVzaEN1cnJlbnRQYWdlOiAocGFnZVNpemU6IG51bWJlcikgPT4ge1xuICAgICAgX3JlcXVlc3RQYWdlKGRlcml2YXRlQ3VycmVudFBhZ2UocGFnZVNpemUpLCBwYWdlU2l6ZSk7XG4gICAgfSxcbiAgICB0b3RhbEl0ZW1zOiAoKSA9PiBwYWdpbmF0aW9uRGF0YVtwYWdpbmF0aW9uSWRGYWN0b3J5KCldPy50b3RhbEl0ZW1zLFxuICAgIGlkOiAoKSA9PiBpZCxcbiAgICBsb2FkaW5nOiBjb250cm9sLmxvYWRpbmcsXG4gICAgZXJyb3I6IGNvbnRyb2wuZXJyb3IsXG4gICAgaXRlbXM6IGl0ZW1zPy5bMV0sXG4gICAgc2V0RXJyb3I6IGNvbnRyb2wuc2V0RXJyb3IsXG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYWJsZTxJIGV4dGVuZHMgYW55LCBFIGV4dGVuZHMgYW55ID0gYW55PiA9IHtcbiAgdXBkYXRlSXRlbXM6IChjYjogKHByZXZJdGVtcz86IEkpID0+IFVwZGF0ZUV2ZW50PEk+W1wiaXRlbXNcIl0pID0+IHZvaWQ7XG4gIGdldE5leHRQYWdlOiAocGFnZVNpemU6IG51bWJlcikgPT4gdm9pZDtcbiAgcmVmcmVzaEN1cnJlbnRQYWdlOiAocGFnZVNpemU6IG51bWJlcikgPT4gdm9pZDtcbiAgZ2V0UGFnZTogKHBhZ2U6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcikgPT4gdm9pZDtcbiAgZ2V0QWxsOiAoKSA9PiB2b2lkO1xuICB0b3RhbEl0ZW1zOiAoKSA9PiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG4gIGVycm9yOiBFIHwgRXJyb3IgfCB1bmRlZmluZWQ7XG4gIGl0ZW1zOiBJW10gfCB1bmRlZmluZWQ7XG4gIHNldEVycm9yOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VBc3luY0NvbnRyb2w+W1wic2V0RXJyb3JcIl07XG4gIGlkOiAoKSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBMb2NhbFBhZ2luYWJsZTxJIGV4dGVuZHMgYW55LCBFIGV4dGVuZHMgYW55ID0gYW55PiA9IFBhZ2luYWJsZTxcbiAgSSxcbiAgRVxuPiAmIHtcbiAgc3JjOiBJO1xufTtcblxuLyoqXG4gKiBUaGlzIHJldHVybnMgYSByZWYgdG8gYmUgYm91bmQgdG8gYW4gZWxlbWVudHMgc28gaXQgY2FuIGJlIGFibGUgdG8gZGV0ZWN0IHdoZW4gYSBwYWdpbmF0aW9uIHdob3VsZCBvY2N1clxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29udGFpbmVyUGFnaW5hdGlvbihcbiAgY2I6IChwYWdlU2l6ZTogbnVtYmVyKSA9PiB2b2lkLFxuICBwYWdlU2l6ZTogbnVtYmVyLFxuICBkaXJlY3Rpb246IFwiaFwiIHwgXCJ2XCIgPSBcInZcIlxuKSB7XG4gIGNvbnN0IHNjcm9sbGFibGVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IGN1c3RvbU9wdGlvbnNSZWYgPVxuICAgIHVzZVJlZjwoKSA9PiB7IG9mZnNldEJvdHRvbT86IG51bWJlcjsgb2Zmc2V0TGVmdD86IG51bWJlciB9Pih1bmRlZmluZWQpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZWwgPSBzY3JvbGxhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPVxuICAgICAgKGVsIGFzIHVua25vd24gYXMgdHlwZW9mIHdpbmRvdy5kb2N1bWVudCkuc2Nyb2xsaW5nRWxlbWVudCB8fCBlbDtcbiAgICBjb25zdCBjYWxjdWxhdGVJZlJlYWNoZWRMaW1pdCA9IHRocm90dGxlKFxuICAgICAgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChlLnRhcmdldCAhPT0gZWwpIHJldHVybjtcbiAgICAgICAgY29uc3QgeyBvZmZzZXRCb3R0b20gPSAwLCBvZmZzZXRMZWZ0ID0gMCB9ID1cbiAgICAgICAgICBjdXN0b21PcHRpb25zUmVmLmN1cnJlbnQ/LigpIHx8IHt9O1xuICAgICAgICBjb25zdCBvZmZzZXRMaW1pdCA9XG4gICAgICAgICAgZGlyZWN0aW9uID09PSBcInZcIlxuICAgICAgICAgICAgPyBzY3JvbGxFbGVtZW50LnNjcm9sbEhlaWdodCAtXG4gICAgICAgICAgICAgIG9mZnNldEJvdHRvbSAtXG4gICAgICAgICAgICAgIHNjcm9sbEVsZW1lbnQuY2xpZW50SGVpZ2h0ICogMC42XG4gICAgICAgICAgICA6IHNjcm9sbEVsZW1lbnQuc2Nyb2xsV2lkdGggLVxuICAgICAgICAgICAgICBvZmZzZXRMZWZ0IC1cbiAgICAgICAgICAgICAgc2Nyb2xsRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuNjtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICBkaXJlY3Rpb24gPT09IFwidlwiXG4gICAgICAgICAgICA/IHNjcm9sbEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3BcbiAgICAgICAgICAgIDogc2Nyb2xsRWxlbWVudC5jbGllbnRXaWR0aCArIHNjcm9sbEVsZW1lbnQuc2Nyb2xsTGVmdDtcbiAgICAgICAgaWYgKG9mZnNldCA+PSBvZmZzZXRMaW1pdCkge1xuICAgICAgICAgIGNiKHBhZ2VTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIDI1MCxcbiAgICAgIHtcbiAgICAgICAgbGVhZGluZzogZmFsc2UsXG4gICAgICAgIHRyYWlsaW5nOiB0cnVlLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZUlmUmVhY2hlZExpbWl0LCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgIH0pO1xuICAgIHJldHVybiAoKSA9PiBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGNhbGN1bGF0ZUlmUmVhY2hlZExpbWl0KTtcbiAgfSwgW2NiLCBwYWdlU2l6ZV0pO1xuXG4gIHJldHVybiB7XG4gICAgc2Nyb2xsYWJsZVJlZixcbiAgICBjdXN0b21PcHRpb25zUmVmLFxuICB9O1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgYW4gYW1vdW50IG9mIGxvY2FsIGluc3RhbmNlcyBhbmQgcGFnaW5hdGVzIGl0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VMb2NhbFBhZ2luYXRpb248TD4oaXRlbXM6IExbXSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBpbnN0YW5jZUlEID0gdXNlTWVtbygoKSA9PiBEYXRlLm5vdygpLCBbaXRlbXNdKTtcbiAgY29uc3QgY2IgPSB1c2VDYWxsYmFjayhcbiAgICAocGFnZTogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyIHwgXCJhbGxcIiwgY3Vyckl0ZW1zOiBMW10gPSBbXSkgPT4ge1xuICAgICAgaWYgKCFpdGVtcylcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgZmluaXNoZWQ6IGZhbHNlLFxuICAgICAgICAgIHRvdGFsSXRlbXM6IDAsXG4gICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICB9KTtcbiAgICAgIGlmIChwYWdlU2l6ZSA9PT0gXCJhbGxcIikgcGFnZVNpemUgPSBpdGVtcy5sZW5ndGg7XG4gICAgICBjb25zdCBmcm9tID0gcGFnZVNpemUgKiBwYWdlO1xuICAgICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uY3Vyckl0ZW1zLCAuLi5pdGVtcy5zbGljZShmcm9tLCBmcm9tICsgcGFnZVNpemUpXTtcblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIGZpbmlzaGVkOiBuZXdBcnJheS5sZW5ndGggPT09IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgdG90YWxJdGVtczogaXRlbXMubGVuZ3RoLFxuICAgICAgICBpdGVtczogbmV3QXJyYXksXG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtpdGVtc11cbiAgKTtcbiAgY29uc3QgcGFnaW5hdGlvbiA9IHVzZVBhZ2luYXRpb248TD4oY2IsICgpID0+IGAke2luc3RhbmNlSUR9YCk7XG4gIGNvbnN0IHBhZ1NyYyA9IHVzZU1lbW8oKCkgPT4gaXRlbXMsIFtwYWdpbmF0aW9uLml0ZW1zXSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5wYWdpbmF0aW9uLFxuICAgIGxvYWRpbmc6IGl0ZW1zID09PSB1bmRlZmluZWQsXG4gICAgc3JjOiBwYWdTcmMsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBUUEsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUF1QyxNQUFBSSxTQUFBO0FBQUEsU0FBQUYsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxT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
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A toolkit hook to trigger an request to start a process and execute a pooling operation to validate when the operation is finished
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* This hook helps run a task and then check repeatedly if it's done.
|
|
6
|
+
* It combines starting a process with waiting for it to finish.
|
|
7
|
+
*/
|
|
4
8
|
export default function usePooledOperation(): {
|
|
5
9
|
/** Indicates when it's loading */
|
|
6
10
|
loading: boolean;
|
|
@@ -11,6 +11,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
/**
|
|
12
12
|
* A toolkit hook to trigger an request to start a process and execute a pooling operation to validate when the operation is finished
|
|
13
13
|
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* This hook helps run a task and then check repeatedly if it's done.
|
|
17
|
+
* It combines starting a process with waiting for it to finish.
|
|
18
|
+
*/
|
|
14
19
|
function usePooledOperation() {
|
|
15
20
|
const requestOperation = (0, _react.useRef)(undefined);
|
|
16
21
|
const poolingOperation = (0, _react.useRef)(undefined);
|
|
@@ -45,4 +50,4 @@ function usePooledOperation() {
|
|
|
45
50
|
}
|
|
46
51
|
};
|
|
47
52
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUFzeW5jQ29udHJvbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlUG9vbGluZyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZVBvb2xlZE9wZXJhdGlvbiIsInJlcXVlc3RPcGVyYXRpb24iLCJ1c2VSZWYiLCJ1bmRlZmluZWQiLCJwb29saW5nT3BlcmF0aW9uIiwicmVxdWVzdENvbnRyb2wiLCJ1c2VBc3luY0NvbnRyb2wiLCJwb2xsaW5nQ29udHJvbCIsInVzZVBvb2xpbmciLCJ0cmlnZ2VyUmVxdWVzdCIsInByb2Nlc3MiLCJjdXJyZW50IiwidHJpZ2dlclBvb2xpbmciLCJzdGFydFBvbGxpbmciLCJsb2FkaW5nIiwiaXNQb29saW5nIiwiZXJyb3IiLCJmYWlsZWQiLCJyZXRyeSIsInN0YXJ0IiwiX3JlcXVlc3RPcGVyYXRpb24iLCJfcG9vbGluZ09wZXJhdGlvbiIsImNsZWFyRXJyb3IiLCJzZXRFcnJvciIsInNldEZhaWxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VQb29sZWRPcGVyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVmLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VBc3luY0NvbnRyb2wgZnJvbSBcIi4vdXNlQXN5bmNDb250cm9sXCI7XG5pbXBvcnQgdXNlUG9vbGluZyBmcm9tIFwiLi91c2VQb29saW5nXCI7XG5cbi8qKlxuICogQSB0b29sa2l0IGhvb2sgdG8gdHJpZ2dlciBhbiByZXF1ZXN0IHRvIHN0YXJ0IGEgcHJvY2VzcyBhbmQgZXhlY3V0ZSBhIHBvb2xpbmcgb3BlcmF0aW9uIHRvIHZhbGlkYXRlIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBmaW5pc2hlZFxuICovXG5cbi8qKlxuICogVGhpcyBob29rIGhlbHBzIHJ1biBhIHRhc2sgYW5kIHRoZW4gY2hlY2sgcmVwZWF0ZWRseSBpZiBpdCdzIGRvbmUuXG4gKiBJdCBjb21iaW5lcyBzdGFydGluZyBhIHByb2Nlc3Mgd2l0aCB3YWl0aW5nIGZvciBpdCB0byBmaW5pc2guXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVBvb2xlZE9wZXJhdGlvbigpIHtcbiAgY29uc3QgcmVxdWVzdE9wZXJhdGlvbiA9IHVzZVJlZjwoKSA9PiBQcm9taXNlPHZvaWQ+Pih1bmRlZmluZWQpO1xuICBjb25zdCBwb29saW5nT3BlcmF0aW9uID0gdXNlUmVmPCgpID0+IFByb21pc2U8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IHJlcXVlc3RDb250cm9sID0gdXNlQXN5bmNDb250cm9sKCk7XG4gIGNvbnN0IHBvbGxpbmdDb250cm9sID0gdXNlUG9vbGluZygpO1xuXG4gIGZ1bmN0aW9uIHRyaWdnZXJSZXF1ZXN0KCkge1xuICAgIHJlcXVlc3RDb250cm9sLnByb2Nlc3MoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgcmVxdWVzdE9wZXJhdGlvbi5jdXJyZW50ISgpO1xuICAgICAgdHJpZ2dlclBvb2xpbmcoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyaWdnZXJQb29saW5nKCkge1xuICAgIHBvbGxpbmdDb250cm9sLnN0YXJ0UG9sbGluZyhwb29saW5nT3BlcmF0aW9uLmN1cnJlbnQhKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLyoqIEluZGljYXRlcyB3aGVuIGl0J3MgbG9hZGluZyAqL1xuICAgIGxvYWRpbmc6IHJlcXVlc3RDb250cm9sLmxvYWRpbmcgfHwgcG9sbGluZ0NvbnRyb2wuaXNQb29saW5nLFxuICAgIC8qKiBJbmRpY2F0ZXMgZXJyb3Igb2YgcG9vbGluZyBvciByZXF1ZXN0ICovXG4gICAgZXJyb3I6ICEhcmVxdWVzdENvbnRyb2wuZXJyb3IgfHwgISFwb2xsaW5nQ29udHJvbC5mYWlsZWQsXG4gICAgLyoqIFJldHJpZXMgdGhlIG9wZXJhdGlvbiBiYXNlZCBvbiB0aGUgY3VycmVudCBmYWlsZWQgc3RlcCAqL1xuICAgIHJldHJ5OiByZXF1ZXN0Q29udHJvbC5lcnJvclxuICAgICAgPyB0cmlnZ2VyUmVxdWVzdFxuICAgICAgOiBwb2xsaW5nQ29udHJvbC5mYWlsZWRcbiAgICAgID8gdHJpZ2dlclBvb2xpbmdcbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIC8qKiBJbml0aWF0ZXMgdGhlIHJlcXVlc3QgZm9sbG93ZWQgYnkgdGhlIHBvb2xpbmcgb3BlcmF0aW9uICovXG4gICAgc3RhcnQ6IChcbiAgICAgIC8qKiBBbiBhcmJpdHJhcnkgcmVxdWVzdCAqL1xuICAgICAgX3JlcXVlc3RPcGVyYXRpb246ICgpID0+IFByb21pc2U8dm9pZD4sXG4gICAgICAvKiogUmVzb2x2ZXMgdG8gYSBib29sZWFuIHRoYXQgaW5kaWNhdGVkIGlmIGlzIGZpbmlzaGVkICh0cnVlKSBvciBub3QgKGZhbHNlKSAqL1xuICAgICAgX3Bvb2xpbmdPcGVyYXRpb246ICgpID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgICApID0+IHtcbiAgICAgIHJlcXVlc3RPcGVyYXRpb24uY3VycmVudCA9IF9yZXF1ZXN0T3BlcmF0aW9uO1xuICAgICAgcG9vbGluZ09wZXJhdGlvbi5jdXJyZW50ID0gX3Bvb2xpbmdPcGVyYXRpb247XG5cbiAgICAgIHRyaWdnZXJSZXF1ZXN0KCk7XG4gICAgfSxcbiAgICAvKiogQ2xlYXIgYW55IGVycm9yIHRoYXQgaXMgcmVnaXN0ZXJlZCAqL1xuICAgIGNsZWFyRXJyb3I6ICgpID0+IHtcbiAgICAgIHJlcXVlc3RDb250cm9sLnNldEVycm9yKHVuZGVmaW5lZCk7XG4gICAgICBwb2xsaW5nQ29udHJvbC5zZXRGYWlsZWQoZmFsc2UpO1xuICAgIH0sXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFBc0MsU0FBQUUsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0csa0JBQWtCQSxDQUFBLEVBQUc7RUFDM0MsTUFBTUMsZ0JBQWdCLEdBQUcsSUFBQUMsYUFBTSxFQUFzQkMsU0FBUyxDQUFDO0VBQy9ELE1BQU1DLGdCQUFnQixHQUFHLElBQUFGLGFBQU0sRUFBeUJDLFNBQVMsQ0FBQztFQUNsRSxNQUFNRSxjQUFjLEdBQUcsSUFBQUMsd0JBQWUsRUFBQyxDQUFDO0VBQ3hDLE1BQU1DLGNBQWMsR0FBRyxJQUFBQyxtQkFBVSxFQUFDLENBQUM7RUFFbkMsU0FBU0MsY0FBY0EsQ0FBQSxFQUFHO0lBQ3hCSixjQUFjLENBQUNLLE9BQU8sQ0FBQyxZQUFZO01BQ2pDLE1BQU1ULGdCQUFnQixDQUFDVSxPQUFPLENBQUUsQ0FBQztNQUNqQ0MsY0FBYyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxTQUFTQSxjQUFjQSxDQUFBLEVBQUc7SUFDeEJMLGNBQWMsQ0FBQ00sWUFBWSxDQUFDVCxnQkFBZ0IsQ0FBQ08sT0FBUSxDQUFDO0VBQ3hEO0VBRUEsT0FBTztJQUNMO0lBQ0FHLE9BQU8sRUFBRVQsY0FBYyxDQUFDUyxPQUFPLElBQUlQLGNBQWMsQ0FBQ1EsU0FBUztJQUMzRDtJQUNBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDWCxjQUFjLENBQUNXLEtBQUssSUFBSSxDQUFDLENBQUNULGNBQWMsQ0FBQ1UsTUFBTTtJQUN4RDtJQUNBQyxLQUFLLEVBQUViLGNBQWMsQ0FBQ1csS0FBSyxHQUN2QlAsY0FBYyxHQUNkRixjQUFjLENBQUNVLE1BQU0sR0FDckJMLGNBQWMsR0FDZFQsU0FBUztJQUNiO0lBQ0FnQixLQUFLLEVBQUVBLENBRUxDLGlCQUFzQyxFQUV0Q0MsaUJBQXlDLEtBQ3RDO01BQ0hwQixnQkFBZ0IsQ0FBQ1UsT0FBTyxHQUFHUyxpQkFBaUI7TUFDNUNoQixnQkFBZ0IsQ0FBQ08sT0FBTyxHQUFHVSxpQkFBaUI7TUFFNUNaLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRDtJQUNBYSxVQUFVLEVBQUVBLENBQUEsS0FBTTtNQUNoQmpCLGNBQWMsQ0FBQ2tCLFFBQVEsQ0FBQ3BCLFNBQVMsQ0FBQztNQUNsQ0ksY0FBYyxDQUFDaUIsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNqQztFQUNGLENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
* This callback should return a boolean that indicates if the pooling has finished (true) or it should continue (false)
|
|
4
4
|
*/
|
|
5
5
|
type PoolingAction = () => Promise<boolean>;
|
|
6
|
+
/**
|
|
7
|
+
* A hook that helps repeatedly check for updates at set intervals.
|
|
8
|
+
* It runs a function over and over until it says it's done or stops.
|
|
9
|
+
*/
|
|
6
10
|
export default function usePooling(intervalMs?: number, maxPoolingTime?: number | null): {
|
|
7
11
|
failed: boolean;
|
|
8
12
|
setFailed: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
9
13
|
isPooling: boolean;
|
|
10
14
|
/**
|
|
11
|
-
*
|
|
15
|
+
* Start checking repeatedly by running your function.
|
|
16
|
+
* Keep going until your function says it's finished or the check stops.
|
|
12
17
|
* @param cb {@link PoolingAction} - Executes and returns if has finished (true) or not (false)
|
|
13
18
|
*/
|
|
14
19
|
startPolling: (cb: PoolingAction) => () => void;
|
package/dist/hooks/usePooling.js
CHANGED
|
@@ -9,6 +9,10 @@ var _react = require("react");
|
|
|
9
9
|
* This callback should return a boolean that indicates if the pooling has finished (true) or it should continue (false)
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* A hook that helps repeatedly check for updates at set intervals.
|
|
14
|
+
* It runs a function over and over until it says it's done or stops.
|
|
15
|
+
*/
|
|
12
16
|
function usePooling() {
|
|
13
17
|
let intervalMs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
|
|
14
18
|
let maxPoolingTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60000;
|
|
@@ -23,7 +27,8 @@ function usePooling() {
|
|
|
23
27
|
setFailed,
|
|
24
28
|
isPooling: !!intervalId,
|
|
25
29
|
/**
|
|
26
|
-
*
|
|
30
|
+
* Start checking repeatedly by running your function.
|
|
31
|
+
* Keep going until your function says it's finished or the check stops.
|
|
27
32
|
* @param cb {@link PoolingAction} - Executes and returns if has finished (true) or not (false)
|
|
28
33
|
*/
|
|
29
34
|
startPolling: cb => {
|
|
@@ -44,4 +49,4 @@ function usePooling() {
|
|
|
44
49
|
stop: cancelPooling
|
|
45
50
|
};
|
|
46
51
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlUG9vbGluZyIsImludGVydmFsTXMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJtYXhQb29saW5nVGltZSIsImludGVydmFsSWQiLCJzZXRJbnRlcnZhbElkIiwidXNlU3RhdGUiLCJmYWlsZWQiLCJzZXRGYWlsZWQiLCJjYW5jZWxQb29saW5nIiwiY2xlYXJJbnRlcnZhbCIsInVzZUVmZmVjdCIsImlzUG9vbGluZyIsInN0YXJ0UG9sbGluZyIsImNiIiwicG9vbGluZ0NvdW50IiwibWF4UG9vbGluZ3MiLCJNYXRoIiwiY2VpbCIsInNldEludGVydmFsIiwiZmluaXNoZWQiLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVBvb2xpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIHJldHVybiBhIGJvb2xlYW4gdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHBvb2xpbmcgaGFzIGZpbmlzaGVkICh0cnVlKSBvciBpdCBzaG91bGQgY29udGludWUgKGZhbHNlKVxuICovXG50eXBlIFBvb2xpbmdBY3Rpb24gPSAoKSA9PiBQcm9taXNlPGJvb2xlYW4+
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlUG9vbGluZyIsImludGVydmFsTXMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJtYXhQb29saW5nVGltZSIsImludGVydmFsSWQiLCJzZXRJbnRlcnZhbElkIiwidXNlU3RhdGUiLCJmYWlsZWQiLCJzZXRGYWlsZWQiLCJjYW5jZWxQb29saW5nIiwiY2xlYXJJbnRlcnZhbCIsInVzZUVmZmVjdCIsImlzUG9vbGluZyIsInN0YXJ0UG9sbGluZyIsImNiIiwicG9vbGluZ0NvdW50IiwibWF4UG9vbGluZ3MiLCJNYXRoIiwiY2VpbCIsInNldEludGVydmFsIiwiZmluaXNoZWQiLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVBvb2xpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIHJldHVybiBhIGJvb2xlYW4gdGhhdCBpbmRpY2F0ZXMgaWYgdGhlIHBvb2xpbmcgaGFzIGZpbmlzaGVkICh0cnVlKSBvciBpdCBzaG91bGQgY29udGludWUgKGZhbHNlKVxuICovXG50eXBlIFBvb2xpbmdBY3Rpb24gPSAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4vKipcbiAqIEEgaG9vayB0aGF0IGhlbHBzIHJlcGVhdGVkbHkgY2hlY2sgZm9yIHVwZGF0ZXMgYXQgc2V0IGludGVydmFscy5cbiAqIEl0IHJ1bnMgYSBmdW5jdGlvbiBvdmVyIGFuZCBvdmVyIHVudGlsIGl0IHNheXMgaXQncyBkb25lIG9yIHN0b3BzLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VQb29saW5nKGludGVydmFsTXMgPSAxMDAwLCBtYXhQb29saW5nVGltZTogbnVtYmVyIHwgbnVsbCA9IDYwMDAwKSB7XG4gIGNvbnN0IFtpbnRlcnZhbElkLCBzZXRJbnRlcnZhbElkXSA9IHVzZVN0YXRlPE5vZGVKUy5UaW1lb3V0PigpO1xuICBjb25zdCBbZmFpbGVkLCBzZXRGYWlsZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0IGNhbmNlbFBvb2xpbmcgPSAoKSA9PiB7XG4gICAgaWYgKGludGVydmFsSWQpIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gIH1cbiAgdXNlRWZmZWN0KFxuICAgICgpID0+IGNhbmNlbFBvb2xpbmcsXG4gICAgW2ludGVydmFsSWRdXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBmYWlsZWQsXG4gICAgc2V0RmFpbGVkLFxuICAgIGlzUG9vbGluZzogISFpbnRlcnZhbElkLFxuICAgIC8qKlxuICAgICAqIFN0YXJ0IGNoZWNraW5nIHJlcGVhdGVkbHkgYnkgcnVubmluZyB5b3VyIGZ1bmN0aW9uLlxuICAgICAqIEtlZXAgZ29pbmcgdW50aWwgeW91ciBmdW5jdGlvbiBzYXlzIGl0J3MgZmluaXNoZWQgb3IgdGhlIGNoZWNrIHN0b3BzLlxuICAgICAqIEBwYXJhbSBjYiB7QGxpbmsgUG9vbGluZ0FjdGlvbn0gLSBFeGVjdXRlcyBhbmQgcmV0dXJucyBpZiBoYXMgZmluaXNoZWQgKHRydWUpIG9yIG5vdCAoZmFsc2UpXG4gICAgICovXG4gICAgc3RhcnRQb2xsaW5nOiAoY2I6IFBvb2xpbmdBY3Rpb24pID0+IHtcbiAgICAgIGxldCBwb29saW5nQ291bnQgPSAwO1xuICAgICAgY29uc3QgbWF4UG9vbGluZ3MgPSAobWF4UG9vbGluZ1RpbWUgIT09IG51bGwpID8gTWF0aC5jZWlsKG1heFBvb2xpbmdUaW1lIC8gaW50ZXJ2YWxNcykgOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBpbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xuICAgICAgICBwb29saW5nQ291bnQrKztcbiAgICAgICAgY29uc3QgZmluaXNoZWQgPSBhd2FpdCBjYigpO1xuICAgICAgICBpZiAoZmluaXNoZWQpIHNldEludGVydmFsSWQodW5kZWZpbmVkKTtcbiAgICAgICAgZWxzZSBpZiAocG9vbGluZ0NvdW50ID09PSBtYXhQb29saW5ncykge1xuICAgICAgICAgIHNldEludGVydmFsSWQodW5kZWZpbmVkKTtcbiAgICAgICAgICBzZXRGYWlsZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sIGludGVydmFsTXMpO1xuICAgICAgc2V0SW50ZXJ2YWxJZChpbnRlcnZhbElkKTtcbiAgICAgIHNldEZhaWxlZChmYWxzZSk7XG4gICAgICByZXR1cm4gKCkgPT4gY2xlYXJJbnRlcnZhbChpbnRlcnZhbElkKVxuICAgIH0sXG4gICAgc3RvcDogY2FuY2VsUG9vbGluZyxcbiAgfTtcbn0iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNDLFVBQVVBLENBQUEsRUFBMkQ7RUFBQSxJQUExREMsVUFBVSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxJQUFJO0VBQUEsSUFBRUcsY0FBNkIsR0FBQUgsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsS0FBSztFQUN6RixNQUFNLENBQUNJLFVBQVUsRUFBRUMsYUFBYSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFpQixDQUFDO0VBQzlELE1BQU0sQ0FBQ0MsTUFBTSxFQUFFQyxTQUFTLENBQUMsR0FBRyxJQUFBRixlQUFRLEVBQVUsS0FBSyxDQUFDO0VBRXBELE1BQU1HLGFBQWEsR0FBR0EsQ0FBQSxLQUFNO0lBQzFCLElBQUlMLFVBQVUsRUFBRU0sYUFBYSxDQUFDTixVQUFVLENBQUM7RUFDM0MsQ0FBQztFQUNELElBQUFPLGdCQUFTLEVBQ1AsTUFBTUYsYUFBYSxFQUNuQixDQUFDTCxVQUFVLENBQ2IsQ0FBQztFQUVELE9BQU87SUFDTEcsTUFBTTtJQUNOQyxTQUFTO0lBQ1RJLFNBQVMsRUFBRSxDQUFDLENBQUNSLFVBQVU7SUFDdkI7QUFDSjtBQUNBO0FBQ0E7QUFDQTtJQUNJUyxZQUFZLEVBQUdDLEVBQWlCLElBQUs7TUFDbkMsSUFBSUMsWUFBWSxHQUFHLENBQUM7TUFDcEIsTUFBTUMsV0FBVyxHQUFJYixjQUFjLEtBQUssSUFBSSxHQUFJYyxJQUFJLENBQUNDLElBQUksQ0FBQ2YsY0FBYyxHQUFHSixVQUFVLENBQUMsR0FBR0csU0FBUztNQUNsRyxNQUFNRSxVQUFVLEdBQUdlLFdBQVcsQ0FBQyxZQUFZO1FBQ3pDSixZQUFZLEVBQUU7UUFDZCxNQUFNSyxRQUFRLEdBQUcsTUFBTU4sRUFBRSxDQUFDLENBQUM7UUFDM0IsSUFBSU0sUUFBUSxFQUFFZixhQUFhLENBQUNILFNBQVMsQ0FBQyxDQUFDLEtBQ2xDLElBQUlhLFlBQVksS0FBS0MsV0FBVyxFQUFFO1VBQ3JDWCxhQUFhLENBQUNILFNBQVMsQ0FBQztVQUN4Qk0sU0FBUyxDQUFDLElBQUksQ0FBQztRQUNqQjtNQUNGLENBQUMsRUFBRVQsVUFBVSxDQUFDO01BQ2RNLGFBQWEsQ0FBQ0QsVUFBVSxDQUFDO01BQ3pCSSxTQUFTLENBQUMsS0FBSyxDQUFDO01BQ2hCLE9BQU8sTUFBTUUsYUFBYSxDQUFDTixVQUFVLENBQUM7SUFDeEMsQ0FBQztJQUNEaUIsSUFBSSxFQUFFWjtFQUNSLENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
* This hook adds a prop that you can toggle and returns to initial
|
|
4
4
|
* state after a defined time (usefull for notification)
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* This hook manages a value that automatically resets to its starting point after a set time.
|
|
8
|
+
* It's useful for showing temporary messages like notifications that disappear on their own.
|
|
9
|
+
*/
|
|
6
10
|
export default function useRebound<T extends any>(initialValue: T, timeoutSec?: number): {
|
|
7
11
|
current: T;
|
|
8
12
|
setState: import("react").Dispatch<import("react").SetStateAction<T>>;
|