indicator-ui 0.0.342 → 0.0.343

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
@@ -42053,28 +42053,31 @@ function useResettableTimeout() {
42053
42053
 
42054
42054
  /***/ }),
42055
42055
 
42056
- /***/ "./src/hooks/useSmartPosition.ts":
42057
- /*!***************************************!*\
42058
- !*** ./src/hooks/useSmartPosition.ts ***!
42059
- \***************************************/
42056
+ /***/ "./src/hooks/useSmartPlacementResolver.ts":
42057
+ /*!************************************************!*\
42058
+ !*** ./src/hooks/useSmartPlacementResolver.ts ***!
42059
+ \************************************************/
42060
42060
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
42061
42061
 
42062
42062
  "use strict";
42063
42063
  __webpack_require__.r(__webpack_exports__);
42064
42064
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42065
- /* harmony export */ useSmartPosition: () => (/* binding */ useSmartPosition)
42065
+ /* harmony export */ useSmartPlacementResolver: () => (/* binding */ useSmartPlacementResolver)
42066
42066
  /* harmony export */ });
42067
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
42068
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
42067
+ 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); }
42068
+ 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; }
42069
+ 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; }
42070
+ 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; }
42071
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
42072
+ 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
42073
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
42070
42074
  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
42075
  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
42076
  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
42077
  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
42078
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
42075
-
42076
42079
  var DEFAULT_OFFSET_FROM_PARENT__PX = 4;
42077
- var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.5, 0.5]];
42080
+ var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.6, 0.5]];
42078
42081
  /**
42079
42082
  * Хук для умного позиционирования элемента.
42080
42083
  *
@@ -42091,24 +42094,24 @@ var DEFAULT_WEIGHTS = [[0.5, 1.5, 0.5], [1, 0, 1], [0.5, 1.5, 0.5]];
42091
42094
  * @example
42092
42095
  * @param args
42093
42096
  */
42094
- function useSmartPosition() {
42097
+ function useSmartPlacementResolver() {
42095
42098
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42096
42099
  args[_key] = arguments[_key];
42097
42100
  }
42098
42101
  var ref = args[0],
42099
- _args$ = args[1],
42100
- parentRef = _args$.parentRef,
42101
- windowRef = _args$.windowRef,
42102
- _args$$offset = _args$.offset,
42103
- offset = _args$$offset === void 0 ? DEFAULT_OFFSET_FROM_PARENT__PX : _args$$offset,
42104
- _args$$position = _args$.position,
42105
- position = _args$$position === void 0 ? 'fixed' : _args$$position,
42106
- _args$$weights = _args$.weights,
42107
- weights = _args$$weights === void 0 ? DEFAULT_WEIGHTS : _args$$weights,
42108
- _args$$alignX = _args$.alignX,
42109
- alignX = _args$$alignX === void 0 ? 'center' : _args$$alignX,
42110
- _args$$alignY = _args$.alignY,
42111
- alignY = _args$$alignY === void 0 ? 'center' : _args$$alignY;
42102
+ options = args[1];
42103
+ var parentRef = options.parentRef,
42104
+ windowRef = options.windowRef,
42105
+ _options$offset = options.offset,
42106
+ offset = _options$offset === void 0 ? DEFAULT_OFFSET_FROM_PARENT__PX : _options$offset,
42107
+ _options$position = options.position,
42108
+ position = _options$position === void 0 ? 'fixed' : _options$position,
42109
+ _options$weights = options.weights,
42110
+ weights = _options$weights === void 0 ? DEFAULT_WEIGHTS : _options$weights,
42111
+ _options$alignX = options.alignX,
42112
+ alignX = _options$alignX === void 0 ? 'center' : _options$alignX,
42113
+ _options$alignY = options.alignY,
42114
+ alignY = _options$alignY === void 0 ? 'center' : _options$alignY;
42112
42115
  var getSizeOfObj = function getSizeOfObj() {
42113
42116
  var _ref$current;
42114
42117
  var rect = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.getBoundingClientRect();
@@ -42195,9 +42198,9 @@ function useSmartPosition() {
42195
42198
  } else {
42196
42199
  newLeft = -w - offset;
42197
42200
  }
42198
- if (ref.current) {
42199
- ref.current.style.left = "".concat(newLeft, "px");
42200
- }
42201
+ return {
42202
+ left: newLeft
42203
+ };
42201
42204
  };
42202
42205
  var replaceOnCenterX = function replaceOnCenterX() {
42203
42206
  var _getSizeOfObj5 = getSizeOfObj(),
@@ -42227,9 +42230,9 @@ function useSmartPosition() {
42227
42230
  } else {
42228
42231
  newLeft = pW / 2 - stepX;
42229
42232
  }
42230
- if (ref.current) {
42231
- ref.current.style.left = "".concat(newLeft, "px");
42232
- }
42233
+ return {
42234
+ left: newLeft
42235
+ };
42233
42236
  };
42234
42237
  var replaceOnRightSide = function replaceOnRightSide() {
42235
42238
  var _getSizeOfParent5 = getSizeOfParent(),
@@ -42244,9 +42247,9 @@ function useSmartPosition() {
42244
42247
  } else {
42245
42248
  newLeft = pW + offset;
42246
42249
  }
42247
- if (ref.current) {
42248
- ref.current.style.left = "".concat(newLeft, "px");
42249
- }
42250
+ return {
42251
+ left: newLeft
42252
+ };
42250
42253
  };
42251
42254
  var replaceOnTopSide = function replaceOnTopSide() {
42252
42255
  var _getSizeOfObj7 = getSizeOfObj(),
@@ -42261,9 +42264,9 @@ function useSmartPosition() {
42261
42264
  } else {
42262
42265
  newTop = -h - offset;
42263
42266
  }
42264
- if (ref.current) {
42265
- ref.current.style.top = "".concat(newTop, "px");
42266
- }
42267
+ return {
42268
+ top: newTop
42269
+ };
42267
42270
  };
42268
42271
  var replaceOnCenterY = function replaceOnCenterY() {
42269
42272
  var _getSizeOfObj9 = getSizeOfObj(),
@@ -42293,9 +42296,9 @@ function useSmartPosition() {
42293
42296
  } else {
42294
42297
  newTop = pH / 2 - stepY;
42295
42298
  }
42296
- if (ref.current) {
42297
- ref.current.style.top = "".concat(newTop, "px");
42298
- }
42299
+ return {
42300
+ top: newTop
42301
+ };
42299
42302
  };
42300
42303
  var replaceOnBottomSide = function replaceOnBottomSide() {
42301
42304
  var _getSizeOfParent9 = getSizeOfParent(),
@@ -42310,44 +42313,36 @@ function useSmartPosition() {
42310
42313
  } else {
42311
42314
  newTop = pH + offset;
42312
42315
  }
42313
- if (ref.current) {
42314
- ref.current.style.top = "".concat(newTop, "px");
42315
- }
42316
+ return {
42317
+ top: newTop
42318
+ };
42316
42319
  };
42317
42320
  var replaceLeftTop = function replaceLeftTop() {
42318
- replaceOnLeftSide();
42319
- replaceOnTopSide();
42321
+ return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnTopSide());
42320
42322
  };
42321
42323
  var replaceLeftCenter = function replaceLeftCenter() {
42322
- replaceOnLeftSide();
42323
- replaceOnCenterY();
42324
+ return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnCenterY());
42324
42325
  };
42325
42326
  var replaceLeftBottom = function replaceLeftBottom() {
42326
- replaceOnLeftSide();
42327
- replaceOnBottomSide();
42327
+ return _objectSpread(_objectSpread({}, replaceOnLeftSide()), replaceOnBottomSide());
42328
42328
  };
42329
42329
  var replaceRightTop = function replaceRightTop() {
42330
- replaceOnRightSide();
42331
- replaceOnTopSide();
42330
+ return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnTopSide());
42332
42331
  };
42333
42332
  var replaceRightCenter = function replaceRightCenter() {
42334
- replaceOnRightSide();
42335
- replaceOnCenterY();
42333
+ return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnCenterY());
42336
42334
  };
42337
42335
  var replaceRightBottom = function replaceRightBottom() {
42338
- replaceOnRightSide();
42339
- replaceOnBottomSide();
42336
+ return _objectSpread(_objectSpread({}, replaceOnRightSide()), replaceOnBottomSide());
42340
42337
  };
42341
42338
  var replaceTopCenter = function replaceTopCenter() {
42342
- replaceOnTopSide();
42343
- replaceOnCenterX();
42339
+ return _objectSpread(_objectSpread({}, replaceOnTopSide()), replaceOnCenterX());
42344
42340
  };
42345
42341
  var replaceBottomCenter = function replaceBottomCenter() {
42346
- replaceOnBottomSide();
42347
- replaceOnCenterX();
42342
+ return _objectSpread(_objectSpread({}, replaceOnBottomSide()), replaceOnCenterX());
42348
42343
  };
42349
42344
  var callbacksMatrix = [[replaceLeftTop, replaceTopCenter, replaceRightTop], [replaceLeftCenter, undefined, replaceRightCenter], [replaceLeftBottom, replaceBottomCenter, replaceRightBottom]];
42350
- var resizeListener = function resizeListener() {
42345
+ var changePosCalc = function changePosCalc() {
42351
42346
  var _getAvailablePlacemen = getAvailablePlacements(),
42352
42347
  _getAvailablePlacemen2 = _slicedToArray(_getAvailablePlacemen, 6),
42353
42348
  T = _getAvailablePlacemen2[0],
@@ -42361,8 +42356,15 @@ function useSmartPosition() {
42361
42356
  var max = getMaxPosition(resMatrix);
42362
42357
  if (max.val !== 0) {
42363
42358
  var _callbacksMatrix$max$, _callbacksMatrix$max$2;
42364
- (_callbacksMatrix$max$ = (_callbacksMatrix$max$2 = callbacksMatrix[max.pos[0]])[max.pos[1]]) === null || _callbacksMatrix$max$ === void 0 || _callbacksMatrix$max$.call(_callbacksMatrix$max$2);
42359
+ 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);
42360
+ if (newPos) {
42361
+ return newPos;
42362
+ }
42365
42363
  }
42364
+ return {
42365
+ left: 0,
42366
+ top: 0
42367
+ };
42366
42368
  };
42367
42369
  var configurateObj = function configurateObj() {
42368
42370
  if (ref !== null && ref !== void 0 && ref.current) {
@@ -42372,43 +42374,16 @@ function useSmartPosition() {
42372
42374
  parentRef.current.style.position = 'relative';
42373
42375
  }
42374
42376
  };
42375
- var viewObserver = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(new IntersectionObserver(function (entries) {
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() {
42377
+ var init = function init() {
42399
42378
  configurateObj();
42400
- resizeListener();
42401
- setUpListeners();
42379
+ return changePosCalc();
42402
42380
  };
42403
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
42404
- setUpHook();
42405
- return clearListeners;
42406
- }, []);
42407
- var recalc = function recalc() {
42408
- setUpHook();
42381
+ var calc = function calc() {
42382
+ return changePosCalc();
42409
42383
  };
42410
42384
  return {
42411
- recalc: recalc
42385
+ init: init,
42386
+ calc: calc
42412
42387
  };
42413
42388
  }
42414
42389
  function getMaxPosition(matrix) {
@@ -42438,6 +42413,109 @@ function elementwiseMultiply(m1, m2) {
42438
42413
 
42439
42414
  /***/ }),
42440
42415
 
42416
+ /***/ "./src/hooks/useSmartPosition.ts":
42417
+ /*!***************************************!*\
42418
+ !*** ./src/hooks/useSmartPosition.ts ***!
42419
+ \***************************************/
42420
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
42421
+
42422
+ "use strict";
42423
+ __webpack_require__.r(__webpack_exports__);
42424
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42425
+ /* harmony export */ useSmartPosition: () => (/* binding */ useSmartPosition)
42426
+ /* harmony export */ });
42427
+ /* harmony import */ var _hooks_useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/hooks/useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
42428
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
42429
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
42430
+
42431
+
42432
+ function useSmartPosition() {
42433
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42434
+ args[_key] = arguments[_key];
42435
+ }
42436
+ var ref = args[0],
42437
+ _args$ = args[1],
42438
+ options = _args$ === void 0 ? {} : _args$,
42439
+ _args$2 = args[2],
42440
+ callbacks = _args$2 === void 0 ? {} : _args$2;
42441
+ var parentRef = options.parentRef,
42442
+ windowRef = options.windowRef;
42443
+ var onChangePlacement = callbacks.onChangePlacement,
42444
+ onInitPlacement = callbacks.onInitPlacement;
42445
+ var lastPlacement = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(undefined);
42446
+ var _useSmartPlacementRes = (0,_hooks_useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_0__.useSmartPlacementResolver)(ref, options),
42447
+ init = _useSmartPlacementRes.init,
42448
+ calc = _useSmartPlacementRes.calc;
42449
+ var setUp = function setUp() {
42450
+ var pos = init();
42451
+ setPos(pos);
42452
+ handleInitPlacement(pos);
42453
+ setUpListeners();
42454
+ };
42455
+ (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
42456
+ setUp();
42457
+ return clearListeners;
42458
+ }, []);
42459
+ var setPos = function setPos(pos) {
42460
+ var obj = ref.current;
42461
+ if (obj) {
42462
+ obj.style.top = pos.top + 'px';
42463
+ obj.style.left = pos.left + 'px';
42464
+ }
42465
+ };
42466
+ var handleInitPlacement = function handleInitPlacement(pos) {
42467
+ onInitPlacement(pos);
42468
+ lastPlacement.current = pos;
42469
+ };
42470
+ var isEqualPos = function isEqualPos(a, b) {
42471
+ return a.left === b.left && a.top === b.top;
42472
+ };
42473
+ var handleChangePlacement = function handleChangePlacement(pos) {
42474
+ var lastPos = lastPlacement.current;
42475
+ if (!isEqualPos(lastPos, pos)) {
42476
+ onChangePlacement(pos);
42477
+ lastPlacement.current = pos;
42478
+ }
42479
+ };
42480
+ var resizeListener = function resizeListener() {
42481
+ var newPos = calc();
42482
+ setPos(newPos);
42483
+ handleChangePlacement(newPos);
42484
+ };
42485
+ var recalc = function recalc() {
42486
+ setUp();
42487
+ };
42488
+ var viewObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new IntersectionObserver(function (entries) {
42489
+ entries.forEach(function (entry) {
42490
+ console.log(entry);
42491
+ if (entry.isIntersecting) {
42492
+ resizeListener();
42493
+ }
42494
+ });
42495
+ }, {
42496
+ threshold: [0, 0.5, 1]
42497
+ }));
42498
+ var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new ResizeObserver(resizeListener));
42499
+ var setUpListeners = function setUpListeners() {
42500
+ window.addEventListener('resize', resizeListener);
42501
+ if (ref.current) viewObserver.current.observe(ref.current);
42502
+ if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.observe(parentRef.current);
42503
+ if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.observe(windowRef.current);
42504
+ };
42505
+ var clearListeners = function clearListeners() {
42506
+ if (ref.current) viewObserver.current.unobserve(ref.current);
42507
+ if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.unobserve(parentRef.current);
42508
+ if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.unobserve(windowRef.current);
42509
+ window.removeEventListener('resize', resizeListener);
42510
+ window.removeEventListener('scroll', resizeListener);
42511
+ };
42512
+ return {
42513
+ recalc: recalc
42514
+ };
42515
+ }
42516
+
42517
+ /***/ }),
42518
+
42441
42519
  /***/ "./src/hooks/useSmartScroll/hooks/index.ts":
42442
42520
  /*!*************************************************!*\
42443
42521
  !*** ./src/hooks/useSmartScroll/hooks/index.ts ***!