@sheinx/base 3.9.0-beta.5 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"input-group.d.ts","sourceRoot":"","sources":["input-group.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;gCAK9B,eAAe;AAAtC,wBA0EE"}
1
+ {"version":3,"file":"input-group.d.ts","sourceRoot":"","sources":["input-group.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;gCAK9B,eAAe;AAAtC,wBAyEE"}
@@ -88,7 +88,8 @@ var _default = exports.default = function _default(props) {
88
88
  var shouldSeparate = separate !== null && separate !== void 0 ? separate : seperate;
89
89
  var rootClass = (0, _classnames.default)(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.group, shouldSeparate && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSeparate), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupLarge), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupDisabled), !!focus && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupFocus), (status === 'error' || error) && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupError));
90
90
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, _hooks.util.getDataAttribute({
91
- role: shouldSeparate ? 'input-group-separate' : 'input-group'
91
+ role: shouldSeparate ? 'input-group-separate' : 'input-group',
92
+ border: props.seamless ? 'false' : undefined
92
93
  })), {}, {
93
94
  className: rootClass,
94
95
  style: _objectSpread({
@@ -104,8 +105,7 @@ var _default = exports.default = function _default(props) {
104
105
  if ( /*#__PURE__*/React.isValidElement(child)) {
105
106
  return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, getProps(child)), {}, {
106
107
  disabled: child.props.disabled || disabled,
107
- size: child.props.size || size,
108
- border: props.seamless ? false : child.props.border
108
+ size: child.props.size || size
109
109
  }));
110
110
  }
111
111
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -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;AA2D9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDAwYtC,CAAC;AAEF,eAAe,KAAK,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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,aAAa,EAAE,SAAS;IAC7E,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAEhC;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAE/C;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IAG5D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAEhD;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
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":"input-group.d.ts","sourceRoot":"","sources":["input-group.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;gCAK9B,eAAe;AAAtC,wBA0EE"}
1
+ {"version":3,"file":"input-group.d.ts","sourceRoot":"","sources":["input-group.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;gCAK9B,eAAe;AAAtC,wBAyEE"}
@@ -80,7 +80,8 @@ export default (function (props) {
80
80
  var shouldSeparate = separate !== null && separate !== void 0 ? separate : seperate;
81
81
  var rootClass = classNames(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.group, shouldSeparate && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSeparate), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupLarge), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupDisabled), !!focus && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupFocus), (status === 'error' || error) && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.groupError));
82
82
  return /*#__PURE__*/_jsx("div", _objectSpread(_objectSpread({}, util.getDataAttribute({
83
- role: shouldSeparate ? 'input-group-separate' : 'input-group'
83
+ role: shouldSeparate ? 'input-group-separate' : 'input-group',
84
+ border: props.seamless ? 'false' : undefined
84
85
  })), {}, {
85
86
  className: rootClass,
86
87
  style: _objectSpread({
@@ -96,8 +97,7 @@ export default (function (props) {
96
97
  if ( /*#__PURE__*/React.isValidElement(child)) {
97
98
  return /*#__PURE__*/cloneElement(child, _objectSpread(_objectSpread({}, getProps(child)), {}, {
98
99
  disabled: child.props.disabled || disabled,
99
- size: child.props.size || size,
100
- border: props.seamless ? false : child.props.border
100
+ size: child.props.size || size
101
101
  }));
102
102
  }
103
103
  return /*#__PURE__*/_jsx("span", {
@@ -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;AA2D9D,QAAA,MAAM,KAAK,UAAW,iBAAiB,mDAwYtC,CAAC;AAEF,eAAe,KAAK,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.5",
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.5",
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"