@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,161 @@
|
|
|
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(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9oZWxwZXJzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJNQVhfVElMVCIsIngiLCJ5IiwidXNlVGlsdFVwZGF0ZXMiLCJhY3RpdmUiLCJyZWxhdGl2ZVRvRWwiLCJvblRpbHQiLCJvbkludmVyc2VNYXRyaXgiLCJzZW5zb3JTY2FsZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRpbHRMaW1pdCIsIm9wdGlvbnMiLCJ1c2VFZmZlY3QiLCJfb3B0aW9ucyRneXJvRW5hYmxlZCIsInVwZGF0ZVBvc2l0aW9ucyIsInJlbGF0aXZlVG9YIiwicmVsYXRpdmVUb1kiLCJfb3B0aW9ucyRyb3VuZCIsIl9vcHRpb25zJHJvdW5kMiIsImVsIiwiY3VycmVudCIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aWR0aCIsIngwIiwieFciLCJoZWlnaHQiLCJ5MCIsInlIIiwibGVmdCIsImNsaWVudFdpZHRoIiwidG9wIiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VPZmZSaWdodCIsImNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyIsInJvdW5kIiwiZGlzdGFuY2VPZmZCb3R0b20iLCJob3dNdWNoVG9Sb3RhdGVZIiwiZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlIiwiaG93TXVjaFRvUm90YXRlWCIsImhhbmRsZXIiLCJ0aHJvdHRsZSIsIl9yZWYiLCJ0b3VjaEhhbmRsZXIiLCJfcmVmMiIsInRvdWNoZXMiLCJwYWdlWCIsInBhZ2VZIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9pbnZlcnNlTWF0cml4IiwiX2xpbWl0cyIsImJldGEiLCJnYW1tYSIsIm9yaWVudGF0aW9uTGlzdGVuZXIiLCJfcmVmMyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvZmZzZXQiLCJfYmV0YSIsIk1hdGgiLCJtaW4iLCJtYXgiLCJfZ2FtbWEiLCJmbGF0dGVuTWF0cml4IiwiaW52ZXJ0TWF0cml4IiwiZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyIsInR5cGUiLCJhbmdsZSIsInJlbW92ZUxpc3RlbmVycyIsImd5cm9FbmFibGVkIiwidXNlVGlsdCIsIm1heFRpbHQiLCJ0aWx0Iiwic2V0VGlsdCIsInVzZVN0YXRlIiwidGlsdFJlc2V0TWF0cml4Iiwic2V0VGlsdFJlc2V0TWF0cml4IiwiSURFTlRJVFlfTUFUUklYIiwicmVsYXRpdmVUbyIsInVzZVJlZiIsIm1vdXNlUG9zaXRpb24iLCJlbGVtZW50SW5pdGlhbFBvc2l0aW9uIiwiZWxlbWVudFNpemVEaW1lbnNpb24iLCJzaG91bGRSb3VuZCIsIm5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiIsImRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQiLCJkb05vdEFsbG93SG9pbmdCZXlvbmRIaWdoZXJMaW1pdCIsInRocmVlUnVsZSIsInJlc3VsdCIsInJlbGF0aXZlUG9zaXRpb24iLCJtYXhSb3RhdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2VUaWx0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGhyb3R0bGUgZnJvbSBcImxvZGFzaC90aHJvdHRsZVwiO1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIGZsYXR0ZW5NYXRyaXgsXG4gIGdlbmVyYXRlTWF0cml4RnJvbU9wZXJhdGlvbnMsXG4gIElERU5USVRZX01BVFJJWCxcbiAgaW52ZXJ0TWF0cml4LFxufSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QYXJhbGxheC9tYXRoL2hlbHBlcnNcIjtcblxuY29uc3QgTUFYX1RJTFQgPSB7XG4gIHg6IDEwMCxcbiAgeTogMTAwLFxufTtcblxudHlwZSBPcHRpb25zID0ge1xuICByb3VuZD86IGJvb2xlYW47XG4gIGd5cm9FbmFibGVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VUaWx0VXBkYXRlcyhcbiAgYWN0aXZlOiBib29sZWFuLFxuICByZWxhdGl2ZVRvRWw6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+LFxuICBvblRpbHQ6IChwOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pID0+IHZvaWQsXG4gIG9uSW52ZXJzZU1hdHJpeD86ICh1cGRhdGVGdW5jOiAobWF0cml4OiBudW1iZXJbXSkgPT4gbnVtYmVyW10pID0+IHZvaWQsXG4gIHNlbnNvclNjYWxlOiBudW1iZXIgPSAxLFxuICB0aWx0TGltaXQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSA9IE1BWF9USUxULFxuICBvcHRpb25zPzogT3B0aW9uc1xuKSB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgY29uc3QgdXBkYXRlUG9zaXRpb25zID0gKHJlbGF0aXZlVG9YOiBudW1iZXIsIHJlbGF0aXZlVG9ZOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgZWwgPSByZWxhdGl2ZVRvRWwuY3VycmVudCE7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHdpZHRoOiBbeDAsIHhXXSxcbiAgICAgICAgICBoZWlnaHQ6IFt5MCwgeUhdLFxuICAgICAgICB9ID0ge1xuICAgICAgICAgIHdpZHRoOiBbcmVjdC5sZWZ0LCBlbC5jbGllbnRXaWR0aF0sXG4gICAgICAgICAgaGVpZ2h0OiBbcmVjdC50b3AsIGVsLmNsaWVudEhlaWdodF0sXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlT2ZmUmlnaHQgPSBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gICAgICAgICAgcmVsYXRpdmVUb1gsXG4gICAgICAgICAgeDAsXG4gICAgICAgICAgeFcsXG4gICAgICAgICAgb3B0aW9ucz8ucm91bmQgPz8gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBkaXN0YW5jZU9mZkJvdHRvbSA9IGNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyhcbiAgICAgICAgICByZWxhdGl2ZVRvWSxcbiAgICAgICAgICB5MCxcbiAgICAgICAgICB5SCxcbiAgICAgICAgICBvcHRpb25zPy5yb3VuZCA/PyB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhvd011Y2hUb1JvdGF0ZVkgPSBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gICAgICAgICAgZGlzdGFuY2VPZmZSaWdodCxcbiAgICAgICAgICB0aWx0TGltaXQueVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBob3dNdWNoVG9Sb3RhdGVYID0gZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICAgICAgICAgIGRpc3RhbmNlT2ZmQm90dG9tLFxuICAgICAgICAgIHRpbHRMaW1pdC54XG4gICAgICAgICk7XG5cbiAgICAgICAgb25UaWx0KHtcbiAgICAgICAgICB5OiBob3dNdWNoVG9Sb3RhdGVYICogMixcbiAgICAgICAgICB4OiBob3dNdWNoVG9Sb3RhdGVZICogMixcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFuZGxlciA9IHRocm90dGxlKCh7IHgsIHkgfTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMoeCwgeSk7XG4gICAgICB9LCAxMDAwIC8gMzApO1xuICAgICAgY29uc3QgdG91Y2hIYW5kbGVyID0gdGhyb3R0bGUoKHsgdG91Y2hlcyB9OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGFnZVgsIHBhZ2VZIH0gPSB0b3VjaGVzWzBdO1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMocGFnZVgsIHBhZ2VZKTtcbiAgICAgIH0sIDEwMDAgLyAzMCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVyKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoSGFuZGxlcik7XG4gICAgICBsZXQgX2ludmVyc2VNYXRyaXg6IG51bWJlcltdIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgX2xpbWl0czoge1xuICAgICAgICBbayBpbiBcImJldGFcIiB8IFwiZ2FtbWFcIl0/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAgICAgfSA9IHtcbiAgICAgICAgYmV0YTogdW5kZWZpbmVkLFxuICAgICAgICBnYW1tYTogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IG9yaWVudGF0aW9uTGlzdGVuZXI6IChlOiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KSA9PiB2b2lkID0gKHtcbiAgICAgICAgYmV0YSxcbiAgICAgICAgZ2FtbWEsXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGlmICgoYmV0YSA/PyAwKSArIChnYW1tYSA/PyAwKSA9PT0gMCkgcmV0dXJuO1xuICAgICAgICBiZXRhID0gYmV0YSEgKiAwLjU7XG4gICAgICAgIGdhbW1hID0gZ2FtbWEhICogMC41O1xuICAgICAgICBpZiAoIV9pbnZlcnNlTWF0cml4KSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAxMi41O1xuICAgICAgICAgIF9saW1pdHMuYmV0YSA9IFtiZXRhISAtIG9mZnNldCwgYmV0YSEgKyBvZmZzZXRdO1xuICAgICAgICAgIF9saW1pdHMuZ2FtbWEgPSBbZ2FtbWEhIC0gb2Zmc2V0LCBnYW1tYSEgKyBvZmZzZXRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9iZXRhID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5iZXRhIVsxXSxcbiAgICAgICAgICBNYXRoLm1heChfbGltaXRzLmJldGEhWzBdLCBiZXRhISlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgX2dhbW1hID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5nYW1tYSFbMV0sXG4gICAgICAgICAgTWF0aC5tYXgoX2xpbWl0cy5nYW1tYSFbMF0sIGdhbW1hISlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFfaW52ZXJzZU1hdHJpeCAmJiBvbkludmVyc2VNYXRyaXgpIHtcbiAgICAgICAgICBvbkludmVyc2VNYXRyaXgoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChfaW52ZXJzZU1hdHJpeCA9IGZsYXR0ZW5NYXRyaXgoXG4gICAgICAgICAgICAgIGludmVydE1hdHJpeChcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZU1hdHJpeEZyb21PcGVyYXRpb25zKFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJvdGF0ZVlcIixcbiAgICAgICAgICAgICAgICAgICAgYW5nbGU6IF9nYW1tYSEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJvdGF0ZVhcIixcbiAgICAgICAgICAgICAgICAgICAgYW5nbGU6IC1fYmV0YSEsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBvblRpbHQoe1xuICAgICAgICAgIHk6IC1fYmV0YSAqIHNlbnNvclNjYWxlLFxuICAgICAgICAgIHg6IF9nYW1tYSAqIHNlbnNvclNjYWxlLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0b3VjaEhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM/Lmd5cm9FbmFibGVkID8/IHRydWUpIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJkZXZpY2VvcmllbnRhdGlvblwiLCBvcmllbnRhdGlvbkxpc3RlbmVyKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImRldmljZW9yaWVudGF0aW9uXCIsIG9yaWVudGF0aW9uTGlzdGVuZXIpO1xuICAgICAgICAgIHJlbW92ZUxpc3RlbmVycygpO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUxpc3RlbmVycygpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2FjdGl2ZSwgb25JbnZlcnNlTWF0cml4LCBvblRpbHRdKTtcbn1cblxuLyoqXG4gKiBUaGlzIGhvb2sgYmluZHMgdG8gdHdvIG1ldGhvZHMgZm9yIGNhbGN1bGF0aW5nIHRpbHRcbiAqXG4gKiBXaGVuIGF2YWlsYWJsZTogVGhlIGRldmljZSBzZW5zb3JzXG4gKiBXaGVuIG9uIGRlc2t0b3A6IFRoZSBtb3VzZSBwb3NpdGlvbiByZWxhdGl2ZSB0byBhIHJlZlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUaWx0KFxuICBhY3RpdmU6IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBBIHNjYWxlIHRvIGluY3JlYXNlIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2Vuc29yc1xuICAgKlxuICAgKiBAaGFjayBZb3UgY2FuIHNldCB0aGlzIHZhbHVlIHRvIDAgYXMgYSB3YXkgdG8gZGlzYWJsZSB0aGUgdGlsdCBjYWxjIG9uIG1vYmlsZVxuICAgKi9cbiAgc2Vuc29yU2NhbGU6IG51bWJlciA9IDEsXG4gIG1heFRpbHQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSA9IE1BWF9USUxULFxuICBvcHRpb25zPzogT3B0aW9uc1xuKSB7XG4gIGNvbnN0IFt0aWx0LCBzZXRUaWx0XSA9IHVzZVN0YXRlPHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgfSk7XG4gIGNvbnN0IFt0aWx0UmVzZXRNYXRyaXgsIHNldFRpbHRSZXNldE1hdHJpeF0gPSB1c2VTdGF0ZTxudW1iZXJbXT4oKCkgPT5cbiAgICBmbGF0dGVuTWF0cml4KElERU5USVRZX01BVFJJWCgpKVxuICApO1xuICBjb25zdCByZWxhdGl2ZVRvID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VUaWx0VXBkYXRlcyhcbiAgICBhY3RpdmUsXG4gICAgcmVsYXRpdmVUbyxcbiAgICBzZXRUaWx0LFxuICAgIHNldFRpbHRSZXNldE1hdHJpeCxcbiAgICBzZW5zb3JTY2FsZSxcbiAgICBtYXhUaWx0LFxuICAgIG9wdGlvbnNcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIC8qKiBUaGUgZWxlbWVudCB0byBtb25pdG9yIG1vdXNlIGhvdmVyIHJlbGF0aXZlIHRvICovXG4gICAgcmVsYXRpdmVUbyxcbiAgICAvKipcbiAgICAgKiBUaGUgbWF0cml4IHRoYXQgcmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgdGlsdCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgdGlsdCBwcm9wIHRvIHRpbHQgcmVsYXRpdmUgdG8gdGhlIHVzZXJcbiAgICAgKiBVc2UgaXQgb24gY3NzIGxpa2Ugc28gdHJhbnNmb3JtOiBtYXRyaXgzZCh0aWx0UmVzZXRNYXRyaXguam9pbihcIixcIikpIHJvdGF0ZVgodGlsdC54KSByb3RhdGVZKHRpbHQueSlcbiAgICAgKi9cbiAgICB0aWx0UmVzZXRNYXRyaXgsXG5cbiAgICAvKipcbiAgICAgKiBIb3cgbXVjaCB0aWx0IHNob3VsZCBiZSBhcHBsaWVkIGJhc2VkXG4gICAgICovXG4gICAgdGlsdCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyhcbiAgbW91c2VQb3NpdGlvbjogbnVtYmVyLFxuICBlbGVtZW50SW5pdGlhbFBvc2l0aW9uOiBudW1iZXIsXG4gIGVsZW1lbnRTaXplRGltZW5zaW9uOiBudW1iZXIsXG4gIHNob3VsZFJvdW5kOiBib29sZWFuXG4pIHtcbiAgY29uc3Qgbm9ybWFsaXplSW5pdGlhbFBvc2l0aW9uID0gbW91c2VQb3NpdGlvbiAtIGVsZW1lbnRJbml0aWFsUG9zaXRpb247XG4gIGNvbnN0IGRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQgPSBNYXRoLm1heChub3JtYWxpemVJbml0aWFsUG9zaXRpb24sIDApO1xuICBjb25zdCBkb05vdEFsbG93SG9pbmdCZXlvbmRIaWdoZXJMaW1pdCA9IE1hdGgubWluKFxuICAgIGRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQsXG4gICAgZWxlbWVudFNpemVEaW1lbnNpb25cbiAgKTtcbiAgY29uc3QgdGhyZWVSdWxlID1cbiAgICAoZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQgKiAxMDApIC8gZWxlbWVudFNpemVEaW1lbnNpb247XG4gIGNvbnN0IHJlc3VsdCA9IChzaG91bGRSb3VuZCA/IE1hdGgucm91bmQodGhyZWVSdWxlKSA6IHRocmVlUnVsZSkgLyAxMDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gIHJlbGF0aXZlUG9zaXRpb246IG51bWJlcixcbiAgbWF4Um90YXRpb246IG51bWJlclxuKSB7XG4gIHJldHVybiByZWxhdGl2ZVBvc2l0aW9uICogbWF4Um90YXRpb24gLSBtYXhSb3RhdGlvbiAvIDI7XG59XG4iXSwi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
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useZoomable;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _client = require("react-dom/client");
|
|
9
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
|
+
var _useZoomableModule = _interopRequireDefault(require("./useZoomable.module.scss"));
|
|
11
|
+
var _useHero = _interopRequireDefault(require("../useHero"));
|
|
12
|
+
var _useMergeRefs = require("../useMergeRefs");
|
|
13
|
+
var _ownEvent = _interopRequireDefault(require("../../utils/ownEvent"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
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); }
|
|
16
|
+
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; }
|
|
17
|
+
/**
|
|
18
|
+
* Allows an element to be zoomable for fullscreen
|
|
19
|
+
*/
|
|
20
|
+
function useZoomable(id) {
|
|
21
|
+
const zoomableID = (0, _react.useMemo)(() => "zoomable-".concat(id), []);
|
|
22
|
+
const getBackdrop = () => {
|
|
23
|
+
return document.querySelector("[data-zoomable=\"".concat(zoomableID, "\"]"));
|
|
24
|
+
};
|
|
25
|
+
const {
|
|
26
|
+
heroRef,
|
|
27
|
+
trigger
|
|
28
|
+
} = (0, _useHero.default)(zoomableID, {
|
|
29
|
+
"data-preffix": "zoomable",
|
|
30
|
+
repeatable: true
|
|
31
|
+
}, {
|
|
32
|
+
onHeroStart: function (clone) {
|
|
33
|
+
const bd = getBackdrop();
|
|
34
|
+
const removeCb = _ref => {
|
|
35
|
+
let {
|
|
36
|
+
currentTarget,
|
|
37
|
+
target
|
|
38
|
+
} = _ref;
|
|
39
|
+
if (target === currentTarget) {
|
|
40
|
+
if ("unmountComponentAtNode" in _reactDom.default) _reactDom.default.unmountComponentAtNode(bd);else console.error("This component doesn't work with the new versions of react yet...");
|
|
41
|
+
bd.remove();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
bd.style.opacity = "0";
|
|
45
|
+
const middlewayClick = () => {
|
|
46
|
+
bd.removeEventListener("transitionend", removeCb);
|
|
47
|
+
clone.removeEventListener("click", middlewayClick);
|
|
48
|
+
_zoom();
|
|
49
|
+
};
|
|
50
|
+
clone.addEventListener("click", middlewayClick);
|
|
51
|
+
bd.addEventListener("transitionend", removeCb);
|
|
52
|
+
bd.addEventListener("transitionstart", () => {
|
|
53
|
+
bd.addEventListener("transitioncancel", (0, _ownEvent.default)(() => bd.removeEventListener("transitionend", removeCb)));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
const zoomableEl = (0, _react.useRef)(null);
|
|
58
|
+
function _unzoom() {
|
|
59
|
+
trigger();
|
|
60
|
+
}
|
|
61
|
+
function _zoom() {
|
|
62
|
+
const el = zoomableEl.current;
|
|
63
|
+
const elClone = el.cloneNode(true);
|
|
64
|
+
elClone.style.visibility = "hidden";
|
|
65
|
+
function HeroMount() {
|
|
66
|
+
const {
|
|
67
|
+
heroRef
|
|
68
|
+
} = (0, _useHero.default)(zoomableID, {
|
|
69
|
+
"data-preffix": "zoomable",
|
|
70
|
+
repeatable: true
|
|
71
|
+
}, {
|
|
72
|
+
onHeroStart: function (clone) {
|
|
73
|
+
getBackdrop().style.opacity = "1";
|
|
74
|
+
const unzoomCb = () => {
|
|
75
|
+
_unzoom();
|
|
76
|
+
clone.removeEventListener("click", unzoomCb);
|
|
77
|
+
};
|
|
78
|
+
clone.addEventListener("click", unzoomCb);
|
|
79
|
+
},
|
|
80
|
+
onHeroEnd: () => {
|
|
81
|
+
heroRef.current.classList.remove(_useZoomableModule.default.zoomableIndicator);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
85
|
+
ref: ref => {
|
|
86
|
+
if (ref) {
|
|
87
|
+
ref.appendChild(elClone);
|
|
88
|
+
heroRef.current = elClone;
|
|
89
|
+
const verticalProportion = el.clientWidth / el.clientHeight;
|
|
90
|
+
const targetWidth = ref.clientHeight * verticalProportion;
|
|
91
|
+
if (targetWidth > ref.clientWidth) {
|
|
92
|
+
const horizontalProportion = el.clientHeight / el.clientWidth;
|
|
93
|
+
elClone.style.width = ref.clientWidth + "px";
|
|
94
|
+
elClone.style.height = ref.clientWidth * horizontalProportion + "px";
|
|
95
|
+
} else {
|
|
96
|
+
elClone.style.height = ref.clientHeight + "px";
|
|
97
|
+
elClone.style.width = targetWidth + "px";
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
const existingBackdrop = getBackdrop();
|
|
104
|
+
if (!existingBackdrop) {
|
|
105
|
+
const backdrop = document.createElement("div");
|
|
106
|
+
backdrop.classList.add(_useZoomableModule.default.backdrop);
|
|
107
|
+
backdrop.addEventListener("click", _unzoom);
|
|
108
|
+
backdrop.setAttribute("data-zoomable", zoomableID);
|
|
109
|
+
document.body.appendChild(backdrop);
|
|
110
|
+
(0, _client.createRoot)(backdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
|
|
111
|
+
} else {
|
|
112
|
+
(0, _client.createRoot)(existingBackdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
(0, _react.useEffect)(() => {
|
|
116
|
+
const el = zoomableEl.current;
|
|
117
|
+
el.classList.add(_useZoomableModule.default.zoomableIndicator);
|
|
118
|
+
el.addEventListener("click", _zoom);
|
|
119
|
+
return () => {
|
|
120
|
+
el.classList.remove(_useZoomableModule.default.zoomableIndicator);
|
|
121
|
+
const bd = getBackdrop();
|
|
122
|
+
if (bd) {
|
|
123
|
+
bd.style.opacity = "0";
|
|
124
|
+
bd.addEventListener("transitionend", () => {
|
|
125
|
+
bd.remove();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
}, []);
|
|
130
|
+
const mergedRefs = (0, _useMergeRefs.useMergeRefsFunc)(heroRef, zoomableEl);
|
|
131
|
+
return {
|
|
132
|
+
zoomableEl: mergedRefs
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xpZW50IiwiX3JlYWN0RG9tIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2Vab29tYWJsZU1vZHVsZSIsIl91c2VIZXJvIiwiX3VzZU1lcmdlUmVmcyIsIl9vd25FdmVudCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJ1c2Vab29tYWJsZSIsImlkIiwiem9vbWFibGVJRCIsInVzZU1lbW8iLCJjb25jYXQiLCJnZXRCYWNrZHJvcCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImhlcm9SZWYiLCJ0cmlnZ2VyIiwidXNlSGVybyIsInJlcGVhdGFibGUiLCJvbkhlcm9TdGFydCIsImNsb25lIiwiYmQiLCJyZW1vdmVDYiIsIl9yZWYiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiY29uc29sZSIsImVycm9yIiwicmVtb3ZlIiwic3R5bGUiLCJvcGFjaXR5IiwibWlkZGxld2F5Q2xpY2siLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX3pvb20iLCJhZGRFdmVudExpc3RlbmVyIiwib3duRXZlbnQiLCJ6b29tYWJsZUVsIiwidXNlUmVmIiwiX3Vuem9vbSIsImVsIiwiY3VycmVudCIsImVsQ2xvbmUiLCJjbG9uZU5vZGUiLCJ2aXNpYmlsaXR5IiwiSGVyb01vdW50IiwidW56b29tQ2IiLCJvbkhlcm9FbmQiLCJjbGFzc0xpc3QiLCJTdHlsZXMiLCJ6b29tYWJsZUluZGljYXRvciIsImNyZWF0ZUVsZW1lbnQiLCJyZWYiLCJhcHBlbmRDaGlsZCIsInZlcnRpY2FsUHJvcG9ydGlvbiIsImNsaWVudFdpZHRoIiwiY2xpZW50SGVpZ2h0IiwidGFyZ2V0V2lkdGgiLCJob3Jpem9udGFsUHJvcG9ydGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwiZXhpc3RpbmdCYWNrZHJvcCIsImJhY2tkcm9wIiwiYWRkIiwic2V0QXR0cmlidXRlIiwiYm9keSIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJ1c2VFZmZlY3QiLCJtZXJnZWRSZWZzIiwidXNlTWVyZ2VSZWZzRnVuYyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2Vab29tYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIjtcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL3VzZVpvb21hYmxlLm1vZHVsZS5zY3NzXCI7XG5pbXBvcnQgdXNlSGVybyBmcm9tIFwiLi4vdXNlSGVyb1wiO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzRnVuYyB9IGZyb20gXCIuLi91c2VNZXJnZVJlZnNcIjtcbmltcG9ydCBvd25FdmVudCBmcm9tIFwiLi4vLi4vdXRpbHMvb3duRXZlbnRcIjtcbi8qKlxuICogQWxsb3dzIGFuIGVsZW1lbnQgdG8gYmUgem9vbWFibGUgZm9yIGZ1bGxzY3JlZW5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlWm9vbWFibGUoaWQ6IHN0cmluZykge1xuICBjb25zdCB6b29tYWJsZUlEID0gdXNlTWVtbygoKSA9PiBgem9vbWFibGUtJHtpZH1gLCBbXSk7XG4gIGNvbnN0IGdldEJhY2tkcm9wID0gKCkgPT4ge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYFtkYXRhLXpvb21hYmxlPVwiJHt6b29tYWJsZUlEfVwiXWBcbiAgICApISBhcyBIVE1MRGl2RWxlbWVudDtcbiAgfTtcbiAgY29uc3QgeyBoZXJvUmVmLCB0cmlnZ2VyIH0gPSB1c2VIZXJvKFxuICAgIHpvb21hYmxlSUQsXG4gICAge1xuICAgICAgXCJkYXRhLXByZWZmaXhcIjogXCJ6b29tYWJsZVwiLFxuICAgICAgcmVwZWF0YWJsZTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9uSGVyb1N0YXJ0OiAoY2xvbmUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgY29uc3QgYmQgPSBnZXRCYWNrZHJvcCgpO1xuICAgICAgICBjb25zdCByZW1vdmVDYiA9ICh7IGN1cnJlbnRUYXJnZXQsIHRhcmdldCB9OiBUcmFuc2l0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBjdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICBpZiAoKFwidW5tb3VudENvbXBvbmVudEF0Tm9kZVwiIGluIFJlYWN0RE9NKSBhcyBhbnkpXG4gICAgICAgICAgICAgIChSZWFjdERPTSBhcyBhbnkpLnVubW91bnRDb21wb25lbnRBdE5vZGUoYmQpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVGhpcyBjb21wb25lbnQgZG9lc24ndCB3b3JrIHdpdGggdGhlIG5ldyB2ZXJzaW9ucyBvZiByZWFjdCB5ZXQuLi5cIilcbiAgICAgICAgICAgIGJkLnJlbW92ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgYmQuc3R5bGUub3BhY2l0eSA9IFwiMFwiO1xuICAgICAgICBjb25zdCBtaWRkbGV3YXlDbGljayA9ICgpID0+IHtcbiAgICAgICAgICBiZC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCByZW1vdmVDYik7XG4gICAgICAgICAgY2xvbmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG1pZGRsZXdheUNsaWNrKTtcbiAgICAgICAgICBfem9vbSgpO1xuICAgICAgICB9O1xuICAgICAgICBjbG9uZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgbWlkZGxld2F5Q2xpY2spO1xuICAgICAgICBiZC5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCByZW1vdmVDYik7XG4gICAgICAgIGJkLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uc3RhcnRcIiwgKCkgPT4ge1xuICAgICAgICAgIGJkLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICBcInRyYW5zaXRpb25jYW5jZWxcIixcbiAgICAgICAgICAgIG93bkV2ZW50KCgpID0+IGJkLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIHJlbW92ZUNiKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfVxuICApO1xuICBjb25zdCB6b29tYWJsZUVsID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgZnVuY3Rpb24gX3Vuem9vbSgpIHtcbiAgICB0cmlnZ2VyKCk7XG4gIH1cblxuICBmdW5jdGlvbiBfem9vbSgpIHtcbiAgICBjb25zdCBlbCA9IHpvb21hYmxlRWwuY3VycmVudCE7XG4gICAgY29uc3QgZWxDbG9uZSA9IGVsLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBlbENsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuXG4gICAgZnVuY3Rpb24gSGVyb01vdW50KCkge1xuICAgICAgY29uc3QgeyBoZXJvUmVmIH0gPSB1c2VIZXJvKFxuICAgICAgICB6b29tYWJsZUlELFxuICAgICAgICB7XG4gICAgICAgICAgXCJkYXRhLXByZWZmaXhcIjogXCJ6b29tYWJsZVwiLFxuICAgICAgICAgIHJlcGVhdGFibGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvbkhlcm9TdGFydDogKGNsb25lLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICBnZXRCYWNrZHJvcCgpLnN0eWxlLm9wYWNpdHkgPSBcIjFcIjtcbiAgICAgICAgICAgIGNvbnN0IHVuem9vbUNiID0gKCkgPT4ge1xuICAgICAgICAgICAgICBfdW56b29tKCk7XG4gICAgICAgICAgICAgIGNsb25lLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB1bnpvb21DYik7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2xvbmUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHVuem9vbUNiKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uSGVyb0VuZDogKCkgPT4ge1xuICAgICAgICAgICAgaGVyb1JlZi5jdXJyZW50IS5jbGFzc0xpc3QucmVtb3ZlKFN0eWxlcy56b29tYWJsZUluZGljYXRvcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17KHJlZikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgICByZWYuYXBwZW5kQ2hpbGQoZWxDbG9uZSk7XG4gICAgICAgICAgICAgIChoZXJvUmVmIGFzIGFueSkuY3VycmVudCA9IGVsQ2xvbmU7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsUHJvcG9ydGlvbiA9IGVsLmNsaWVudFdpZHRoIC8gZWwuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXRXaWR0aCA9IHJlZi5jbGllbnRIZWlnaHQgKiB2ZXJ0aWNhbFByb3BvcnRpb247XG5cbiAgICAgICAgICAgICAgaWYgKHRhcmdldFdpZHRoID4gcmVmLmNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbFByb3BvcnRpb24gPSBlbC5jbGllbnRIZWlnaHQgLyBlbC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgICAgICBlbENsb25lLnN0eWxlLndpZHRoID0gcmVmLmNsaWVudFdpZHRoICsgXCJweFwiO1xuICAgICAgICAgICAgICAgIGVsQ2xvbmUuc3R5bGUuaGVpZ2h0ID1cbiAgICAgICAgICAgICAgICAgIHJlZi5jbGllbnRXaWR0aCAqIGhvcml6b250YWxQcm9wb3J0aW9uICsgXCJweFwiO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVsQ2xvbmUuc3R5bGUuaGVpZ2h0ID0gcmVmLmNsaWVudEhlaWdodCArIFwicHhcIjtcbiAgICAgICAgICAgICAgICBlbENsb25lLnN0eWxlLndpZHRoID0gdGFyZ2V0V2lkdGggKyBcInB4XCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ0JhY2tkcm9wID0gZ2V0QmFja2Ryb3AoKTtcbiAgICBpZiAoIWV4aXN0aW5nQmFja2Ryb3ApIHtcbiAgICAgIGNvbnN0IGJhY2tkcm9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAgICAgYmFja2Ryb3AuY2xhc3NMaXN0LmFkZChTdHlsZXMuYmFja2Ryb3ApO1xuICAgICAgYmFja2Ryb3AuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIF91bnpvb20pO1xuICAgICAgYmFja2Ryb3Auc2V0QXR0cmlidXRlKFwiZGF0YS16b29tYWJsZVwiLCB6b29tYWJsZUlEKTtcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiYWNrZHJvcCk7XG4gICAgICBjcmVhdGVSb290KGJhY2tkcm9wKS5yZW5kZXIoPEhlcm9Nb3VudCAvPik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZVJvb3QoZXhpc3RpbmdCYWNrZHJvcCkucmVuZGVyKDxIZXJvTW91bnQgLz4pO1xuICAgIH1cbiAgfVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gem9vbWFibGVFbC5jdXJyZW50ITtcbiAgICBlbC5jbGFzc0xpc3QuYWRkKFN0eWxlcy56b29tYWJsZUluZGljYXRvcik7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIF96b29tKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShTdHlsZXMuem9vbWFibGVJbmRpY2F0b3IpO1xuICAgICAgY29uc3QgYmQgPSBnZXRCYWNrZHJvcCgpO1xuICAgICAgaWYgKGJkKSB7XG4gICAgICAgIGJkLnN0eWxlLm9wYWNpdHkgPSBcIjBcIjtcbiAgICAgICAgYmQuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgKCkgPT4ge1xuICAgICAgICAgIGJkLnJlbW92ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgbWVyZ2VkUmVmcyA9IHVzZU1lcmdlUmVmc0Z1bmMoaGVyb1JlZiwgem9vbWFibGVFbCk7XG5cbiAgcmV0dXJuIHtcbiAgICB6b29tYWJsZUVsOiBtZXJnZWRSZWZzLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQTRDLFNBQUFHLHVCQUFBSyxHQUFBLFdB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
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
@use "../../assets/styles/variables.scss" as *;
|
|
2
|
+
|
|
3
|
+
.zoomableIndicator {
|
|
4
|
+
cursor: zoom-in;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
$stubZIndex: 1000000;
|
|
8
|
+
|
|
9
|
+
.backdrop {
|
|
10
|
+
position: fixed;
|
|
11
|
+
width: 100vw;
|
|
12
|
+
height: 100vh;
|
|
13
|
+
top: 0;
|
|
14
|
+
left: 0;
|
|
15
|
+
z-index: $stubZIndex;
|
|
16
|
+
background: var(--zoomable--backdrop-bg, #0009);
|
|
17
|
+
transition: opacity $fast linear;
|
|
18
|
+
opacity: 0;
|
|
19
|
+
> * {
|
|
20
|
+
height: 100%;
|
|
21
|
+
width: 100%;
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: center;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
> * {
|
|
26
|
+
cursor: zoom-out;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.backdrop + * {
|
|
32
|
+
z-index: $stubZIndex + 1;
|
|
33
|
+
max-width: initial;
|
|
34
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Protecting an async function
|
|
2
|
+
```tsx
|
|
3
|
+
const control = useAsyncControl()
|
|
4
|
+
|
|
5
|
+
control.process(() => anAsyncFunction());
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
# Using multiple async functions
|
|
9
|
+
```tsx
|
|
10
|
+
const control = useAsyncControl({
|
|
11
|
+
asyncFunctionOne,
|
|
12
|
+
asyncFunctionTwo,
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
control.asyncFunctionOne();
|
|
16
|
+
control.asyncFunctionTwo();
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
# Storing data
|
|
20
|
+
```tsx
|
|
21
|
+
const [result, setResult] = useState()
|
|
22
|
+
const control = useAsyncControl({anAsyncFunctionThatReturnsData})
|
|
23
|
+
|
|
24
|
+
control.anAsyncFunctionThatReturnsData().then(setResult);
|
|
25
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.useAsyncControl = useAsyncControl;
|
|
8
|
+
exports.useRawAsynControl = useRawAsynControl;
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
12
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
function useRawAsynControl(functionsToWrap, _ref, _ref2) {
|
|
16
|
+
let [error, setError] = _ref;
|
|
17
|
+
let [loading, setLoading] = _ref2;
|
|
18
|
+
const _process = (0, _react.useCallback)(async asyncFn => {
|
|
19
|
+
try {
|
|
20
|
+
setLoading(true);
|
|
21
|
+
setError(undefined);
|
|
22
|
+
if (asyncFn instanceof Promise) await asyncFn;else return await asyncFn();
|
|
23
|
+
} catch (e) {
|
|
24
|
+
if (process.env.NODE_ENV === "development") console.error(e);
|
|
25
|
+
setError(e);
|
|
26
|
+
throw e;
|
|
27
|
+
} finally {
|
|
28
|
+
setLoading(false);
|
|
29
|
+
}
|
|
30
|
+
}, []);
|
|
31
|
+
const {
|
|
32
|
+
functionsToMemoize,
|
|
33
|
+
other
|
|
34
|
+
} = Object.entries(functionsToWrap || {}).reduce((r, _ref3) => {
|
|
35
|
+
let [k, func] = _ref3;
|
|
36
|
+
return _objectSpread(_objectSpread({}, r), typeof func === "function" ? {
|
|
37
|
+
functionsToMemoize: _objectSpread(_objectSpread({}, r.functionsToMemoize), {}, {
|
|
38
|
+
[k]: func
|
|
39
|
+
})
|
|
40
|
+
} : {
|
|
41
|
+
other: _objectSpread(_objectSpread({}, r.other), {}, {
|
|
42
|
+
[k]: func
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}, {
|
|
46
|
+
functionsToMemoize: {},
|
|
47
|
+
other: {}
|
|
48
|
+
});
|
|
49
|
+
return _objectSpread(_objectSpread({
|
|
50
|
+
process: _process,
|
|
51
|
+
loading,
|
|
52
|
+
error,
|
|
53
|
+
setError,
|
|
54
|
+
setLoading
|
|
55
|
+
}, other), Object.entries(functionsToMemoize).reduce((r, _ref4) => {
|
|
56
|
+
let [k, v] = _ref4;
|
|
57
|
+
return _objectSpread(_objectSpread({}, r), {}, {
|
|
58
|
+
[k]: (0, _react.useMemo)(() => function () {
|
|
59
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
60
|
+
args[_key] = arguments[_key];
|
|
61
|
+
}
|
|
62
|
+
return _process(() => v(...args));
|
|
63
|
+
}, [v])
|
|
64
|
+
});
|
|
65
|
+
}, {}));
|
|
66
|
+
}
|
|
67
|
+
function useAsyncControl(functionsToWrap) {
|
|
68
|
+
const error = (0, _react.useState)();
|
|
69
|
+
const loading = (0, _react.useState)(false);
|
|
70
|
+
return useRawAsynControl(functionsToWrap, error, loading);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* This hook provides a way to handle async operations storing the loading state, or the error when it fails, it does not store information returned from the functions.
|
|
75
|
+
* @param functionsToWrap The functions to wrap in control.
|
|
76
|
+
* @returns
|
|
77
|
+
*/
|
|
78
|
+
var _default = exports.default = useAsyncControl;
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJ1c2VSYXdBc3luQ29udHJvbCIsImZ1bmN0aW9uc1RvV3JhcCIsIl9yZWYiLCJfcmVmMiIsImVycm9yIiwic2V0RXJyb3IiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl9wcm9jZXNzIiwidXNlQ2FsbGJhY2siLCJhc3luY0ZuIiwiUHJvbWlzZSIsImUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwiZnVuY3Rpb25zVG9NZW1vaXplIiwib3RoZXIiLCJlbnRyaWVzIiwicmVkdWNlIiwiciIsIl9yZWYzIiwiayIsImZ1bmMiLCJfcmVmNCIsInYiLCJ1c2VNZW1vIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJ1c2VBc3luY0NvbnRyb2wiLCJ1c2VTdGF0ZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQXN5bmNDb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldFN0YXRlQWN0aW9uLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJ0eXBlLWZlc3RcIjtcblxudHlwZSBBcnI8WD4gPSBbWCwgUmVhY3QuRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248WD4+XTtcbmV4cG9ydCB0eXBlIEZ1bmN0aW9uTWFwID0ge1xuICBbZjogc3RyaW5nXTogKCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSB8IE9iamVjdCB8IFByaW1pdGl2ZTtcbn07XG5leHBvcnQgdHlwZSBDb250cm9sPEUgZXh0ZW5kcyBhbnkgPSBhbnk+ID0ge1xuICBlcnJvcj86IEU7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG59O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJhd0FzeW5Db250cm9sPEUgPSBhbnksIEYgZXh0ZW5kcyBGdW5jdGlvbk1hcCA9IHt9PihcbiAgZnVuY3Rpb25zVG9XcmFwOiBGIHwgdW5kZWZpbmVkLFxuICBbZXJyb3IsIHNldEVycm9yXTogQXJyPEUgfCB1bmRlZmluZWQ+LFxuICBbbG9hZGluZywgc2V0TG9hZGluZ106IEFycjxib29sZWFuPlxuKSB7XG4gIGNvbnN0IF9wcm9jZXNzID0gdXNlQ2FsbGJhY2soYXN5bmMgKGFzeW5jRm46ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgUHJvbWlzZTxhbnk+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICBzZXRFcnJvcih1bmRlZmluZWQpO1xuICAgICAgaWYgKGFzeW5jRm4gaW5zdGFuY2VvZiBQcm9taXNlKSBhd2FpdCBhc3luY0ZuO1xuICAgICAgZWxzZSByZXR1cm4gYXdhaXQgYXN5bmNGbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgc2V0RXJyb3IoZSBhcyBFKTtcbiAgICAgIHRocm93IGU7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHsgZnVuY3Rpb25zVG9NZW1vaXplLCBvdGhlciB9ID0gT2JqZWN0LmVudHJpZXMoXG4gICAgZnVuY3Rpb25zVG9XcmFwIHx8IHt9XG4gICkucmVkdWNlKFxuICAgIChyLCBbaywgZnVuY10pID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnIsXG4gICAgICAgIC4uLih0eXBlb2YgZnVuYyA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZ1bmN0aW9uc1RvTWVtb2l6ZToge1xuICAgICAgICAgICAgICAgIC4uLnIuZnVuY3Rpb25zVG9NZW1vaXplLFxuICAgICAgICAgICAgICAgIFtrXTogZnVuYyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgb3RoZXI6IHtcbiAgICAgICAgICAgICAgICAuLi5yLm90aGVyLFxuICAgICAgICAgICAgICAgIFtrXTogZnVuYyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9LFxuICAgIHtcbiAgICAgIGZ1bmN0aW9uc1RvTWVtb2l6ZToge30sXG4gICAgICBvdGhlcjoge30sXG4gICAgfSBhcyB7XG4gICAgICBmdW5jdGlvbnNUb01lbW9pemU6IEY7XG4gICAgICBvdGhlcjogRjtcbiAgICB9XG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9jZXNzOiBfcHJvY2VzcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIHNldEVycm9yLFxuICAgIHNldExvYWRpbmcsXG4gICAgLi4ub3RoZXIsXG4gICAgLi4uT2JqZWN0LmVudHJpZXMoZnVuY3Rpb25zVG9NZW1vaXplKS5yZWR1Y2UoXG4gICAgICAociwgW2ssIHZdKSA9PiAoe1xuICAgICAgICAuLi5yLFxuICAgICAgICBba106IHVzZU1lbW8oXG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICguLi5hcmdzOiBhbnlbXSkgPT5cbiAgICAgICAgICAgICAgX3Byb2Nlc3MoKCkgPT4gKHYgYXMgYW55KSguLi5hcmdzKSksXG4gICAgICAgICAgW3ZdXG4gICAgICAgICksXG4gICAgICB9KSxcbiAgICAgIHt9IGFzIEZcbiAgICApLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXN5bmNDb250cm9sPFxuICBFID0gYW55LFxuICBGIGV4dGVuZHMge1xuICAgIFtmOiBzdHJpbmddOiAoKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4pIHwgT2JqZWN0IHwgUHJpbWl0aXZlO1xuICB9ID0ge31cbj4oZnVuY3Rpb25zVG9XcmFwPzogRikge1xuICBjb25zdCBlcnJvciA9IHVzZVN0YXRlPEUgfCBFcnJvcj4oKTtcbiAgY29uc3QgbG9hZGluZyA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZXR1cm4gdXNlUmF3QXN5bkNvbnRyb2woZnVuY3Rpb25zVG9XcmFwLCBlcnJvciwgbG9hZGluZyk7XG59XG5cbi8qKlxuICogVGhpcyBob29rIHByb3ZpZGVzIGEgd2F5IHRvIGhhbmRsZSBhc3luYyBvcGVyYXRpb25zIHN0b3JpbmcgdGhlIGxvYWRpbmcgc3RhdGUsIG9yIHRoZSBlcnJvciB3aGVuIGl0IGZhaWxzLCBpdCBkb2VzIG5vdCBzdG9yZSBpbmZvcm1hdGlvbiByZXR1cm5lZCBmcm9tIHRoZSBmdW5jdGlvbnMuXG4gKiBAcGFyYW0gZnVuY3Rpb25zVG9XcmFwIFRoZSBmdW5jdGlvbnMgdG8gd3JhcCBpbiBjb250cm9sLlxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgdXNlQXN5bmNDb250cm9sO1xu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
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useContainedRepositioning;
|
|
7
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
/**
|
|
11
|
+
* This hook takes an html and checks if its outside its parent
|
|
12
|
+
* If it is, it should move it so it can be totally visible inside the container
|
|
13
|
+
*/
|
|
14
|
+
function useContainedRepositioning(focused, getParent) {
|
|
15
|
+
let {
|
|
16
|
+
offset = 16,
|
|
17
|
+
scale = 1,
|
|
18
|
+
offsetLimit = Number.POSITIVE_INFINITY
|
|
19
|
+
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
20
|
+
const elementToCheck = (0, _react.useRef)(null);
|
|
21
|
+
(0, _react.useEffect)(() => {
|
|
22
|
+
const el = elementToCheck.current;
|
|
23
|
+
if (!el) return;
|
|
24
|
+
const curr = el;
|
|
25
|
+
const relativeParent = getParent(curr);
|
|
26
|
+
if (process.env.NODE_ENV === "development") {
|
|
27
|
+
if (window.getComputedStyle(el).position !== "relative") throw new Error("The target element MUST have position relative so it can be moved");
|
|
28
|
+
if (window.getComputedStyle(relativeParent).position !== "relative") throw new Error("The relative to element MUST have position relative so it can calculate correctly the target position");
|
|
29
|
+
}
|
|
30
|
+
if (focused) {
|
|
31
|
+
curr.style.right = "0px";
|
|
32
|
+
const reposition = (0, _debounce.default)(() => {
|
|
33
|
+
const alreadyRight = Number(curr.style.right.replace("px", ""));
|
|
34
|
+
const limitOffset = relativeParent.scrollLeft + relativeParent.clientWidth;
|
|
35
|
+
const elWidth = curr.clientWidth * scale;
|
|
36
|
+
const offsetOfScale = (elWidth - curr.clientWidth) / 2;
|
|
37
|
+
const cardLimit = curr.offsetLeft - offsetOfScale + alreadyRight + elWidth;
|
|
38
|
+
const exceedingSpace = cardLimit - limitOffset;
|
|
39
|
+
const offsetLeft = curr.offsetLeft - offsetOfScale + alreadyRight - relativeParent.scrollLeft;
|
|
40
|
+
const isOverflowedRight = exceedingSpace > 0;
|
|
41
|
+
const isOverflowedLeft = offsetLeft < 0;
|
|
42
|
+
const limit = exceedingSpace + -offsetLeft;
|
|
43
|
+
if (isOverflowedRight) {
|
|
44
|
+
const val = Math.min(exceedingSpace - -Math.min(Math.abs(limit / 2), offset), offsetLimit);
|
|
45
|
+
curr.style.right = "".concat(val, "px");
|
|
46
|
+
}
|
|
47
|
+
if (isOverflowedLeft) {
|
|
48
|
+
const val = Math.max(offsetLeft - Math.min(Math.abs(limit) / 2, offset), -offsetLimit);
|
|
49
|
+
curr.style.right = "".concat(val, "px");
|
|
50
|
+
}
|
|
51
|
+
if (isOverflowedLeft || isOverflowedRight) {
|
|
52
|
+
curr.style.zIndex = "1000";
|
|
53
|
+
}
|
|
54
|
+
}, 50);
|
|
55
|
+
reposition();
|
|
56
|
+
reposition.flush();
|
|
57
|
+
relativeParent.addEventListener("scroll", reposition, {
|
|
58
|
+
passive: true
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
reposition.cancel();
|
|
62
|
+
relativeParent.removeEventListener("scroll", reposition);
|
|
63
|
+
el.style.right = "0px";
|
|
64
|
+
const restore = _ref => {
|
|
65
|
+
let {
|
|
66
|
+
propertyName,
|
|
67
|
+
currentTarget
|
|
68
|
+
} = _ref;
|
|
69
|
+
const targetTransformation = window.getComputedStyle(currentTarget).right;
|
|
70
|
+
if (propertyName === "right" && targetTransformation === "0px") {
|
|
71
|
+
curr.style.zIndex = "";
|
|
72
|
+
el.removeEventListener("transitionend", restore);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
el.addEventListener("transitionend", restore);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}, [focused]);
|
|
79
|
+
return {
|
|
80
|
+
elementToCheck
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVib3VuY2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlQ29udGFpbmVkUmVwb3NpdGlvbmluZyIsImZvY3VzZWQiLCJnZXRQYXJlbnQiLCJvZmZzZXQiLCJzY2FsZSIsIm9mZnNldExpbWl0IiwiTnVtYmVyIiwiUE9TSVRJVkVfSU5GSU5JVFkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJlbGVtZW50VG9DaGVjayIsInVzZVJlZiIsInVzZUVmZmVjdCIsImVsIiwiY3VycmVudCIsImN1cnIiLCJyZWxhdGl2ZVBhcmVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJwb3NpdGlvbiIsIkVycm9yIiwic3R5bGUiLCJyaWdodCIsInJlcG9zaXRpb24iLCJkZWJvdW5jZSIsImFscmVhZHlSaWdodCIsInJlcGxhY2UiLCJsaW1pdE9mZnNldCIsInNjcm9sbExlZnQiLCJjbGllbnRXaWR0aCIsImVsV2lkdGgiLCJvZmZzZXRPZlNjYWxlIiwiY2FyZExpbWl0Iiwib2Zmc2V0TGVmdCIsImV4Y2VlZGluZ1NwYWNlIiwiaXNPdmVyZmxvd2VkUmlnaHQiLCJpc092ZXJmbG93ZWRMZWZ0IiwibGltaXQiLCJ2YWwiLCJNYXRoIiwibWluIiwiYWJzIiwiY29uY2F0IiwibWF4IiwiekluZGV4IiwiZmx1c2giLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsImNhbmNlbCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZXN0b3JlIiwiX3JlZiIsInByb3BlcnR5TmFtZSIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXRUcmFuc2Zvcm1hdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VDb250YWluZWRSZXBvc2l0aW9uaW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgaG9vayB0YWtlcyBhbiBodG1sIGFuZCBjaGVja3MgaWYgaXRzIG91dHNpZGUgaXRzIHBhcmVudFxuICogSWYgaXQgaXMsIGl0IHNob3VsZCBtb3ZlIGl0IHNvIGl0IGNhbiBiZSB0b3RhbGx5IHZpc2libGUgaW5zaWRlIHRoZSBjb250YWluZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQ29udGFpbmVkUmVwb3NpdGlvbmluZyhcbiAgZm9jdXNlZDogYm9vbGVhbixcbiAgZ2V0UGFyZW50OiAoZWw6IEhUTUxFbGVtZW50KSA9PiBIVE1MRWxlbWVudCxcbiAge1xuICAgIG9mZnNldCA9IDE2LFxuICAgIHNjYWxlID0gMSxcbiAgICBvZmZzZXRMaW1pdCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxcbiAgfToge1xuICAgIC8qKiBUaGUgb2Zmc2V0IHRoZSBlbGVtZW50IHdpbGwgYmUgbW92ZWQgYnkgZnJvbSB0aGUgY2xvc2VzdCBib3VuZCAqL1xuICAgIG9mZnNldD86IG51bWJlcjtcblxuICAgIC8qKiBUaGUgc2NhbGVkIGVsZW1lbnQgd2lkdGggdG8gYmUgY29uc2lkZXJlZC4gdXNlZnVsbCBmb3Igd2hlbiB0aGUgZm9jdXNlZCBlbGVtZW50IHdpbGwgY2hhbmdlIHNpemUgKi9cbiAgICBzY2FsZT86IG51bWJlcjtcblxuICAgIC8qKiBMaW1pdCBvZmZzZXQgKi9cbiAgICBvZmZzZXRMaW1pdD86IG51bWJlcjtcbiAgfSA9IHt9XG4pIHtcbiAgY29uc3QgZWxlbWVudFRvQ2hlY2sgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudFRvQ2hlY2suY3VycmVudDtcbiAgICBpZiAoIWVsKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyID0gZWw7XG4gICAgY29uc3QgcmVsYXRpdmVQYXJlbnQgPSBnZXRQYXJlbnQoY3Vycik7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5wb3NpdGlvbiAhPT0gXCJyZWxhdGl2ZVwiKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJUaGUgdGFyZ2V0IGVsZW1lbnQgTVVTVCBoYXZlIHBvc2l0aW9uIHJlbGF0aXZlIHNvIGl0IGNhbiBiZSBtb3ZlZFwiXG4gICAgICAgICk7XG4gICAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUocmVsYXRpdmVQYXJlbnQpLnBvc2l0aW9uICE9PSBcInJlbGF0aXZlXCIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlRoZSByZWxhdGl2ZSB0byBlbGVtZW50IE1VU1QgaGF2ZSBwb3NpdGlvbiByZWxhdGl2ZSBzbyBpdCBjYW4gY2FsY3VsYXRlIGNvcnJlY3RseSB0aGUgdGFyZ2V0IHBvc2l0aW9uXCJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgY3Vyci5zdHlsZS5yaWdodCA9IGAwcHhgO1xuICAgICAgY29uc3QgcmVwb3NpdGlvbiA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxyZWFkeVJpZ2h0ID0gTnVtYmVyKGN1cnIuc3R5bGUucmlnaHQucmVwbGFjZShcInB4XCIsIFwiXCIpKTtcbiAgICAgICAgY29uc3QgbGltaXRPZmZzZXQgPVxuICAgICAgICAgIHJlbGF0aXZlUGFyZW50LnNjcm9sbExlZnQgKyByZWxhdGl2ZVBhcmVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgZWxXaWR0aCA9IGN1cnIuY2xpZW50V2lkdGggKiBzY2FsZTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0T2ZTY2FsZSA9IChlbFdpZHRoIC0gY3Vyci5jbGllbnRXaWR0aCkgLyAyO1xuICAgICAgICBjb25zdCBjYXJkTGltaXQgPVxuICAgICAgICAgIGN1cnIub2Zmc2V0TGVmdCAtIG9mZnNldE9mU2NhbGUgKyBhbHJlYWR5UmlnaHQgKyBlbFdpZHRoO1xuICAgICAgICBjb25zdCBleGNlZWRpbmdTcGFjZSA9IGNhcmRMaW1pdCAtIGxpbWl0T2Zmc2V0O1xuICAgICAgICBjb25zdCBvZmZzZXRMZWZ0ID1cbiAgICAgICAgICBjdXJyLm9mZnNldExlZnQgLVxuICAgICAgICAgIG9mZnNldE9mU2NhbGUgK1xuICAgICAgICAgIGFscmVhZHlSaWdodCAtXG4gICAgICAgICAgcmVsYXRpdmVQYXJlbnQuc2Nyb2xsTGVmdDtcbiAgICAgICAgY29uc3QgaXNPdmVyZmxvd2VkUmlnaHQgPSBleGNlZWRpbmdTcGFjZSA+IDA7XG4gICAgICAgIGNvbnN0IGlzT3ZlcmZsb3dlZExlZnQgPSBvZmZzZXRMZWZ0IDwgMDtcbiAgICAgICAgY29uc3QgbGltaXQgPSBleGNlZWRpbmdTcGFjZSArIC1vZmZzZXRMZWZ0O1xuXG4gICAgICAgIGlmIChpc092ZXJmbG93ZWRSaWdodCkge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IE1hdGgubWluKFxuICAgICAgICAgICAgZXhjZWVkaW5nU3BhY2UgLSAtTWF0aC5taW4oTWF0aC5hYnMobGltaXQgLyAyKSwgb2Zmc2V0KSxcbiAgICAgICAgICAgIG9mZnNldExpbWl0XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjdXJyLnN0eWxlLnJpZ2h0ID0gYCR7dmFsfXB4YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNPdmVyZmxvd2VkTGVmdCkge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgb2Zmc2V0TGVmdCAtIE1hdGgubWluKE1hdGguYWJzKGxpbWl0KSAvIDIsIG9mZnNldCksXG4gICAgICAgICAgICAtb2Zmc2V0TGltaXRcbiAgICAgICAgICApO1xuICAgICAgICAgIGN1cnIuc3R5bGUucmlnaHQgPSBgJHt2YWx9cHhgO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc092ZXJmbG93ZWRMZWZ0IHx8IGlzT3ZlcmZsb3dlZFJpZ2h0KSB7XG4gICAgICAgICAgY3Vyci5zdHlsZS56SW5kZXggPSBcIjEwMDBcIjtcbiAgICAgICAgfVxuICAgICAgfSwgNTApO1xuICAgICAgcmVwb3NpdGlvbigpO1xuICAgICAgcmVwb3NpdGlvbi5mbHVzaCgpO1xuXG4gICAgICByZWxhdGl2ZVBhcmVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHJlcG9zaXRpb24sIHtcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICByZXBvc2l0aW9uLmNhbmNlbCgpO1xuICAgICAgICByZWxhdGl2ZVBhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHJlcG9zaXRpb24pO1xuICAgICAgICBlbC5zdHlsZS5yaWdodCA9IGAwcHhgO1xuICAgICAgICBjb25zdCByZXN0b3JlID0gKHsgcHJvcGVydHlOYW1lLCBjdXJyZW50VGFyZ2V0IH06IFRyYW5zaXRpb25FdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWF0aW9uID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoXG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50XG4gICAgICAgICAgKS5yaWdodDtcbiAgICAgICAgICBpZiAocHJvcGVydHlOYW1lID09PSBcInJpZ2h0XCIgJiYgdGFyZ2V0VHJhbnNmb3JtYXRpb24gPT09IFwiMHB4XCIpIHtcbiAgICAgICAgICAgIGN1cnIuc3R5bGUuekluZGV4ID0gXCJcIjtcbiAgICAgICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIHJlc3RvcmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgcmVzdG9yZSk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2ZvY3VzZWRdKTtcblxuICByZXR1cm4ge1xuICAgIGVsZW1lbnRUb0NoZWNrLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFBMEMsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTRyx5QkFBeUJBLENBQy9DQyxPQUFnQixFQUNoQkMsU0FBMkMsRUFlM0M7RUFBQSxJQWRBO0lBQ0VDLE1BQU0sR0FBRyxFQUFFO0lBQ1hDLEtBQUssR0FBRyxDQUFDO0lBQ1RDLFdBQVcsR0FBR0MsTUFBTSxDQUFDQztFQVV2QixDQUFDLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUVOLE1BQU1HLGNBQWMsR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUNuRCxJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDZCxNQUFNQyxFQUFFLEdBQUdILGNBQWMsQ0FBQ0ksT0FBTztJQUNqQyxJQUFJLENBQUNELEVBQUUsRUFBRTtJQUVULE1BQU1FLElBQUksR0FBR0YsRUFBRTtJQUNmLE1BQU1HLGNBQWMsR0FBR2YsU0FBUyxDQUFDYyxJQUFJLENBQUM7SUFFdEMsSUFBSUUsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLEVBQUU7TUFDMUMsSUFBSUMsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQ1IsRUFBRSxDQUFDLENBQUNTLFFBQVEsS0FBSyxVQUFVLEVBQ3JELE1BQU0sSUFBSUMsS0FBSyxDQUNiLG1FQUNGLENBQUM7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
|