@onepercentio/one-ui 1.3.5 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/WebpackConfigs/email-templates.js +99 -0
- package/dist/components/AdaptiveButton/AdaptiveButton.js +26 -24
- package/dist/components/AdaptiveButton/index.js +25 -22
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +140 -139
- package/dist/components/AdaptiveContainer/index.js +25 -22
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +76 -42
- package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +17 -3
- package/dist/components/AdaptiveDialog/index.js +25 -22
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +70 -54
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +10 -9
- package/dist/components/AdaptiveSidebar/index.js +25 -22
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +155 -154
- package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
- package/dist/components/AnchoredTooltip/index.js +25 -22
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +154 -121
- package/dist/components/AnimatedEntrance/index.js +25 -22
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +80 -40
- package/dist/components/AsyncTriggerContainer/index.js +25 -22
- package/dist/components/AsyncWrapper/AsyncWrapper.js +34 -16
- package/dist/components/AsyncWrapper/index.js +25 -22
- package/dist/components/Avatar/Avatar.js +33 -18
- package/dist/components/Avatar/index.js +25 -22
- package/dist/components/BucketFill/BucketFill.js +49 -36
- package/dist/components/BucketFill/index.js +25 -22
- package/dist/components/Button/Button.js +30 -22
- package/dist/components/Button/index.js +25 -22
- package/dist/components/Card/Card.js +17 -10
- package/dist/components/Card/index.js +25 -22
- package/dist/components/Chart/Chart.js +25 -22
- package/dist/components/Chart/Chart.logic.js +10 -9
- package/dist/components/Chart/Chart.types.js +5 -2
- package/dist/components/Chart/Chart.view.js +174 -98
- package/dist/components/Chart/index.js +25 -22
- package/dist/components/CheckBox/CheckBox.js +48 -30
- package/dist/components/CheckBox/CheckBox.module.scss +5 -0
- package/dist/components/CheckBox/index.js +25 -22
- package/dist/components/CodeInput/CodeInput.js +75 -93
- package/dist/components/CodeInput/index.js +25 -22
- package/dist/components/Collapsable/Collapsable.js +164 -134
- package/dist/components/Collapsable/index.js +25 -22
- package/dist/components/Countdown/Countdown.js +69 -86
- package/dist/components/Countdown/index.js +25 -22
- package/dist/components/CurrencyInput/CurrencyInput.hook.js +25 -25
- package/dist/components/CurrencyInput/CurrencyInput.js +48 -29
- package/dist/components/CurrencyInput/index.js +25 -22
- package/dist/components/Divider/Divider.js +16 -10
- package/dist/components/Divider/index.js +25 -22
- package/dist/components/EmailInput/EmailInput.js +37 -23
- package/dist/components/EmailInput/index.js +25 -22
- package/dist/components/FadeIn/FadeIn.js +57 -51
- package/dist/components/FadeIn/index.js +25 -22
- package/dist/components/FileInput/FileInput.js +45 -38
- package/dist/components/FileInput/View/BigFactory/BigFactory.js +48 -16
- package/dist/components/FileInput/View/BigFactory/index.js +25 -22
- package/dist/components/FileInput/View/Compact/Compact.js +114 -46
- package/dist/components/FileInput/View/Compact/index.js +25 -22
- package/dist/components/FileInput/View/View.types.js +5 -2
- package/dist/components/FileInput/index.js +25 -22
- package/dist/components/FlowController/FlowController.js +56 -25
- package/dist/components/FlowController/index.js +25 -22
- package/dist/components/Form/Form.hook.js +217 -202
- package/dist/components/Form/Form.js +103 -65
- package/dist/components/Form/Form.types.js +39 -53
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +68 -53
- package/dist/components/Form/FormField/Extensions/DateField/index.js +25 -22
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +81 -78
- package/dist/components/Form/FormField/Extensions/PhoneField/index.js +25 -22
- package/dist/components/Form/FormField/FormField.js +307 -148
- package/dist/components/Form/FormField/FormField.types.js +10 -7
- package/dist/components/Form/FormField/index.js +25 -22
- package/dist/components/Form/index.js +25 -22
- package/dist/components/Freeze/Freeze.js +13 -9
- package/dist/components/Freeze/index.js +25 -22
- package/dist/components/HSForms/HSForms.js +48 -69
- package/dist/components/HSForms/index.js +25 -22
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +19 -10
- package/dist/components/HeaderCloseBtn/index.js +25 -22
- package/dist/components/InfinityScroll/InfinityScroll.js +114 -94
- package/dist/components/InfinityScroll/index.js +25 -22
- package/dist/components/Input/Input.js +99 -57
- package/dist/components/Input/index.js +25 -22
- package/dist/components/InstantCounter/InstantCounter.js +49 -31
- package/dist/components/InstantCounter/index.js +25 -22
- package/dist/components/LavaLamp/LavaLamp.data.js +83 -86
- package/dist/components/LavaLamp/LavaLamp.js +119 -32
- package/dist/components/LavaLamp/index.js +25 -22
- package/dist/components/LavaLamp/v2/LavaLamp.js +149 -156
- package/dist/components/LinkToId/LinkToId.js +39 -27
- package/dist/components/LinkToId/index.js +25 -22
- package/dist/components/Loader/Loader.js +21 -22
- package/dist/components/Loader/index.js +25 -22
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +27 -15
- package/dist/components/LoaderDotsIndicator/index.js +25 -22
- package/dist/components/LoopableVideo/LoopableVideo.js +33 -25
- package/dist/components/LoopableVideo/index.js +25 -22
- package/dist/components/MainGrid/MainGrid.js +46 -23
- package/dist/components/MainGrid/index.js +25 -22
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +27 -23
- package/dist/components/MutableHamburgerButton/index.js +25 -22
- package/dist/components/Notification/Notification.js +18 -11
- package/dist/components/Notification/index.js +25 -22
- package/dist/components/NumberInput/NumberInput.js +43 -42
- package/dist/components/NumberInput/index.js +25 -22
- package/dist/components/OrderableList/OrderableList.js +416 -404
- package/dist/components/OrderableList/index.js +25 -22
- package/dist/components/PaginationIndicator/PaginationIndicator.js +243 -198
- package/dist/components/PaginationIndicator/index.js +25 -22
- package/dist/components/Parallax/Parallax.js +156 -130
- package/dist/components/Parallax/index.js +25 -22
- package/dist/components/Parallax/math/helpers.js +120 -216
- package/dist/components/PasswordInput/PasswordInput.js +88 -71
- package/dist/components/PasswordInput/index.js +25 -22
- package/dist/components/PingPongText/PingPongText.js +63 -67
- package/dist/components/PingPongText/index.js +25 -22
- package/dist/components/PixelatedScan/PixelatedScan.js +126 -74
- package/dist/components/PixelatedScan/index.js +25 -22
- package/dist/components/Portal/Portal.js +46 -43
- package/dist/components/Portal/index.js +25 -22
- package/dist/components/ProgressBar/ProgressBar.js +105 -47
- package/dist/components/ProgressBar/index.js +25 -22
- package/dist/components/ProgressTexts/ProgressTexts.js +43 -29
- package/dist/components/ProgressTexts/index.js +25 -22
- package/dist/components/Radio/Radio.js +51 -28
- package/dist/components/Radio/index.js +25 -22
- package/dist/components/Radio/variants/Checkmark/Checkmark.js +18 -12
- package/dist/components/Radio/variants/Checkmark/index.js +25 -22
- package/dist/components/Radio/variants/Generic/Generic.js +20 -12
- package/dist/components/Radio/variants/Generic/index.js +25 -22
- package/dist/components/ScrollendIndicator/ScrollendIndicator.js +118 -0
- package/dist/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
- package/dist/components/SectionContainer/SectionContainer.js +38 -16
- package/dist/components/SectionContainer/index.js +25 -22
- package/dist/components/Select/Select.js +128 -95
- package/dist/components/Select/index.js +25 -22
- package/dist/components/Skeleton/Skeleton.js +22 -14
- package/dist/components/Skeleton/index.js +25 -22
- package/dist/components/Slider/Slider.js +63 -59
- package/dist/components/Slider/index.js +25 -22
- package/dist/components/Spacing/Spacing.js +25 -17
- package/dist/components/Spacing/index.js +25 -22
- package/dist/components/StaticScroller/StaticScroller.js +65 -61
- package/dist/components/StaticScroller/index.js +25 -22
- package/dist/components/Switch/Switch.js +40 -26
- package/dist/components/Switch/index.js +25 -22
- package/dist/components/Table/Table.js +107 -56
- package/dist/components/Table/index.js +25 -22
- package/dist/components/Tabs/Tabs.js +59 -54
- package/dist/components/Tabs/index.js +25 -22
- package/dist/components/Text/Text.js +35 -30
- package/dist/components/Text/index.js +25 -22
- package/dist/components/Transition/MasksFactory/DiagonalReveal.js +46 -12
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +71 -49
- package/dist/components/Transition/MasksFactory/PhysicsSquares.js +89 -79
- package/dist/components/Transition/MasksFactory/SquareToBalls.js +60 -41
- package/dist/components/Transition/MasksFactory/utils.js +25 -27
- package/dist/components/Transition/Transition.js +298 -319
- package/dist/components/Transition/index.js +25 -22
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +101 -93
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +27 -19
- package/dist/components/UncontrolledTransition/index.js +25 -22
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +101 -94
- package/dist/components/WalletConnectionWrapper/index.js +25 -22
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +53 -43
- package/dist/components/utilitary/ScrollAndFocusLock/index.js +25 -22
- package/dist/context/AsyncProcess.js +68 -41
- package/dist/context/ContextAsyncControl.js +72 -51
- package/dist/context/CustomBrowserRouter.js +44 -30
- package/dist/context/OneUIProvider.js +102 -108
- package/dist/hooks/logs/useDependencyChangeDetection.js +17 -16
- package/dist/hooks/logs/useIsMounting.js +10 -7
- package/dist/hooks/persistence/useLocalStorage.js +41 -40
- package/dist/hooks/shims/ObjectWatchShim.js +47 -46
- package/dist/hooks/ui/useAdaptiveImage.js +29 -34
- package/dist/hooks/ui/useAlternating.js +18 -18
- package/dist/hooks/ui/useBreakpoint.js +19 -18
- package/dist/hooks/ui/useCustomScrollbar.js +26 -21
- package/dist/hooks/ui/useEffectIf.js +11 -9
- package/dist/hooks/ui/useMouseHover.js +22 -19
- package/dist/hooks/ui/usePaginationControls.js +129 -136
- package/dist/hooks/ui/useSnapToViewport.js +20 -19
- package/dist/hooks/ui/useTilt.js +145 -129
- package/dist/hooks/ui/useZoomable.js +123 -116
- package/dist/hooks/useAsyncControl.js +67 -52
- package/dist/hooks/useContainedRepositioning.js +75 -71
- package/dist/hooks/useCustomHistory.js +21 -12
- package/dist/hooks/useElementFit.js +43 -48
- package/dist/hooks/useFirestoreWatch.js +41 -41
- package/dist/hooks/useFreeze.js +10 -8
- package/dist/hooks/useHero.js +249 -271
- package/dist/hooks/useIntersection.js +32 -27
- package/dist/hooks/useMergeRefs.js +27 -24
- package/dist/hooks/useObserve.js +17 -14
- package/dist/hooks/usePagination.js +147 -164
- package/dist/hooks/usePooledOperation.js +41 -57
- package/dist/hooks/usePooling.js +46 -49
- package/dist/hooks/useRebound.js +23 -19
- package/dist/hooks/useShortIntl.js +72 -50
- package/dist/hooks/utility/useAsyncMemo.js +36 -42
- package/dist/hooks/utility/useDepChange.js +14 -12
- package/dist/hooks/utility/useEvents.js +26 -21
- package/dist/hooks/utility/useImmediate.js +8 -5
- package/dist/hooks/utility/useManualInit.js +19 -17
- package/dist/hooks/utility/useModule.js +12 -9
- package/dist/hooks/utility/useQuery.js +13 -7
- package/dist/hooks/utility/useUniqueEffect.js +17 -17
- package/dist/index.js +2159 -349
- package/dist/index.preprocess.js +35 -72
- package/dist/models/DebugLogger.js +8 -5
- package/dist/models/GenericContract.js +42 -13
- package/dist/models/ImageScales.js +13 -10
- package/dist/models/Orbs.js +53 -47
- package/dist/storybookUtils/index.js +40 -39
- package/dist/type-utils.js +5 -2
- package/dist/types.js +5 -2
- package/dist/utils/blockchain.js +35 -54
- package/dist/utils/e2e.js +21 -11
- package/dist/utils/flatten.js +15 -12
- package/dist/utils/formatters.js +48 -43
- package/dist/utils/html.utils.js +12 -6
- package/dist/utils/ownEvent.js +9 -7
- package/dist/utils/test.js +13 -11
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.d.ts +10 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js +68 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js.map +1 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
- package/dist-ts/index.d.ts +1 -0
- package/dist-ts/index.js +1 -0
- package/dist-ts/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,64 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
+
})
|
|
9
44
|
});
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
console.error(e);
|
|
27
|
-
setError(e);
|
|
28
|
-
throw e;
|
|
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];
|
|
29
61
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
}), []);
|
|
34
|
-
const { functionsToMemoize, other } = Object.entries(functionsToWrap || {}).reduce((r, [k, func]) => {
|
|
35
|
-
return Object.assign(Object.assign({}, r), (typeof func === "function"
|
|
36
|
-
? {
|
|
37
|
-
functionsToMemoize: Object.assign(Object.assign({}, r.functionsToMemoize), { [k]: func }),
|
|
38
|
-
}
|
|
39
|
-
: {
|
|
40
|
-
other: Object.assign(Object.assign({}, r.other), { [k]: func }),
|
|
41
|
-
}));
|
|
42
|
-
}, {
|
|
43
|
-
functionsToMemoize: {},
|
|
44
|
-
other: {},
|
|
62
|
+
return _process(() => v(...args));
|
|
63
|
+
}, [v])
|
|
45
64
|
});
|
|
46
|
-
|
|
47
|
-
error,
|
|
48
|
-
setError,
|
|
49
|
-
setLoading }, other), Object.entries(functionsToMemoize).reduce((r, [k, v]) => (Object.assign(Object.assign({}, r), { [k]: (0, react_1.useMemo)(() => (...args) => _process(() => v(...args)), [v]) })), {}));
|
|
65
|
+
}, {}));
|
|
50
66
|
}
|
|
51
|
-
exports.useRawAsynControl = useRawAsynControl;
|
|
52
67
|
function useAsyncControl(functionsToWrap) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
68
|
+
const error = (0, _react.useState)();
|
|
69
|
+
const loading = (0, _react.useState)(false);
|
|
70
|
+
return useRawAsynControl(functionsToWrap, error, loading);
|
|
56
71
|
}
|
|
57
|
-
|
|
72
|
+
|
|
58
73
|
/**
|
|
59
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.
|
|
60
75
|
* @param functionsToWrap The functions to wrap in control.
|
|
61
76
|
* @returns
|
|
62
77
|
*/
|
|
63
|
-
exports.default = useAsyncControl;
|
|
64
|
-
//# sourceMappingURL=
|
|
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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
|
|
@@ -1,79 +1,83 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 }; }
|
|
8
10
|
/**
|
|
9
11
|
* This hook takes an html and checks if its outside its parent
|
|
10
12
|
* If it is, it should move it so it can be totally visible inside the container
|
|
11
13
|
*/
|
|
12
|
-
function useContainedRepositioning(focused, getParent
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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");
|
|
25
50
|
}
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
const reposition = (0, debounce_1.default)(() => {
|
|
29
|
-
const alreadyRight = Number(curr.style.right.replace("px", ""));
|
|
30
|
-
const limitOffset = relativeParent.scrollLeft + relativeParent.clientWidth;
|
|
31
|
-
const elWidth = curr.clientWidth * scale;
|
|
32
|
-
const offsetOfScale = (elWidth - curr.clientWidth) / 2;
|
|
33
|
-
const cardLimit = curr.offsetLeft - offsetOfScale + alreadyRight + elWidth;
|
|
34
|
-
const exceedingSpace = cardLimit - limitOffset;
|
|
35
|
-
const offsetLeft = curr.offsetLeft -
|
|
36
|
-
offsetOfScale +
|
|
37
|
-
alreadyRight -
|
|
38
|
-
relativeParent.scrollLeft;
|
|
39
|
-
const isOverflowedRight = exceedingSpace > 0;
|
|
40
|
-
const isOverflowedLeft = offsetLeft < 0;
|
|
41
|
-
const limit = exceedingSpace + -offsetLeft;
|
|
42
|
-
if (isOverflowedRight) {
|
|
43
|
-
const val = Math.min(exceedingSpace - -Math.min(Math.abs(limit / 2), offset), offsetLimit);
|
|
44
|
-
curr.style.right = `${val}px`;
|
|
45
|
-
}
|
|
46
|
-
if (isOverflowedLeft) {
|
|
47
|
-
const val = Math.max(offsetLeft - Math.min(Math.abs(limit) / 2, offset), -offsetLimit);
|
|
48
|
-
curr.style.right = `${val}px`;
|
|
49
|
-
}
|
|
50
|
-
if (isOverflowedLeft || isOverflowedRight) {
|
|
51
|
-
curr.style.zIndex = "1000";
|
|
52
|
-
}
|
|
53
|
-
}, 50);
|
|
54
|
-
reposition();
|
|
55
|
-
reposition.flush();
|
|
56
|
-
relativeParent.addEventListener("scroll", reposition, {
|
|
57
|
-
passive: true
|
|
58
|
-
});
|
|
59
|
-
return () => {
|
|
60
|
-
reposition.cancel();
|
|
61
|
-
relativeParent.removeEventListener("scroll", reposition);
|
|
62
|
-
el.style.right = `0px`;
|
|
63
|
-
const restore = ({ propertyName, currentTarget }) => {
|
|
64
|
-
const targetTransformation = window.getComputedStyle(currentTarget).right;
|
|
65
|
-
if (propertyName === "right" && targetTransformation === "0px") {
|
|
66
|
-
curr.style.zIndex = "";
|
|
67
|
-
el.removeEventListener("transitionend", restore);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
el.addEventListener("transitionend", restore);
|
|
71
|
-
};
|
|
51
|
+
if (isOverflowedLeft || isOverflowedRight) {
|
|
52
|
+
curr.style.zIndex = "1000";
|
|
72
53
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
+
};
|
|
77
82
|
}
|
|
78
|
-
exports.default = useContainedRepositioning;
|
|
79
|
-
//# sourceMappingURL=useContainedRepositioning.js.map
|
|
83
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVib3VuY2UiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlQ29udGFpbmVkUmVwb3NpdGlvbmluZyIsImZvY3VzZWQiLCJnZXRQYXJlbnQiLCJvZmZzZXQiLCJzY2FsZSIsIm9mZnNldExpbWl0IiwiTnVtYmVyIiwiUE9TSVRJVkVfSU5GSU5JVFkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJlbGVtZW50VG9DaGVjayIsInVzZVJlZiIsInVzZUVmZmVjdCIsImVsIiwiY3VycmVudCIsImN1cnIiLCJyZWxhdGl2ZVBhcmVudCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIndpbmRvdyIsImdldENvbXB1dGVkU3R5bGUiLCJwb3NpdGlvbiIsIkVycm9yIiwic3R5bGUiLCJyaWdodCIsInJlcG9zaXRpb24iLCJkZWJvdW5jZSIsImFscmVhZHlSaWdodCIsInJlcGxhY2UiLCJsaW1pdE9mZnNldCIsInNjcm9sbExlZnQiLCJjbGllbnRXaWR0aCIsImVsV2lkdGgiLCJvZmZzZXRPZlNjYWxlIiwiY2FyZExpbWl0Iiwib2Zmc2V0TGVmdCIsImV4Y2VlZGluZ1NwYWNlIiwiaXNPdmVyZmxvd2VkUmlnaHQiLCJpc092ZXJmbG93ZWRMZWZ0IiwibGltaXQiLCJ2YWwiLCJNYXRoIiwibWluIiwiYWJzIiwiY29uY2F0IiwibWF4IiwiekluZGV4IiwiZmx1c2giLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsImNhbmNlbCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZXN0b3JlIiwiX3JlZiIsInByb3BlcnR5TmFtZSIsImN1cnJlbnRUYXJnZXQiLCJ0YXJnZXRUcmFuc2Zvcm1hdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VDb250YWluZWRSZXBvc2l0aW9uaW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJvdW5jZSBmcm9tIFwibG9kYXNoL2RlYm91bmNlXCI7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgaG9vayB0YWtlcyBhbiBodG1sIGFuZCBjaGVja3MgaWYgaXRzIG91dHNpZGUgaXRzIHBhcmVudFxuICogSWYgaXQgaXMsIGl0IHNob3VsZCBtb3ZlIGl0IHNvIGl0IGNhbiBiZSB0b3RhbGx5IHZpc2libGUgaW5zaWRlIHRoZSBjb250YWluZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQ29udGFpbmVkUmVwb3NpdGlvbmluZyhcbiAgZm9jdXNlZDogYm9vbGVhbixcbiAgZ2V0UGFyZW50OiAoZWw6IEhUTUxFbGVtZW50KSA9PiBIVE1MRWxlbWVudCxcbiAge1xuICAgIG9mZnNldCA9IDE2LFxuICAgIHNjYWxlID0gMSxcbiAgICBvZmZzZXRMaW1pdCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxcbiAgfToge1xuICAgIC8qKiBUaGUgb2Zmc2V0IHRoZSBlbGVtZW50IHdpbGwgYmUgbW92ZWQgYnkgZnJvbSB0aGUgY2xvc2VzdCBib3VuZCAqL1xuICAgIG9mZnNldD86IG51bWJlcjtcblxuICAgIC8qKiBUaGUgc2NhbGVkIGVsZW1lbnQgd2lkdGggdG8gYmUgY29uc2lkZXJlZC4gdXNlZnVsbCBmb3Igd2hlbiB0aGUgZm9jdXNlZCBlbGVtZW50IHdpbGwgY2hhbmdlIHNpemUgKi9cbiAgICBzY2FsZT86IG51bWJlcjtcblxuICAgIC8qKiBMaW1pdCBvZmZzZXQgKi9cbiAgICBvZmZzZXRMaW1pdD86IG51bWJlcjtcbiAgfSA9IHt9XG4pIHtcbiAgY29uc3QgZWxlbWVudFRvQ2hlY2sgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudFRvQ2hlY2suY3VycmVudDtcbiAgICBpZiAoIWVsKSByZXR1cm47XG5cbiAgICBjb25zdCBjdXJyID0gZWw7XG4gICAgY29uc3QgcmVsYXRpdmVQYXJlbnQgPSBnZXRQYXJlbnQoY3Vycik7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKS5wb3NpdGlvbiAhPT0gXCJyZWxhdGl2ZVwiKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJUaGUgdGFyZ2V0IGVsZW1lbnQgTVVTVCBoYXZlIHBvc2l0aW9uIHJlbGF0aXZlIHNvIGl0IGNhbiBiZSBtb3ZlZFwiXG4gICAgICAgICk7XG4gICAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUocmVsYXRpdmVQYXJlbnQpLnBvc2l0aW9uICE9PSBcInJlbGF0aXZlXCIpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlRoZSByZWxhdGl2ZSB0byBlbGVtZW50IE1VU1QgaGF2ZSBwb3NpdGlvbiByZWxhdGl2ZSBzbyBpdCBjYW4gY2FsY3VsYXRlIGNvcnJlY3RseSB0aGUgdGFyZ2V0IHBvc2l0aW9uXCJcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgY3Vyci5zdHlsZS5yaWdodCA9IGAwcHhgO1xuICAgICAgY29uc3QgcmVwb3NpdGlvbiA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgICAgY29uc3QgYWxyZWFkeVJpZ2h0ID0gTnVtYmVyKGN1cnIuc3R5bGUucmlnaHQucmVwbGFjZShcInB4XCIsIFwiXCIpKTtcbiAgICAgICAgY29uc3QgbGltaXRPZmZzZXQgPVxuICAgICAgICAgIHJlbGF0aXZlUGFyZW50LnNjcm9sbExlZnQgKyByZWxhdGl2ZVBhcmVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgY29uc3QgZWxXaWR0aCA9IGN1cnIuY2xpZW50V2lkdGggKiBzY2FsZTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0T2ZTY2FsZSA9IChlbFdpZHRoIC0gY3Vyci5jbGllbnRXaWR0aCkgLyAyO1xuICAgICAgICBjb25zdCBjYXJkTGltaXQgPVxuICAgICAgICAgIGN1cnIub2Zmc2V0TGVmdCAtIG9mZnNldE9mU2NhbGUgKyBhbHJlYWR5UmlnaHQgKyBlbFdpZHRoO1xuICAgICAgICBjb25zdCBleGNlZWRpbmdTcGFjZSA9IGNhcmRMaW1pdCAtIGxpbWl0T2Zmc2V0O1xuICAgICAgICBjb25zdCBvZmZzZXRMZWZ0ID1cbiAgICAgICAgICBjdXJyLm9mZnNldExlZnQgLVxuICAgICAgICAgIG9mZnNldE9mU2NhbGUgK1xuICAgICAgICAgIGFscmVhZHlSaWdodCAtXG4gICAgICAgICAgcmVsYXRpdmVQYXJlbnQuc2Nyb2xsTGVmdDtcbiAgICAgICAgY29uc3QgaXNPdmVyZmxvd2VkUmlnaHQgPSBleGNlZWRpbmdTcGFjZSA+IDA7XG4gICAgICAgIGNvbnN0IGlzT3ZlcmZsb3dlZExlZnQgPSBvZmZzZXRMZWZ0IDwgMDtcbiAgICAgICAgY29uc3QgbGltaXQgPSBleGNlZWRpbmdTcGFjZSArIC1vZmZzZXRMZWZ0O1xuXG4gICAgICAgIGlmIChpc092ZXJmbG93ZWRSaWdodCkge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IE1hdGgubWluKFxuICAgICAgICAgICAgZXhjZWVkaW5nU3BhY2UgLSAtTWF0aC5taW4oTWF0aC5hYnMobGltaXQgLyAyKSwgb2Zmc2V0KSxcbiAgICAgICAgICAgIG9mZnNldExpbWl0XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjdXJyLnN0eWxlLnJpZ2h0ID0gYCR7dmFsfXB4YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNPdmVyZmxvd2VkTGVmdCkge1xuICAgICAgICAgIGNvbnN0IHZhbCA9IE1hdGgubWF4KFxuICAgICAgICAgICAgb2Zmc2V0TGVmdCAtIE1hdGgubWluKE1hdGguYWJzKGxpbWl0KSAvIDIsIG9mZnNldCksXG4gICAgICAgICAgICAtb2Zmc2V0TGltaXRcbiAgICAgICAgICApO1xuICAgICAgICAgIGN1cnIuc3R5bGUucmlnaHQgPSBgJHt2YWx9cHhgO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc092ZXJmbG93ZWRMZWZ0IHx8IGlzT3ZlcmZsb3dlZFJpZ2h0KSB7XG4gICAgICAgICAgY3Vyci5zdHlsZS56SW5kZXggPSBcIjEwMDBcIjtcbiAgICAgICAgfVxuICAgICAgfSwgNTApO1xuICAgICAgcmVwb3NpdGlvbigpO1xuICAgICAgcmVwb3NpdGlvbi5mbHVzaCgpO1xuXG4gICAgICByZWxhdGl2ZVBhcmVudC5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHJlcG9zaXRpb24sIHtcbiAgICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICByZXBvc2l0aW9uLmNhbmNlbCgpO1xuICAgICAgICByZWxhdGl2ZVBhcmVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHJlcG9zaXRpb24pO1xuICAgICAgICBlbC5zdHlsZS5yaWdodCA9IGAwcHhgO1xuICAgICAgICBjb25zdCByZXN0b3JlID0gKHsgcHJvcGVydHlOYW1lLCBjdXJyZW50VGFyZ2V0IH06IFRyYW5zaXRpb25FdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWF0aW9uID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoXG4gICAgICAgICAgICBjdXJyZW50VGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50XG4gICAgICAgICAgKS5yaWdodDtcbiAgICAgICAgICBpZiAocHJvcGVydHlOYW1lID09PSBcInJpZ2h0XCIgJiYgdGFyZ2V0VHJhbnNmb3JtYXRpb24gPT09IFwiMHB4XCIpIHtcbiAgICAgICAgICAgIGN1cnIuc3R5bGUuekluZGV4ID0gXCJcIjtcbiAgICAgICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIHJlc3RvcmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgcmVzdG9yZSk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2ZvY3VzZWRdKTtcblxuICByZXR1cm4ge1xuICAgIGVsZW1lbnRUb0NoZWNrLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFBMEMsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTRyx5QkFBeUJBLENBQy9DQyxPQUFnQixFQUNoQkMsU0FBMkMsRUFlM0M7RUFBQSxJQWRBO0lBQ0VDLE1BQU0sR0FBRyxFQUFFO0lBQ1hDLEtBQUssR0FBRyxDQUFDO0lBQ1RDLFdBQVcsR0FBR0MsTUFBTSxDQUFDQztFQVV2QixDQUFDLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUVOLE1BQU1HLGNBQWMsR0FBRyxJQUFBQyxhQUFNLEVBQWlCLElBQUksQ0FBQztFQUNuRCxJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDZCxNQUFNQyxFQUFFLEdBQUdILGNBQWMsQ0FBQ0ksT0FBTztJQUNqQyxJQUFJLENBQUNELEVBQUUsRUFBRTtJQUVULE1BQU1FLElBQUksR0FBR0YsRUFBRTtJQUNmLE1BQU1HLGNBQWMsR0FBR2YsU0FBUyxDQUFDYyxJQUFJLENBQUM7SUFFdEMsSUFBSUUsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLEVBQUU7TUFDMUMsSUFBSUMsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQ1IsRUFBRSxDQUFDLENBQUNTLFFBQVEsS0FBSyxVQUFVLEVBQ3JELE1BQU0sSUFBSUMsS0FBSyxDQUNiLG1FQUNGLENBQUM7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
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useCustomHistory;
|
|
7
|
+
var _reactRouterDom = require("react-router-dom");
|
|
8
|
+
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; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
12
|
+
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); }
|
|
4
13
|
function useCustomHistory() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
const customHistory = (0, _reactRouterDom.useHistory)();
|
|
15
|
+
const {
|
|
16
|
+
state
|
|
17
|
+
} = (0, _reactRouterDom.useLocation)();
|
|
18
|
+
return _objectSpread(_objectSpread({}, customHistory), {}, {
|
|
19
|
+
goBackWithFallback(fallbackRoute) {
|
|
20
|
+
if (state !== null && state !== void 0 && state.internalNavigation) customHistory.goBack();else customHistory.push(fallbackRoute);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
13
23
|
}
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=useCustomHistory.js.map
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSb3V0ZXJEb20iLCJyZXF1aXJlIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJ1c2VDdXN0b21IaXN0b3J5IiwiY3VzdG9tSGlzdG9yeSIsInVzZUhpc3RvcnkiLCJzdGF0ZSIsInVzZUxvY2F0aW9uIiwiZ29CYWNrV2l0aEZhbGxiYWNrIiwiZmFsbGJhY2tSb3V0ZSIsImludGVybmFsTmF2aWdhdGlvbiIsImdvQmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VDdXN0b21IaXN0b3J5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIlxyXG5pbXBvcnQgeyBDdXN0b21TdGF0ZSB9IGZyb20gXCIuLi9jb250ZXh0L0N1c3RvbUJyb3dzZXJSb3V0ZXJcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUN1c3RvbUhpc3RvcnkoKSB7XHJcbiAgICBjb25zdCBjdXN0b21IaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xyXG4gICAgY29uc3QgeyBzdGF0ZSB9ID0gdXNlTG9jYXRpb248Q3VzdG9tU3RhdGUgfCB1bmRlZmluZWQ+KCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLmN1c3RvbUhpc3RvcnksXHJcbiAgICAgICAgZ29CYWNrV2l0aEZhbGxiYWNrKGZhbGxiYWNrUm91dGU6IHN0cmluZykge1xyXG4gICAgICAgICAgICBpZiAoc3RhdGU/LmludGVybmFsTmF2aWdhdGlvbikgY3VzdG9tSGlzdG9yeS5nb0JhY2soKTtcclxuICAgICAgICAgICAgZWxzZSBjdXN0b21IaXN0b3J5LnB1c2goZmFsbGJhY2tSb3V0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLE9BQUE7QUFBMEQsU0FBQUMsUUFBQUMsTUFBQSxFQUFBQyxjQUFBLFFBQUFDLElBQUEsR0FBQUMsTUFBQSxDQUFBRCxJQUFBLENBQUFGLE1BQUEsT0FBQUcsTUFBQSxDQUFBQyxxQkFBQSxRQUFBQyxPQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQUosTUFBQSxHQUFBQyxjQUFBLEtBQUFJLE9BQUEsR0FBQUEsT0FBQSxDQUFBQyxNQUFBLFdBQUFDLEdBQUEsV0FBQUosTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixNQUFBLEVBQUFPLEdBQUEsRUFBQUUsVUFBQSxPQUFBUCxJQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxJQUFBLEVBQUFHLE9BQUEsWUFBQUgsSUFBQTtBQUFBLFNBQUFVLGNBQUFDLE1BQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxFQUFBRixDQUFBLFVBQUFHLE1BQUEsV0FBQUYsU0FBQSxDQUFBRCxDQUFBLElBQUFDLFNBQUEsQ0FBQUQsQ0FBQSxRQUFBQSxDQUFBLE9BQUFmLE9BQUEsQ0FBQUksTUFBQSxDQUFBYyxNQUFBLE9BQUFDLE9BQUEsV0FBQUMsR0FBQSxJQUFBQyxlQUFBLENBQUFQLE1BQUEsRUFBQU0sR0FBQSxFQUFBRixNQUFBLENBQUFFLEdBQUEsU0FBQWhCLE1BQUEsQ0FBQWtCLHlCQUFBLEdBQUFsQixNQUFBLENBQUFtQixnQkFBQSxDQUFBVCxNQUFBLEVBQUFWLE1BQUEsQ0FBQWtCLHlCQUFBLENBQUFKLE1BQUEsS0FBQWxCLE9BQUEsQ0FBQUksTUFBQSxDQUFBYyxNQUFBLEdBQUFDLE9BQUEsV0FBQUMsR0FBQSxJQUFBaEIsTUFBQSxDQUFBb0IsY0FBQSxDQUFBVixNQUFBLEVBQUFNLEdBQUEsRUFBQWhCLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVMsTUFBQSxFQUFBRSxHQUFBLGlCQUFBTixNQUFBO0FBQUEsU0FBQU8sZ0JBQUFJLEdBQUEsRUFBQUwsR0FBQSxFQUFBTSxLQUFBLElBQUFOLEdBQUEsR0FBQU8sY0FBQSxDQUFBUCxHQUFBLE9BQUFBLEdBQUEsSUFBQUssR0FBQSxJQUFBckIsTUFBQSxDQUFBb0IsY0FBQSxDQUFBQyxHQUFBLEVBQUFMLEdBQUEsSUFBQU0sS0FBQSxFQUFBQSxLQUFBLEVBQUFoQixVQUFBLFFBQUFrQixZQUFBLFFBQUFDLFFBQUEsb0JBQUFKLEdBQUEsQ0FBQUwsR0FBQSxJQUFBTSxLQUFBLFdBQUFELEdBQUE7QUFBQSxTQUFBRSxlQUFBRyxHQUFBLFFBQUFWLEdBQUEsR0FBQVcsWUFBQSxDQUFBRCxHQUFBLDJCQUFBVixHQUFBLGdCQUFBQSxHQUFBLEdBQUFZLE1BQUEsQ0FBQVosR0FBQTtBQUFBLFNBQUFXLGFBQUFFLEtBQUEsRUFBQUMsSUFBQSxlQUFBRCxLQUFBLGlCQUFBQSxLQUFBLGtCQUFBQSxLQUFBLE1BQUFFLElBQUEsR0FBQUYsS0FBQSxDQUFBRyxNQUFBLENBQUFDLFdBQUEsT0FBQUYsSUFBQSxLQUFBRyxTQUFBLFFBQUFDLEdBQUEsR0FBQUosSUFBQSxDQUFBSyxJQUFBLENBQUFQLEtBQUEsRUFBQUMsSUFBQSwyQkFBQUssR0FBQSxzQkFBQUEsR0FBQSxZQUFBRSxTQUFBLDREQUFBUCxJQUFBLGdCQUFBRixNQUFBLEdBQUFVLE1BQUEsRUFBQVQsS0FBQTtBQUczQyxTQUFTVSxnQkFBZ0JBLENBQUEsRUFBRztFQUN2QyxNQUFNQyxhQUFhLEdBQUcsSUFBQUMsMEJBQVUsRUFBQyxDQUFDO0VBQ2xDLE1BQU07SUFBRUM7RUFBTSxDQUFDLEdBQUcsSUFBQUMsMkJBQVcsRUFBMEIsQ0FBQztFQUN4RCxPQUFBbEMsYUFBQSxDQUFBQSxhQUFBLEtBQ08rQixhQUFhO0lBQ2hCSSxrQkFBa0JBLENBQUNDLGFBQXFCLEVBQUU7TUFDdEMsSUFBSUgsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRUksa0JBQWtCLEVBQUVOLGFBQWEsQ0FBQ08sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUNqRFAsYUFBYSxDQUFDakMsSUFBSSxDQUFDc0MsYUFBYSxDQUFDO0lBQzFDO0VBQUM7QUFFVCJ9
|
|
@@ -1,59 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useElementFit;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
/**
|
|
5
9
|
* This hook receives a base width of an element and returns how much items fit **vertically** inside the referenced html element
|
|
6
10
|
*
|
|
7
11
|
* @param baseWidth The base width of each element
|
|
8
12
|
*/
|
|
9
13
|
function useElementFit(baseWidth, baseHeight) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return Math.floor(ref.current.clientHeight / baseHeight);
|
|
17
|
-
}
|
|
18
|
-
if (window.PRERENDER)
|
|
19
|
-
return {
|
|
20
|
-
howManyItemsWillBeVisible: 4,
|
|
21
|
-
byRow: 4,
|
|
22
|
-
};
|
|
23
|
-
const width = ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.clientWidth) || window.visualViewport.width;
|
|
24
|
-
const maxItemsHorizontally = Math.floor(width / baseWidth) || 1;
|
|
25
|
-
return {
|
|
26
|
-
howManyItemsWillBeVisible: maxItemsHorizontally * howManyItemsStackVertically(),
|
|
27
|
-
byRow: maxItemsHorizontally,
|
|
28
|
-
};
|
|
14
|
+
const ref = (0, _react.useRef)(undefined);
|
|
15
|
+
function calculateDimension() {
|
|
16
|
+
var _ref$current;
|
|
17
|
+
function howManyItemsStackVertically() {
|
|
18
|
+
if (!ref.current || baseHeight === undefined) return 1;
|
|
19
|
+
return Math.floor(ref.current.clientHeight / baseHeight);
|
|
29
20
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(0, react_1.useEffect)(() => {
|
|
37
|
-
setItemsToShow(calculateDimension());
|
|
38
|
-
function onResize() {
|
|
39
|
-
setItemsToShow(calculateDimension());
|
|
40
|
-
}
|
|
41
|
-
window.addEventListener("resize", onResize);
|
|
42
|
-
return () => {
|
|
43
|
-
window.removeEventListener("resize", onResize);
|
|
44
|
-
};
|
|
45
|
-
}, []);
|
|
21
|
+
if (window.PRERENDER) return {
|
|
22
|
+
howManyItemsWillBeVisible: 4,
|
|
23
|
+
byRow: 4
|
|
24
|
+
};
|
|
25
|
+
const width = ((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.clientWidth) || window.visualViewport.width;
|
|
26
|
+
const maxItemsHorizontally = Math.floor(width / baseWidth) || 1;
|
|
46
27
|
return {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
? itemsToShow.howManyItemsWillBeVisible + itemsToShow.byRow
|
|
50
|
-
: undefined,
|
|
51
|
-
anItemMore: itemsToShow
|
|
52
|
-
? itemsToShow.howManyItemsWillBeVisible + 1
|
|
53
|
-
: undefined,
|
|
54
|
-
howManyItemsByRow: itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.byRow,
|
|
55
|
-
ref,
|
|
28
|
+
howManyItemsWillBeVisible: maxItemsHorizontally * howManyItemsStackVertically(),
|
|
29
|
+
byRow: maxItemsHorizontally
|
|
56
30
|
};
|
|
31
|
+
}
|
|
32
|
+
const [itemsToShow, setItemsToShow] = (0, _react.useState)(window.PRERENDER ? {
|
|
33
|
+
byRow: 4,
|
|
34
|
+
howManyItemsWillBeVisible: 4
|
|
35
|
+
} : undefined);
|
|
36
|
+
(0, _react.useEffect)(() => {
|
|
37
|
+
setItemsToShow(calculateDimension());
|
|
38
|
+
function onResize() {
|
|
39
|
+
setItemsToShow(calculateDimension());
|
|
40
|
+
}
|
|
41
|
+
window.addEventListener("resize", onResize);
|
|
42
|
+
return () => {
|
|
43
|
+
window.removeEventListener("resize", onResize);
|
|
44
|
+
};
|
|
45
|
+
}, []);
|
|
46
|
+
return {
|
|
47
|
+
howManyItemsFit: itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.howManyItemsWillBeVisible,
|
|
48
|
+
howManyItemsFitWithExtraRow: itemsToShow ? itemsToShow.howManyItemsWillBeVisible + itemsToShow.byRow : undefined,
|
|
49
|
+
anItemMore: itemsToShow ? itemsToShow.howManyItemsWillBeVisible + 1 : undefined,
|
|
50
|
+
howManyItemsByRow: itemsToShow === null || itemsToShow === void 0 ? void 0 : itemsToShow.byRow,
|
|
51
|
+
ref
|
|
52
|
+
};
|
|
57
53
|
}
|
|
58
|
-
|
|
59
|
-
//# sourceMappingURL=useElementFit.js.map
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRWxlbWVudEZpdCIsImJhc2VXaWR0aCIsImJhc2VIZWlnaHQiLCJyZWYiLCJ1c2VSZWYiLCJ1bmRlZmluZWQiLCJjYWxjdWxhdGVEaW1lbnNpb24iLCJfcmVmJGN1cnJlbnQiLCJob3dNYW55SXRlbXNTdGFja1ZlcnRpY2FsbHkiLCJjdXJyZW50IiwiTWF0aCIsImZsb29yIiwiY2xpZW50SGVpZ2h0Iiwid2luZG93IiwiUFJFUkVOREVSIiwiaG93TWFueUl0ZW1zV2lsbEJlVmlzaWJsZSIsImJ5Um93Iiwid2lkdGgiLCJjbGllbnRXaWR0aCIsInZpc3VhbFZpZXdwb3J0IiwibWF4SXRlbXNIb3Jpem9udGFsbHkiLCJpdGVtc1RvU2hvdyIsInNldEl0ZW1zVG9TaG93IiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJvblJlc2l6ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaG93TWFueUl0ZW1zRml0IiwiaG93TWFueUl0ZW1zRml0V2l0aEV4dHJhUm93IiwiYW5JdGVtTW9yZSIsImhvd01hbnlJdGVtc0J5Um93Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUVsZW1lbnRGaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZUxheW91dEVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG4vKipcbiAqIFRoaXMgaG9vayByZWNlaXZlcyBhIGJhc2Ugd2lkdGggb2YgYW4gZWxlbWVudCBhbmQgcmV0dXJucyBob3cgbXVjaCBpdGVtcyBmaXQgKip2ZXJ0aWNhbGx5KiogaW5zaWRlIHRoZSByZWZlcmVuY2VkIGh0bWwgZWxlbWVudFxuICpcbiAqIEBwYXJhbSBiYXNlV2lkdGggVGhlIGJhc2Ugd2lkdGggb2YgZWFjaCBlbGVtZW50XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUVsZW1lbnRGaXQoXG4gIGJhc2VXaWR0aDogbnVtYmVyLFxuICBiYXNlSGVpZ2h0PzogbnVtYmVyXG4pOiB7XG4gIC8qKiBUaGUgYW1vdW50IG9mIGl0ZW1zIHRoYXQgYXJlIGFibGUgdG8gZml0IGluIHRoZSBhdmFpbGFibGUgd2lkdGggKi9cbiAgaG93TWFueUl0ZW1zRml0PzogbnVtYmVyO1xuICAvKiogVGhlIGFtb3VudCBvZiBpdGVtcyB0aGF0IGFyZSBhYmxlIHRvIGZpdCBpbiB0aGUgYXZhaWxhYmxlIHZpc2libGUgc3BhY2UgKyBhIHJvdyBtb3JlIHNvIGl0IGNhbiBiZSBzY3JvbGxhYmxlICovXG4gIGhvd01hbnlJdGVtc0ZpdFdpdGhFeHRyYVJvdz86IG51bWJlcjtcbiAgLyoqIEhvdyBtYW55IGl0ZW1zIHdvdWxkIGZpdCBhIHNpbmdsZSByb3cgKi9cbiAgaG93TWFueUl0ZW1zQnlSb3c/OiBudW1iZXI7XG4gIC8qKiBIb3cgbWFueSBpdGVtcyB1bnRpbCBpdCBvdmVyZmxvd3Mgd2lkdGggKi9cbiAgYW5JdGVtTW9yZT86IG51bWJlcjtcblxuICAvKiogVGhlIHJlZiB0byBiZSBzZW50IHRvIHRoZSBlbGVtZW50IHRoYXQgd2lsbCByZWNlaXZlIHRoZSBpdGVtcyAqL1xuICByZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZD47XG59IHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50Pih1bmRlZmluZWQpO1xuICBmdW5jdGlvbiBjYWxjdWxhdGVEaW1lbnNpb24oKSB7XG4gICAgZnVuY3Rpb24gaG93TWFueUl0ZW1zU3RhY2tWZXJ0aWNhbGx5KCkge1xuICAgICAgaWYgKCFyZWYuY3VycmVudCB8fCBiYXNlSGVpZ2h0ID09PSB1bmRlZmluZWQpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIE1hdGguZmxvb3IocmVmLmN1cnJlbnQhLmNsaWVudEhlaWdodCAvIGJhc2VIZWlnaHQpO1xuICAgIH1cbiAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLlBSRVJFTkRFUilcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhvd01hbnlJdGVtc1dpbGxCZVZpc2libGU6IDQsXG4gICAgICAgIGJ5Um93OiA0LFxuICAgICAgfTtcblxuICAgIGNvbnN0IHdpZHRoID0gcmVmLmN1cnJlbnQ/LmNsaWVudFdpZHRoIHx8IHdpbmRvdy52aXN1YWxWaWV3cG9ydCEud2lkdGg7XG4gICAgY29uc3QgbWF4SXRlbXNIb3Jpem9udGFsbHkgPSBNYXRoLmZsb29yKHdpZHRoIC8gYmFzZVdpZHRoKSB8fCAxO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGhvd01hbnlJdGVtc1dpbGxCZVZpc2libGU6XG4gICAgICAgIG1heEl0ZW1zSG9yaXpvbnRhbGx5ICogaG93TWFueUl0ZW1zU3RhY2tWZXJ0aWNhbGx5KCksXG4gICAgICBieVJvdzogbWF4SXRlbXNIb3Jpem9udGFsbHksXG4gICAgfTtcbiAgfVxuICBjb25zdCBbaXRlbXNUb1Nob3csIHNldEl0ZW1zVG9TaG93XSA9IHVzZVN0YXRlPFxuICAgIFJldHVyblR5cGU8dHlwZW9mIGNhbGN1bGF0ZURpbWVuc2lvbj4gfCB1bmRlZmluZWRcbiAgPihcbiAgICAod2luZG93IGFzIGFueSkuUFJFUkVOREVSXG4gICAgICA/IHtcbiAgICAgICAgICBieVJvdzogNCxcbiAgICAgICAgICBob3dNYW55SXRlbXNXaWxsQmVWaXNpYmxlOiA0LFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZFxuICApO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEl0ZW1zVG9TaG93KGNhbGN1bGF0ZURpbWVuc2lvbigpKTtcbiAgICBmdW5jdGlvbiBvblJlc2l6ZSgpIHtcbiAgICAgIHNldEl0ZW1zVG9TaG93KGNhbGN1bGF0ZURpbWVuc2lvbigpKTtcbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgb25SZXNpemUpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBvblJlc2l6ZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB7XG4gICAgaG93TWFueUl0ZW1zRml0OiBpdGVtc1RvU2hvdz8uaG93TWFueUl0ZW1zV2lsbEJlVmlzaWJsZSxcbiAgICBob3dNYW55SXRlbXNGaXRXaXRoRXh0cmFSb3c6IGl0ZW1zVG9TaG93XG4gICAgICA/IGl0ZW1zVG9TaG93Lmhvd01hbnlJdGVtc1dpbGxCZVZpc2libGUgKyBpdGVtc1RvU2hvdy5ieVJvd1xuICAgICAgOiB1bmRlZmluZWQsXG4gICAgYW5JdGVtTW9yZTogaXRlbXNUb1Nob3dcbiAgICAgID8gaXRlbXNUb1Nob3cuaG93TWFueUl0ZW1zV2lsbEJlVmlzaWJsZSArIDFcbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGhvd01hbnlJdGVtc0J5Um93OiBpdGVtc1RvU2hvdz8uYnlSb3csXG4gICAgcmVmLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0MsYUFBYUEsQ0FDbkNDLFNBQWlCLEVBQ2pCQyxVQUFtQixFQWFuQjtFQUNBLE1BQU1DLEdBQUcsR0FBRyxJQUFBQyxhQUFNLEVBQWlCQyxTQUFTLENBQUM7RUFDN0MsU0FBU0Msa0JBQWtCQSxDQUFBLEVBQUc7SUFBQSxJQUFBQyxZQUFBO0lBQzVCLFNBQVNDLDJCQUEyQkEsQ0FBQSxFQUFHO01BQ3JDLElBQUksQ0FBQ0wsR0FBRyxDQUFDTSxPQUFPLElBQUlQLFVBQVUsS0FBS0csU0FBUyxFQUFFLE9BQU8sQ0FBQztNQUN0RCxPQUFPSyxJQUFJLENBQUNDLEtBQUssQ0FBQ1IsR0FBRyxDQUFDTSxPQUFPLENBQUVHLFlBQVksR0FBR1YsVUFBVSxDQUFDO0lBQzNEO0lBQ0EsSUFBS1csTUFBTSxDQUFTQyxTQUFTLEVBQzNCLE9BQU87TUFDTEMseUJBQXlCLEVBQUUsQ0FBQztNQUM1QkMsS0FBSyxFQUFFO0lBQ1QsQ0FBQztJQUVILE1BQU1DLEtBQUssR0FBRyxFQUFBVixZQUFBLEdBQUFKLEdBQUcsQ0FBQ00sT0FBTyxjQUFBRixZQUFBLHVCQUFYQSxZQUFBLENBQWFXLFdBQVcsS0FBSUwsTUFBTSxDQUFDTSxjQUFjLENBQUVGLEtBQUs7SUFDdEUsTUFBTUcsb0JBQW9CLEdBQUdWLElBQUksQ0FBQ0MsS0FBSyxDQUFDTSxLQUFLLEdBQUdoQixTQUFTLENBQUMsSUFBSSxDQUFDO0lBRS9ELE9BQU87TUFDTGMseUJBQXlCLEVBQ3ZCSyxvQkFBb0IsR0FBR1osMkJBQTJCLENBQUMsQ0FBQztNQUN0RFEsS0FBSyxFQUFFSTtJQUNULENBQUM7RUFDSDtFQUNBLE1BQU0sQ0FBQ0MsV0FBVyxFQUFFQyxjQUFjLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBRzNDVixNQUFNLENBQVNDLFNBQVMsR0FDckI7SUFDRUUsS0FBSyxFQUFFLENBQUM7SUFDUkQseUJBQXlCLEVBQUU7RUFDN0IsQ0FBQyxHQUNEVixTQUNOLENBQUM7RUFDRCxJQUFBbUIsZ0JBQVMsRUFBQyxNQUFNO0lBQ2RGLGNBQWMsQ0FBQ2hCLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUNwQyxTQUFTbUIsUUFBUUEsQ0FBQSxFQUFHO01BQ2xCSCxjQUFjLENBQUNoQixrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDdEM7SUFDQU8sTUFBTSxDQUFDYSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUVELFFBQVEsQ0FBQztJQUMzQyxPQUFPLE1BQU07TUFDWFosTUFBTSxDQUFDYyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUVGLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU87SUFDTEcsZUFBZSxFQUFFUCxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRU4seUJBQXlCO0lBQ3ZEYywyQkFBMkIsRUFBRVIsV0FBVyxHQUNwQ0EsV0FBVyxDQUFDTix5QkFBeUIsR0FBR00sV0FBVyxDQUFDTCxLQUFLLEdBQ3pEWCxTQUFTO0lBQ2J5QixVQUFVLEVBQUVULFdBQVcsR0FDbkJBLFdBQVcsQ0FBQ04seUJBQXlCLEdBQUcsQ0FBQyxHQUN6Q1YsU0FBUztJQUNiMEIsaUJBQWlCLEVBQUVWLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFTCxLQUFLO0lBQ3JDYjtFQUNGLENBQUM7QUFDSCJ9
|
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useFirestoreWatch;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
function useFirestoreWatch(queryFactory, params) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (item.id === docChange.doc.id)
|
|
26
|
-
for (let key in docChange.doc) {
|
|
27
|
-
item[key] = docChange.doc[key];
|
|
28
|
-
}
|
|
29
|
-
return item;
|
|
30
|
-
});
|
|
31
|
-
break;
|
|
32
|
-
case 'removed':
|
|
33
|
-
prevList = prevList.filter((item) => item.id !== docChange.doc.id);
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
9
|
+
const [docsList, updateList] = (0, _react.useState)();
|
|
10
|
+
(0, _react.useEffect)(() => {
|
|
11
|
+
const unsub = queryFactory(...params)(changes => {
|
|
12
|
+
updateList(function () {
|
|
13
|
+
let prevList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
14
|
+
for (let docChange of changes) {
|
|
15
|
+
if (docChange.type === undefined) {
|
|
16
|
+
const existing = prevList.find(f => f.id === docChange.doc.id);
|
|
17
|
+
if (existing) docChange.type = "modified";else docChange.type = "added";
|
|
18
|
+
}
|
|
19
|
+
switch (docChange.type) {
|
|
20
|
+
case 'added':
|
|
21
|
+
if (!prevList.find(f => f.id === docChange.doc.id)) {
|
|
22
|
+
prevList.unshift(docChange.doc);
|
|
23
|
+
}
|
|
24
|
+
break;
|
|
25
|
+
case 'modified':
|
|
26
|
+
prevList = prevList.map(item => {
|
|
27
|
+
if (item.id === docChange.doc.id) for (let key in docChange.doc) {
|
|
28
|
+
item[key] = docChange.doc[key];
|
|
36
29
|
}
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
return item;
|
|
31
|
+
});
|
|
32
|
+
break;
|
|
33
|
+
case 'removed':
|
|
34
|
+
prevList = prevList.filter(item => item.id !== docChange.doc.id);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return [...prevList];
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
return unsub;
|
|
42
|
+
}, params);
|
|
43
|
+
return docsList;
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
-
//# sourceMappingURL=useFirestoreWatch.js.map
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRmlyZXN0b3JlV2F0Y2giLCJxdWVyeUZhY3RvcnkiLCJwYXJhbXMiLCJkb2NzTGlzdCIsInVwZGF0ZUxpc3QiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVuc3ViIiwiY2hhbmdlcyIsInByZXZMaXN0IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZG9jQ2hhbmdlIiwidHlwZSIsImV4aXN0aW5nIiwiZmluZCIsImYiLCJpZCIsImRvYyIsInVuc2hpZnQiLCJtYXAiLCJpdGVtIiwia2V5IiwiZmlsdGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZpcmVzdG9yZVdhdGNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG9jdW1lbnRDaGFuZ2VUeXBlLCBVbnN1YnNjcmliZSB9IGZyb20gXCJmaXJlYmFzZS9maXJlc3RvcmVcIjtcclxuXHJcbnR5cGUgU25hcHNob3RGYWN0b3J5Q2I8RCBleHRlbmRzIGFueT4gPSAoY2hhbmdlczoge1xyXG4gICAgZG9jOiBELFxyXG4gICAgdHlwZTogRG9jdW1lbnRDaGFuZ2VUeXBlXHJcbn1bXSkgPT4gdm9pZFxyXG5cclxuZXhwb3J0IHR5cGUgU25hcHNob3RGYWN0b3J5UmV0dXJuPEQgZXh0ZW5kcyB7IGlkOiBzdHJpbmcgfT4gPSAoY2I6IFNuYXBzaG90RmFjdG9yeUNiPEQ+KSA9PiBVbnN1YnNjcmliZVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRmlyZXN0b3JlV2F0Y2g8RCBleHRlbmRzIHsgaWQ6IHN0cmluZyB9LCBQIGV4dGVuZHMgYW55W10+KHF1ZXJ5RmFjdG9yeTogKC4uLnBhcmFtczogUCkgPT4gU25hcHNob3RGYWN0b3J5UmV0dXJuPEQ+LCBwYXJhbXM6IFApIHtcclxuICAgIGNvbnN0IFtkb2NzTGlzdCwgdXBkYXRlTGlzdF0gPSB1c2VTdGF0ZTxEW10+KCk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCB1bnN1YiA9IHF1ZXJ5RmFjdG9yeSguLi5wYXJhbXMpKChjaGFuZ2VzKSA9PiB7XHJcbiAgICAgICAgICAgIHVwZGF0ZUxpc3QoKHByZXZMaXN0ID0gW10pID0+IHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGRvY0NoYW5nZSBvZiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvY0NoYW5nZS50eXBlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nID0gcHJldkxpc3QuZmluZCgoZikgPT4gZi5pZCA9PT0gZG9jQ2hhbmdlLmRvYy5pZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhpc3RpbmcpIGRvY0NoYW5nZS50eXBlID0gXCJtb2RpZmllZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBlbHNlIGRvY0NoYW5nZS50eXBlID0gXCJhZGRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZG9jQ2hhbmdlLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYWRkZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2TGlzdC5maW5kKChmKSA9PiBmLmlkID09PSBkb2NDaGFuZ2UuZG9jLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0LnVuc2hpZnQoZG9jQ2hhbmdlLmRvYylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ21vZGlmaWVkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0ID0gcHJldkxpc3QhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBkb2NDaGFuZ2UuZG9jLmlkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gZG9jQ2hhbmdlLmRvYykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVtrZXldID0gZG9jQ2hhbmdlLmRvY1trZXldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdyZW1vdmVkJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaXN0ID0gcHJldkxpc3QhLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5pZCAhPT0gZG9jQ2hhbmdlLmRvYy5pZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5wcmV2TGlzdF1cclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZXR1cm4gdW5zdWI7XHJcbiAgICB9LCBwYXJhbXMpO1xyXG5cclxuICAgIHJldHVybiBkb2NzTGlzdDtcclxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBVWUsU0FBU0MsaUJBQWlCQSxDQUE0Q0MsWUFBd0QsRUFBRUMsTUFBUyxFQUFFO0VBQ3RKLE1BQU0sQ0FBQ0MsUUFBUSxFQUFFQyxVQUFVLENBQUMsR0FBRyxJQUFBQyxlQUFRLEVBQU0sQ0FBQztFQUU5QyxJQUFBQyxnQkFBUyxFQUFDLE1BQU07SUFDWixNQUFNQyxLQUFLLEdBQUdOLFlBQVksQ0FBQyxHQUFHQyxNQUFNLENBQUMsQ0FBRU0sT0FBTyxJQUFLO01BQy9DSixVQUFVLENBQUMsWUFBbUI7UUFBQSxJQUFsQkssUUFBUSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO1FBQ3JCLEtBQUssSUFBSUcsU0FBUyxJQUFJTCxPQUFPLEVBQUU7VUFDM0IsSUFBSUssU0FBUyxDQUFDQyxJQUFJLEtBQUtGLFNBQVMsRUFBRTtZQUNoQyxNQUFNRyxRQUFRLEdBQUdOLFFBQVEsQ0FBQ08sSUFBSSxDQUFFQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDO1lBQ2hFLElBQUlILFFBQVEsRUFBRUYsU0FBUyxDQUFDQyxJQUFJLEdBQUcsVUFBVSxNQUNwQ0QsU0FBUyxDQUFDQyxJQUFJLEdBQUcsT0FBTztVQUMvQjtVQUNBLFFBQVFELFNBQVMsQ0FBQ0MsSUFBSTtZQUNsQixLQUFLLE9BQU87Y0FDUixJQUFJLENBQUNMLFFBQVEsQ0FBQ08sSUFBSSxDQUFFQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxDQUFDLEVBQUU7Z0JBQ2xEVCxRQUFRLENBQUNXLE9BQU8sQ0FBQ1AsU0FBUyxDQUFDTSxHQUFHLENBQUM7Y0FDbkM7Y0FDQTtZQUNKLEtBQUssVUFBVTtjQUNYVixRQUFRLEdBQUdBLFFBQVEsQ0FBRVksR0FBRyxDQUFFQyxJQUFJLElBQUs7Z0JBQy9CLElBQUlBLElBQUksQ0FBQ0osRUFBRSxLQUFLTCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0QsRUFBRSxFQUM1QixLQUFLLElBQUlLLEdBQUcsSUFBSVYsU0FBUyxDQUFDTSxHQUFHLEVBQUU7a0JBQzNCRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxHQUFHVixTQUFTLENBQUNNLEdBQUcsQ0FBQ0ksR0FBRyxDQUFDO2dCQUNsQztnQkFDSixPQUFPRCxJQUFJO2NBQ2YsQ0FBQyxDQUFDO2NBQ0Y7WUFDSixLQUFLLFNBQVM7Y0FDVmIsUUFBUSxHQUFHQSxRQUFRLENBQUVlLE1BQU0sQ0FDdEJGLElBQUksSUFBS0EsSUFBSSxDQUFDSixFQUFFLEtBQUtMLFNBQVMsQ0FBQ00sR0FBRyxDQUFDRCxFQUN4QyxDQUFDO2NBQ0Q7VUFDUjtRQUNKO1FBRUEsT0FBTyxDQUFDLEdBQUdULFFBQVEsQ0FBQztNQUN4QixDQUFDLENBQUM7SUFFTixDQUFDLENBQUM7SUFDRixPQUFPRixLQUFLO0VBQ2hCLENBQUMsRUFBRUwsTUFBTSxDQUFDO0VBRVYsT0FBT0MsUUFBUTtBQUNuQiJ9
|
package/dist/hooks/useFreeze.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useFreeze;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
/**
|
|
5
9
|
* This hook pipes a data and when it is set to a falsy value ("", undefined, null, 0),
|
|
6
10
|
* it returns the previous valid value
|
|
7
11
|
*/
|
|
8
12
|
function useFreeze(something) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return currChildOrPrev.current;
|
|
13
|
+
const currChildOrPrev = (0, _react.useRef)(undefined);
|
|
14
|
+
currChildOrPrev.current = something === undefined ? currChildOrPrev.current : something;
|
|
15
|
+
return currChildOrPrev.current;
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=useFreeze.js.map
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRnJlZXplIiwic29tZXRoaW5nIiwiY3VyckNoaWxkT3JQcmV2IiwidXNlUmVmIiwidW5kZWZpbmVkIiwiY3VycmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VGcmVlemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbi8qKlxuICogVGhpcyBob29rIHBpcGVzIGEgZGF0YSBhbmQgd2hlbiBpdCBpcyBzZXQgdG8gYSBmYWxzeSB2YWx1ZSAoXCJcIiwgdW5kZWZpbmVkLCBudWxsLCAwKSxcbiAqIGl0IHJldHVybnMgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZyZWV6ZTxUPihzb21ldGhpbmc6IFQpIHtcbiAgY29uc3QgY3VyckNoaWxkT3JQcmV2ID0gdXNlUmVmPFQ+KHVuZGVmaW5lZCk7XG4gIGN1cnJDaGlsZE9yUHJldi5jdXJyZW50ID1cbiAgICBzb21ldGhpbmcgPT09IHVuZGVmaW5lZCA/IGN1cnJDaGlsZE9yUHJldi5jdXJyZW50IDogc29tZXRoaW5nO1xuICByZXR1cm4gY3VyckNoaWxkT3JQcmV2LmN1cnJlbnQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0MsU0FBU0EsQ0FBSUMsU0FBWSxFQUFFO0VBQ2pELE1BQU1DLGVBQWUsR0FBRyxJQUFBQyxhQUFNLEVBQUlDLFNBQVMsQ0FBQztFQUM1Q0YsZUFBZSxDQUFDRyxPQUFPLEdBQ3JCSixTQUFTLEtBQUtHLFNBQVMsR0FBR0YsZUFBZSxDQUFDRyxPQUFPLEdBQUdKLFNBQVM7RUFDL0QsT0FBT0MsZUFBZSxDQUFDRyxPQUFPO0FBQ2hDIn0=
|