@onepercentio/one-ui 1.3.2 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release-browser-bundle.yml +76 -0
- package/README.md +23 -0
- package/dist/assets/img/svg/checkbox.svg +3 -0
- package/dist/assets/styles/index.scss +2 -0
- package/dist/assets/styles/mixins.scss +15 -0
- package/dist/assets/styles/variables.scss +49 -0
- package/dist/components/AdaptiveButton/AdaptiveButton.js +32 -0
- package/dist/components/AdaptiveButton/AdaptiveButton.module.scss +7 -0
- package/dist/components/AdaptiveButton/index.js +27 -0
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +152 -0
- package/dist/components/AdaptiveContainer/AdaptiveContainer.module.scss +53 -0
- package/dist/components/AdaptiveContainer/index.js +27 -0
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +81 -0
- package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +145 -0
- package/dist/components/AdaptiveDialog/index.js +27 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +77 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +49 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +13 -0
- package/dist/components/AdaptiveSidebar/index.js +27 -0
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +168 -0
- package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +64 -0
- package/dist/components/AnchoredTooltip/index.js +27 -0
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +166 -0
- package/dist/components/AnimatedEntrance/AnimatedEntrance.module.scss +108 -0
- package/dist/components/AnimatedEntrance/index.js +27 -0
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +95 -0
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.module.scss +22 -0
- package/dist/components/AsyncTriggerContainer/index.js +27 -0
- package/dist/components/AsyncWrapper/AsyncWrapper.js +42 -0
- package/dist/components/AsyncWrapper/index.js +27 -0
- package/dist/components/Avatar/Avatar.js +40 -0
- package/dist/components/Avatar/Avatar.module.scss +22 -0
- package/dist/components/Avatar/index.js +27 -0
- package/dist/components/BucketFill/BucketFill.js +56 -0
- package/dist/components/BucketFill/BucketFill.module.scss +36 -0
- package/dist/components/BucketFill/index.js +27 -0
- package/dist/components/Button/Button.js +39 -0
- package/dist/components/Button/Button.module.scss +45 -0
- package/dist/components/Button/index.js +27 -0
- package/dist/components/Card/Card.js +22 -0
- package/dist/components/Card/Card.module.scss +12 -0
- package/dist/components/Card/index.js +27 -0
- package/dist/components/Chart/Chart.js +27 -0
- package/dist/components/Chart/Chart.logic.js +14 -0
- package/dist/components/Chart/Chart.module.scss +58 -0
- package/dist/components/Chart/Chart.types.js +6 -0
- package/dist/components/Chart/Chart.view.js +184 -0
- package/dist/components/Chart/index.js +27 -0
- package/dist/components/CheckBox/CheckBox.js +52 -0
- package/dist/components/CheckBox/CheckBox.module.scss +36 -0
- package/dist/components/CheckBox/index.js +27 -0
- package/dist/components/CodeInput/CodeInput.js +84 -0
- package/dist/components/CodeInput/CodeInput.module.scss +5 -0
- package/dist/components/CodeInput/index.js +27 -0
- package/dist/components/Collapsable/Collapsable.js +186 -0
- package/dist/components/Collapsable/Collapsable.module.scss +42 -0
- package/dist/components/Collapsable/index.js +27 -0
- package/dist/components/Countdown/Countdown.js +83 -0
- package/dist/components/Countdown/index.js +27 -0
- package/dist/components/CurrencyInput/CurrencyInput.hook.js +28 -0
- package/dist/components/CurrencyInput/CurrencyInput.js +54 -0
- package/dist/components/CurrencyInput/index.js +27 -0
- package/dist/components/Divider/Divider.js +21 -0
- package/dist/components/Divider/Divider.module.scss +7 -0
- package/dist/components/Divider/index.js +27 -0
- package/dist/components/EmailInput/EmailInput.js +48 -0
- package/dist/components/EmailInput/EmailInput.module.scss +0 -0
- package/dist/components/EmailInput/index.js +27 -0
- package/dist/components/FadeIn/FadeIn.js +64 -0
- package/dist/components/FadeIn/FadeIn.module.scss +9 -0
- package/dist/components/FadeIn/index.js +27 -0
- package/dist/components/FileInput/FileInput.js +53 -0
- package/dist/components/FileInput/FileInput.module.scss +6 -0
- package/dist/components/FileInput/View/BigFactory/BigFactory.js +54 -0
- package/dist/components/FileInput/View/BigFactory/BigFactory.module.scss +20 -0
- package/dist/components/FileInput/View/BigFactory/index.js +27 -0
- package/dist/components/FileInput/View/Compact/Compact.js +120 -0
- package/dist/components/FileInput/View/Compact/Compact.module.scss +68 -0
- package/dist/components/FileInput/View/Compact/index.js +27 -0
- package/dist/components/FileInput/View/View.types.js +6 -0
- package/dist/components/FileInput/index.js +27 -0
- package/dist/components/FlowController/FlowController.js +66 -0
- package/dist/components/FlowController/FlowController.module.scss +47 -0
- package/dist/components/FlowController/index.js +27 -0
- package/dist/components/Form/Form.hook.js +234 -0
- package/dist/components/Form/Form.js +115 -0
- package/dist/components/Form/Form.module.scss +0 -0
- package/dist/components/Form/Form.types.js +40 -0
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +75 -0
- package/dist/components/Form/FormField/Extensions/DateField/DateField.module.scss +0 -0
- package/dist/components/Form/FormField/Extensions/DateField/index.js +27 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +91 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
- package/dist/components/Form/FormField/Extensions/PhoneField/index.js +27 -0
- package/dist/components/Form/FormField/FormField.js +296 -0
- package/dist/components/Form/FormField/FormField.types.js +12 -0
- package/dist/components/Form/FormField/index.js +27 -0
- package/dist/components/Form/index.js +27 -0
- package/dist/components/Freeze/Freeze.js +18 -0
- package/dist/components/Freeze/index.js +27 -0
- package/dist/components/HSForms/HSForms.js +55 -0
- package/dist/components/HSForms/index.js +27 -0
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +25 -0
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.module.scss +44 -0
- package/dist/components/HeaderCloseBtn/index.js +27 -0
- package/dist/components/InfinityScroll/InfinityScroll.js +128 -0
- package/dist/components/InfinityScroll/InfinityScroll.module.scss +30 -0
- package/dist/components/InfinityScroll/index.js +27 -0
- package/dist/components/Input/Input.js +110 -0
- package/dist/components/Input/Input.module.scss +31 -0
- package/dist/components/Input/index.js +27 -0
- package/dist/components/InstantCounter/InstantCounter.js +55 -0
- package/dist/components/InstantCounter/index.js +27 -0
- package/dist/components/LavaLamp/LavaLamp.data.js +89 -0
- package/dist/components/LavaLamp/LavaLamp.js +125 -0
- package/dist/components/LavaLamp/LavaLamp.module.scss +26 -0
- package/dist/components/LavaLamp/index.js +27 -0
- package/dist/components/LavaLamp/v2/LavaLamp.js +154 -0
- package/dist/components/LavaLamp/v2/LavaLamp.module.scss +23 -0
- package/dist/components/LinkToId/LinkToId.js +45 -0
- package/dist/components/LinkToId/LinkToId.module.scss +4 -0
- package/dist/components/LinkToId/index.js +27 -0
- package/dist/components/Loader/Loader.js +27 -0
- package/dist/components/Loader/Loader.module.scss +40 -0
- package/dist/components/Loader/index.js +27 -0
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +36 -0
- package/dist/components/LoaderDotsIndicator/index.js +27 -0
- package/dist/components/LoopableVideo/LoopableVideo.js +41 -0
- package/dist/components/LoopableVideo/index.js +27 -0
- package/dist/components/MainGrid/MainGrid.js +55 -0
- package/dist/components/MainGrid/MainGrid.module.scss +28 -0
- package/dist/components/MainGrid/index.js +27 -0
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +32 -0
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.module.scss +220 -0
- package/dist/components/MutableHamburgerButton/index.js +27 -0
- package/dist/components/Notification/Notification.js +24 -0
- package/dist/components/Notification/Notification.module.scss +25 -0
- package/dist/components/Notification/index.js +27 -0
- package/dist/components/NumberInput/NumberInput.js +50 -0
- package/dist/components/NumberInput/index.js +27 -0
- package/dist/components/OrderableList/OrderableList.js +439 -0
- package/dist/components/OrderableList/OrderableList.module.scss +98 -0
- package/dist/components/OrderableList/index.js +27 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.js +261 -0
- package/dist/components/PaginationIndicator/index.js +27 -0
- package/dist/components/Parallax/Parallax.js +169 -0
- package/dist/components/Parallax/Parallax.module.scss +28 -0
- package/dist/components/Parallax/index.js +27 -0
- package/dist/components/Parallax/math/helpers.js +134 -0
- package/dist/components/PasswordInput/PasswordInput.js +97 -0
- package/dist/components/PasswordInput/PasswordInput.module.scss +17 -0
- package/dist/components/PasswordInput/index.js +27 -0
- package/dist/components/PingPongText/PingPongText.js +76 -0
- package/dist/components/PingPongText/PingPongText.module.scss +4 -0
- package/dist/components/PingPongText/index.js +27 -0
- package/dist/components/PixelatedScan/PixelatedScan.js +139 -0
- package/dist/components/PixelatedScan/PixelatedScan.module.scss +86 -0
- package/dist/components/PixelatedScan/index.js +27 -0
- package/dist/components/Portal/Portal.js +62 -0
- package/dist/components/Portal/Portal.module.scss +3 -0
- package/dist/components/Portal/index.js +27 -0
- package/dist/components/ProgressBar/ProgressBar.js +113 -0
- package/dist/components/ProgressBar/ProgressBar.module.scss +44 -0
- package/dist/components/ProgressBar/index.js +27 -0
- package/dist/components/ProgressTexts/ProgressTexts.js +52 -0
- package/dist/components/ProgressTexts/ProgressTexts.module.scss +37 -0
- package/dist/components/ProgressTexts/index.js +27 -0
- package/dist/components/Radio/Radio.js +53 -0
- package/dist/components/Radio/Radio.module.scss +20 -0
- package/dist/components/Radio/index.js +27 -0
- package/dist/components/Radio/variants/Checkmark/Checkmark.js +20 -0
- package/dist/components/Radio/variants/Checkmark/Checkmark.module.scss +24 -0
- package/dist/components/Radio/variants/Checkmark/index.js +27 -0
- package/dist/components/Radio/variants/Generic/Generic.js +22 -0
- package/dist/components/Radio/variants/Generic/Generic.module.scss +38 -0
- package/dist/components/Radio/variants/Generic/index.js +27 -0
- package/dist/components/SectionContainer/SectionContainer.js +49 -0
- package/dist/components/SectionContainer/SectionContainer.module.scss +30 -0
- package/dist/components/SectionContainer/index.js +27 -0
- package/dist/components/Select/Select.js +138 -0
- package/dist/components/Select/Select.module.scss +60 -0
- package/dist/components/Select/index.js +27 -0
- package/dist/components/Skeleton/Skeleton.js +30 -0
- package/dist/components/Skeleton/Skeleton.module.scss +21 -0
- package/dist/components/Skeleton/index.js +27 -0
- package/dist/components/Slider/Slider.js +70 -0
- package/dist/components/Slider/Slider.module.scss +7 -0
- package/dist/components/Slider/index.js +27 -0
- package/dist/components/Spacing/Spacing.js +34 -0
- package/dist/components/Spacing/Spacing.module.scss +13 -0
- package/dist/components/Spacing/index.js +27 -0
- package/dist/components/StaticScroller/StaticScroller.js +72 -0
- package/dist/components/StaticScroller/StaticScroller.module.scss +14 -0
- package/dist/components/StaticScroller/index.js +27 -0
- package/dist/components/Switch/Switch.js +47 -0
- package/dist/components/Switch/Switch.module.scss +46 -0
- package/dist/components/Switch/index.js +27 -0
- package/dist/components/Table/Table.js +115 -0
- package/dist/components/Table/Table.module.scss +74 -0
- package/dist/components/Table/index.js +27 -0
- package/dist/components/Tabs/Tabs.js +67 -0
- package/dist/components/Tabs/Tabs.module.scss +40 -0
- package/dist/components/Tabs/index.js +27 -0
- package/dist/components/Text/Text.js +44 -0
- package/dist/components/Text/Text.module.scss +13 -0
- package/dist/components/Text/index.js +27 -0
- package/dist/components/Transition/MasksFactory/DiagonalReveal.js +49 -0
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +78 -0
- package/dist/components/Transition/MasksFactory/PhysicsSquares.js +96 -0
- package/dist/components/Transition/MasksFactory/SquareToBalls.js +67 -0
- package/dist/components/Transition/MasksFactory/utils.js +30 -0
- package/dist/components/Transition/Transition.js +323 -0
- package/dist/components/Transition/Transition.module.scss +211 -0
- package/dist/components/Transition/index.js +27 -0
- package/dist/components/UncontrolledTransition/UncontrolledTransition.ai.md +9 -0
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +110 -0
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +32 -0
- package/dist/components/UncontrolledTransition/index.js +27 -0
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +115 -0
- package/dist/components/WalletConnectionWrapper/index.js +27 -0
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +59 -0
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.module.scss +5 -0
- package/dist/components/utilitary/ScrollAndFocusLock/index.js +27 -0
- package/dist/context/AsyncProcess.js +74 -0
- package/dist/context/ContextAsyncControl.js +92 -0
- package/dist/context/CustomBrowserRouter.js +50 -0
- package/dist/context/OneUIProvider.js +129 -0
- package/dist/hooks/logs/useDependencyChangeDetection.js +20 -0
- package/dist/hooks/logs/useIsMounting.js +13 -0
- package/dist/hooks/persistence/useLocalStorage.js +48 -0
- package/dist/hooks/shims/ObjectWatchShim.js +54 -0
- package/dist/hooks/ui/useAdaptiveImage.js +36 -0
- package/dist/hooks/ui/useAlternating.js +24 -0
- package/dist/hooks/ui/useBreakpoint.js +26 -0
- package/dist/hooks/ui/useCustomScrollbar.js +28 -0
- package/dist/hooks/ui/useCustomScrollbar.module.scss +20 -0
- package/dist/hooks/ui/useEffectIf.js +14 -0
- package/dist/hooks/ui/useMouseHover.js +32 -0
- package/dist/hooks/ui/usePaginationControls.js +136 -0
- package/dist/hooks/ui/usePaginationControls.module.scss +16 -0
- package/dist/hooks/ui/useSnapToViewport.js +26 -0
- package/dist/hooks/ui/useSnapToViewport.module.scss +6 -0
- package/dist/hooks/ui/useTilt.js +161 -0
- package/dist/hooks/ui/useZoomable.js +135 -0
- package/dist/hooks/ui/useZoomable.module.scss +34 -0
- package/dist/hooks/useAsyncControl.ai.md +25 -0
- package/dist/hooks/useAsyncControl.js +79 -0
- package/dist/hooks/useContainedRepositioning.js +83 -0
- package/dist/hooks/useCustomHistory.js +24 -0
- package/dist/hooks/useElementFit.js +54 -0
- package/dist/hooks/useFirestoreWatch.js +45 -0
- package/dist/hooks/useFreeze.js +17 -0
- package/dist/hooks/useHero.js +273 -0
- package/dist/hooks/useHero.module.scss +41 -0
- package/dist/hooks/useIntersection.js +39 -0
- package/dist/hooks/useMergeRefs.js +36 -0
- package/dist/hooks/useObserve.js +25 -0
- package/dist/hooks/usePagination.js +163 -0
- package/dist/hooks/usePooledOperation.js +52 -0
- package/dist/hooks/usePooling.js +52 -0
- package/dist/hooks/useRebound.js +32 -0
- package/dist/hooks/useShortIntl.ai.md +5 -0
- package/dist/hooks/useShortIntl.js +82 -0
- package/dist/hooks/utility/useAsyncMemo.js +45 -0
- package/dist/hooks/utility/useDepChange.js +17 -0
- package/dist/hooks/utility/useEvents.js +33 -0
- package/dist/hooks/utility/useImmediate.js +14 -0
- package/dist/hooks/utility/useManualInit.js +25 -0
- package/dist/hooks/utility/useModule.js +18 -0
- package/dist/hooks/utility/useQuery.js +20 -0
- package/dist/hooks/utility/useUniqueEffect.js +20 -0
- package/dist/index.js +2149 -0
- package/dist/index.preprocess.js +42 -0
- package/dist/models/DebugLogger.js +16 -0
- package/dist/models/GenericContract.js +51 -0
- package/dist/models/Orbs.js +67 -0
- package/dist/reac-app-env.d.js +2 -0
- package/dist/storybook/assets/video/txt-reversed.mp4 +0 -0
- package/dist/storybookUtils/index.js +44 -0
- package/dist/type-utils.js +6 -0
- package/dist/types.js +6 -0
- package/dist/utility.d.js +2 -0
- package/dist/utils/blockchain.js +46 -0
- package/dist/utils/e2e.js +33 -0
- package/dist/utils/flatten.js +19 -0
- package/dist/utils/formatters.js +63 -0
- package/dist/utils/html.utils.js +15 -0
- package/dist/utils/ownEvent.js +16 -0
- package/dist/utils/test.js +19 -0
- package/dist-browser/bundle.js +83650 -0
- package/dist-browser/bundle.js.LICENSE.txt +94 -0
- package/dist-browser/bundle.js.map +1 -0
- package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js +2 -1
- package/dist-ts/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
- package/dist-ts/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
- package/dist-ts/components/CheckBox/CheckBox.d.ts +3 -1
- package/dist-ts/components/CheckBox/CheckBox.js +7 -4
- package/dist-ts/components/CheckBox/CheckBox.js.map +1 -1
- package/dist-ts/components/CheckBox/CheckBox.module.scss +5 -0
- package/dist-ts/components/Input/Input.js +1 -1
- package/dist-ts/components/Input/Input.js.map +1 -1
- package/dist-ts/context/OneUIProvider.d.ts +3 -1
- package/dist-ts/context/OneUIProvider.js.map +1 -1
- package/dist-ts/hooks/ui/useAdaptiveImage.d.ts +1 -1
- package/dist-ts/hooks/ui/useAdaptiveImage.js +1 -1
- package/dist-ts/hooks/ui/useAdaptiveImage.js.map +1 -1
- package/dist-ts/hooks/ui/useMouseHover.d.ts +2 -2
- package/dist-ts/hooks/ui/useMouseHover.js +6 -5
- package/dist-ts/hooks/ui/useMouseHover.js.map +1 -1
- package/dist-ts/hooks/useObserve.d.ts +1 -1
- package/dist-ts/hooks/useObserve.js +1 -1
- package/dist-ts/hooks/useObserve.js.map +1 -1
- package/dist-ts/index.d.ts +1 -0
- package/dist-ts/index.js +1 -0
- package/dist-ts/index.js.map +1 -1
- package/dist-ts/models/ImageScales.d.ts +7 -0
- package/dist-ts/models/ImageScales.js +9 -0
- package/dist-ts/models/ImageScales.js.map +1 -0
- package/example.html +76 -0
- package/package.json +11 -4
- package/webpack.bundle.config.js +87 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useDependencyChangeDetection;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function useDependencyChangeDetection(tag, dependencyArray) {
|
|
9
|
+
for (let dependencyIndex in dependencyArray) {
|
|
10
|
+
const prevValue = (0, _react.useRef)(undefined);
|
|
11
|
+
(0, _react.useEffect)(() => {
|
|
12
|
+
if (!prevValue.current) return;
|
|
13
|
+
if (process.env.NODE_ENV === "development") require('../../models/DebugLogger').default("".concat(useDependencyChangeDetection.name, ":").concat(tag), "Element index ".concat(dependencyIndex, " (prev: ").concat(JSON.stringify(prevValue.current), ") (new: ").concat(JSON.stringify(dependencyArray[dependencyIndex]), ") has changed"));
|
|
14
|
+
}, [dependencyArray[dependencyIndex]]);
|
|
15
|
+
(0, _react.useEffect)(() => {
|
|
16
|
+
prevValue.current = dependencyArray[dependencyIndex];
|
|
17
|
+
}, [dependencyArray[dependencyIndex]]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRGVwZW5kZW5jeUNoYW5nZURldGVjdGlvbiIsInRhZyIsImRlcGVuZGVuY3lBcnJheSIsImRlcGVuZGVuY3lJbmRleCIsInByZXZWYWx1ZSIsInVzZVJlZiIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0IiwiY29uY2F0IiwibmFtZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvbG9ncy91c2VEZXBlbmRlbmN5Q2hhbmdlRGV0ZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZURlcGVuZGVuY3lDaGFuZ2VEZXRlY3Rpb24oXG4gIHRhZzogc3RyaW5nLFxuICBkZXBlbmRlbmN5QXJyYXk6IGFueVtdXG4pIHtcbiAgZm9yIChsZXQgZGVwZW5kZW5jeUluZGV4IGluIGRlcGVuZGVuY3lBcnJheSkge1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVJlZjxhbnk+KHVuZGVmaW5lZCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghcHJldlZhbHVlLmN1cnJlbnQpIHJldHVybjtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgICAgICByZXF1aXJlKCcuLi8uLi9tb2RlbHMvRGVidWdMb2dnZXInKS5kZWZhdWx0KFxuICAgICAgICAgIGAke3VzZURlcGVuZGVuY3lDaGFuZ2VEZXRlY3Rpb24ubmFtZX06JHt0YWd9YCxcbiAgICAgICAgICBgRWxlbWVudCBpbmRleCAke2RlcGVuZGVuY3lJbmRleH0gKHByZXY6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBwcmV2VmFsdWUuY3VycmVudFxuICAgICAgICAgICl9KSAobmV3OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVwZW5kZW5jeUFycmF5W2RlcGVuZGVuY3lJbmRleF1cbiAgICAgICAgICApfSkgaGFzIGNoYW5nZWRgXG4gICAgICAgICk7XG4gICAgfSwgW2RlcGVuZGVuY3lBcnJheVtkZXBlbmRlbmN5SW5kZXhdXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHByZXZWYWx1ZS5jdXJyZW50ID0gZGVwZW5kZW5jeUFycmF5W2RlcGVuZGVuY3lJbmRleF07XG4gICAgfSwgW2RlcGVuZGVuY3lBcnJheVtkZXBlbmRlbmN5SW5kZXhdXSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRWUsU0FBU0MsNEJBQTRCQSxDQUNsREMsR0FBVyxFQUNYQyxlQUFzQixFQUN0QjtFQUNBLEtBQUssSUFBSUMsZUFBZSxJQUFJRCxlQUFlLEVBQUU7SUFDM0MsTUFBTUUsU0FBUyxHQUFHLElBQUFDLGFBQU0sRUFBTUMsU0FBUyxDQUFDO0lBQ3hDLElBQUFDLGdCQUFTLEVBQUMsTUFBTTtNQUNkLElBQUksQ0FBQ0gsU0FBUyxDQUFDSSxPQUFPLEVBQUU7TUFDeEIsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLEVBQ3hDWixPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2EsT0FBTyxJQUFBQyxNQUFBLENBQ3RDYiw0QkFBNEIsQ0FBQ2MsSUFBSSxPQUFBRCxNQUFBLENBQUlaLEdBQUcsb0JBQUFZLE1BQUEsQ0FDMUJWLGVBQWUsY0FBQVUsTUFBQSxDQUFXRSxJQUFJLENBQUNDLFNBQVMsQ0FDdkRaLFNBQVMsQ0FBQ0ksT0FDWixDQUFDLGNBQUFLLE1BQUEsQ0FBV0UsSUFBSSxDQUFDQyxTQUFTLENBQ3hCZCxlQUFlLENBQUNDLGVBQWUsQ0FDakMsQ0FBQyxrQkFDSCxDQUFDO0lBQ0wsQ0FBQyxFQUFFLENBQUNELGVBQWUsQ0FBQ0MsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN0QyxJQUFBSSxnQkFBUyxFQUFDLE1BQU07TUFDZEgsU0FBUyxDQUFDSSxPQUFPLEdBQUdOLGVBQWUsQ0FBQ0MsZUFBZSxDQUFDO0lBQ3RELENBQUMsRUFBRSxDQUFDRCxlQUFlLENBQUNDLGVBQWUsQ0FBQyxDQUFDLENBQUM7RUFDeEM7QUFDRiJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useIsMounting;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function useIsMounting(tag) {
|
|
9
|
+
(0, _react.useEffect)(() => {
|
|
10
|
+
console.log(tag + " is mounting");
|
|
11
|
+
}, []);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlSXNNb3VudGluZyIsInRhZyIsInVzZUVmZmVjdCIsImNvbnNvbGUiLCJsb2ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvbG9ncy91c2VJc01vdW50aW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VJc01vdW50aW5nKHRhZzogc3RyaW5nKSB7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2codGFnICsgXCIgaXMgbW91bnRpbmdcIilcbiAgICB9LCBbXSk7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFZSxTQUFTQyxhQUFhQSxDQUFDQyxHQUFXLEVBQUU7RUFDL0MsSUFBQUMsZ0JBQVMsRUFBQyxNQUFNO0lBQ1pDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDSCxHQUFHLEdBQUcsY0FBYyxDQUFDO0VBQ3JDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDViJ9
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useLocalStorage;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
const DUD = typeof "";
|
|
9
|
+
const toString = val => {
|
|
10
|
+
switch (typeof val) {
|
|
11
|
+
case "boolean":
|
|
12
|
+
return !val ? "0" : "1";
|
|
13
|
+
case "string":
|
|
14
|
+
return val;
|
|
15
|
+
case "object":
|
|
16
|
+
return JSON.stringify(val);
|
|
17
|
+
default:
|
|
18
|
+
throw new Error("Doesn't know how to handle type " + typeof val);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const fromString = (type, value) => {
|
|
22
|
+
switch (type) {
|
|
23
|
+
case "boolean":
|
|
24
|
+
return value === "1";
|
|
25
|
+
case "string":
|
|
26
|
+
return value;
|
|
27
|
+
case "object":
|
|
28
|
+
return JSON.parse(value);
|
|
29
|
+
default:
|
|
30
|
+
throw new Error("Doesn't know how to handle type " + type);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
function useLocalStorage(id, defaultValue) {
|
|
34
|
+
const [val, setVal] = (0, _react.useState)(() => {
|
|
35
|
+
const persistedValue = localStorage.getItem(id);
|
|
36
|
+
if (persistedValue === null) return defaultValue;
|
|
37
|
+
return fromString(typeof defaultValue, persistedValue);
|
|
38
|
+
});
|
|
39
|
+
(0, _react.useEffect)(() => {
|
|
40
|
+
if (val !== defaultValue) localStorage.setItem(id, toString(val));
|
|
41
|
+
}, [val]);
|
|
42
|
+
const del = (0, _react.useCallback)(() => {
|
|
43
|
+
localStorage.removeItem(id);
|
|
44
|
+
setVal(defaultValue);
|
|
45
|
+
}, []);
|
|
46
|
+
return [val, setVal, del];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiRFVEIiwidG9TdHJpbmciLCJ2YWwiLCJKU09OIiwic3RyaW5naWZ5IiwiRXJyb3IiLCJmcm9tU3RyaW5nIiwidHlwZSIsInZhbHVlIiwicGFyc2UiLCJ1c2VMb2NhbFN0b3JhZ2UiLCJpZCIsImRlZmF1bHRWYWx1ZSIsInNldFZhbCIsInVzZVN0YXRlIiwicGVyc2lzdGVkVmFsdWUiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwidXNlRWZmZWN0Iiwic2V0SXRlbSIsImRlbCIsInVzZUNhbGxiYWNrIiwicmVtb3ZlSXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9wZXJzaXN0ZW5jZS91c2VMb2NhbFN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmNvbnN0IERVRCA9IHR5cGVvZiBcIlwiO1xudHlwZSBBdmFpbGFibGVQcmltaXRpdmVzID0gdHlwZW9mIERVRDtcbmNvbnN0IHRvU3RyaW5nID0gKHZhbDogYW55KSA9PiB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbCkge1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gIXZhbCA/IFwiMFwiIDogXCIxXCI7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgcmV0dXJuIHZhbDtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRG9lc24ndCBrbm93IGhvdyB0byBoYW5kbGUgdHlwZSBcIiArIHR5cGVvZiB2YWwpO1xuICB9XG59O1xuY29uc3QgZnJvbVN0cmluZyA9ICh0eXBlOiBBdmFpbGFibGVQcmltaXRpdmVzLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gdmFsdWUgPT09IFwiMVwiO1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkRvZXNuJ3Qga25vdyBob3cgdG8gaGFuZGxlIHR5cGUgXCIgKyB0eXBlKTtcbiAgfVxufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2FsU3RvcmFnZTxUIGV4dGVuZHMgYW55PihcbiAgaWQ6IHN0cmluZyxcbiAgZGVmYXVsdFZhbHVlOiBFeGNsdWRlPFQsIHVuZGVmaW5lZD5cbikge1xuICBjb25zdCBbdmFsLCBzZXRWYWxdID0gdXNlU3RhdGU8VD4oKCkgPT4ge1xuICAgIGNvbnN0IHBlcnNpc3RlZFZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpO1xuICAgIGlmIChwZXJzaXN0ZWRWYWx1ZSA9PT0gbnVsbCkgcmV0dXJuIGRlZmF1bHRWYWx1ZSBhcyBUO1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHR5cGVvZiBkZWZhdWx0VmFsdWUsIHBlcnNpc3RlZFZhbHVlKSBhcyBUO1xuICB9KTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsICE9PSBkZWZhdWx0VmFsdWUpIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGlkLCB0b1N0cmluZyh2YWwpKTtcbiAgfSwgW3ZhbF0pO1xuICBjb25zdCBkZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaWQpO1xuICAgIHNldFZhbChkZWZhdWx0VmFsdWUpO1xuICB9LCBbXSk7XG4gIHJldHVybiBbdmFsLCBzZXRWYWwsIGRlbF0gYXMgY29uc3Q7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLE1BQU1DLEdBQUcsR0FBRyxPQUFPLEVBQUU7QUFFckIsTUFBTUMsUUFBUSxHQUFJQyxHQUFRLElBQUs7RUFDN0IsUUFBUSxPQUFPQSxHQUFHO0lBQ2hCLEtBQUssU0FBUztNQUNaLE9BQU8sQ0FBQ0EsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHO0lBQ3pCLEtBQUssUUFBUTtNQUNYLE9BQU9BLEdBQUc7SUFDWixLQUFLLFFBQVE7TUFDWCxPQUFPQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0YsR0FBRyxDQUFDO0lBQzVCO01BQ0UsTUFBTSxJQUFJRyxLQUFLLENBQUMsa0NBQWtDLEdBQUcsT0FBT0gsR0FBRyxDQUFDO0VBQ3BFO0FBQ0YsQ0FBQztBQUNELE1BQU1JLFVBQVUsR0FBR0EsQ0FBQ0MsSUFBeUIsRUFBRUMsS0FBYSxLQUFLO0VBQy9ELFFBQVFELElBQUk7SUFDVixLQUFLLFNBQVM7TUFDWixPQUFPQyxLQUFLLEtBQUssR0FBRztJQUN0QixLQUFLLFFBQVE7TUFDWCxPQUFPQSxLQUFLO0lBQ2QsS0FBSyxRQUFRO01BQ1gsT0FBT0wsSUFBSSxDQUFDTSxLQUFLLENBQUNELEtBQUssQ0FBQztJQUMxQjtNQUNFLE1BQU0sSUFBSUgsS0FBSyxDQUFDLGtDQUFrQyxHQUFHRSxJQUFJLENBQUM7RUFDOUQ7QUFDRixDQUFDO0FBQ2MsU0FBU0csZUFBZUEsQ0FDckNDLEVBQVUsRUFDVkMsWUFBbUMsRUFDbkM7RUFDQSxNQUFNLENBQUNWLEdBQUcsRUFBRVcsTUFBTSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFJLE1BQU07SUFDdEMsTUFBTUMsY0FBYyxHQUFHQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ04sRUFBRSxDQUFDO0lBQy9DLElBQUlJLGNBQWMsS0FBSyxJQUFJLEVBQUUsT0FBT0gsWUFBWTtJQUNoRCxPQUFPTixVQUFVLENBQUMsT0FBT00sWUFBWSxFQUFFRyxjQUFjLENBQUM7RUFDeEQsQ0FBQyxDQUFDO0VBQ0YsSUFBQUcsZ0JBQVMsRUFBQyxNQUFNO0lBQ2QsSUFBSWhCLEdBQUcsS0FBS1UsWUFBWSxFQUFFSSxZQUFZLENBQUNHLE9BQU8sQ0FBQ1IsRUFBRSxFQUFFVixRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDO0VBQ25FLENBQUMsRUFBRSxDQUFDQSxHQUFHLENBQUMsQ0FBQztFQUNULE1BQU1rQixHQUFHLEdBQUcsSUFBQUMsa0JBQVcsRUFBQyxNQUFNO0lBQzVCTCxZQUFZLENBQUNNLFVBQVUsQ0FBQ1gsRUFBRSxDQUFDO0lBQzNCRSxNQUFNLENBQUNELFlBQVksQ0FBQztFQUN0QixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sT0FBTyxDQUFDVixHQUFHLEVBQUVXLE1BQU0sRUFBRU8sR0FBRyxDQUFDO0FBQzNCIn0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
// @ts-nocheck
|
|
7
|
+
// object.watch
|
|
8
|
+
if (!Object.prototype.watch) {
|
|
9
|
+
Object.prototype.watch = function (propsToWatchFor, handler) {
|
|
10
|
+
(this._handlers || (this._handlers = [])).push(handler);
|
|
11
|
+
propsToWatchFor.forEach(prop => {
|
|
12
|
+
var oldval = this[prop],
|
|
13
|
+
newval = oldval,
|
|
14
|
+
getter = function () {
|
|
15
|
+
return newval;
|
|
16
|
+
},
|
|
17
|
+
setter = function (val) {
|
|
18
|
+
if (this._watchTimer) clearTimeout(this._watchTimer);
|
|
19
|
+
this._watchTimer = setTimeout(() => {
|
|
20
|
+
for (let handler of this._handlers) handler.call();
|
|
21
|
+
clearTimeout(this._watchTimer);
|
|
22
|
+
delete this._watchTimer;
|
|
23
|
+
}, 0);
|
|
24
|
+
oldval = newval;
|
|
25
|
+
newval = val;
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
28
|
+
try {
|
|
29
|
+
if (delete this[prop]) {
|
|
30
|
+
// can't watch constants
|
|
31
|
+
if (Object.defineProperty) {
|
|
32
|
+
// ECMAScript 5
|
|
33
|
+
Object.defineProperty(this, prop, {
|
|
34
|
+
get: getter,
|
|
35
|
+
set: setter
|
|
36
|
+
});
|
|
37
|
+
} else if (Object.prototype.__defineGetter__ && Object.prototype.__defineSetter__) {
|
|
38
|
+
// legacy
|
|
39
|
+
Object.prototype.__defineGetter__.call(this, prop, getter);
|
|
40
|
+
Object.prototype.__defineSetter__.call(this, prop, setter);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} catch (e) {}
|
|
44
|
+
});
|
|
45
|
+
return () => {
|
|
46
|
+
this._handlers.splice(this._handlers.indexOf(handler), 1);
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(Object.prototype, 'watch', {
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJwcm90b3R5cGUiLCJ3YXRjaCIsInByb3BzVG9XYXRjaEZvciIsImhhbmRsZXIiLCJfaGFuZGxlcnMiLCJwdXNoIiwiZm9yRWFjaCIsInByb3AiLCJvbGR2YWwiLCJuZXd2YWwiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJ2YWwiLCJfd2F0Y2hUaW1lciIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJjYWxsIiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJzZXQiLCJfX2RlZmluZUdldHRlcl9fIiwiX19kZWZpbmVTZXR0ZXJfXyIsImUiLCJzcGxpY2UiLCJpbmRleE9mIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9zaGltcy9PYmplY3RXYXRjaFNoaW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcbi8vIG9iamVjdC53YXRjaFxuaWYgKCFPYmplY3QucHJvdG90eXBlLndhdGNoKSB7XG4gIE9iamVjdC5wcm90b3R5cGUud2F0Y2ggPSBmdW5jdGlvbiAocHJvcHNUb1dhdGNoRm9yLCBoYW5kbGVyKSB7XG4gICAgKHRoaXMuX2hhbmRsZXJzIHx8ICh0aGlzLl9oYW5kbGVycyA9IFtdKSkucHVzaChoYW5kbGVyKVxuICAgIHByb3BzVG9XYXRjaEZvci5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICB2YXIgb2xkdmFsID0gdGhpc1twcm9wXSxcbiAgICAgICAgbmV3dmFsID0gb2xkdmFsLFxuICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIG5ld3ZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0dGVyID0gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgIGlmICh0aGlzLl93YXRjaFRpbWVyKSBjbGVhclRpbWVvdXQodGhpcy5fd2F0Y2hUaW1lcik7XG4gICAgICAgICAgdGhpcy5fd2F0Y2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChsZXQgaGFuZGxlciBvZiB0aGlzLl9oYW5kbGVycylcbiAgICAgICAgICAgICAgaGFuZGxlci5jYWxsKCk7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fd2F0Y2hUaW1lcik7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fd2F0Y2hUaW1lcjtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICBvbGR2YWwgPSBuZXd2YWw7XG4gICAgICAgICAgbmV3dmFsID0gdmFsO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgdHJ5IHtcblxuICAgICAgICBpZiAoZGVsZXRlIHRoaXNbcHJvcF0pIHtcbiAgICAgICAgICAvLyBjYW4ndCB3YXRjaCBjb25zdGFudHNcbiAgICAgICAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7XG4gICAgICAgICAgICAvLyBFQ01BU2NyaXB0IDUgICAgICAgICAgXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcCwge1xuICAgICAgICAgICAgICBnZXQ6IGdldHRlcixcbiAgICAgICAgICAgICAgc2V0OiBzZXR0ZXIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoXG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18gJiZcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfX1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gbGVnYWN5XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18uY2FsbCh0aGlzLCBwcm9wLCBnZXR0ZXIpO1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fLmNhbGwodGhpcywgcHJvcCwgc2V0dGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuX2hhbmRsZXJzLnNwbGljZSh0aGlzLl9oYW5kbGVycy5pbmRleE9mKGhhbmRsZXIpLCAxKTtcbiAgICB9O1xuICB9O1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ3dhdGNoJywge1xuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cbmV4cG9ydCB7fSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0EsSUFBSSxDQUFDQSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxFQUFFO0VBQzNCRixNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxHQUFHLFVBQVVDLGVBQWUsRUFBRUMsT0FBTyxFQUFFO0lBQzNELENBQUMsSUFBSSxDQUFDQyxTQUFTLEtBQUssSUFBSSxDQUFDQSxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQ0YsT0FBTyxDQUFDO0lBQ3ZERCxlQUFlLENBQUNJLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO01BQ2hDLElBQUlDLE1BQU0sR0FBRyxJQUFJLENBQUNELElBQUksQ0FBQztRQUNyQkUsTUFBTSxHQUFHRCxNQUFNO1FBQ2ZFLE1BQU0sR0FBRyxTQUFBQSxDQUFBLEVBQVk7VUFDbkIsT0FBT0QsTUFBTTtRQUNmLENBQUM7UUFDREUsTUFBTSxHQUFHLFNBQUFBLENBQVVDLEdBQUcsRUFBRTtVQUN0QixJQUFJLElBQUksQ0FBQ0MsV0FBVyxFQUFFQyxZQUFZLENBQUMsSUFBSSxDQUFDRCxXQUFXLENBQUM7VUFDcEQsSUFBSSxDQUFDQSxXQUFXLEdBQUdFLFVBQVUsQ0FBQyxNQUFNO1lBQ2xDLEtBQUssSUFBSVosT0FBTyxJQUFJLElBQUksQ0FBQ0MsU0FBUyxFQUNoQ0QsT0FBTyxDQUFDYSxJQUFJLENBQUMsQ0FBQztZQUNoQkYsWUFBWSxDQUFDLElBQUksQ0FBQ0QsV0FBVyxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDQSxXQUFXO1VBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUM7VUFDTEwsTUFBTSxHQUFHQyxNQUFNO1VBQ2ZBLE1BQU0sR0FBR0csR0FBRztVQUNaLE9BQU8sSUFBSTtRQUNiLENBQUM7TUFDSCxJQUFJO1FBRUYsSUFBSSxPQUFPLElBQUksQ0FBQ0wsSUFBSSxDQUFDLEVBQUU7VUFDckI7VUFDQSxJQUFJUixNQUFNLENBQUNrQixjQUFjLEVBQUU7WUFDekI7WUFDQWxCLE1BQU0sQ0FBQ2tCLGNBQWMsQ0FBQyxJQUFJLEVBQUVWLElBQUksRUFBRTtjQUNoQ1csR0FBRyxFQUFFUixNQUFNO2NBQ1hTLEdBQUcsRUFBRVI7WUFDUCxDQUFDLENBQUM7VUFDSixDQUFDLE1BQ0ksSUFDSFosTUFBTSxDQUFDQyxTQUFTLENBQUNvQixnQkFBZ0IsSUFDakNyQixNQUFNLENBQUNDLFNBQVMsQ0FBQ3FCLGdCQUFnQixFQUNqQztZQUNBO1lBQ0F0QixNQUFNLENBQUNDLFNBQVMsQ0FBQ29CLGdCQUFnQixDQUFDSixJQUFJLENBQUMsSUFBSSxFQUFFVCxJQUFJLEVBQUVHLE1BQU0sQ0FBQztZQUMxRFgsTUFBTSxDQUFDQyxTQUFTLENBQUNxQixnQkFBZ0IsQ0FBQ0wsSUFBSSxDQUFDLElBQUksRUFBRVQsSUFBSSxFQUFFSSxNQUFNLENBQUM7VUFDNUQ7UUFDRjtNQUNGLENBQUMsQ0FBQyxPQUFPVyxDQUFDLEVBQUUsQ0FBRTtJQUNoQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU07TUFDWCxJQUFJLENBQUNsQixTQUFTLENBQUNtQixNQUFNLENBQUMsSUFBSSxDQUFDbkIsU0FBUyxDQUFDb0IsT0FBTyxDQUFDckIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7RUFDSCxDQUFDO0VBQ0RKLE1BQU0sQ0FBQ2tCLGNBQWMsQ0FBQ2xCLE1BQU0sQ0FBQ0MsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUMvQ3lCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQyxDQUFDO0FBQ0oifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _ImageScales = require("@muritavo/webpack-microfrontend-scripts/bin/types/ImageScales");
|
|
8
|
+
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
/**
|
|
12
|
+
* This hooks is built over the implementation of this loader https://github.com/Muritavo/webpack-microfrontend-scripts#imageresolutionoptimizer
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
function useAdaptiveImage() {
|
|
16
|
+
function ScaleFromCurrentWidth() {
|
|
17
|
+
if (window.PRERENDER) return _ImageScales.ImageScales.LARGE;
|
|
18
|
+
const width = window.visualViewport.width;
|
|
19
|
+
if (width < 480) return _ImageScales.ImageScales.SMALL;
|
|
20
|
+
if (width < 800) return _ImageScales.ImageScales.NORMAL;
|
|
21
|
+
if (width < 1280) return _ImageScales.ImageScales.BIG;
|
|
22
|
+
if (width < 1920) return _ImageScales.ImageScales.LARGE;else return _ImageScales.ImageScales.EXTRA_LARGE;
|
|
23
|
+
}
|
|
24
|
+
const [currentScale, setCurrentScale] = (0, _react.useState)(() => ScaleFromCurrentWidth());
|
|
25
|
+
(0, _react.useEffect)(() => {
|
|
26
|
+
const onResizeThrottle = (0, _throttle.default)(() => {
|
|
27
|
+
setCurrentScale(ScaleFromCurrentWidth());
|
|
28
|
+
}, 1000 / 4);
|
|
29
|
+
const onResize = () => onResizeThrottle();
|
|
30
|
+
window.addEventListener("resize", onResize);
|
|
31
|
+
return () => window.removeEventListener("resize", onResize);
|
|
32
|
+
}, []);
|
|
33
|
+
return currentScale;
|
|
34
|
+
}
|
|
35
|
+
var _default = exports.default = useAdaptiveImage;
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW1hZ2VTY2FsZXMiLCJyZXF1aXJlIiwiX3Rocm90dGxlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlQWRhcHRpdmVJbWFnZSIsIlNjYWxlRnJvbUN1cnJlbnRXaWR0aCIsIndpbmRvdyIsIlBSRVJFTkRFUiIsIkltYWdlU2NhbGVzIiwiTEFSR0UiLCJ3aWR0aCIsInZpc3VhbFZpZXdwb3J0IiwiU01BTEwiLCJOT1JNQUwiLCJCSUciLCJFWFRSQV9MQVJHRSIsImN1cnJlbnRTY2FsZSIsInNldEN1cnJlbnRTY2FsZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0Iiwib25SZXNpemVUaHJvdHRsZSIsInRocm90dGxlIiwib25SZXNpemUiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2VBZGFwdGl2ZUltYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbWFnZVNjYWxlcyB9IGZyb20gXCJAbXVyaXRhdm8vd2VicGFjay1taWNyb2Zyb250ZW5kLXNjcmlwdHMvYmluL3R5cGVzL0ltYWdlU2NhbGVzXCI7XG5pbXBvcnQgdGhyb3R0bGUgZnJvbSBcImxvZGFzaC90aHJvdHRsZVwiO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgaG9va3MgaXMgYnVpbHQgb3ZlciB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBsb2FkZXIgaHR0cHM6Ly9naXRodWIuY29tL011cml0YXZvL3dlYnBhY2stbWljcm9mcm9udGVuZC1zY3JpcHRzI2ltYWdlcmVzb2x1dGlvbm9wdGltaXplclxuICpcbiAqL1xuZnVuY3Rpb24gdXNlQWRhcHRpdmVJbWFnZSgpOiBJbWFnZVNjYWxlcyB7XG4gIGZ1bmN0aW9uIFNjYWxlRnJvbUN1cnJlbnRXaWR0aCgpIHtcbiAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLlBSRVJFTkRFUikgcmV0dXJuIEltYWdlU2NhbGVzLkxBUkdFO1xuICAgIGNvbnN0IHdpZHRoID0gd2luZG93LnZpc3VhbFZpZXdwb3J0IS53aWR0aDtcbiAgICBpZiAod2lkdGggPCA0ODApIHJldHVybiBJbWFnZVNjYWxlcy5TTUFMTDtcbiAgICBpZiAod2lkdGggPCA4MDApIHJldHVybiBJbWFnZVNjYWxlcy5OT1JNQUw7XG4gICAgaWYgKHdpZHRoIDwgMTI4MCkgcmV0dXJuIEltYWdlU2NhbGVzLkJJRztcbiAgICBpZiAod2lkdGggPCAxOTIwKSByZXR1cm4gSW1hZ2VTY2FsZXMuTEFSR0U7XG4gICAgZWxzZSByZXR1cm4gSW1hZ2VTY2FsZXMuRVhUUkFfTEFSR0U7XG4gIH1cblxuICBjb25zdCBbY3VycmVudFNjYWxlLCBzZXRDdXJyZW50U2NhbGVdID0gdXNlU3RhdGU8SW1hZ2VTY2FsZXM+KCgpID0+XG4gICAgU2NhbGVGcm9tQ3VycmVudFdpZHRoKClcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uUmVzaXplVGhyb3R0bGUgPSB0aHJvdHRsZSgoKSA9PiB7XG4gICAgICBzZXRDdXJyZW50U2NhbGUoU2NhbGVGcm9tQ3VycmVudFdpZHRoKCkpO1xuICAgIH0sIDEwMDAgLyA0KTtcbiAgICBjb25zdCBvblJlc2l6ZSA9ICgpID0+IG9uUmVzaXplVGhyb3R0bGUoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBvblJlc2l6ZSk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIG9uUmVzaXplKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBjdXJyZW50U2NhbGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUFkYXB0aXZlSW1hZ2UiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUE0QyxTQUFBRSx1QkFBQUUsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNHLGdCQUFnQkEsQ0FBQSxFQUFnQjtFQUN2QyxTQUFTQyxxQkFBcUJBLENBQUEsRUFBRztJQUMvQixJQUFLQyxNQUFNLENBQVNDLFNBQVMsRUFBRSxPQUFPQyx3QkFBVyxDQUFDQyxLQUFLO0lBQ3ZELE1BQU1DLEtBQUssR0FBR0osTUFBTSxDQUFDSyxjQUFjLENBQUVELEtBQUs7SUFDMUMsSUFBSUEsS0FBSyxHQUFHLEdBQUcsRUFBRSxPQUFPRix3QkFBVyxDQUFDSSxLQUFLO0lBQ3pDLElBQUlGLEtBQUssR0FBRyxHQUFHLEVBQUUsT0FBT0Ysd0JBQVcsQ0FBQ0ssTUFBTTtJQUMxQyxJQUFJSCxLQUFLLEdBQUcsSUFBSSxFQUFFLE9BQU9GLHdCQUFXLENBQUNNLEdBQUc7SUFDeEMsSUFBSUosS0FBSyxHQUFHLElBQUksRUFBRSxPQUFPRix3QkFBVyxDQUFDQyxLQUFLLENBQUMsS0FDdEMsT0FBT0Qsd0JBQVcsQ0FBQ08sV0FBVztFQUNyQztFQUVBLE1BQU0sQ0FBQ0MsWUFBWSxFQUFFQyxlQUFlLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQWMsTUFDNURiLHFCQUFxQixDQUFDLENBQ3hCLENBQUM7RUFFRCxJQUFBYyxnQkFBUyxFQUFDLE1BQU07SUFDZCxNQUFNQyxnQkFBZ0IsR0FBRyxJQUFBQyxpQkFBUSxFQUFDLE1BQU07TUFDdENKLGVBQWUsQ0FBQ1oscUJBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1osTUFBTWlCLFFBQVEsR0FBR0EsQ0FBQSxLQUFNRixnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDZCxNQUFNLENBQUNpQixnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVELFFBQVEsQ0FBQztJQUMzQyxPQUFPLE1BQU1oQixNQUFNLENBQUNrQixtQkFBbUIsQ0FBQyxRQUFRLEVBQUVGLFFBQVEsQ0FBQztFQUM3RCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBT04sWUFBWTtBQUNyQjtBQUFDLElBQUFTLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkIsT0FBQSxHQUVjQyxnQkFBZ0IifQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useAlternating;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
/**
|
|
9
|
+
* Receives a list and keeps alternating between the list elements every 5 seconds
|
|
10
|
+
*/
|
|
11
|
+
function useAlternating(list) {
|
|
12
|
+
const [current, setCurrent] = (0, _react.useState)(list[0]);
|
|
13
|
+
(0, _react.useEffect)(() => {
|
|
14
|
+
const interval = setInterval(() => {
|
|
15
|
+
setCurrent(prev => {
|
|
16
|
+
const currentIndex = list.indexOf(prev);
|
|
17
|
+
if (list[currentIndex + 1]) return list[currentIndex + 1];else return list[0];
|
|
18
|
+
});
|
|
19
|
+
}, 5000);
|
|
20
|
+
return () => clearInterval(interval);
|
|
21
|
+
}, []);
|
|
22
|
+
return current;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlQWx0ZXJuYXRpbmciLCJsaXN0IiwiY3VycmVudCIsInNldEN1cnJlbnQiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImludGVydmFsIiwic2V0SW50ZXJ2YWwiLCJwcmV2IiwiY3VycmVudEluZGV4IiwiaW5kZXhPZiIsImNsZWFySW50ZXJ2YWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdWkvdXNlQWx0ZXJuYXRpbmcudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBSZWNlaXZlcyBhIGxpc3QgYW5kIGtlZXBzIGFsdGVybmF0aW5nIGJldHdlZW4gdGhlIGxpc3QgZWxlbWVudHMgZXZlcnkgNSBzZWNvbmRzXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUFsdGVybmF0aW5nPFg+KGxpc3Q6IFhbXSkge1xuICBjb25zdCBbY3VycmVudCwgc2V0Q3VycmVudF0gPSB1c2VTdGF0ZShsaXN0WzBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgc2V0Q3VycmVudCgocHJldikgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBsaXN0LmluZGV4T2YocHJldik7XG4gICAgICAgIGlmIChsaXN0W2N1cnJlbnRJbmRleCArIDFdKSByZXR1cm4gbGlzdFtjdXJyZW50SW5kZXggKyAxXTtcbiAgICAgICAgZWxzZSByZXR1cm4gbGlzdFswXTtcbiAgICAgIH0pO1xuICAgIH0sIDUwMDApO1xuXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBO0FBQ0E7QUFDQTtBQUNlLFNBQVNDLGNBQWNBLENBQUlDLElBQVMsRUFBRTtFQUNuRCxNQUFNLENBQUNDLE9BQU8sRUFBRUMsVUFBVSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFFL0MsSUFBQUksZ0JBQVMsRUFBQyxNQUFNO0lBQ2QsTUFBTUMsUUFBUSxHQUFHQyxXQUFXLENBQUMsTUFBTTtNQUNqQ0osVUFBVSxDQUFFSyxJQUFJLElBQUs7UUFDbkIsTUFBTUMsWUFBWSxHQUFHUixJQUFJLENBQUNTLE9BQU8sQ0FBQ0YsSUFBSSxDQUFDO1FBQ3ZDLElBQUlQLElBQUksQ0FBQ1EsWUFBWSxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU9SLElBQUksQ0FBQ1EsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQ3JELE9BQU9SLElBQUksQ0FBQyxDQUFDLENBQUM7TUFDckIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLElBQUksQ0FBQztJQUVSLE9BQU8sTUFBTVUsYUFBYSxDQUFDTCxRQUFRLENBQUM7RUFDdEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU9KLE9BQU87QUFDaEIifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useBreakpoint;
|
|
7
|
+
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
/**
|
|
11
|
+
* A hook to trigger changes when the screen resizes
|
|
12
|
+
* @returns If the current resolution is lower than the specified width
|
|
13
|
+
*/
|
|
14
|
+
function useBreakpoint(breakInto) {
|
|
15
|
+
const [lowerThanBreakpoint, setIsLowerThanBreakpoint] = (0, _react.useState)(() => window.visualViewport.width < breakInto);
|
|
16
|
+
(0, _react.useEffect)(() => {
|
|
17
|
+
const onResizeThrottle = (0, _throttle.default)(() => {
|
|
18
|
+
setIsLowerThanBreakpoint(window.visualViewport.width < breakInto);
|
|
19
|
+
}, 1000 / 4);
|
|
20
|
+
const onResize = () => onResizeThrottle();
|
|
21
|
+
window.addEventListener("resize", onResize);
|
|
22
|
+
return () => window.removeEventListener("resize", onResize);
|
|
23
|
+
}, []);
|
|
24
|
+
return lowerThanBreakpoint;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlQnJlYWtwb2ludCIsImJyZWFrSW50byIsImxvd2VyVGhhbkJyZWFrcG9pbnQiLCJzZXRJc0xvd2VyVGhhbkJyZWFrcG9pbnQiLCJ1c2VTdGF0ZSIsIndpbmRvdyIsInZpc3VhbFZpZXdwb3J0Iiwid2lkdGgiLCJ1c2VFZmZlY3QiLCJvblJlc2l6ZVRocm90dGxlIiwidGhyb3R0bGUiLCJvblJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VpL3VzZUJyZWFrcG9pbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0aHJvdHRsZSBmcm9tIFwibG9kYXNoL3Rocm90dGxlXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogQSBob29rIHRvIHRyaWdnZXIgY2hhbmdlcyB3aGVuIHRoZSBzY3JlZW4gcmVzaXplc1xuICogQHJldHVybnMgSWYgdGhlIGN1cnJlbnQgcmVzb2x1dGlvbiBpcyBsb3dlciB0aGFuIHRoZSBzcGVjaWZpZWQgd2lkdGhcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQnJlYWtwb2ludChicmVha0ludG86IG51bWJlcikge1xuICBjb25zdCBbbG93ZXJUaGFuQnJlYWtwb2ludCwgc2V0SXNMb3dlclRoYW5CcmVha3BvaW50XSA9IHVzZVN0YXRlKFxuICAgICgpID0+IHdpbmRvdy52aXN1YWxWaWV3cG9ydCEud2lkdGggPCBicmVha0ludG9cbiAgKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvblJlc2l6ZVRocm90dGxlID0gdGhyb3R0bGUoKCkgPT4ge1xuICAgICAgc2V0SXNMb3dlclRoYW5CcmVha3BvaW50KHdpbmRvdy52aXN1YWxWaWV3cG9ydCEud2lkdGggPCBicmVha0ludG8pO1xuICAgIH0sIDEwMDAgLyA0KTtcbiAgICBjb25zdCBvblJlc2l6ZSA9ICgpID0+IG9uUmVzaXplVGhyb3R0bGUoKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBvblJlc2l6ZSk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIG9uUmVzaXplKTtcbiAgfSwgW10pO1xuICByZXR1cm4gbG93ZXJUaGFuQnJlYWtwb2ludDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQTRDLFNBQUFELHVCQUFBRyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0csYUFBYUEsQ0FBQ0MsU0FBaUIsRUFBRTtFQUN2RCxNQUFNLENBQUNDLG1CQUFtQixFQUFFQyx3QkFBd0IsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFDOUQsTUFBTUMsTUFBTSxDQUFDQyxjQUFjLENBQUVDLEtBQUssR0FBR04sU0FDdkMsQ0FBQztFQUNELElBQUFPLGdCQUFTLEVBQUMsTUFBTTtJQUNkLE1BQU1DLGdCQUFnQixHQUFHLElBQUFDLGlCQUFRLEVBQUMsTUFBTTtNQUN0Q1Asd0JBQXdCLENBQUNFLE1BQU0sQ0FBQ0MsY0FBYyxDQUFFQyxLQUFLLEdBQUdOLFNBQVMsQ0FBQztJQUNwRSxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNaLE1BQU1VLFFBQVEsR0FBR0EsQ0FBQSxLQUFNRixnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDSixNQUFNLENBQUNPLGdCQUFnQixDQUFDLFFBQVEsRUFBRUQsUUFBUSxDQUFDO0lBQzNDLE9BQU8sTUFBTU4sTUFBTSxDQUFDUSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUVGLFFBQVEsQ0FBQztFQUM3RCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sT0FBT1QsbUJBQW1CO0FBQzVCIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useCustomScrollBar;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _useCustomScrollbarModule = _interopRequireDefault(require("./useCustomScrollbar.module.scss"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
function useCustomScrollBar() {
|
|
11
|
+
let {
|
|
12
|
+
color = "",
|
|
13
|
+
propagate = false
|
|
14
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
15
|
+
const elRef = (0, _react.useRef)(null);
|
|
16
|
+
(0, _react.useLayoutEffect)(() => {
|
|
17
|
+
elRef.current.style.setProperty("--scrollbar-color", color);
|
|
18
|
+
elRef.current.classList.add(_useCustomScrollbarModule.default.scrollBarRoot);
|
|
19
|
+
if (propagate) {
|
|
20
|
+
elRef.current.classList.add(_useCustomScrollbarModule.default.propagate);
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
return {
|
|
24
|
+
/** The element that dhould have a custom scrollbar */
|
|
25
|
+
elRef
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUN1c3RvbVNjcm9sbGJhck1vZHVsZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZUN1c3RvbVNjcm9sbEJhciIsImNvbG9yIiwicHJvcGFnYXRlIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZWxSZWYiLCJ1c2VSZWYiLCJ1c2VMYXlvdXRFZmZlY3QiLCJjdXJyZW50Iiwic3R5bGUiLCJzZXRQcm9wZXJ0eSIsImNsYXNzTGlzdCIsImFkZCIsIlN0eWxlcyIsInNjcm9sbEJhclJvb3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdWkvdXNlQ3VzdG9tU2Nyb2xsYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL3VzZUN1c3RvbVNjcm9sbGJhci5tb2R1bGUuc2Nzc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VDdXN0b21TY3JvbGxCYXIoe1xuICBjb2xvciA9IFwiXCIsXG4gIHByb3BhZ2F0ZSA9IGZhbHNlXG59OiB7IGNvbG9yPzogc3RyaW5nLCBwcm9wYWdhdGU/OiBib29sZWFuIH0gfCB1bmRlZmluZWQgPSB7fSkge1xuICBjb25zdCBlbFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBlbFJlZi5jdXJyZW50IS5zdHlsZS5zZXRQcm9wZXJ0eShcIi0tc2Nyb2xsYmFyLWNvbG9yXCIsIGNvbG9yKTtcbiAgICBlbFJlZi5jdXJyZW50IS5jbGFzc0xpc3QuYWRkKFN0eWxlcy5zY3JvbGxCYXJSb290KTtcbiAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgIGVsUmVmLmN1cnJlbnQhLmNsYXNzTGlzdC5hZGQoU3R5bGVzLnByb3BhZ2F0ZSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgcmV0dXJuIHtcbiAgICAvKiogVGhlIGVsZW1lbnQgdGhhdCBkaG91bGQgaGF2ZSBhIGN1c3RvbSBzY3JvbGxiYXIgKi9cbiAgICBlbFJlZixcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMseUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFzRCxTQUFBRSx1QkFBQUMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUV2QyxTQUFTRyxrQkFBa0JBLENBQUEsRUFHbUI7RUFBQSxJQUhsQjtJQUN6Q0MsS0FBSyxHQUFHLEVBQUU7SUFDVkMsU0FBUyxHQUFHO0VBQ3VDLENBQUMsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsQ0FBQyxDQUFDO0VBQ3pELE1BQU1HLEtBQUssR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUUxQyxJQUFBQyxzQkFBZSxFQUFDLE1BQU07SUFDcEJGLEtBQUssQ0FBQ0csT0FBTyxDQUFFQyxLQUFLLENBQUNDLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRVYsS0FBSyxDQUFDO0lBQzVESyxLQUFLLENBQUNHLE9BQU8sQ0FBRUcsU0FBUyxDQUFDQyxHQUFHLENBQUNDLGlDQUFNLENBQUNDLGFBQWEsQ0FBQztJQUNsRCxJQUFJYixTQUFTLEVBQUU7TUFDWEksS0FBSyxDQUFDRyxPQUFPLENBQUVHLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDQyxpQ0FBTSxDQUFDWixTQUFTLENBQUM7SUFDbEQ7RUFDRixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sT0FBTztJQUNMO0lBQ0FJO0VBQ0YsQ0FBQztBQUNIIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@use "../../assets/styles/index.scss" as *;
|
|
2
|
+
|
|
3
|
+
.scrollBarRoot {
|
|
4
|
+
&,
|
|
5
|
+
&.propagate * {
|
|
6
|
+
&::-webkit-scrollbar {
|
|
7
|
+
background-color: transparent;
|
|
8
|
+
height: 8px;
|
|
9
|
+
width: 8px;
|
|
10
|
+
z-index: 1000;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&::-webkit-scrollbar-thumb {
|
|
14
|
+
background-color: var(--scrollbar-color, $primaryColor);
|
|
15
|
+
width: 8px;
|
|
16
|
+
height: 8px;
|
|
17
|
+
border-radius: 4px;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useEffectIf;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function useEffectIf(effect, depsToCheck) {
|
|
9
|
+
(0, _react.useEffect)(() => {
|
|
10
|
+
const someUndefined = depsToCheck.some(dep => !dep);
|
|
11
|
+
if (!someUndefined) return effect();
|
|
12
|
+
}, depsToCheck);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRWZmZWN0SWYiLCJlZmZlY3QiLCJkZXBzVG9DaGVjayIsInVzZUVmZmVjdCIsInNvbWVVbmRlZmluZWQiLCJzb21lIiwiZGVwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VpL3VzZUVmZmVjdElmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VFZmZlY3RJZihcbiAgZWZmZWN0OiBQYXJhbWV0ZXJzPHR5cGVvZiB1c2VFZmZlY3Q+WzBdLFxuICBkZXBzVG9DaGVjazogYW55W11cbikge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNvbWVVbmRlZmluZWQgPSBkZXBzVG9DaGVjay5zb21lKChkZXApID0+ICFkZXApO1xuICAgIGlmICghc29tZVVuZGVmaW5lZCkgcmV0dXJuIGVmZmVjdCgpO1xuICB9LCBkZXBzVG9DaGVjayk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVlLFNBQVNDLFdBQVdBLENBQ2pDQyxNQUF1QyxFQUN2Q0MsV0FBa0IsRUFDbEI7RUFDQSxJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDZCxNQUFNQyxhQUFhLEdBQUdGLFdBQVcsQ0FBQ0csSUFBSSxDQUFFQyxHQUFHLElBQUssQ0FBQ0EsR0FBRyxDQUFDO0lBQ3JELElBQUksQ0FBQ0YsYUFBYSxFQUFFLE9BQU9ILE1BQU0sQ0FBQyxDQUFDO0VBQ3JDLENBQUMsRUFBRUMsV0FBVyxDQUFDO0FBQ2pCIn0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useMouseHover;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _ownEvent = _interopRequireDefault(require("../../utils/ownEvent"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
/**
|
|
11
|
+
* A small hook for binding the hover control over some HTML element
|
|
12
|
+
* @returns uiEvents: The events to spread to the html element hovering: the hover state
|
|
13
|
+
*/
|
|
14
|
+
function useMouseHover() {
|
|
15
|
+
const [hovering, setHovering] = (0, _react.useState)(false);
|
|
16
|
+
const uiEvents = (0, _react.useMemo)(() => ({
|
|
17
|
+
onMouseEnter: (0, _ownEvent.default)(() => {
|
|
18
|
+
setHovering(true);
|
|
19
|
+
}),
|
|
20
|
+
onMouseOver: (0, _ownEvent.default)(() => {
|
|
21
|
+
setHovering(true);
|
|
22
|
+
}),
|
|
23
|
+
onMouseOut: (0, _ownEvent.default)(() => {
|
|
24
|
+
setHovering(false);
|
|
25
|
+
})
|
|
26
|
+
}), []);
|
|
27
|
+
return {
|
|
28
|
+
uiEvents,
|
|
29
|
+
hovering
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX293bkV2ZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlTW91c2VIb3ZlciIsImhvdmVyaW5nIiwic2V0SG92ZXJpbmciLCJ1c2VTdGF0ZSIsInVpRXZlbnRzIiwidXNlTWVtbyIsIm9uTW91c2VFbnRlciIsIm93bkV2ZW50Iiwib25Nb3VzZU92ZXIiLCJvbk1vdXNlT3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VpL3VzZU1vdXNlSG92ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgb3duRXZlbnQgZnJvbSBcIi4uLy4uL3V0aWxzL293bkV2ZW50XCI7XG5cbi8qKlxuICogQSBzbWFsbCBob29rIGZvciBiaW5kaW5nIHRoZSBob3ZlciBjb250cm9sIG92ZXIgc29tZSBIVE1MIGVsZW1lbnRcbiAqIEByZXR1cm5zIHVpRXZlbnRzOiBUaGUgZXZlbnRzIHRvIHNwcmVhZCB0byB0aGUgaHRtbCBlbGVtZW50IGhvdmVyaW5nOiB0aGUgaG92ZXIgc3RhdGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTW91c2VIb3ZlcigpIHtcbiAgY29uc3QgW2hvdmVyaW5nLCBzZXRIb3ZlcmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHVpRXZlbnRzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgb25Nb3VzZUVudGVyOiBvd25FdmVudDxNb3VzZUV2ZW50PigoKSA9PiB7XG4gICAgICAgIHNldEhvdmVyaW5nKHRydWUpO1xuICAgICAgfSksXG4gICAgICBvbk1vdXNlT3Zlcjogb3duRXZlbnQ8TW91c2VFdmVudD4oKCkgPT4ge1xuICAgICAgICBzZXRIb3ZlcmluZyh0cnVlKTtcbiAgICAgIH0pLFxuICAgICAgb25Nb3VzZU91dDogb3duRXZlbnQ8TW91c2VFdmVudD4oKCkgPT4ge1xuICAgICAgICBzZXRIb3ZlcmluZyhmYWxzZSk7XG4gICAgICB9KSxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgdWlFdmVudHMsXG4gICAgaG92ZXJpbmcsXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUE0QyxTQUFBRSx1QkFBQUMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNHLGFBQWFBLENBQUEsRUFBRztFQUN0QyxNQUFNLENBQUNDLFFBQVEsRUFBRUMsV0FBVyxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFDLEtBQUssQ0FBQztFQUMvQyxNQUFNQyxRQUFRLEdBQUcsSUFBQUMsY0FBTyxFQUN0QixPQUFPO0lBQ0xDLFlBQVksRUFBRSxJQUFBQyxpQkFBUSxFQUFhLE1BQU07TUFDdkNMLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBQ0ZNLFdBQVcsRUFBRSxJQUFBRCxpQkFBUSxFQUFhLE1BQU07TUFDdENMLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBQ0ZPLFVBQVUsRUFBRSxJQUFBRixpQkFBUSxFQUFhLE1BQU07TUFDckNMLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztFQUNILENBQUMsQ0FBQyxFQUNGLEVBQ0YsQ0FBQztFQUVELE9BQU87SUFDTEUsUUFBUTtJQUNSSDtFQUNGLENBQUM7QUFDSCJ9
|
|
@@ -0,0 +1,136 @@
|
|
|
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 _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
21
|
+
/**
|
|
22
|
+
* This hook handles the display of pagination controls for the user to move to another page
|
|
23
|
+
*/
|
|
24
|
+
function usePaginationControls(containerRef) {
|
|
25
|
+
let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
26
|
+
{
|
|
27
|
+
snapToPage,
|
|
28
|
+
baseWidth,
|
|
29
|
+
snapToCutElement: _snapToCutElement
|
|
30
|
+
} = _ref,
|
|
31
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
const [controlsState, setControls] = (0, _react.useState)([false, false]);
|
|
33
|
+
const [leftControl, rightControl] = controlsState;
|
|
34
|
+
const LeftControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.LeftControl");
|
|
35
|
+
const RightControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.RightControl");
|
|
36
|
+
const className = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.className", "");
|
|
37
|
+
function move(direction) {
|
|
38
|
+
let snapToCutElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _snapToCutElement;
|
|
39
|
+
return () => {
|
|
40
|
+
if (snapToCutElement !== null && snapToCutElement !== void 0 ? snapToCutElement : false) {
|
|
41
|
+
const childBaseWidth = baseWidth || containerRef.current.firstElementChild.clientWidth;
|
|
42
|
+
const howMuchDoesTheScrollAddsUpTo = containerRef.current.scrollLeft / childBaseWidth - Math.floor((containerRef.current.scrollLeft + (direction === "l" ? -1 : 0)) / childBaseWidth);
|
|
43
|
+
const howMuchElementsFitOnAPage = containerRef.current.clientWidth / childBaseWidth;
|
|
44
|
+
const howMuchElementsFullyFitOnAPage = Math.floor(howMuchElementsFitOnAPage) || 1;
|
|
45
|
+
const directionScale = direction === "l" ? 1 - howMuchDoesTheScrollAddsUpTo : howMuchDoesTheScrollAddsUpTo;
|
|
46
|
+
const howMuchOfTheRemainingElementIsShown = howMuchElementsFitOnAPage + directionScale - howMuchElementsFullyFitOnAPage;
|
|
47
|
+
const howMuchToScroll = (containerRef.current.clientWidth - childBaseWidth * howMuchOfTheRemainingElementIsShown) * (direction === "l" ? -1 : 1);
|
|
48
|
+
containerRef.current.scrollBy({
|
|
49
|
+
left: howMuchToScroll,
|
|
50
|
+
behavior: "smooth"
|
|
51
|
+
});
|
|
52
|
+
} else {
|
|
53
|
+
const rest = Math.round(containerRef.current.scrollLeft) % containerRef.current.clientWidth;
|
|
54
|
+
const snapOffset = snapToPage ? direction === "l" ? rest ? containerRef.current.clientWidth - rest : 0 : rest : 0;
|
|
55
|
+
containerRef.current.scrollBy({
|
|
56
|
+
left: (containerRef.current.clientWidth - snapOffset) * (direction === "l" ? -1 : 1),
|
|
57
|
+
behavior: "smooth"
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function checkControlsRequirement() {
|
|
63
|
+
const updateFunc = next => prev => {
|
|
64
|
+
if (prev[0] !== next[0] || prev[1] !== next[1]) return next;
|
|
65
|
+
return prev;
|
|
66
|
+
};
|
|
67
|
+
const el = containerRef.current;
|
|
68
|
+
if (!el) return;
|
|
69
|
+
const shouldHaveAnyControl = el.scrollWidth > el.clientWidth;
|
|
70
|
+
if (!shouldHaveAnyControl) setControls(updateFunc([false, false]));else {
|
|
71
|
+
const shouldHaveRightControl = el.scrollLeft < el.scrollWidth - el.clientWidth;
|
|
72
|
+
const shouldHaveLeftControl = el.scrollLeft > 0;
|
|
73
|
+
setControls(updateFunc([shouldHaveLeftControl, shouldHaveRightControl]));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
const el = containerRef.current;
|
|
78
|
+
const throttledCheck = (0, _throttle.default)(checkControlsRequirement, 1000 / 4);
|
|
79
|
+
checkControlsRequirement();
|
|
80
|
+
let startingX;
|
|
81
|
+
let lastX;
|
|
82
|
+
const onTouchStart = _ref2 => {
|
|
83
|
+
let {
|
|
84
|
+
touches
|
|
85
|
+
} = _ref2,
|
|
86
|
+
e = _objectWithoutProperties(_ref2, _excluded2);
|
|
87
|
+
if (!(0, _html.isSameTarget)(e)) return;
|
|
88
|
+
const {
|
|
89
|
+
pageX
|
|
90
|
+
} = touches.item(0);
|
|
91
|
+
startingX = pageX;
|
|
92
|
+
};
|
|
93
|
+
const onTouchMove = _ref3 => {
|
|
94
|
+
let {
|
|
95
|
+
touches
|
|
96
|
+
} = _ref3,
|
|
97
|
+
e = _objectWithoutProperties(_ref3, _excluded3);
|
|
98
|
+
if (!(0, _html.isSameTarget)(e)) return;
|
|
99
|
+
const touch = touches.item(0);
|
|
100
|
+
lastX = touch.pageX;
|
|
101
|
+
};
|
|
102
|
+
const onTouchEnd = e => {
|
|
103
|
+
if (!lastX) return;
|
|
104
|
+
const dir = lastX > startingX ? "l" : "r";
|
|
105
|
+
move(dir, true)();
|
|
106
|
+
startingX = undefined;
|
|
107
|
+
};
|
|
108
|
+
el.addEventListener("scroll", throttledCheck, {
|
|
109
|
+
passive: true
|
|
110
|
+
});
|
|
111
|
+
el.addEventListener("touchstart", onTouchStart);
|
|
112
|
+
el.addEventListener("touchend", onTouchEnd);
|
|
113
|
+
el.addEventListener("touchmove", onTouchMove);
|
|
114
|
+
return () => {
|
|
115
|
+
el.removeEventListener("scroll", throttledCheck);
|
|
116
|
+
el.removeEventListener("touchstart", onTouchStart);
|
|
117
|
+
el.removeEventListener("touchend", onTouchEnd);
|
|
118
|
+
el.removeEventListener("touchend", onTouchEnd);
|
|
119
|
+
};
|
|
120
|
+
}, []);
|
|
121
|
+
return {
|
|
122
|
+
controls: [/*#__PURE__*/_react.default.createElement(_FadeIn.default, {
|
|
123
|
+
key: "l",
|
|
124
|
+
active: leftControl,
|
|
125
|
+
className: "".concat(_usePaginationControlsModule.default.left, " ").concat(_usePaginationControlsModule.default.control, " ").concat(className),
|
|
126
|
+
onClick: move("l")
|
|
127
|
+
}, leftControl && /*#__PURE__*/_react.default.createElement(LeftControl, null)), /*#__PURE__*/_react.default.createElement(_FadeIn.default, {
|
|
128
|
+
key: "r",
|
|
129
|
+
active: rightControl,
|
|
130
|
+
className: "".concat(_usePaginationControlsModule.default.right, " ").concat(_usePaginationControlsModule.default.control, " ").concat(className),
|
|
131
|
+
onClick: move("r")
|
|
132
|
+
}, rightControl && /*#__PURE__*/_react.default.createElement(RightControl, null))],
|
|
133
|
+
checkControlsRequirement
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX0ZhZGVJbiIsIl9PbmVVSVByb3ZpZGVyIiwiX3VzZVBhZ2luYXRpb25Db250cm9sc01vZHVsZSIsIl9odG1sIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl9leGNsdWRlZDMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwic291cmNlIiwiZXhjbHVkZWQiLCJ0YXJnZXQiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImkiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzb3VyY2VTeW1ib2xLZXlzIiwibGVuZ3RoIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwic291cmNlS2V5cyIsImtleXMiLCJ1c2VQYWdpbmF0aW9uQ29udHJvbHMiLCJjb250YWluZXJSZWYiLCJfcmVmIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwic25hcFRvUGFnZSIsImJhc2VXaWR0aCIsInNuYXBUb0N1dEVsZW1lbnQiLCJfc25hcFRvQ3V0RWxlbWVudCIsInByb3BzIiwiY29udHJvbHNTdGF0ZSIsInNldENvbnRyb2xzIiwidXNlU3RhdGUiLCJsZWZ0Q29udHJvbCIsInJpZ2h0Q29udHJvbCIsIkxlZnRDb250cm9sIiwidXNlT25lVUlDb25maWciLCJSaWdodENvbnRyb2wiLCJjbGFzc05hbWUiLCJtb3ZlIiwiZGlyZWN0aW9uIiwiY2hpbGRCYXNlV2lkdGgiLCJjdXJyZW50IiwiZmlyc3RFbGVtZW50Q2hpbGQiLCJjbGllbnRXaWR0aCIsImhvd011Y2hEb2VzVGhlU2Nyb2xsQWRkc1VwVG8iLCJzY3JvbGxMZWZ0IiwiTWF0aCIsImZsb29yIiwiaG93TXVjaEVsZW1lbnRzRml0T25BUGFnZSIsImhvd011Y2hFbGVtZW50c0Z1bGx5Rml0T25BUGFnZSIsImRpcmVjdGlvblNjYWxlIiwiaG93TXVjaE9mVGhlUmVtYWluaW5nRWxlbWVudElzU2hvd24iLCJob3dNdWNoVG9TY3JvbGwiLCJzY3JvbGxCeSIsImxlZnQiLCJiZWhhdmlvciIsInJlc3QiLCJyb3VuZCIsInNuYXBPZmZzZXQiLCJjaGVja0NvbnRyb2xzUmVxdWlyZW1lbnQiLCJ1cGRhdGVGdW5jIiwibmV4dCIsInByZXYiLCJlbCIsInNob3VsZEhhdmVBbnlDb250cm9sIiwic2Nyb2xsV2lkdGgiLCJzaG91bGRIYXZlUmlnaHRDb250cm9sIiwic2hvdWxkSGF2ZUxlZnRDb250cm9sIiwidXNlRWZmZWN0IiwidGhyb3R0bGVkQ2hlY2siLCJ0aHJvdHRsZSIsInN0YXJ0aW5nWCIsImxhc3RYIiwib25Ub3VjaFN0YXJ0IiwiX3JlZjIiLCJ0b3VjaGVzIiwiZSIsImlzU2FtZVRhcmdldCIsInBhZ2VYIiwiaXRlbSIsIm9uVG91Y2hNb3ZlIiwiX3JlZjMiLCJ0b3VjaCIsIm9uVG91Y2hFbmQiLCJkaXIiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjb250cm9scyIsImNyZWF0ZUVsZW1lbnQiLCJhY3RpdmUiLCJjb25jYXQiLCJTdHlsZXMiLCJjb250cm9sIiwib25DbGljayIsInJpZ2h0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VpL3VzZVBhZ2luYXRpb25Db250cm9scy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHRocm90dGxlIGZyb20gXCJsb2Rhc2gvdGhyb3R0bGVcIjtcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBGYWRlIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0ZhZGVJblwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL3VzZVBhZ2luYXRpb25Db250cm9scy5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IHsgaXNTYW1lVGFyZ2V0IH0gZnJvbSBcIi4uLy4uL3V0aWxzL2h0bWwudXRpbHNcIjtcblxuLyoqXG4gKiBUaGlzIGhvb2sgaGFuZGxlcyB0aGUgZGlzcGxheSBvZiBwYWdpbmF0aW9uIGNvbnRyb2xzIGZvciB0aGUgdXNlciB0byBtb3ZlIHRvIGFub3RoZXIgcGFnZVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VQYWdpbmF0aW9uQ29udHJvbHMoXG4gIGNvbnRhaW5lclJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PixcbiAge1xuICAgIHNuYXBUb1BhZ2UsXG4gICAgYmFzZVdpZHRoLFxuICAgIHNuYXBUb0N1dEVsZW1lbnQ6IF9zbmFwVG9DdXRFbGVtZW50LFxuICAgIC4uLnByb3BzXG4gIH06IHtcbiAgICBzbmFwVG9QYWdlPzogYm9vbGVhbjtcbiAgICBiYXNlV2lkdGg/OiBudW1iZXI7XG4gICAgLyoqIFRoaXMgd2lsbCBzY3JvbGwgb25seSB1bnRpbCB0aGUgcGFydGlhbGx5IHZpc2libGUgZWxlbWVudCBpcyBhdCB0aGUgYm9yZGVyLCBpbnN0ZWFkIG9mIHNjcm9sbGluZyBhbGwgdGhlIGNvbnRhaW5lciAqL1xuICAgIHNuYXBUb0N1dEVsZW1lbnQ/OiBib29sZWFuO1xuICAgIFwiZGF0YS10ZXN0aWRcIj86IFtsZWZ0OiBzdHJpbmcsIHJpZ2h0OiBzdHJpbmddO1xuICB9ID0ge31cbikge1xuICBjb25zdCBbY29udHJvbHNTdGF0ZSwgc2V0Q29udHJvbHNdID0gdXNlU3RhdGU8XG4gICAgW2xlZnRDb250cm9sOiBib29sZWFuLCByaWdodENvbnRyb2w6IGJvb2xlYW5dXG4gID4oW2ZhbHNlLCBmYWxzZV0pO1xuICBjb25zdCBbbGVmdENvbnRyb2wsIHJpZ2h0Q29udHJvbF0gPSBjb250cm9sc1N0YXRlO1xuICBjb25zdCBMZWZ0Q29udHJvbCA9IHVzZU9uZVVJQ29uZmlnKFxuICAgIFwiaG9vay51aS51c2VQYWdpbmF0aW9uQ29udHJvbHMuTGVmdENvbnRyb2xcIlxuICApO1xuICBjb25zdCBSaWdodENvbnRyb2wgPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBcImhvb2sudWkudXNlUGFnaW5hdGlvbkNvbnRyb2xzLlJpZ2h0Q29udHJvbFwiXG4gICk7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IHVzZU9uZVVJQ29uZmlnKFxuICAgIFwiaG9vay51aS51c2VQYWdpbmF0aW9uQ29udHJvbHMuY2xhc3NOYW1lXCIsXG4gICAgXCJcIlxuICApO1xuICBmdW5jdGlvbiBtb3ZlKGRpcmVjdGlvbjogXCJsXCIgfCBcInJcIiwgc25hcFRvQ3V0RWxlbWVudCA9IF9zbmFwVG9DdXRFbGVtZW50KSB7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChzbmFwVG9DdXRFbGVtZW50ID8/IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkQmFzZVdpZHRoID1cbiAgICAgICAgICBiYXNlV2lkdGghIHx8IGNvbnRhaW5lclJlZi5jdXJyZW50IS5maXJzdEVsZW1lbnRDaGlsZCEuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IGhvd011Y2hEb2VzVGhlU2Nyb2xsQWRkc1VwVG8gPVxuICAgICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5zY3JvbGxMZWZ0IC8gY2hpbGRCYXNlV2lkdGggLVxuICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICAoY29udGFpbmVyUmVmLmN1cnJlbnQhLnNjcm9sbExlZnQgKyAoZGlyZWN0aW9uID09PSBcImxcIiA/IC0xIDogMCkpIC9cbiAgICAgICAgICAgICAgY2hpbGRCYXNlV2lkdGhcbiAgICAgICAgICApO1xuICAgICAgICBjb25zdCBob3dNdWNoRWxlbWVudHNGaXRPbkFQYWdlID1cbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50V2lkdGggLyBjaGlsZEJhc2VXaWR0aDtcblxuICAgICAgICBjb25zdCBob3dNdWNoRWxlbWVudHNGdWxseUZpdE9uQVBhZ2UgPVxuICAgICAgICAgIE1hdGguZmxvb3IoaG93TXVjaEVsZW1lbnRzRml0T25BUGFnZSkgfHwgMTtcblxuICAgICAgICBjb25zdCBkaXJlY3Rpb25TY2FsZSA9XG4gICAgICAgICAgZGlyZWN0aW9uID09PSBcImxcIlxuICAgICAgICAgICAgPyAxIC0gaG93TXVjaERvZXNUaGVTY3JvbGxBZGRzVXBUb1xuICAgICAgICAgICAgOiBob3dNdWNoRG9lc1RoZVNjcm9sbEFkZHNVcFRvO1xuXG4gICAgICAgIGNvbnN0IGhvd011Y2hPZlRoZVJlbWFpbmluZ0VsZW1lbnRJc1Nob3duID1cbiAgICAgICAgICBob3dNdWNoRWxlbWVudHNGaXRPbkFQYWdlICtcbiAgICAgICAgICBkaXJlY3Rpb25TY2FsZSAtXG4gICAgICAgICAgaG93TXVjaEVsZW1lbnRzRnVsbHlGaXRPbkFQYWdlO1xuXG4gICAgICAgIGNvbnN0IGhvd011Y2hUb1Njcm9sbCA9XG4gICAgICAgICAgKGNvbnRhaW5lclJlZi5jdXJyZW50IS5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICBjaGlsZEJhc2VXaWR0aCAqIGhvd011Y2hPZlRoZVJlbWFpbmluZ0VsZW1lbnRJc1Nob3duKSAqXG4gICAgICAgICAgKGRpcmVjdGlvbiA9PT0gXCJsXCIgPyAtMSA6IDEpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50IS5zY3JvbGxCeSh7XG4gICAgICAgICAgbGVmdDogaG93TXVjaFRvU2Nyb2xsLFxuICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlc3QgPVxuICAgICAgICAgIE1hdGgucm91bmQoY29udGFpbmVyUmVmLmN1cnJlbnQhLnNjcm9sbExlZnQpICVcbiAgICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50V2lkdGg7XG4gICAgICAgIGNvbnN0IHNuYXBPZmZzZXQgPSBzbmFwVG9QYWdlXG4gICAgICAgICAgPyBkaXJlY3Rpb24gPT09IFwibFwiXG4gICAgICAgICAgICA/IHJlc3RcbiAgICAgICAgICAgICAgPyBjb250YWluZXJSZWYuY3VycmVudCEuY2xpZW50V2lkdGggLSByZXN0XG4gICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgOiByZXN0XG4gICAgICAgICAgOiAwO1xuICAgICAgICBjb250YWluZXJSZWYuY3VycmVudCEuc2Nyb2xsQnkoe1xuICAgICAgICAgIGxlZnQ6XG4gICAgICAgICAgICAoY29udGFpbmVyUmVmLmN1cnJlbnQhLmNsaWVudFdpZHRoIC0gc25hcE9mZnNldCkgKlxuICAgICAgICAgICAgKGRpcmVjdGlvbiA9PT0gXCJsXCIgPyAtMSA6IDEpLFxuICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tDb250cm9sc1JlcXVpcmVtZW50KCkge1xuICAgIGNvbnN0IHVwZGF0ZUZ1bmMgPVxuICAgICAgKG5leHQ6IHR5cGVvZiBjb250cm9sc1N0YXRlKSA9PiAocHJldjogdHlwZW9mIGNvbnRyb2xzU3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHByZXZbMF0gIT09IG5leHRbMF0gfHwgcHJldlsxXSAhPT0gbmV4dFsxXSkgcmV0dXJuIG5leHQ7XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgfTtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgIGlmICghZWwpIHJldHVybjtcbiAgICBjb25zdCBzaG91bGRIYXZlQW55Q29udHJvbCA9IGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGg7XG4gICAgaWYgKCFzaG91bGRIYXZlQW55Q29udHJvbCkgc2V0Q29udHJvbHModXBkYXRlRnVuYyhbZmFsc2UsIGZhbHNlXSkpO1xuICAgIGVsc2Uge1xuICAgICAgY29uc3Qgc2hvdWxkSGF2ZVJpZ2h0Q29udHJvbCA9XG4gICAgICAgIGVsLnNjcm9sbExlZnQgPCBlbC5zY3JvbGxXaWR0aCAtIGVsLmNsaWVudFdpZHRoO1xuICAgICAgY29uc3Qgc2hvdWxkSGF2ZUxlZnRDb250cm9sID0gZWwuc2Nyb2xsTGVmdCA+IDA7XG5cbiAgICAgIHNldENvbnRyb2xzKHVwZGF0ZUZ1bmMoW3Nob3VsZEhhdmVMZWZ0Q29udHJvbCwgc2hvdWxkSGF2ZVJpZ2h0Q29udHJvbF0pKTtcbiAgICB9XG4gIH1cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbCA9IGNvbnRhaW5lclJlZi5jdXJyZW50ITtcbiAgICBjb25zdCB0aHJvdHRsZWRDaGVjayA9IHRocm90dGxlKGNoZWNrQ29udHJvbHNSZXF1aXJlbWVudCwgMTAwMCAvIDQpO1xuICAgIGNoZWNrQ29udHJvbHNSZXF1aXJlbWVudCgpO1xuICAgIGxldCBzdGFydGluZ1g6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbGFzdFg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IG9uVG91Y2hTdGFydCA9ICh7IHRvdWNoZXMsIC4uLmUgfTogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgaWYgKCFpc1NhbWVUYXJnZXQoZSkpIHJldHVybjtcbiAgICAgIGNvbnN0IHsgcGFnZVggfSA9IHRvdWNoZXMuaXRlbSgwKSE7XG4gICAgICBzdGFydGluZ1ggPSBwYWdlWDtcbiAgICB9O1xuICAgIGNvbnN0IG9uVG91Y2hNb3ZlID0gKHsgdG91Y2hlcywgLi4uZSB9OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWlzU2FtZVRhcmdldChlKSkgcmV0dXJuO1xuICAgICAgY29uc3QgdG91Y2ggPSB0b3VjaGVzLml0ZW0oMCk7XG5cbiAgICAgIGxhc3RYID0gdG91Y2ghLnBhZ2VYO1xuICAgIH07XG4gICAgY29uc3Qgb25Ub3VjaEVuZCA9IChlOiBFdmVudCkgPT4ge1xuICAgICAgaWYgKCFsYXN0WCkgcmV0dXJuO1xuICAgICAgY29uc3QgZGlyID0gbGFzdFggPiBzdGFydGluZ1ghID8gXCJsXCIgOiBcInJcIjtcbiAgICAgIG1vdmUoZGlyLCB0cnVlKSgpO1xuICAgICAgc3RhcnRpbmdYID0gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aHJvdHRsZWRDaGVjaywge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBvblRvdWNoU3RhcnQpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBvblRvdWNoRW5kKTtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIG9uVG91Y2hNb3ZlKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCB0aHJvdHRsZWRDaGVjayk7XG4gICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBvblRvdWNoU3RhcnQpO1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoZW5kXCIsIG9uVG91Y2hFbmQpO1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoZW5kXCIsIG9uVG91Y2hFbmQpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4ge1xuICAgIGNvbnRyb2xzOiBbXG4gICAgICA8RmFkZVxuICAgICAgICBrZXk9e1wibFwifVxuICAgICAgICBhY3RpdmU9e2xlZnRDb250cm9sfVxuICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5sZWZ0fSAke1N0eWxlcy5jb250cm9sfSAke2NsYXNzTmFtZX1gfVxuICAgICAgICBkYXRhLXRlc3RpZD17cHJvcHNbXCJkYXRhLXRlc3RpZFwiXT8uWzBdfVxuICAgICAgICBvbkNsaWNrPXttb3ZlKFwibFwiKX1cbiAgICAgID5cbiAgICAgICAge2xlZnRDb250cm9sICYmIDxMZWZ0Q29udHJvbCAvPn1cbiAgICAgIDwvRmFkZT4sXG4gICAgICA8RmFkZVxuICAgICAgICBrZXk9e1wiclwifVxuICAgICAgICBhY3RpdmU9e3JpZ2h0Q29udHJvbH1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMucmlnaHR9ICR7U3R5bGVzLmNvbnRyb2x9ICR7Y2xhc3NOYW1lfWB9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtwcm9wc1tcImRhdGEtdGVzdGlkXCJdPy5bMV19XG4gICAgICAgIG9uQ2xpY2s9e21vdmUoXCJyXCIpfVxuICAgICAgPlxuICAgICAgICB7cmlnaHRDb250cm9sICYmIDxSaWdodENvbnRyb2wgLz59XG4gICAgICA8L0ZhZGU+LFxuICAgIF0sXG4gICAgY2hlY2tDb250cm9sc1JlcXVpcmVtZW50LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyw0QkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQXNELE1BQUFPLFNBQUE7RUFBQUMsVUFBQTtFQUFBQyxVQUFBO0FBQUEsU0FBQUMs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
|
|
@@ -0,0 +1,26 @@
|
|
|
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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZVNuYXBUb1ZpZXdwb3J0TW9kdWxlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlU25hcFRvVmlld3BvcnQiLCJkZWZhdWx0UGFkZGluZyIsImVsUmVmIiwidXNlUmVmIiwidXNlTGF5b3V0RWZmZWN0IiwiZGlmZiIsIndpbmRvdyIsInZpc3VhbFZpZXdwb3J0Iiwid2lkdGgiLCJjdXJyZW50IiwiY2xpZW50V2lkdGgiLCJtYXJnaW4iLCJzdHlsZSIsInNldFByb3BlcnR5IiwiY29uY2F0IiwiY2xhc3NMaXN0IiwiYWRkIiwiU3R5bGVzIiwiYXBwbHlTcGFjaW5ncyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2VTbmFwVG9WaWV3cG9ydC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi91c2VTbmFwVG9WaWV3cG9ydC5tb2R1bGUuc2Nzc1wiO1xuLyoqXG4gKiBUaGlzIHRha2VzIGEgY29udGFpbmVyIGFuZCBhcHBsaWVzIHBhZGRpbmcgYW5kIG1hcmdpbiBzbyB0aGUgY29udGVudCBvdmVyZmxvdyBjb250YWluZXIgYW5kIGdvZXMgdW50aWwgaXQgaGl0cyB0aGUgdmlld3BvcnQgYm9yZGVyXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVNuYXBUb1ZpZXdwb3J0KGRlZmF1bHRQYWRkaW5nOiBudW1iZXIpIHtcbiAgY29uc3QgZWxSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGlmZiA9IHdpbmRvdy52aXN1YWxWaWV3cG9ydCEud2lkdGggLSBlbFJlZi5jdXJyZW50IS5jbGllbnRXaWR0aDtcblxuICAgIGNvbnN0IG1hcmdpbiA9IGRpZmYgLyAyO1xuXG4gICAgZWxSZWYuY3VycmVudCEuc3R5bGUuc2V0UHJvcGVydHkoXCItLW92ZXJmbG93LXBhZGRpbmdcIiwgYCR7bWFyZ2lufXB4YCk7XG4gICAgZWxSZWYuY3VycmVudCEuc3R5bGUuc2V0UHJvcGVydHkoXCItLW92ZXJmbG93LW1hcmdpblwiLCBgJHstbWFyZ2lufXB4YCk7XG4gICAgZWxSZWYuY3VycmVudCEuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICBcIi0tZGVmYXVsdC1wYWRkaW5nXCIsXG4gICAgICBgJHtkZWZhdWx0UGFkZGluZ31weGBcbiAgICApO1xuICAgIGVsUmVmLmN1cnJlbnQhLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgXCItLWRlZmF1bHQtbWFyZ2luXCIsXG4gICAgICBgJHstZGVmYXVsdFBhZGRpbmd9cHhgXG4gICAgKTtcbiAgICBlbFJlZi5jdXJyZW50IS5jbGFzc0xpc3QuYWRkKFN0eWxlcy5hcHBseVNwYWNpbmdzKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBlbFJlZjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUFxRCxTQUFBRSx1QkFBQUMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUNyRDtBQUNBO0FBQ0E7QUFDZSxTQUFTRyxpQkFBaUJBLENBQUNDLGNBQXNCLEVBQUU7RUFDaEUsTUFBTUMsS0FBSyxHQUFHLElBQUFDLGFBQU0sRUFBaUIsSUFBSSxDQUFDO0VBRTFDLElBQUFDLHNCQUFlLEVBQUMsTUFBTTtJQUNwQixNQUFNQyxJQUFJLEdBQUdDLE1BQU0sQ0FBQ0MsY0FBYyxDQUFFQyxLQUFLLEdBQUdOLEtBQUssQ0FBQ08sT0FBTyxDQUFFQyxXQUFXO0lBRXRFLE1BQU1DLE1BQU0sR0FBR04sSUFBSSxHQUFHLENBQUM7SUFFdkJILEtBQUssQ0FBQ08sT0FBTyxDQUFFRyxLQUFLLENBQUNDLFdBQVcsQ0FBQyxvQkFBb0IsS0FBQUMsTUFBQSxDQUFLSCxNQUFNLE9BQUksQ0FBQztJQUNyRVQsS0FBSyxDQUFDTyxPQUFPLENBQUVHLEtBQUssQ0FBQ0MsV0FBVyxDQUFDLG1CQUFtQixLQUFBQyxNQUFBLENBQUssQ0FBQ0gsTUFBTSxPQUFJLENBQUM7SUFDckVULEtBQUssQ0FBQ08sT0FBTyxDQUFFRyxLQUFLLENBQUNDLFdBQVcsQ0FDOUIsbUJBQW1CLEtBQUFDLE1BQUEsQ0FDaEJiLGNBQWMsT0FDbkIsQ0FBQztJQUNEQyxLQUFLLENBQUNPLE9BQU8sQ0FBRUcsS0FBSyxDQUFDQyxXQUFXLENBQzlCLGtCQUFrQixLQUFBQyxNQUFBLENBQ2YsQ0FBQ2IsY0FBYyxPQUNwQixDQUFDO0lBQ0RDLEtBQUssQ0FBQ08sT0FBTyxDQUFFTSxTQUFTLENBQUNDLEdBQUcsQ0FBQ0MsZ0NBQU0sQ0FBQ0MsYUFBYSxDQUFDO0VBQ3BELENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixPQUFPaEIsS0FBSztBQUNkIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
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
|
+
}
|