indicator-ui 0.0.375 → 0.0.376

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
@@ -47678,10 +47678,322 @@ __webpack_require__.r(__webpack_exports__);
47678
47678
 
47679
47679
  /***/ }),
47680
47680
 
47681
- /***/ "./src/hooks/animations/assets/backdropModalAnimations.ts":
47682
- /*!****************************************************************!*\
47683
- !*** ./src/hooks/animations/assets/backdropModalAnimations.ts ***!
47684
- \****************************************************************/
47681
+ /***/ "./src/hooks/index.ts":
47682
+ /*!****************************!*\
47683
+ !*** ./src/hooks/index.ts ***!
47684
+ \****************************/
47685
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47686
+
47687
+ "use strict";
47688
+ __webpack_require__.r(__webpack_exports__);
47689
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47690
+ /* harmony export */ useBackdropModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_14__.useBackdropModal),
47691
+ /* harmony export */ useBackgroundModalAnim: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_13__.useBackgroundModalAnim),
47692
+ /* harmony export */ useDebouncedAccumulator: () => (/* reexport safe */ _useDebouncedAccumulator__WEBPACK_IMPORTED_MODULE_2__.useDebouncedAccumulator),
47693
+ /* harmony export */ useDebouncedInvoker: () => (/* reexport safe */ _useDebouncedInvoker__WEBPACK_IMPORTED_MODULE_7__.useDebouncedInvoker),
47694
+ /* harmony export */ useDeepCompareEffect: () => (/* reexport safe */ _useDeepCompareEffect__WEBPACK_IMPORTED_MODULE_3__.useDeepCompareEffect),
47695
+ /* harmony export */ useDidUpdateEffect: () => (/* reexport safe */ _useDidUpdateEffect__WEBPACK_IMPORTED_MODULE_8__.useDidUpdateEffect),
47696
+ /* harmony export */ useElementFixedOffset: () => (/* reexport safe */ _useElementFixedOffset__WEBPACK_IMPORTED_MODULE_4__.useElementFixedOffset),
47697
+ /* harmony export */ useFormData: () => (/* reexport safe */ _useFormData__WEBPACK_IMPORTED_MODULE_1__.useFormData),
47698
+ /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__.useInteractiveZone),
47699
+ /* harmony export */ useIsErrorField: () => (/* reexport safe */ _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__.useIsErrorField),
47700
+ /* harmony export */ useModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_14__.useModal),
47701
+ /* harmony export */ useModalAnim: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_13__.useModalAnim),
47702
+ /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__.useResettableTimeout),
47703
+ /* harmony export */ useScrollIndicators: () => (/* reexport safe */ _useScrollIndicators__WEBPACK_IMPORTED_MODULE_15__.useScrollIndicators),
47704
+ /* harmony export */ useShimmer: () => (/* reexport safe */ _ui_animations__WEBPACK_IMPORTED_MODULE_13__.useShimmer),
47705
+ /* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__.useSmartPlacementResolver),
47706
+ /* harmony export */ useSmartPosition: () => (/* reexport safe */ _useSmartPosition__WEBPACK_IMPORTED_MODULE_9__.useSmartPosition),
47707
+ /* harmony export */ useSmartScroll: () => (/* reexport safe */ _useSmartScroll__WEBPACK_IMPORTED_MODULE_10__.useSmartScroll),
47708
+ /* harmony export */ useSyncedStateRef: () => (/* reexport safe */ _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_5__.useSyncedStateRef)
47709
+ /* harmony export */ });
47710
+ /* harmony import */ var _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useIsErrorField */ "./src/hooks/useIsErrorField.ts");
47711
+ /* harmony import */ var _useFormData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useFormData */ "./src/hooks/useFormData.ts");
47712
+ /* harmony import */ var _useDebouncedAccumulator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useDebouncedAccumulator */ "./src/hooks/useDebouncedAccumulator.ts");
47713
+ /* harmony import */ var _useDeepCompareEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useDeepCompareEffect */ "./src/hooks/useDeepCompareEffect.ts");
47714
+ /* harmony import */ var _useElementFixedOffset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useElementFixedOffset */ "./src/hooks/useElementFixedOffset.ts");
47715
+ /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
47716
+ /* harmony import */ var _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useResettableTimeout */ "./src/hooks/useResettableTimeout.ts");
47717
+ /* harmony import */ var _useDebouncedInvoker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useDebouncedInvoker */ "./src/hooks/useDebouncedInvoker.ts");
47718
+ /* harmony import */ var _useDidUpdateEffect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useDidUpdateEffect */ "./src/hooks/useDidUpdateEffect.ts");
47719
+ /* harmony import */ var _useSmartPosition__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./useSmartPosition */ "./src/hooks/useSmartPosition.ts");
47720
+ /* harmony import */ var _useSmartScroll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./useSmartScroll */ "./src/hooks/useSmartScroll/index.ts");
47721
+ /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
47722
+ /* harmony import */ var _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
47723
+ /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ui-animations */ "./src/hooks/ui-animations/index.ts");
47724
+ /* harmony import */ var _modalWindows__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modalWindows */ "./src/hooks/modalWindows/index.ts");
47725
+ /* harmony import */ var _useScrollIndicators__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./useScrollIndicators */ "./src/hooks/useScrollIndicators.ts");
47726
+
47727
+
47728
+
47729
+
47730
+
47731
+
47732
+
47733
+
47734
+
47735
+
47736
+
47737
+
47738
+
47739
+
47740
+
47741
+
47742
+
47743
+ /***/ }),
47744
+
47745
+ /***/ "./src/hooks/modalWindows/index.ts":
47746
+ /*!*****************************************!*\
47747
+ !*** ./src/hooks/modalWindows/index.ts ***!
47748
+ \*****************************************/
47749
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47750
+
47751
+ "use strict";
47752
+ __webpack_require__.r(__webpack_exports__);
47753
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47754
+ /* harmony export */ useBackdropModal: () => (/* reexport safe */ _useBackdropModal__WEBPACK_IMPORTED_MODULE_0__.useBackdropModal),
47755
+ /* harmony export */ useModal: () => (/* reexport safe */ _useModal__WEBPACK_IMPORTED_MODULE_1__.useModal)
47756
+ /* harmony export */ });
47757
+ /* harmony import */ var _useBackdropModal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useBackdropModal */ "./src/hooks/modalWindows/useBackdropModal.ts");
47758
+ /* harmony import */ var _useModal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useModal */ "./src/hooks/modalWindows/useModal.ts");
47759
+
47760
+
47761
+
47762
+ /***/ }),
47763
+
47764
+ /***/ "./src/hooks/modalWindows/useBackdropModal.ts":
47765
+ /*!****************************************************!*\
47766
+ !*** ./src/hooks/modalWindows/useBackdropModal.ts ***!
47767
+ \****************************************************/
47768
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47769
+
47770
+ "use strict";
47771
+ __webpack_require__.r(__webpack_exports__);
47772
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47773
+ /* harmony export */ useBackdropModal: () => (/* binding */ useBackdropModal)
47774
+ /* harmony export */ });
47775
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
47776
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
47777
+ /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
47778
+ /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
47779
+ /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui-animations */ "./src/hooks/ui-animations/index.ts");
47780
+ 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); }
47781
+ var _excluded = ["containerClickAreaRef"];
47782
+ 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; }
47783
+ 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; }
47784
+ 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; }
47785
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
47786
+ 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); }
47787
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
47788
+ 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."); }
47789
+ 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; } }
47790
+ 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; }
47791
+ 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; } }
47792
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
47793
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
47794
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
47795
+
47796
+
47797
+
47798
+
47799
+ /**
47800
+ * Хук для backdrop-модального окна.
47801
+ *
47802
+ * ---
47803
+ *
47804
+ * Важные пропсы:
47805
+ * - `ref` - рефка на компонент модалки.
47806
+ * - `targetRef` - рефка на компонент, который вызывает появление модалки.
47807
+ * - `containerClickAreaRef` - зона кликов модалки. Поможет, если вы обернули модалку в доп компонент, но клик по нему
47808
+ * (мимо основной модалки) должен закрывать модалку, в таком случае в `ref` передайте ссылку на обертку,
47809
+ * а в `containerClickAreaRef` именно на модалку.
47810
+ *
47811
+ * ---
47812
+ *
47813
+ * Виды модалок:
47814
+ *
47815
+ * Все очень просто, название за себя говорит, как будет появляться модалка.
47816
+ * Исчезать она будет по такому же принципу, но наоборот.
47817
+ * */
47818
+ function useBackdropModal() {
47819
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47820
+ args[_key] = arguments[_key];
47821
+ }
47822
+ var ref = args[0],
47823
+ _args$ = args[1],
47824
+ options = _args$ === void 0 ? {} : _args$;
47825
+ var containerClickAreaRef = options.containerClickAreaRef,
47826
+ animeOptions = _objectWithoutProperties(options, _excluded);
47827
+ var _useSyncedStateRef = (0,_useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__.useSyncedStateRef)(false),
47828
+ _useSyncedStateRef2 = _slicedToArray(_useSyncedStateRef, 3),
47829
+ isShow = _useSyncedStateRef2[0],
47830
+ setIsShow = _useSyncedStateRef2[1],
47831
+ getIsShow = _useSyncedStateRef2[2];
47832
+ var onHiding = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
47833
+ setIsShow(false);
47834
+ }, []);
47835
+ (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__.useInteractiveZone)(containerClickAreaRef || ref, {
47836
+ onMissClick: onMissClick
47837
+ });
47838
+ var _useBackgroundModalAn = (0,_ui_animations__WEBPACK_IMPORTED_MODULE_3__.useBackgroundModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
47839
+ onHiding: onHiding
47840
+ })),
47841
+ appearanceAnim = _useBackgroundModalAn.appearanceAnim,
47842
+ disappearanceAnim = _useBackgroundModalAn.disappearanceAnim,
47843
+ reinit = _useBackgroundModalAn.reinit;
47844
+ var open = function open() {
47845
+ setIsShow(true);
47846
+ requestAnimationFrame(function () {
47847
+ reinit();
47848
+ appearanceAnim();
47849
+ });
47850
+ };
47851
+ var close = function close() {
47852
+ disappearanceAnim();
47853
+ };
47854
+ var switching = function switching() {
47855
+ var curIsShow = getIsShow();
47856
+ if (curIsShow) {
47857
+ close();
47858
+ } else {
47859
+ open();
47860
+ }
47861
+ };
47862
+ function onMissClick() {
47863
+ close();
47864
+ }
47865
+ return {
47866
+ isShow: isShow,
47867
+ open: open,
47868
+ close: close,
47869
+ switching: switching,
47870
+ reinit: reinit
47871
+ };
47872
+ }
47873
+
47874
+ /***/ }),
47875
+
47876
+ /***/ "./src/hooks/modalWindows/useModal.ts":
47877
+ /*!********************************************!*\
47878
+ !*** ./src/hooks/modalWindows/useModal.ts ***!
47879
+ \********************************************/
47880
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47881
+
47882
+ "use strict";
47883
+ __webpack_require__.r(__webpack_exports__);
47884
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47885
+ /* harmony export */ useModal: () => (/* binding */ useModal)
47886
+ /* harmony export */ });
47887
+ /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
47888
+ /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
47889
+ /* harmony import */ var _ui_animations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui-animations */ "./src/hooks/ui-animations/index.ts");
47890
+ 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); }
47891
+ var _excluded = ["addition"];
47892
+ 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; }
47893
+ 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; }
47894
+ 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; }
47895
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
47896
+ 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); }
47897
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
47898
+ 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."); }
47899
+ 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; } }
47900
+ 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; }
47901
+ 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; } }
47902
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
47903
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
47904
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
47905
+
47906
+
47907
+
47908
+ /**
47909
+ * Хук для модального окна.
47910
+ *
47911
+ * ---
47912
+ *
47913
+ * Важные пропсы:
47914
+ * - `ref` - рефка на компонент модалки.
47915
+ * - `targetRef` - рефка на компонент, который вызывает появление модалки.
47916
+ * - `addition` - дополнительные элементы, которые будут игнорироваться при мисс-клике.
47917
+ * (Клик по ним не вызовет закрытие модалки)
47918
+ * ---
47919
+ *
47920
+ * Виды модалок:
47921
+ *
47922
+ * - `popover` - хорошо подойдет для подсказок, появляется немного скейлясь.
47923
+ * - `dropdown` - обычный дропдаун.
47924
+ * - `context-menu` - подойдет для быстрого показа списка возможностей, при этом скрывает его немного замедленно,
47925
+ * чтобы пользователь мог разглядеть его.
47926
+ * - `action-sheet` - какой-то список действий, который требует полной фокусировки, затеняет фон для этого (не затеняет `target`).
47927
+ * К примеру, модальнрое окна для сообщения в чате.
47928
+ * */
47929
+ function useModal() {
47930
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47931
+ args[_key] = arguments[_key];
47932
+ }
47933
+ var ref = args[0],
47934
+ _args$ = args[1],
47935
+ options = _args$ === void 0 ? {} : _args$;
47936
+ var addition = options.addition,
47937
+ animeOptions = _objectWithoutProperties(options, _excluded);
47938
+ var targetRef = options.targetRef;
47939
+ var _useSyncedStateRef = (0,_useSyncedStateRef__WEBPACK_IMPORTED_MODULE_1__.useSyncedStateRef)(false),
47940
+ _useSyncedStateRef2 = _slicedToArray(_useSyncedStateRef, 3),
47941
+ isShow = _useSyncedStateRef2[0],
47942
+ setIsShow = _useSyncedStateRef2[1],
47943
+ getIsShow = _useSyncedStateRef2[2];
47944
+ var onHiding = function onHiding() {
47945
+ var _animeOptions$onHidin;
47946
+ setIsShow(false);
47947
+ animeOptions === null || animeOptions === void 0 || (_animeOptions$onHidin = animeOptions.onHiding) === null || _animeOptions$onHidin === void 0 || _animeOptions$onHidin.call(animeOptions);
47948
+ };
47949
+ (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__.useInteractiveZone)(ref, {
47950
+ onMissClick: onMissClick
47951
+ }, {
47952
+ ignore: [(targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null],
47953
+ addition: addition
47954
+ });
47955
+ var _useModalAnim = (0,_ui_animations__WEBPACK_IMPORTED_MODULE_2__.useModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
47956
+ onHiding: onHiding
47957
+ })),
47958
+ appearanceAnim = _useModalAnim.appearanceAnim,
47959
+ disappearanceAnim = _useModalAnim.disappearanceAnim,
47960
+ reinit = _useModalAnim.reinit;
47961
+ var open = function open() {
47962
+ setIsShow(true);
47963
+ requestAnimationFrame(function () {
47964
+ reinit();
47965
+ appearanceAnim();
47966
+ });
47967
+ };
47968
+ var close = function close() {
47969
+ disappearanceAnim();
47970
+ };
47971
+ var switching = function switching() {
47972
+ var curIsShow = getIsShow();
47973
+ if (curIsShow) {
47974
+ close();
47975
+ } else {
47976
+ open();
47977
+ }
47978
+ };
47979
+ function onMissClick() {
47980
+ close();
47981
+ }
47982
+ return {
47983
+ isShow: isShow,
47984
+ open: open,
47985
+ close: close,
47986
+ switching: switching,
47987
+ reinit: reinit
47988
+ };
47989
+ }
47990
+
47991
+ /***/ }),
47992
+
47993
+ /***/ "./src/hooks/ui-animations/assets/backdropModalAnimations.ts":
47994
+ /*!*******************************************************************!*\
47995
+ !*** ./src/hooks/ui-animations/assets/backdropModalAnimations.ts ***!
47996
+ \*******************************************************************/
47685
47997
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47686
47998
 
47687
47999
  "use strict";
@@ -47877,29 +48189,32 @@ var BACKDROP_MODAL_ANIMATIONS = function BACKDROP_MODAL_ANIMATIONS(props) {
47877
48189
 
47878
48190
  /***/ }),
47879
48191
 
47880
- /***/ "./src/hooks/animations/assets/index.ts":
47881
- /*!**********************************************!*\
47882
- !*** ./src/hooks/animations/assets/index.ts ***!
47883
- \**********************************************/
48192
+ /***/ "./src/hooks/ui-animations/assets/index.ts":
48193
+ /*!*************************************************!*\
48194
+ !*** ./src/hooks/ui-animations/assets/index.ts ***!
48195
+ \*************************************************/
47884
48196
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47885
48197
 
47886
48198
  "use strict";
47887
48199
  __webpack_require__.r(__webpack_exports__);
47888
48200
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
47889
48201
  /* harmony export */ BACKDROP_MODAL_ANIMATIONS: () => (/* reexport safe */ _backdropModalAnimations__WEBPACK_IMPORTED_MODULE_1__.BACKDROP_MODAL_ANIMATIONS),
47890
- /* harmony export */ MODAL_ANIMATIONS: () => (/* reexport safe */ _modalAnimations__WEBPACK_IMPORTED_MODULE_0__.MODAL_ANIMATIONS)
48202
+ /* harmony export */ MODAL_ANIMATIONS: () => (/* reexport safe */ _modalAnimations__WEBPACK_IMPORTED_MODULE_0__.MODAL_ANIMATIONS),
48203
+ /* harmony export */ SHIMMER_ANIMATIONS: () => (/* reexport safe */ _shimmerAnimation__WEBPACK_IMPORTED_MODULE_2__.SHIMMER_ANIMATIONS)
47891
48204
  /* harmony export */ });
47892
- /* harmony import */ var _modalAnimations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modalAnimations */ "./src/hooks/animations/assets/modalAnimations.ts");
47893
- /* harmony import */ var _backdropModalAnimations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./backdropModalAnimations */ "./src/hooks/animations/assets/backdropModalAnimations.ts");
48205
+ /* harmony import */ var _modalAnimations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modalAnimations */ "./src/hooks/ui-animations/assets/modalAnimations.ts");
48206
+ /* harmony import */ var _backdropModalAnimations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./backdropModalAnimations */ "./src/hooks/ui-animations/assets/backdropModalAnimations.ts");
48207
+ /* harmony import */ var _shimmerAnimation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shimmerAnimation */ "./src/hooks/ui-animations/assets/shimmerAnimation.ts");
48208
+
47894
48209
 
47895
48210
 
47896
48211
 
47897
48212
  /***/ }),
47898
48213
 
47899
- /***/ "./src/hooks/animations/assets/modalAnimations.ts":
47900
- /*!********************************************************!*\
47901
- !*** ./src/hooks/animations/assets/modalAnimations.ts ***!
47902
- \********************************************************/
48214
+ /***/ "./src/hooks/ui-animations/assets/modalAnimations.ts":
48215
+ /*!***********************************************************!*\
48216
+ !*** ./src/hooks/ui-animations/assets/modalAnimations.ts ***!
48217
+ \***********************************************************/
47903
48218
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
47904
48219
 
47905
48220
  "use strict";
@@ -48094,29 +48409,98 @@ var MODAL_ANIMATIONS = function MODAL_ANIMATIONS(props) {
48094
48409
 
48095
48410
  /***/ }),
48096
48411
 
48097
- /***/ "./src/hooks/animations/index.ts":
48098
- /*!***************************************!*\
48099
- !*** ./src/hooks/animations/index.ts ***!
48100
- \***************************************/
48412
+ /***/ "./src/hooks/ui-animations/assets/shimmerAnimation.ts":
48413
+ /*!************************************************************!*\
48414
+ !*** ./src/hooks/ui-animations/assets/shimmerAnimation.ts ***!
48415
+ \************************************************************/
48416
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48417
+
48418
+ "use strict";
48419
+ __webpack_require__.r(__webpack_exports__);
48420
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48421
+ /* harmony export */ SHIMMER_ANIMATIONS: () => (/* binding */ SHIMMER_ANIMATIONS)
48422
+ /* harmony export */ });
48423
+ var DEFAULT_ANIMATION = function DEFAULT_ANIMATION() {
48424
+ for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
48425
+ _ref[_key] = arguments[_key];
48426
+ }
48427
+ var element = _ref[0];
48428
+ var appear = function appear(timeline) {
48429
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
48430
+ var _options$instance = options.instance,
48431
+ instance = _options$instance === void 0 ? false : _options$instance;
48432
+ timeline.clear().set(element, {
48433
+ opacity: 0,
48434
+ backgroundImage: 'linear-gradient(90deg, rgba(238, 238, 238, 0) 35%, rgba(250, 250, 250, 0.6) 50%, rgba(238, 238, 238, 0) 65%)',
48435
+ backgroundSize: ' 200%',
48436
+ backgroundPositionX: '100%'
48437
+ });
48438
+ if (instance) {
48439
+ timeline.set(element, {
48440
+ opacity: 1
48441
+ });
48442
+ } else {
48443
+ timeline.to(element, {
48444
+ opacity: 1,
48445
+ duration: 0.2,
48446
+ ease: "power1.out"
48447
+ });
48448
+ }
48449
+ timeline.to(element, {
48450
+ backgroundPositionX: '-100%',
48451
+ duration: 1.5,
48452
+ ease: "linear",
48453
+ repeat: -1
48454
+ });
48455
+ return timeline;
48456
+ };
48457
+ var disappear = function disappear(timeline) {
48458
+ timeline.clear().to(element, {
48459
+ opacity: 0,
48460
+ duration: 0.2,
48461
+ ease: "power1.in"
48462
+ });
48463
+ return timeline;
48464
+ };
48465
+ return {
48466
+ appear: appear,
48467
+ disappear: disappear
48468
+ };
48469
+ };
48470
+ var SHIMMER_ANIMATIONS = function SHIMMER_ANIMATIONS() {
48471
+ return {
48472
+ 'default': DEFAULT_ANIMATION.apply(void 0, arguments)
48473
+ };
48474
+ };
48475
+
48476
+ /***/ }),
48477
+
48478
+ /***/ "./src/hooks/ui-animations/index.ts":
48479
+ /*!******************************************!*\
48480
+ !*** ./src/hooks/ui-animations/index.ts ***!
48481
+ \******************************************/
48101
48482
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48102
48483
 
48103
48484
  "use strict";
48104
48485
  __webpack_require__.r(__webpack_exports__);
48105
48486
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48106
48487
  /* harmony export */ useBackgroundModalAnim: () => (/* reexport safe */ _useBackgroundModalAnim__WEBPACK_IMPORTED_MODULE_1__.useBackgroundModalAnim),
48107
- /* harmony export */ useModalAnim: () => (/* reexport safe */ _useModalAnim__WEBPACK_IMPORTED_MODULE_0__.useModalAnim)
48488
+ /* harmony export */ useModalAnim: () => (/* reexport safe */ _useModalAnim__WEBPACK_IMPORTED_MODULE_0__.useModalAnim),
48489
+ /* harmony export */ useShimmer: () => (/* reexport safe */ _useShimmer__WEBPACK_IMPORTED_MODULE_2__.useShimmer)
48108
48490
  /* harmony export */ });
48109
- /* harmony import */ var _useModalAnim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useModalAnim */ "./src/hooks/animations/useModalAnim.ts");
48110
- /* harmony import */ var _useBackgroundModalAnim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useBackgroundModalAnim */ "./src/hooks/animations/useBackgroundModalAnim.ts");
48491
+ /* harmony import */ var _useModalAnim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useModalAnim */ "./src/hooks/ui-animations/useModalAnim.ts");
48492
+ /* harmony import */ var _useBackgroundModalAnim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useBackgroundModalAnim */ "./src/hooks/ui-animations/useBackgroundModalAnim.ts");
48493
+ /* harmony import */ var _useShimmer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useShimmer */ "./src/hooks/ui-animations/useShimmer.ts");
48494
+
48111
48495
 
48112
48496
 
48113
48497
 
48114
48498
  /***/ }),
48115
48499
 
48116
- /***/ "./src/hooks/animations/useBackgroundModalAnim.ts":
48117
- /*!********************************************************!*\
48118
- !*** ./src/hooks/animations/useBackgroundModalAnim.ts ***!
48119
- \********************************************************/
48500
+ /***/ "./src/hooks/ui-animations/useBackgroundModalAnim.ts":
48501
+ /*!***********************************************************!*\
48502
+ !*** ./src/hooks/ui-animations/useBackgroundModalAnim.ts ***!
48503
+ \***********************************************************/
48120
48504
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48121
48505
 
48122
48506
  "use strict";
@@ -48127,7 +48511,7 @@ __webpack_require__.r(__webpack_exports__);
48127
48511
  /* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! gsap */ "./node_modules/gsap/index.js");
48128
48512
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
48129
48513
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
48130
- /* harmony import */ var _assets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assets */ "./src/hooks/animations/assets/index.ts");
48514
+ /* harmony import */ var _assets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assets */ "./src/hooks/ui-animations/assets/index.ts");
48131
48515
 
48132
48516
 
48133
48517
 
@@ -48338,10 +48722,10 @@ function useTimeline() {
48338
48722
 
48339
48723
  /***/ }),
48340
48724
 
48341
- /***/ "./src/hooks/animations/useModalAnim.ts":
48342
- /*!**********************************************!*\
48343
- !*** ./src/hooks/animations/useModalAnim.ts ***!
48344
- \**********************************************/
48725
+ /***/ "./src/hooks/ui-animations/useModalAnim.ts":
48726
+ /*!*************************************************!*\
48727
+ !*** ./src/hooks/ui-animations/useModalAnim.ts ***!
48728
+ \*************************************************/
48345
48729
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48346
48730
 
48347
48731
  "use strict";
@@ -48353,7 +48737,7 @@ __webpack_require__.r(__webpack_exports__);
48353
48737
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
48354
48738
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
48355
48739
  /* harmony import */ var _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
48356
- /* harmony import */ var _assets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assets */ "./src/hooks/animations/assets/index.ts");
48740
+ /* harmony import */ var _assets__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./assets */ "./src/hooks/ui-animations/assets/index.ts");
48357
48741
  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); }
48358
48742
  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; }
48359
48743
  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; }
@@ -48534,354 +48918,218 @@ function useModalAnim() {
48534
48918
  backdrop.style.left = '0';
48535
48919
  backdrop.style.visibility = 'hidden';
48536
48920
  backdrop.className = backdropClassName || '';
48537
- document.body.appendChild(backdrop);
48538
- backdropRef.current = backdrop;
48539
- }
48540
- function removeBackdropObj() {
48541
- if (backdropRef.current) backdropRef.current.remove();
48542
- }
48543
- function setHiddeState() {
48544
- var obj = ref.current;
48545
- var backdrop = backdropRef.current;
48546
- if (obj) {
48547
- obj.style.visibility = 'hidden';
48548
- }
48549
- if (backdrop) {
48550
- backdrop.style.visibility = 'hidden';
48551
- }
48552
- }
48553
- function onDisappearEnd() {
48554
- onHiding === null || onHiding === void 0 || onHiding();
48555
- }
48556
- function onAppearEnd() {
48557
- onViewing === null || onViewing === void 0 || onViewing();
48558
- }
48559
- }
48560
- function useTimeline() {
48561
- var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(undefined);
48562
- var getTimeline = function getTimeline() {
48563
- return timelineRef.current;
48564
- };
48565
- var setTimeline = function setTimeline(v) {
48566
- if (timelineRef.current) {
48567
- timelineRef.current.kill();
48568
- }
48569
- timelineRef.current = v;
48570
- };
48571
- return {
48572
- getTimeline: getTimeline,
48573
- setTimeline: setTimeline
48574
- };
48575
- }
48576
-
48577
- /***/ }),
48578
-
48579
- /***/ "./src/hooks/index.ts":
48580
- /*!****************************!*\
48581
- !*** ./src/hooks/index.ts ***!
48582
- \****************************/
48583
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48584
-
48585
- "use strict";
48586
- __webpack_require__.r(__webpack_exports__);
48587
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48588
- /* harmony export */ useBackdropModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_14__.useBackdropModal),
48589
- /* harmony export */ useBackgroundModalAnim: () => (/* reexport safe */ _animations__WEBPACK_IMPORTED_MODULE_13__.useBackgroundModalAnim),
48590
- /* harmony export */ useDebouncedAccumulator: () => (/* reexport safe */ _useDebouncedAccumulator__WEBPACK_IMPORTED_MODULE_2__.useDebouncedAccumulator),
48591
- /* harmony export */ useDebouncedInvoker: () => (/* reexport safe */ _useDebouncedInvoker__WEBPACK_IMPORTED_MODULE_7__.useDebouncedInvoker),
48592
- /* harmony export */ useDeepCompareEffect: () => (/* reexport safe */ _useDeepCompareEffect__WEBPACK_IMPORTED_MODULE_3__.useDeepCompareEffect),
48593
- /* harmony export */ useDidUpdateEffect: () => (/* reexport safe */ _useDidUpdateEffect__WEBPACK_IMPORTED_MODULE_8__.useDidUpdateEffect),
48594
- /* harmony export */ useElementFixedOffset: () => (/* reexport safe */ _useElementFixedOffset__WEBPACK_IMPORTED_MODULE_4__.useElementFixedOffset),
48595
- /* harmony export */ useFormData: () => (/* reexport safe */ _useFormData__WEBPACK_IMPORTED_MODULE_1__.useFormData),
48596
- /* harmony export */ useInteractiveZone: () => (/* reexport safe */ _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__.useInteractiveZone),
48597
- /* harmony export */ useIsErrorField: () => (/* reexport safe */ _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__.useIsErrorField),
48598
- /* harmony export */ useModal: () => (/* reexport safe */ _modalWindows__WEBPACK_IMPORTED_MODULE_14__.useModal),
48599
- /* harmony export */ useModalAnim: () => (/* reexport safe */ _animations__WEBPACK_IMPORTED_MODULE_13__.useModalAnim),
48600
- /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__.useResettableTimeout),
48601
- /* harmony export */ useScrollIndicators: () => (/* reexport safe */ _useScrollIndicators__WEBPACK_IMPORTED_MODULE_15__.useScrollIndicators),
48602
- /* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__.useSmartPlacementResolver),
48603
- /* harmony export */ useSmartPosition: () => (/* reexport safe */ _useSmartPosition__WEBPACK_IMPORTED_MODULE_9__.useSmartPosition),
48604
- /* harmony export */ useSmartScroll: () => (/* reexport safe */ _useSmartScroll__WEBPACK_IMPORTED_MODULE_10__.useSmartScroll),
48605
- /* harmony export */ useSyncedStateRef: () => (/* reexport safe */ _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_5__.useSyncedStateRef)
48606
- /* harmony export */ });
48607
- /* harmony import */ var _useIsErrorField__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useIsErrorField */ "./src/hooks/useIsErrorField.ts");
48608
- /* harmony import */ var _useFormData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useFormData */ "./src/hooks/useFormData.ts");
48609
- /* harmony import */ var _useDebouncedAccumulator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useDebouncedAccumulator */ "./src/hooks/useDebouncedAccumulator.ts");
48610
- /* harmony import */ var _useDeepCompareEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useDeepCompareEffect */ "./src/hooks/useDeepCompareEffect.ts");
48611
- /* harmony import */ var _useElementFixedOffset__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useElementFixedOffset */ "./src/hooks/useElementFixedOffset.ts");
48612
- /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
48613
- /* harmony import */ var _useResettableTimeout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useResettableTimeout */ "./src/hooks/useResettableTimeout.ts");
48614
- /* harmony import */ var _useDebouncedInvoker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./useDebouncedInvoker */ "./src/hooks/useDebouncedInvoker.ts");
48615
- /* harmony import */ var _useDidUpdateEffect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useDidUpdateEffect */ "./src/hooks/useDidUpdateEffect.ts");
48616
- /* harmony import */ var _useSmartPosition__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./useSmartPosition */ "./src/hooks/useSmartPosition.ts");
48617
- /* harmony import */ var _useSmartScroll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./useSmartScroll */ "./src/hooks/useSmartScroll/index.ts");
48618
- /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
48619
- /* harmony import */ var _useSmartPlacementResolver__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./useSmartPlacementResolver */ "./src/hooks/useSmartPlacementResolver.ts");
48620
- /* harmony import */ var _animations__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./animations */ "./src/hooks/animations/index.ts");
48621
- /* harmony import */ var _modalWindows__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modalWindows */ "./src/hooks/modalWindows/index.ts");
48622
- /* harmony import */ var _useScrollIndicators__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./useScrollIndicators */ "./src/hooks/useScrollIndicators.ts");
48623
-
48624
-
48625
-
48626
-
48627
-
48628
-
48629
-
48630
-
48631
-
48632
-
48633
-
48634
-
48635
-
48636
-
48637
-
48638
-
48639
-
48640
- /***/ }),
48641
-
48642
- /***/ "./src/hooks/modalWindows/index.ts":
48643
- /*!*****************************************!*\
48644
- !*** ./src/hooks/modalWindows/index.ts ***!
48645
- \*****************************************/
48646
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48647
-
48648
- "use strict";
48649
- __webpack_require__.r(__webpack_exports__);
48650
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48651
- /* harmony export */ useBackdropModal: () => (/* reexport safe */ _useBackdropModal__WEBPACK_IMPORTED_MODULE_0__.useBackdropModal),
48652
- /* harmony export */ useModal: () => (/* reexport safe */ _useModal__WEBPACK_IMPORTED_MODULE_1__.useModal)
48653
- /* harmony export */ });
48654
- /* harmony import */ var _useBackdropModal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./useBackdropModal */ "./src/hooks/modalWindows/useBackdropModal.ts");
48655
- /* harmony import */ var _useModal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useModal */ "./src/hooks/modalWindows/useModal.ts");
48656
-
48657
-
48921
+ document.body.appendChild(backdrop);
48922
+ backdropRef.current = backdrop;
48923
+ }
48924
+ function removeBackdropObj() {
48925
+ if (backdropRef.current) backdropRef.current.remove();
48926
+ }
48927
+ function setHiddeState() {
48928
+ var obj = ref.current;
48929
+ var backdrop = backdropRef.current;
48930
+ if (obj) {
48931
+ obj.style.visibility = 'hidden';
48932
+ }
48933
+ if (backdrop) {
48934
+ backdrop.style.visibility = 'hidden';
48935
+ }
48936
+ }
48937
+ function onDisappearEnd() {
48938
+ onHiding === null || onHiding === void 0 || onHiding();
48939
+ }
48940
+ function onAppearEnd() {
48941
+ onViewing === null || onViewing === void 0 || onViewing();
48942
+ }
48943
+ }
48944
+ function useTimeline() {
48945
+ var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(undefined);
48946
+ var getTimeline = function getTimeline() {
48947
+ return timelineRef.current;
48948
+ };
48949
+ var setTimeline = function setTimeline(v) {
48950
+ if (timelineRef.current) {
48951
+ timelineRef.current.kill();
48952
+ }
48953
+ timelineRef.current = v;
48954
+ };
48955
+ return {
48956
+ getTimeline: getTimeline,
48957
+ setTimeline: setTimeline
48958
+ };
48959
+ }
48658
48960
 
48659
48961
  /***/ }),
48660
48962
 
48661
- /***/ "./src/hooks/modalWindows/useBackdropModal.ts":
48662
- /*!****************************************************!*\
48663
- !*** ./src/hooks/modalWindows/useBackdropModal.ts ***!
48664
- \****************************************************/
48963
+ /***/ "./src/hooks/ui-animations/useShimmer.ts":
48964
+ /*!***********************************************!*\
48965
+ !*** ./src/hooks/ui-animations/useShimmer.ts ***!
48966
+ \***********************************************/
48665
48967
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48666
48968
 
48667
48969
  "use strict";
48668
48970
  __webpack_require__.r(__webpack_exports__);
48669
48971
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48670
- /* harmony export */ useBackdropModal: () => (/* binding */ useBackdropModal)
48972
+ /* harmony export */ useShimmer: () => (/* binding */ useShimmer)
48671
48973
  /* harmony export */ });
48974
+ /* harmony import */ var gsap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! gsap */ "./node_modules/gsap/index.js");
48672
48975
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
48673
48976
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
48674
- /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
48675
- /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
48676
- /* harmony import */ var _animations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../animations */ "./src/hooks/animations/index.ts");
48977
+ /* harmony import */ var _assets__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assets */ "./src/hooks/ui-animations/assets/index.ts");
48677
48978
  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); }
48678
- var _excluded = ["containerClickAreaRef"];
48679
48979
  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; }
48680
48980
  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; }
48681
48981
  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; }
48682
48982
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
48683
48983
  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); }
48684
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
48685
- 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."); }
48686
- 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; } }
48687
- 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; }
48688
- 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; } }
48689
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
48690
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
48691
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
48692
48984
 
48693
48985
 
48694
48986
 
48695
-
48696
- /**
48697
- * Хук для backdrop-модального окна.
48698
- *
48699
- * ---
48700
- *
48701
- * Важные пропсы:
48702
- * - `ref` - рефка на компонент модалки.
48703
- * - `targetRef` - рефка на компонент, который вызывает появление модалки.
48704
- * - `containerClickAreaRef` - зона кликов модалки. Поможет, если вы обернули модалку в доп компонент, но клик по нему
48705
- * (мимо основной модалки) должен закрывать модалку, в таком случае в `ref` передайте ссылку на обертку,
48706
- * а в `containerClickAreaRef` именно на модалку.
48707
- *
48708
- * ---
48709
- *
48710
- * Виды модалок:
48711
- *
48712
- * Все очень просто, название за себя говорит, как будет появляться модалка.
48713
- * Исчезать она будет по такому же принципу, но наоборот.
48714
- * */
48715
- function useBackdropModal() {
48987
+ function useShimmer() {
48716
48988
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
48717
48989
  args[_key] = arguments[_key];
48718
48990
  }
48719
48991
  var ref = args[0],
48720
48992
  _args$ = args[1],
48721
48993
  options = _args$ === void 0 ? {} : _args$;
48722
- var containerClickAreaRef = options.containerClickAreaRef,
48723
- animeOptions = _objectWithoutProperties(options, _excluded);
48724
- var _useSyncedStateRef = (0,_useSyncedStateRef__WEBPACK_IMPORTED_MODULE_2__.useSyncedStateRef)(false),
48725
- _useSyncedStateRef2 = _slicedToArray(_useSyncedStateRef, 3),
48726
- isShow = _useSyncedStateRef2[0],
48727
- setIsShow = _useSyncedStateRef2[1],
48728
- getIsShow = _useSyncedStateRef2[2];
48729
- var onHiding = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
48730
- setIsShow(false);
48994
+ var _options$initIsActive = options.initIsActive,
48995
+ initIsActive = _options$initIsActive === void 0 ? false : _options$initIsActive;
48996
+ var isActive = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(initIsActive);
48997
+ var _useTimeline = useTimeline(),
48998
+ setTimeline = _useTimeline.setTimeline;
48999
+ var _useShimmerComponent = useShimmerComponent(ref, options),
49000
+ mountShimmer = _useShimmerComponent.mountShimmer,
49001
+ getShimmer = _useShimmerComponent.getShimmer,
49002
+ unmountShimmer = _useShimmerComponent.unmountShimmer;
49003
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
49004
+ initRef();
49005
+ if (isActive) {
49006
+ startLoading(true);
49007
+ }
48731
49008
  }, []);
48732
- (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_1__.useInteractiveZone)(containerClickAreaRef || ref, {
48733
- onMissClick: onMissClick
48734
- });
48735
- var _useBackgroundModalAn = (0,_animations__WEBPACK_IMPORTED_MODULE_3__.useBackgroundModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
48736
- onHiding: onHiding
48737
- })),
48738
- appearanceAnim = _useBackgroundModalAn.appearanceAnim,
48739
- disappearanceAnim = _useBackgroundModalAn.disappearanceAnim,
48740
- reinit = _useBackgroundModalAn.reinit;
48741
- var open = function open() {
48742
- setIsShow(true);
48743
- requestAnimationFrame(function () {
48744
- reinit();
48745
- appearanceAnim();
48746
- });
49009
+ var initRef = function initRef() {
49010
+ var container = ref.current;
49011
+ if (container) {
49012
+ container.style.position = 'relative';
49013
+ }
49014
+ return container;
49015
+ };
49016
+ var initShimmer = function initShimmer() {
49017
+ return mountShimmer();
49018
+ };
49019
+ var startLoading = function startLoading() {
49020
+ var instance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
49021
+ var shimmer = initShimmer();
49022
+ if (shimmer) {
49023
+ var timeline = gsap__WEBPACK_IMPORTED_MODULE_2__["default"].timeline();
49024
+ var animes = (0,_assets__WEBPACK_IMPORTED_MODULE_1__.SHIMMER_ANIMATIONS)(shimmer);
49025
+ animes["default"].appear(timeline, {
49026
+ instance: instance
49027
+ });
49028
+ setTimeline(timeline);
49029
+ isActive.current = true;
49030
+ timeline.play();
49031
+ }
48747
49032
  };
48748
- var close = function close() {
48749
- disappearanceAnim();
49033
+ var stopLoading = function stopLoading() {
49034
+ var shimmer = getShimmer();
49035
+ if (shimmer) {
49036
+ var timeline = gsap__WEBPACK_IMPORTED_MODULE_2__["default"].timeline({
49037
+ onComplete: unmountShimmer
49038
+ });
49039
+ var animes = (0,_assets__WEBPACK_IMPORTED_MODULE_1__.SHIMMER_ANIMATIONS)(shimmer);
49040
+ animes["default"].disappear(timeline);
49041
+ setTimeline(timeline);
49042
+ isActive.current = false;
49043
+ timeline.play();
49044
+ }
48750
49045
  };
48751
- var switching = function switching() {
48752
- var curIsShow = getIsShow();
48753
- if (curIsShow) {
48754
- close();
49046
+ var switchLoading = function switchLoading() {
49047
+ if (!isActive.current) {
49048
+ startLoading();
48755
49049
  } else {
48756
- open();
49050
+ stopLoading();
48757
49051
  }
48758
49052
  };
48759
- function onMissClick() {
48760
- close();
48761
- }
48762
49053
  return {
48763
- isShow: isShow,
48764
- open: open,
48765
- close: close,
48766
- switching: switching,
48767
- reinit: reinit
49054
+ startLoading: startLoading,
49055
+ stopLoading: stopLoading,
49056
+ switchLoading: switchLoading
48768
49057
  };
48769
49058
  }
48770
-
48771
- /***/ }),
48772
-
48773
- /***/ "./src/hooks/modalWindows/useModal.ts":
48774
- /*!********************************************!*\
48775
- !*** ./src/hooks/modalWindows/useModal.ts ***!
48776
- \********************************************/
48777
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
48778
-
48779
- "use strict";
48780
- __webpack_require__.r(__webpack_exports__);
48781
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
48782
- /* harmony export */ useModal: () => (/* binding */ useModal)
48783
- /* harmony export */ });
48784
- /* harmony import */ var _useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../useInteractiveZone */ "./src/hooks/useInteractiveZone.ts");
48785
- /* harmony import */ var _useSyncedStateRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../useSyncedStateRef */ "./src/hooks/useSyncedStateRef.ts");
48786
- /* harmony import */ var _animations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../animations */ "./src/hooks/animations/index.ts");
48787
- 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); }
48788
- var _excluded = ["addition"];
48789
- 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; }
48790
- 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; }
48791
- 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; }
48792
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
48793
- 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); }
48794
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
48795
- 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."); }
48796
- 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; } }
48797
- 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; }
48798
- 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; } }
48799
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
48800
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
48801
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
48802
-
48803
-
48804
-
48805
- /**
48806
- * Хук для модального окна.
48807
- *
48808
- * ---
48809
- *
48810
- * Важные пропсы:
48811
- * - `ref` - рефка на компонент модалки.
48812
- * - `targetRef` - рефка на компонент, который вызывает появление модалки.
48813
- * - `addition` - дополнительные элементы, которые будут игнорироваться при мисс-клике.
48814
- * (Клик по ним не вызовет закрытие модалки)
48815
- * ---
48816
- *
48817
- * Виды модалок:
48818
- *
48819
- * - `popover` - хорошо подойдет для подсказок, появляется немного скейлясь.
48820
- * - `dropdown` - обычный дропдаун.
48821
- * - `context-menu` - подойдет для быстрого показа списка возможностей, при этом скрывает его немного замедленно,
48822
- * чтобы пользователь мог разглядеть его.
48823
- * - `action-sheet` - какой-то список действий, который требует полной фокусировки, затеняет фон для этого (не затеняет `target`).
48824
- * К примеру, модальнрое окна для сообщения в чате.
48825
- * */
48826
- function useModal() {
48827
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
48828
- args[_key] = arguments[_key];
49059
+ function useShimmerComponent() {
49060
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
49061
+ args[_key2] = arguments[_key2];
48829
49062
  }
48830
- var ref = args[0],
48831
- _args$ = args[1],
48832
- options = _args$ === void 0 ? {} : _args$;
48833
- var addition = options.addition,
48834
- animeOptions = _objectWithoutProperties(options, _excluded);
48835
- var targetRef = options.targetRef;
48836
- var _useSyncedStateRef = (0,_useSyncedStateRef__WEBPACK_IMPORTED_MODULE_1__.useSyncedStateRef)(false),
48837
- _useSyncedStateRef2 = _slicedToArray(_useSyncedStateRef, 3),
48838
- isShow = _useSyncedStateRef2[0],
48839
- setIsShow = _useSyncedStateRef2[1],
48840
- getIsShow = _useSyncedStateRef2[2];
48841
- var onHiding = function onHiding() {
48842
- var _animeOptions$onHidin;
48843
- setIsShow(false);
48844
- animeOptions === null || animeOptions === void 0 || (_animeOptions$onHidin = animeOptions.onHiding) === null || _animeOptions$onHidin === void 0 || _animeOptions$onHidin.call(animeOptions);
48845
- };
48846
- (0,_useInteractiveZone__WEBPACK_IMPORTED_MODULE_0__.useInteractiveZone)(ref, {
48847
- onMissClick: onMissClick
48848
- }, {
48849
- ignore: [(targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) || null],
48850
- addition: addition
48851
- });
48852
- var _useModalAnim = (0,_animations__WEBPACK_IMPORTED_MODULE_2__.useModalAnim)(ref, _objectSpread(_objectSpread({}, animeOptions), {}, {
48853
- onHiding: onHiding
48854
- })),
48855
- appearanceAnim = _useModalAnim.appearanceAnim,
48856
- disappearanceAnim = _useModalAnim.disappearanceAnim,
48857
- reinit = _useModalAnim.reinit;
48858
- var open = function open() {
48859
- setIsShow(true);
48860
- requestAnimationFrame(function () {
48861
- reinit();
48862
- appearanceAnim();
48863
- });
49063
+ var containerRef = args[0],
49064
+ _args$2 = args[1],
49065
+ options = _args$2 === void 0 ? {} : _args$2;
49066
+ var shimmerStyle = options.shimmerStyle,
49067
+ shimmerClassName = options.shimmerClassName;
49068
+ var shimmerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
49069
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
49070
+ return unmountShimmer;
49071
+ }, []);
49072
+ var getShimmer = function getShimmer() {
49073
+ return shimmerRef.current;
49074
+ };
49075
+ var unmountShimmer = function unmountShimmer() {
49076
+ var shimmer = getShimmer();
49077
+ shimmer === null || shimmer === void 0 || shimmer.remove();
49078
+ };
49079
+ var mountShimmer = function mountShimmer() {
49080
+ unmountShimmer();
49081
+ var container = containerRef.current;
49082
+ if (container) {
49083
+ var shimmer = document.createElement("div");
49084
+ shimmer.className = shimmerClassName;
49085
+ var defaultStyles = {
49086
+ position: 'absolute',
49087
+ top: '0',
49088
+ left: '0',
49089
+ zIndex: '1',
49090
+ width: '100%',
49091
+ height: '100%',
49092
+ pointerEvents: 'none',
49093
+ backgroundColor: '#EAECF0',
49094
+ backgroundRepeat: 'no-repeat',
49095
+ overflow: 'hidden'
49096
+ };
49097
+ var mergedStyles = _objectSpread(_objectSpread({}, defaultStyles), shimmerStyle);
49098
+ // Применяем объединенные стили к элементу
49099
+ Object.assign(shimmer.style, mergedStyles);
49100
+ container.appendChild(shimmer);
49101
+ shimmerRef.current = shimmer;
49102
+ return shimmer;
49103
+ }
49104
+ return undefined;
48864
49105
  };
48865
- var close = function close() {
48866
- disappearanceAnim();
49106
+ return {
49107
+ getShimmer: getShimmer,
49108
+ mountShimmer: mountShimmer,
49109
+ unmountShimmer: unmountShimmer
48867
49110
  };
48868
- var switching = function switching() {
48869
- var curIsShow = getIsShow();
48870
- if (curIsShow) {
48871
- close();
48872
- } else {
48873
- open();
49111
+ }
49112
+ function useTimeline() {
49113
+ var timelineRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(undefined);
49114
+ (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
49115
+ return clearTimeline;
49116
+ }, []);
49117
+ var clearTimeline = function clearTimeline() {
49118
+ if (timelineRef.current) {
49119
+ timelineRef.current.kill();
48874
49120
  }
48875
49121
  };
48876
- function onMissClick() {
48877
- close();
48878
- }
49122
+ var getTimeline = function getTimeline() {
49123
+ return timelineRef.current;
49124
+ };
49125
+ var setTimeline = function setTimeline(newTimeline) {
49126
+ clearTimeline();
49127
+ timelineRef.current = newTimeline;
49128
+ };
48879
49129
  return {
48880
- isShow: isShow,
48881
- open: open,
48882
- close: close,
48883
- switching: switching,
48884
- reinit: reinit
49130
+ getTimeline: getTimeline,
49131
+ setTimeline: setTimeline,
49132
+ clearTimeline: clearTimeline
48885
49133
  };
48886
49134
  }
48887
49135
 
@@ -64779,6 +65027,7 @@ __webpack_require__.r(__webpack_exports__);
64779
65027
  /* harmony export */ useModalAnim: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useModalAnim),
64780
65028
  /* harmony export */ useResettableTimeout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useResettableTimeout),
64781
65029
  /* harmony export */ useScrollIndicators: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useScrollIndicators),
65030
+ /* harmony export */ useShimmer: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useShimmer),
64782
65031
  /* harmony export */ useSmartPlacementResolver: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPlacementResolver),
64783
65032
  /* harmony export */ useSmartPosition: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartPosition),
64784
65033
  /* harmony export */ useSmartScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_2__.useSmartScroll),