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.
- package/dist/index.js +236 -51
- package/dist/index.js.map +1 -1
- package/dist/types/src/__tests__/getDeepValue.test.d.ts +1 -0
- package/dist/types/src/__tests__/setDeepValue.test.d.ts +1 -0
- package/dist/types/src/lib/dict/clearDeepValue.d.ts +1 -1
- package/dist/types/src/lib/dict/index.d.ts +1 -0
- package/dist/types/src/lib/dict/setDeepValue.d.ts +1 -1
- package/dist/types/src/types/DictDeepActionsTypes.d.ts +3 -0
- package/dist/types/src/ui/FormBuilder/lib/formBuilder.d.ts +1 -1
- package/dist/types/src/ui/FormBuilder/types/FormBuilderTypes.d.ts +4 -0
- package/dist/types/src/ui/ScrollProvider/index.d.ts +2 -0
- package/dist/types/src/ui/ScrollProvider/types/ScrollProviderTypes.d.ts +34 -0
- package/dist/types/src/ui/ScrollProvider/types/index.d.ts +1 -0
- package/dist/types/src/ui/ScrollProvider/ui/ScrollProvider.d.ts +2 -0
- package/dist/types/src/ui/ScrollProvider/ui/index.d.ts +1 -0
- package/dist/types/src/ui/index.d.ts +1 -0
- package/package.json +73 -68
- package/dist/types/src/test/ui/InputFileField/api/getFileUrl.d.ts +0 -1
- package/dist/types/src/test/ui/InputFileField/api/index.d.ts +0 -1
- package/dist/types/src/test/ui/InputFileField/index.d.ts +0 -3
- package/dist/types/src/test/ui/InputFileField/types/FileViewItemTypes.d.ts +0 -18
- package/dist/types/src/test/ui/InputFileField/types/InputFileFieldTypes.d.ts +0 -8
- package/dist/types/src/test/ui/InputFileField/types/InputFileTypes.d.ts +0 -19
- package/dist/types/src/test/ui/InputFileField/types/index.d.ts +0 -3
- package/dist/types/src/test/ui/InputFileField/ui/FileViewItem.d.ts +0 -2
- package/dist/types/src/test/ui/InputFileField/ui/InputFile.d.ts +0 -4
- package/dist/types/src/test/ui/InputFileField/ui/InputFileField.d.ts +0 -7
- 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
|
|
6305
|
+
const _resetForm = () => {
|
|
6306
6306
|
_setFormData(value || {});
|
|
6307
6307
|
};
|
|
6308
|
-
const
|
|
6308
|
+
const _clearForm = () => {
|
|
6309
6309
|
_setFormData({});
|
|
6310
6310
|
};
|
|
6311
|
-
const
|
|
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
|
|
6342
|
+
const _getValue = (keyWay) => {
|
|
6343
6343
|
return (0,_lib__WEBPACK_IMPORTED_MODULE_1__.getDeepValue)(formDataRef.current, keyWay);
|
|
6344
6344
|
};
|
|
6345
|
-
const
|
|
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 =
|
|
6350
|
-
|
|
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:
|
|
6357
|
-
getValue:
|
|
6358
|
-
resetForm:
|
|
6359
|
-
clearForm:
|
|
6360
|
-
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 */
|
|
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
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
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
|
-
|
|
6685
|
-
|
|
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
|
|
6759
|
-
|
|
6760
|
-
|
|
6761
|
-
|
|
6762
|
-
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
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
|
-
|
|
6769
|
-
|
|
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
|
-
|
|
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
|
|
8904
|
-
/* harmony import */ var
|
|
8905
|
-
/* harmony import */ var
|
|
8906
|
-
/* harmony import */ var
|
|
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,
|
|
8953
|
-
const { isErrorField, addErrorField, removeErrorField, getErrorMessage, isError } = (0,
|
|
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,
|
|
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(
|
|
8974
|
-
resForm = (0,
|
|
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,
|
|
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),
|