indicator-ui 0.0.342 → 0.0.344
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/dist/index.js
CHANGED
|
@@ -41463,6 +41463,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
41463
41463
|
/* harmony export */ useInteractiveZone: () => (/* reexport safe */ _useInteractiveZone__WEBPACK_IMPORTED_MODULE_10__.useInteractiveZone),
|
|
41464
41464
|
/* harmony export */ useIsErrorField: () => (/* reexport safe */ _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__.useIsErrorField),
|
|
41465
41465
|
/* harmony export */ useResettableTimeout: () => (/* reexport safe */ _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__.useResettableTimeout),
|
|
41466
|
+
/* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__.useSmartPlacementResolver),
|
|
41466
41467
|
/* harmony export */ useSmartPosition: () => (/* reexport safe */ _useSmartPosition__WEBPACK_IMPORTED_MODULE_7__.useSmartPosition),
|
|
41467
41468
|
/* harmony export */ useSmartScroll: () => (/* reexport safe */ _useSmartScroll__WEBPACK_IMPORTED_MODULE_9__.useSmartScroll),
|
|
41468
41469
|
/* harmony export */ useSyncedStateRef: () => (/* reexport safe */ _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_5__.useSyncedStateRef)
|
|
@@ -41479,6 +41480,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
41479
41480
|
/* harmony import */ var _useSmartScroll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./useSmartScroll */ "./src/hooks/useSmartScroll/index.ts");
|
|
41480
41481
|
/* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
|
|
41481
41482
|
/* harmony import */ var _useDidUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useDidUpdateEffect */ "./src/hooks/useDidUpdateEffect.ts");
|
|
41483
|
+
/* harmony import */ var _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
|
|
41484
|
+
|
|
41482
41485
|
|
|
41483
41486
|
|
|
41484
41487
|
|
|
@@ -42053,28 +42056,31 @@ function useResettableTimeout() {
|
|
|
42053
42056
|
|
|
42054
42057
|
/***/ }),
|
|
42055
42058
|
|
|
42056
|
-
/***/ "./src/hooks/
|
|
42057
|
-
|
|
42058
|
-
!*** ./src/hooks/
|
|
42059
|
-
|
|
42059
|
+
/***/ "./src/hooks/useSmartPlacementResolver.ts":
|
|
42060
|
+
/*!************************************************!*\
|
|
42061
|
+
!*** ./src/hooks/useSmartPlacementResolver.ts ***!
|
|
42062
|
+
\************************************************/
|
|
42060
42063
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
42061
42064
|
|
|
42062
42065
|
"use strict";
|
|
42063
42066
|
__webpack_require__.r(__webpack_exports__);
|
|
42064
42067
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
42065
|
-
/* harmony export */
|
|
42068
|
+
/* harmony export */ useSmartPlacementResolver: () => (/* binding */ useSmartPlacementResolver)
|
|
42066
42069
|
/* harmony export */ });
|
|
42067
|
-
|
|
42068
|
-
|
|
42070
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
42071
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
42072
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
42073
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
42074
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
42075
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
42069
42076
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
42070
42077
|
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."); }
|
|
42071
42078
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
42072
42079
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
42073
42080
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
42074
42081
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
42075
|
-
|
|
42076
42082
|
var DEFAULT_OFFSET_FROM_PARENT__PX = 4;
|
|
42077
|
-
var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.
|
|
42083
|
+
var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.6, 0.5]];
|
|
42078
42084
|
/**
|
|
42079
42085
|
* Хук для умного позиционирования элемента.
|
|
42080
42086
|
*
|
|
@@ -42091,24 +42097,24 @@ var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.5, 0.5]];
|
|
|
42091
42097
|
* @example
|
|
42092
42098
|
* @param args
|
|
42093
42099
|
*/
|
|
42094
|
-
function
|
|
42100
|
+
function useSmartPlacementResolver() {
|
|
42095
42101
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42096
42102
|
args[_key] = arguments[_key];
|
|
42097
42103
|
}
|
|
42098
42104
|
var ref = args[0],
|
|
42099
|
-
|
|
42100
|
-
|
|
42101
|
-
windowRef =
|
|
42102
|
-
|
|
42103
|
-
offset =
|
|
42104
|
-
|
|
42105
|
-
position =
|
|
42106
|
-
|
|
42107
|
-
weights =
|
|
42108
|
-
|
|
42109
|
-
alignX =
|
|
42110
|
-
|
|
42111
|
-
alignY =
|
|
42105
|
+
options = args[1];
|
|
42106
|
+
var parentRef = options.parentRef,
|
|
42107
|
+
windowRef = options.windowRef,
|
|
42108
|
+
_options$offset = options.offset,
|
|
42109
|
+
offset = _options$offset === void 0 ? DEFAULT_OFFSET_FROM_PARENT__PX : _options$offset,
|
|
42110
|
+
_options$position = options.position,
|
|
42111
|
+
position = _options$position === void 0 ? 'fixed' : _options$position,
|
|
42112
|
+
_options$weights = options.weights,
|
|
42113
|
+
weights = _options$weights === void 0 ? DEFAULT_WEIGHTS : _options$weights,
|
|
42114
|
+
_options$alignX = options.alignX,
|
|
42115
|
+
alignX = _options$alignX === void 0 ? 'center' : _options$alignX,
|
|
42116
|
+
_options$alignY = options.alignY,
|
|
42117
|
+
alignY = _options$alignY === void 0 ? 'center' : _options$alignY;
|
|
42112
42118
|
var getSizeOfObj = function getSizeOfObj() {
|
|
42113
42119
|
var _ref$current;
|
|
42114
42120
|
var rect = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
|
|
@@ -42195,9 +42201,9 @@ function useSmartPosition() {
|
|
|
42195
42201
|
} else {
|
|
42196
42202
|
newLeft = -w - offset;
|
|
42197
42203
|
}
|
|
42198
|
-
|
|
42199
|
-
|
|
42200
|
-
}
|
|
42204
|
+
return {
|
|
42205
|
+
left: newLeft
|
|
42206
|
+
};
|
|
42201
42207
|
};
|
|
42202
42208
|
var replaceOnCenterX = function replaceOnCenterX() {
|
|
42203
42209
|
var _getSizeOfObj5 = getSizeOfObj(),
|
|
@@ -42227,9 +42233,9 @@ function useSmartPosition() {
|
|
|
42227
42233
|
} else {
|
|
42228
42234
|
newLeft = pW / 2 - stepX;
|
|
42229
42235
|
}
|
|
42230
|
-
|
|
42231
|
-
|
|
42232
|
-
}
|
|
42236
|
+
return {
|
|
42237
|
+
left: newLeft
|
|
42238
|
+
};
|
|
42233
42239
|
};
|
|
42234
42240
|
var replaceOnRightSide = function replaceOnRightSide() {
|
|
42235
42241
|
var _getSizeOfParent5 = getSizeOfParent(),
|
|
@@ -42244,9 +42250,9 @@ function useSmartPosition() {
|
|
|
42244
42250
|
} else {
|
|
42245
42251
|
newLeft = pW + offset;
|
|
42246
42252
|
}
|
|
42247
|
-
|
|
42248
|
-
|
|
42249
|
-
}
|
|
42253
|
+
return {
|
|
42254
|
+
left: newLeft
|
|
42255
|
+
};
|
|
42250
42256
|
};
|
|
42251
42257
|
var replaceOnTopSide = function replaceOnTopSide() {
|
|
42252
42258
|
var _getSizeOfObj7 = getSizeOfObj(),
|
|
@@ -42261,9 +42267,9 @@ function useSmartPosition() {
|
|
|
42261
42267
|
} else {
|
|
42262
42268
|
newTop = -h - offset;
|
|
42263
42269
|
}
|
|
42264
|
-
|
|
42265
|
-
|
|
42266
|
-
}
|
|
42270
|
+
return {
|
|
42271
|
+
top: newTop
|
|
42272
|
+
};
|
|
42267
42273
|
};
|
|
42268
42274
|
var replaceOnCenterY = function replaceOnCenterY() {
|
|
42269
42275
|
var _getSizeOfObj9 = getSizeOfObj(),
|
|
@@ -42293,9 +42299,9 @@ function useSmartPosition() {
|
|
|
42293
42299
|
} else {
|
|
42294
42300
|
newTop = pH / 2 - stepY;
|
|
42295
42301
|
}
|
|
42296
|
-
|
|
42297
|
-
|
|
42298
|
-
}
|
|
42302
|
+
return {
|
|
42303
|
+
top: newTop
|
|
42304
|
+
};
|
|
42299
42305
|
};
|
|
42300
42306
|
var replaceOnBottomSide = function replaceOnBottomSide() {
|
|
42301
42307
|
var _getSizeOfParent9 = getSizeOfParent(),
|
|
@@ -42310,44 +42316,36 @@ function useSmartPosition() {
|
|
|
42310
42316
|
} else {
|
|
42311
42317
|
newTop = pH + offset;
|
|
42312
42318
|
}
|
|
42313
|
-
|
|
42314
|
-
|
|
42315
|
-
}
|
|
42319
|
+
return {
|
|
42320
|
+
top: newTop
|
|
42321
|
+
};
|
|
42316
42322
|
};
|
|
42317
42323
|
var replaceLeftTop = function replaceLeftTop() {
|
|
42318
|
-
replaceOnLeftSide();
|
|
42319
|
-
replaceOnTopSide();
|
|
42324
|
+
return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnTopSide());
|
|
42320
42325
|
};
|
|
42321
42326
|
var replaceLeftCenter = function replaceLeftCenter() {
|
|
42322
|
-
replaceOnLeftSide();
|
|
42323
|
-
replaceOnCenterY();
|
|
42327
|
+
return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnCenterY());
|
|
42324
42328
|
};
|
|
42325
42329
|
var replaceLeftBottom = function replaceLeftBottom() {
|
|
42326
|
-
replaceOnLeftSide();
|
|
42327
|
-
replaceOnBottomSide();
|
|
42330
|
+
return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnBottomSide());
|
|
42328
42331
|
};
|
|
42329
42332
|
var replaceRightTop = function replaceRightTop() {
|
|
42330
|
-
replaceOnRightSide();
|
|
42331
|
-
replaceOnTopSide();
|
|
42333
|
+
return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnTopSide());
|
|
42332
42334
|
};
|
|
42333
42335
|
var replaceRightCenter = function replaceRightCenter() {
|
|
42334
|
-
replaceOnRightSide();
|
|
42335
|
-
replaceOnCenterY();
|
|
42336
|
+
return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnCenterY());
|
|
42336
42337
|
};
|
|
42337
42338
|
var replaceRightBottom = function replaceRightBottom() {
|
|
42338
|
-
replaceOnRightSide();
|
|
42339
|
-
replaceOnBottomSide();
|
|
42339
|
+
return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnBottomSide());
|
|
42340
42340
|
};
|
|
42341
42341
|
var replaceTopCenter = function replaceTopCenter() {
|
|
42342
|
-
replaceOnTopSide();
|
|
42343
|
-
replaceOnCenterX();
|
|
42342
|
+
return _objectSpread(_objectSpread({}, replaceOnTopSide()), replaceOnCenterX());
|
|
42344
42343
|
};
|
|
42345
42344
|
var replaceBottomCenter = function replaceBottomCenter() {
|
|
42346
|
-
replaceOnBottomSide();
|
|
42347
|
-
replaceOnCenterX();
|
|
42345
|
+
return _objectSpread(_objectSpread({}, replaceOnBottomSide()), replaceOnCenterX());
|
|
42348
42346
|
};
|
|
42349
42347
|
var callbacksMatrix = [[replaceLeftTop, replaceTopCenter, replaceRightTop], [replaceLeftCenter, undefined, replaceRightCenter], [replaceLeftBottom, replaceBottomCenter, replaceRightBottom]];
|
|
42350
|
-
var
|
|
42348
|
+
var changePosCalc = function changePosCalc() {
|
|
42351
42349
|
var _getAvailablePlacemen = getAvailablePlacements(),
|
|
42352
42350
|
_getAvailablePlacemen2 = _slicedToArray(_getAvailablePlacemen, 6),
|
|
42353
42351
|
T = _getAvailablePlacemen2[0],
|
|
@@ -42361,8 +42359,15 @@ function useSmartPosition() {
|
|
|
42361
42359
|
var max = getMaxPosition(resMatrix);
|
|
42362
42360
|
if (max.val !== 0) {
|
|
42363
42361
|
var _callbacksMatrix$max$, _callbacksMatrix$max$2;
|
|
42364
|
-
(_callbacksMatrix$max$ = (_callbacksMatrix$max$2 = callbacksMatrix[max.pos[0]])[max.pos[1]]) === null || _callbacksMatrix$max$ === void 0
|
|
42362
|
+
var newPos = (_callbacksMatrix$max$ = (_callbacksMatrix$max$2 = callbacksMatrix[max.pos[0]])[max.pos[1]]) === null || _callbacksMatrix$max$ === void 0 ? void 0 : _callbacksMatrix$max$.call(_callbacksMatrix$max$2);
|
|
42363
|
+
if (newPos) {
|
|
42364
|
+
return newPos;
|
|
42365
|
+
}
|
|
42365
42366
|
}
|
|
42367
|
+
return {
|
|
42368
|
+
left: 0,
|
|
42369
|
+
top: 0
|
|
42370
|
+
};
|
|
42366
42371
|
};
|
|
42367
42372
|
var configurateObj = function configurateObj() {
|
|
42368
42373
|
if (ref !== null && ref !== void 0 && ref.current) {
|
|
@@ -42372,43 +42377,16 @@ function useSmartPosition() {
|
|
|
42372
42377
|
parentRef.current.style.position = 'relative';
|
|
42373
42378
|
}
|
|
42374
42379
|
};
|
|
42375
|
-
var
|
|
42376
|
-
entries.forEach(function (entry) {
|
|
42377
|
-
if (entry.isIntersecting) {
|
|
42378
|
-
resizeListener();
|
|
42379
|
-
}
|
|
42380
|
-
});
|
|
42381
|
-
}, {
|
|
42382
|
-
threshold: [0, 0.5, 1]
|
|
42383
|
-
}));
|
|
42384
|
-
var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(new ResizeObserver(resizeListener));
|
|
42385
|
-
var setUpListeners = function setUpListeners() {
|
|
42386
|
-
window.addEventListener('resize', resizeListener);
|
|
42387
|
-
if (ref.current) viewObserver.current.observe(ref.current);
|
|
42388
|
-
if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.observe(parentRef.current);
|
|
42389
|
-
if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.observe(windowRef.current);
|
|
42390
|
-
};
|
|
42391
|
-
var clearListeners = function clearListeners() {
|
|
42392
|
-
if (ref.current) viewObserver.current.unobserve(ref.current);
|
|
42393
|
-
if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.unobserve(parentRef.current);
|
|
42394
|
-
if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.unobserve(windowRef.current);
|
|
42395
|
-
window.removeEventListener('resize', resizeListener);
|
|
42396
|
-
window.removeEventListener('scroll', resizeListener);
|
|
42397
|
-
};
|
|
42398
|
-
var setUpHook = function setUpHook() {
|
|
42380
|
+
var init = function init() {
|
|
42399
42381
|
configurateObj();
|
|
42400
|
-
|
|
42401
|
-
setUpListeners();
|
|
42382
|
+
return changePosCalc();
|
|
42402
42383
|
};
|
|
42403
|
-
|
|
42404
|
-
|
|
42405
|
-
return clearListeners;
|
|
42406
|
-
}, []);
|
|
42407
|
-
var recalc = function recalc() {
|
|
42408
|
-
setUpHook();
|
|
42384
|
+
var calc = function calc() {
|
|
42385
|
+
return changePosCalc();
|
|
42409
42386
|
};
|
|
42410
42387
|
return {
|
|
42411
|
-
|
|
42388
|
+
init: init,
|
|
42389
|
+
calc: calc
|
|
42412
42390
|
};
|
|
42413
42391
|
}
|
|
42414
42392
|
function getMaxPosition(matrix) {
|
|
@@ -42438,6 +42416,109 @@ function elementwiseMultiply(m1, m2) {
|
|
|
42438
42416
|
|
|
42439
42417
|
/***/ }),
|
|
42440
42418
|
|
|
42419
|
+
/***/ "./src/hooks/useSmartPosition.ts":
|
|
42420
|
+
/*!***************************************!*\
|
|
42421
|
+
!*** ./src/hooks/useSmartPosition.ts ***!
|
|
42422
|
+
\***************************************/
|
|
42423
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
42424
|
+
|
|
42425
|
+
"use strict";
|
|
42426
|
+
__webpack_require__.r(__webpack_exports__);
|
|
42427
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
42428
|
+
/* harmony export */ useSmartPosition: () => (/* binding */ useSmartPosition)
|
|
42429
|
+
/* harmony export */ });
|
|
42430
|
+
/* harmony import */ var _hooks_useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/hooks/useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
|
|
42431
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
|
|
42432
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
42433
|
+
|
|
42434
|
+
|
|
42435
|
+
function useSmartPosition() {
|
|
42436
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42437
|
+
args[_key] = arguments[_key];
|
|
42438
|
+
}
|
|
42439
|
+
var ref = args[0],
|
|
42440
|
+
_args$ = args[1],
|
|
42441
|
+
options = _args$ === void 0 ? {} : _args$,
|
|
42442
|
+
_args$2 = args[2],
|
|
42443
|
+
callbacks = _args$2 === void 0 ? {} : _args$2;
|
|
42444
|
+
var parentRef = options.parentRef,
|
|
42445
|
+
windowRef = options.windowRef;
|
|
42446
|
+
var onChangePlacement = callbacks.onChangePlacement,
|
|
42447
|
+
onInitPlacement = callbacks.onInitPlacement;
|
|
42448
|
+
var lastPlacement = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(undefined);
|
|
42449
|
+
var _useSmartPlacementRes = (0,_hooks_useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_0__.useSmartPlacementResolver)(ref, options),
|
|
42450
|
+
init = _useSmartPlacementRes.init,
|
|
42451
|
+
calc = _useSmartPlacementRes.calc;
|
|
42452
|
+
var setUp = function setUp() {
|
|
42453
|
+
var pos = init();
|
|
42454
|
+
setPos(pos);
|
|
42455
|
+
handleInitPlacement(pos);
|
|
42456
|
+
setUpListeners();
|
|
42457
|
+
};
|
|
42458
|
+
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
|
|
42459
|
+
setUp();
|
|
42460
|
+
return clearListeners;
|
|
42461
|
+
}, []);
|
|
42462
|
+
var setPos = function setPos(pos) {
|
|
42463
|
+
var obj = ref.current;
|
|
42464
|
+
if (obj) {
|
|
42465
|
+
obj.style.top = pos.top + 'px';
|
|
42466
|
+
obj.style.left = pos.left + 'px';
|
|
42467
|
+
}
|
|
42468
|
+
};
|
|
42469
|
+
var handleInitPlacement = function handleInitPlacement(pos) {
|
|
42470
|
+
onInitPlacement(pos);
|
|
42471
|
+
lastPlacement.current = pos;
|
|
42472
|
+
};
|
|
42473
|
+
var isEqualPos = function isEqualPos(a, b) {
|
|
42474
|
+
return a.left === b.left && a.top === b.top;
|
|
42475
|
+
};
|
|
42476
|
+
var handleChangePlacement = function handleChangePlacement(pos) {
|
|
42477
|
+
var lastPos = lastPlacement.current;
|
|
42478
|
+
if (!isEqualPos(lastPos, pos)) {
|
|
42479
|
+
onChangePlacement(pos);
|
|
42480
|
+
lastPlacement.current = pos;
|
|
42481
|
+
}
|
|
42482
|
+
};
|
|
42483
|
+
var resizeListener = function resizeListener() {
|
|
42484
|
+
var newPos = calc();
|
|
42485
|
+
setPos(newPos);
|
|
42486
|
+
handleChangePlacement(newPos);
|
|
42487
|
+
};
|
|
42488
|
+
var recalc = function recalc() {
|
|
42489
|
+
setUp();
|
|
42490
|
+
};
|
|
42491
|
+
var viewObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new IntersectionObserver(function (entries) {
|
|
42492
|
+
entries.forEach(function (entry) {
|
|
42493
|
+
console.log(entry);
|
|
42494
|
+
if (entry.isIntersecting) {
|
|
42495
|
+
resizeListener();
|
|
42496
|
+
}
|
|
42497
|
+
});
|
|
42498
|
+
}, {
|
|
42499
|
+
threshold: [0, 0.5, 1]
|
|
42500
|
+
}));
|
|
42501
|
+
var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new ResizeObserver(resizeListener));
|
|
42502
|
+
var setUpListeners = function setUpListeners() {
|
|
42503
|
+
window.addEventListener('resize', resizeListener);
|
|
42504
|
+
if (ref.current) viewObserver.current.observe(ref.current);
|
|
42505
|
+
if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.observe(parentRef.current);
|
|
42506
|
+
if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.observe(windowRef.current);
|
|
42507
|
+
};
|
|
42508
|
+
var clearListeners = function clearListeners() {
|
|
42509
|
+
if (ref.current) viewObserver.current.unobserve(ref.current);
|
|
42510
|
+
if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.unobserve(parentRef.current);
|
|
42511
|
+
if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.unobserve(windowRef.current);
|
|
42512
|
+
window.removeEventListener('resize', resizeListener);
|
|
42513
|
+
window.removeEventListener('scroll', resizeListener);
|
|
42514
|
+
};
|
|
42515
|
+
return {
|
|
42516
|
+
recalc: recalc
|
|
42517
|
+
};
|
|
42518
|
+
}
|
|
42519
|
+
|
|
42520
|
+
/***/ }),
|
|
42521
|
+
|
|
42441
42522
|
/***/ "./src/hooks/useSmartScroll/hooks/index.ts":
|
|
42442
42523
|
/*!*************************************************!*\
|
|
42443
42524
|
!*** ./src/hooks/useSmartScroll/hooks/index.ts ***!
|
|
@@ -57094,6 +57175,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
57094
57175
|
/* harmony export */ useInteractiveZone: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useInteractiveZone),
|
|
57095
57176
|
/* harmony export */ useIsErrorField: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useIsErrorField),
|
|
57096
57177
|
/* harmony export */ useResettableTimeout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResettableTimeout),
|
|
57178
|
+
/* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPlacementResolver),
|
|
57097
57179
|
/* harmony export */ useSmartPosition: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPosition),
|
|
57098
57180
|
/* harmony export */ useSmartScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartScroll),
|
|
57099
57181
|
/* harmony export */ useSyncedStateRef: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSyncedStateRef)
|