@sheinx/base 3.9.0-beta.6 → 3.9.0-beta.7
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/cjs/modal/modal-content.d.ts.map +1 -1
- package/cjs/modal/modal-content.js +48 -1
- package/cjs/modal/modal.type.d.ts +7 -0
- package/cjs/modal/modal.type.d.ts.map +1 -1
- package/esm/modal/modal-content.d.ts.map +1 -1
- package/esm/modal/modal-content.js +48 -1
- package/esm/modal/modal.type.d.ts +7 -0
- package/esm/modal/modal.type.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA0F9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDA6ZtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -30,6 +30,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
30
30
|
var hasMask = false;
|
|
31
31
|
var config = {
|
|
32
32
|
instanceIds: [],
|
|
33
|
+
cascadeConfigs: [],
|
|
33
34
|
originDocumentStyle: null
|
|
34
35
|
};
|
|
35
36
|
var state = (0, _reactive.create)(config);
|
|
@@ -39,11 +40,34 @@ var useModalConfig = function useModalConfig() {
|
|
|
39
40
|
var addModalInstance = function addModalInstance(instanceId) {
|
|
40
41
|
state.mutate.instanceIds.push(instanceId);
|
|
41
42
|
};
|
|
43
|
+
var addModalCascadeConfig = function addModalCascadeConfig(props) {
|
|
44
|
+
var width = props.width;
|
|
45
|
+
var widthNumber = 0;
|
|
46
|
+
// width 是30% 这种格式的,转为number
|
|
47
|
+
if (typeof width === 'string' && width.indexOf('%') > -1) {
|
|
48
|
+
var parentWidth = document.body.clientWidth;
|
|
49
|
+
var percent = parseInt(width, 10);
|
|
50
|
+
widthNumber = parentWidth * percent / 100;
|
|
51
|
+
} else {
|
|
52
|
+
widthNumber = typeof width === 'number' ? width : parseInt(width, 10) || 0;
|
|
53
|
+
}
|
|
54
|
+
state.mutate.cascadeConfigs.push({
|
|
55
|
+
cascade: props.cascade,
|
|
56
|
+
instanceId: props.instanceId,
|
|
57
|
+
width: widthNumber
|
|
58
|
+
});
|
|
59
|
+
};
|
|
42
60
|
var removeModalInstance = function removeModalInstance(instanceId) {
|
|
43
61
|
state.mutate.instanceIds = state.mutate.instanceIds.filter(function (id) {
|
|
44
62
|
return id !== instanceId;
|
|
45
63
|
});
|
|
46
64
|
};
|
|
65
|
+
var removeModalCascadeConfig = function removeModalCascadeConfig(instanceId) {
|
|
66
|
+
if (!state.mutate.cascadeConfigs.length) return;
|
|
67
|
+
state.mutate.cascadeConfigs = state.mutate.cascadeConfigs.filter(function (config) {
|
|
68
|
+
return config.instanceId !== instanceId;
|
|
69
|
+
});
|
|
70
|
+
};
|
|
47
71
|
var getInstanceIds = function getInstanceIds() {
|
|
48
72
|
return state.mutate.instanceIds;
|
|
49
73
|
};
|
|
@@ -131,9 +155,15 @@ var Modal = function Modal(props) {
|
|
|
131
155
|
var index = config.instanceIds.indexOf(context.instanceId);
|
|
132
156
|
if (visible && index === -1) {
|
|
133
157
|
addModalInstance(context.instanceId);
|
|
158
|
+
addModalCascadeConfig({
|
|
159
|
+
instanceId: context.instanceId,
|
|
160
|
+
width: props.width,
|
|
161
|
+
cascade: !!props.cascade && !!props.width && !!isPositionX
|
|
162
|
+
});
|
|
134
163
|
}
|
|
135
164
|
if (!visible && index > -1 && !animation) {
|
|
136
165
|
removeModalInstance(context.instanceId);
|
|
166
|
+
removeModalCascadeConfig(context.instanceId);
|
|
137
167
|
}
|
|
138
168
|
}, [visible, animation, config.instanceIds]);
|
|
139
169
|
(0, _react.useEffect)(handleMaskVisible, [visible]);
|
|
@@ -166,6 +196,7 @@ var Modal = function Modal(props) {
|
|
|
166
196
|
});
|
|
167
197
|
var handleClose = (0, _hooks.usePersistFn)(function () {
|
|
168
198
|
var _props$onClose;
|
|
199
|
+
removeModalCascadeConfig(context.instanceId);
|
|
169
200
|
if (!visible) return;
|
|
170
201
|
if (props.autoShow) {
|
|
171
202
|
setVisible(false);
|
|
@@ -255,6 +286,7 @@ var Modal = function Modal(props) {
|
|
|
255
286
|
return function () {
|
|
256
287
|
var _props$shouldDestroy2;
|
|
257
288
|
removeModalInstance(context.instanceId);
|
|
289
|
+
removeModalCascadeConfig(context.instanceId);
|
|
258
290
|
var instanceIds = getInstanceIds();
|
|
259
291
|
if (instanceIds.length === 0) {
|
|
260
292
|
resetDocumentOverflow();
|
|
@@ -348,13 +380,28 @@ var Modal = function Modal(props) {
|
|
|
348
380
|
};
|
|
349
381
|
if (!context.renderEd && !visible) return null;
|
|
350
382
|
context.renderEd = true;
|
|
383
|
+
var marginStyle = (0, _react.useMemo)(function () {
|
|
384
|
+
if (!props.cascade) return;
|
|
385
|
+
var idx = config.instanceIds.findIndex(function (id) {
|
|
386
|
+
return id === context.instanceId;
|
|
387
|
+
});
|
|
388
|
+
var afterInstances = config.cascadeConfigs.filter(function (_, index) {
|
|
389
|
+
return index > idx;
|
|
390
|
+
}).filter(function (c) {
|
|
391
|
+
return c.cascade;
|
|
392
|
+
}).slice(0, 1);
|
|
393
|
+
var width = afterInstances.reduce(function (ret, cur) {
|
|
394
|
+
return (ret || 0) + cur.width;
|
|
395
|
+
}, 0);
|
|
396
|
+
return _defineProperty(_defineProperty({}, props.position === 'left' ? 'marginLeft' : 'marginRight', "".concat(width, "px")), "transition", width ? 'margin .3s ease .05s' : 'margin 0.2s ease');
|
|
397
|
+
}, [config.cascadeConfigs, config.instanceIds]);
|
|
351
398
|
var panelStyle = _objectSpread(_objectSpread({
|
|
352
399
|
transformOrigin: origin,
|
|
353
400
|
top: props.fullScreen ? undefined : top
|
|
354
401
|
}, props.style), {}, {
|
|
355
402
|
width: props.fullScreen ? undefined : width,
|
|
356
403
|
height: props.fullScreen ? undefined : height
|
|
357
|
-
});
|
|
404
|
+
}, marginStyle);
|
|
358
405
|
if (props.resizable) {
|
|
359
406
|
panelStyle.width = resizeInfo.width;
|
|
360
407
|
panelStyle.height = resizeInfo.height;
|
|
@@ -200,5 +200,12 @@ export interface ModalProps extends Pick<CommonType, 'className' | 'style'> {
|
|
|
200
200
|
* @cn 弹出层内容
|
|
201
201
|
*/
|
|
202
202
|
children?: React.ReactNode;
|
|
203
|
+
/**
|
|
204
|
+
* @en In multi-layer nesting, the parent automatically offsets to avoid being blocked (only left/right positions take effect)
|
|
205
|
+
* @cn 多层嵌套时,父级自动偏移避免被遮挡(仅 left/right 位置生效)
|
|
206
|
+
* @default false
|
|
207
|
+
* @version 3.9.0
|
|
208
|
+
*/
|
|
209
|
+
cascade?: boolean;
|
|
203
210
|
}
|
|
204
211
|
//# sourceMappingURL=modal.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.type.d.ts","sourceRoot":"","sources":["modal.type.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"modal.type.d.ts","sourceRoot":"","sources":["modal.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"modal-content.d.ts","sourceRoot":"","sources":["modal-content.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA0F9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDA6ZtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -24,6 +24,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
24
24
|
var hasMask = false;
|
|
25
25
|
var config = {
|
|
26
26
|
instanceIds: [],
|
|
27
|
+
cascadeConfigs: [],
|
|
27
28
|
originDocumentStyle: null
|
|
28
29
|
};
|
|
29
30
|
var state = create(config);
|
|
@@ -33,11 +34,34 @@ var useModalConfig = function useModalConfig() {
|
|
|
33
34
|
var addModalInstance = function addModalInstance(instanceId) {
|
|
34
35
|
state.mutate.instanceIds.push(instanceId);
|
|
35
36
|
};
|
|
37
|
+
var addModalCascadeConfig = function addModalCascadeConfig(props) {
|
|
38
|
+
var width = props.width;
|
|
39
|
+
var widthNumber = 0;
|
|
40
|
+
// width 是30% 这种格式的,转为number
|
|
41
|
+
if (typeof width === 'string' && width.indexOf('%') > -1) {
|
|
42
|
+
var parentWidth = document.body.clientWidth;
|
|
43
|
+
var percent = parseInt(width, 10);
|
|
44
|
+
widthNumber = parentWidth * percent / 100;
|
|
45
|
+
} else {
|
|
46
|
+
widthNumber = typeof width === 'number' ? width : parseInt(width, 10) || 0;
|
|
47
|
+
}
|
|
48
|
+
state.mutate.cascadeConfigs.push({
|
|
49
|
+
cascade: props.cascade,
|
|
50
|
+
instanceId: props.instanceId,
|
|
51
|
+
width: widthNumber
|
|
52
|
+
});
|
|
53
|
+
};
|
|
36
54
|
var removeModalInstance = function removeModalInstance(instanceId) {
|
|
37
55
|
state.mutate.instanceIds = state.mutate.instanceIds.filter(function (id) {
|
|
38
56
|
return id !== instanceId;
|
|
39
57
|
});
|
|
40
58
|
};
|
|
59
|
+
var removeModalCascadeConfig = function removeModalCascadeConfig(instanceId) {
|
|
60
|
+
if (!state.mutate.cascadeConfigs.length) return;
|
|
61
|
+
state.mutate.cascadeConfigs = state.mutate.cascadeConfigs.filter(function (config) {
|
|
62
|
+
return config.instanceId !== instanceId;
|
|
63
|
+
});
|
|
64
|
+
};
|
|
41
65
|
var getInstanceIds = function getInstanceIds() {
|
|
42
66
|
return state.mutate.instanceIds;
|
|
43
67
|
};
|
|
@@ -125,9 +149,15 @@ var Modal = function Modal(props) {
|
|
|
125
149
|
var index = config.instanceIds.indexOf(context.instanceId);
|
|
126
150
|
if (visible && index === -1) {
|
|
127
151
|
addModalInstance(context.instanceId);
|
|
152
|
+
addModalCascadeConfig({
|
|
153
|
+
instanceId: context.instanceId,
|
|
154
|
+
width: props.width,
|
|
155
|
+
cascade: !!props.cascade && !!props.width && !!isPositionX
|
|
156
|
+
});
|
|
128
157
|
}
|
|
129
158
|
if (!visible && index > -1 && !animation) {
|
|
130
159
|
removeModalInstance(context.instanceId);
|
|
160
|
+
removeModalCascadeConfig(context.instanceId);
|
|
131
161
|
}
|
|
132
162
|
}, [visible, animation, config.instanceIds]);
|
|
133
163
|
useEffect(handleMaskVisible, [visible]);
|
|
@@ -160,6 +190,7 @@ var Modal = function Modal(props) {
|
|
|
160
190
|
});
|
|
161
191
|
var handleClose = usePersistFn(function () {
|
|
162
192
|
var _props$onClose;
|
|
193
|
+
removeModalCascadeConfig(context.instanceId);
|
|
163
194
|
if (!visible) return;
|
|
164
195
|
if (props.autoShow) {
|
|
165
196
|
setVisible(false);
|
|
@@ -249,6 +280,7 @@ var Modal = function Modal(props) {
|
|
|
249
280
|
return function () {
|
|
250
281
|
var _props$shouldDestroy2;
|
|
251
282
|
removeModalInstance(context.instanceId);
|
|
283
|
+
removeModalCascadeConfig(context.instanceId);
|
|
252
284
|
var instanceIds = getInstanceIds();
|
|
253
285
|
if (instanceIds.length === 0) {
|
|
254
286
|
resetDocumentOverflow();
|
|
@@ -342,13 +374,28 @@ var Modal = function Modal(props) {
|
|
|
342
374
|
};
|
|
343
375
|
if (!context.renderEd && !visible) return null;
|
|
344
376
|
context.renderEd = true;
|
|
377
|
+
var marginStyle = useMemo(function () {
|
|
378
|
+
if (!props.cascade) return;
|
|
379
|
+
var idx = config.instanceIds.findIndex(function (id) {
|
|
380
|
+
return id === context.instanceId;
|
|
381
|
+
});
|
|
382
|
+
var afterInstances = config.cascadeConfigs.filter(function (_, index) {
|
|
383
|
+
return index > idx;
|
|
384
|
+
}).filter(function (c) {
|
|
385
|
+
return c.cascade;
|
|
386
|
+
}).slice(0, 1);
|
|
387
|
+
var width = afterInstances.reduce(function (ret, cur) {
|
|
388
|
+
return (ret || 0) + cur.width;
|
|
389
|
+
}, 0);
|
|
390
|
+
return _defineProperty(_defineProperty({}, props.position === 'left' ? 'marginLeft' : 'marginRight', "".concat(width, "px")), "transition", width ? 'margin .3s ease .05s' : 'margin 0.2s ease');
|
|
391
|
+
}, [config.cascadeConfigs, config.instanceIds]);
|
|
345
392
|
var panelStyle = _objectSpread(_objectSpread({
|
|
346
393
|
transformOrigin: origin,
|
|
347
394
|
top: props.fullScreen ? undefined : top
|
|
348
395
|
}, props.style), {}, {
|
|
349
396
|
width: props.fullScreen ? undefined : width,
|
|
350
397
|
height: props.fullScreen ? undefined : height
|
|
351
|
-
});
|
|
398
|
+
}, marginStyle);
|
|
352
399
|
if (props.resizable) {
|
|
353
400
|
panelStyle.width = resizeInfo.width;
|
|
354
401
|
panelStyle.height = resizeInfo.height;
|
|
@@ -200,5 +200,12 @@ export interface ModalProps extends Pick<CommonType, 'className' | 'style'> {
|
|
|
200
200
|
* @cn 弹出层内容
|
|
201
201
|
*/
|
|
202
202
|
children?: React.ReactNode;
|
|
203
|
+
/**
|
|
204
|
+
* @en In multi-layer nesting, the parent automatically offsets to avoid being blocked (only left/right positions take effect)
|
|
205
|
+
* @cn 多层嵌套时,父级自动偏移避免被遮挡(仅 left/right 位置生效)
|
|
206
|
+
* @default false
|
|
207
|
+
* @version 3.9.0
|
|
208
|
+
*/
|
|
209
|
+
cascade?: boolean;
|
|
203
210
|
}
|
|
204
211
|
//# sourceMappingURL=modal.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.type.d.ts","sourceRoot":"","sources":["modal.type.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"modal.type.d.ts","sourceRoot":"","sources":["modal.type.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.9.0-beta.
|
|
3
|
+
"version": "3.9.0-beta.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"module": "./esm/index.js",
|
|
11
11
|
"typings": "./cjs/index.d.ts",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sheinx/hooks": "3.9.0-beta.
|
|
13
|
+
"@sheinx/hooks": "3.9.0-beta.7",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.1.3-alpha.0"
|