indicator-ui 0.0.150 → 0.0.151

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/index.js +236 -51
  2. package/dist/index.js.map +1 -1
  3. package/dist/types/src/__tests__/getDeepValue.test.d.ts +1 -0
  4. package/dist/types/src/__tests__/setDeepValue.test.d.ts +1 -0
  5. package/dist/types/src/lib/dict/clearDeepValue.d.ts +1 -1
  6. package/dist/types/src/lib/dict/index.d.ts +1 -0
  7. package/dist/types/src/lib/dict/setDeepValue.d.ts +1 -1
  8. package/dist/types/src/types/DictDeepActionsTypes.d.ts +3 -0
  9. package/dist/types/src/ui/FormBuilder/lib/formBuilder.d.ts +1 -1
  10. package/dist/types/src/ui/FormBuilder/types/FormBuilderTypes.d.ts +4 -0
  11. package/dist/types/src/ui/ScrollProvider/index.d.ts +2 -0
  12. package/dist/types/src/ui/ScrollProvider/types/ScrollProviderTypes.d.ts +34 -0
  13. package/dist/types/src/ui/ScrollProvider/types/index.d.ts +1 -0
  14. package/dist/types/src/ui/ScrollProvider/ui/ScrollProvider.d.ts +2 -0
  15. package/dist/types/src/ui/ScrollProvider/ui/index.d.ts +1 -0
  16. package/dist/types/src/ui/index.d.ts +1 -0
  17. package/package.json +73 -68
  18. package/dist/types/src/test/ui/InputFileField/api/getFileUrl.d.ts +0 -1
  19. package/dist/types/src/test/ui/InputFileField/api/index.d.ts +0 -1
  20. package/dist/types/src/test/ui/InputFileField/index.d.ts +0 -3
  21. package/dist/types/src/test/ui/InputFileField/types/FileViewItemTypes.d.ts +0 -18
  22. package/dist/types/src/test/ui/InputFileField/types/InputFileFieldTypes.d.ts +0 -8
  23. package/dist/types/src/test/ui/InputFileField/types/InputFileTypes.d.ts +0 -19
  24. package/dist/types/src/test/ui/InputFileField/types/index.d.ts +0 -3
  25. package/dist/types/src/test/ui/InputFileField/ui/FileViewItem.d.ts +0 -2
  26. package/dist/types/src/test/ui/InputFileField/ui/InputFile.d.ts +0 -4
  27. package/dist/types/src/test/ui/InputFileField/ui/InputFileField.d.ts +0 -7
  28. package/dist/types/src/test/ui/index.d.ts +0 -1
package/dist/index.js CHANGED
@@ -6302,13 +6302,13 @@ function useFormData(value) {
6302
6302
  }
6303
6303
  _setFormData(value);
6304
6304
  };
6305
- const resetForm = () => {
6305
+ const _resetForm = () => {
6306
6306
  _setFormData(value || {});
6307
6307
  };
6308
- const clearForm = () => {
6308
+ const _clearForm = () => {
6309
6309
  _setFormData({});
6310
6310
  };
6311
- const setValue = (value, keyWay, options = { unionToArray: false }) => {
6311
+ const _setValue = (value, keyWay, options = { unionToArray: false }) => {
6312
6312
  const processFun = (prevState) => {
6313
6313
  let newValue = value;
6314
6314
  if (options.unionToArray) {
@@ -6339,25 +6339,25 @@ function useFormData(value) {
6339
6339
  const newFormData = processFun(formDataRef.current);
6340
6340
  _setFormData(newFormData);
6341
6341
  };
6342
- const getValue = (keyWay) => {
6342
+ const _getValue = (keyWay) => {
6343
6343
  return (0,_lib__WEBPACK_IMPORTED_MODULE_1__.getDeepValue)(formDataRef.current, keyWay);
6344
6344
  };
6345
- const deleteArrayItem = (keyWay) => {
6345
+ const _deleteArrayItem = (keyWay) => {
6346
6346
  const lastKeyWay = keyWay.length > 0 && keyWay[keyWay.length - 1] || undefined;
6347
6347
  if (lastKeyWay && typeof lastKeyWay === 'object') {
6348
6348
  const arrayKeyWay = [...keyWay.slice(0, keyWay.length - 1), lastKeyWay.name];
6349
- const oldValue = getValue(arrayKeyWay).filter((_item, idx) => idx !== lastKeyWay.index);
6350
- setValue(oldValue, arrayKeyWay);
6349
+ const oldValue = _getValue(arrayKeyWay).filter((_item, idx) => idx !== lastKeyWay.index);
6350
+ _setValue(oldValue, arrayKeyWay);
6351
6351
  }
6352
6352
  };
6353
6353
  return {
6354
6354
  formData: formData,
6355
6355
  setFormData: _setFormDataExternal,
6356
- setValue: setValue,
6357
- getValue: getValue,
6358
- resetForm: resetForm,
6359
- clearForm: clearForm,
6360
- deleteArrayItem: deleteArrayItem
6356
+ setValue: _setValue,
6357
+ getValue: _getValue,
6358
+ resetForm: _resetForm,
6359
+ clearForm: _clearForm,
6360
+ deleteArrayItem: _deleteArrayItem
6361
6361
  };
6362
6362
  }
6363
6363
 
@@ -6582,7 +6582,7 @@ function traverseTreeByStack(arr, process, options) {
6582
6582
  "use strict";
6583
6583
  __webpack_require__.r(__webpack_exports__);
6584
6584
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6585
- /* harmony export */ "default": () => (/* binding */ clearDeepValue)
6585
+ /* harmony export */ clearDeepValue: () => (/* binding */ clearDeepValue)
6586
6586
  /* harmony export */ });
6587
6587
  /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/lib */ "./src/lib/index.ts");
6588
6588
 
@@ -6668,21 +6668,39 @@ __webpack_require__.r(__webpack_exports__);
6668
6668
  function getDeepValue(dict, keyWay) {
6669
6669
  let curPlace = dict;
6670
6670
  for (let i = 0; i < keyWay?.length || 0; i++) {
6671
- if (!(0,_dict__WEBPACK_IMPORTED_MODULE_0__.isDict)(curPlace))
6672
- return undefined;
6671
+ if (!(0,_dict__WEBPACK_IMPORTED_MODULE_0__.isDict)(curPlace) && !Array.isArray(curPlace)) {
6672
+ return undefined; // Если это не объект и не массив, возвращаем undefined
6673
+ }
6673
6674
  if (typeof keyWay[i] === 'object') {
6674
6675
  const { name, index } = keyWay[i];
6675
- if (name in curPlace)
6676
- curPlace = curPlace[name][index];
6677
- else
6678
- return undefined;
6676
+ if (name in curPlace) {
6677
+ const nextPlace = curPlace[name];
6678
+ // Если путь ведет к массиву
6679
+ if (Array.isArray(nextPlace)) {
6680
+ // Проверяем, что индекс существует в массиве
6681
+ if (index < nextPlace.length) {
6682
+ curPlace = nextPlace[index];
6683
+ }
6684
+ else {
6685
+ return undefined; // Если индекс выходит за пределы массива
6686
+ }
6687
+ }
6688
+ else {
6689
+ curPlace = nextPlace;
6690
+ }
6691
+ }
6692
+ else {
6693
+ return undefined; // Если ключ не найден в объекте
6694
+ }
6679
6695
  }
6680
6696
  else {
6681
6697
  const item = keyWay[i];
6682
- if (item in curPlace)
6698
+ if (item in curPlace) {
6683
6699
  curPlace = curPlace[item];
6684
- else
6685
- return undefined;
6700
+ }
6701
+ else {
6702
+ return undefined; // Если ключ не найден
6703
+ }
6686
6704
  }
6687
6705
  }
6688
6706
  return curPlace;
@@ -6700,6 +6718,7 @@ function getDeepValue(dict, keyWay) {
6700
6718
  "use strict";
6701
6719
  __webpack_require__.r(__webpack_exports__);
6702
6720
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6721
+ /* harmony export */ clearDeepValue: () => (/* reexport safe */ _clearDeepValue__WEBPACK_IMPORTED_MODULE_4__.clearDeepValue),
6703
6722
  /* harmony export */ compKeyWays: () => (/* reexport safe */ _compKeyWays__WEBPACK_IMPORTED_MODULE_3__.compKeyWays),
6704
6723
  /* harmony export */ getDeepValue: () => (/* reexport safe */ _getDeepValue__WEBPACK_IMPORTED_MODULE_2__["default"]),
6705
6724
  /* harmony export */ isDict: () => (/* reexport safe */ _isDict__WEBPACK_IMPORTED_MODULE_0__["default"]),
@@ -6709,6 +6728,8 @@ __webpack_require__.r(__webpack_exports__);
6709
6728
  /* harmony import */ var _setDeepValue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setDeepValue */ "./src/lib/dict/setDeepValue.ts");
6710
6729
  /* harmony import */ var _getDeepValue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getDeepValue */ "./src/lib/dict/getDeepValue.ts");
6711
6730
  /* harmony import */ var _compKeyWays__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./compKeyWays */ "./src/lib/dict/compKeyWays.ts");
6731
+ /* harmony import */ var _clearDeepValue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./clearDeepValue */ "./src/lib/dict/clearDeepValue.ts");
6732
+
6712
6733
 
6713
6734
 
6714
6735
 
@@ -6749,30 +6770,49 @@ __webpack_require__.r(__webpack_exports__);
6749
6770
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6750
6771
  /* harmony export */ "default": () => (/* binding */ setDeepValue)
6751
6772
  /* harmony export */ });
6752
- /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../lib */ "./src/lib/index.ts");
6753
-
6754
-
6755
6773
  function setDeepValue(dict, value, options) {
6756
6774
  let newDict = { ...dict };
6757
6775
  let writePlace = newDict;
6758
- const lastIndexOfKeysWay = options.keysWay.length - 1;
6759
- options.keysWay.forEach((key, idx) => {
6760
- let curKey = key;
6761
- if (typeof curKey === 'object') {
6762
- const { name, index } = curKey;
6763
- if (!(0,_lib__WEBPACK_IMPORTED_MODULE_0__.isArray)(writePlace[name]))
6764
- writePlace[name] = [];
6765
- writePlace = writePlace[name];
6766
- curKey = index;
6776
+ const keysWay = options.keysWay;
6777
+ const lastIndexOfKeysWay = keysWay.length - 1;
6778
+ for (let i = 0; i < keysWay.length; i++) {
6779
+ let curKey = keysWay[i];
6780
+ // Если это не последний ключ в пути, то идем по вложенной структуре
6781
+ if (i < lastIndexOfKeysWay) {
6782
+ if (typeof curKey === "object") {
6783
+ const { name, index } = curKey;
6784
+ // Если ключ не существует или не является массивом, создаем его
6785
+ if (!writePlace[name] || !Array.isArray(writePlace[name])) {
6786
+ writePlace[name] = [];
6787
+ }
6788
+ while (writePlace[name].length <= index) {
6789
+ writePlace[name].push({});
6790
+ }
6791
+ writePlace = writePlace[name][index];
6792
+ }
6793
+ else {
6794
+ // Если ключ не существует, создаем его
6795
+ if (writePlace[curKey] === undefined) {
6796
+ writePlace[curKey] = {};
6797
+ }
6798
+ writePlace = writePlace[curKey];
6799
+ }
6767
6800
  }
6768
- if (!(0,_lib__WEBPACK_IMPORTED_MODULE_0__.isDict)(writePlace[curKey])) {
6769
- writePlace[curKey] = {};
6801
+ else {
6802
+ // Замена значения на последнем уровне
6803
+ if (writePlace) {
6804
+ if (typeof curKey === "object") {
6805
+ const { name, index } = curKey;
6806
+ if (Array.isArray(writePlace[name])) {
6807
+ writePlace[name][index] = value;
6808
+ }
6809
+ }
6810
+ else {
6811
+ writePlace[curKey] = value;
6812
+ }
6813
+ }
6770
6814
  }
6771
- if (idx < lastIndexOfKeysWay)
6772
- writePlace = writePlace[curKey];
6773
- else
6774
- writePlace[curKey] = value;
6775
- });
6815
+ }
6776
6816
  return newDict;
6777
6817
  }
6778
6818
 
@@ -6788,6 +6828,7 @@ function setDeepValue(dict, value, options) {
6788
6828
  "use strict";
6789
6829
  __webpack_require__.r(__webpack_exports__);
6790
6830
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6831
+ /* harmony export */ clearDeepValue: () => (/* reexport safe */ _dict__WEBPACK_IMPORTED_MODULE_0__.clearDeepValue),
6791
6832
  /* harmony export */ compKeyWays: () => (/* reexport safe */ _dict__WEBPACK_IMPORTED_MODULE_0__.compKeyWays),
6792
6833
  /* harmony export */ getDeepValue: () => (/* reexport safe */ _dict__WEBPACK_IMPORTED_MODULE_0__.getDeepValue),
6793
6834
  /* harmony export */ getUniqueArray: () => (/* reexport safe */ _array__WEBPACK_IMPORTED_MODULE_1__.getUniqueArray),
@@ -8900,10 +8941,10 @@ __webpack_require__.r(__webpack_exports__);
8900
8941
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
8901
8942
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
8902
8943
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
8903
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
8904
- /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../lib */ "./src/ui/FormBuilder/lib/index.ts");
8905
- /* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../consts */ "./src/ui/FormBuilder/consts/index.ts");
8906
- /* harmony import */ var _lib_dict_clearDeepValue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/dict/clearDeepValue */ "./src/lib/dict/clearDeepValue.ts");
8944
+ /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/lib */ "./src/lib/index.ts");
8945
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/hooks */ "./src/hooks/index.ts");
8946
+ /* harmony import */ var _lib__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../lib */ "./src/ui/FormBuilder/lib/index.ts");
8947
+ /* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../consts */ "./src/ui/FormBuilder/consts/index.ts");
8907
8948
  'use client';
8908
8949
 
8909
8950
 
@@ -8949,12 +8990,12 @@ function FormBuilder({ schema, formDataDefault, onChange, onChangeIsError, input
8949
8990
  const removePrivateRefStoreValue = (key) => {
8950
8991
  delete privateRefStore.current[key];
8951
8992
  };
8952
- const { formData, setFormData, setValue, getValue, deleteArrayItem } = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useFormData)(formDataDefault || {});
8953
- const { isErrorField, addErrorField, removeErrorField, getErrorMessage, isError } = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useIsErrorField)({
8993
+ const { formData, setFormData, setValue, getValue, deleteArrayItem } = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useFormData)(formDataDefault || {});
8994
+ const { isErrorField, addErrorField, removeErrorField, getErrorMessage, isError } = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useIsErrorField)({
8954
8995
  additionIsErrorFields: additionIsErrorFields,
8955
8996
  sensitiveSearch: sensitiveErrorSearch,
8956
8997
  });
8957
- const onChangeError = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useIsErrorField)({
8998
+ const onChangeError = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useIsErrorField)({
8958
8999
  additionIsErrorFields: additionIsErrorFields,
8959
9000
  sensitiveSearch: sensitiveErrorSearch,
8960
9001
  });
@@ -8970,8 +9011,8 @@ function FormBuilder({ schema, formDataDefault, onChange, onChangeIsError, input
8970
9011
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
8971
9012
  let resForm = formData;
8972
9013
  if (clearForm) {
8973
- const keys = getPrivateRefStoreValue(_consts__WEBPACK_IMPORTED_MODULE_4__.KEY_WAY_STORE_NAME) || [];
8974
- resForm = (0,_lib_dict_clearDeepValue__WEBPACK_IMPORTED_MODULE_5__["default"])(resForm, keys);
9014
+ const keys = getPrivateRefStoreValue(_consts__WEBPACK_IMPORTED_MODULE_5__.KEY_WAY_STORE_NAME) || [];
9015
+ resForm = (0,_lib__WEBPACK_IMPORTED_MODULE_2__.clearDeepValue)(resForm, keys);
8975
9016
  }
8976
9017
  onChange && onChange(resForm);
8977
9018
  }, [formData]);
@@ -8981,7 +9022,7 @@ function FormBuilder({ schema, formDataDefault, onChange, onChangeIsError, input
8981
9022
  (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
8982
9023
  onChangeValidateIsError && onChangeValidateIsError(onChangeError.isError);
8983
9024
  }, [onChangeError.isError]);
8984
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,_lib__WEBPACK_IMPORTED_MODULE_3__.formBuilder)(schema, {
9025
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,_lib__WEBPACK_IMPORTED_MODULE_4__.formBuilder)(schema, {
8985
9026
  keyWay: [],
8986
9027
  getValue: getValue,
8987
9028
  setValue: setValue,
@@ -11234,6 +11275,145 @@ __webpack_require__.r(__webpack_exports__);
11234
11275
 
11235
11276
 
11236
11277
 
11278
+ /***/ }),
11279
+
11280
+ /***/ "./src/ui/ScrollProvider/index.ts":
11281
+ /*!****************************************!*\
11282
+ !*** ./src/ui/ScrollProvider/index.ts ***!
11283
+ \****************************************/
11284
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11285
+
11286
+ "use strict";
11287
+ __webpack_require__.r(__webpack_exports__);
11288
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11289
+ /* harmony export */ ScrollProvider: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_0__.ScrollProvider)
11290
+ /* harmony export */ });
11291
+ /* harmony import */ var _ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui */ "./src/ui/ScrollProvider/ui/index.ts");
11292
+ /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ "./src/ui/ScrollProvider/types/index.ts");
11293
+
11294
+
11295
+
11296
+
11297
+ /***/ }),
11298
+
11299
+ /***/ "./src/ui/ScrollProvider/types/ScrollProviderTypes.ts":
11300
+ /*!************************************************************!*\
11301
+ !*** ./src/ui/ScrollProvider/types/ScrollProviderTypes.ts ***!
11302
+ \************************************************************/
11303
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11304
+
11305
+ "use strict";
11306
+ __webpack_require__.r(__webpack_exports__);
11307
+
11308
+
11309
+
11310
+ /***/ }),
11311
+
11312
+ /***/ "./src/ui/ScrollProvider/types/index.ts":
11313
+ /*!**********************************************!*\
11314
+ !*** ./src/ui/ScrollProvider/types/index.ts ***!
11315
+ \**********************************************/
11316
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11317
+
11318
+ "use strict";
11319
+ __webpack_require__.r(__webpack_exports__);
11320
+ /* harmony import */ var _ScrollProviderTypes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ScrollProviderTypes */ "./src/ui/ScrollProvider/types/ScrollProviderTypes.ts");
11321
+
11322
+
11323
+
11324
+ /***/ }),
11325
+
11326
+ /***/ "./src/ui/ScrollProvider/ui/ScrollProvider.tsx":
11327
+ /*!*****************************************************!*\
11328
+ !*** ./src/ui/ScrollProvider/ui/ScrollProvider.tsx ***!
11329
+ \*****************************************************/
11330
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11331
+
11332
+ "use strict";
11333
+ __webpack_require__.r(__webpack_exports__);
11334
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11335
+ /* harmony export */ ScrollProvider: () => (/* binding */ ScrollProvider)
11336
+ /* harmony export */ });
11337
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
11338
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11339
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11340
+
11341
+
11342
+ function ScrollProvider({ onScroll, onScrollTop, onScrollBottom, children, accuracy = 10, }) {
11343
+ const elementRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
11344
+ // Преобразуем children в массив и находим первый DOM-элемент
11345
+ const arrayChildren = react__WEBPACK_IMPORTED_MODULE_1___default().Children.toArray(children);
11346
+ const firstElement = arrayChildren.find((item) => react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(item) &&
11347
+ (typeof item.type === "string" ||
11348
+ item.type?.$$typeof === Symbol.for("react.forward_ref")));
11349
+ // Если нашли, клонируем его и добавляем ref
11350
+ const clonedFirstElement = firstElement
11351
+ // @ts-ignore
11352
+ ? (0,react__WEBPACK_IMPORTED_MODULE_1__.cloneElement)(firstElement, { ref: elementRef })
11353
+ : null;
11354
+ (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
11355
+ if (elementRef.current) {
11356
+ const handleScroll = (event) => {
11357
+ const el = elementRef.current;
11358
+ if (!el)
11359
+ return;
11360
+ const scrollTop = el.scrollTop;
11361
+ const clientHeight = el.clientHeight;
11362
+ const scrollHeight = el.scrollHeight;
11363
+ if (onScrollTop && Math.abs(scrollTop) <= accuracy) {
11364
+ onScrollTop();
11365
+ }
11366
+ if (onScrollBottom && scrollTop + clientHeight + accuracy >= scrollHeight) {
11367
+ onScrollBottom();
11368
+ }
11369
+ if (onScroll) {
11370
+ if (typeof onScroll === "function") {
11371
+ onScroll(scrollTop);
11372
+ }
11373
+ else if (typeof onScroll === "object") {
11374
+ const { callback, trigger } = onScroll;
11375
+ let shouldCall = false;
11376
+ if (typeof trigger === "number") {
11377
+ shouldCall = scrollTop === trigger;
11378
+ }
11379
+ else if (typeof trigger === "function") {
11380
+ shouldCall = trigger(scrollTop);
11381
+ }
11382
+ if (shouldCall) {
11383
+ callback(scrollTop);
11384
+ }
11385
+ }
11386
+ }
11387
+ };
11388
+ // Добавляем слушатель события scroll
11389
+ elementRef.current.addEventListener("scroll", handleScroll);
11390
+ return () => {
11391
+ elementRef.current?.removeEventListener("scroll", handleScroll);
11392
+ };
11393
+ }
11394
+ }, [onScroll, onScrollTop, onScrollBottom]);
11395
+ // Рендерим клонированный элемент и остальные дочерние элементы
11396
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [clonedFirstElement, arrayChildren.filter(child => child !== firstElement)] }));
11397
+ }
11398
+
11399
+
11400
+ /***/ }),
11401
+
11402
+ /***/ "./src/ui/ScrollProvider/ui/index.ts":
11403
+ /*!*******************************************!*\
11404
+ !*** ./src/ui/ScrollProvider/ui/index.ts ***!
11405
+ \*******************************************/
11406
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11407
+
11408
+ "use strict";
11409
+ __webpack_require__.r(__webpack_exports__);
11410
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11411
+ /* harmony export */ ScrollProvider: () => (/* reexport safe */ _ScrollProvider__WEBPACK_IMPORTED_MODULE_0__.ScrollProvider)
11412
+ /* harmony export */ });
11413
+ /* harmony import */ var _ScrollProvider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ScrollProvider */ "./src/ui/ScrollProvider/ui/ScrollProvider.tsx");
11414
+
11415
+
11416
+
11237
11417
  /***/ }),
11238
11418
 
11239
11419
  /***/ "./src/ui/SlideTransition/index.ts":
@@ -12246,6 +12426,7 @@ __webpack_require__.r(__webpack_exports__);
12246
12426
  /* harmony export */ PageSwitcher: () => (/* reexport safe */ _PaginationBar__WEBPACK_IMPORTED_MODULE_16__.PageSwitcher),
12247
12427
  /* harmony export */ PaginationBar: () => (/* reexport safe */ _PaginationBar__WEBPACK_IMPORTED_MODULE_16__.PaginationBar),
12248
12428
  /* harmony export */ RadioField: () => (/* reexport safe */ _InputFields__WEBPACK_IMPORTED_MODULE_3__.RadioField),
12429
+ /* harmony export */ ScrollProvider: () => (/* reexport safe */ _ScrollProvider__WEBPACK_IMPORTED_MODULE_17__.ScrollProvider),
12249
12430
  /* harmony export */ SelectField: () => (/* reexport safe */ _InputFields__WEBPACK_IMPORTED_MODULE_3__.SelectField),
12250
12431
  /* harmony export */ SlideTransition: () => (/* reexport safe */ _SlideTransition__WEBPACK_IMPORTED_MODULE_11__.SlideTransition),
12251
12432
  /* harmony export */ SwitcherField: () => (/* reexport safe */ _InputFields__WEBPACK_IMPORTED_MODULE_3__.SwitcherField),
@@ -12281,6 +12462,8 @@ __webpack_require__.r(__webpack_exports__);
12281
12462
  /* harmony import */ var _TabFrame__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./TabFrame */ "./src/ui/TabFrame/index.ts");
12282
12463
  /* harmony import */ var _TabButtons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./TabButtons */ "./src/ui/TabButtons/index.ts");
12283
12464
  /* harmony import */ var _PaginationBar__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PaginationBar */ "./src/ui/PaginationBar/index.ts");
12465
+ /* harmony import */ var _ScrollProvider__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ScrollProvider */ "./src/ui/ScrollProvider/index.ts");
12466
+
12284
12467
 
12285
12468
 
12286
12469
 
@@ -28176,6 +28359,7 @@ __webpack_require__.r(__webpack_exports__);
28176
28359
  /* harmony export */ PageSwitcher: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.PageSwitcher),
28177
28360
  /* harmony export */ PaginationBar: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.PaginationBar),
28178
28361
  /* harmony export */ RadioField: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.RadioField),
28362
+ /* harmony export */ ScrollProvider: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.ScrollProvider),
28179
28363
  /* harmony export */ SelectField: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.SelectField),
28180
28364
  /* harmony export */ SlideTransition: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.SlideTransition),
28181
28365
  /* harmony export */ SwitcherField: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.SwitcherField),
@@ -28189,6 +28373,7 @@ __webpack_require__.r(__webpack_exports__);
28189
28373
  /* harmony export */ ToggleBase: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.ToggleBase),
28190
28374
  /* harmony export */ arrayFieldComponent: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.arrayFieldComponent),
28191
28375
  /* harmony export */ blockWrapperComponent: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.blockWrapperComponent),
28376
+ /* harmony export */ clearDeepValue: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_4__.clearDeepValue),
28192
28377
  /* harmony export */ compKeyWays: () => (/* reexport safe */ _lib__WEBPACK_IMPORTED_MODULE_4__.compKeyWays),
28193
28378
  /* harmony export */ formBuilder: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.formBuilder),
28194
28379
  /* harmony export */ formWrapperComponent: () => (/* reexport safe */ _ui__WEBPACK_IMPORTED_MODULE_1__.formWrapperComponent),