@onepercentio/one-ui 0.20.2 → 0.20.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/.babelrc +0 -5
- package/.prod.babelrc +2 -8
- package/dist/components/AdaptiveButton/AdaptiveButton.js +2 -2
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +26 -26
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +9 -9
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +14 -14
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +30 -30
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +40 -27
- package/dist/components/AsyncWrapper/AsyncWrapper.js +2 -2
- package/dist/components/Avatar/Avatar.js +4 -4
- package/dist/components/BucketFill/BucketFill.js +9 -9
- package/dist/components/Button/Button.js +4 -4
- package/dist/components/Card/Card.js +1 -1
- package/dist/components/Chart/Chart.view.js +35 -34
- package/dist/components/CheckBox/CheckBox.js +3 -3
- package/dist/components/Collapsable/Collapsable.js +18 -18
- package/dist/components/Countdown/Countdown.js +16 -16
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/EmailInput/EmailInput.js +4 -4
- package/dist/components/FadeIn/FadeIn.js +9 -9
- package/dist/components/FileInput/FileInput.js +6 -6
- package/dist/components/FileInput/View/BigFactory/BigFactory.js +1 -1
- package/dist/components/FileInput/View/Compact/Compact.js +6 -6
- package/dist/components/FlowController/FlowController.js +4 -4
- package/dist/components/Form/Form.js +29 -18
- package/dist/components/Freeze/Freeze.js +1 -1
- package/dist/components/HSForms/HSForms.js +7 -7
- package/dist/components/Header/Header.js +8 -8
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +1 -1
- package/dist/components/InfinityScroll/InfinityScroll.js +25 -25
- package/dist/components/Input/Input.js +13 -13
- package/dist/components/InstantCounter/InstantCounter.js +9 -9
- package/dist/components/LavaLamp/LavaLamp.data.js +25 -25
- package/dist/components/LavaLamp/LavaLamp.js +12 -5
- package/dist/components/LavaLamp/v2/LavaLamp.js +45 -29
- package/dist/components/LinkToId/LinkToId.js +7 -7
- package/dist/components/Loader/Loader.js +2 -2
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +6 -6
- package/dist/components/LoopableVideo/LoopableVideo.js +4 -4
- package/dist/components/MainGrid/MainGrid.js +2 -2
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +2 -2
- package/dist/components/Notification/Notification.js +1 -1
- package/dist/components/OrderableList/OrderableList.js +141 -112
- package/dist/components/PaginationIndicator/PaginationIndicator.js +50 -50
- package/dist/components/Parallax/Parallax.js +39 -39
- package/dist/components/Parallax/math/helpers.js +19 -18
- package/dist/components/PasswordInput/PasswordInput.js +10 -10
- package/dist/components/PingPongText/PingPongText.js +15 -15
- package/dist/components/PixelatedScan/PixelatedScan.js +20 -19
- package/dist/components/Portal/Portal.js +10 -10
- package/dist/components/ProgressBar/ProgressBar.js +6 -6
- package/dist/components/ProgressTexts/ProgressTexts.js +3 -3
- package/dist/components/Radio/Radio.js +3 -3
- package/dist/components/SectionContainer/SectionContainer.js +1 -1
- package/dist/components/Select/Select.js +13 -13
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Spacing/Spacing.js +1 -1
- package/dist/components/StaticScroller/StaticScroller.js +12 -12
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Table/Table.js +11 -11
- package/dist/components/Tabs/Tabs.js +3 -3
- package/dist/components/Text/Text.js +5 -5
- package/dist/components/Transition/MasksFactory/DiagonalReveal.js +5 -5
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +17 -17
- package/dist/components/Transition/MasksFactory/PhysicsSquares.js +13 -13
- package/dist/components/Transition/MasksFactory/SquareToBalls.js +9 -9
- package/dist/components/Transition/MasksFactory/utils.js +8 -8
- package/dist/components/Transition/Transition.js +49 -49
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +7 -7
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +82 -44
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +6 -6
- package/dist/context/AsyncProcess.js +42 -19
- package/dist/context/CustomBrowserRouter.js +6 -6
- package/dist/context/OneUIProvider.js +15 -15
- package/dist/hooks/logs/useDependencyChangeDetection.js +5 -2
- package/dist/hooks/persistence/useLocalStorage.js +7 -6
- package/dist/hooks/shims/ObjectWatchShim.js +15 -1
- package/dist/hooks/ui/useAdaptiveImage.js +6 -6
- package/dist/hooks/ui/useBreakpoint.js +5 -5
- package/dist/hooks/ui/useCustomScrollbar.js +2 -2
- package/dist/hooks/ui/useMouseHover.js +4 -4
- package/dist/hooks/ui/usePaginationControls.d.ts +2 -1
- package/dist/hooks/ui/usePaginationControls.js +42 -40
- package/dist/hooks/ui/useSnapToViewport.js +3 -3
- package/dist/hooks/ui/useTilt.js +38 -38
- package/dist/hooks/ui/useZoomable.js +46 -38
- package/dist/hooks/ui/useZoomable.module.scss +2 -2
- package/dist/hooks/useAsyncControl.js +39 -22
- package/dist/hooks/useContainedRepositioning.js +22 -22
- package/dist/hooks/useCustomHistory.js +2 -2
- package/dist/hooks/useElementFit.js +6 -6
- package/dist/hooks/useFirestoreWatch.js +39 -26
- package/dist/hooks/useForm.js +8 -8
- package/dist/hooks/useFreeze.js +1 -1
- package/dist/hooks/useHero.d.ts +2 -2
- package/dist/hooks/useHero.js +96 -74
- package/dist/hooks/useIntersection.js +4 -4
- package/dist/hooks/useMergeRefs.js +7 -3
- package/dist/hooks/useObserve.js +8 -4
- package/dist/hooks/usePagination.js +59 -39
- package/dist/hooks/usePooledOperation.js +22 -8
- package/dist/hooks/usePooling.js +33 -17
- package/dist/hooks/useRebound.js +5 -5
- package/dist/hooks/useShortIntl.js +13 -13
- package/dist/hooks/utility/useEvents.js +5 -5
- package/dist/hooks/utility/useModule.js +3 -3
- package/dist/hooks/utility/useQuery.js +1 -1
- package/dist/models/DebugLogger.js +2 -2
- package/dist/models/GenericContract.js +1 -1
- package/dist/storybookUtils/index.js +1 -1
- package/dist/utility.d.js +6 -6
- package/dist/utils/blockchain.js +105 -32
- package/dist/utils/flatten.js +3 -3
- package/dist/utils/html.utils.js +1 -1
- package/package.json +2 -1
- package/dist/hooks/ui/usePaginationControls.e2e.d.ts +0 -4
|
@@ -10,25 +10,25 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
10
10
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
11
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
12
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
14
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
13
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
14
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
15
15
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
16
|
/**
|
|
17
17
|
* A hook to trigger changes when the screen resizes
|
|
18
18
|
* @returns If the current resolution is lower than the specified width
|
|
19
19
|
*/
|
|
20
20
|
function useBreakpoint(breakInto) {
|
|
21
|
-
|
|
21
|
+
var _useState = (0, _react.useState)(function () {
|
|
22
22
|
return window.visualViewport.width < breakInto;
|
|
23
23
|
}),
|
|
24
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
25
25
|
lowerThanBreakpoint = _useState2[0],
|
|
26
26
|
setIsLowerThanBreakpoint = _useState2[1];
|
|
27
27
|
(0, _react.useEffect)(function () {
|
|
28
|
-
|
|
28
|
+
var onResizeThrottle = (0, _throttle.default)(function () {
|
|
29
29
|
setIsLowerThanBreakpoint(window.visualViewport.width < breakInto);
|
|
30
30
|
}, 1000 / 4);
|
|
31
|
-
|
|
31
|
+
var onResize = function onResize() {
|
|
32
32
|
return onResizeThrottle();
|
|
33
33
|
};
|
|
34
34
|
window.addEventListener("resize", onResize);
|
|
@@ -8,12 +8,12 @@ var _react = require("react");
|
|
|
8
8
|
var _useCustomScrollbarModule = _interopRequireDefault(require("./useCustomScrollbar.module.scss"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
10
|
function useCustomScrollBar() {
|
|
11
|
-
|
|
11
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
12
12
|
_ref$color = _ref.color,
|
|
13
13
|
color = _ref$color === void 0 ? "" : _ref$color,
|
|
14
14
|
_ref$propagate = _ref.propagate,
|
|
15
15
|
propagate = _ref$propagate === void 0 ? false : _ref$propagate;
|
|
16
|
-
|
|
16
|
+
var elRef = (0, _react.useRef)(null);
|
|
17
17
|
(0, _react.useLayoutEffect)(function () {
|
|
18
18
|
elRef.current.style.setProperty("--scrollbar-color", color);
|
|
19
19
|
elRef.current.classList.add(_useCustomScrollbarModule.default.scrollBarRoot);
|
|
@@ -8,19 +8,19 @@ var _react = require("react");
|
|
|
8
8
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
9
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
10
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
13
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
14
|
/**
|
|
15
15
|
* A small hook for binding the hover control over some HTML element
|
|
16
16
|
* @returns uiEvents: The events to spread to the html element hovering: the hover state
|
|
17
17
|
*/
|
|
18
18
|
function useMouseHover() {
|
|
19
|
-
|
|
19
|
+
var _useState = (0, _react.useState)(false),
|
|
20
20
|
_useState2 = _slicedToArray(_useState, 2),
|
|
21
21
|
hovering = _useState2[0],
|
|
22
22
|
setHovering = _useState2[1];
|
|
23
|
-
|
|
23
|
+
var uiEvents = (0, _react.useMemo)(function () {
|
|
24
24
|
return {
|
|
25
25
|
onMouseEnter: function onMouseEnter() {
|
|
26
26
|
setHovering(true);
|
|
@@ -2,11 +2,12 @@ import { RefObject } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* This hook handles the display of pagination controls for the user to move to another page
|
|
4
4
|
*/
|
|
5
|
-
export default function usePaginationControls(containerRef: RefObject<HTMLDivElement>, { snapToPage, baseWidth, snapToCutElement: _snapToCutElement, }?: {
|
|
5
|
+
export default function usePaginationControls(containerRef: RefObject<HTMLDivElement>, { snapToPage, baseWidth, snapToCutElement: _snapToCutElement, ...props }?: {
|
|
6
6
|
snapToPage?: boolean;
|
|
7
7
|
baseWidth?: number;
|
|
8
8
|
/** This will scroll only until the partially visible element is at the border, instead of scrolling all the container */
|
|
9
9
|
snapToCutElement?: boolean;
|
|
10
|
+
"data-testid"?: [left: string, right: string];
|
|
10
11
|
}): {
|
|
11
12
|
controls: JSX.Element[];
|
|
12
13
|
checkControlsRequirement: () => void;
|
|
@@ -11,54 +11,56 @@ var _FadeIn = _interopRequireDefault(require("../../components/FadeIn"));
|
|
|
11
11
|
var _OneUIProvider = require("../../context/OneUIProvider");
|
|
12
12
|
var _usePaginationControlsModule = _interopRequireDefault(require("./usePaginationControls.module.scss"));
|
|
13
13
|
var _html = require("../../utils/html.utils");
|
|
14
|
-
|
|
15
|
-
_excluded2 = ["touches"]
|
|
14
|
+
var _excluded = ["snapToPage", "baseWidth", "snapToCutElement"],
|
|
15
|
+
_excluded2 = ["touches"],
|
|
16
|
+
_excluded3 = ["touches"];
|
|
16
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
20
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
21
20
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
21
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
23
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
24
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
25
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
23
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
26
25
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
26
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
27
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
27
28
|
/**
|
|
28
29
|
* This hook handles the display of pagination controls for the user to move to another page
|
|
29
30
|
*/
|
|
30
31
|
function usePaginationControls(containerRef) {
|
|
31
|
-
|
|
32
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
32
33
|
snapToPage = _ref.snapToPage,
|
|
33
34
|
baseWidth = _ref.baseWidth,
|
|
34
|
-
_snapToCutElement = _ref.snapToCutElement
|
|
35
|
-
|
|
35
|
+
_snapToCutElement = _ref.snapToCutElement,
|
|
36
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
37
|
+
var _useState = (0, _react.useState)([false, false]),
|
|
36
38
|
_useState2 = _slicedToArray(_useState, 2),
|
|
37
39
|
_useState2$ = _slicedToArray(_useState2[0], 2),
|
|
38
40
|
leftControl = _useState2$[0],
|
|
39
41
|
rightControl = _useState2$[1],
|
|
40
42
|
setControls = _useState2[1];
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
var LeftControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.LeftControl");
|
|
44
|
+
var RightControl = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.RightControl");
|
|
45
|
+
var className = (0, _OneUIProvider.useOneUIConfig)("hook.ui.usePaginationControls.className", "");
|
|
44
46
|
function move(direction) {
|
|
45
|
-
|
|
47
|
+
var snapToCutElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _snapToCutElement;
|
|
46
48
|
return function () {
|
|
47
49
|
if (snapToCutElement !== null && snapToCutElement !== void 0 ? snapToCutElement : false) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
var childBaseWidth = baseWidth || containerRef.current.firstElementChild.clientWidth;
|
|
51
|
+
var howMuchDoesTheScrollAddsUpTo = containerRef.current.scrollLeft / childBaseWidth - Math.floor((containerRef.current.scrollLeft + (direction === "l" ? -1 : 0)) / childBaseWidth);
|
|
52
|
+
var howMuchElementsFitOnAPage = containerRef.current.clientWidth / childBaseWidth;
|
|
53
|
+
var howMuchElementsFullyFitOnAPage = Math.floor(howMuchElementsFitOnAPage) || 1;
|
|
54
|
+
var directionScale = direction === "l" ? 1 - howMuchDoesTheScrollAddsUpTo : howMuchDoesTheScrollAddsUpTo;
|
|
55
|
+
var howMuchOfTheRemainingElementIsShown = howMuchElementsFitOnAPage + directionScale - howMuchElementsFullyFitOnAPage;
|
|
56
|
+
var howMuchToScroll = (containerRef.current.clientWidth - childBaseWidth * howMuchOfTheRemainingElementIsShown) * (direction === "l" ? -1 : 1);
|
|
55
57
|
containerRef.current.scrollBy({
|
|
56
58
|
left: howMuchToScroll,
|
|
57
59
|
behavior: "smooth"
|
|
58
60
|
});
|
|
59
61
|
} else {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
var rest = containerRef.current.scrollLeft % containerRef.current.clientWidth;
|
|
63
|
+
var snapOffset = snapToPage ? direction === "l" ? rest ? containerRef.current.clientWidth - rest : 0 : rest : 0;
|
|
62
64
|
containerRef.current.scrollBy({
|
|
63
65
|
left: (containerRef.current.clientWidth - snapOffset) * (direction === "l" ? -1 : 1),
|
|
64
66
|
behavior: "smooth"
|
|
@@ -67,38 +69,38 @@ function usePaginationControls(containerRef) {
|
|
|
67
69
|
};
|
|
68
70
|
}
|
|
69
71
|
function checkControlsRequirement() {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
var el = containerRef.current;
|
|
73
|
+
var shouldHaveAnyControl = el.scrollWidth > el.clientWidth;
|
|
72
74
|
if (!shouldHaveAnyControl) setControls([false, false]);else {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
var shouldHaveRightControl = el.scrollLeft < el.scrollWidth - el.clientWidth;
|
|
76
|
+
var shouldHaveLeftControl = el.scrollLeft > 0;
|
|
75
77
|
setControls([shouldHaveLeftControl, shouldHaveRightControl]);
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
(0, _react.useEffect)(function () {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
var el = containerRef.current;
|
|
82
|
+
var throttledCheck = (0, _throttle.default)(checkControlsRequirement, 1000 / 4);
|
|
81
83
|
checkControlsRequirement();
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
e = _objectWithoutProperties(_ref2,
|
|
84
|
+
var startingX;
|
|
85
|
+
var lastX;
|
|
86
|
+
var onTouchStart = function onTouchStart(_ref2) {
|
|
87
|
+
var touches = _ref2.touches,
|
|
88
|
+
e = _objectWithoutProperties(_ref2, _excluded2);
|
|
87
89
|
if (!(0, _html.isSameTarget)(e)) return;
|
|
88
|
-
|
|
90
|
+
var _ref3 = touches.item(0),
|
|
89
91
|
pageX = _ref3.pageX;
|
|
90
92
|
startingX = pageX;
|
|
91
93
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
e = _objectWithoutProperties(_ref4,
|
|
94
|
+
var onTouchMove = function onTouchMove(_ref4) {
|
|
95
|
+
var touches = _ref4.touches,
|
|
96
|
+
e = _objectWithoutProperties(_ref4, _excluded3);
|
|
95
97
|
if (!(0, _html.isSameTarget)(e)) return;
|
|
96
|
-
|
|
98
|
+
var touch = touches.item(0);
|
|
97
99
|
lastX = touch.pageX;
|
|
98
100
|
};
|
|
99
|
-
|
|
101
|
+
var onTouchEnd = function onTouchEnd(e) {
|
|
100
102
|
if (!lastX) return;
|
|
101
|
-
|
|
103
|
+
var dir = lastX > startingX ? "l" : "r";
|
|
102
104
|
move(dir, true)();
|
|
103
105
|
startingX = undefined;
|
|
104
106
|
};
|
|
@@ -11,10 +11,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
11
11
|
* This takes a container and applies padding and margin so the content overflow container and goes until it hits the viewport border
|
|
12
12
|
*/
|
|
13
13
|
function useSnapToViewport(defaultPadding) {
|
|
14
|
-
|
|
14
|
+
var elRef = (0, _react.useRef)(null);
|
|
15
15
|
(0, _react.useLayoutEffect)(function () {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
var diff = window.visualViewport.width - elRef.current.clientWidth;
|
|
17
|
+
var margin = diff / 2;
|
|
18
18
|
elRef.current.style.setProperty("--overflow-padding", "".concat(margin, "px"));
|
|
19
19
|
elRef.current.style.setProperty("--overflow-margin", "".concat(-margin, "px"));
|
|
20
20
|
elRef.current.style.setProperty("--default-padding", "".concat(defaultPadding, "px"));
|
package/dist/hooks/ui/useTilt.js
CHANGED
|
@@ -14,29 +14,29 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
14
14
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
15
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
16
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
19
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
-
|
|
20
|
+
var MAX_TILT = {
|
|
21
21
|
x: 100,
|
|
22
22
|
y: 100
|
|
23
23
|
};
|
|
24
24
|
function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
var sensorScale = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
|
26
|
+
var tiltLimit = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : MAX_TILT;
|
|
27
|
+
var options = arguments.length > 6 ? arguments[6] : undefined;
|
|
28
28
|
(0, _react.useEffect)(function () {
|
|
29
29
|
if (active) {
|
|
30
30
|
var _options$gyroEnabled;
|
|
31
|
-
|
|
31
|
+
var removeListeners = function removeListeners() {
|
|
32
32
|
window.removeEventListener("mousemove", handler);
|
|
33
33
|
window.removeEventListener("touchmove", touchHandler);
|
|
34
34
|
};
|
|
35
|
-
|
|
35
|
+
var updatePositions = function updatePositions(relativeToX, relativeToY) {
|
|
36
36
|
var _options$round, _options$round2;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
var el = relativeToEl.current;
|
|
38
|
+
var rect = el.getBoundingClientRect();
|
|
39
|
+
var _width$height = {
|
|
40
40
|
width: [rect.left, el.clientWidth],
|
|
41
41
|
height: [rect.top, el.clientHeight]
|
|
42
42
|
},
|
|
@@ -46,48 +46,48 @@ function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix) {
|
|
|
46
46
|
_width$height$height = _slicedToArray(_width$height.height, 2),
|
|
47
47
|
y0 = _width$height$height[0],
|
|
48
48
|
yH = _width$height$height[1];
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
var distanceOffRight = calculateDistanceRelativeToBounds(relativeToX, x0, xW, (_options$round = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round !== void 0 ? _options$round : true);
|
|
50
|
+
var distanceOffBottom = calculateDistanceRelativeToBounds(relativeToY, y0, yH, (_options$round2 = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round2 !== void 0 ? _options$round2 : true);
|
|
51
|
+
var howMuchToRotateY = givenTheRelativePositionHowMuchToRotate(distanceOffRight, tiltLimit.y);
|
|
52
|
+
var howMuchToRotateX = givenTheRelativePositionHowMuchToRotate(distanceOffBottom, tiltLimit.x);
|
|
53
53
|
onTilt({
|
|
54
54
|
y: howMuchToRotateX * 2,
|
|
55
55
|
x: howMuchToRotateY * 2
|
|
56
56
|
});
|
|
57
57
|
};
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
var handler = (0, _throttle.default)(function (_ref) {
|
|
59
|
+
var x = _ref.x,
|
|
60
60
|
y = _ref.y;
|
|
61
61
|
updatePositions(x, y);
|
|
62
62
|
}, 1000 / 30);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
var touchHandler = (0, _throttle.default)(function (_ref2) {
|
|
64
|
+
var touches = _ref2.touches;
|
|
65
|
+
var _touches$ = touches[0],
|
|
66
66
|
pageX = _touches$.pageX,
|
|
67
67
|
pageY = _touches$.pageY;
|
|
68
68
|
updatePositions(pageX, pageY);
|
|
69
69
|
}, 1000 / 30);
|
|
70
70
|
window.addEventListener("mousemove", handler);
|
|
71
71
|
window.addEventListener("touchmove", touchHandler);
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
var _inverseMatrix;
|
|
73
|
+
var _limits = {
|
|
74
74
|
beta: undefined,
|
|
75
75
|
gamma: undefined
|
|
76
76
|
};
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
var orientationListener = function orientationListener(_ref3) {
|
|
78
|
+
var beta = _ref3.beta,
|
|
79
79
|
gamma = _ref3.gamma;
|
|
80
80
|
beta = beta * 0.5;
|
|
81
81
|
gamma = gamma * 0.5;
|
|
82
82
|
if (!_inverseMatrix) {
|
|
83
83
|
window.removeEventListener("mousemove", handler);
|
|
84
84
|
window.removeEventListener("touchmove", touchHandler);
|
|
85
|
-
|
|
85
|
+
var offset = 12.5;
|
|
86
86
|
_limits.beta = [beta - offset, beta + offset];
|
|
87
87
|
_limits.gamma = [gamma - offset, gamma + offset];
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
var _beta = Math.min(_limits.beta[1], Math.max(_limits.beta[0], beta));
|
|
90
|
+
var _gamma = Math.min(_limits.gamma[1], Math.max(_limits.gamma[0], gamma));
|
|
91
91
|
if (!_inverseMatrix && onInverseMatrix) {
|
|
92
92
|
onInverseMatrix(function () {
|
|
93
93
|
return _inverseMatrix = (0, _helpers.flattenMatrix)((0, _helpers.invertMatrix)((0, _helpers.generateMatrixFromOperations)({
|
|
@@ -126,23 +126,23 @@ function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix) {
|
|
|
126
126
|
* When on desktop: The mouse position relative to a ref
|
|
127
127
|
*/
|
|
128
128
|
function useTilt(active) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
var sensorScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
130
|
+
var maxTilt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MAX_TILT;
|
|
131
|
+
var options = arguments.length > 3 ? arguments[3] : undefined;
|
|
132
|
+
var _useState = (0, _react.useState)({
|
|
133
133
|
x: 0,
|
|
134
134
|
y: 0
|
|
135
135
|
}),
|
|
136
136
|
_useState2 = _slicedToArray(_useState, 2),
|
|
137
137
|
tilt = _useState2[0],
|
|
138
138
|
setTilt = _useState2[1];
|
|
139
|
-
|
|
139
|
+
var _useState3 = (0, _react.useState)(function () {
|
|
140
140
|
return (0, _helpers.flattenMatrix)((0, _helpers.IDENTITY_MATRIX)());
|
|
141
141
|
}),
|
|
142
142
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
143
143
|
tiltResetMatrix = _useState4[0],
|
|
144
144
|
setTiltResetMatrix = _useState4[1];
|
|
145
|
-
|
|
145
|
+
var relativeTo = (0, _react.useRef)(null);
|
|
146
146
|
useTiltUpdates(active, relativeTo, setTilt, setTiltResetMatrix, sensorScale, maxTilt, options);
|
|
147
147
|
return {
|
|
148
148
|
/** The element to monitor mouse hover relative to */
|
|
@@ -159,11 +159,11 @@ function useTilt(active) {
|
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
161
|
function calculateDistanceRelativeToBounds(mousePosition, elementInitialPosition, elementSizeDimension, shouldRound) {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
var normalizeInitialPosition = mousePosition - elementInitialPosition;
|
|
163
|
+
var doNotAllowGoingBeyondLowerLimit = Math.max(normalizeInitialPosition, 0);
|
|
164
|
+
var doNotAllowHoingBeyondHigherLimit = Math.min(doNotAllowGoingBeyondLowerLimit, elementSizeDimension);
|
|
165
|
+
var threeRule = doNotAllowHoingBeyondHigherLimit * 100 / elementSizeDimension;
|
|
166
|
+
var result = (shouldRound ? Math.round(threeRule) : threeRule) / 100;
|
|
167
167
|
return result;
|
|
168
168
|
}
|
|
169
169
|
function givenTheRelativePositionHowMuchToRotate(relativePosition, maxRotation) {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = useZoomable;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _useZoomableModule = _interopRequireDefault(require("./useZoomable.module.scss"));
|
|
10
|
+
var _client = require("react-dom/client");
|
|
10
11
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
11
12
|
var _useHero3 = _interopRequireDefault(require("../useHero"));
|
|
12
13
|
var _useMergeRefs = require("../useMergeRefs");
|
|
@@ -14,31 +15,24 @@ var _ownEvent = _interopRequireDefault(require("../../utils/ownEvent"));
|
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
const ON_HERO_START = {
|
|
18
|
-
onHeroStart: function onHeroStart(clone) {
|
|
19
|
-
return clone.classList.add(_useZoomableModule.default.overBackdrop);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
|
|
23
18
|
/**
|
|
24
19
|
* Allows an element to be zoomable for fullscreen
|
|
25
20
|
*/
|
|
26
21
|
function useZoomable(id) {
|
|
27
|
-
|
|
22
|
+
var zoomableID = (0, _react.useMemo)(function () {
|
|
28
23
|
return "zoomable-".concat(id);
|
|
29
24
|
}, []);
|
|
30
|
-
|
|
25
|
+
var getBackdrop = function getBackdrop() {
|
|
31
26
|
return document.querySelector("[data-zoomable=\"".concat(zoomableID, "\"]"));
|
|
32
27
|
};
|
|
33
|
-
|
|
28
|
+
var _useHero = (0, _useHero3.default)(zoomableID, {
|
|
34
29
|
"data-preffix": "zoomable",
|
|
35
30
|
repeatable: true
|
|
36
31
|
}, {
|
|
37
32
|
onHeroStart: function onHeroStart(clone) {
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
let currentTarget = _ref.currentTarget,
|
|
33
|
+
var bd = getBackdrop();
|
|
34
|
+
var removeCb = function removeCb(_ref) {
|
|
35
|
+
var currentTarget = _ref.currentTarget,
|
|
42
36
|
target = _ref.target;
|
|
43
37
|
if (target === currentTarget) {
|
|
44
38
|
_reactDom.default.unmountComponentAtNode(bd);
|
|
@@ -46,11 +40,7 @@ function useZoomable(id) {
|
|
|
46
40
|
}
|
|
47
41
|
};
|
|
48
42
|
bd.style.opacity = "0";
|
|
49
|
-
|
|
50
|
-
args[_key - 1] = arguments[_key];
|
|
51
|
-
}
|
|
52
|
-
(_ref2 = ON_HERO_START).onHeroStart.apply(_ref2, [clone].concat(args));
|
|
53
|
-
const middlewayClick = function middlewayClick() {
|
|
43
|
+
var middlewayClick = function middlewayClick() {
|
|
54
44
|
bd.removeEventListener("transitionend", removeCb);
|
|
55
45
|
clone.removeEventListener("click", middlewayClick);
|
|
56
46
|
_zoom();
|
|
@@ -66,52 +56,70 @@ function useZoomable(id) {
|
|
|
66
56
|
}),
|
|
67
57
|
heroRef = _useHero.heroRef,
|
|
68
58
|
trigger = _useHero.trigger;
|
|
69
|
-
|
|
59
|
+
var zoomableEl = (0, _react.useRef)(null);
|
|
70
60
|
function _unzoom() {
|
|
71
61
|
trigger();
|
|
72
62
|
}
|
|
73
63
|
function _zoom() {
|
|
74
|
-
|
|
75
|
-
|
|
64
|
+
var el = zoomableEl.current;
|
|
65
|
+
var elClone = el.cloneNode(true);
|
|
76
66
|
elClone.style.visibility = "hidden";
|
|
77
67
|
function HeroMount() {
|
|
68
|
+
var _useHero2 = (0, _useHero3.default)(zoomableID, {
|
|
69
|
+
"data-preffix": "zoomable",
|
|
70
|
+
repeatable: true
|
|
71
|
+
}, {
|
|
72
|
+
onHeroStart: function onHeroStart(clone) {
|
|
73
|
+
getBackdrop().style.opacity = "1";
|
|
74
|
+
var unzoomCb = function unzoomCb() {
|
|
75
|
+
_unzoom();
|
|
76
|
+
clone.removeEventListener("click", unzoomCb);
|
|
77
|
+
};
|
|
78
|
+
clone.addEventListener("click", unzoomCb);
|
|
79
|
+
},
|
|
80
|
+
onHeroEnd: function onHeroEnd() {
|
|
81
|
+
heroRef.current.classList.remove(_useZoomableModule.default.zoomableIndicator);
|
|
82
|
+
}
|
|
83
|
+
}),
|
|
84
|
+
heroRef = _useHero2.heroRef;
|
|
78
85
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
-
ref: function ref(
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
elClone.style.
|
|
86
|
+
ref: function ref(_ref2) {
|
|
87
|
+
if (_ref2) {
|
|
88
|
+
_ref2.appendChild(elClone);
|
|
89
|
+
heroRef.current = elClone;
|
|
90
|
+
var verticalProportion = el.clientWidth / el.clientHeight;
|
|
91
|
+
var targetWidth = _ref2.clientHeight * verticalProportion;
|
|
92
|
+
if (targetWidth > _ref2.clientWidth) {
|
|
93
|
+
var horizontalProportion = el.clientHeight / el.clientWidth;
|
|
94
|
+
elClone.style.width = _ref2.clientWidth + "px";
|
|
95
|
+
elClone.style.height = _ref2.clientWidth * horizontalProportion + "px";
|
|
88
96
|
} else {
|
|
89
|
-
elClone.style.height =
|
|
97
|
+
elClone.style.height = _ref2.clientHeight + "px";
|
|
90
98
|
elClone.style.width = targetWidth + "px";
|
|
91
99
|
}
|
|
92
100
|
}
|
|
93
101
|
}
|
|
94
102
|
});
|
|
95
103
|
}
|
|
96
|
-
|
|
104
|
+
var existingBackdrop = getBackdrop();
|
|
97
105
|
if (!existingBackdrop) {
|
|
98
|
-
|
|
106
|
+
var backdrop = document.createElement("div");
|
|
99
107
|
backdrop.classList.add(_useZoomableModule.default.backdrop);
|
|
100
108
|
backdrop.addEventListener("click", _unzoom);
|
|
101
109
|
backdrop.setAttribute("data-zoomable", zoomableID);
|
|
102
110
|
document.body.appendChild(backdrop);
|
|
103
|
-
|
|
111
|
+
(0, _client.createRoot)(backdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
|
|
104
112
|
} else {
|
|
105
|
-
|
|
113
|
+
(0, _client.createRoot)(existingBackdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
|
|
106
114
|
}
|
|
107
115
|
}
|
|
108
116
|
(0, _react.useEffect)(function () {
|
|
109
|
-
|
|
117
|
+
var el = zoomableEl.current;
|
|
110
118
|
el.classList.add(_useZoomableModule.default.zoomableIndicator);
|
|
111
119
|
el.addEventListener("click", _zoom);
|
|
112
120
|
return function () {
|
|
113
121
|
el.classList.remove(_useZoomableModule.default.zoomableIndicator);
|
|
114
|
-
|
|
122
|
+
var bd = getBackdrop();
|
|
115
123
|
if (bd) {
|
|
116
124
|
bd.style.opacity = "0";
|
|
117
125
|
bd.addEventListener("transitionend", function () {
|
|
@@ -120,7 +128,7 @@ function useZoomable(id) {
|
|
|
120
128
|
}
|
|
121
129
|
};
|
|
122
130
|
}, []);
|
|
123
|
-
|
|
131
|
+
var mergedRefs = (0, _useMergeRefs.useMergeRefsFunc)(heroRef, zoomableEl);
|
|
124
132
|
return {
|
|
125
133
|
zoomableEl: mergedRefs
|
|
126
134
|
};
|