@onepercentio/one-ui 1.3.0 → 1.3.2
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/email-templates.js +20 -1
- package/dist-ts/assets/styles/index.scss +2 -2
- package/dist-ts/assets/styles/mixins.scss +1 -0
- package/dist-ts/components/AdaptiveDialog/AdaptiveDialog.module.scss +1 -1
- package/dist-ts/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +1 -1
- package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.module.scss +1 -1
- package/dist-ts/components/Avatar/Avatar.module.scss +1 -1
- package/dist-ts/components/BucketFill/BucketFill.module.scss +1 -1
- package/dist-ts/components/Button/Button.module.scss +1 -1
- package/dist-ts/components/Card/Card.module.scss +1 -1
- package/dist-ts/components/CheckBox/CheckBox.module.scss +1 -1
- package/dist-ts/components/Collapsable/Collapsable.module.scss +1 -1
- package/dist-ts/components/Divider/Divider.module.scss +1 -1
- package/dist-ts/components/FadeIn/FadeIn.module.scss +1 -1
- package/dist-ts/components/FileInput/View/BigFactory/BigFactory.d.ts +1 -1
- package/dist-ts/components/FileInput/View/BigFactory/BigFactory.js +4 -2
- package/dist-ts/components/FileInput/View/BigFactory/BigFactory.js.map +1 -1
- package/dist-ts/components/FileInput/View/BigFactory/BigFactory.module.scss +1 -1
- package/dist-ts/components/FileInput/View/Compact/Compact.module.scss +1 -1
- package/dist-ts/components/FlowController/FlowController.module.scss +1 -1
- package/dist-ts/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +1 -1
- package/dist-ts/components/Input/Input.module.scss +1 -1
- package/dist-ts/components/Loader/Loader.module.scss +1 -1
- package/dist-ts/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +1 -1
- package/dist-ts/components/Notification/Notification.module.scss +1 -1
- package/dist-ts/components/Parallax/Parallax.module.scss +1 -1
- package/dist-ts/components/PixelatedScan/PixelatedScan.module.scss +1 -1
- package/dist-ts/components/ProgressBar/ProgressBar.module.scss +1 -1
- package/dist-ts/components/ProgressTexts/ProgressTexts.module.scss +1 -1
- package/dist-ts/components/Radio/Radio.module.scss +1 -1
- package/dist-ts/components/Radio/variants/Checkmark/Checkmark.module.scss +1 -1
- package/dist-ts/components/Radio/variants/Generic/Generic.module.scss +1 -1
- package/dist-ts/components/Select/Select.module.scss +1 -1
- package/dist-ts/components/Slider/Slider.module.scss +2 -2
- package/dist-ts/components/Switch/Switch.module.scss +1 -1
- package/dist-ts/components/Table/Table.module.scss +1 -1
- package/dist-ts/components/Tabs/Tabs.module.scss +1 -1
- package/dist-ts/components/Text/Text.module.scss +1 -1
- package/dist-ts/components/Transition/Transition.module.scss +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +3 -0
- package/dist-ts/context/OneUIProvider.js.map +1 -1
- package/dist-ts/hooks/ui/useCustomScrollbar.module.scss +1 -1
- package/dist-ts/hooks/ui/useZoomable.module.scss +1 -1
- package/dist-ts/hooks/useHero.module.scss +1 -1
- package/package.json +2 -3
- package/WebpackConfigs/__fixtures__/bug_var_color/cenario.static.tsx +0 -37
- package/WebpackConfigs/__fixtures__/bug_var_color/style.module.scss +0 -28
- package/WebpackConfigs/__fixtures__/email_templates/assets/asset1.svg +0 -3
- package/WebpackConfigs/__fixtures__/email_templates/assets/asset2.svg +0 -3
- package/WebpackConfigs/__fixtures__/email_templates/email1.static.tsx +0 -10
- package/WebpackConfigs/__fixtures__/email_templates/email2.static.tsx +0 -10
- package/build/index.html +0 -10
- package/dist/assets/img/svg/checkbox.svg +0 -3
- package/dist/assets/styles/index.scss +0 -2
- package/dist/assets/styles/mixins.scss +0 -14
- package/dist/assets/styles/variables.scss +0 -49
- package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +0 -9
- package/dist/components/AdaptiveButton/AdaptiveButton.js +0 -32
- package/dist/components/AdaptiveButton/AdaptiveButton.module.scss +0 -7
- package/dist/components/AdaptiveButton/index.d.ts +0 -2
- package/dist/components/AdaptiveButton/index.js +0 -26
- package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +0 -25
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +0 -146
- package/dist/components/AdaptiveContainer/AdaptiveContainer.module.scss +0 -53
- package/dist/components/AdaptiveContainer/index.d.ts +0 -2
- package/dist/components/AdaptiveContainer/index.js +0 -26
- package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +0 -20
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +0 -80
- package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +0 -145
- package/dist/components/AdaptiveDialog/index.d.ts +0 -2
- package/dist/components/AdaptiveDialog/index.js +0 -26
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +0 -25
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +0 -76
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +0 -49
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.d.ts +0 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +0 -13
- package/dist/components/AdaptiveSidebar/index.d.ts +0 -2
- package/dist/components/AdaptiveSidebar/index.js +0 -26
- package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +0 -37
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +0 -167
- package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +0 -64
- package/dist/components/AnchoredTooltip/index.d.ts +0 -2
- package/dist/components/AnchoredTooltip/index.js +0 -26
- package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +0 -19
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +0 -165
- package/dist/components/AnimatedEntrance/AnimatedEntrance.module.scss +0 -108
- package/dist/components/AnimatedEntrance/index.d.ts +0 -2
- package/dist/components/AnimatedEntrance/index.js +0 -26
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.d.ts +0 -29
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +0 -95
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.module.scss +0 -22
- package/dist/components/AsyncTriggerContainer/index.d.ts +0 -2
- package/dist/components/AsyncTriggerContainer/index.js +0 -26
- package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +0 -14
- package/dist/components/AsyncWrapper/AsyncWrapper.js +0 -42
- package/dist/components/AsyncWrapper/index.d.ts +0 -2
- package/dist/components/AsyncWrapper/index.js +0 -26
- package/dist/components/Avatar/Avatar.d.ts +0 -10
- package/dist/components/Avatar/Avatar.js +0 -39
- package/dist/components/Avatar/Avatar.module.scss +0 -22
- package/dist/components/Avatar/index.d.ts +0 -2
- package/dist/components/Avatar/index.js +0 -26
- package/dist/components/BucketFill/BucketFill.d.ts +0 -11
- package/dist/components/BucketFill/BucketFill.js +0 -55
- package/dist/components/BucketFill/BucketFill.module.scss +0 -36
- package/dist/components/BucketFill/index.d.ts +0 -2
- package/dist/components/BucketFill/index.js +0 -26
- package/dist/components/Button/Button.d.ts +0 -16
- package/dist/components/Button/Button.js +0 -38
- package/dist/components/Button/Button.module.scss +0 -45
- package/dist/components/Button/index.d.ts +0 -2
- package/dist/components/Button/index.js +0 -26
- package/dist/components/Card/Card.d.ts +0 -7
- package/dist/components/Card/Card.js +0 -22
- package/dist/components/Card/Card.module.scss +0 -12
- package/dist/components/Card/index.d.ts +0 -2
- package/dist/components/Card/index.js +0 -26
- package/dist/components/Chart/Chart.d.ts +0 -2
- package/dist/components/Chart/Chart.e2e.d.ts +0 -4
- package/dist/components/Chart/Chart.js +0 -26
- package/dist/components/Chart/Chart.logic.d.ts +0 -3
- package/dist/components/Chart/Chart.logic.js +0 -14
- package/dist/components/Chart/Chart.module.scss +0 -58
- package/dist/components/Chart/Chart.types.d.ts +0 -24
- package/dist/components/Chart/Chart.types.js +0 -6
- package/dist/components/Chart/Chart.view.d.ts +0 -5
- package/dist/components/Chart/Chart.view.js +0 -183
- package/dist/components/Chart/index.d.ts +0 -2
- package/dist/components/Chart/index.js +0 -26
- package/dist/components/CheckBox/CheckBox.d.ts +0 -16
- package/dist/components/CheckBox/CheckBox.js +0 -52
- package/dist/components/CheckBox/CheckBox.module.scss +0 -36
- package/dist/components/CheckBox/index.d.ts +0 -2
- package/dist/components/CheckBox/index.js +0 -26
- package/dist/components/CodeInput/CodeInput.d.ts +0 -8
- package/dist/components/CodeInput/CodeInput.js +0 -83
- package/dist/components/CodeInput/CodeInput.module.scss +0 -5
- package/dist/components/CodeInput/index.d.ts +0 -2
- package/dist/components/CodeInput/index.js +0 -26
- package/dist/components/Collapsable/Collapsable.d.ts +0 -54
- package/dist/components/Collapsable/Collapsable.js +0 -185
- package/dist/components/Collapsable/Collapsable.module.scss +0 -42
- package/dist/components/Collapsable/index.d.ts +0 -2
- package/dist/components/Collapsable/index.js +0 -26
- package/dist/components/Countdown/Countdown.d.ts +0 -28
- package/dist/components/Countdown/Countdown.js +0 -82
- package/dist/components/Countdown/index.d.ts +0 -2
- package/dist/components/Countdown/index.js +0 -26
- package/dist/components/CurrencyInput/CurrencyInput.d.ts +0 -11
- package/dist/components/CurrencyInput/CurrencyInput.hook.d.ts +0 -7
- package/dist/components/CurrencyInput/CurrencyInput.hook.js +0 -28
- package/dist/components/CurrencyInput/CurrencyInput.js +0 -54
- package/dist/components/CurrencyInput/index.d.ts +0 -2
- package/dist/components/CurrencyInput/index.js +0 -26
- package/dist/components/Divider/Divider.d.ts +0 -6
- package/dist/components/Divider/Divider.js +0 -21
- package/dist/components/Divider/Divider.module.scss +0 -7
- package/dist/components/Divider/index.d.ts +0 -2
- package/dist/components/Divider/index.js +0 -26
- package/dist/components/EmailInput/EmailInput.d.ts +0 -33
- package/dist/components/EmailInput/EmailInput.js +0 -47
- package/dist/components/EmailInput/EmailInput.module.scss +0 -0
- package/dist/components/EmailInput/index.d.ts +0 -2
- package/dist/components/EmailInput/index.js +0 -26
- package/dist/components/FadeIn/FadeIn.d.ts +0 -16
- package/dist/components/FadeIn/FadeIn.js +0 -63
- package/dist/components/FadeIn/FadeIn.module.scss +0 -9
- package/dist/components/FadeIn/index.d.ts +0 -2
- package/dist/components/FadeIn/index.js +0 -26
- package/dist/components/FileInput/FileInput.d.ts +0 -34
- package/dist/components/FileInput/FileInput.js +0 -52
- package/dist/components/FileInput/FileInput.module.scss +0 -6
- package/dist/components/FileInput/View/BigFactory/BigFactory.d.ts +0 -6
- package/dist/components/FileInput/View/BigFactory/BigFactory.js +0 -52
- package/dist/components/FileInput/View/BigFactory/BigFactory.module.scss +0 -20
- package/dist/components/FileInput/View/BigFactory/index.d.ts +0 -2
- package/dist/components/FileInput/View/BigFactory/index.js +0 -26
- package/dist/components/FileInput/View/Compact/Compact.d.ts +0 -11
- package/dist/components/FileInput/View/Compact/Compact.js +0 -119
- package/dist/components/FileInput/View/Compact/Compact.module.scss +0 -68
- package/dist/components/FileInput/View/Compact/index.d.ts +0 -2
- package/dist/components/FileInput/View/Compact/index.js +0 -26
- package/dist/components/FileInput/View/View.types.d.ts +0 -8
- package/dist/components/FileInput/View/View.types.js +0 -6
- package/dist/components/FileInput/index.d.ts +0 -2
- package/dist/components/FileInput/index.js +0 -26
- package/dist/components/FlowController/FlowController.d.ts +0 -27
- package/dist/components/FlowController/FlowController.js +0 -66
- package/dist/components/FlowController/FlowController.module.scss +0 -47
- package/dist/components/FlowController/index.d.ts +0 -2
- package/dist/components/FlowController/index.js +0 -26
- package/dist/components/Form/Form.d.ts +0 -30
- package/dist/components/Form/Form.hook.d.ts +0 -40
- package/dist/components/Form/Form.hook.js +0 -234
- package/dist/components/Form/Form.js +0 -114
- package/dist/components/Form/Form.module.scss +0 -0
- package/dist/components/Form/Form.types.d.ts +0 -98
- package/dist/components/Form/Form.types.js +0 -40
- package/dist/components/Form/FormField/Extensions/DateField/DateField.d.ts +0 -13
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +0 -75
- package/dist/components/Form/FormField/Extensions/DateField/DateField.module.scss +0 -0
- package/dist/components/Form/FormField/Extensions/DateField/index.d.ts +0 -2
- package/dist/components/Form/FormField/Extensions/DateField/index.js +0 -26
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.d.ts +0 -9
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +0 -90
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/index.d.ts +0 -2
- package/dist/components/Form/FormField/Extensions/PhoneField/index.js +0 -26
- package/dist/components/Form/FormField/FormField.d.ts +0 -5
- package/dist/components/Form/FormField/FormField.js +0 -297
- package/dist/components/Form/FormField/FormField.types.d.ts +0 -103
- package/dist/components/Form/FormField/FormField.types.js +0 -12
- package/dist/components/Form/FormField/index.d.ts +0 -2
- package/dist/components/Form/FormField/index.js +0 -26
- package/dist/components/Form/index.d.ts +0 -2
- package/dist/components/Form/index.js +0 -26
- package/dist/components/Freeze/Freeze.d.ts +0 -5
- package/dist/components/Freeze/Freeze.js +0 -18
- package/dist/components/Freeze/index.d.ts +0 -2
- package/dist/components/Freeze/index.js +0 -26
- package/dist/components/HSForms/HSForms.d.ts +0 -12
- package/dist/components/HSForms/HSForms.js +0 -54
- package/dist/components/HSForms/index.d.ts +0 -2
- package/dist/components/HSForms/index.js +0 -26
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +0 -9
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +0 -25
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +0 -44
- package/dist/components/HeaderCloseBtn/index.d.ts +0 -2
- package/dist/components/HeaderCloseBtn/index.js +0 -26
- package/dist/components/InfinityScroll/InfinityScroll.d.ts +0 -22
- package/dist/components/InfinityScroll/InfinityScroll.js +0 -127
- package/dist/components/InfinityScroll/InfinityScroll.module.scss +0 -30
- package/dist/components/InfinityScroll/index.d.ts +0 -2
- package/dist/components/InfinityScroll/index.js +0 -26
- package/dist/components/Input/Input.d.ts +0 -43
- package/dist/components/Input/Input.js +0 -109
- package/dist/components/Input/Input.module.scss +0 -31
- package/dist/components/Input/index.d.ts +0 -2
- package/dist/components/Input/index.js +0 -26
- package/dist/components/InstantCounter/InstantCounter.d.ts +0 -16
- package/dist/components/InstantCounter/InstantCounter.js +0 -54
- package/dist/components/InstantCounter/index.d.ts +0 -2
- package/dist/components/InstantCounter/index.js +0 -26
- package/dist/components/LavaLamp/LavaLamp.d.ts +0 -12
- package/dist/components/LavaLamp/LavaLamp.data.d.ts +0 -16
- package/dist/components/LavaLamp/LavaLamp.data.js +0 -89
- package/dist/components/LavaLamp/LavaLamp.js +0 -124
- package/dist/components/LavaLamp/LavaLamp.module.scss +0 -26
- package/dist/components/LavaLamp/index.d.ts +0 -2
- package/dist/components/LavaLamp/index.js +0 -26
- package/dist/components/LavaLamp/v2/LavaLamp.d.ts +0 -4
- package/dist/components/LavaLamp/v2/LavaLamp.js +0 -153
- package/dist/components/LavaLamp/v2/LavaLamp.module.scss +0 -23
- package/dist/components/LinkToId/LinkToId.d.ts +0 -11
- package/dist/components/LinkToId/LinkToId.js +0 -45
- package/dist/components/LinkToId/LinkToId.module.scss +0 -4
- package/dist/components/LinkToId/index.d.ts +0 -2
- package/dist/components/LinkToId/index.js +0 -26
- package/dist/components/Loader/Loader.d.ts +0 -8
- package/dist/components/Loader/Loader.js +0 -27
- package/dist/components/Loader/Loader.module.scss +0 -40
- package/dist/components/Loader/index.d.ts +0 -2
- package/dist/components/Loader/index.js +0 -26
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +0 -12
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +0 -35
- package/dist/components/LoaderDotsIndicator/index.d.ts +0 -2
- package/dist/components/LoaderDotsIndicator/index.js +0 -26
- package/dist/components/LoopableVideo/LoopableVideo.d.ts +0 -12
- package/dist/components/LoopableVideo/LoopableVideo.js +0 -41
- package/dist/components/LoopableVideo/index.d.ts +0 -2
- package/dist/components/LoopableVideo/index.js +0 -26
- package/dist/components/MainGrid/MainGrid.d.ts +0 -17
- package/dist/components/MainGrid/MainGrid.js +0 -54
- package/dist/components/MainGrid/MainGrid.module.scss +0 -28
- package/dist/components/MainGrid/index.d.ts +0 -2
- package/dist/components/MainGrid/index.js +0 -26
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.d.ts +0 -8
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +0 -32
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +0 -220
- package/dist/components/MutableHamburgerButton/index.d.ts +0 -2
- package/dist/components/MutableHamburgerButton/index.js +0 -26
- package/dist/components/Notification/Notification.d.ts +0 -8
- package/dist/components/Notification/Notification.js +0 -24
- package/dist/components/Notification/Notification.module.scss +0 -25
- package/dist/components/Notification/index.d.ts +0 -2
- package/dist/components/Notification/index.js +0 -26
- package/dist/components/NumberInput/NumberInput.d.ts +0 -11
- package/dist/components/NumberInput/NumberInput.js +0 -50
- package/dist/components/NumberInput/index.d.ts +0 -2
- package/dist/components/NumberInput/index.js +0 -26
- package/dist/components/OrderableList/OrderableList.d.ts +0 -40
- package/dist/components/OrderableList/OrderableList.js +0 -438
- package/dist/components/OrderableList/OrderableList.module.scss +0 -98
- package/dist/components/OrderableList/index.d.ts +0 -2
- package/dist/components/OrderableList/index.js +0 -26
- package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +0 -45
- package/dist/components/PaginationIndicator/PaginationIndicator.js +0 -260
- package/dist/components/PaginationIndicator/index.d.ts +0 -2
- package/dist/components/PaginationIndicator/index.js +0 -26
- package/dist/components/Parallax/Parallax.d.ts +0 -20
- package/dist/components/Parallax/Parallax.js +0 -168
- package/dist/components/Parallax/Parallax.module.scss +0 -28
- package/dist/components/Parallax/index.d.ts +0 -2
- package/dist/components/Parallax/index.js +0 -26
- package/dist/components/Parallax/math/helpers.d.ts +0 -58
- package/dist/components/Parallax/math/helpers.js +0 -134
- package/dist/components/PasswordInput/PasswordInput.d.ts +0 -48
- package/dist/components/PasswordInput/PasswordInput.js +0 -96
- package/dist/components/PasswordInput/PasswordInput.module.scss +0 -17
- package/dist/components/PasswordInput/index.d.ts +0 -2
- package/dist/components/PasswordInput/index.js +0 -26
- package/dist/components/PingPongText/PingPongText.d.ts +0 -10
- package/dist/components/PingPongText/PingPongText.js +0 -75
- package/dist/components/PingPongText/PingPongText.module.scss +0 -4
- package/dist/components/PingPongText/index.d.ts +0 -2
- package/dist/components/PingPongText/index.js +0 -26
- package/dist/components/PixelatedScan/PixelatedScan.d.ts +0 -13
- package/dist/components/PixelatedScan/PixelatedScan.js +0 -138
- package/dist/components/PixelatedScan/PixelatedScan.module.scss +0 -86
- package/dist/components/PixelatedScan/index.d.ts +0 -2
- package/dist/components/PixelatedScan/index.js +0 -26
- package/dist/components/Portal/Portal.d.ts +0 -20
- package/dist/components/Portal/Portal.js +0 -61
- package/dist/components/Portal/Portal.module.scss +0 -3
- package/dist/components/Portal/index.d.ts +0 -2
- package/dist/components/Portal/index.js +0 -26
- package/dist/components/ProgressBar/ProgressBar.d.ts +0 -32
- package/dist/components/ProgressBar/ProgressBar.js +0 -112
- package/dist/components/ProgressBar/ProgressBar.module.scss +0 -44
- package/dist/components/ProgressBar/index.d.ts +0 -2
- package/dist/components/ProgressBar/index.js +0 -26
- package/dist/components/ProgressTexts/ProgressTexts.d.ts +0 -29
- package/dist/components/ProgressTexts/ProgressTexts.js +0 -52
- package/dist/components/ProgressTexts/ProgressTexts.module.scss +0 -37
- package/dist/components/ProgressTexts/index.d.ts +0 -2
- package/dist/components/ProgressTexts/index.js +0 -26
- package/dist/components/Radio/Radio.d.ts +0 -15
- package/dist/components/Radio/Radio.js +0 -53
- package/dist/components/Radio/Radio.module.scss +0 -20
- package/dist/components/Radio/index.d.ts +0 -2
- package/dist/components/Radio/index.js +0 -26
- package/dist/components/Radio/variants/Checkmark/Checkmark.d.ts +0 -7
- package/dist/components/Radio/variants/Checkmark/Checkmark.js +0 -20
- package/dist/components/Radio/variants/Checkmark/Checkmark.module.scss +0 -24
- package/dist/components/Radio/variants/Checkmark/index.d.ts +0 -2
- package/dist/components/Radio/variants/Checkmark/index.js +0 -26
- package/dist/components/Radio/variants/Generic/Generic.d.ts +0 -7
- package/dist/components/Radio/variants/Generic/Generic.js +0 -22
- package/dist/components/Radio/variants/Generic/Generic.module.scss +0 -38
- package/dist/components/Radio/variants/Generic/index.d.ts +0 -2
- package/dist/components/Radio/variants/Generic/index.js +0 -26
- package/dist/components/SectionContainer/SectionContainer.d.ts +0 -19
- package/dist/components/SectionContainer/SectionContainer.js +0 -48
- package/dist/components/SectionContainer/SectionContainer.module.scss +0 -30
- package/dist/components/SectionContainer/index.d.ts +0 -2
- package/dist/components/SectionContainer/index.js +0 -26
- package/dist/components/Select/Select.d.ts +0 -42
- package/dist/components/Select/Select.js +0 -137
- package/dist/components/Select/Select.module.scss +0 -60
- package/dist/components/Select/index.d.ts +0 -2
- package/dist/components/Select/index.js +0 -26
- package/dist/components/Skeleton/Skeleton.d.ts +0 -10
- package/dist/components/Skeleton/Skeleton.js +0 -30
- package/dist/components/Skeleton/Skeleton.module.scss +0 -21
- package/dist/components/Skeleton/index.d.ts +0 -2
- package/dist/components/Skeleton/index.js +0 -26
- package/dist/components/Slider/Slider.d.ts +0 -11
- package/dist/components/Slider/Slider.e2e.d.ts +0 -4
- package/dist/components/Slider/Slider.js +0 -70
- package/dist/components/Slider/Slider.module.scss +0 -7
- package/dist/components/Slider/index.d.ts +0 -2
- package/dist/components/Slider/index.js +0 -26
- package/dist/components/Spacing/Spacing.d.ts +0 -11
- package/dist/components/Spacing/Spacing.js +0 -33
- package/dist/components/Spacing/Spacing.module.scss +0 -13
- package/dist/components/Spacing/index.d.ts +0 -2
- package/dist/components/Spacing/index.js +0 -26
- package/dist/components/StaticScroller/StaticScroller.d.ts +0 -7
- package/dist/components/StaticScroller/StaticScroller.js +0 -71
- package/dist/components/StaticScroller/StaticScroller.module.scss +0 -14
- package/dist/components/StaticScroller/index.d.ts +0 -2
- package/dist/components/StaticScroller/index.js +0 -26
- package/dist/components/Switch/Switch.d.ts +0 -12
- package/dist/components/Switch/Switch.js +0 -47
- package/dist/components/Switch/Switch.module.scss +0 -46
- package/dist/components/Switch/index.d.ts +0 -2
- package/dist/components/Switch/index.js +0 -26
- package/dist/components/Table/Table.d.ts +0 -23
- package/dist/components/Table/Table.js +0 -114
- package/dist/components/Table/Table.module.scss +0 -74
- package/dist/components/Table/index.d.ts +0 -2
- package/dist/components/Table/index.js +0 -26
- package/dist/components/Tabs/Tabs.d.ts +0 -28
- package/dist/components/Tabs/Tabs.js +0 -66
- package/dist/components/Tabs/Tabs.module.scss +0 -40
- package/dist/components/Tabs/index.d.ts +0 -2
- package/dist/components/Tabs/index.js +0 -26
- package/dist/components/Text/Text.d.ts +0 -22
- package/dist/components/Text/Text.js +0 -43
- package/dist/components/Text/Text.module.scss +0 -13
- package/dist/components/Text/index.d.ts +0 -2
- package/dist/components/Text/index.js +0 -26
- package/dist/components/Transition/MasksFactory/DiagonalReveal.d.ts +0 -1
- package/dist/components/Transition/MasksFactory/DiagonalReveal.js +0 -49
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.d.ts +0 -5
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +0 -77
- package/dist/components/Transition/MasksFactory/PhysicsSquares.d.ts +0 -7
- package/dist/components/Transition/MasksFactory/PhysicsSquares.js +0 -96
- package/dist/components/Transition/MasksFactory/SquareToBalls.d.ts +0 -5
- package/dist/components/Transition/MasksFactory/SquareToBalls.js +0 -66
- package/dist/components/Transition/MasksFactory/utils.d.ts +0 -8
- package/dist/components/Transition/MasksFactory/utils.js +0 -30
- package/dist/components/Transition/Transition.d.ts +0 -114
- package/dist/components/Transition/Transition.js +0 -322
- package/dist/components/Transition/Transition.module.scss +0 -211
- package/dist/components/Transition/index.d.ts +0 -2
- package/dist/components/Transition/index.js +0 -26
- package/dist/components/UncontrolledTransition/UncontrolledTransition.ai.md +0 -9
- package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +0 -17
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +0 -109
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.d.ts +0 -1
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +0 -31
- package/dist/components/UncontrolledTransition/index.d.ts +0 -2
- package/dist/components/UncontrolledTransition/index.js +0 -26
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.d.ts +0 -55
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +0 -114
- package/dist/components/WalletConnectionWrapper/index.d.ts +0 -2
- package/dist/components/WalletConnectionWrapper/index.js +0 -26
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.d.ts +0 -7
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +0 -58
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.module.scss +0 -5
- package/dist/components/utilitary/ScrollAndFocusLock/index.d.ts +0 -2
- package/dist/components/utilitary/ScrollAndFocusLock/index.js +0 -26
- package/dist/context/AsyncProcess.d.ts +0 -23
- package/dist/context/AsyncProcess.js +0 -73
- package/dist/context/ContextAsyncControl.d.ts +0 -39
- package/dist/context/ContextAsyncControl.js +0 -91
- package/dist/context/CustomBrowserRouter.d.ts +0 -19
- package/dist/context/CustomBrowserRouter.js +0 -49
- package/dist/context/OneUIProvider.d.ts +0 -198
- package/dist/context/OneUIProvider.js +0 -128
- package/dist/hooks/logs/useDependencyChangeDetection.d.ts +0 -1
- package/dist/hooks/logs/useDependencyChangeDetection.js +0 -20
- package/dist/hooks/logs/useIsMounting.d.ts +0 -1
- package/dist/hooks/logs/useIsMounting.js +0 -13
- package/dist/hooks/persistence/useLocalStorage.d.ts +0 -2
- package/dist/hooks/persistence/useLocalStorage.js +0 -48
- package/dist/hooks/shims/ObjectWatchShim.d.ts +0 -1
- package/dist/hooks/shims/ObjectWatchShim.js +0 -54
- package/dist/hooks/ui/useAdaptiveImage.d.ts +0 -7
- package/dist/hooks/ui/useAdaptiveImage.js +0 -36
- package/dist/hooks/ui/useAlternating.d.ts +0 -4
- package/dist/hooks/ui/useAlternating.js +0 -24
- package/dist/hooks/ui/useBreakpoint.d.ts +0 -5
- package/dist/hooks/ui/useBreakpoint.js +0 -26
- package/dist/hooks/ui/useCustomScrollbar.d.ts +0 -8
- package/dist/hooks/ui/useCustomScrollbar.js +0 -28
- package/dist/hooks/ui/useCustomScrollbar.module.scss +0 -20
- package/dist/hooks/ui/useEffectIf.d.ts +0 -2
- package/dist/hooks/ui/useEffectIf.js +0 -14
- package/dist/hooks/ui/useMouseHover.d.ts +0 -11
- package/dist/hooks/ui/useMouseHover.js +0 -29
- package/dist/hooks/ui/usePaginationControls.d.ts +0 -14
- package/dist/hooks/ui/usePaginationControls.js +0 -135
- package/dist/hooks/ui/usePaginationControls.module.scss +0 -16
- package/dist/hooks/ui/useSnapToViewport.d.ts +0 -5
- package/dist/hooks/ui/useSnapToViewport.js +0 -26
- package/dist/hooks/ui/useSnapToViewport.module.scss +0 -6
- package/dist/hooks/ui/useTilt.d.ts +0 -46
- package/dist/hooks/ui/useTilt.js +0 -161
- package/dist/hooks/ui/useZoomable.d.ts +0 -6
- package/dist/hooks/ui/useZoomable.js +0 -134
- package/dist/hooks/ui/useZoomable.module.scss +0 -34
- package/dist/hooks/useAsyncControl.ai.md +0 -25
- package/dist/hooks/useAsyncControl.d.ts +0 -32
- package/dist/hooks/useAsyncControl.js +0 -79
- package/dist/hooks/useContainedRepositioning.d.ts +0 -15
- package/dist/hooks/useContainedRepositioning.js +0 -83
- package/dist/hooks/useCustomHistory.d.ts +0 -14
- package/dist/hooks/useCustomHistory.js +0 -24
- package/dist/hooks/useElementFit.d.ts +0 -18
- package/dist/hooks/useElementFit.js +0 -54
- package/dist/hooks/useFirestoreWatch.d.ts +0 -12
- package/dist/hooks/useFirestoreWatch.js +0 -45
- package/dist/hooks/useFreeze.d.ts +0 -5
- package/dist/hooks/useFreeze.js +0 -17
- package/dist/hooks/useHero.d.ts +0 -68
- package/dist/hooks/useHero.js +0 -273
- package/dist/hooks/useHero.module.scss +0 -41
- package/dist/hooks/useIntersection.d.ts +0 -8
- package/dist/hooks/useIntersection.js +0 -39
- package/dist/hooks/useMergeRefs.d.ts +0 -9
- package/dist/hooks/useMergeRefs.js +0 -37
- package/dist/hooks/useObserve.d.ts +0 -6
- package/dist/hooks/useObserve.js +0 -25
- package/dist/hooks/usePagination.d.ts +0 -57
- package/dist/hooks/usePagination.js +0 -163
- package/dist/hooks/usePooledOperation.d.ts +0 -19
- package/dist/hooks/usePooledOperation.js +0 -53
- package/dist/hooks/usePooling.d.ts +0 -22
- package/dist/hooks/usePooling.js +0 -52
- package/dist/hooks/useRebound.d.ts +0 -13
- package/dist/hooks/useRebound.js +0 -32
- package/dist/hooks/useShortIntl.ai.md +0 -5
- package/dist/hooks/useShortIntl.d.ts +0 -21
- package/dist/hooks/useShortIntl.js +0 -82
- package/dist/hooks/utility/useAsyncMemo.d.ts +0 -13
- package/dist/hooks/utility/useAsyncMemo.js +0 -45
- package/dist/hooks/utility/useDepChange.d.ts +0 -1
- package/dist/hooks/utility/useDepChange.js +0 -17
- package/dist/hooks/utility/useEvents.d.ts +0 -9
- package/dist/hooks/utility/useEvents.js +0 -33
- package/dist/hooks/utility/useImmediate.d.ts +0 -4
- package/dist/hooks/utility/useImmediate.js +0 -14
- package/dist/hooks/utility/useManualInit.d.ts +0 -4
- package/dist/hooks/utility/useManualInit.js +0 -25
- package/dist/hooks/utility/useModule.d.ts +0 -4
- package/dist/hooks/utility/useModule.js +0 -18
- package/dist/hooks/utility/useQuery.d.ts +0 -7
- package/dist/hooks/utility/useQuery.js +0 -20
- package/dist/hooks/utility/useUniqueEffect.d.ts +0 -1
- package/dist/hooks/utility/useUniqueEffect.js +0 -20
- package/dist/index.d.ts +0 -222
- package/dist/index.js +0 -2148
- package/dist/index.preprocess.d.ts +0 -1
- package/dist/index.preprocess.js +0 -42
- package/dist/models/DebugLogger.d.ts +0 -4
- package/dist/models/DebugLogger.js +0 -16
- package/dist/models/GenericContract.d.ts +0 -100
- package/dist/models/GenericContract.js +0 -51
- package/dist/models/Orbs.d.ts +0 -44
- package/dist/models/Orbs.js +0 -67
- package/dist/reac-app-env.d.js +0 -2
- package/dist/storybook/assets/video/txt-reversed.mp4 +0 -0
- package/dist/storybookUtils/index.d.ts +0 -5
- package/dist/storybookUtils/index.js +0 -44
- package/dist/type-utils.d.ts +0 -59
- package/dist/type-utils.js +0 -6
- package/dist/types.d.ts +0 -79
- package/dist/types.js +0 -6
- package/dist/utility.d.js +0 -2
- package/dist/utils/blockchain.d.ts +0 -8
- package/dist/utils/blockchain.js +0 -46
- package/dist/utils/e2e.d.ts +0 -19
- package/dist/utils/e2e.js +0 -33
- package/dist/utils/flatten.d.ts +0 -5
- package/dist/utils/flatten.js +0 -19
- package/dist/utils/formatters.d.ts +0 -21
- package/dist/utils/formatters.js +0 -63
- package/dist/utils/html.utils.d.ts +0 -2
- package/dist/utils/html.utils.js +0 -15
- package/dist/utils/ownEvent.d.ts +0 -4
- package/dist/utils/ownEvent.js +0 -16
- package/dist/utils/test.d.ts +0 -6
- package/dist/utils/test.js +0 -19
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = usePaginationControls;
|
|
7
|
-
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _FadeIn = _interopRequireDefault(require("../../components/FadeIn"));
|
|
10
|
-
var _OneUIProvider = require("../../context/OneUIProvider");
|
|
11
|
-
var _usePaginationControlsModule = _interopRequireDefault(require("./usePaginationControls.module.scss"));
|
|
12
|
-
var _html = require("../../utils/html.utils");
|
|
13
|
-
const _excluded = ["snapToPage", "baseWidth", "snapToCutElement"],
|
|
14
|
-
_excluded2 = ["touches"],
|
|
15
|
-
_excluded3 = ["touches"];
|
|
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
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
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; }
|
|
19
|
-
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; }
|
|
20
|
-
/**
|
|
21
|
-
* This hook handles the display of pagination controls for the user to move to another page
|
|
22
|
-
*/
|
|
23
|
-
function usePaginationControls(containerRef) {
|
|
24
|
-
let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
25
|
-
{
|
|
26
|
-
snapToPage,
|
|
27
|
-
baseWidth,
|
|
28
|
-
snapToCutElement: _snapToCutElement
|
|
29
|
-
} = _ref,
|
|
30
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
31
|
-
const [controlsState, setControls] = (0, _react.useState)([false, false]);
|
|
32
|
-
const [leftControl, rightControl] = controlsState;
|
|
33
|
-
const LeftControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.LeftControl");
|
|
34
|
-
const RightControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.RightControl");
|
|
35
|
-
const className = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.className", "");
|
|
36
|
-
function move(direction) {
|
|
37
|
-
let snapToCutElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _snapToCutElement;
|
|
38
|
-
return () => {
|
|
39
|
-
if (snapToCutElement !== null && snapToCutElement !== void 0 ? snapToCutElement : false) {
|
|
40
|
-
const childBaseWidth = baseWidth || containerRef.current.firstElementChild.clientWidth;
|
|
41
|
-
const howMuchDoesTheScrollAddsUpTo = containerRef.current.scrollLeft / childBaseWidth - Math.floor((containerRef.current.scrollLeft + (direction === "l" ? -1 : 0)) / childBaseWidth);
|
|
42
|
-
const howMuchElementsFitOnAPage = containerRef.current.clientWidth / childBaseWidth;
|
|
43
|
-
const howMuchElementsFullyFitOnAPage = Math.floor(howMuchElementsFitOnAPage) || 1;
|
|
44
|
-
const directionScale = direction === "l" ? 1 - howMuchDoesTheScrollAddsUpTo : howMuchDoesTheScrollAddsUpTo;
|
|
45
|
-
const howMuchOfTheRemainingElementIsShown = howMuchElementsFitOnAPage + directionScale - howMuchElementsFullyFitOnAPage;
|
|
46
|
-
const howMuchToScroll = (containerRef.current.clientWidth - childBaseWidth * howMuchOfTheRemainingElementIsShown) * (direction === "l" ? -1 : 1);
|
|
47
|
-
containerRef.current.scrollBy({
|
|
48
|
-
left: howMuchToScroll,
|
|
49
|
-
behavior: "smooth"
|
|
50
|
-
});
|
|
51
|
-
} else {
|
|
52
|
-
const rest = Math.round(containerRef.current.scrollLeft) % containerRef.current.clientWidth;
|
|
53
|
-
const snapOffset = snapToPage ? direction === "l" ? rest ? containerRef.current.clientWidth - rest : 0 : rest : 0;
|
|
54
|
-
containerRef.current.scrollBy({
|
|
55
|
-
left: (containerRef.current.clientWidth - snapOffset) * (direction === "l" ? -1 : 1),
|
|
56
|
-
behavior: "smooth"
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function checkControlsRequirement() {
|
|
62
|
-
const updateFunc = next => prev => {
|
|
63
|
-
if (prev[0] !== next[0] || prev[1] !== next[1]) return next;
|
|
64
|
-
return prev;
|
|
65
|
-
};
|
|
66
|
-
const el = containerRef.current;
|
|
67
|
-
if (!el) return;
|
|
68
|
-
const shouldHaveAnyControl = el.scrollWidth > el.clientWidth;
|
|
69
|
-
if (!shouldHaveAnyControl) setControls(updateFunc([false, false]));else {
|
|
70
|
-
const shouldHaveRightControl = el.scrollLeft < el.scrollWidth - el.clientWidth;
|
|
71
|
-
const shouldHaveLeftControl = el.scrollLeft > 0;
|
|
72
|
-
setControls(updateFunc([shouldHaveLeftControl, shouldHaveRightControl]));
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
(0, _react.useEffect)(() => {
|
|
76
|
-
const el = containerRef.current;
|
|
77
|
-
const throttledCheck = (0, _throttle.default)(checkControlsRequirement, 1000 / 4);
|
|
78
|
-
checkControlsRequirement();
|
|
79
|
-
let startingX;
|
|
80
|
-
let lastX;
|
|
81
|
-
const onTouchStart = _ref2 => {
|
|
82
|
-
let {
|
|
83
|
-
touches
|
|
84
|
-
} = _ref2,
|
|
85
|
-
e = _objectWithoutProperties(_ref2, _excluded2);
|
|
86
|
-
if (!(0, _html.isSameTarget)(e)) return;
|
|
87
|
-
const {
|
|
88
|
-
pageX
|
|
89
|
-
} = touches.item(0);
|
|
90
|
-
startingX = pageX;
|
|
91
|
-
};
|
|
92
|
-
const onTouchMove = _ref3 => {
|
|
93
|
-
let {
|
|
94
|
-
touches
|
|
95
|
-
} = _ref3,
|
|
96
|
-
e = _objectWithoutProperties(_ref3, _excluded3);
|
|
97
|
-
if (!(0, _html.isSameTarget)(e)) return;
|
|
98
|
-
const touch = touches.item(0);
|
|
99
|
-
lastX = touch.pageX;
|
|
100
|
-
};
|
|
101
|
-
const onTouchEnd = e => {
|
|
102
|
-
if (!lastX) return;
|
|
103
|
-
const dir = lastX > startingX ? "l" : "r";
|
|
104
|
-
move(dir, true)();
|
|
105
|
-
startingX = undefined;
|
|
106
|
-
};
|
|
107
|
-
el.addEventListener("scroll", throttledCheck, {
|
|
108
|
-
passive: true
|
|
109
|
-
});
|
|
110
|
-
el.addEventListener("touchstart", onTouchStart);
|
|
111
|
-
el.addEventListener("touchend", onTouchEnd);
|
|
112
|
-
el.addEventListener("touchmove", onTouchMove);
|
|
113
|
-
return () => {
|
|
114
|
-
el.removeEventListener("scroll", throttledCheck);
|
|
115
|
-
el.removeEventListener("touchstart", onTouchStart);
|
|
116
|
-
el.removeEventListener("touchend", onTouchEnd);
|
|
117
|
-
el.removeEventListener("touchend", onTouchEnd);
|
|
118
|
-
};
|
|
119
|
-
}, []);
|
|
120
|
-
return {
|
|
121
|
-
controls: [/*#__PURE__*/_react.default.createElement(_FadeIn.default, {
|
|
122
|
-
key: "l",
|
|
123
|
-
active: leftControl,
|
|
124
|
-
className: "".concat(_usePaginationControlsModule.default.left, " ").concat(_usePaginationControlsModule.default.control, " ").concat(className),
|
|
125
|
-
onClick: move("l")
|
|
126
|
-
}, leftControl && /*#__PURE__*/_react.default.createElement(LeftControl, null)), /*#__PURE__*/_react.default.createElement(_FadeIn.default, {
|
|
127
|
-
key: "r",
|
|
128
|
-
active: rightControl,
|
|
129
|
-
className: "".concat(_usePaginationControlsModule.default.right, " ").concat(_usePaginationControlsModule.default.control, " ").concat(className),
|
|
130
|
-
onClick: move("r")
|
|
131
|
-
}, rightControl && /*#__PURE__*/_react.default.createElement(RightControl, null))],
|
|
132
|
-
checkControlsRequirement
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0ZhZGVJbiIsIl9PbmVVSVByb3ZpZGVyIiwiX3VzZVBhZ2luYXRpb25Db250cm9sc01vZHVsZSIsIl9odG1sIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl9leGNsdWRlZDMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInVzZVBhZ2luYXRpb25Db250cm9scyIsImNvbnRhaW5lclJlZiIsIl9yZWYiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJzbmFwVG9QYWdlIiwiYmFzZVdpZHRoIiwic25hcFRvQ3V0RWxlbWVudCIsIl9zbmFwVG9DdXRFbGVtZW50IiwicHJvcHMiLCJjb250cm9sc1N0YXRlIiwic2V0Q29udHJvbHMiLCJ1c2VTdGF0ZSIsImxlZnRDb250cm9sIiwicmlnaHRDb250cm9sIiwiTGVmdENvbnRyb2wiLCJ1c2VPbmVVSUNvbmZpZyIsIlJpZ2h0Q29udHJvbCIsImNsYXNzTmFtZSIsIm1vdmUiLCJkaXJlY3Rpb24iLCJjaGlsZEJhc2VXaWR0aCIsImN1cnJlbnQiLCJmaXJzdEVsZW1lbnRDaGlsZCIsImNsaWVudFdpZHRoIiwiaG93TXVjaERvZXNUaGVTY3JvbGxBZGRzVXBUbyIsInNjcm9sbExlZnQiLCJNYXRoIiwiZmxvb3IiLCJob3dNdWNoRWxlbWVudHNGaXRPbkFQYWdlIiwiaG93TXVjaEVsZW1lbnRzRnVsbHlGaXRPbkFQYWdlIiwiZGlyZWN0aW9uU2NhbGUiLCJob3dNdWNoT2ZUaGVSZW1haW5pbmdFbGVtZW50SXNTaG93biIsImhvd011Y2hUb1Njcm9sbCIsInNjcm9sbEJ5IiwibGVmdCIsImJlaGF2aW9yIiwicmVzdCIsInJvdW5kIiwic25hcE9mZnNldCIsImNoZWNrQ29udHJvbHNSZXF1aXJlbWVudCIsInVwZGF0ZUZ1bmMiLCJuZXh0IiwicHJldiIsImVsIiwic2hvdWxkSGF2ZUFueUNvbnRyb2wiLCJzY3JvbGxXaWR0aCIsInNob3VsZEhhdmVSaWdodENvbnRyb2wiLCJzaG91bGRIYXZlTGVmdENvbnRyb2wiLCJ1c2VFZmZlY3QiLCJ0aHJvdHRsZWRDaGVjayIsInRocm90dGxlIiwic3RhcnRpbmdYIiwibGFzdFgiLCJvblRvdWNoU3RhcnQiLCJfcmVmMiIsInRvdWNoZXMiLCJpc1NhbWVUYXJnZXQiLCJwYWdlWCIsIml0ZW0iLCJvblRvdWNoTW92ZSIsIl9yZWYzIiwidG91Y2giLCJvblRvdWNoRW5kIiwiZGlyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29udHJvbHMiLCJjcmVhdGVFbGVtZW50Iiwia2V5IiwiYWN0aXZlIiwiY29uY2F0IiwiU3R5bGVzIiwiY29udHJvbCIsIm9uQ2xpY2siLCJyaWdodCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2VQYWdpbmF0aW9uQ29udHJvbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0aHJvdHRsZSBmcm9tIFwibG9kYXNoL3Rocm90dGxlXCI7XG5pbXBvcnQgUmVhY3QsIHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgRmFkZSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9GYWRlSW5cIjtcbmltcG9ydCB7IHVzZU9uZVVJQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NvbnRleHQvT25lVUlQcm92aWRlclwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi91c2VQYWdpbmF0aW9uQ29udHJvbHMubW9kdWxlLnNjc3NcIjtcbmltcG9ydCB7IGlzU2FtZVRhcmdldCB9IGZyb20gXCIuLi8uLi91dGlscy9odG1sLnV0aWxzXCI7XG5cbi8qKlxuICogVGhpcyBob29rIGhhbmRsZXMgdGhlIGRpc3BsYXkgb2YgcGFnaW5hdGlvbiBjb250cm9scyBmb3IgdGhlIHVzZXIgdG8gbW92ZSB0byBhbm90aGVyIHBhZ2VcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUGFnaW5hdGlvbkNvbnRyb2xzKFxuICBjb250YWluZXJSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD4sXG4gIHtcbiAgICBzbmFwVG9QYWdlLFxuICAgIGJhc2VXaWR0aCxcbiAgICBzbmFwVG9DdXRFbGVtZW50OiBfc25hcFRvQ3V0RWxlbWVudCxcbiAgICAuLi5wcm9wc1xuICB9OiB7XG4gICAgc25hcFRvUGFnZT86IGJvb2xlYW47XG4gICAgYmFzZVdpZHRoPzogbnVtYmVyO1xuICAgIC8qKiBUaGlzIHdpbGwgc2Nyb2xsIG9ubHkgdW50aWwgdGhlIHBhcnRpYWxseSB2aXNpYmxlIGVsZW1lbnQgaXMgYXQgdGhlIGJvcmRlciwgaW5zdGVhZCBvZiBzY3JvbGxpbmcgYWxsIHRoZSBjb250YWluZXIgKi9cbiAgICBzbmFwVG9DdXRFbGVtZW50PzogYm9vbGVhbjtcbiAgICBcImRhdGEtdGVzdGlkXCI/OiBbbGVmdDogc3RyaW5nLCByaWdodDogc3RyaW5nXTtcbiAgfSA9IHt9XG4pIHtcbiAgY29uc3QgW2NvbnRyb2xzU3RhdGUsIHNldENvbnRyb2xzXSA9IHVzZVN0YXRlPFxuICAgIFtsZWZ0Q29udHJvbDogYm9vbGVhbiwgcmlnaHRDb250cm9sOiBib29sZWFuXVxuICA+KFtmYWxzZSwgZmFsc2VdKTtcbiAgY29uc3QgW2xlZnRDb250cm9sLCByaWdodENvbnRyb2xdID0gY29udHJvbHNTdGF0ZTtcbiAgY29uc3QgTGVmdENvbnRyb2wgPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBcImhvb2sudWkudXNlUGFnaW5hdGlvbkNvbnRyb2xzLkxlZnRDb250cm9sXCJcbiAgKTtcbiAgY29uc3QgUmlnaHRDb250cm9sID0gdXNlT25lVUlDb25maWcoXG4gICAgXCJob29rLnVpLnVzZVBhZ2luYXRpb25Db250cm9scy5SaWdodENvbnRyb2xcIlxuICApO1xuICBjb25zdCBjbGFzc05hbWUgPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBcImhvb2sudWkudXNlUGFnaW5hdGlvbkNvbnRyb2xzLmNsYXNzTmFtZVwiLFxuICAgIFwiXCJcbiAgKTtcbiAgZnVuY3Rpb24gbW92ZShkaXJlY3Rpb246IFwibFwiIHwgXCJyXCIsIHNuYXBUb0N1dEVsZW1lbnQgPSBfc25hcFRvQ3V0RWxlbWVudCkge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoc25hcFRvQ3V0RWxlbWVudCA/PyBmYWxzZSkge1xuICAgICAgICBjb25zdCBjaGlsZEJhc2VXaWR0aCA9XG4gICAgICAgICAgYmFzZVdpZHRoISB8fCBjb250YWluZXJSZWYuY3VycmVudCEuZmlyc3RFbGVtZW50Q2hpbGQhLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBob3dNdWNoRG9lc1RoZVNjcm9sbEFkZHNVcFRvID1cbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuc2Nyb2xsTGVmdCAvIGNoaWxkQmFzZVdpZHRoIC1cbiAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgKGNvbnRhaW5lclJlZi5jdXJyZW50IS5zY3JvbGxMZWZ0ICsgKGRpcmVjdGlvbiA9PT0gXCJsXCIgPyAtMSA6IDApKSAvXG4gICAgICAgICAgICAgIGNoaWxkQmFzZVdpZHRoXG4gICAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaG93TXVjaEVsZW1lbnRzRml0T25BUGFnZSA9XG4gICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLmNsaWVudFdpZHRoIC8gY2hpbGRCYXNlV2lkdGg7XG5cbiAgICAgICAgY29uc3QgaG93TXVjaEVsZW1lbnRzRnVsbHlGaXRPbkFQYWdlID1cbiAgICAgICAgICBNYXRoLmZsb29yKGhvd011Y2hFbGVtZW50c0ZpdE9uQVBhZ2UpIHx8IDE7XG5cbiAgICAgICAgY29uc3QgZGlyZWN0aW9uU2NhbGUgPVxuICAgICAgICAgIGRpcmVjdGlvbiA9PT0gXCJsXCJcbiAgICAgICAgICAgID8gMSAtIGhvd011Y2hEb2VzVGhlU2Nyb2xsQWRkc1VwVG9cbiAgICAgICAgICAgIDogaG93TXVjaERvZXNUaGVTY3JvbGxBZGRzVXBUbztcblxuICAgICAgICBjb25zdCBob3dNdWNoT2ZUaGVSZW1haW5pbmdFbGVtZW50SXNTaG93biA9XG4gICAgICAgICAgaG93TXVjaEVsZW1lbnRzRml0T25BUGFnZSArXG4gICAgICAgICAgZGlyZWN0aW9uU2NhbGUgLVxuICAgICAgICAgIGhvd011Y2hFbGVtZW50c0Z1bGx5Rml0T25BUGFnZTtcblxuICAgICAgICBjb25zdCBob3dNdWNoVG9TY3JvbGwgPVxuICAgICAgICAgIChjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50V2lkdGggLVxuICAgICAgICAgICAgY2hpbGRCYXNlV2lkdGggKiBob3dNdWNoT2ZUaGVSZW1haW5pbmdFbGVtZW50SXNTaG93bikgKlxuICAgICAgICAgIChkaXJlY3Rpb24gPT09IFwibFwiID8gLTEgOiAxKTtcblxuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuc2Nyb2xsQnkoe1xuICAgICAgICAgIGxlZnQ6IGhvd011Y2hUb1Njcm9sbCxcbiAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN0ID1cbiAgICAgICAgICBNYXRoLnJvdW5kKGNvbnRhaW5lclJlZi5jdXJyZW50IS5zY3JvbGxMZWZ0KSAlXG4gICAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLmNsaWVudFdpZHRoO1xuICAgICAgICBjb25zdCBzbmFwT2Zmc2V0ID0gc25hcFRvUGFnZVxuICAgICAgICAgID8gZGlyZWN0aW9uID09PSBcImxcIlxuICAgICAgICAgICAgPyByZXN0XG4gICAgICAgICAgICAgID8gY29udGFpbmVyUmVmLmN1cnJlbnQhLmNsaWVudFdpZHRoIC0gcmVzdFxuICAgICAgICAgICAgICA6IDBcbiAgICAgICAgICAgIDogcmVzdFxuICAgICAgICAgIDogMDtcbiAgICAgICAgY29udGFpbmVyUmVmLmN1cnJlbnQhLnNjcm9sbEJ5KHtcbiAgICAgICAgICBsZWZ0OlxuICAgICAgICAgICAgKGNvbnRhaW5lclJlZi5jdXJyZW50IS5jbGllbnRXaWR0aCAtIHNuYXBPZmZzZXQpICpcbiAgICAgICAgICAgIChkaXJlY3Rpb24gPT09IFwibFwiID8gLTEgOiAxKSxcbiAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrQ29udHJvbHNSZXF1aXJlbWVudCgpIHtcbiAgICBjb25zdCB1cGRhdGVGdW5jID1cbiAgICAgIChuZXh0OiB0eXBlb2YgY29udHJvbHNTdGF0ZSkgPT4gKHByZXY6IHR5cGVvZiBjb250cm9sc1N0YXRlKSA9PiB7XG4gICAgICAgIGlmIChwcmV2WzBdICE9PSBuZXh0WzBdIHx8IHByZXZbMV0gIT09IG5leHRbMV0pIHJldHVybiBuZXh0O1xuICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgIH07XG4gICAgY29uc3QgZWwgPSBjb250YWluZXJSZWYuY3VycmVudDtcbiAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgY29uc3Qgc2hvdWxkSGF2ZUFueUNvbnRyb2wgPSBlbC5zY3JvbGxXaWR0aCA+IGVsLmNsaWVudFdpZHRoO1xuICAgIGlmICghc2hvdWxkSGF2ZUFueUNvbnRyb2wpIHNldENvbnRyb2xzKHVwZGF0ZUZ1bmMoW2ZhbHNlLCBmYWxzZV0pKTtcbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHNob3VsZEhhdmVSaWdodENvbnRyb2wgPVxuICAgICAgICBlbC5zY3JvbGxMZWZ0IDwgZWwuc2Nyb2xsV2lkdGggLSBlbC5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHNob3VsZEhhdmVMZWZ0Q29udHJvbCA9IGVsLnNjcm9sbExlZnQgPiAwO1xuXG4gICAgICBzZXRDb250cm9scyh1cGRhdGVGdW5jKFtzaG91bGRIYXZlTGVmdENvbnRyb2wsIHNob3VsZEhhdmVSaWdodENvbnRyb2xdKSk7XG4gICAgfVxuICB9XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZWwgPSBjb250YWluZXJSZWYuY3VycmVudCE7XG4gICAgY29uc3QgdGhyb3R0bGVkQ2hlY2sgPSB0aHJvdHRsZShjaGVja0NvbnRyb2xzUmVxdWlyZW1lbnQsIDEwMDAgLyA0KTtcbiAgICBjaGVja0NvbnRyb2xzUmVxdWlyZW1lbnQoKTtcbiAgICBsZXQgc3RhcnRpbmdYOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGxhc3RYOiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBvblRvdWNoU3RhcnQgPSAoeyB0b3VjaGVzLCAuLi5lIH06IFRvdWNoRXZlbnQpID0+IHtcbiAgICAgIGlmICghaXNTYW1lVGFyZ2V0KGUpKSByZXR1cm47XG4gICAgICBjb25zdCB7IHBhZ2VYIH0gPSB0b3VjaGVzLml0ZW0oMCkhO1xuICAgICAgc3RhcnRpbmdYID0gcGFnZVg7XG4gICAgfTtcbiAgICBjb25zdCBvblRvdWNoTW92ZSA9ICh7IHRvdWNoZXMsIC4uLmUgfTogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgaWYgKCFpc1NhbWVUYXJnZXQoZSkpIHJldHVybjtcbiAgICAgIGNvbnN0IHRvdWNoID0gdG91Y2hlcy5pdGVtKDApO1xuXG4gICAgICBsYXN0WCA9IHRvdWNoIS5wYWdlWDtcbiAgICB9O1xuICAgIGNvbnN0IG9uVG91Y2hFbmQgPSAoZTogRXZlbnQpID0+IHtcbiAgICAgIGlmICghbGFzdFgpIHJldHVybjtcbiAgICAgIGNvbnN0IGRpciA9IGxhc3RYID4gc3RhcnRpbmdYISA/IFwibFwiIDogXCJyXCI7XG4gICAgICBtb3ZlKGRpciwgdHJ1ZSkoKTtcbiAgICAgIHN0YXJ0aW5nWCA9IHVuZGVmaW5lZDtcbiAgICB9O1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhyb3R0bGVkQ2hlY2ssIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfSk7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgb25Ub3VjaFN0YXJ0KTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgb25Ub3VjaEVuZCk7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCBvblRvdWNoTW92ZSk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhyb3R0bGVkQ2hlY2spO1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgb25Ub3VjaFN0YXJ0KTtcbiAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBvblRvdWNoRW5kKTtcbiAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBvblRvdWNoRW5kKTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICBjb250cm9sczogW1xuICAgICAgPEZhZGVcbiAgICAgICAga2V5PXtcImxcIn1cbiAgICAgICAgYWN0aXZlPXtsZWZ0Q29udHJvbH1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMubGVmdH0gJHtTdHlsZXMuY29udHJvbH0gJHtjbGFzc05hbWV9YH1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e3Byb3BzW1wiZGF0YS10ZXN0aWRcIl0/LlswXX1cbiAgICAgICAgb25DbGljaz17bW92ZShcImxcIil9XG4gICAgICA+XG4gICAgICAgIHtsZWZ0Q29udHJvbCAmJiA8TGVmdENvbnRyb2wgLz59XG4gICAgICA8L0ZhZGU+LFxuICAgICAgPEZhZGVcbiAgICAgICAga2V5PXtcInJcIn1cbiAgICAgICAgYWN0aXZlPXtyaWdodENvbnRyb2x9XG4gICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLnJpZ2h0fSAke1N0eWxlcy5jb250cm9sfSAke2NsYXNzTmFtZX1gfVxuICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXT8uWzFdfVxuICAgICAgICBvbkNsaWNrPXttb3ZlKFwiclwiKX1cbiAgICAgID5cbiAgICAgICAge3JpZ2h0Q29udHJvbCAmJiA8UmlnaHRDb250cm9sIC8+fVxuICAgICAgPC9GYWRlPixcbiAgICBdLFxuICAgIGNoZWNrQ29udHJvbHNSZXF1aXJlbWVudCxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssNEJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQU4sT0FBQTtBQUFzRCxNQUFBTyxTQUFBO0VBQUFDLFVBQUE7RUFBQUMsVUFBQTtBQUFBLFNBQUFQLHdCQUFBUSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBVix1QkFBQSxZQUFBQSxDQUFBUSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENB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
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* This takes a container and applies padding and margin so the content overflow container and goes until it hits the viewport border
|
|
4
|
-
*/
|
|
5
|
-
export default function useSnapToViewport(defaultPadding: number): import("react").RefObject<HTMLDivElement | null>;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useSnapToViewport;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _useSnapToViewportModule = _interopRequireDefault(require("./useSnapToViewport.module.scss"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
/**
|
|
11
|
-
* This takes a container and applies padding and margin so the content overflow container and goes until it hits the viewport border
|
|
12
|
-
*/
|
|
13
|
-
function useSnapToViewport(defaultPadding) {
|
|
14
|
-
const elRef = (0, _react.useRef)(null);
|
|
15
|
-
(0, _react.useLayoutEffect)(() => {
|
|
16
|
-
const diff = window.visualViewport.width - elRef.current.clientWidth;
|
|
17
|
-
const margin = diff / 2;
|
|
18
|
-
elRef.current.style.setProperty("--overflow-padding", "".concat(margin, "px"));
|
|
19
|
-
elRef.current.style.setProperty("--overflow-margin", "".concat(-margin, "px"));
|
|
20
|
-
elRef.current.style.setProperty("--default-padding", "".concat(defaultPadding, "px"));
|
|
21
|
-
elRef.current.style.setProperty("--default-margin", "".concat(-defaultPadding, "px"));
|
|
22
|
-
elRef.current.classList.add(_useSnapToViewportModule.default.applySpacings);
|
|
23
|
-
}, []);
|
|
24
|
-
return elRef;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZVNuYXBUb1ZpZXdwb3J0TW9kdWxlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZVNuYXBUb1ZpZXdwb3J0IiwiZGVmYXVsdFBhZGRpbmciLCJlbFJlZiIsInVzZVJlZiIsInVzZUxheW91dEVmZmVjdCIsImRpZmYiLCJ3aW5kb3ciLCJ2aXN1YWxWaWV3cG9ydCIsIndpZHRoIiwiY3VycmVudCIsImNsaWVudFdpZHRoIiwibWFyZ2luIiwic3R5bGUiLCJzZXRQcm9wZXJ0eSIsImNvbmNhdCIsImNsYXNzTGlzdCIsImFkZCIsIlN0eWxlcyIsImFwcGx5U3BhY2luZ3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdWkvdXNlU25hcFRvVmlld3BvcnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTGF5b3V0RWZmZWN0LCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vdXNlU25hcFRvVmlld3BvcnQubW9kdWxlLnNjc3NcIjtcbi8qKlxuICogVGhpcyB0YWtlcyBhIGNvbnRhaW5lciBhbmQgYXBwbGllcyBwYWRkaW5nIGFuZCBtYXJnaW4gc28gdGhlIGNvbnRlbnQgb3ZlcmZsb3cgY29udGFpbmVyIGFuZCBnb2VzIHVudGlsIGl0IGhpdHMgdGhlIHZpZXdwb3J0IGJvcmRlclxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTbmFwVG9WaWV3cG9ydChkZWZhdWx0UGFkZGluZzogbnVtYmVyKSB7XG4gIGNvbnN0IGVsUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPSB3aW5kb3cudmlzdWFsVmlld3BvcnQhLndpZHRoIC0gZWxSZWYuY3VycmVudCEuY2xpZW50V2lkdGg7XG5cbiAgICBjb25zdCBtYXJnaW4gPSBkaWZmIC8gMjtcblxuICAgIGVsUmVmLmN1cnJlbnQhLnN0eWxlLnNldFByb3BlcnR5KFwiLS1vdmVyZmxvdy1wYWRkaW5nXCIsIGAke21hcmdpbn1weGApO1xuICAgIGVsUmVmLmN1cnJlbnQhLnN0eWxlLnNldFByb3BlcnR5KFwiLS1vdmVyZmxvdy1tYXJnaW5cIiwgYCR7LW1hcmdpbn1weGApO1xuICAgIGVsUmVmLmN1cnJlbnQhLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgXCItLWRlZmF1bHQtcGFkZGluZ1wiLFxuICAgICAgYCR7ZGVmYXVsdFBhZGRpbmd9cHhgXG4gICAgKTtcbiAgICBlbFJlZi5jdXJyZW50IS5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgIFwiLS1kZWZhdWx0LW1hcmdpblwiLFxuICAgICAgYCR7LWRlZmF1bHRQYWRkaW5nfXB4YFxuICAgICk7XG4gICAgZWxSZWYuY3VycmVudCEuY2xhc3NMaXN0LmFkZChTdHlsZXMuYXBwbHlTcGFjaW5ncyk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gZWxSZWY7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLHdCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBcUQsU0FBQUUsdUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFDckQ7QUFDQTtBQUNBO0FBQ2UsU0FBU0csaUJBQWlCQSxDQUFDQyxjQUFzQixFQUFFO0VBQ2hFLE1BQU1DLEtBQUssR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUUxQyxJQUFBQyxzQkFBZSxFQUFDLE1BQU07SUFDcEIsTUFBTUMsSUFBSSxHQUFHQyxNQUFNLENBQUNDLGNBQWMsQ0FBRUMsS0FBSyxHQUFHTixLQUFLLENBQUNPLE9BQU8sQ0FBRUMsV0FBVztJQUV0RSxNQUFNQyxNQUFNLEdBQUdOLElBQUksR0FBRyxDQUFDO0lBRXZCSCxLQUFLLENBQUNPLE9BQU8sQ0FBRUcsS0FBSyxDQUFDQyxXQUFXLENBQUMsb0JBQW9CLEtBQUFDLE1BQUEsQ0FBS0gsTUFBTSxPQUFJLENBQUM7SUFDckVULEtBQUssQ0FBQ08sT0FBTyxDQUFFRyxLQUFLLENBQUNDLFdBQVcsQ0FBQyxtQkFBbUIsS0FBQUMsTUFBQSxDQUFLLENBQUNILE1BQU0sT0FBSSxDQUFDO0lBQ3JFVCxLQUFLLENBQUNPLE9BQU8sQ0FBRUcsS0FBSyxDQUFDQyxXQUFXLENBQzlCLG1CQUFtQixLQUFBQyxNQUFBLENBQ2hCYixjQUFjLE9BQ25CLENBQUM7SUFDREMsS0FBSyxDQUFDTyxPQUFPLENBQUVHLEtBQUssQ0FBQ0MsV0FBVyxDQUM5QixrQkFBa0IsS0FBQUMsTUFBQSxDQUNmLENBQUNiLGNBQWMsT0FDcEIsQ0FBQztJQUNEQyxLQUFLLENBQUNPLE9BQU8sQ0FBRU0sU0FBUyxDQUFDQyxHQUFHLENBQUNDLGdDQUFNLENBQUNDLGFBQWEsQ0FBQztFQUNwRCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBT2hCLEtBQUs7QUFDZCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
.applySpacings {
|
|
2
|
-
padding-left: var(--overflow-padding, var(--default-padding));
|
|
3
|
-
padding-right: var(--overflow-padding, var(--default-padding));
|
|
4
|
-
margin-left: var(--overflow-margin, var(--default-margin));
|
|
5
|
-
margin-right: var(--overflow-margin, var(--default-margin));
|
|
6
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { RefObject } from "react";
|
|
2
|
-
type Options = {
|
|
3
|
-
round?: boolean;
|
|
4
|
-
gyroEnabled?: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare function useTiltUpdates(active: boolean, relativeToEl: RefObject<HTMLDivElement | null>, onTilt: (p: {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
}) => void, onInverseMatrix?: (updateFunc: (matrix: number[]) => number[]) => void, sensorScale?: number, tiltLimit?: {
|
|
10
|
-
x: number;
|
|
11
|
-
y: number;
|
|
12
|
-
}, options?: Options): void;
|
|
13
|
-
/**
|
|
14
|
-
* This hook binds to two methods for calculating tilt
|
|
15
|
-
*
|
|
16
|
-
* When available: The device sensors
|
|
17
|
-
* When on desktop: The mouse position relative to a ref
|
|
18
|
-
*/
|
|
19
|
-
export default function useTilt(active: boolean,
|
|
20
|
-
/**
|
|
21
|
-
* A scale to increase the values from the sensors
|
|
22
|
-
*
|
|
23
|
-
* @hack You can set this value to 0 as a way to disable the tilt calc on mobile
|
|
24
|
-
*/
|
|
25
|
-
sensorScale?: number, maxTilt?: {
|
|
26
|
-
x: number;
|
|
27
|
-
y: number;
|
|
28
|
-
}, options?: Options): {
|
|
29
|
-
/** The element to monitor mouse hover relative to */
|
|
30
|
-
relativeTo: RefObject<HTMLDivElement | null>;
|
|
31
|
-
/**
|
|
32
|
-
* The matrix that represents the original tilt, so it can be used with the tilt prop to tilt relative to the user
|
|
33
|
-
* Use it on css like so transform: matrix3d(tiltResetMatrix.join(",")) rotateX(tilt.x) rotateY(tilt.y)
|
|
34
|
-
*/
|
|
35
|
-
tiltResetMatrix: number[];
|
|
36
|
-
/**
|
|
37
|
-
* How much tilt should be applied based
|
|
38
|
-
*/
|
|
39
|
-
tilt: {
|
|
40
|
-
x: number;
|
|
41
|
-
y: number;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
export declare function calculateDistanceRelativeToBounds(mousePosition: number, elementInitialPosition: number, elementSizeDimension: number, shouldRound: boolean): number;
|
|
45
|
-
export declare function givenTheRelativePositionHowMuchToRotate(relativePosition: number, maxRotation: number): number;
|
|
46
|
-
export {};
|
package/dist/hooks/ui/useTilt.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.calculateDistanceRelativeToBounds = calculateDistanceRelativeToBounds;
|
|
7
|
-
exports.default = useTilt;
|
|
8
|
-
exports.givenTheRelativePositionHowMuchToRotate = givenTheRelativePositionHowMuchToRotate;
|
|
9
|
-
exports.useTiltUpdates = useTiltUpdates;
|
|
10
|
-
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
11
|
-
var _react = require("react");
|
|
12
|
-
var _helpers = require("../../components/Parallax/math/helpers");
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
const MAX_TILT = {
|
|
15
|
-
x: 100,
|
|
16
|
-
y: 100
|
|
17
|
-
};
|
|
18
|
-
function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix) {
|
|
19
|
-
let sensorScale = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
20
|
-
let tiltLimit = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : MAX_TILT;
|
|
21
|
-
let options = arguments.length > 6 ? arguments[6] : undefined;
|
|
22
|
-
(0, _react.useEffect)(() => {
|
|
23
|
-
if (active) {
|
|
24
|
-
var _options$gyroEnabled;
|
|
25
|
-
const updatePositions = (relativeToX, relativeToY) => {
|
|
26
|
-
var _options$round, _options$round2;
|
|
27
|
-
const el = relativeToEl.current;
|
|
28
|
-
const rect = el.getBoundingClientRect();
|
|
29
|
-
const {
|
|
30
|
-
width: [x0, xW],
|
|
31
|
-
height: [y0, yH]
|
|
32
|
-
} = {
|
|
33
|
-
width: [rect.left, el.clientWidth],
|
|
34
|
-
height: [rect.top, el.clientHeight]
|
|
35
|
-
};
|
|
36
|
-
const distanceOffRight = calculateDistanceRelativeToBounds(relativeToX, x0, xW, (_options$round = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round !== void 0 ? _options$round : true);
|
|
37
|
-
const distanceOffBottom = calculateDistanceRelativeToBounds(relativeToY, y0, yH, (_options$round2 = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round2 !== void 0 ? _options$round2 : true);
|
|
38
|
-
const howMuchToRotateY = givenTheRelativePositionHowMuchToRotate(distanceOffRight, tiltLimit.y);
|
|
39
|
-
const howMuchToRotateX = givenTheRelativePositionHowMuchToRotate(distanceOffBottom, tiltLimit.x);
|
|
40
|
-
onTilt({
|
|
41
|
-
y: howMuchToRotateX * 2,
|
|
42
|
-
x: howMuchToRotateY * 2
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
const handler = (0, _throttle.default)(_ref => {
|
|
46
|
-
let {
|
|
47
|
-
x,
|
|
48
|
-
y
|
|
49
|
-
} = _ref;
|
|
50
|
-
updatePositions(x, y);
|
|
51
|
-
}, 1000 / 30);
|
|
52
|
-
const touchHandler = (0, _throttle.default)(_ref2 => {
|
|
53
|
-
let {
|
|
54
|
-
touches
|
|
55
|
-
} = _ref2;
|
|
56
|
-
const {
|
|
57
|
-
pageX,
|
|
58
|
-
pageY
|
|
59
|
-
} = touches[0];
|
|
60
|
-
updatePositions(pageX, pageY);
|
|
61
|
-
}, 1000 / 30);
|
|
62
|
-
window.addEventListener("mousemove", handler);
|
|
63
|
-
window.addEventListener("touchmove", touchHandler);
|
|
64
|
-
let _inverseMatrix;
|
|
65
|
-
const _limits = {
|
|
66
|
-
beta: undefined,
|
|
67
|
-
gamma: undefined
|
|
68
|
-
};
|
|
69
|
-
const orientationListener = _ref3 => {
|
|
70
|
-
let {
|
|
71
|
-
beta,
|
|
72
|
-
gamma
|
|
73
|
-
} = _ref3;
|
|
74
|
-
if ((beta !== null && beta !== void 0 ? beta : 0) + (gamma !== null && gamma !== void 0 ? gamma : 0) === 0) return;
|
|
75
|
-
beta = beta * 0.5;
|
|
76
|
-
gamma = gamma * 0.5;
|
|
77
|
-
if (!_inverseMatrix) {
|
|
78
|
-
window.removeEventListener("mousemove", handler);
|
|
79
|
-
window.removeEventListener("touchmove", touchHandler);
|
|
80
|
-
const offset = 12.5;
|
|
81
|
-
_limits.beta = [beta - offset, beta + offset];
|
|
82
|
-
_limits.gamma = [gamma - offset, gamma + offset];
|
|
83
|
-
}
|
|
84
|
-
const _beta = Math.min(_limits.beta[1], Math.max(_limits.beta[0], beta));
|
|
85
|
-
const _gamma = Math.min(_limits.gamma[1], Math.max(_limits.gamma[0], gamma));
|
|
86
|
-
if (!_inverseMatrix && onInverseMatrix) {
|
|
87
|
-
onInverseMatrix(() => {
|
|
88
|
-
return _inverseMatrix = (0, _helpers.flattenMatrix)((0, _helpers.invertMatrix)((0, _helpers.generateMatrixFromOperations)({
|
|
89
|
-
type: "rotateY",
|
|
90
|
-
angle: _gamma
|
|
91
|
-
}, {
|
|
92
|
-
type: "rotateX",
|
|
93
|
-
angle: -_beta
|
|
94
|
-
})));
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
onTilt({
|
|
98
|
-
y: -_beta * sensorScale,
|
|
99
|
-
x: _gamma * sensorScale
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
function removeListeners() {
|
|
103
|
-
window.removeEventListener("mousemove", handler);
|
|
104
|
-
window.removeEventListener("touchmove", touchHandler);
|
|
105
|
-
}
|
|
106
|
-
if ((_options$gyroEnabled = options === null || options === void 0 ? void 0 : options.gyroEnabled) !== null && _options$gyroEnabled !== void 0 ? _options$gyroEnabled : true) {
|
|
107
|
-
window.addEventListener("deviceorientation", orientationListener);
|
|
108
|
-
return () => {
|
|
109
|
-
window.removeEventListener("deviceorientation", orientationListener);
|
|
110
|
-
removeListeners();
|
|
111
|
-
};
|
|
112
|
-
} else {
|
|
113
|
-
return () => removeListeners();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}, [active, onInverseMatrix, onTilt]);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* This hook binds to two methods for calculating tilt
|
|
121
|
-
*
|
|
122
|
-
* When available: The device sensors
|
|
123
|
-
* When on desktop: The mouse position relative to a ref
|
|
124
|
-
*/
|
|
125
|
-
function useTilt(active) {
|
|
126
|
-
let sensorScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
127
|
-
let maxTilt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MAX_TILT;
|
|
128
|
-
let options = arguments.length > 3 ? arguments[3] : undefined;
|
|
129
|
-
const [tilt, setTilt] = (0, _react.useState)({
|
|
130
|
-
x: 0,
|
|
131
|
-
y: 0
|
|
132
|
-
});
|
|
133
|
-
const [tiltResetMatrix, setTiltResetMatrix] = (0, _react.useState)(() => (0, _helpers.flattenMatrix)((0, _helpers.IDENTITY_MATRIX)()));
|
|
134
|
-
const relativeTo = (0, _react.useRef)(null);
|
|
135
|
-
useTiltUpdates(active, relativeTo, setTilt, setTiltResetMatrix, sensorScale, maxTilt, options);
|
|
136
|
-
return {
|
|
137
|
-
/** The element to monitor mouse hover relative to */
|
|
138
|
-
relativeTo,
|
|
139
|
-
/**
|
|
140
|
-
* The matrix that represents the original tilt, so it can be used with the tilt prop to tilt relative to the user
|
|
141
|
-
* Use it on css like so transform: matrix3d(tiltResetMatrix.join(",")) rotateX(tilt.x) rotateY(tilt.y)
|
|
142
|
-
*/
|
|
143
|
-
tiltResetMatrix,
|
|
144
|
-
/**
|
|
145
|
-
* How much tilt should be applied based
|
|
146
|
-
*/
|
|
147
|
-
tilt
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
function calculateDistanceRelativeToBounds(mousePosition, elementInitialPosition, elementSizeDimension, shouldRound) {
|
|
151
|
-
const normalizeInitialPosition = mousePosition - elementInitialPosition;
|
|
152
|
-
const doNotAllowGoingBeyondLowerLimit = Math.max(normalizeInitialPosition, 0);
|
|
153
|
-
const doNotAllowHoingBeyondHigherLimit = Math.min(doNotAllowGoingBeyondLowerLimit, elementSizeDimension);
|
|
154
|
-
const threeRule = doNotAllowHoingBeyondHigherLimit * 100 / elementSizeDimension;
|
|
155
|
-
const result = (shouldRound ? Math.round(threeRule) : threeRule) / 100;
|
|
156
|
-
return result;
|
|
157
|
-
}
|
|
158
|
-
function givenTheRelativePositionHowMuchToRotate(relativePosition, maxRotation) {
|
|
159
|
-
return relativePosition * maxRotation - maxRotation / 2;
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9oZWxwZXJzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiTUFYX1RJTFQiLCJ4IiwieSIsInVzZVRpbHRVcGRhdGVzIiwiYWN0aXZlIiwicmVsYXRpdmVUb0VsIiwib25UaWx0Iiwib25JbnZlcnNlTWF0cml4Iiwic2Vuc29yU2NhbGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0aWx0TGltaXQiLCJvcHRpb25zIiwidXNlRWZmZWN0IiwiX29wdGlvbnMkZ3lyb0VuYWJsZWQiLCJ1cGRhdGVQb3NpdGlvbnMiLCJyZWxhdGl2ZVRvWCIsInJlbGF0aXZlVG9ZIiwiX29wdGlvbnMkcm91bmQiLCJfb3B0aW9ucyRyb3VuZDIiLCJlbCIsImN1cnJlbnQiLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJ4MCIsInhXIiwiaGVpZ2h0IiwieTAiLCJ5SCIsImxlZnQiLCJjbGllbnRXaWR0aCIsInRvcCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlT2ZmUmlnaHQiLCJjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMiLCJyb3VuZCIsImRpc3RhbmNlT2ZmQm90dG9tIiwiaG93TXVjaFRvUm90YXRlWSIsImdpdmVuVGhlUmVsYXRpdmVQb3NpdGlvbkhvd011Y2hUb1JvdGF0ZSIsImhvd011Y2hUb1JvdGF0ZVgiLCJoYW5kbGVyIiwidGhyb3R0bGUiLCJfcmVmIiwidG91Y2hIYW5kbGVyIiwiX3JlZjIiLCJ0b3VjaGVzIiwicGFnZVgiLCJwYWdlWSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJfaW52ZXJzZU1hdHJpeCIsIl9saW1pdHMiLCJiZXRhIiwiZ2FtbWEiLCJvcmllbnRhdGlvbkxpc3RlbmVyIiwiX3JlZjMiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0IiwiX2JldGEiLCJNYXRoIiwibWluIiwibWF4IiwiX2dhbW1hIiwiZmxhdHRlbk1hdHJpeCIsImludmVydE1hdHJpeCIsImdlbmVyYXRlTWF0cml4RnJvbU9wZXJhdGlvbnMiLCJ0eXBlIiwiYW5nbGUiLCJyZW1vdmVMaXN0ZW5lcnMiLCJneXJvRW5hYmxlZCIsInVzZVRpbHQiLCJtYXhUaWx0IiwidGlsdCIsInNldFRpbHQiLCJ1c2VTdGF0ZSIsInRpbHRSZXNldE1hdHJpeCIsInNldFRpbHRSZXNldE1hdHJpeCIsIklERU5USVRZX01BVFJJWCIsInJlbGF0aXZlVG8iLCJ1c2VSZWYiLCJtb3VzZVBvc2l0aW9uIiwiZWxlbWVudEluaXRpYWxQb3NpdGlvbiIsImVsZW1lbnRTaXplRGltZW5zaW9uIiwic2hvdWxkUm91bmQiLCJub3JtYWxpemVJbml0aWFsUG9zaXRpb24iLCJkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0IiwiZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQiLCJ0aHJlZVJ1bGUiLCJyZXN1bHQiLCJyZWxhdGl2ZVBvc2l0aW9uIiwibWF4Um90YXRpb24iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdWkvdXNlVGlsdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRocm90dGxlIGZyb20gXCJsb2Rhc2gvdGhyb3R0bGVcIjtcbmltcG9ydCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBmbGF0dGVuTWF0cml4LFxuICBnZW5lcmF0ZU1hdHJpeEZyb21PcGVyYXRpb25zLFxuICBJREVOVElUWV9NQVRSSVgsXG4gIGludmVydE1hdHJpeCxcbn0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUGFyYWxsYXgvbWF0aC9oZWxwZXJzXCI7XG5cbmNvbnN0IE1BWF9USUxUID0ge1xuICB4OiAxMDAsXG4gIHk6IDEwMCxcbn07XG5cbnR5cGUgT3B0aW9ucyA9IHtcbiAgcm91bmQ/OiBib29sZWFuO1xuICBneXJvRW5hYmxlZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlVGlsdFVwZGF0ZXMoXG4gIGFjdGl2ZTogYm9vbGVhbixcbiAgcmVsYXRpdmVUb0VsOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPixcbiAgb25UaWx0OiAocDogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9KSA9PiB2b2lkLFxuICBvbkludmVyc2VNYXRyaXg/OiAodXBkYXRlRnVuYzogKG1hdHJpeDogbnVtYmVyW10pID0+IG51bWJlcltdKSA9PiB2b2lkLFxuICBzZW5zb3JTY2FsZTogbnVtYmVyID0gMSxcbiAgdGlsdExpbWl0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gPSBNQVhfVElMVCxcbiAgb3B0aW9ucz86IE9wdGlvbnNcbikge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZVBvc2l0aW9ucyA9IChyZWxhdGl2ZVRvWDogbnVtYmVyLCByZWxhdGl2ZVRvWTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gcmVsYXRpdmVUb0VsLmN1cnJlbnQhO1xuICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB3aWR0aDogW3gwLCB4V10sXG4gICAgICAgICAgaGVpZ2h0OiBbeTAsIHlIXSxcbiAgICAgICAgfSA9IHtcbiAgICAgICAgICB3aWR0aDogW3JlY3QubGVmdCwgZWwuY2xpZW50V2lkdGhdLFxuICAgICAgICAgIGhlaWdodDogW3JlY3QudG9wLCBlbC5jbGllbnRIZWlnaHRdLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaXN0YW5jZU9mZlJpZ2h0ID0gY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzKFxuICAgICAgICAgIHJlbGF0aXZlVG9YLFxuICAgICAgICAgIHgwLFxuICAgICAgICAgIHhXLFxuICAgICAgICAgIG9wdGlvbnM/LnJvdW5kID8/IHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VPZmZCb3R0b20gPSBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gICAgICAgICAgcmVsYXRpdmVUb1ksXG4gICAgICAgICAgeTAsXG4gICAgICAgICAgeUgsXG4gICAgICAgICAgb3B0aW9ucz8ucm91bmQgPz8gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBob3dNdWNoVG9Sb3RhdGVZID0gZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICAgICAgICAgIGRpc3RhbmNlT2ZmUmlnaHQsXG4gICAgICAgICAgdGlsdExpbWl0LnlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaG93TXVjaFRvUm90YXRlWCA9IGdpdmVuVGhlUmVsYXRpdmVQb3NpdGlvbkhvd011Y2hUb1JvdGF0ZShcbiAgICAgICAgICBkaXN0YW5jZU9mZkJvdHRvbSxcbiAgICAgICAgICB0aWx0TGltaXQueFxuICAgICAgICApO1xuXG4gICAgICAgIG9uVGlsdCh7XG4gICAgICAgICAgeTogaG93TXVjaFRvUm90YXRlWCAqIDIsXG4gICAgICAgICAgeDogaG93TXVjaFRvUm90YXRlWSAqIDIsXG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSB0aHJvdHRsZSgoeyB4LCB5IH06IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdXBkYXRlUG9zaXRpb25zKHgsIHkpO1xuICAgICAgfSwgMTAwMCAvIDMwKTtcbiAgICAgIGNvbnN0IHRvdWNoSGFuZGxlciA9IHRocm90dGxlKCh7IHRvdWNoZXMgfTogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7IHBhZ2VYLCBwYWdlWSB9ID0gdG91Y2hlc1swXTtcbiAgICAgICAgdXBkYXRlUG9zaXRpb25zKHBhZ2VYLCBwYWdlWSk7XG4gICAgICB9LCAxMDAwIC8gMzApO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0b3VjaEhhbmRsZXIpO1xuICAgICAgbGV0IF9pbnZlcnNlTWF0cml4OiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IF9saW1pdHM6IHtcbiAgICAgICAgW2sgaW4gXCJiZXRhXCIgfCBcImdhbW1hXCJdPzogW251bWJlciwgbnVtYmVyXTtcbiAgICAgIH0gPSB7XG4gICAgICAgIGJldGE6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FtbWE6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgICBjb25zdCBvcmllbnRhdGlvbkxpc3RlbmVyOiAoZTogRGV2aWNlT3JpZW50YXRpb25FdmVudCkgPT4gdm9pZCA9ICh7XG4gICAgICAgIGJldGEsXG4gICAgICAgIGdhbW1hLFxuICAgICAgfSkgPT4ge1xuICAgICAgICBpZiAoKGJldGEgPz8gMCkgKyAoZ2FtbWEgPz8gMCkgPT09IDApIHJldHVybjtcbiAgICAgICAgYmV0YSA9IGJldGEhICogMC41O1xuICAgICAgICBnYW1tYSA9IGdhbW1hISAqIDAuNTtcbiAgICAgICAgaWYgKCFfaW52ZXJzZU1hdHJpeCkge1xuICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZXIpO1xuICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoSGFuZGxlcik7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gMTIuNTtcbiAgICAgICAgICBfbGltaXRzLmJldGEgPSBbYmV0YSEgLSBvZmZzZXQsIGJldGEhICsgb2Zmc2V0XTtcbiAgICAgICAgICBfbGltaXRzLmdhbW1hID0gW2dhbW1hISAtIG9mZnNldCwgZ2FtbWEhICsgb2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBfYmV0YSA9IE1hdGgubWluKFxuICAgICAgICAgIF9saW1pdHMuYmV0YSFbMV0sXG4gICAgICAgICAgTWF0aC5tYXgoX2xpbWl0cy5iZXRhIVswXSwgYmV0YSEpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IF9nYW1tYSA9IE1hdGgubWluKFxuICAgICAgICAgIF9saW1pdHMuZ2FtbWEhWzFdLFxuICAgICAgICAgIE1hdGgubWF4KF9saW1pdHMuZ2FtbWEhWzBdLCBnYW1tYSEpXG4gICAgICAgICk7XG4gICAgICAgIGlmICghX2ludmVyc2VNYXRyaXggJiYgb25JbnZlcnNlTWF0cml4KSB7XG4gICAgICAgICAgb25JbnZlcnNlTWF0cml4KCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiAoX2ludmVyc2VNYXRyaXggPSBmbGF0dGVuTWF0cml4KFxuICAgICAgICAgICAgICBpbnZlcnRNYXRyaXgoXG4gICAgICAgICAgICAgICAgZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyhcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyb3RhdGVZXCIsXG4gICAgICAgICAgICAgICAgICAgIGFuZ2xlOiBfZ2FtbWEhLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyb3RhdGVYXCIsXG4gICAgICAgICAgICAgICAgICAgIGFuZ2xlOiAtX2JldGEhLFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgb25UaWx0KHtcbiAgICAgICAgICB5OiAtX2JldGEgKiBzZW5zb3JTY2FsZSxcbiAgICAgICAgICB4OiBfZ2FtbWEgKiBzZW5zb3JTY2FsZSxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXJzKCkge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVyKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zPy5neXJvRW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZGV2aWNlb3JpZW50YXRpb25cIiwgb3JpZW50YXRpb25MaXN0ZW5lcik7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJkZXZpY2VvcmllbnRhdGlvblwiLCBvcmllbnRhdGlvbkxpc3RlbmVyKTtcbiAgICAgICAgICByZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoKSA9PiByZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthY3RpdmUsIG9uSW52ZXJzZU1hdHJpeCwgb25UaWx0XSk7XG59XG5cbi8qKlxuICogVGhpcyBob29rIGJpbmRzIHRvIHR3byBtZXRob2RzIGZvciBjYWxjdWxhdGluZyB0aWx0XG4gKlxuICogV2hlbiBhdmFpbGFibGU6IFRoZSBkZXZpY2Ugc2Vuc29yc1xuICogV2hlbiBvbiBkZXNrdG9wOiBUaGUgbW91c2UgcG9zaXRpb24gcmVsYXRpdmUgdG8gYSByZWZcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlVGlsdChcbiAgYWN0aXZlOiBib29sZWFuLFxuICAvKipcbiAgICogQSBzY2FsZSB0byBpbmNyZWFzZSB0aGUgdmFsdWVzIGZyb20gdGhlIHNlbnNvcnNcbiAgICpcbiAgICogQGhhY2sgWW91IGNhbiBzZXQgdGhpcyB2YWx1ZSB0byAwIGFzIGEgd2F5IHRvIGRpc2FibGUgdGhlIHRpbHQgY2FsYyBvbiBtb2JpbGVcbiAgICovXG4gIHNlbnNvclNjYWxlOiBudW1iZXIgPSAxLFxuICBtYXhUaWx0OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gPSBNQVhfVElMVCxcbiAgb3B0aW9ucz86IE9wdGlvbnNcbikge1xuICBjb25zdCBbdGlsdCwgc2V0VGlsdF0gPSB1c2VTdGF0ZTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+KHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gIH0pO1xuICBjb25zdCBbdGlsdFJlc2V0TWF0cml4LCBzZXRUaWx0UmVzZXRNYXRyaXhdID0gdXNlU3RhdGU8bnVtYmVyW10+KCgpID0+XG4gICAgZmxhdHRlbk1hdHJpeChJREVOVElUWV9NQVRSSVgoKSlcbiAgKTtcbiAgY29uc3QgcmVsYXRpdmVUbyA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgdXNlVGlsdFVwZGF0ZXMoXG4gICAgYWN0aXZlLFxuICAgIHJlbGF0aXZlVG8sXG4gICAgc2V0VGlsdCxcbiAgICBzZXRUaWx0UmVzZXRNYXRyaXgsXG4gICAgc2Vuc29yU2NhbGUsXG4gICAgbWF4VGlsdCxcbiAgICBvcHRpb25zXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICAvKiogVGhlIGVsZW1lbnQgdG8gbW9uaXRvciBtb3VzZSBob3ZlciByZWxhdGl2ZSB0byAqL1xuICAgIHJlbGF0aXZlVG8sXG4gICAgLyoqXG4gICAgICogVGhlIG1hdHJpeCB0aGF0IHJlcHJlc2VudHMgdGhlIG9yaWdpbmFsIHRpbHQsIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggdGhlIHRpbHQgcHJvcCB0byB0aWx0IHJlbGF0aXZlIHRvIHRoZSB1c2VyXG4gICAgICogVXNlIGl0IG9uIGNzcyBsaWtlIHNvIHRyYW5zZm9ybTogbWF0cml4M2QodGlsdFJlc2V0TWF0cml4LmpvaW4oXCIsXCIpKSByb3RhdGVYKHRpbHQueCkgcm90YXRlWSh0aWx0LnkpXG4gICAgICovXG4gICAgdGlsdFJlc2V0TWF0cml4LFxuXG4gICAgLyoqXG4gICAgICogSG93IG11Y2ggdGlsdCBzaG91bGQgYmUgYXBwbGllZCBiYXNlZFxuICAgICAqL1xuICAgIHRpbHQsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gIG1vdXNlUG9zaXRpb246IG51bWJlcixcbiAgZWxlbWVudEluaXRpYWxQb3NpdGlvbjogbnVtYmVyLFxuICBlbGVtZW50U2l6ZURpbWVuc2lvbjogbnVtYmVyLFxuICBzaG91bGRSb3VuZDogYm9vbGVhblxuKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiA9IG1vdXNlUG9zaXRpb24gLSBlbGVtZW50SW5pdGlhbFBvc2l0aW9uO1xuICBjb25zdCBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0ID0gTWF0aC5tYXgobm9ybWFsaXplSW5pdGlhbFBvc2l0aW9uLCAwKTtcbiAgY29uc3QgZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQgPSBNYXRoLm1pbihcbiAgICBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0LFxuICAgIGVsZW1lbnRTaXplRGltZW5zaW9uXG4gICk7XG4gIGNvbnN0IHRocmVlUnVsZSA9XG4gICAgKGRvTm90QWxsb3dIb2luZ0JleW9uZEhpZ2hlckxpbWl0ICogMTAwKSAvIGVsZW1lbnRTaXplRGltZW5zaW9uO1xuICBjb25zdCByZXN1bHQgPSAoc2hvdWxkUm91bmQgPyBNYXRoLnJvdW5kKHRocmVlUnVsZSkgOiB0aHJlZVJ1bGUpIC8gMTAwO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICByZWxhdGl2ZVBvc2l0aW9uOiBudW1iZXIsXG4gIG1heFJvdGF0aW9uOiBudW1iZXJcbikge1xuICByZXR1cm4gcmVsYXRpdmVQb3NpdGlvbiAqIG1heFJvdGF0aW9uIC0gbWF4Um90YXRpb24gLyAyO1xufVxuIl0sIm1h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
|