indicator-ui 0.1.8 → 0.1.10

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
@@ -53888,6 +53888,271 @@ function useTouchpadInput() {}
53888
53888
 
53889
53889
  /***/ }),
53890
53890
 
53891
+ /***/ "./src/hooks/elementObservers/index.ts":
53892
+ /*!*********************************************!*\
53893
+ !*** ./src/hooks/elementObservers/index.ts ***!
53894
+ \*********************************************/
53895
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53896
+
53897
+ "use strict";
53898
+ __webpack_require__.r(__webpack_exports__);
53899
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
53900
+ /* harmony export */ useIntersectionObserver: () => (/* reexport safe */ _useIntersectionObserver__WEBPACK_IMPORTED_MODULE_1__.useIntersectionObserver),
53901
+ /* harmony export */ useResizeObserver: () => (/* reexport safe */ _useResizeObserver__WEBPACK_IMPORTED_MODULE_0__.useResizeObserver),
53902
+ /* harmony export */ useResizeWindowObserver: () => (/* reexport safe */ _useResizeWindowObserver__WEBPACK_IMPORTED_MODULE_2__.useResizeWindowObserver)
53903
+ /* harmony export */ });
53904
+ /* harmony import */ var _useResizeObserver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useResizeObserver */ "./src/hooks/elementObservers/useResizeObserver.ts");
53905
+ /* harmony import */ var _useIntersectionObserver__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useIntersectionObserver */ "./src/hooks/elementObservers/useIntersectionObserver.ts");
53906
+ /* harmony import */ var _useResizeWindowObserver__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useResizeWindowObserver */ "./src/hooks/elementObservers/useResizeWindowObserver.ts");
53907
+
53908
+
53909
+
53910
+
53911
+ /***/ }),
53912
+
53913
+ /***/ "./src/hooks/elementObservers/useIntersectionObserver.ts":
53914
+ /*!***************************************************************!*\
53915
+ !*** ./src/hooks/elementObservers/useIntersectionObserver.ts ***!
53916
+ \***************************************************************/
53917
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
53918
+
53919
+ "use strict";
53920
+ __webpack_require__.r(__webpack_exports__);
53921
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
53922
+ /* harmony export */ useIntersectionObserver: () => (/* binding */ useIntersectionObserver)
53923
+ /* harmony export */ });
53924
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
53925
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
53926
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
53927
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
53928
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
53929
+ 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."); }
53930
+ 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; } }
53931
+ 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; }
53932
+ 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; } }
53933
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
53934
+
53935
+
53936
+ function useIntersectionObserver() {
53937
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53938
+ args[_key] = arguments[_key];
53939
+ }
53940
+ var ref = args[0],
53941
+ callback = args[1],
53942
+ options = args[2];
53943
+ var cbRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(callback);
53944
+ var observerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(getObserver());
53945
+ var _useSimpleRefListElem = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSimpleRefListElementWork)(ref),
53946
+ _useSimpleRefListElem2 = _slicedToArray(_useSimpleRefListElem, 2),
53947
+ _ = _useSimpleRefListElem2[0],
53948
+ getObjects = _useSimpleRefListElem2[1];
53949
+ var tryClearObserver = function tryClearObserver() {
53950
+ var objects = getObjects(ref);
53951
+ var _iterator = _createForOfIteratorHelper(objects),
53952
+ _step;
53953
+ try {
53954
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
53955
+ var obj = _step.value;
53956
+ if (obj) {
53957
+ observerRef.current.unobserve(obj);
53958
+ }
53959
+ }
53960
+ } catch (err) {
53961
+ _iterator.e(err);
53962
+ } finally {
53963
+ _iterator.f();
53964
+ }
53965
+ };
53966
+ var tryInitObserver = function tryInitObserver() {
53967
+ var objects = getObjects(ref);
53968
+ var _iterator2 = _createForOfIteratorHelper(objects),
53969
+ _step2;
53970
+ try {
53971
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
53972
+ var obj = _step2.value;
53973
+ if (obj) {
53974
+ observerRef.current.observe(obj);
53975
+ }
53976
+ }
53977
+ } catch (err) {
53978
+ _iterator2.e(err);
53979
+ } finally {
53980
+ _iterator2.f();
53981
+ }
53982
+ };
53983
+ var init = function init() {
53984
+ tryClearObserver();
53985
+ tryInitObserver();
53986
+ };
53987
+ var reinitResizeObserver = function reinitResizeObserver() {
53988
+ clearObserver();
53989
+ observerRef.current = getObserver();
53990
+ init();
53991
+ };
53992
+ (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useDeepCompareEffect)(function () {
53993
+ init();
53994
+ return clearObserver;
53995
+ }, [ref]);
53996
+ return {
53997
+ reinit: init,
53998
+ reinitObserver: reinitResizeObserver,
53999
+ clear: tryClearObserver
54000
+ };
54001
+ function getObserver() {
54002
+ return new IntersectionObserver(getCallback(), options);
54003
+ }
54004
+ function clearObserver() {
54005
+ observerRef.current.disconnect();
54006
+ }
54007
+ function getCallback() {
54008
+ return cbRef.current;
54009
+ }
54010
+ }
54011
+
54012
+ /***/ }),
54013
+
54014
+ /***/ "./src/hooks/elementObservers/useResizeObserver.ts":
54015
+ /*!*********************************************************!*\
54016
+ !*** ./src/hooks/elementObservers/useResizeObserver.ts ***!
54017
+ \*********************************************************/
54018
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
54019
+
54020
+ "use strict";
54021
+ __webpack_require__.r(__webpack_exports__);
54022
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
54023
+ /* harmony export */ useResizeObserver: () => (/* binding */ useResizeObserver)
54024
+ /* harmony export */ });
54025
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
54026
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
54027
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
54028
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
54029
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
54030
+ 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."); }
54031
+ 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; } }
54032
+ 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; }
54033
+ 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; } }
54034
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
54035
+
54036
+
54037
+ function useResizeObserver() {
54038
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54039
+ args[_key] = arguments[_key];
54040
+ }
54041
+ var ref = args[0],
54042
+ callback = args[1];
54043
+ var cbRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(callback);
54044
+ var observerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(getObserver());
54045
+ var _useSimpleRefListElem = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useSimpleRefListElementWork)(ref),
54046
+ _useSimpleRefListElem2 = _slicedToArray(_useSimpleRefListElem, 2),
54047
+ _ = _useSimpleRefListElem2[0],
54048
+ getObjects = _useSimpleRefListElem2[1];
54049
+ var tryClearObserver = function tryClearObserver() {
54050
+ var objects = getObjects(ref);
54051
+ var _iterator = _createForOfIteratorHelper(objects),
54052
+ _step;
54053
+ try {
54054
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
54055
+ var obj = _step.value;
54056
+ if (obj) {
54057
+ observerRef.current.unobserve(obj);
54058
+ }
54059
+ }
54060
+ } catch (err) {
54061
+ _iterator.e(err);
54062
+ } finally {
54063
+ _iterator.f();
54064
+ }
54065
+ };
54066
+ var tryInitObserver = function tryInitObserver() {
54067
+ var objects = getObjects(ref);
54068
+ var _iterator2 = _createForOfIteratorHelper(objects),
54069
+ _step2;
54070
+ try {
54071
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
54072
+ var obj = _step2.value;
54073
+ if (obj) {
54074
+ observerRef.current.observe(obj);
54075
+ }
54076
+ }
54077
+ } catch (err) {
54078
+ _iterator2.e(err);
54079
+ } finally {
54080
+ _iterator2.f();
54081
+ }
54082
+ };
54083
+ var init = function init() {
54084
+ tryClearObserver();
54085
+ tryInitObserver();
54086
+ };
54087
+ var reinitResizeObserver = function reinitResizeObserver() {
54088
+ clearObserver();
54089
+ observerRef.current = getObserver();
54090
+ init();
54091
+ };
54092
+ (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useDeepCompareEffect)(function () {
54093
+ init();
54094
+ return clearObserver;
54095
+ }, [ref]);
54096
+ return {
54097
+ reinit: init,
54098
+ reinitObserver: reinitResizeObserver,
54099
+ clear: tryClearObserver
54100
+ };
54101
+ function getObserver() {
54102
+ return new ResizeObserver(getCallback());
54103
+ }
54104
+ function clearObserver() {
54105
+ observerRef.current.disconnect();
54106
+ }
54107
+ function getCallback() {
54108
+ return cbRef.current;
54109
+ }
54110
+ }
54111
+
54112
+ /***/ }),
54113
+
54114
+ /***/ "./src/hooks/elementObservers/useResizeWindowObserver.ts":
54115
+ /*!***************************************************************!*\
54116
+ !*** ./src/hooks/elementObservers/useResizeWindowObserver.ts ***!
54117
+ \***************************************************************/
54118
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
54119
+
54120
+ "use strict";
54121
+ __webpack_require__.r(__webpack_exports__);
54122
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
54123
+ /* harmony export */ useResizeWindowObserver: () => (/* binding */ useResizeWindowObserver)
54124
+ /* harmony export */ });
54125
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
54126
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
54127
+
54128
+ function useResizeWindowObserver() {
54129
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54130
+ args[_key] = arguments[_key];
54131
+ }
54132
+ var callback = args[0];
54133
+ var cbRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(callback);
54134
+ var getCallback = function getCallback() {
54135
+ return cbRef.current;
54136
+ };
54137
+ var clearListener = function clearListener() {
54138
+ window.removeEventListener('resize', getCallback());
54139
+ };
54140
+ var setUpListener = function setUpListener() {
54141
+ clearListener();
54142
+ window.addEventListener('resize', getCallback());
54143
+ };
54144
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
54145
+ setUpListener();
54146
+ return clearListener;
54147
+ }, []);
54148
+ return {
54149
+ reinit: setUpListener,
54150
+ clear: clearListener
54151
+ };
54152
+ }
54153
+
54154
+ /***/ }),
54155
+
53891
54156
  /***/ "./src/hooks/index.ts":
53892
54157
  /*!****************************!*\
53893
54158
  !*** ./src/hooks/index.ts ***!
@@ -53907,14 +54172,19 @@ __webpack_require__.r(__webpack_exports__);
53907
54172
  /* harmony export */ useElementFixedOffset: () => (/* reexport safe */ _useElementFixedOffset__WEBPACK_IMPORTED_MODULE_4__.useElementFixedOffset),
53908
54173
  /* harmony export */ useFormData: () => (/* reexport safe */ _useFormData__WEBPACK_IMPORTED_MODULE_1__.useFormData),
53909
54174
  /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__.useInteractiveZone),
54175
+ /* harmony export */ useIntersectionObserver: () => (/* reexport safe */ _elementObservers__WEBPACK_IMPORTED_MODULE_17__.useIntersectionObserver),
53910
54176
  /* harmony export */ useIsErrorField: () => (/* reexport safe */ _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__.useIsErrorField),
53911
54177
  /* harmony export */ useKeyboardInput: () => (/* reexport safe */ _controlsInput__WEBPACK_IMPORTED_MODULE_16__.useKeyboardInput),
53912
54178
  /* harmony export */ useKeyboardPressing: () => (/* reexport safe */ _controlsInput__WEBPACK_IMPORTED_MODULE_16__.useKeyboardPressing),
53913
54179
  /* harmony export */ useModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_15__.useModal),
53914
54180
  /* harmony export */ useModalAnim: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_14__.useModalAnim),
53915
54181
  /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__.useResettableTimeout),
54182
+ /* harmony export */ useResizeObserver: () => (/* reexport safe */ _elementObservers__WEBPACK_IMPORTED_MODULE_17__.useResizeObserver),
54183
+ /* harmony export */ useResizeWindowObserver: () => (/* reexport safe */ _elementObservers__WEBPACK_IMPORTED_MODULE_17__.useResizeWindowObserver),
53916
54184
  /* harmony export */ useScrollIndicators: () => (/* reexport safe */ _useScrollIndicators__WEBPACK_IMPORTED_MODULE_13__.useScrollIndicators),
53917
54185
  /* harmony export */ useShimmer: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_14__.useShimmer),
54186
+ /* harmony export */ useSimpleRefElementWork: () => (/* reexport safe */ _simpleRefWork__WEBPACK_IMPORTED_MODULE_18__.useSimpleRefElementWork),
54187
+ /* harmony export */ useSimpleRefListElementWork: () => (/* reexport safe */ _simpleRefWork__WEBPACK_IMPORTED_MODULE_18__.useSimpleRefListElementWork),
53918
54188
  /* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__.useSmartPlacementResolver),
53919
54189
  /* harmony export */ useSmartPosition: () => (/* reexport safe */ _useSmartPosition__WEBPACK_IMPORTED_MODULE_9__.useSmartPosition),
53920
54190
  /* harmony export */ useSmartScroll: () => (/* reexport safe */ _useSmartScroll__WEBPACK_IMPORTED_MODULE_10__.useSmartScroll),
@@ -53938,6 +54208,10 @@ __webpack_require__.r(__webpack_exports__);
53938
54208
  /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ui-animations */ "./src/hooks/ui-animations/index.ts");
53939
54209
  /* harmony import */ var _modalWindows__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modalWindows */ "./src/hooks/modalWindows/index.ts");
53940
54210
  /* harmony import */ var _controlsInput__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./controlsInput */ "./src/hooks/controlsInput/index.ts");
54211
+ /* harmony import */ var _elementObservers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./elementObservers */ "./src/hooks/elementObservers/index.ts");
54212
+ /* harmony import */ var _simpleRefWork__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./simpleRefWork */ "./src/hooks/simpleRefWork.ts");
54213
+
54214
+
53941
54215
 
53942
54216
 
53943
54217
 
@@ -53993,6 +54267,7 @@ __webpack_require__.r(__webpack_exports__);
53993
54267
  /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
53994
54268
  /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
53995
54269
  /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui-animations */ "./src/hooks/ui-animations/index.ts");
54270
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
53996
54271
  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); }
53997
54272
  var _excluded = ["containerClickAreaRef"];
53998
54273
  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; }
@@ -54012,6 +54287,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
54012
54287
 
54013
54288
 
54014
54289
 
54290
+
54015
54291
  /**
54016
54292
  * Хук для backdrop-модального окна.
54017
54293
  *
@@ -54040,6 +54316,7 @@ function useBackdropModal() {
54040
54316
  options = _args$ === void 0 ? {} : _args$;
54041
54317
  var containerClickAreaRef = options.containerClickAreaRef,
54042
54318
  animeOptions = _objectWithoutProperties(options, _excluded);
54319
+ var targetRef = animeOptions.targetRef;
54043
54320
  var _useSyncedStateRef = (0,_useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__.useSyncedStateRef)(false),
54044
54321
  _useSyncedStateRef2 = _slicedToArray(_useSyncedStateRef, 3),
54045
54322
  isShow = _useSyncedStateRef2[0],
@@ -54048,19 +54325,24 @@ function useBackdropModal() {
54048
54325
  var onHiding = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
54049
54326
  setIsShow(false);
54050
54327
  }, []);
54051
- (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__.useInteractiveZone)(containerClickAreaRef || ref, {
54052
- onMissClick: onMissClick
54053
- });
54054
54328
  var _useBackgroundModalAn = (0,_ui_animations__WEBPACK_IMPORTED_MODULE_3__.useBackgroundModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
54055
54329
  onHiding: onHiding
54056
54330
  })),
54057
54331
  appearanceAnim = _useBackgroundModalAn.appearanceAnim,
54058
54332
  disappearanceAnim = _useBackgroundModalAn.disappearanceAnim,
54059
- reinit = _useBackgroundModalAn.reinit;
54333
+ reinit = _useBackgroundModalAn.reinit,
54334
+ updateModalPlacement = _useBackgroundModalAn.updateModalPlacement,
54335
+ getInitStyle = _useBackgroundModalAn.getInitStyle;
54336
+ (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__.useInteractiveZone)(containerClickAreaRef || ref, {
54337
+ onMissClick: onMissClick
54338
+ });
54339
+ (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useResizeWindowObserver)(updateModalPlacement);
54340
+ var resizeObserverService = (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useResizeObserver)([ref, targetRef, containerClickAreaRef], updateModalPlacement);
54060
54341
  var open = function open() {
54061
54342
  setIsShow(true);
54062
54343
  requestAnimationFrame(function () {
54063
54344
  reinit();
54345
+ resizeObserverService.reinit();
54064
54346
  appearanceAnim();
54065
54347
  });
54066
54348
  };
@@ -54084,7 +54366,8 @@ function useBackdropModal() {
54084
54366
  open: open,
54085
54367
  close: close,
54086
54368
  switching: switching,
54087
- reinit: reinit
54369
+ reinit: reinit,
54370
+ getInitStyle: getInitStyle
54088
54371
  };
54089
54372
  }
54090
54373
 
@@ -54104,6 +54387,7 @@ __webpack_require__.r(__webpack_exports__);
54104
54387
  /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
54105
54388
  /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
54106
54389
  /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui-animations */ "./src/hooks/ui-animations/index.ts");
54390
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
54107
54391
  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); }
54108
54392
  var _excluded = ["addition"];
54109
54393
  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; }
@@ -54122,6 +54406,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
54122
54406
 
54123
54407
 
54124
54408
 
54409
+
54125
54410
  /**
54126
54411
  * Хук для модального окна.
54127
54412
  *
@@ -54163,23 +54448,28 @@ function useModal() {
54163
54448
  setIsShow(false);
54164
54449
  animeOptions === null || animeOptions === void 0 || (_animeOptions$onHidin = animeOptions.onHiding) === null || _animeOptions$onHidin === void 0 || _animeOptions$onHidin.call(animeOptions);
54165
54450
  };
54451
+ var _useModalAnim = (0,_ui_animations__WEBPACK_IMPORTED_MODULE_2__.useModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
54452
+ onHiding: onHiding
54453
+ })),
54454
+ appearanceAnim = _useModalAnim.appearanceAnim,
54455
+ disappearanceAnim = _useModalAnim.disappearanceAnim,
54456
+ reinit = _useModalAnim.reinit,
54457
+ updateModalPlacement = _useModalAnim.updateModalPlacement,
54458
+ getInitStyle = _useModalAnim.getInitStyle;
54166
54459
  (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__.useInteractiveZone)(ref, {
54167
54460
  onMissClick: onMissClick
54168
54461
  }, {
54169
54462
  ignore: [(targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null],
54170
54463
  addition: addition
54171
54464
  });
54172
- var _useModalAnim = (0,_ui_animations__WEBPACK_IMPORTED_MODULE_2__.useModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
54173
- onHiding: onHiding
54174
- })),
54175
- appearanceAnim = _useModalAnim.appearanceAnim,
54176
- disappearanceAnim = _useModalAnim.disappearanceAnim,
54177
- reinit = _useModalAnim.reinit;
54465
+ (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useResizeWindowObserver)(updateModalPlacement);
54466
+ var resizeObserverService = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useResizeObserver)([ref, targetRef], updateModalPlacement);
54178
54467
  var open = function open() {
54179
54468
  setIsShow(true);
54180
54469
  requestAnimationFrame(function () {
54181
54470
  reinit();
54182
54471
  appearanceAnim();
54472
+ resizeObserverService.reinit();
54183
54473
  });
54184
54474
  };
54185
54475
  var close = function close() {
@@ -54202,8 +54492,70 @@ function useModal() {
54202
54492
  open: open,
54203
54493
  close: close,
54204
54494
  switching: switching,
54205
- reinit: reinit
54495
+ reinit: reinit,
54496
+ getInitStyle: getInitStyle
54497
+ };
54498
+ }
54499
+
54500
+ /***/ }),
54501
+
54502
+ /***/ "./src/hooks/simpleRefWork.ts":
54503
+ /*!************************************!*\
54504
+ !*** ./src/hooks/simpleRefWork.ts ***!
54505
+ \************************************/
54506
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
54507
+
54508
+ "use strict";
54509
+ __webpack_require__.r(__webpack_exports__);
54510
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
54511
+ /* harmony export */ useSimpleRefElementWork: () => (/* binding */ useSimpleRefElementWork),
54512
+ /* harmony export */ useSimpleRefListElementWork: () => (/* binding */ useSimpleRefListElementWork)
54513
+ /* harmony export */ });
54514
+ /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/lib */ "./src/lib/index.ts");
54515
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
54516
+ 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."); }
54517
+ 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; } }
54518
+ 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; }
54519
+ 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; } }
54520
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
54521
+
54522
+ function useSimpleRefElementWork() {
54523
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54524
+ args[_key] = arguments[_key];
54525
+ }
54526
+ var ref = args[0];
54527
+ var _getObj = function _getObj(item) {
54528
+ return (0,_lib__WEBPACK_IMPORTED_MODULE_0__.isObject)(item) && 'current' in item ? item.current : item || null;
54529
+ };
54530
+ var getObj = function getObj() {
54531
+ return _getObj(ref);
54532
+ };
54533
+ return [getObj, _getObj];
54534
+ }
54535
+ function useSimpleRefListElementWork() {
54536
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
54537
+ args[_key2] = arguments[_key2];
54538
+ }
54539
+ var ref = args[0];
54540
+ var _useSimpleRefElementW = useSimpleRefElementWork(),
54541
+ _useSimpleRefElementW2 = _slicedToArray(_useSimpleRefElementW, 2),
54542
+ _ = _useSimpleRefElementW2[0],
54543
+ getObj = _useSimpleRefElementW2[1];
54544
+ var _getObjects = function _getObjects(items) {
54545
+ var res = [];
54546
+ if (Array.isArray(items)) {
54547
+ items.forEach(function (item) {
54548
+ res.push(getObj(item));
54549
+ });
54550
+ } else {
54551
+ res.push(getObj(items));
54552
+ }
54553
+ return res;
54554
+ };
54555
+ var getObjects = function getObjects() {
54556
+ return _getObjects(ref);
54206
54557
  };
54558
+ return [getObjects, _getObjects];
54207
54559
  }
54208
54560
 
54209
54561
  /***/ }),
@@ -54222,16 +54574,16 @@ __webpack_require__.r(__webpack_exports__);
54222
54574
  var BACKDROP_BACKGROUND_COLOR = 'rgba(0, 0, 0, 0.3)';
54223
54575
  var Z_INDEX_MODAL_DEFAULT = 15;
54224
54576
  var Z_INDEX_BACKDROP_DEFAULT = 14;
54225
- var FADE_IN_SCALE_UP_ANIMATION = function FADE_IN_SCALE_UP_ANIMATION(_ref) {
54226
- var modal = _ref.modal,
54227
- backdrop = _ref.backdrop,
54228
- predictPos = _ref.predictPos;
54229
- var appear = function appear(timeline, options) {
54577
+ var FADE_IN_SCALE_UP_ANIMATION = function FADE_IN_SCALE_UP_ANIMATION() {
54578
+ var appear = function appear(props, timeline, options) {
54230
54579
  var _options$zIndex, _options$zIndex2;
54580
+ var modal = props.modal,
54581
+ backdrop = props.backdrop,
54582
+ predictPos = props.predictPos;
54231
54583
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex = options.zIndex) === null || _options$zIndex === void 0 ? void 0 : _options$zIndex.modal) || Z_INDEX_MODAL_DEFAULT;
54232
54584
  var backdropZIndex = (options === null || options === void 0 || (_options$zIndex2 = options.zIndex) === null || _options$zIndex2 === void 0 ? void 0 : _options$zIndex2.backdrop) || Z_INDEX_BACKDROP_DEFAULT;
54233
54585
  var backdropColor = (options === null || options === void 0 ? void 0 : options.backdropColor) || BACKDROP_BACKGROUND_COLOR;
54234
- timeline.clear().set(modal, {
54586
+ timeline.set(modal, {
54235
54587
  visibility: 'visible',
54236
54588
  left: predictPos[0],
54237
54589
  top: predictPos[1],
@@ -54257,8 +54609,10 @@ var FADE_IN_SCALE_UP_ANIMATION = function FADE_IN_SCALE_UP_ANIMATION(_ref) {
54257
54609
  });
54258
54610
  return timeline;
54259
54611
  };
54260
- var disappear = function disappear(timeline) {
54261
- timeline.clear().to(modal, {
54612
+ var disappear = function disappear(props, timeline) {
54613
+ var modal = props.modal,
54614
+ backdrop = props.backdrop;
54615
+ timeline.to(modal, {
54262
54616
  opacity: 0,
54263
54617
  scale: 0.97,
54264
54618
  duration: 0.2,
@@ -54279,16 +54633,17 @@ var FADE_IN_SCALE_UP_ANIMATION = function FADE_IN_SCALE_UP_ANIMATION(_ref) {
54279
54633
  disappear: disappear
54280
54634
  };
54281
54635
  };
54282
- var SLIDE_BASE_FADE_IN_ANIMATION = function SLIDE_BASE_FADE_IN_ANIMATION(_ref2, hideHeight) {
54283
- var modal = _ref2.modal,
54284
- backdrop = _ref2.backdrop,
54285
- predictPos = _ref2.predictPos;
54286
- var appear = function appear(timeline, options) {
54636
+ var SLIDE_BASE_FADE_IN_ANIMATION = function SLIDE_BASE_FADE_IN_ANIMATION(getHideHeight) {
54637
+ var appear = function appear(props, timeline, options) {
54287
54638
  var _options$zIndex3, _options$zIndex4;
54639
+ var hideHeight = getHideHeight(props);
54640
+ var modal = props.modal,
54641
+ backdrop = props.backdrop,
54642
+ predictPos = props.predictPos;
54288
54643
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex3 = options.zIndex) === null || _options$zIndex3 === void 0 ? void 0 : _options$zIndex3.modal) || Z_INDEX_MODAL_DEFAULT;
54289
54644
  var backdropZIndex = (options === null || options === void 0 || (_options$zIndex4 = options.zIndex) === null || _options$zIndex4 === void 0 ? void 0 : _options$zIndex4.backdrop) || Z_INDEX_BACKDROP_DEFAULT;
54290
54645
  var backdropColor = (options === null || options === void 0 ? void 0 : options.backdropColor) || BACKDROP_BACKGROUND_COLOR;
54291
- timeline.clear().set(modal, {
54646
+ timeline.set(modal, {
54292
54647
  visibility: 'visible',
54293
54648
  left: predictPos[0],
54294
54649
  top: hideHeight,
@@ -54316,8 +54671,11 @@ var SLIDE_BASE_FADE_IN_ANIMATION = function SLIDE_BASE_FADE_IN_ANIMATION(_ref2,
54316
54671
  });
54317
54672
  return timeline;
54318
54673
  };
54319
- var disappear = function disappear(timeline) {
54320
- timeline.clear().to(modal, {
54674
+ var disappear = function disappear(props, timeline) {
54675
+ var modal = props.modal,
54676
+ backdrop = props.backdrop;
54677
+ var hideHeight = getHideHeight(props);
54678
+ timeline.to(modal, {
54321
54679
  opacity: 0,
54322
54680
  duration: 0.3,
54323
54681
  ease: 'power2.in'
@@ -54341,29 +54699,33 @@ var SLIDE_BASE_FADE_IN_ANIMATION = function SLIDE_BASE_FADE_IN_ANIMATION(_ref2,
54341
54699
  disappear: disappear
54342
54700
  };
54343
54701
  };
54344
- var SLIDE_UP_FADE_IN_ANIMATION = function SLIDE_UP_FADE_IN_ANIMATION(props) {
54345
- var predictPos = props.predictPos;
54346
- var WINDOW_SIZE_DEFAULT = 1920;
54347
- var windowHeight = typeof window !== 'undefined' ? window.innerHeight : WINDOW_SIZE_DEFAULT;
54348
- var hideHeight = windowHeight - predictPos[1];
54349
- return SLIDE_BASE_FADE_IN_ANIMATION(props, hideHeight);
54702
+ var SLIDE_UP_FADE_IN_ANIMATION = function SLIDE_UP_FADE_IN_ANIMATION() {
54703
+ var getHideHeight = function getHideHeight(props) {
54704
+ var predictPos = props.predictPos;
54705
+ var WINDOW_SIZE_DEFAULT = 1920;
54706
+ var windowHeight = typeof window !== 'undefined' ? window.innerHeight : WINDOW_SIZE_DEFAULT;
54707
+ return windowHeight - predictPos[1];
54708
+ };
54709
+ return SLIDE_BASE_FADE_IN_ANIMATION(getHideHeight);
54350
54710
  };
54351
- var SLIDE_DOWN_FADE_IN_ANIMATION = function SLIDE_DOWN_FADE_IN_ANIMATION(props) {
54352
- var predictPos = props.predictPos,
54353
- modalSize = props.modalSize;
54354
- var hideHeight = -(predictPos[1] + modalSize[1]);
54355
- return SLIDE_BASE_FADE_IN_ANIMATION(props, hideHeight);
54711
+ var SLIDE_DOWN_FADE_IN_ANIMATION = function SLIDE_DOWN_FADE_IN_ANIMATION() {
54712
+ var getHideHeight = function getHideHeight(props) {
54713
+ var predictPos = props.predictPos,
54714
+ modalSize = props.modalSize;
54715
+ return -(predictPos[1] + modalSize[1]);
54716
+ };
54717
+ return SLIDE_BASE_FADE_IN_ANIMATION(getHideHeight);
54356
54718
  };
54357
- var FADE_IN_ANIMATION = function FADE_IN_ANIMATION(_ref3) {
54358
- var modal = _ref3.modal,
54359
- backdrop = _ref3.backdrop,
54360
- predictPos = _ref3.predictPos;
54361
- var appear = function appear(timeline, options) {
54719
+ var FADE_IN_ANIMATION = function FADE_IN_ANIMATION() {
54720
+ var appear = function appear(props, timeline, options) {
54362
54721
  var _options$zIndex5, _options$zIndex6;
54722
+ var modal = props.modal,
54723
+ backdrop = props.backdrop,
54724
+ predictPos = props.predictPos;
54363
54725
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex5 = options.zIndex) === null || _options$zIndex5 === void 0 ? void 0 : _options$zIndex5.modal) || Z_INDEX_MODAL_DEFAULT;
54364
54726
  var backdropZIndex = (options === null || options === void 0 || (_options$zIndex6 = options.zIndex) === null || _options$zIndex6 === void 0 ? void 0 : _options$zIndex6.backdrop) || Z_INDEX_BACKDROP_DEFAULT;
54365
54727
  var backdropColor = (options === null || options === void 0 ? void 0 : options.backdropColor) || BACKDROP_BACKGROUND_COLOR;
54366
- timeline.clear().set(modal, {
54728
+ timeline.set(modal, {
54367
54729
  visibility: 'visible',
54368
54730
  left: predictPos[0],
54369
54731
  top: predictPos[1],
@@ -54387,8 +54749,10 @@ var FADE_IN_ANIMATION = function FADE_IN_ANIMATION(_ref3) {
54387
54749
  });
54388
54750
  return timeline;
54389
54751
  };
54390
- var disappear = function disappear(timeline) {
54391
- timeline.clear().to(modal, {
54752
+ var disappear = function disappear(props, timeline) {
54753
+ var modal = props.modal,
54754
+ backdrop = props.backdrop;
54755
+ timeline.to(modal, {
54392
54756
  opacity: 0,
54393
54757
  duration: 0.2,
54394
54758
  ease: 'power2.in'
@@ -54408,12 +54772,12 @@ var FADE_IN_ANIMATION = function FADE_IN_ANIMATION(_ref3) {
54408
54772
  disappear: disappear
54409
54773
  };
54410
54774
  };
54411
- var BACKDROP_MODAL_ANIMATIONS = function BACKDROP_MODAL_ANIMATIONS(props) {
54775
+ var BACKDROP_MODAL_ANIMATIONS = function BACKDROP_MODAL_ANIMATIONS() {
54412
54776
  return {
54413
- 'fade-in-scale-up': FADE_IN_SCALE_UP_ANIMATION(props),
54414
- 'slide-up-fade-in': SLIDE_UP_FADE_IN_ANIMATION(props),
54415
- 'slide-down-fade-in': SLIDE_DOWN_FADE_IN_ANIMATION(props),
54416
- 'fade-in': FADE_IN_ANIMATION(props)
54777
+ 'fade-in-scale-up': FADE_IN_SCALE_UP_ANIMATION(),
54778
+ 'slide-up-fade-in': SLIDE_UP_FADE_IN_ANIMATION(),
54779
+ 'slide-down-fade-in': SLIDE_DOWN_FADE_IN_ANIMATION(),
54780
+ 'fade-in': FADE_IN_ANIMATION()
54417
54781
  };
54418
54782
  };
54419
54783
 
@@ -54430,11 +54794,14 @@ __webpack_require__.r(__webpack_exports__);
54430
54794
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
54431
54795
  /* harmony export */ BACKDROP_MODAL_ANIMATIONS: () => (/* reexport safe */ _backdropModalAnimations__WEBPACK_IMPORTED_MODULE_1__.BACKDROP_MODAL_ANIMATIONS),
54432
54796
  /* harmony export */ MODAL_ANIMATIONS: () => (/* reexport safe */ _modalAnimations__WEBPACK_IMPORTED_MODULE_0__.MODAL_ANIMATIONS),
54797
+ /* harmony export */ MOVING_ANIMATIONS: () => (/* reexport safe */ _movingAnimations__WEBPACK_IMPORTED_MODULE_3__.MOVING_ANIMATIONS),
54433
54798
  /* harmony export */ SHIMMER_ANIMATIONS: () => (/* reexport safe */ _shimmerAnimation__WEBPACK_IMPORTED_MODULE_2__.SHIMMER_ANIMATIONS)
54434
54799
  /* harmony export */ });
54435
54800
  /* harmony import */ var _modalAnimations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modalAnimations */ "./src/hooks/ui-animations/assets/modalAnimations.ts");
54436
54801
  /* harmony import */ var _backdropModalAnimations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./backdropModalAnimations */ "./src/hooks/ui-animations/assets/backdropModalAnimations.ts");
54437
54802
  /* harmony import */ var _shimmerAnimation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shimmerAnimation */ "./src/hooks/ui-animations/assets/shimmerAnimation.ts");
54803
+ /* harmony import */ var _movingAnimations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./movingAnimations */ "./src/hooks/ui-animations/assets/movingAnimations.ts");
54804
+
54438
54805
 
54439
54806
 
54440
54807
 
@@ -54456,13 +54823,13 @@ var BACKDROP_BACKGROUND_COLOR = 'rgba(0, 0, 0, 0.3)';
54456
54823
  var Z_INDEX_MODAL_DEFAULT = 10;
54457
54824
  var Z_INDEX_BACKDROP_DEFAULT = 9;
54458
54825
  var Z_INDEX_TARGET_DEFAULT = 11;
54459
- var POPOVER_ANIMATION = function POPOVER_ANIMATION(_ref) {
54460
- var modal = _ref.modal,
54461
- predictPos = _ref.predictPos;
54462
- var appear = function appear(timeline, options) {
54826
+ var POPOVER_ANIMATION = function POPOVER_ANIMATION() {
54827
+ var appear = function appear(props, timeline, options) {
54463
54828
  var _options$zIndex;
54829
+ var modal = props.modal,
54830
+ predictPos = props.predictPos;
54464
54831
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex = options.zIndex) === null || _options$zIndex === void 0 ? void 0 : _options$zIndex.modal) || Z_INDEX_MODAL_DEFAULT;
54465
- timeline.clear().set(modal, {
54832
+ timeline.set(modal, {
54466
54833
  visibility: 'visible',
54467
54834
  left: predictPos[0],
54468
54835
  top: predictPos[1],
@@ -54480,8 +54847,9 @@ var POPOVER_ANIMATION = function POPOVER_ANIMATION(_ref) {
54480
54847
  });
54481
54848
  return timeline;
54482
54849
  };
54483
- var disappear = function disappear(timeline) {
54484
- timeline.clear().to(modal, {
54850
+ var disappear = function disappear(props, timeline) {
54851
+ var modal = props.modal;
54852
+ timeline.to(modal, {
54485
54853
  opacity: 0,
54486
54854
  scale: 0.95,
54487
54855
  duration: 0.4,
@@ -54496,13 +54864,13 @@ var POPOVER_ANIMATION = function POPOVER_ANIMATION(_ref) {
54496
54864
  disappear: disappear
54497
54865
  };
54498
54866
  };
54499
- var DROPDOWN_ANIMATION = function DROPDOWN_ANIMATION(_ref2) {
54500
- var modal = _ref2.modal,
54501
- predictPos = _ref2.predictPos;
54502
- var appear = function appear(timeline, options) {
54867
+ var DROPDOWN_ANIMATION = function DROPDOWN_ANIMATION() {
54868
+ var appear = function appear(props, timeline, options) {
54503
54869
  var _options$zIndex2;
54870
+ var modal = props.modal,
54871
+ predictPos = props.predictPos;
54504
54872
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex2 = options.zIndex) === null || _options$zIndex2 === void 0 ? void 0 : _options$zIndex2.modal) || Z_INDEX_MODAL_DEFAULT;
54505
- timeline.clear().set(modal, {
54873
+ timeline.set(modal, {
54506
54874
  visibility: 'visible',
54507
54875
  left: predictPos[0],
54508
54876
  top: predictPos[1] - 10,
@@ -54519,8 +54887,10 @@ var DROPDOWN_ANIMATION = function DROPDOWN_ANIMATION(_ref2) {
54519
54887
  });
54520
54888
  return timeline;
54521
54889
  };
54522
- var disappear = function disappear(timeline) {
54523
- timeline.clear().to(modal, {
54890
+ var disappear = function disappear(props, timeline) {
54891
+ var modal = props.modal,
54892
+ predictPos = props.predictPos;
54893
+ timeline.to(modal, {
54524
54894
  opacity: 0,
54525
54895
  top: predictPos[0] - 5,
54526
54896
  duration: 0.2,
@@ -54535,13 +54905,13 @@ var DROPDOWN_ANIMATION = function DROPDOWN_ANIMATION(_ref2) {
54535
54905
  disappear: disappear
54536
54906
  };
54537
54907
  };
54538
- var CONTEXT_MENU_ANIMATION = function CONTEXT_MENU_ANIMATION(_ref3) {
54539
- var modal = _ref3.modal,
54540
- predictPos = _ref3.predictPos;
54541
- var appear = function appear(timeline, options) {
54908
+ var CONTEXT_MENU_ANIMATION = function CONTEXT_MENU_ANIMATION() {
54909
+ var appear = function appear(props, timeline, options) {
54542
54910
  var _options$zIndex3;
54911
+ var modal = props.modal,
54912
+ predictPos = props.predictPos;
54543
54913
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex3 = options.zIndex) === null || _options$zIndex3 === void 0 ? void 0 : _options$zIndex3.modal) || Z_INDEX_MODAL_DEFAULT;
54544
- timeline.clear().set(modal, {
54914
+ timeline.set(modal, {
54545
54915
  visibility: 'visible',
54546
54916
  left: predictPos[0],
54547
54917
  top: predictPos[1],
@@ -54563,7 +54933,8 @@ var CONTEXT_MENU_ANIMATION = function CONTEXT_MENU_ANIMATION(_ref3) {
54563
54933
  });
54564
54934
  return timeline;
54565
54935
  };
54566
- var disappear = function disappear(timeline) {
54936
+ var disappear = function disappear(props, timeline) {
54937
+ var modal = props.modal;
54567
54938
  timeline.clear().to(modal, {
54568
54939
  opacity: 0,
54569
54940
  scale: 0.95,
@@ -54579,18 +54950,18 @@ var CONTEXT_MENU_ANIMATION = function CONTEXT_MENU_ANIMATION(_ref3) {
54579
54950
  disappear: disappear
54580
54951
  };
54581
54952
  };
54582
- var ACTION_SHEET_ANIMATION = function ACTION_SHEET_ANIMATION(_ref4) {
54583
- var modal = _ref4.modal,
54584
- backdrop = _ref4.backdrop,
54585
- target = _ref4.target,
54586
- predictPos = _ref4.predictPos;
54587
- var appear = function appear(timeline, options) {
54953
+ var ACTION_SHEET_ANIMATION = function ACTION_SHEET_ANIMATION() {
54954
+ var appear = function appear(props, timeline, options) {
54588
54955
  var _options$zIndex4, _options$zIndex5, _options$zIndex6;
54956
+ var modal = props.modal,
54957
+ backdrop = props.backdrop,
54958
+ target = props.target,
54959
+ predictPos = props.predictPos;
54589
54960
  var modalZIndex = (options === null || options === void 0 || (_options$zIndex4 = options.zIndex) === null || _options$zIndex4 === void 0 ? void 0 : _options$zIndex4.modal) || Z_INDEX_MODAL_DEFAULT;
54590
54961
  var backdropZIndex = (options === null || options === void 0 || (_options$zIndex5 = options.zIndex) === null || _options$zIndex5 === void 0 ? void 0 : _options$zIndex5.backdrop) || Z_INDEX_BACKDROP_DEFAULT;
54591
54962
  var targetZIndex = (options === null || options === void 0 || (_options$zIndex6 = options.zIndex) === null || _options$zIndex6 === void 0 ? void 0 : _options$zIndex6.target) || Z_INDEX_TARGET_DEFAULT;
54592
54963
  var backdropColor = (options === null || options === void 0 ? void 0 : options.backdropColor) || BACKDROP_BACKGROUND_COLOR;
54593
- timeline.clear().set(modal, {
54964
+ timeline.set(modal, {
54594
54965
  visibility: 'visible',
54595
54966
  left: predictPos[0],
54596
54967
  top: predictPos[1],
@@ -54616,8 +54987,11 @@ var ACTION_SHEET_ANIMATION = function ACTION_SHEET_ANIMATION(_ref4) {
54616
54987
  });
54617
54988
  return timeline;
54618
54989
  };
54619
- var disappear = function disappear(timeline) {
54620
- timeline.clear().to(modal, {
54990
+ var disappear = function disappear(props, timeline) {
54991
+ var modal = props.modal,
54992
+ backdrop = props.backdrop,
54993
+ target = props.target;
54994
+ timeline.to(modal, {
54621
54995
  opacity: 0,
54622
54996
  duration: 0.2,
54623
54997
  ease: 'power2.in'
@@ -54639,12 +55013,53 @@ var ACTION_SHEET_ANIMATION = function ACTION_SHEET_ANIMATION(_ref4) {
54639
55013
  disappear: disappear
54640
55014
  };
54641
55015
  };
54642
- var MODAL_ANIMATIONS = function MODAL_ANIMATIONS(props) {
55016
+ var MODAL_ANIMATIONS = function MODAL_ANIMATIONS() {
55017
+ return {
55018
+ 'popover': POPOVER_ANIMATION(),
55019
+ 'dropdown': DROPDOWN_ANIMATION(),
55020
+ 'context-menu': CONTEXT_MENU_ANIMATION(),
55021
+ 'action-sheet': ACTION_SHEET_ANIMATION()
55022
+ };
55023
+ };
55024
+
55025
+ /***/ }),
55026
+
55027
+ /***/ "./src/hooks/ui-animations/assets/movingAnimations.ts":
55028
+ /*!************************************************************!*\
55029
+ !*** ./src/hooks/ui-animations/assets/movingAnimations.ts ***!
55030
+ \************************************************************/
55031
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
55032
+
55033
+ "use strict";
55034
+ __webpack_require__.r(__webpack_exports__);
55035
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
55036
+ /* harmony export */ MOVING_ANIMATIONS: () => (/* binding */ MOVING_ANIMATIONS)
55037
+ /* harmony export */ });
55038
+ var DEFAULT_ANIMATION = function DEFAULT_ANIMATION() {
55039
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55040
+ args[_key] = arguments[_key];
55041
+ }
55042
+ var element = args[0],
55043
+ timeline = args[1],
55044
+ options = args[2];
55045
+ var place = options.place,
55046
+ _options$position = options.position,
55047
+ position = _options$position === void 0 ? 'fixed' : _options$position;
55048
+ var left = place.left,
55049
+ top = place.top;
55050
+ timeline.set(element, {
55051
+ position: position
55052
+ }).to(element, {
55053
+ top: top,
55054
+ left: left,
55055
+ duration: 0.1,
55056
+ ease: "power1.out"
55057
+ });
55058
+ return timeline;
55059
+ };
55060
+ var MOVING_ANIMATIONS = function MOVING_ANIMATIONS() {
54643
55061
  return {
54644
- 'popover': POPOVER_ANIMATION(props),
54645
- 'dropdown': DROPDOWN_ANIMATION(props),
54646
- 'context-menu': CONTEXT_MENU_ANIMATION(props),
54647
- 'action-sheet': ACTION_SHEET_ANIMATION(props)
55062
+ 'default': DEFAULT_ANIMATION
54648
55063
  };
54649
55064
  };
54650
55065
 
@@ -54839,22 +55254,27 @@ function useBackgroundModalAnim() {
54839
55254
  };
54840
55255
  };
54841
55256
  var _useTimeline = useTimeline(),
54842
- setTimeline = _useTimeline.setTimeline;
55257
+ getAdditionTimeline = _useTimeline.getAdditionTimeline,
55258
+ getTimeline = _useTimeline.getTimeline;
54843
55259
  var initTimeline = function initTimeline() {
54844
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
54845
- onStart = _ref.onStart,
54846
- onComplete = _ref.onComplete;
54847
- if (ref.current) {
54848
- var timeline = gsap__WEBPACK_IMPORTED_MODULE_2__["default"].timeline({
54849
- onStart: onStart,
54850
- onComplete: onComplete,
54851
- paused: true
54852
- });
54853
- setTimeline(timeline);
54854
- return timeline;
55260
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55261
+ var onComplete = props.onComplete;
55262
+ var timeline = getTimeline();
55263
+ if (onComplete) {
55264
+ timeline.eventCallback('onComplete', onComplete);
54855
55265
  }
55266
+ return timeline;
54856
55267
  };
54857
- var getAnim = function getAnim() {
55268
+ var initAdditionTimeline = function initAdditionTimeline() {
55269
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55270
+ var onComplete = props.onComplete;
55271
+ var timeline = getAdditionTimeline();
55272
+ if (onComplete) {
55273
+ timeline.eventCallback('onComplete', onComplete);
55274
+ }
55275
+ return timeline;
55276
+ };
55277
+ var getAnimationProps = function getAnimationProps() {
54858
55278
  var _getObjData = getObjData(),
54859
55279
  predictPlace = _getObjData.predictPlace,
54860
55280
  targetCenter = _getObjData.targetCenter,
@@ -54865,7 +55285,7 @@ function useBackgroundModalAnim() {
54865
55285
  var modal = ref.current;
54866
55286
  var backdrop = backdropRef.current;
54867
55287
  if (modal && backdrop) {
54868
- return (0,_assets__WEBPACK_IMPORTED_MODULE_1__.BACKDROP_MODAL_ANIMATIONS)({
55288
+ return {
54869
55289
  predictPos: predictPlace,
54870
55290
  modalSize: objSize,
54871
55291
  targetCenter: targetCenter,
@@ -54874,49 +55294,80 @@ function useBackgroundModalAnim() {
54874
55294
  targetSize: targetSize,
54875
55295
  modal: modal,
54876
55296
  backdrop: backdrop
54877
- });
55297
+ };
54878
55298
  }
54879
55299
  return undefined;
54880
55300
  };
55301
+ return {
55302
+ appearanceAnim: appearanceAnim,
55303
+ disappearanceAnim: disappearanceAnim,
55304
+ updateModalPlacement: updateModalPlacement,
55305
+ getInitStyle: getInitStyle,
55306
+ reinit: init
55307
+ };
55308
+ function updateModalPlacement() {
55309
+ var _getObjData2 = getObjData(),
55310
+ predictPlace = _getObjData2.predictPlace;
55311
+ var timeline = initAdditionTimeline();
55312
+ var newPlace = predictPlace;
55313
+ var anim = (0,_assets__WEBPACK_IMPORTED_MODULE_1__.MOVING_ANIMATIONS)()["default"];
55314
+ var obj = ref.current;
55315
+ if (obj && timeline) {
55316
+ timeline.clear();
55317
+ anim(obj, timeline, {
55318
+ place: {
55319
+ left: newPlace[0],
55320
+ top: newPlace[1]
55321
+ },
55322
+ position: 'fixed'
55323
+ }).play();
55324
+ }
55325
+ }
54881
55326
  function appearanceAnim() {
54882
55327
  var timeline = initTimeline({
54883
55328
  onComplete: onAppearEnd
54884
55329
  });
54885
55330
  if (timeline) {
54886
- var anim = getAnim();
54887
- anim === null || anim === void 0 || anim[animeType].appear(timeline, {
54888
- zIndex: zIndex,
54889
- backdropColor: backdropColor
54890
- }).play();
55331
+ var props = getAnimationProps();
55332
+ if (props) {
55333
+ timeline.clear();
55334
+ (0,_assets__WEBPACK_IMPORTED_MODULE_1__.BACKDROP_MODAL_ANIMATIONS)()[animeType].appear(props, timeline, {
55335
+ zIndex: zIndex,
55336
+ backdropColor: backdropColor
55337
+ }).play();
55338
+ }
54891
55339
  }
54892
55340
  }
54893
- var disappearanceAnim = function disappearanceAnim() {
55341
+ function disappearanceAnim() {
54894
55342
  var timeline = initTimeline({
54895
55343
  onComplete: onDisappearEnd
54896
55344
  });
54897
55345
  if (timeline) {
54898
- var _anim$animeType;
54899
- var anim = getAnim();
54900
- anim === null || anim === void 0 || (_anim$animeType = anim[animeType]) === null || _anim$animeType === void 0 || _anim$animeType.disappear(timeline, {
54901
- zIndex: zIndex,
54902
- backdropColor: backdropColor
54903
- }).play();
55346
+ var props = getAnimationProps();
55347
+ if (props) {
55348
+ var _BACKDROP_MODAL_ANIMA;
55349
+ timeline.clear();
55350
+ (_BACKDROP_MODAL_ANIMA = (0,_assets__WEBPACK_IMPORTED_MODULE_1__.BACKDROP_MODAL_ANIMATIONS)()[animeType]) === null || _BACKDROP_MODAL_ANIMA === void 0 || _BACKDROP_MODAL_ANIMA.disappear(props, timeline, {
55351
+ zIndex: zIndex,
55352
+ backdropColor: backdropColor
55353
+ }).play();
55354
+ }
54904
55355
  }
54905
- };
54906
- return {
54907
- appearanceAnim: appearanceAnim,
54908
- disappearanceAnim: disappearanceAnim,
54909
- reinit: init
54910
- };
55356
+ }
54911
55357
  function initObjStates() {
54912
55358
  setInitStyle();
54913
55359
  setHiddeState();
54914
55360
  }
55361
+ function getInitStyle() {
55362
+ return {
55363
+ position: 'fixed',
55364
+ visibility: 'hidden'
55365
+ };
55366
+ }
54915
55367
  function setInitStyle() {
54916
55368
  var obj = ref.current;
54917
55369
  if (obj) {
54918
- obj.style.position = 'fixed';
54919
- obj.style.visibility = 'hidden';
55370
+ Object.assign(obj.style, getInitStyle());
54920
55371
  }
54921
55372
  }
54922
55373
  function initBackdropObj() {
@@ -54954,19 +55405,21 @@ function useBackgroundModalAnim() {
54954
55405
  }
54955
55406
  }
54956
55407
  function useTimeline() {
54957
- var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(undefined);
55408
+ var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(gsap__WEBPACK_IMPORTED_MODULE_2__["default"].timeline({
55409
+ paused: true
55410
+ }));
55411
+ var additionTimelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(gsap__WEBPACK_IMPORTED_MODULE_2__["default"].timeline({
55412
+ paused: true
55413
+ }));
54958
55414
  var getTimeline = function getTimeline() {
54959
55415
  return timelineRef.current;
54960
55416
  };
54961
- var setTimeline = function setTimeline(v) {
54962
- if (timelineRef.current) {
54963
- timelineRef.current.kill();
54964
- }
54965
- timelineRef.current = v;
55417
+ var getAdditionTimeline = function getAdditionTimeline() {
55418
+ return additionTimelineRef.current;
54966
55419
  };
54967
55420
  return {
54968
55421
  getTimeline: getTimeline,
54969
- setTimeline: setTimeline
55422
+ getAdditionTimeline: getAdditionTimeline
54970
55423
  };
54971
55424
  }
54972
55425
 
@@ -55088,22 +55541,27 @@ function useModalAnim() {
55088
55541
  };
55089
55542
  };
55090
55543
  var _useTimeline = useTimeline(),
55091
- setTimeline = _useTimeline.setTimeline;
55544
+ getAdditionTimeline = _useTimeline.getAdditionTimeline,
55545
+ getTimeline = _useTimeline.getTimeline;
55092
55546
  var initTimeline = function initTimeline() {
55093
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
55094
- onStart = _ref.onStart,
55095
- onComplete = _ref.onComplete;
55096
- if (ref.current) {
55097
- var timeline = gsap__WEBPACK_IMPORTED_MODULE_3__["default"].timeline({
55098
- onStart: onStart,
55099
- onComplete: onComplete,
55100
- paused: true
55101
- });
55102
- setTimeline(timeline);
55103
- return timeline;
55547
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55548
+ var onComplete = props.onComplete;
55549
+ var timeline = getTimeline();
55550
+ if (onComplete) {
55551
+ timeline.eventCallback('onComplete', onComplete);
55552
+ }
55553
+ return timeline;
55554
+ };
55555
+ var initAdditionTimeline = function initAdditionTimeline() {
55556
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55557
+ var onComplete = props.onComplete;
55558
+ var timeline = getAdditionTimeline();
55559
+ if (onComplete) {
55560
+ timeline.eventCallback('onComplete', onComplete);
55104
55561
  }
55562
+ return timeline;
55105
55563
  };
55106
- var getAnim = function getAnim() {
55564
+ var getAnimProps = function getAnimProps() {
55107
55565
  var _getObjData = getObjData(),
55108
55566
  predictPlace = _getObjData.predictPlace,
55109
55567
  targetCenter = _getObjData.targetCenter,
@@ -55114,7 +55572,7 @@ function useModalAnim() {
55114
55572
  var modal = ref.current;
55115
55573
  var backdrop = backdropRef.current;
55116
55574
  if (modal && backdrop && target) {
55117
- return (0,_assets__WEBPACK_IMPORTED_MODULE_2__.MODAL_ANIMATIONS)({
55575
+ return {
55118
55576
  predictPos: predictPlace,
55119
55577
  modalSize: objSize,
55120
55578
  targetCenter: targetCenter,
@@ -55123,49 +55581,75 @@ function useModalAnim() {
55123
55581
  targetSize: targetSize,
55124
55582
  modal: modal,
55125
55583
  backdrop: backdrop
55126
- });
55584
+ };
55127
55585
  }
55128
55586
  return undefined;
55129
55587
  };
55588
+ return {
55589
+ appearanceAnim: appearanceAnim,
55590
+ disappearanceAnim: disappearanceAnim,
55591
+ updateModalPlacement: updateModalPlacement,
55592
+ getInitStyle: getInitStyle,
55593
+ reinit: init
55594
+ };
55595
+ function updateModalPlacement() {
55596
+ var timeline = initAdditionTimeline();
55597
+ var newPlace = smartPlacementServices.calc();
55598
+ var anim = (0,_assets__WEBPACK_IMPORTED_MODULE_2__.MOVING_ANIMATIONS)()["default"];
55599
+ var obj = ref.current;
55600
+ if (obj && timeline) {
55601
+ timeline.clear();
55602
+ anim(obj, timeline, {
55603
+ place: newPlace,
55604
+ position: position
55605
+ }).play();
55606
+ }
55607
+ }
55130
55608
  function appearanceAnim() {
55131
55609
  var timeline = initTimeline({
55132
55610
  onComplete: onAppearEnd
55133
55611
  });
55134
55612
  if (timeline) {
55135
- var anim = getAnim();
55136
- anim === null || anim === void 0 || anim[animeType].appear(timeline, {
55137
- zIndex: zIndex,
55138
- backdropColor: backdropColor
55139
- }).play();
55613
+ var props = getAnimProps();
55614
+ if (props) {
55615
+ timeline.clear();
55616
+ (0,_assets__WEBPACK_IMPORTED_MODULE_2__.MODAL_ANIMATIONS)()[animeType].appear(props, timeline, {
55617
+ zIndex: zIndex,
55618
+ backdropColor: backdropColor
55619
+ }).play();
55620
+ }
55140
55621
  }
55141
55622
  }
55142
- var disappearanceAnim = function disappearanceAnim() {
55623
+ function disappearanceAnim() {
55143
55624
  var timeline = initTimeline({
55144
55625
  onComplete: onDisappearEnd
55145
55626
  });
55146
55627
  if (timeline) {
55147
- var _anim$animeType;
55148
- var anim = getAnim();
55149
- anim === null || anim === void 0 || (_anim$animeType = anim[animeType]) === null || _anim$animeType === void 0 || _anim$animeType.disappear(timeline, {
55150
- zIndex: zIndex,
55151
- backdropColor: backdropColor
55152
- }).play();
55628
+ var props = getAnimProps();
55629
+ if (props) {
55630
+ var _MODAL_ANIMATIONS$ani;
55631
+ timeline.clear();
55632
+ (_MODAL_ANIMATIONS$ani = (0,_assets__WEBPACK_IMPORTED_MODULE_2__.MODAL_ANIMATIONS)()[animeType]) === null || _MODAL_ANIMATIONS$ani === void 0 || _MODAL_ANIMATIONS$ani.disappear(props, timeline, {
55633
+ zIndex: zIndex,
55634
+ backdropColor: backdropColor
55635
+ }).play();
55636
+ }
55153
55637
  }
55154
- };
55155
- return {
55156
- appearanceAnim: appearanceAnim,
55157
- disappearanceAnim: disappearanceAnim,
55158
- reinit: init
55159
- };
55638
+ }
55160
55639
  function initObjStates() {
55161
55640
  setInitStyle();
55162
55641
  setHiddeState();
55163
55642
  }
55643
+ function getInitStyle() {
55644
+ return {
55645
+ position: position,
55646
+ visibility: 'hidden'
55647
+ };
55648
+ }
55164
55649
  function setInitStyle() {
55165
55650
  var obj = ref.current;
55166
55651
  if (obj) {
55167
- obj.style.position = position;
55168
- obj.style.visibility = 'hidden';
55652
+ Object.assign(obj.style, getInitStyle());
55169
55653
  }
55170
55654
  }
55171
55655
  function initBackdropObj() {
@@ -55203,19 +55687,21 @@ function useModalAnim() {
55203
55687
  }
55204
55688
  }
55205
55689
  function useTimeline() {
55206
- var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(undefined);
55690
+ var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(gsap__WEBPACK_IMPORTED_MODULE_3__["default"].timeline({
55691
+ paused: true
55692
+ }));
55693
+ var additionTimelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(gsap__WEBPACK_IMPORTED_MODULE_3__["default"].timeline({
55694
+ paused: true
55695
+ }));
55207
55696
  var getTimeline = function getTimeline() {
55208
55697
  return timelineRef.current;
55209
55698
  };
55210
- var setTimeline = function setTimeline(v) {
55211
- if (timelineRef.current) {
55212
- timelineRef.current.kill();
55213
- }
55214
- timelineRef.current = v;
55699
+ var getAdditionTimeline = function getAdditionTimeline() {
55700
+ return additionTimelineRef.current;
55215
55701
  };
55216
55702
  return {
55217
55703
  getTimeline: getTimeline,
55218
- setTimeline: setTimeline
55704
+ getAdditionTimeline: getAdditionTimeline
55219
55705
  };
55220
55706
  }
55221
55707
 
@@ -56606,6 +57092,8 @@ __webpack_require__.r(__webpack_exports__);
56606
57092
  /* harmony import */ var _hooks_useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/hooks/useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
56607
57093
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
56608
57094
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
57095
+ /* harmony import */ var _hooks_elementObservers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/hooks/elementObservers */ "./src/hooks/elementObservers/index.ts");
57096
+
56609
57097
 
56610
57098
 
56611
57099
  function useSmartPosition() {
@@ -56664,27 +57152,26 @@ function useSmartPosition() {
56664
57152
  var recalc = function recalc() {
56665
57153
  setUp();
56666
57154
  };
56667
- var viewObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new IntersectionObserver(function (entries) {
57155
+ var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new ResizeObserver(resizeListener));
57156
+ var intersectionObserverCallback = function intersectionObserverCallback(entries) {
56668
57157
  entries.forEach(function (entry) {
56669
- console.log(entry);
56670
57158
  if (entry.isIntersecting) {
56671
57159
  resizeListener();
56672
57160
  }
56673
57161
  });
56674
- }, {
57162
+ };
57163
+ var intersectionObserverServices = (0,_hooks_elementObservers__WEBPACK_IMPORTED_MODULE_2__.useIntersectionObserver)([ref, parentRef], intersectionObserverCallback, {
56675
57164
  threshold: [0, 0.5, 1]
56676
- }));
56677
- var resizeObserver = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(new ResizeObserver(resizeListener));
57165
+ });
57166
+ var resizeObserverServices = (0,_hooks_elementObservers__WEBPACK_IMPORTED_MODULE_2__.useResizeObserver)(windowRef, resizeListener);
56678
57167
  var setUpListeners = function setUpListeners() {
56679
57168
  window.addEventListener('resize', resizeListener);
56680
- if (ref.current) viewObserver.current.observe(ref.current);
56681
- if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.observe(parentRef.current);
56682
- if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.observe(windowRef.current);
57169
+ intersectionObserverServices.reinit();
57170
+ resizeObserverServices.reinit();
56683
57171
  };
56684
57172
  var clearListeners = function clearListeners() {
56685
- if (ref.current) viewObserver.current.unobserve(ref.current);
56686
- if (parentRef !== null && parentRef !== void 0 && parentRef.current) viewObserver.current.unobserve(parentRef.current);
56687
- if (windowRef !== null && windowRef !== void 0 && windowRef.current) resizeObserver.current.unobserve(windowRef.current);
57173
+ intersectionObserverServices.clear();
57174
+ resizeObserverServices.clear();
56688
57175
  window.removeEventListener('resize', resizeListener);
56689
57176
  window.removeEventListener('scroll', resizeListener);
56690
57177
  };
@@ -62262,7 +62749,7 @@ var _Dropdown = function _Dropdown(props, ref) {
62262
62749
  }
62263
62750
  };
62264
62751
  var getItemProps = function getItemProps(curItem) {
62265
- if ((0,_lib__WEBPACK_IMPORTED_MODULE_3__.isObject)(curItem) && 'value' in curItem) {
62752
+ if ((0,_lib__WEBPACK_IMPORTED_MODULE_3__.isObject)(curItem)) {
62266
62753
  return curItem;
62267
62754
  } else {
62268
62755
  return {
@@ -66274,7 +66761,7 @@ __webpack_require__.r(__webpack_exports__);
66274
66761
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
66275
66762
  /* harmony export */ });
66276
66763
  // extracted by mini-css-extract-plugin
66277
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"selectField":"SelectField-module__selectField___p9S2j","modalWindowWrapper":"SelectField-module__modalWindowWrapper___i4_Uy","modalWindow":"SelectField-module__modalWindow___JVZ8d","selectModalWindow":"SelectField-module__selectModalWindow___w55Pm","show-animation":"SelectField-module__show-animation___Ee3LS","selectFieldOptionsItem":"SelectField-module__selectFieldOptionsItem___hQMC7","label":"SelectField-module__label___Orjua","active":"SelectField-module__active___a3j2T"});
66764
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"selectField":"SelectField-module__selectField___p9S2j"});
66278
66765
 
66279
66766
  /***/ }),
66280
66767
 
@@ -66372,6 +66859,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
66372
66859
 
66373
66860
 
66374
66861
 
66862
+ var SmartPlacementWeights = [[0, 0, 0], [0, 0, 0], [0, 1, 0]];
66375
66863
  function SelectField(_ref) {
66376
66864
  var value = _ref.value,
66377
66865
  onChange = _ref.onChange,
@@ -66388,7 +66876,9 @@ function SelectField(_ref) {
66388
66876
  onBlur = _ref.onBlur,
66389
66877
  pagination = _ref.pagination,
66390
66878
  _onFocus = _ref.onFocus,
66391
- isActiveItem = _ref.isActiveItem;
66879
+ isActiveItem = _ref.isActiveItem,
66880
+ _ref$position = _ref.position,
66881
+ position = _ref$position === void 0 ? 'absolute' : _ref$position;
66392
66882
  var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
66393
66883
  _useState2 = _slicedToArray(_useState, 2),
66394
66884
  isFocus = _useState2[0],
@@ -66397,19 +66887,30 @@ function SelectField(_ref) {
66397
66887
  _useState4 = _slicedToArray(_useState3, 2),
66398
66888
  searchingString = _useState4[0],
66399
66889
  setSearchingString = _useState4[1];
66400
- var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
66401
- _useState6 = _slicedToArray(_useState5, 2),
66402
- isShowModalWindow = _useState6[0],
66403
- setIsShowModalWindow = _useState6[1];
66404
66890
  var requestPromiseRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(undefined);
66405
66891
  // Кэширование выбранных options
66406
66892
  var optionsCacheRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(options);
66407
- var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(options),
66408
- _useState8 = _slicedToArray(_useState7, 2),
66409
- optionsState = _useState8[0],
66410
- setOptionsState = _useState8[1];
66893
+ var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(options),
66894
+ _useState6 = _slicedToArray(_useState5, 2),
66895
+ optionsState = _useState6[0],
66896
+ setOptionsState = _useState6[1];
66411
66897
  var inputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
66412
66898
  var searchingTimeoutRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
66899
+ var targetRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
66900
+ var modalRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
66901
+ var _useModal = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useModal)(modalRef, {
66902
+ targetRef: targetRef,
66903
+ position: position,
66904
+ animeType: 'dropdown',
66905
+ smartPlacementOptions: {
66906
+ weights: SmartPlacementWeights
66907
+ }
66908
+ }),
66909
+ getIsShow = _useModal.getIsShow,
66910
+ open = _useModal.open,
66911
+ close = _useModal.close,
66912
+ switching = _useModal.switching,
66913
+ isShow = _useModal.isShow;
66413
66914
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
66414
66915
  // Установка значения при required
66415
66916
  var firstOptions = optionsState === null || optionsState === void 0 ? void 0 : optionsState[0];
@@ -66471,7 +66972,7 @@ function SelectField(_ref) {
66471
66972
  onChange === null || onChange === void 0 || onChange(resValues);
66472
66973
  } else {
66473
66974
  onChange === null || onChange === void 0 || onChange(resValues[resValues.length - 1]);
66474
- setIsShowModalWindow(false);
66975
+ close();
66475
66976
  onBlur === null || onBlur === void 0 || onBlur();
66476
66977
  }
66477
66978
  };
@@ -66593,22 +67094,20 @@ function SelectField(_ref) {
66593
67094
  onChange: search,
66594
67095
  disabled: disabled,
66595
67096
  onFocus: function onFocus() {
66596
- setIsShowModalWindow(true);
67097
+ if (!getIsShow()) {
67098
+ open();
67099
+ }
66597
67100
  setIsFocus(true);
66598
67101
  _onFocus === null || _onFocus === void 0 || _onFocus();
66599
67102
  },
66600
67103
  onBlur: function onBlur() {
66601
67104
  return setIsFocus(false);
66602
67105
  },
66603
- onDropdownClick: function onDropdownClick() {
66604
- return setIsShowModalWindow(function (prevState) {
66605
- return !prevState;
66606
- });
66607
- },
67106
+ onDropdownClick: switching,
66608
67107
  isError: isError,
66609
67108
  placeholder: placeholder,
66610
67109
  dropdown: true,
66611
- dropdownState: isShowModalWindow,
67110
+ dropdownState: isShow,
66612
67111
  ref: inputRef
66613
67112
  });
66614
67113
  }
@@ -66619,37 +67118,21 @@ function SelectField(_ref) {
66619
67118
  placeholder: placeholder,
66620
67119
  notInput: true,
66621
67120
  onFocus: _onFocus,
66622
- onClick: function onClick() {
66623
- return setIsShowModalWindow(function (prevState) {
66624
- return !prevState;
66625
- });
66626
- },
67121
+ onClick: switching,
66627
67122
  dropdown: true,
66628
- dropdownState: isShowModalWindow,
67123
+ dropdownState: isShow,
66629
67124
  ref: inputRef
66630
67125
  });
66631
67126
  };
66632
67127
  return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
66633
67128
  className: _styles__WEBPACK_IMPORTED_MODULE_7__.SelectFieldStyle.selectField,
66634
- children: [getViewField(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
66635
- className: _styles__WEBPACK_IMPORTED_MODULE_7__.SelectFieldStyle.modalWindowWrapper,
66636
- children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ui__WEBPACK_IMPORTED_MODULE_3__.ModalWindowWrapper, {
66637
- isShow: isShowModalWindow,
66638
- setIsShow: function setIsShow(newValue) {
66639
- if (newValue === false) {
66640
- onBlur === null || onBlur === void 0 || onBlur();
66641
- }
66642
- setIsShowModalWindow(newValue);
66643
- },
66644
- additionElements: [inputRef.current],
66645
- className: _styles__WEBPACK_IMPORTED_MODULE_7__.SelectFieldStyle.modalWindow,
66646
- children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ui__WEBPACK_IMPORTED_MODULE_3__.Dropdown, {
66647
- items: getOptionsItems(),
66648
- onScrollBottom: onScrollToBottom,
66649
- onClick: handleClick,
66650
- isActive: isActive
66651
- })
66652
- })
67129
+ ref: targetRef,
67130
+ children: [getViewField(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ui__WEBPACK_IMPORTED_MODULE_3__.Dropdown, {
67131
+ items: getOptionsItems(),
67132
+ onScrollBottom: onScrollToBottom,
67133
+ onClick: handleClick,
67134
+ isActive: isActive,
67135
+ ref: modalRef
66653
67136
  })]
66654
67137
  });
66655
67138
  }
@@ -71331,14 +71814,19 @@ __webpack_require__.r(__webpack_exports__);
71331
71814
  /* harmony export */ useElementFixedOffset: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useElementFixedOffset),
71332
71815
  /* harmony export */ useFormData: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useFormData),
71333
71816
  /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useInteractiveZone),
71817
+ /* harmony export */ useIntersectionObserver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useIntersectionObserver),
71334
71818
  /* harmony export */ useIsErrorField: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useIsErrorField),
71335
71819
  /* harmony export */ useKeyboardInput: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useKeyboardInput),
71336
71820
  /* harmony export */ useKeyboardPressing: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useKeyboardPressing),
71337
71821
  /* harmony export */ useModal: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useModal),
71338
71822
  /* harmony export */ useModalAnim: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useModalAnim),
71339
71823
  /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResettableTimeout),
71824
+ /* harmony export */ useResizeObserver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResizeObserver),
71825
+ /* harmony export */ useResizeWindowObserver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResizeWindowObserver),
71340
71826
  /* harmony export */ useScrollIndicators: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useScrollIndicators),
71341
71827
  /* harmony export */ useShimmer: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useShimmer),
71828
+ /* harmony export */ useSimpleRefElementWork: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSimpleRefElementWork),
71829
+ /* harmony export */ useSimpleRefListElementWork: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSimpleRefListElementWork),
71342
71830
  /* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPlacementResolver),
71343
71831
  /* harmony export */ useSmartPosition: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPosition),
71344
71832
  /* harmony export */ useSmartScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartScroll),