@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.
Files changed (229) hide show
  1. package/WebpackConfigs/email-templates.js +99 -0
  2. package/dist/components/AdaptiveButton/AdaptiveButton.js +26 -24
  3. package/dist/components/AdaptiveButton/index.js +25 -22
  4. package/dist/components/AdaptiveContainer/AdaptiveContainer.js +140 -139
  5. package/dist/components/AdaptiveContainer/index.js +25 -22
  6. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +76 -42
  7. package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +17 -3
  8. package/dist/components/AdaptiveDialog/index.js +25 -22
  9. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +70 -54
  10. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +10 -9
  11. package/dist/components/AdaptiveSidebar/index.js +25 -22
  12. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +155 -154
  13. package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
  14. package/dist/components/AnchoredTooltip/index.js +25 -22
  15. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +154 -121
  16. package/dist/components/AnimatedEntrance/index.js +25 -22
  17. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +80 -40
  18. package/dist/components/AsyncTriggerContainer/index.js +25 -22
  19. package/dist/components/AsyncWrapper/AsyncWrapper.js +34 -16
  20. package/dist/components/AsyncWrapper/index.js +25 -22
  21. package/dist/components/Avatar/Avatar.js +33 -18
  22. package/dist/components/Avatar/index.js +25 -22
  23. package/dist/components/BucketFill/BucketFill.js +49 -36
  24. package/dist/components/BucketFill/index.js +25 -22
  25. package/dist/components/Button/Button.js +30 -22
  26. package/dist/components/Button/index.js +25 -22
  27. package/dist/components/Card/Card.js +17 -10
  28. package/dist/components/Card/index.js +25 -22
  29. package/dist/components/Chart/Chart.js +25 -22
  30. package/dist/components/Chart/Chart.logic.js +10 -9
  31. package/dist/components/Chart/Chart.types.js +5 -2
  32. package/dist/components/Chart/Chart.view.js +174 -98
  33. package/dist/components/Chart/index.js +25 -22
  34. package/dist/components/CheckBox/CheckBox.js +48 -30
  35. package/dist/components/CheckBox/CheckBox.module.scss +5 -0
  36. package/dist/components/CheckBox/index.js +25 -22
  37. package/dist/components/CodeInput/CodeInput.js +75 -93
  38. package/dist/components/CodeInput/index.js +25 -22
  39. package/dist/components/Collapsable/Collapsable.js +164 -134
  40. package/dist/components/Collapsable/index.js +25 -22
  41. package/dist/components/Countdown/Countdown.js +69 -86
  42. package/dist/components/Countdown/index.js +25 -22
  43. package/dist/components/CurrencyInput/CurrencyInput.hook.js +25 -25
  44. package/dist/components/CurrencyInput/CurrencyInput.js +48 -29
  45. package/dist/components/CurrencyInput/index.js +25 -22
  46. package/dist/components/Divider/Divider.js +16 -10
  47. package/dist/components/Divider/index.js +25 -22
  48. package/dist/components/EmailInput/EmailInput.js +37 -23
  49. package/dist/components/EmailInput/index.js +25 -22
  50. package/dist/components/FadeIn/FadeIn.js +57 -51
  51. package/dist/components/FadeIn/index.js +25 -22
  52. package/dist/components/FileInput/FileInput.js +45 -38
  53. package/dist/components/FileInput/View/BigFactory/BigFactory.js +48 -16
  54. package/dist/components/FileInput/View/BigFactory/index.js +25 -22
  55. package/dist/components/FileInput/View/Compact/Compact.js +114 -46
  56. package/dist/components/FileInput/View/Compact/index.js +25 -22
  57. package/dist/components/FileInput/View/View.types.js +5 -2
  58. package/dist/components/FileInput/index.js +25 -22
  59. package/dist/components/FlowController/FlowController.js +56 -25
  60. package/dist/components/FlowController/index.js +25 -22
  61. package/dist/components/Form/Form.hook.js +217 -202
  62. package/dist/components/Form/Form.js +103 -65
  63. package/dist/components/Form/Form.types.js +39 -53
  64. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +68 -53
  65. package/dist/components/Form/FormField/Extensions/DateField/index.js +25 -22
  66. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +81 -78
  67. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +25 -22
  68. package/dist/components/Form/FormField/FormField.js +307 -148
  69. package/dist/components/Form/FormField/FormField.types.js +10 -7
  70. package/dist/components/Form/FormField/index.js +25 -22
  71. package/dist/components/Form/index.js +25 -22
  72. package/dist/components/Freeze/Freeze.js +13 -9
  73. package/dist/components/Freeze/index.js +25 -22
  74. package/dist/components/HSForms/HSForms.js +48 -69
  75. package/dist/components/HSForms/index.js +25 -22
  76. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +19 -10
  77. package/dist/components/HeaderCloseBtn/index.js +25 -22
  78. package/dist/components/InfinityScroll/InfinityScroll.js +114 -94
  79. package/dist/components/InfinityScroll/index.js +25 -22
  80. package/dist/components/Input/Input.js +99 -57
  81. package/dist/components/Input/index.js +25 -22
  82. package/dist/components/InstantCounter/InstantCounter.js +49 -31
  83. package/dist/components/InstantCounter/index.js +25 -22
  84. package/dist/components/LavaLamp/LavaLamp.data.js +83 -86
  85. package/dist/components/LavaLamp/LavaLamp.js +119 -32
  86. package/dist/components/LavaLamp/index.js +25 -22
  87. package/dist/components/LavaLamp/v2/LavaLamp.js +149 -156
  88. package/dist/components/LinkToId/LinkToId.js +39 -27
  89. package/dist/components/LinkToId/index.js +25 -22
  90. package/dist/components/Loader/Loader.js +21 -22
  91. package/dist/components/Loader/index.js +25 -22
  92. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +27 -15
  93. package/dist/components/LoaderDotsIndicator/index.js +25 -22
  94. package/dist/components/LoopableVideo/LoopableVideo.js +33 -25
  95. package/dist/components/LoopableVideo/index.js +25 -22
  96. package/dist/components/MainGrid/MainGrid.js +46 -23
  97. package/dist/components/MainGrid/index.js +25 -22
  98. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +27 -23
  99. package/dist/components/MutableHamburgerButton/index.js +25 -22
  100. package/dist/components/Notification/Notification.js +18 -11
  101. package/dist/components/Notification/index.js +25 -22
  102. package/dist/components/NumberInput/NumberInput.js +43 -42
  103. package/dist/components/NumberInput/index.js +25 -22
  104. package/dist/components/OrderableList/OrderableList.js +416 -404
  105. package/dist/components/OrderableList/index.js +25 -22
  106. package/dist/components/PaginationIndicator/PaginationIndicator.js +243 -198
  107. package/dist/components/PaginationIndicator/index.js +25 -22
  108. package/dist/components/Parallax/Parallax.js +156 -130
  109. package/dist/components/Parallax/index.js +25 -22
  110. package/dist/components/Parallax/math/helpers.js +120 -216
  111. package/dist/components/PasswordInput/PasswordInput.js +88 -71
  112. package/dist/components/PasswordInput/index.js +25 -22
  113. package/dist/components/PingPongText/PingPongText.js +63 -67
  114. package/dist/components/PingPongText/index.js +25 -22
  115. package/dist/components/PixelatedScan/PixelatedScan.js +126 -74
  116. package/dist/components/PixelatedScan/index.js +25 -22
  117. package/dist/components/Portal/Portal.js +46 -43
  118. package/dist/components/Portal/index.js +25 -22
  119. package/dist/components/ProgressBar/ProgressBar.js +105 -47
  120. package/dist/components/ProgressBar/index.js +25 -22
  121. package/dist/components/ProgressTexts/ProgressTexts.js +43 -29
  122. package/dist/components/ProgressTexts/index.js +25 -22
  123. package/dist/components/Radio/Radio.js +51 -28
  124. package/dist/components/Radio/index.js +25 -22
  125. package/dist/components/Radio/variants/Checkmark/Checkmark.js +18 -12
  126. package/dist/components/Radio/variants/Checkmark/index.js +25 -22
  127. package/dist/components/Radio/variants/Generic/Generic.js +20 -12
  128. package/dist/components/Radio/variants/Generic/index.js +25 -22
  129. package/dist/components/ScrollendIndicator/ScrollendIndicator.js +118 -0
  130. package/dist/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
  131. package/dist/components/SectionContainer/SectionContainer.js +38 -16
  132. package/dist/components/SectionContainer/index.js +25 -22
  133. package/dist/components/Select/Select.js +128 -95
  134. package/dist/components/Select/index.js +25 -22
  135. package/dist/components/Skeleton/Skeleton.js +22 -14
  136. package/dist/components/Skeleton/index.js +25 -22
  137. package/dist/components/Slider/Slider.js +63 -59
  138. package/dist/components/Slider/index.js +25 -22
  139. package/dist/components/Spacing/Spacing.js +25 -17
  140. package/dist/components/Spacing/index.js +25 -22
  141. package/dist/components/StaticScroller/StaticScroller.js +65 -61
  142. package/dist/components/StaticScroller/index.js +25 -22
  143. package/dist/components/Switch/Switch.js +40 -26
  144. package/dist/components/Switch/index.js +25 -22
  145. package/dist/components/Table/Table.js +107 -56
  146. package/dist/components/Table/index.js +25 -22
  147. package/dist/components/Tabs/Tabs.js +59 -54
  148. package/dist/components/Tabs/index.js +25 -22
  149. package/dist/components/Text/Text.js +35 -30
  150. package/dist/components/Text/index.js +25 -22
  151. package/dist/components/Transition/MasksFactory/DiagonalReveal.js +46 -12
  152. package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +71 -49
  153. package/dist/components/Transition/MasksFactory/PhysicsSquares.js +89 -79
  154. package/dist/components/Transition/MasksFactory/SquareToBalls.js +60 -41
  155. package/dist/components/Transition/MasksFactory/utils.js +25 -27
  156. package/dist/components/Transition/Transition.js +298 -319
  157. package/dist/components/Transition/index.js +25 -22
  158. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +101 -93
  159. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +27 -19
  160. package/dist/components/UncontrolledTransition/index.js +25 -22
  161. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +101 -94
  162. package/dist/components/WalletConnectionWrapper/index.js +25 -22
  163. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +53 -43
  164. package/dist/components/utilitary/ScrollAndFocusLock/index.js +25 -22
  165. package/dist/context/AsyncProcess.js +68 -41
  166. package/dist/context/ContextAsyncControl.js +72 -51
  167. package/dist/context/CustomBrowserRouter.js +44 -30
  168. package/dist/context/OneUIProvider.js +102 -108
  169. package/dist/hooks/logs/useDependencyChangeDetection.js +17 -16
  170. package/dist/hooks/logs/useIsMounting.js +10 -7
  171. package/dist/hooks/persistence/useLocalStorage.js +41 -40
  172. package/dist/hooks/shims/ObjectWatchShim.js +47 -46
  173. package/dist/hooks/ui/useAdaptiveImage.js +29 -34
  174. package/dist/hooks/ui/useAlternating.js +18 -18
  175. package/dist/hooks/ui/useBreakpoint.js +19 -18
  176. package/dist/hooks/ui/useCustomScrollbar.js +26 -21
  177. package/dist/hooks/ui/useEffectIf.js +11 -9
  178. package/dist/hooks/ui/useMouseHover.js +22 -19
  179. package/dist/hooks/ui/usePaginationControls.js +129 -136
  180. package/dist/hooks/ui/useSnapToViewport.js +20 -19
  181. package/dist/hooks/ui/useTilt.js +145 -129
  182. package/dist/hooks/ui/useZoomable.js +123 -116
  183. package/dist/hooks/useAsyncControl.js +67 -52
  184. package/dist/hooks/useContainedRepositioning.js +75 -71
  185. package/dist/hooks/useCustomHistory.js +21 -12
  186. package/dist/hooks/useElementFit.js +43 -48
  187. package/dist/hooks/useFirestoreWatch.js +41 -41
  188. package/dist/hooks/useFreeze.js +10 -8
  189. package/dist/hooks/useHero.js +249 -271
  190. package/dist/hooks/useIntersection.js +32 -27
  191. package/dist/hooks/useMergeRefs.js +27 -24
  192. package/dist/hooks/useObserve.js +17 -14
  193. package/dist/hooks/usePagination.js +147 -164
  194. package/dist/hooks/usePooledOperation.js +41 -57
  195. package/dist/hooks/usePooling.js +46 -49
  196. package/dist/hooks/useRebound.js +23 -19
  197. package/dist/hooks/useShortIntl.js +72 -50
  198. package/dist/hooks/utility/useAsyncMemo.js +36 -42
  199. package/dist/hooks/utility/useDepChange.js +14 -12
  200. package/dist/hooks/utility/useEvents.js +26 -21
  201. package/dist/hooks/utility/useImmediate.js +8 -5
  202. package/dist/hooks/utility/useManualInit.js +19 -17
  203. package/dist/hooks/utility/useModule.js +12 -9
  204. package/dist/hooks/utility/useQuery.js +13 -7
  205. package/dist/hooks/utility/useUniqueEffect.js +17 -17
  206. package/dist/index.js +2159 -349
  207. package/dist/index.preprocess.js +35 -72
  208. package/dist/models/DebugLogger.js +8 -5
  209. package/dist/models/GenericContract.js +42 -13
  210. package/dist/models/ImageScales.js +13 -10
  211. package/dist/models/Orbs.js +53 -47
  212. package/dist/storybookUtils/index.js +40 -39
  213. package/dist/type-utils.js +5 -2
  214. package/dist/types.js +5 -2
  215. package/dist/utils/blockchain.js +35 -54
  216. package/dist/utils/e2e.js +21 -11
  217. package/dist/utils/flatten.js +15 -12
  218. package/dist/utils/formatters.js +48 -43
  219. package/dist/utils/html.utils.js +12 -6
  220. package/dist/utils/ownEvent.js +9 -7
  221. package/dist/utils/test.js +13 -11
  222. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.d.ts +10 -0
  223. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js +68 -0
  224. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js.map +1 -0
  225. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
  226. package/dist-ts/index.d.ts +1 -0
  227. package/dist-ts/index.js +1 -0
  228. package/dist-ts/index.js.map +1 -1
  229. package/package.json +1 -1
@@ -1,145 +1,161 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.givenTheRelativePositionHowMuchToRotate = exports.calculateDistanceRelativeToBounds = exports.useTiltUpdates = void 0;
7
- const throttle_1 = __importDefault(require("lodash/throttle"));
8
- const react_1 = require("react");
9
- const helpers_1 = require("../../components/Parallax/math/helpers");
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calculateDistanceRelativeToBounds = calculateDistanceRelativeToBounds;
7
+ exports.default = useTilt;
8
+ exports.givenTheRelativePositionHowMuchToRotate = givenTheRelativePositionHowMuchToRotate;
9
+ exports.useTiltUpdates = useTiltUpdates;
10
+ var _throttle = _interopRequireDefault(require("lodash/throttle"));
11
+ var _react = require("react");
12
+ var _helpers = require("../../components/Parallax/math/helpers");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
14
  const MAX_TILT = {
11
- x: 100,
12
- y: 100,
15
+ x: 100,
16
+ y: 100
13
17
  };
14
- function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix, sensorScale = 1, tiltLimit = MAX_TILT, options) {
15
- (0, react_1.useEffect)(() => {
16
- var _a;
17
- if (active) {
18
- const updatePositions = (relativeToX, relativeToY) => {
19
- var _a, _b;
20
- const el = relativeToEl.current;
21
- const rect = el.getBoundingClientRect();
22
- const { width: [x0, xW], height: [y0, yH], } = {
23
- width: [rect.left, el.clientWidth],
24
- height: [rect.top, el.clientHeight],
25
- };
26
- const distanceOffRight = calculateDistanceRelativeToBounds(relativeToX, x0, xW, (_a = options === null || options === void 0 ? void 0 : options.round) !== null && _a !== void 0 ? _a : true);
27
- const distanceOffBottom = calculateDistanceRelativeToBounds(relativeToY, y0, yH, (_b = options === null || options === void 0 ? void 0 : options.round) !== null && _b !== void 0 ? _b : true);
28
- const howMuchToRotateY = givenTheRelativePositionHowMuchToRotate(distanceOffRight, tiltLimit.y);
29
- const howMuchToRotateX = givenTheRelativePositionHowMuchToRotate(distanceOffBottom, tiltLimit.x);
30
- onTilt({
31
- y: howMuchToRotateX * 2,
32
- x: howMuchToRotateY * 2,
33
- });
34
- };
35
- const handler = (0, throttle_1.default)(({ x, y }) => {
36
- updatePositions(x, y);
37
- }, 1000 / 30);
38
- const touchHandler = (0, throttle_1.default)(({ touches }) => {
39
- const { pageX, pageY } = touches[0];
40
- updatePositions(pageX, pageY);
41
- }, 1000 / 30);
42
- window.addEventListener("mousemove", handler);
43
- window.addEventListener("touchmove", touchHandler);
44
- let _inverseMatrix;
45
- const _limits = {
46
- beta: undefined,
47
- gamma: undefined,
48
- };
49
- const orientationListener = ({ beta, gamma, }) => {
50
- if ((beta !== null && beta !== void 0 ? beta : 0) + (gamma !== null && gamma !== void 0 ? gamma : 0) === 0)
51
- return;
52
- beta = beta * 0.5;
53
- gamma = gamma * 0.5;
54
- if (!_inverseMatrix) {
55
- window.removeEventListener("mousemove", handler);
56
- window.removeEventListener("touchmove", touchHandler);
57
- const offset = 12.5;
58
- _limits.beta = [beta - offset, beta + offset];
59
- _limits.gamma = [gamma - offset, gamma + offset];
60
- }
61
- const _beta = Math.min(_limits.beta[1], Math.max(_limits.beta[0], beta));
62
- const _gamma = Math.min(_limits.gamma[1], Math.max(_limits.gamma[0], gamma));
63
- if (!_inverseMatrix && onInverseMatrix) {
64
- onInverseMatrix(() => {
65
- return (_inverseMatrix = (0, helpers_1.flattenMatrix)((0, helpers_1.invertMatrix)((0, helpers_1.generateMatrixFromOperations)({
66
- type: "rotateY",
67
- angle: _gamma,
68
- }, {
69
- type: "rotateX",
70
- angle: -_beta,
71
- }))));
72
- });
73
- }
74
- onTilt({
75
- y: -_beta * sensorScale,
76
- x: _gamma * sensorScale,
77
- });
78
- };
79
- function removeListeners() {
80
- window.removeEventListener("mousemove", handler);
81
- window.removeEventListener("touchmove", touchHandler);
82
- }
83
- if ((_a = options === null || options === void 0 ? void 0 : options.gyroEnabled) !== null && _a !== void 0 ? _a : true) {
84
- window.addEventListener("deviceorientation", orientationListener);
85
- return () => {
86
- window.removeEventListener("deviceorientation", orientationListener);
87
- removeListeners();
88
- };
89
- }
90
- else {
91
- return () => removeListeners();
92
- }
18
+ function useTiltUpdates(active, relativeToEl, onTilt, onInverseMatrix) {
19
+ let sensorScale = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
20
+ let tiltLimit = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : MAX_TILT;
21
+ let options = arguments.length > 6 ? arguments[6] : undefined;
22
+ (0, _react.useEffect)(() => {
23
+ if (active) {
24
+ var _options$gyroEnabled;
25
+ const updatePositions = (relativeToX, relativeToY) => {
26
+ var _options$round, _options$round2;
27
+ const el = relativeToEl.current;
28
+ const rect = el.getBoundingClientRect();
29
+ const {
30
+ width: [x0, xW],
31
+ height: [y0, yH]
32
+ } = {
33
+ width: [rect.left, el.clientWidth],
34
+ height: [rect.top, el.clientHeight]
35
+ };
36
+ const distanceOffRight = calculateDistanceRelativeToBounds(relativeToX, x0, xW, (_options$round = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round !== void 0 ? _options$round : true);
37
+ const distanceOffBottom = calculateDistanceRelativeToBounds(relativeToY, y0, yH, (_options$round2 = options === null || options === void 0 ? void 0 : options.round) !== null && _options$round2 !== void 0 ? _options$round2 : true);
38
+ const howMuchToRotateY = givenTheRelativePositionHowMuchToRotate(distanceOffRight, tiltLimit.y);
39
+ const howMuchToRotateX = givenTheRelativePositionHowMuchToRotate(distanceOffBottom, tiltLimit.x);
40
+ onTilt({
41
+ y: howMuchToRotateX * 2,
42
+ x: howMuchToRotateY * 2
43
+ });
44
+ };
45
+ const handler = (0, _throttle.default)(_ref => {
46
+ let {
47
+ x,
48
+ y
49
+ } = _ref;
50
+ updatePositions(x, y);
51
+ }, 1000 / 30);
52
+ const touchHandler = (0, _throttle.default)(_ref2 => {
53
+ let {
54
+ touches
55
+ } = _ref2;
56
+ const {
57
+ pageX,
58
+ pageY
59
+ } = touches[0];
60
+ updatePositions(pageX, pageY);
61
+ }, 1000 / 30);
62
+ window.addEventListener("mousemove", handler);
63
+ window.addEventListener("touchmove", touchHandler);
64
+ let _inverseMatrix;
65
+ const _limits = {
66
+ beta: undefined,
67
+ gamma: undefined
68
+ };
69
+ const orientationListener = _ref3 => {
70
+ let {
71
+ beta,
72
+ gamma
73
+ } = _ref3;
74
+ if ((beta !== null && beta !== void 0 ? beta : 0) + (gamma !== null && gamma !== void 0 ? gamma : 0) === 0) return;
75
+ beta = beta * 0.5;
76
+ gamma = gamma * 0.5;
77
+ if (!_inverseMatrix) {
78
+ window.removeEventListener("mousemove", handler);
79
+ window.removeEventListener("touchmove", touchHandler);
80
+ const offset = 12.5;
81
+ _limits.beta = [beta - offset, beta + offset];
82
+ _limits.gamma = [gamma - offset, gamma + offset];
83
+ }
84
+ const _beta = Math.min(_limits.beta[1], Math.max(_limits.beta[0], beta));
85
+ const _gamma = Math.min(_limits.gamma[1], Math.max(_limits.gamma[0], gamma));
86
+ if (!_inverseMatrix && onInverseMatrix) {
87
+ onInverseMatrix(() => {
88
+ return _inverseMatrix = (0, _helpers.flattenMatrix)((0, _helpers.invertMatrix)((0, _helpers.generateMatrixFromOperations)({
89
+ type: "rotateY",
90
+ angle: _gamma
91
+ }, {
92
+ type: "rotateX",
93
+ angle: -_beta
94
+ })));
95
+ });
93
96
  }
94
- }, [active, onInverseMatrix, onTilt]);
97
+ onTilt({
98
+ y: -_beta * sensorScale,
99
+ x: _gamma * sensorScale
100
+ });
101
+ };
102
+ function removeListeners() {
103
+ window.removeEventListener("mousemove", handler);
104
+ window.removeEventListener("touchmove", touchHandler);
105
+ }
106
+ if ((_options$gyroEnabled = options === null || options === void 0 ? void 0 : options.gyroEnabled) !== null && _options$gyroEnabled !== void 0 ? _options$gyroEnabled : true) {
107
+ window.addEventListener("deviceorientation", orientationListener);
108
+ return () => {
109
+ window.removeEventListener("deviceorientation", orientationListener);
110
+ removeListeners();
111
+ };
112
+ } else {
113
+ return () => removeListeners();
114
+ }
115
+ }
116
+ }, [active, onInverseMatrix, onTilt]);
95
117
  }
96
- exports.useTiltUpdates = useTiltUpdates;
118
+
97
119
  /**
98
120
  * This hook binds to two methods for calculating tilt
99
121
  *
100
122
  * When available: The device sensors
101
123
  * When on desktop: The mouse position relative to a ref
102
124
  */
103
- function useTilt(active,
104
- /**
105
- * A scale to increase the values from the sensors
106
- *
107
- * @hack You can set this value to 0 as a way to disable the tilt calc on mobile
108
- */
109
- sensorScale = 1, maxTilt = MAX_TILT, options) {
110
- const [tilt, setTilt] = (0, react_1.useState)({
111
- x: 0,
112
- y: 0,
113
- });
114
- const [tiltResetMatrix, setTiltResetMatrix] = (0, react_1.useState)(() => (0, helpers_1.flattenMatrix)((0, helpers_1.IDENTITY_MATRIX)()));
115
- const relativeTo = (0, react_1.useRef)(null);
116
- useTiltUpdates(active, relativeTo, setTilt, setTiltResetMatrix, sensorScale, maxTilt, options);
117
- return {
118
- /** The element to monitor mouse hover relative to */
119
- relativeTo,
120
- /**
121
- * The matrix that represents the original tilt, so it can be used with the tilt prop to tilt relative to the user
122
- * Use it on css like so transform: matrix3d(tiltResetMatrix.join(",")) rotateX(tilt.x) rotateY(tilt.y)
123
- */
124
- tiltResetMatrix,
125
- /**
126
- * How much tilt should be applied based
127
- */
128
- tilt,
129
- };
125
+ function useTilt(active) {
126
+ let sensorScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
127
+ let maxTilt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : MAX_TILT;
128
+ let options = arguments.length > 3 ? arguments[3] : undefined;
129
+ const [tilt, setTilt] = (0, _react.useState)({
130
+ x: 0,
131
+ y: 0
132
+ });
133
+ const [tiltResetMatrix, setTiltResetMatrix] = (0, _react.useState)(() => (0, _helpers.flattenMatrix)((0, _helpers.IDENTITY_MATRIX)()));
134
+ const relativeTo = (0, _react.useRef)(null);
135
+ useTiltUpdates(active, relativeTo, setTilt, setTiltResetMatrix, sensorScale, maxTilt, options);
136
+ return {
137
+ /** The element to monitor mouse hover relative to */
138
+ relativeTo,
139
+ /**
140
+ * The matrix that represents the original tilt, so it can be used with the tilt prop to tilt relative to the user
141
+ * Use it on css like so transform: matrix3d(tiltResetMatrix.join(",")) rotateX(tilt.x) rotateY(tilt.y)
142
+ */
143
+ tiltResetMatrix,
144
+ /**
145
+ * How much tilt should be applied based
146
+ */
147
+ tilt
148
+ };
130
149
  }
131
- exports.default = useTilt;
132
150
  function calculateDistanceRelativeToBounds(mousePosition, elementInitialPosition, elementSizeDimension, shouldRound) {
133
- const normalizeInitialPosition = mousePosition - elementInitialPosition;
134
- const doNotAllowGoingBeyondLowerLimit = Math.max(normalizeInitialPosition, 0);
135
- const doNotAllowHoingBeyondHigherLimit = Math.min(doNotAllowGoingBeyondLowerLimit, elementSizeDimension);
136
- const threeRule = (doNotAllowHoingBeyondHigherLimit * 100) / elementSizeDimension;
137
- const result = (shouldRound ? Math.round(threeRule) : threeRule) / 100;
138
- return result;
151
+ const normalizeInitialPosition = mousePosition - elementInitialPosition;
152
+ const doNotAllowGoingBeyondLowerLimit = Math.max(normalizeInitialPosition, 0);
153
+ const doNotAllowHoingBeyondHigherLimit = Math.min(doNotAllowGoingBeyondLowerLimit, elementSizeDimension);
154
+ const threeRule = doNotAllowHoingBeyondHigherLimit * 100 / elementSizeDimension;
155
+ const result = (shouldRound ? Math.round(threeRule) : threeRule) / 100;
156
+ return result;
139
157
  }
140
- exports.calculateDistanceRelativeToBounds = calculateDistanceRelativeToBounds;
141
158
  function givenTheRelativePositionHowMuchToRotate(relativePosition, maxRotation) {
142
- return relativePosition * maxRotation - maxRotation / 2;
159
+ return relativePosition * maxRotation - maxRotation / 2;
143
160
  }
144
- exports.givenTheRelativePositionHowMuchToRotate = givenTheRelativePositionHowMuchToRotate;
145
- //# sourceMappingURL=useTilt.js.map
161
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhyb3R0bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl9oZWxwZXJzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJNQVhfVElMVCIsIngiLCJ5IiwidXNlVGlsdFVwZGF0ZXMiLCJhY3RpdmUiLCJyZWxhdGl2ZVRvRWwiLCJvblRpbHQiLCJvbkludmVyc2VNYXRyaXgiLCJzZW5zb3JTY2FsZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRpbHRMaW1pdCIsIm9wdGlvbnMiLCJ1c2VFZmZlY3QiLCJfb3B0aW9ucyRneXJvRW5hYmxlZCIsInVwZGF0ZVBvc2l0aW9ucyIsInJlbGF0aXZlVG9YIiwicmVsYXRpdmVUb1kiLCJfb3B0aW9ucyRyb3VuZCIsIl9vcHRpb25zJHJvdW5kMiIsImVsIiwiY3VycmVudCIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aWR0aCIsIngwIiwieFciLCJoZWlnaHQiLCJ5MCIsInlIIiwibGVmdCIsImNsaWVudFdpZHRoIiwidG9wIiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VPZmZSaWdodCIsImNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyIsInJvdW5kIiwiZGlzdGFuY2VPZmZCb3R0b20iLCJob3dNdWNoVG9Sb3RhdGVZIiwiZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlIiwiaG93TXVjaFRvUm90YXRlWCIsImhhbmRsZXIiLCJ0aHJvdHRsZSIsIl9yZWYiLCJ0b3VjaEhhbmRsZXIiLCJfcmVmMiIsInRvdWNoZXMiLCJwYWdlWCIsInBhZ2VZIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsIl9pbnZlcnNlTWF0cml4IiwiX2xpbWl0cyIsImJldGEiLCJnYW1tYSIsIm9yaWVudGF0aW9uTGlzdGVuZXIiLCJfcmVmMyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvZmZzZXQiLCJfYmV0YSIsIk1hdGgiLCJtaW4iLCJtYXgiLCJfZ2FtbWEiLCJmbGF0dGVuTWF0cml4IiwiaW52ZXJ0TWF0cml4IiwiZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyIsInR5cGUiLCJhbmdsZSIsInJlbW92ZUxpc3RlbmVycyIsImd5cm9FbmFibGVkIiwidXNlVGlsdCIsIm1heFRpbHQiLCJ0aWx0Iiwic2V0VGlsdCIsInVzZVN0YXRlIiwidGlsdFJlc2V0TWF0cml4Iiwic2V0VGlsdFJlc2V0TWF0cml4IiwiSURFTlRJVFlfTUFUUklYIiwicmVsYXRpdmVUbyIsInVzZVJlZiIsIm1vdXNlUG9zaXRpb24iLCJlbGVtZW50SW5pdGlhbFBvc2l0aW9uIiwiZWxlbWVudFNpemVEaW1lbnNpb24iLCJzaG91bGRSb3VuZCIsIm5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiIsImRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQiLCJkb05vdEFsbG93SG9pbmdCZXlvbmRIaWdoZXJMaW1pdCIsInRocmVlUnVsZSIsInJlc3VsdCIsInJlbGF0aXZlUG9zaXRpb24iLCJtYXhSb3RhdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2VUaWx0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGhyb3R0bGUgZnJvbSBcImxvZGFzaC90aHJvdHRsZVwiO1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIGZsYXR0ZW5NYXRyaXgsXG4gIGdlbmVyYXRlTWF0cml4RnJvbU9wZXJhdGlvbnMsXG4gIElERU5USVRZX01BVFJJWCxcbiAgaW52ZXJ0TWF0cml4LFxufSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QYXJhbGxheC9tYXRoL2hlbHBlcnNcIjtcblxuY29uc3QgTUFYX1RJTFQgPSB7XG4gIHg6IDEwMCxcbiAgeTogMTAwLFxufTtcblxudHlwZSBPcHRpb25zID0ge1xuICByb3VuZD86IGJvb2xlYW47XG4gIGd5cm9FbmFibGVkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VUaWx0VXBkYXRlcyhcbiAgYWN0aXZlOiBib29sZWFuLFxuICByZWxhdGl2ZVRvRWw6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+LFxuICBvblRpbHQ6IChwOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pID0+IHZvaWQsXG4gIG9uSW52ZXJzZU1hdHJpeD86ICh1cGRhdGVGdW5jOiAobWF0cml4OiBudW1iZXJbXSkgPT4gbnVtYmVyW10pID0+IHZvaWQsXG4gIHNlbnNvclNjYWxlOiBudW1iZXIgPSAxLFxuICB0aWx0TGltaXQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSA9IE1BWF9USUxULFxuICBvcHRpb25zPzogT3B0aW9uc1xuKSB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgY29uc3QgdXBkYXRlUG9zaXRpb25zID0gKHJlbGF0aXZlVG9YOiBudW1iZXIsIHJlbGF0aXZlVG9ZOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgZWwgPSByZWxhdGl2ZVRvRWwuY3VycmVudCE7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHdpZHRoOiBbeDAsIHhXXSxcbiAgICAgICAgICBoZWlnaHQ6IFt5MCwgeUhdLFxuICAgICAgICB9ID0ge1xuICAgICAgICAgIHdpZHRoOiBbcmVjdC5sZWZ0LCBlbC5jbGllbnRXaWR0aF0sXG4gICAgICAgICAgaGVpZ2h0OiBbcmVjdC50b3AsIGVsLmNsaWVudEhlaWdodF0sXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlT2ZmUmlnaHQgPSBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gICAgICAgICAgcmVsYXRpdmVUb1gsXG4gICAgICAgICAgeDAsXG4gICAgICAgICAgeFcsXG4gICAgICAgICAgb3B0aW9ucz8ucm91bmQgPz8gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBkaXN0YW5jZU9mZkJvdHRvbSA9IGNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyhcbiAgICAgICAgICByZWxhdGl2ZVRvWSxcbiAgICAgICAgICB5MCxcbiAgICAgICAgICB5SCxcbiAgICAgICAgICBvcHRpb25zPy5yb3VuZCA/PyB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhvd011Y2hUb1JvdGF0ZVkgPSBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gICAgICAgICAgZGlzdGFuY2VPZmZSaWdodCxcbiAgICAgICAgICB0aWx0TGltaXQueVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBob3dNdWNoVG9Sb3RhdGVYID0gZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICAgICAgICAgIGRpc3RhbmNlT2ZmQm90dG9tLFxuICAgICAgICAgIHRpbHRMaW1pdC54XG4gICAgICAgICk7XG5cbiAgICAgICAgb25UaWx0KHtcbiAgICAgICAgICB5OiBob3dNdWNoVG9Sb3RhdGVYICogMixcbiAgICAgICAgICB4OiBob3dNdWNoVG9Sb3RhdGVZICogMixcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFuZGxlciA9IHRocm90dGxlKCh7IHgsIHkgfTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMoeCwgeSk7XG4gICAgICB9LCAxMDAwIC8gMzApO1xuICAgICAgY29uc3QgdG91Y2hIYW5kbGVyID0gdGhyb3R0bGUoKHsgdG91Y2hlcyB9OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGFnZVgsIHBhZ2VZIH0gPSB0b3VjaGVzWzBdO1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMocGFnZVgsIHBhZ2VZKTtcbiAgICAgIH0sIDEwMDAgLyAzMCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVyKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoSGFuZGxlcik7XG4gICAgICBsZXQgX2ludmVyc2VNYXRyaXg6IG51bWJlcltdIHwgdW5kZWZpbmVkO1xuICAgICAgY29uc3QgX2xpbWl0czoge1xuICAgICAgICBbayBpbiBcImJldGFcIiB8IFwiZ2FtbWFcIl0/OiBbbnVtYmVyLCBudW1iZXJdO1xuICAgICAgfSA9IHtcbiAgICAgICAgYmV0YTogdW5kZWZpbmVkLFxuICAgICAgICBnYW1tYTogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IG9yaWVudGF0aW9uTGlzdGVuZXI6IChlOiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KSA9PiB2b2lkID0gKHtcbiAgICAgICAgYmV0YSxcbiAgICAgICAgZ2FtbWEsXG4gICAgICB9KSA9PiB7XG4gICAgICAgIGlmICgoYmV0YSA/PyAwKSArIChnYW1tYSA/PyAwKSA9PT0gMCkgcmV0dXJuO1xuICAgICAgICBiZXRhID0gYmV0YSEgKiAwLjU7XG4gICAgICAgIGdhbW1hID0gZ2FtbWEhICogMC41O1xuICAgICAgICBpZiAoIV9pbnZlcnNlTWF0cml4KSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAxMi41O1xuICAgICAgICAgIF9saW1pdHMuYmV0YSA9IFtiZXRhISAtIG9mZnNldCwgYmV0YSEgKyBvZmZzZXRdO1xuICAgICAgICAgIF9saW1pdHMuZ2FtbWEgPSBbZ2FtbWEhIC0gb2Zmc2V0LCBnYW1tYSEgKyBvZmZzZXRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9iZXRhID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5iZXRhIVsxXSxcbiAgICAgICAgICBNYXRoLm1heChfbGltaXRzLmJldGEhWzBdLCBiZXRhISlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgX2dhbW1hID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5nYW1tYSFbMV0sXG4gICAgICAgICAgTWF0aC5tYXgoX2xpbWl0cy5nYW1tYSFbMF0sIGdhbW1hISlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFfaW52ZXJzZU1hdHJpeCAmJiBvbkludmVyc2VNYXRyaXgpIHtcbiAgICAgICAgICBvbkludmVyc2VNYXRyaXgoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChfaW52ZXJzZU1hdHJpeCA9IGZsYXR0ZW5NYXRyaXgoXG4gICAgICAgICAgICAgIGludmVydE1hdHJpeChcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZU1hdHJpeEZyb21PcGVyYXRpb25zKFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJvdGF0ZVlcIixcbiAgICAgICAgICAgICAgICAgICAgYW5nbGU6IF9nYW1tYSEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInJvdGF0ZVhcIixcbiAgICAgICAgICAgICAgICAgICAgYW5nbGU6IC1fYmV0YSEsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBvblRpbHQoe1xuICAgICAgICAgIHk6IC1fYmV0YSAqIHNlbnNvclNjYWxlLFxuICAgICAgICAgIHg6IF9nYW1tYSAqIHNlbnNvclNjYWxlLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgICBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcnMoKSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0b3VjaEhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM/Lmd5cm9FbmFibGVkID8/IHRydWUpIHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJkZXZpY2VvcmllbnRhdGlvblwiLCBvcmllbnRhdGlvbkxpc3RlbmVyKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImRldmljZW9yaWVudGF0aW9uXCIsIG9yaWVudGF0aW9uTGlzdGVuZXIpO1xuICAgICAgICAgIHJlbW92ZUxpc3RlbmVycygpO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUxpc3RlbmVycygpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2FjdGl2ZSwgb25JbnZlcnNlTWF0cml4LCBvblRpbHRdKTtcbn1cblxuLyoqXG4gKiBUaGlzIGhvb2sgYmluZHMgdG8gdHdvIG1ldGhvZHMgZm9yIGNhbGN1bGF0aW5nIHRpbHRcbiAqXG4gKiBXaGVuIGF2YWlsYWJsZTogVGhlIGRldmljZSBzZW5zb3JzXG4gKiBXaGVuIG9uIGRlc2t0b3A6IFRoZSBtb3VzZSBwb3NpdGlvbiByZWxhdGl2ZSB0byBhIHJlZlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUaWx0KFxuICBhY3RpdmU6IGJvb2xlYW4sXG4gIC8qKlxuICAgKiBBIHNjYWxlIHRvIGluY3JlYXNlIHRoZSB2YWx1ZXMgZnJvbSB0aGUgc2Vuc29yc1xuICAgKlxuICAgKiBAaGFjayBZb3UgY2FuIHNldCB0aGlzIHZhbHVlIHRvIDAgYXMgYSB3YXkgdG8gZGlzYWJsZSB0aGUgdGlsdCBjYWxjIG9uIG1vYmlsZVxuICAgKi9cbiAgc2Vuc29yU2NhbGU6IG51bWJlciA9IDEsXG4gIG1heFRpbHQ6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSA9IE1BWF9USUxULFxuICBvcHRpb25zPzogT3B0aW9uc1xuKSB7XG4gIGNvbnN0IFt0aWx0LCBzZXRUaWx0XSA9IHVzZVN0YXRlPHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT4oe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgfSk7XG4gIGNvbnN0IFt0aWx0UmVzZXRNYXRyaXgsIHNldFRpbHRSZXNldE1hdHJpeF0gPSB1c2VTdGF0ZTxudW1iZXJbXT4oKCkgPT5cbiAgICBmbGF0dGVuTWF0cml4KElERU5USVRZX01BVFJJWCgpKVxuICApO1xuICBjb25zdCByZWxhdGl2ZVRvID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VUaWx0VXBkYXRlcyhcbiAgICBhY3RpdmUsXG4gICAgcmVsYXRpdmVUbyxcbiAgICBzZXRUaWx0LFxuICAgIHNldFRpbHRSZXNldE1hdHJpeCxcbiAgICBzZW5zb3JTY2FsZSxcbiAgICBtYXhUaWx0LFxuICAgIG9wdGlvbnNcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIC8qKiBUaGUgZWxlbWVudCB0byBtb25pdG9yIG1vdXNlIGhvdmVyIHJlbGF0aXZlIHRvICovXG4gICAgcmVsYXRpdmVUbyxcbiAgICAvKipcbiAgICAgKiBUaGUgbWF0cml4IHRoYXQgcmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgdGlsdCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCB0aGUgdGlsdCBwcm9wIHRvIHRpbHQgcmVsYXRpdmUgdG8gdGhlIHVzZXJcbiAgICAgKiBVc2UgaXQgb24gY3NzIGxpa2Ugc28gdHJhbnNmb3JtOiBtYXRyaXgzZCh0aWx0UmVzZXRNYXRyaXguam9pbihcIixcIikpIHJvdGF0ZVgodGlsdC54KSByb3RhdGVZKHRpbHQueSlcbiAgICAgKi9cbiAgICB0aWx0UmVzZXRNYXRyaXgsXG5cbiAgICAvKipcbiAgICAgKiBIb3cgbXVjaCB0aWx0IHNob3VsZCBiZSBhcHBsaWVkIGJhc2VkXG4gICAgICovXG4gICAgdGlsdCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZURpc3RhbmNlUmVsYXRpdmVUb0JvdW5kcyhcbiAgbW91c2VQb3NpdGlvbjogbnVtYmVyLFxuICBlbGVtZW50SW5pdGlhbFBvc2l0aW9uOiBudW1iZXIsXG4gIGVsZW1lbnRTaXplRGltZW5zaW9uOiBudW1iZXIsXG4gIHNob3VsZFJvdW5kOiBib29sZWFuXG4pIHtcbiAgY29uc3Qgbm9ybWFsaXplSW5pdGlhbFBvc2l0aW9uID0gbW91c2VQb3NpdGlvbiAtIGVsZW1lbnRJbml0aWFsUG9zaXRpb247XG4gIGNvbnN0IGRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQgPSBNYXRoLm1heChub3JtYWxpemVJbml0aWFsUG9zaXRpb24sIDApO1xuICBjb25zdCBkb05vdEFsbG93SG9pbmdCZXlvbmRIaWdoZXJMaW1pdCA9IE1hdGgubWluKFxuICAgIGRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQsXG4gICAgZWxlbWVudFNpemVEaW1lbnNpb25cbiAgKTtcbiAgY29uc3QgdGhyZWVSdWxlID1cbiAgICAoZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQgKiAxMDApIC8gZWxlbWVudFNpemVEaW1lbnNpb247XG4gIGNvbnN0IHJlc3VsdCA9IChzaG91bGRSb3VuZCA/IE1hdGgucm91bmQodGhyZWVSdWxlKSA6IHRocmVlUnVsZSkgLyAxMDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gIHJlbGF0aXZlUG9zaXRpb246IG51bWJlcixcbiAgbWF4Um90YXRpb246IG51bWJlclxuKSB7XG4gIHJldHVybiByZWxhdGl2ZVBvc2l0aW9uICogbWF4Um90YXRpb24gLSBtYXhSb3RhdGlvbiAvIDI7XG59XG4iXSwi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
@@ -1,128 +1,135 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const jsx_runtime_1 = require("react/jsx-runtime");
7
- const react_1 = require("react");
8
- const client_1 = require("react-dom/client");
9
- const react_dom_1 = __importDefault(require("react-dom"));
10
- const useZoomable_module_scss_1 = __importDefault(require("./useZoomable.module.scss"));
11
- const useHero_1 = __importDefault(require("../useHero"));
12
- const useMergeRefs_1 = require("../useMergeRefs");
13
- const ownEvent_1 = __importDefault(require("../../utils/ownEvent"));
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useZoomable;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _client = require("react-dom/client");
9
+ var _reactDom = _interopRequireDefault(require("react-dom"));
10
+ var _useZoomableModule = _interopRequireDefault(require("./useZoomable.module.scss"));
11
+ var _useHero = _interopRequireDefault(require("../useHero"));
12
+ var _useMergeRefs = require("../useMergeRefs");
13
+ var _ownEvent = _interopRequireDefault(require("../../utils/ownEvent"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
17
  /**
15
18
  * Allows an element to be zoomable for fullscreen
16
19
  */
17
20
  function useZoomable(id) {
18
- const zoomableID = (0, react_1.useMemo)(() => `zoomable-${id}`, []);
19
- const getBackdrop = () => {
20
- return document.querySelector(`[data-zoomable="${zoomableID}"]`);
21
- };
22
- const { heroRef, trigger } = (0, useHero_1.default)(zoomableID, {
21
+ const zoomableID = (0, _react.useMemo)(() => "zoomable-".concat(id), []);
22
+ const getBackdrop = () => {
23
+ return document.querySelector("[data-zoomable=\"".concat(zoomableID, "\"]"));
24
+ };
25
+ const {
26
+ heroRef,
27
+ trigger
28
+ } = (0, _useHero.default)(zoomableID, {
29
+ "data-preffix": "zoomable",
30
+ repeatable: true
31
+ }, {
32
+ onHeroStart: function (clone) {
33
+ const bd = getBackdrop();
34
+ const removeCb = _ref => {
35
+ let {
36
+ currentTarget,
37
+ target
38
+ } = _ref;
39
+ if (target === currentTarget) {
40
+ if ("unmountComponentAtNode" in _reactDom.default) _reactDom.default.unmountComponentAtNode(bd);else console.error("This component doesn't work with the new versions of react yet...");
41
+ bd.remove();
42
+ }
43
+ };
44
+ bd.style.opacity = "0";
45
+ const middlewayClick = () => {
46
+ bd.removeEventListener("transitionend", removeCb);
47
+ clone.removeEventListener("click", middlewayClick);
48
+ _zoom();
49
+ };
50
+ clone.addEventListener("click", middlewayClick);
51
+ bd.addEventListener("transitionend", removeCb);
52
+ bd.addEventListener("transitionstart", () => {
53
+ bd.addEventListener("transitioncancel", (0, _ownEvent.default)(() => bd.removeEventListener("transitionend", removeCb)));
54
+ });
55
+ }
56
+ });
57
+ const zoomableEl = (0, _react.useRef)(null);
58
+ function _unzoom() {
59
+ trigger();
60
+ }
61
+ function _zoom() {
62
+ const el = zoomableEl.current;
63
+ const elClone = el.cloneNode(true);
64
+ elClone.style.visibility = "hidden";
65
+ function HeroMount() {
66
+ const {
67
+ heroRef
68
+ } = (0, _useHero.default)(zoomableID, {
23
69
  "data-preffix": "zoomable",
24
- repeatable: true,
25
- }, {
26
- onHeroStart: (clone, ...args) => {
27
- const bd = getBackdrop();
28
- const removeCb = ({ currentTarget, target }) => {
29
- if (target === currentTarget) {
30
- if (("unmountComponentAtNode" in react_dom_1.default))
31
- react_dom_1.default.unmountComponentAtNode(bd);
32
- else
33
- console.error("This component doesn't work with the new versions of react yet...");
34
- bd.remove();
35
- }
36
- };
37
- bd.style.opacity = "0";
38
- const middlewayClick = () => {
39
- bd.removeEventListener("transitionend", removeCb);
40
- clone.removeEventListener("click", middlewayClick);
41
- _zoom();
42
- };
43
- clone.addEventListener("click", middlewayClick);
44
- bd.addEventListener("transitionend", removeCb);
45
- bd.addEventListener("transitionstart", () => {
46
- bd.addEventListener("transitioncancel", (0, ownEvent_1.default)(() => bd.removeEventListener("transitionend", removeCb)));
47
- });
70
+ repeatable: true
71
+ }, {
72
+ onHeroStart: function (clone) {
73
+ getBackdrop().style.opacity = "1";
74
+ const unzoomCb = () => {
75
+ _unzoom();
76
+ clone.removeEventListener("click", unzoomCb);
77
+ };
78
+ clone.addEventListener("click", unzoomCb);
48
79
  },
49
- });
50
- const zoomableEl = (0, react_1.useRef)(null);
51
- function _unzoom() {
52
- trigger();
53
- }
54
- function _zoom() {
55
- const el = zoomableEl.current;
56
- const elClone = el.cloneNode(true);
57
- elClone.style.visibility = "hidden";
58
- function HeroMount() {
59
- const { heroRef } = (0, useHero_1.default)(zoomableID, {
60
- "data-preffix": "zoomable",
61
- repeatable: true,
62
- }, {
63
- onHeroStart: (clone, ...args) => {
64
- getBackdrop().style.opacity = "1";
65
- const unzoomCb = () => {
66
- _unzoom();
67
- clone.removeEventListener("click", unzoomCb);
68
- };
69
- clone.addEventListener("click", unzoomCb);
70
- },
71
- onHeroEnd: () => {
72
- heroRef.current.classList.remove(useZoomable_module_scss_1.default.zoomableIndicator);
73
- },
74
- });
75
- return ((0, jsx_runtime_1.jsx)("div", { ref: (ref) => {
76
- if (ref) {
77
- ref.appendChild(elClone);
78
- heroRef.current = elClone;
79
- const verticalProportion = el.clientWidth / el.clientHeight;
80
- const targetWidth = ref.clientHeight * verticalProportion;
81
- if (targetWidth > ref.clientWidth) {
82
- const horizontalProportion = el.clientHeight / el.clientWidth;
83
- elClone.style.width = ref.clientWidth + "px";
84
- elClone.style.height =
85
- ref.clientWidth * horizontalProportion + "px";
86
- }
87
- else {
88
- elClone.style.height = ref.clientHeight + "px";
89
- elClone.style.width = targetWidth + "px";
90
- }
91
- }
92
- } }));
80
+ onHeroEnd: () => {
81
+ heroRef.current.classList.remove(_useZoomableModule.default.zoomableIndicator);
93
82
  }
94
- const existingBackdrop = getBackdrop();
95
- if (!existingBackdrop) {
96
- const backdrop = document.createElement("div");
97
- backdrop.classList.add(useZoomable_module_scss_1.default.backdrop);
98
- backdrop.addEventListener("click", _unzoom);
99
- backdrop.setAttribute("data-zoomable", zoomableID);
100
- document.body.appendChild(backdrop);
101
- (0, client_1.createRoot)(backdrop).render((0, jsx_runtime_1.jsx)(HeroMount, {}));
102
- }
103
- else {
104
- (0, client_1.createRoot)(existingBackdrop).render((0, jsx_runtime_1.jsx)(HeroMount, {}));
83
+ });
84
+ return /*#__PURE__*/_react.default.createElement("div", {
85
+ ref: ref => {
86
+ if (ref) {
87
+ ref.appendChild(elClone);
88
+ heroRef.current = elClone;
89
+ const verticalProportion = el.clientWidth / el.clientHeight;
90
+ const targetWidth = ref.clientHeight * verticalProportion;
91
+ if (targetWidth > ref.clientWidth) {
92
+ const horizontalProportion = el.clientHeight / el.clientWidth;
93
+ elClone.style.width = ref.clientWidth + "px";
94
+ elClone.style.height = ref.clientWidth * horizontalProportion + "px";
95
+ } else {
96
+ elClone.style.height = ref.clientHeight + "px";
97
+ elClone.style.width = targetWidth + "px";
98
+ }
99
+ }
105
100
  }
101
+ });
106
102
  }
107
- (0, react_1.useEffect)(() => {
108
- const el = zoomableEl.current;
109
- el.classList.add(useZoomable_module_scss_1.default.zoomableIndicator);
110
- el.addEventListener("click", _zoom);
111
- return () => {
112
- el.classList.remove(useZoomable_module_scss_1.default.zoomableIndicator);
113
- const bd = getBackdrop();
114
- if (bd) {
115
- bd.style.opacity = "0";
116
- bd.addEventListener("transitionend", () => {
117
- bd.remove();
118
- });
119
- }
120
- };
121
- }, []);
122
- const mergedRefs = (0, useMergeRefs_1.useMergeRefsFunc)(heroRef, zoomableEl);
123
- return {
124
- zoomableEl: mergedRefs,
103
+ const existingBackdrop = getBackdrop();
104
+ if (!existingBackdrop) {
105
+ const backdrop = document.createElement("div");
106
+ backdrop.classList.add(_useZoomableModule.default.backdrop);
107
+ backdrop.addEventListener("click", _unzoom);
108
+ backdrop.setAttribute("data-zoomable", zoomableID);
109
+ document.body.appendChild(backdrop);
110
+ (0, _client.createRoot)(backdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
111
+ } else {
112
+ (0, _client.createRoot)(existingBackdrop).render( /*#__PURE__*/_react.default.createElement(HeroMount, null));
113
+ }
114
+ }
115
+ (0, _react.useEffect)(() => {
116
+ const el = zoomableEl.current;
117
+ el.classList.add(_useZoomableModule.default.zoomableIndicator);
118
+ el.addEventListener("click", _zoom);
119
+ return () => {
120
+ el.classList.remove(_useZoomableModule.default.zoomableIndicator);
121
+ const bd = getBackdrop();
122
+ if (bd) {
123
+ bd.style.opacity = "0";
124
+ bd.addEventListener("transitionend", () => {
125
+ bd.remove();
126
+ });
127
+ }
125
128
  };
129
+ }, []);
130
+ const mergedRefs = (0, _useMergeRefs.useMergeRefsFunc)(heroRef, zoomableEl);
131
+ return {
132
+ zoomableEl: mergedRefs
133
+ };
126
134
  }
127
- exports.default = useZoomable;
128
- //# sourceMappingURL=useZoomable.js.map
135
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xpZW50IiwiX3JlYWN0RG9tIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2Vab29tYWJsZU1vZHVsZSIsIl91c2VIZXJvIiwiX3VzZU1lcmdlUmVmcyIsIl9vd25FdmVudCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJ1c2Vab29tYWJsZSIsImlkIiwiem9vbWFibGVJRCIsInVzZU1lbW8iLCJjb25jYXQiLCJnZXRCYWNrZHJvcCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImhlcm9SZWYiLCJ0cmlnZ2VyIiwidXNlSGVybyIsInJlcGVhdGFibGUiLCJvbkhlcm9TdGFydCIsImNsb25lIiwiYmQiLCJyZW1vdmVDYiIsIl9yZWYiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiY29uc29sZSIsImVycm9yIiwicmVtb3ZlIiwic3R5bGUiLCJvcGFjaXR5IiwibWlkZGxld2F5Q2xpY2siLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX3pvb20iLCJhZGRFdmVudExpc3RlbmVyIiwib3duRXZlbnQiLCJ6b29tYWJsZUVsIiwidXNlUmVmIiwiX3Vuem9vbSIsImVsIiwiY3VycmVudCIsImVsQ2xvbmUiLCJjbG9uZU5vZGUiLCJ2aXNpYmlsaXR5IiwiSGVyb01vdW50IiwidW56b29tQ2IiLCJvbkhlcm9FbmQiLCJjbGFzc0xpc3QiLCJTdHlsZXMiLCJ6b29tYWJsZUluZGljYXRvciIsImNyZWF0ZUVsZW1lbnQiLCJyZWYiLCJhcHBlbmRDaGlsZCIsInZlcnRpY2FsUHJvcG9ydGlvbiIsImNsaWVudFdpZHRoIiwiY2xpZW50SGVpZ2h0IiwidGFyZ2V0V2lkdGgiLCJob3Jpem9udGFsUHJvcG9ydGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwiZXhpc3RpbmdCYWNrZHJvcCIsImJhY2tkcm9wIiwiYWRkIiwic2V0QXR0cmlidXRlIiwiYm9keSIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJ1c2VFZmZlY3QiLCJtZXJnZWRSZWZzIiwidXNlTWVyZ2VSZWZzRnVuYyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91aS91c2Vab29tYWJsZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSBcInJlYWN0LWRvbS9jbGllbnRcIjtcbmltcG9ydCBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL3VzZVpvb21hYmxlLm1vZHVsZS5zY3NzXCI7XG5pbXBvcnQgdXNlSGVybyBmcm9tIFwiLi4vdXNlSGVyb1wiO1xuaW1wb3J0IHsgdXNlTWVyZ2VSZWZzRnVuYyB9IGZyb20gXCIuLi91c2VNZXJnZVJlZnNcIjtcbmltcG9ydCBvd25FdmVudCBmcm9tIFwiLi4vLi4vdXRpbHMvb3duRXZlbnRcIjtcbi8qKlxuICogQWxsb3dzIGFuIGVsZW1lbnQgdG8gYmUgem9vbWFibGUgZm9yIGZ1bGxzY3JlZW5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlWm9vbWFibGUoaWQ6IHN0cmluZykge1xuICBjb25zdCB6b29tYWJsZUlEID0gdXNlTWVtbygoKSA9PiBgem9vbWFibGUtJHtpZH1gLCBbXSk7XG4gIGNvbnN0IGdldEJhY2tkcm9wID0gKCkgPT4ge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYFtkYXRhLXpvb21hYmxlPVwiJHt6b29tYWJsZUlEfVwiXWBcbiAgICApISBhcyBIVE1MRGl2RWxlbWVudDtcbiAgfTtcbiAgY29uc3QgeyBoZXJvUmVmLCB0cmlnZ2VyIH0gPSB1c2VIZXJvKFxuICAgIHpvb21hYmxlSUQsXG4gICAge1xuICAgICAgXCJkYXRhLXByZWZmaXhcIjogXCJ6b29tYWJsZVwiLFxuICAgICAgcmVwZWF0YWJsZTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG9uSGVyb1N0YXJ0OiAoY2xvbmUsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgY29uc3QgYmQgPSBnZXRCYWNrZHJvcCgpO1xuICAgICAgICBjb25zdCByZW1vdmVDYiA9ICh7IGN1cnJlbnRUYXJnZXQsIHRhcmdldCB9OiBUcmFuc2l0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBjdXJyZW50VGFyZ2V0KSB7XG4gICAgICAgICAgICBpZiAoKFwidW5tb3VudENvbXBvbmVudEF0Tm9kZVwiIGluIFJlYWN0RE9NKSBhcyBhbnkpXG4gICAgICAgICAgICAgIChSZWFjdERPTSBhcyBhbnkpLnVubW91bnRDb21wb25lbnRBdE5vZGUoYmQpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiVGhpcyBjb21wb25lbnQgZG9lc24ndCB3b3JrIHdpdGggdGhlIG5ldyB2ZXJzaW9ucyBvZiByZWFjdCB5ZXQuLi5cIilcbiAgICAgICAgICAgIGJkLnJlbW92ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgYmQuc3R5bGUub3BhY2l0eSA9IFwiMFwiO1xuICAgICAgICBjb25zdCBtaWRkbGV3YXlDbGljayA9ICgpID0+IHtcbiAgICAgICAgICBiZC5yZW1vdmVFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCByZW1vdmVDYik7XG4gICAgICAgICAgY2xvbmUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG1pZGRsZXdheUNsaWNrKTtcbiAgICAgICAgICBfem9vbSgpO1xuICAgICAgICB9O1xuICAgICAgICBjbG9uZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgbWlkZGxld2F5Q2xpY2spO1xuICAgICAgICBiZC5hZGRFdmVudExpc3RlbmVyKFwidHJhbnNpdGlvbmVuZFwiLCByZW1vdmVDYik7XG4gICAgICAgIGJkLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uc3RhcnRcIiwgKCkgPT4ge1xuICAgICAgICAgIGJkLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICBcInRyYW5zaXRpb25jYW5jZWxcIixcbiAgICAgICAgICAgIG93bkV2ZW50KCgpID0+IGJkLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIHJlbW92ZUNiKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfVxuICApO1xuICBjb25zdCB6b29tYWJsZUVsID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgZnVuY3Rpb24gX3Vuem9vbSgpIHtcbiAgICB0cmlnZ2VyKCk7XG4gIH1cblxuICBmdW5jdGlvbiBfem9vbSgpIHtcbiAgICBjb25zdCBlbCA9IHpvb21hYmxlRWwuY3VycmVudCE7XG4gICAgY29uc3QgZWxDbG9uZSA9IGVsLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBlbENsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuXG4gICAgZnVuY3Rpb24gSGVyb01vdW50KCkge1xuICAgICAgY29uc3QgeyBoZXJvUmVmIH0gPSB1c2VIZXJvKFxuICAgICAgICB6b29tYWJsZUlELFxuICAgICAgICB7XG4gICAgICAgICAgXCJkYXRhLXByZWZmaXhcIjogXCJ6b29tYWJsZVwiLFxuICAgICAgICAgIHJlcGVhdGFibGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvbkhlcm9TdGFydDogKGNsb25lLCAuLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICBnZXRCYWNrZHJvcCgpLnN0eWxlLm9wYWNpdHkgPSBcIjFcIjtcbiAgICAgICAgICAgIGNvbnN0IHVuem9vbUNiID0gKCkgPT4ge1xuICAgICAgICAgICAgICBfdW56b29tKCk7XG4gICAgICAgICAgICAgIGNsb25lLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB1bnpvb21DYik7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2xvbmUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHVuem9vbUNiKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uSGVyb0VuZDogKCkgPT4ge1xuICAgICAgICAgICAgaGVyb1JlZi5jdXJyZW50IS5jbGFzc0xpc3QucmVtb3ZlKFN0eWxlcy56b29tYWJsZUluZGljYXRvcik7XG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17KHJlZikgPT4ge1xuICAgICAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgICByZWYuYXBwZW5kQ2hpbGQoZWxDbG9uZSk7XG4gICAgICAgICAgICAgIChoZXJvUmVmIGFzIGFueSkuY3VycmVudCA9IGVsQ2xvbmU7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsUHJvcG9ydGlvbiA9IGVsLmNsaWVudFdpZHRoIC8gZWwuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXRXaWR0aCA9IHJlZi5jbGllbnRIZWlnaHQgKiB2ZXJ0aWNhbFByb3BvcnRpb247XG5cbiAgICAgICAgICAgICAgaWYgKHRhcmdldFdpZHRoID4gcmVmLmNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaG9yaXpvbnRhbFByb3BvcnRpb24gPSBlbC5jbGllbnRIZWlnaHQgLyBlbC5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgICAgICBlbENsb25lLnN0eWxlLndpZHRoID0gcmVmLmNsaWVudFdpZHRoICsgXCJweFwiO1xuICAgICAgICAgICAgICAgIGVsQ2xvbmUuc3R5bGUuaGVpZ2h0ID1cbiAgICAgICAgICAgICAgICAgIHJlZi5jbGllbnRXaWR0aCAqIGhvcml6b250YWxQcm9wb3J0aW9uICsgXCJweFwiO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVsQ2xvbmUuc3R5bGUuaGVpZ2h0ID0gcmVmLmNsaWVudEhlaWdodCArIFwicHhcIjtcbiAgICAgICAgICAgICAgICBlbENsb25lLnN0eWxlLndpZHRoID0gdGFyZ2V0V2lkdGggKyBcInB4XCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdGluZ0JhY2tkcm9wID0gZ2V0QmFja2Ryb3AoKTtcbiAgICBpZiAoIWV4aXN0aW5nQmFja2Ryb3ApIHtcbiAgICAgIGNvbnN0IGJhY2tkcm9wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcblxuICAgICAgYmFja2Ryb3AuY2xhc3NMaXN0LmFkZChTdHlsZXMuYmFja2Ryb3ApO1xuICAgICAgYmFja2Ryb3AuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIF91bnpvb20pO1xuICAgICAgYmFja2Ryb3Auc2V0QXR0cmlidXRlKFwiZGF0YS16b29tYWJsZVwiLCB6b29tYWJsZUlEKTtcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChiYWNrZHJvcCk7XG4gICAgICBjcmVhdGVSb290KGJhY2tkcm9wKS5yZW5kZXIoPEhlcm9Nb3VudCAvPik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZVJvb3QoZXhpc3RpbmdCYWNrZHJvcCkucmVuZGVyKDxIZXJvTW91bnQgLz4pO1xuICAgIH1cbiAgfVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gem9vbWFibGVFbC5jdXJyZW50ITtcbiAgICBlbC5jbGFzc0xpc3QuYWRkKFN0eWxlcy56b29tYWJsZUluZGljYXRvcik7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIF96b29tKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwuY2xhc3NMaXN0LnJlbW92ZShTdHlsZXMuem9vbWFibGVJbmRpY2F0b3IpO1xuICAgICAgY29uc3QgYmQgPSBnZXRCYWNrZHJvcCgpO1xuICAgICAgaWYgKGJkKSB7XG4gICAgICAgIGJkLnN0eWxlLm9wYWNpdHkgPSBcIjBcIjtcbiAgICAgICAgYmQuYWRkRXZlbnRMaXN0ZW5lcihcInRyYW5zaXRpb25lbmRcIiwgKCkgPT4ge1xuICAgICAgICAgIGJkLnJlbW92ZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgY29uc3QgbWVyZ2VkUmVmcyA9IHVzZU1lcmdlUmVmc0Z1bmMoaGVyb1JlZiwgem9vbWFibGVFbCk7XG5cbiAgcmV0dXJuIHtcbiAgICB6b29tYWJsZUVsOiBtZXJnZWRSZWZzLFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sU0FBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQTRDLFNBQUFHLHVCQUFBSyxHQUFBLFdB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