@sheinx/base 3.1.14 → 3.1.15
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/card/card-header.d.ts.map +1 -1
- package/cjs/card/card-header.js +4 -3
- package/cjs/select/result.js +4 -4
- package/cjs/select/select.d.ts.map +1 -1
- package/cjs/select/select.js +1 -11
- package/cjs/sticky/sticky.d.ts.map +1 -1
- package/cjs/sticky/sticky.js +97 -40
- package/cjs/virtual-scroll/scroll.js +1 -1
- package/esm/card/card-header.d.ts.map +1 -1
- package/esm/card/card-header.js +4 -3
- package/esm/select/result.js +5 -5
- package/esm/select/select.d.ts.map +1 -1
- package/esm/select/select.js +1 -11
- package/esm/sticky/sticky.d.ts.map +1 -1
- package/esm/sticky/sticky.js +97 -40
- package/esm/virtual-scroll/scroll.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["card-header.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,UAAU,UAAW,eAAe,
|
|
1
|
+
{"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["card-header.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,UAAU,UAAW,eAAe,gBAiDzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/cjs/card/card-header.js
CHANGED
|
@@ -31,11 +31,12 @@ var CardHeader = function CardHeader(props) {
|
|
|
31
31
|
})
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
-
var
|
|
34
|
+
var alignClass = (0, _classnames.default)(align === 'center' && (cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.center), align === 'right' && (cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.right));
|
|
35
|
+
var headerContentClassName = (0, _classnames.default)(cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.headerContent, alignClass);
|
|
35
36
|
if (!props.extra && !collapsible) {
|
|
37
|
+
var simpleHeaderClassName = (0, _classnames.default)(cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.header, cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.simpleHeader, alignClass, props.className);
|
|
36
38
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
37
|
-
className:
|
|
38
|
-
style: props.style,
|
|
39
|
+
className: simpleHeaderClassName,
|
|
39
40
|
children: props.children
|
|
40
41
|
});
|
|
41
42
|
}
|
package/cjs/select/result.js
CHANGED
|
@@ -287,8 +287,8 @@ var Result = function Result(props) {
|
|
|
287
287
|
var handleResetMore = function handleResetMore() {
|
|
288
288
|
if (!compressed) return;
|
|
289
289
|
if (isCompressedBound()) return;
|
|
290
|
-
setMore(-1);
|
|
291
290
|
setShouldResetMore(true);
|
|
291
|
+
setMore(-1);
|
|
292
292
|
};
|
|
293
293
|
(0, _react.useEffect)(function () {
|
|
294
294
|
if (!focus && mounted.current) {
|
|
@@ -299,11 +299,11 @@ var Result = function Result(props) {
|
|
|
299
299
|
}
|
|
300
300
|
mounted.current = true;
|
|
301
301
|
}, [focus]);
|
|
302
|
-
(0, _react.
|
|
302
|
+
(0, _react.useLayoutEffect)(function () {
|
|
303
303
|
setTimeout(handleResetMore);
|
|
304
304
|
}, [valueProp, data]);
|
|
305
|
-
(0, _react.
|
|
306
|
-
if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || [].length)
|
|
305
|
+
(0, _react.useLayoutEffect)(function () {
|
|
306
|
+
if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || []).length) {
|
|
307
307
|
var tagClassName = ".".concat(styles.tag.split(' ')[0]);
|
|
308
308
|
if (shouldResetMore && isArray(value) && (value || []).length) {
|
|
309
309
|
var newMore = (0, _resultMore.getResetMore)(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA0sBxE;AAED,eAAe,MAAM,CAAC"}
|
package/cjs/select/select.js
CHANGED
|
@@ -252,16 +252,6 @@ function Select(props0) {
|
|
|
252
252
|
}),
|
|
253
253
|
groupData = _useGroup.data,
|
|
254
254
|
groupKey = _useGroup.groupKey;
|
|
255
|
-
|
|
256
|
-
// const triggerOpen = usePersistFn(() => {
|
|
257
|
-
// if (disabled === true) return;
|
|
258
|
-
// if (open) {
|
|
259
|
-
// closePop();
|
|
260
|
-
// } else {
|
|
261
|
-
// openPop();
|
|
262
|
-
// }
|
|
263
|
-
// });
|
|
264
|
-
|
|
265
255
|
var focusAndOpen = function focusAndOpen() {
|
|
266
256
|
if (!focused) {
|
|
267
257
|
var _inputRef$current2;
|
|
@@ -668,7 +658,7 @@ function Select(props0) {
|
|
|
668
658
|
children: [tipNode, renderResult(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_absoluteList.AbsoluteList, {
|
|
669
659
|
adjust: true,
|
|
670
660
|
focus: open,
|
|
671
|
-
fixedWidth: autoAdapt ? 'min' : true,
|
|
661
|
+
fixedWidth: !props.columns && (autoAdapt ? 'min' : true),
|
|
672
662
|
absolute: props.absolute,
|
|
673
663
|
zIndex: props.zIndex,
|
|
674
664
|
position: position,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAuB5C,QAAA,MAAM,MAAM,UAAW,WAAW,gBAqTjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/cjs/sticky/sticky.js
CHANGED
|
@@ -25,6 +25,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
25
25
|
var cssSupport = _hooks.util.cssSupport;
|
|
26
26
|
var supportSticky = cssSupport('position', 'sticky');
|
|
27
27
|
var defaultZIndex = 900;
|
|
28
|
+
var events = ['scroll', 'pageshow', 'load', 'resize'];
|
|
28
29
|
|
|
29
30
|
// const getFirstScrollParent = (el: HTMLElement) => {
|
|
30
31
|
// let parent = el.parentNode as HTMLElement;
|
|
@@ -43,7 +44,6 @@ var defaultZIndex = 900;
|
|
|
43
44
|
// };
|
|
44
45
|
|
|
45
46
|
var Sticky = function Sticky(props) {
|
|
46
|
-
var _props$style;
|
|
47
47
|
var children = props.children,
|
|
48
48
|
top = props.top,
|
|
49
49
|
bottom = props.bottom;
|
|
@@ -53,7 +53,8 @@ var Sticky = function Sticky(props) {
|
|
|
53
53
|
div: null,
|
|
54
54
|
observer: null,
|
|
55
55
|
parentObserver: null,
|
|
56
|
-
isTop: false
|
|
56
|
+
isTop: false,
|
|
57
|
+
bodyObserver: null
|
|
57
58
|
}),
|
|
58
59
|
context = _useRef.current;
|
|
59
60
|
var _useState = (0, _react.useState)({}),
|
|
@@ -70,10 +71,6 @@ var Sticky = function Sticky(props) {
|
|
|
70
71
|
setParentVisible = _useState6[1];
|
|
71
72
|
var forceRender = (0, _hooks.useRender)();
|
|
72
73
|
var elementRef = (0, _react.useRef)(null);
|
|
73
|
-
var elementSize = (0, _hooks.useResize)({
|
|
74
|
-
targetRef: elementRef,
|
|
75
|
-
timer: 0
|
|
76
|
-
});
|
|
77
74
|
var getTarget = function getTarget() {
|
|
78
75
|
var scrollContainer = props.scrollContainer;
|
|
79
76
|
if (typeof scrollContainer === 'string') {
|
|
@@ -83,11 +80,10 @@ var Sticky = function Sticky(props) {
|
|
|
83
80
|
if (scrollContainer && scrollContainer.nodeType === 1) {
|
|
84
81
|
return scrollContainer;
|
|
85
82
|
}
|
|
86
|
-
return
|
|
83
|
+
return null;
|
|
87
84
|
};
|
|
88
85
|
var updateStyle = (0, _hooks.usePersistFn)(function () {
|
|
89
86
|
if (context.div && !context.isTop && show) {
|
|
90
|
-
var shouldFixed = context.target === document.body;
|
|
91
87
|
var scrollRect = context.target.getBoundingClientRect();
|
|
92
88
|
var targetRect = elementRef.current.getBoundingClientRect();
|
|
93
89
|
var targetLeft = targetRect.left;
|
|
@@ -96,7 +92,7 @@ var Sticky = function Sticky(props) {
|
|
|
96
92
|
if (typeof bottom === 'number') {
|
|
97
93
|
var outRootRect = context.target.getBoundingClientRect();
|
|
98
94
|
var _style = {
|
|
99
|
-
position:
|
|
95
|
+
position: 'absolute',
|
|
100
96
|
width: "".concat(width, "px"),
|
|
101
97
|
height: "".concat(height, "px"),
|
|
102
98
|
top: "".concat(scrollRect.bottom - (props.bottom || 0) - outRootRect.top, "px"),
|
|
@@ -107,19 +103,13 @@ var Sticky = function Sticky(props) {
|
|
|
107
103
|
}
|
|
108
104
|
}
|
|
109
105
|
});
|
|
110
|
-
var
|
|
106
|
+
var handleTargetPosition = (0, _hooks.usePersistFn)(function (entries) {
|
|
111
107
|
var entry = entries[0];
|
|
112
108
|
var scrollRect = entry.rootBounds;
|
|
113
109
|
var targetRect = entry.boundingClientRect;
|
|
114
|
-
var shouldFixed = context.target === document.body;
|
|
115
110
|
if (!entry.isIntersecting) {
|
|
116
111
|
var targetLeft = targetRect.left;
|
|
117
|
-
var outRootRect =
|
|
118
|
-
top: 0,
|
|
119
|
-
bottom: 0,
|
|
120
|
-
left: 0,
|
|
121
|
-
right: 0
|
|
122
|
-
} : context.div.getBoundingClientRect();
|
|
112
|
+
var outRootRect = context.div.getBoundingClientRect();
|
|
123
113
|
var width = targetRect.width,
|
|
124
114
|
height = targetRect.height;
|
|
125
115
|
if (scrollRect && targetRect.bottom < scrollRect.bottom) {
|
|
@@ -128,7 +118,7 @@ var Sticky = function Sticky(props) {
|
|
|
128
118
|
if (typeof top === 'number') {
|
|
129
119
|
setShow(true);
|
|
130
120
|
var _style2 = {
|
|
131
|
-
position:
|
|
121
|
+
position: 'absolute',
|
|
132
122
|
width: "".concat(width, "px"),
|
|
133
123
|
height: "".concat(height, "px"),
|
|
134
124
|
top: "".concat(scrollRect.top - outRootRect.top, "px"),
|
|
@@ -143,7 +133,7 @@ var Sticky = function Sticky(props) {
|
|
|
143
133
|
setShow(true);
|
|
144
134
|
var _outRootRect = context.target.getBoundingClientRect();
|
|
145
135
|
var _style3 = {
|
|
146
|
-
position:
|
|
136
|
+
position: 'absolute',
|
|
147
137
|
width: "".concat(width, "px"),
|
|
148
138
|
height: "".concat(height, "px"),
|
|
149
139
|
top: "".concat(scrollRect.bottom - _outRootRect.top, "px"),
|
|
@@ -166,7 +156,58 @@ var Sticky = function Sticky(props) {
|
|
|
166
156
|
setParentVisible(false);
|
|
167
157
|
}
|
|
168
158
|
});
|
|
169
|
-
var
|
|
159
|
+
var handleFixedPosition = (0, _hooks.usePersistFn)(function () {
|
|
160
|
+
var element = elementRef.current;
|
|
161
|
+
if (!element) return;
|
|
162
|
+
var selfRect = element.getBoundingClientRect();
|
|
163
|
+
if (selfRect === null) return;
|
|
164
|
+
// If the element is hidden, the width and height will be 0
|
|
165
|
+
if (selfRect && selfRect.width === 0 && selfRect.height === 0) return;
|
|
166
|
+
// const { marginBottom, marginTop } = getComputedStyle(element);
|
|
167
|
+
// selfRect.height += parseFloat(marginBottom) + parseFloat(marginTop);
|
|
168
|
+
var scrollElement = document.body;
|
|
169
|
+
var scrollRect = scrollElement.getBoundingClientRect();
|
|
170
|
+
var top = props.top,
|
|
171
|
+
bottom = props.bottom;
|
|
172
|
+
if (top !== undefined && Math.ceil(selfRect.top) <= top) {
|
|
173
|
+
setShow(true);
|
|
174
|
+
setStyle({
|
|
175
|
+
position: 'fixed',
|
|
176
|
+
top: top,
|
|
177
|
+
left: "".concat(selfRect.left, "px"),
|
|
178
|
+
width: "".concat(selfRect.width, "px")
|
|
179
|
+
});
|
|
180
|
+
return;
|
|
181
|
+
} else if (bottom !== undefined && Math.ceil(selfRect.bottom) + bottom > scrollRect.bottom) {
|
|
182
|
+
setShow(true);
|
|
183
|
+
setStyle({
|
|
184
|
+
position: 'fixed',
|
|
185
|
+
bottom: bottom,
|
|
186
|
+
left: "".concat(selfRect.left, "px"),
|
|
187
|
+
width: "".concat(selfRect.width, "px")
|
|
188
|
+
});
|
|
189
|
+
return;
|
|
190
|
+
} else {
|
|
191
|
+
setShow(false);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
var elementSize = (0, _hooks.useResize)({
|
|
195
|
+
targetRef: elementRef,
|
|
196
|
+
timer: 0,
|
|
197
|
+
cb: handleFixedPosition
|
|
198
|
+
});
|
|
199
|
+
var createBodyObserver = function createBodyObserver() {
|
|
200
|
+
if (context.bodyObserver) {
|
|
201
|
+
context.bodyObserver.disconnect();
|
|
202
|
+
}
|
|
203
|
+
context.bodyObserver = new IntersectionObserver(handleFixedPosition, {
|
|
204
|
+
root: null,
|
|
205
|
+
rootMargin: "-".concat(top || 0, "px 0px -").concat(bottom || 0, "px 0px"),
|
|
206
|
+
threshold: 1.0
|
|
207
|
+
});
|
|
208
|
+
context.bodyObserver.observe(elementRef.current);
|
|
209
|
+
};
|
|
210
|
+
var cancelObserver = function cancelObserver() {
|
|
170
211
|
if (context.observer) {
|
|
171
212
|
context.observer.disconnect();
|
|
172
213
|
context.observer = null;
|
|
@@ -175,18 +216,15 @@ var Sticky = function Sticky(props) {
|
|
|
175
216
|
context.parentObserver.disconnect();
|
|
176
217
|
context.parentObserver = null;
|
|
177
218
|
}
|
|
178
|
-
window.removeEventListener('resize', updateStyle);
|
|
179
219
|
};
|
|
180
|
-
var createObserver = function createObserver() {
|
|
181
|
-
|
|
182
|
-
if (!context.div && target !== document.body) {
|
|
220
|
+
var createObserver = function createObserver(target) {
|
|
221
|
+
if (!context.div) {
|
|
183
222
|
context.div = document.createElement('div');
|
|
184
223
|
context.div.style.position = 'relative';
|
|
185
224
|
}
|
|
186
|
-
if (target
|
|
225
|
+
if (target) {
|
|
187
226
|
forceRender();
|
|
188
|
-
|
|
189
|
-
cleanEvents();
|
|
227
|
+
cancelObserver();
|
|
190
228
|
if (context.div) {
|
|
191
229
|
// append div
|
|
192
230
|
if (target === document.body) {
|
|
@@ -204,7 +242,7 @@ var Sticky = function Sticky(props) {
|
|
|
204
242
|
}
|
|
205
243
|
}
|
|
206
244
|
if (window.IntersectionObserver) {
|
|
207
|
-
var observer = new IntersectionObserver(
|
|
245
|
+
var observer = new IntersectionObserver(handleTargetPosition, {
|
|
208
246
|
root: target,
|
|
209
247
|
rootMargin: "-".concat(top || 0, "px 0px -").concat(bottom || 0, "px 0px"),
|
|
210
248
|
threshold: 1.0
|
|
@@ -227,17 +265,34 @@ var Sticky = function Sticky(props) {
|
|
|
227
265
|
}
|
|
228
266
|
};
|
|
229
267
|
(0, _react.useEffect)(function () {
|
|
230
|
-
if (
|
|
231
|
-
|
|
268
|
+
if (css) return;
|
|
269
|
+
var target = getTarget();
|
|
270
|
+
context.target = target;
|
|
271
|
+
if (target) {
|
|
272
|
+
createObserver(target);
|
|
232
273
|
window.addEventListener('resize', updateStyle);
|
|
274
|
+
return function () {
|
|
275
|
+
cancelObserver();
|
|
276
|
+
window.removeEventListener('resize', updateStyle);
|
|
277
|
+
if (context.div) {
|
|
278
|
+
context.div.remove();
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
} else {
|
|
282
|
+
// fixed 布局
|
|
283
|
+
createBodyObserver();
|
|
284
|
+
events.forEach(function (event) {
|
|
285
|
+
window.addEventListener(event, handleFixedPosition);
|
|
286
|
+
});
|
|
287
|
+
return function () {
|
|
288
|
+
if (context.bodyObserver) {
|
|
289
|
+
context.bodyObserver.disconnect();
|
|
290
|
+
}
|
|
291
|
+
events.forEach(function (event) {
|
|
292
|
+
window.removeEventListener(event, handleFixedPosition);
|
|
293
|
+
});
|
|
294
|
+
};
|
|
233
295
|
}
|
|
234
|
-
return function () {
|
|
235
|
-
cleanEvents();
|
|
236
|
-
if (context.div) {
|
|
237
|
-
context.div.remove();
|
|
238
|
-
context.div = null;
|
|
239
|
-
}
|
|
240
|
-
};
|
|
241
296
|
}, [css]);
|
|
242
297
|
(0, _react.useEffect)(function () {
|
|
243
298
|
if (props.parent && context.parentObserver) {
|
|
@@ -279,12 +334,14 @@ var Sticky = function Sticky(props) {
|
|
|
279
334
|
})
|
|
280
335
|
}) : null;
|
|
281
336
|
var isFixed = style.position === 'fixed';
|
|
337
|
+
var hideStyle = {
|
|
338
|
+
opacity: 0,
|
|
339
|
+
pointerEvents: 'none'
|
|
340
|
+
};
|
|
282
341
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
283
342
|
children: [isFixed ? StickyEl : context.target && context.div && /*#__PURE__*/(0, _reactDom.createPortal)(StickyEl, context.div), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
284
343
|
className: props.className,
|
|
285
|
-
style: _objectSpread(_objectSpread({}, props.style), {},
|
|
286
|
-
opacity: show && parentVisible ? 0 : (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.opacity
|
|
287
|
-
}),
|
|
344
|
+
style: _objectSpread(_objectSpread({}, props.style), show && parentVisible ? hideStyle : {}),
|
|
288
345
|
ref: handleElementRef,
|
|
289
346
|
children: children
|
|
290
347
|
})]
|
|
@@ -46,7 +46,7 @@ var Scroll = function Scroll(props) {
|
|
|
46
46
|
position: 'sticky'
|
|
47
47
|
}, isRtl ? 'right' : 'left', 0), "top", 0);
|
|
48
48
|
var placeStyle = _defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
49
|
-
marginTop: Math.max(0, Math.floor(scrollHeight - height))
|
|
49
|
+
marginTop: height > 0 && scrollHeight > 0 ? Math.max(0, Math.floor(scrollHeight - height)) : 0
|
|
50
50
|
}, "margin".concat(isRtl ? 'Left' : 'Right'), scrollWidth), "height", 0), "width", 0), "overflow", 'hidden');
|
|
51
51
|
var handleScroll = (0, _hooks.usePersistFn)(function (e) {
|
|
52
52
|
var target = e.currentTarget;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["card-header.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,UAAU,UAAW,eAAe,
|
|
1
|
+
{"version":3,"file":"card-header.d.ts","sourceRoot":"","sources":["card-header.tsx"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,QAAA,MAAM,UAAU,UAAW,eAAe,gBAiDzC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/esm/card/card-header.js
CHANGED
|
@@ -25,11 +25,12 @@ var CardHeader = function CardHeader(props) {
|
|
|
25
25
|
})
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
|
-
var
|
|
28
|
+
var alignClass = classNames(align === 'center' && (cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.center), align === 'right' && (cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.right));
|
|
29
|
+
var headerContentClassName = classNames(cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.headerContent, alignClass);
|
|
29
30
|
if (!props.extra && !collapsible) {
|
|
31
|
+
var simpleHeaderClassName = classNames(cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.header, cardClasses === null || cardClasses === void 0 ? void 0 : cardClasses.simpleHeader, alignClass, props.className);
|
|
30
32
|
return /*#__PURE__*/_jsx("div", {
|
|
31
|
-
className:
|
|
32
|
-
style: props.style,
|
|
33
|
+
className: simpleHeaderClassName,
|
|
33
34
|
children: props.children
|
|
34
35
|
});
|
|
35
36
|
}
|
package/esm/select/result.js
CHANGED
|
@@ -10,7 +10,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
10
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
11
|
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; } }
|
|
12
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
import React, { useState, useRef, useEffect } from 'react';
|
|
13
|
+
import React, { useState, useRef, useEffect, useLayoutEffect } from 'react';
|
|
14
14
|
import classNames from 'classnames';
|
|
15
15
|
import { util, addResizeObserver } from '@sheinx/hooks';
|
|
16
16
|
import Input from "./result-input";
|
|
@@ -279,8 +279,8 @@ var Result = function Result(props) {
|
|
|
279
279
|
var handleResetMore = function handleResetMore() {
|
|
280
280
|
if (!compressed) return;
|
|
281
281
|
if (isCompressedBound()) return;
|
|
282
|
-
setMore(-1);
|
|
283
282
|
setShouldResetMore(true);
|
|
283
|
+
setMore(-1);
|
|
284
284
|
};
|
|
285
285
|
useEffect(function () {
|
|
286
286
|
if (!focus && mounted.current) {
|
|
@@ -291,11 +291,11 @@ var Result = function Result(props) {
|
|
|
291
291
|
}
|
|
292
292
|
mounted.current = true;
|
|
293
293
|
}, [focus]);
|
|
294
|
-
|
|
294
|
+
useLayoutEffect(function () {
|
|
295
295
|
setTimeout(handleResetMore);
|
|
296
296
|
}, [valueProp, data]);
|
|
297
|
-
|
|
298
|
-
if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || [].length)
|
|
297
|
+
useLayoutEffect(function () {
|
|
298
|
+
if (shouldResetMore && more === -1 && compressed && resultRef.current && (props.value || []).length) {
|
|
299
299
|
var tagClassName = ".".concat(styles.tag.split(' ')[0]);
|
|
300
300
|
if (shouldResetMore && isArray(value) && (value || []).length) {
|
|
301
301
|
var newMore = getResetMore(showInput, resultRef.current, resultRef.current.querySelectorAll(tagClassName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["select.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AAkBnE,iBAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,eA0sBxE;AAED,eAAe,MAAM,CAAC"}
|
package/esm/select/select.js
CHANGED
|
@@ -245,16 +245,6 @@ function Select(props0) {
|
|
|
245
245
|
}),
|
|
246
246
|
groupData = _useGroup.data,
|
|
247
247
|
groupKey = _useGroup.groupKey;
|
|
248
|
-
|
|
249
|
-
// const triggerOpen = usePersistFn(() => {
|
|
250
|
-
// if (disabled === true) return;
|
|
251
|
-
// if (open) {
|
|
252
|
-
// closePop();
|
|
253
|
-
// } else {
|
|
254
|
-
// openPop();
|
|
255
|
-
// }
|
|
256
|
-
// });
|
|
257
|
-
|
|
258
248
|
var focusAndOpen = function focusAndOpen() {
|
|
259
249
|
if (!focused) {
|
|
260
250
|
var _inputRef$current2;
|
|
@@ -661,7 +651,7 @@ function Select(props0) {
|
|
|
661
651
|
children: [tipNode, renderResult(), /*#__PURE__*/_jsx(AbsoluteList, {
|
|
662
652
|
adjust: true,
|
|
663
653
|
focus: open,
|
|
664
|
-
fixedWidth: autoAdapt ? 'min' : true,
|
|
654
|
+
fixedWidth: !props.columns && (autoAdapt ? 'min' : true),
|
|
665
655
|
absolute: props.absolute,
|
|
666
656
|
zIndex: props.zIndex,
|
|
667
657
|
position: position,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sticky.d.ts","sourceRoot":"","sources":["sticky.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAuB5C,QAAA,MAAM,MAAM,UAAW,WAAW,gBAqTjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/esm/sticky/sticky.js
CHANGED
|
@@ -19,6 +19,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
var cssSupport = util.cssSupport;
|
|
20
20
|
var supportSticky = cssSupport('position', 'sticky');
|
|
21
21
|
var defaultZIndex = 900;
|
|
22
|
+
var events = ['scroll', 'pageshow', 'load', 'resize'];
|
|
22
23
|
|
|
23
24
|
// const getFirstScrollParent = (el: HTMLElement) => {
|
|
24
25
|
// let parent = el.parentNode as HTMLElement;
|
|
@@ -37,7 +38,6 @@ var defaultZIndex = 900;
|
|
|
37
38
|
// };
|
|
38
39
|
|
|
39
40
|
var Sticky = function Sticky(props) {
|
|
40
|
-
var _props$style;
|
|
41
41
|
var children = props.children,
|
|
42
42
|
top = props.top,
|
|
43
43
|
bottom = props.bottom;
|
|
@@ -47,7 +47,8 @@ var Sticky = function Sticky(props) {
|
|
|
47
47
|
div: null,
|
|
48
48
|
observer: null,
|
|
49
49
|
parentObserver: null,
|
|
50
|
-
isTop: false
|
|
50
|
+
isTop: false,
|
|
51
|
+
bodyObserver: null
|
|
51
52
|
}),
|
|
52
53
|
context = _useRef.current;
|
|
53
54
|
var _useState = useState({}),
|
|
@@ -64,10 +65,6 @@ var Sticky = function Sticky(props) {
|
|
|
64
65
|
setParentVisible = _useState6[1];
|
|
65
66
|
var forceRender = useRender();
|
|
66
67
|
var elementRef = useRef(null);
|
|
67
|
-
var elementSize = useResize({
|
|
68
|
-
targetRef: elementRef,
|
|
69
|
-
timer: 0
|
|
70
|
-
});
|
|
71
68
|
var getTarget = function getTarget() {
|
|
72
69
|
var scrollContainer = props.scrollContainer;
|
|
73
70
|
if (typeof scrollContainer === 'string') {
|
|
@@ -77,11 +74,10 @@ var Sticky = function Sticky(props) {
|
|
|
77
74
|
if (scrollContainer && scrollContainer.nodeType === 1) {
|
|
78
75
|
return scrollContainer;
|
|
79
76
|
}
|
|
80
|
-
return
|
|
77
|
+
return null;
|
|
81
78
|
};
|
|
82
79
|
var updateStyle = usePersistFn(function () {
|
|
83
80
|
if (context.div && !context.isTop && show) {
|
|
84
|
-
var shouldFixed = context.target === document.body;
|
|
85
81
|
var scrollRect = context.target.getBoundingClientRect();
|
|
86
82
|
var targetRect = elementRef.current.getBoundingClientRect();
|
|
87
83
|
var targetLeft = targetRect.left;
|
|
@@ -90,7 +86,7 @@ var Sticky = function Sticky(props) {
|
|
|
90
86
|
if (typeof bottom === 'number') {
|
|
91
87
|
var outRootRect = context.target.getBoundingClientRect();
|
|
92
88
|
var _style = {
|
|
93
|
-
position:
|
|
89
|
+
position: 'absolute',
|
|
94
90
|
width: "".concat(width, "px"),
|
|
95
91
|
height: "".concat(height, "px"),
|
|
96
92
|
top: "".concat(scrollRect.bottom - (props.bottom || 0) - outRootRect.top, "px"),
|
|
@@ -101,19 +97,13 @@ var Sticky = function Sticky(props) {
|
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
99
|
});
|
|
104
|
-
var
|
|
100
|
+
var handleTargetPosition = usePersistFn(function (entries) {
|
|
105
101
|
var entry = entries[0];
|
|
106
102
|
var scrollRect = entry.rootBounds;
|
|
107
103
|
var targetRect = entry.boundingClientRect;
|
|
108
|
-
var shouldFixed = context.target === document.body;
|
|
109
104
|
if (!entry.isIntersecting) {
|
|
110
105
|
var targetLeft = targetRect.left;
|
|
111
|
-
var outRootRect =
|
|
112
|
-
top: 0,
|
|
113
|
-
bottom: 0,
|
|
114
|
-
left: 0,
|
|
115
|
-
right: 0
|
|
116
|
-
} : context.div.getBoundingClientRect();
|
|
106
|
+
var outRootRect = context.div.getBoundingClientRect();
|
|
117
107
|
var width = targetRect.width,
|
|
118
108
|
height = targetRect.height;
|
|
119
109
|
if (scrollRect && targetRect.bottom < scrollRect.bottom) {
|
|
@@ -122,7 +112,7 @@ var Sticky = function Sticky(props) {
|
|
|
122
112
|
if (typeof top === 'number') {
|
|
123
113
|
setShow(true);
|
|
124
114
|
var _style2 = {
|
|
125
|
-
position:
|
|
115
|
+
position: 'absolute',
|
|
126
116
|
width: "".concat(width, "px"),
|
|
127
117
|
height: "".concat(height, "px"),
|
|
128
118
|
top: "".concat(scrollRect.top - outRootRect.top, "px"),
|
|
@@ -137,7 +127,7 @@ var Sticky = function Sticky(props) {
|
|
|
137
127
|
setShow(true);
|
|
138
128
|
var _outRootRect = context.target.getBoundingClientRect();
|
|
139
129
|
var _style3 = {
|
|
140
|
-
position:
|
|
130
|
+
position: 'absolute',
|
|
141
131
|
width: "".concat(width, "px"),
|
|
142
132
|
height: "".concat(height, "px"),
|
|
143
133
|
top: "".concat(scrollRect.bottom - _outRootRect.top, "px"),
|
|
@@ -160,7 +150,58 @@ var Sticky = function Sticky(props) {
|
|
|
160
150
|
setParentVisible(false);
|
|
161
151
|
}
|
|
162
152
|
});
|
|
163
|
-
var
|
|
153
|
+
var handleFixedPosition = usePersistFn(function () {
|
|
154
|
+
var element = elementRef.current;
|
|
155
|
+
if (!element) return;
|
|
156
|
+
var selfRect = element.getBoundingClientRect();
|
|
157
|
+
if (selfRect === null) return;
|
|
158
|
+
// If the element is hidden, the width and height will be 0
|
|
159
|
+
if (selfRect && selfRect.width === 0 && selfRect.height === 0) return;
|
|
160
|
+
// const { marginBottom, marginTop } = getComputedStyle(element);
|
|
161
|
+
// selfRect.height += parseFloat(marginBottom) + parseFloat(marginTop);
|
|
162
|
+
var scrollElement = document.body;
|
|
163
|
+
var scrollRect = scrollElement.getBoundingClientRect();
|
|
164
|
+
var top = props.top,
|
|
165
|
+
bottom = props.bottom;
|
|
166
|
+
if (top !== undefined && Math.ceil(selfRect.top) <= top) {
|
|
167
|
+
setShow(true);
|
|
168
|
+
setStyle({
|
|
169
|
+
position: 'fixed',
|
|
170
|
+
top: top,
|
|
171
|
+
left: "".concat(selfRect.left, "px"),
|
|
172
|
+
width: "".concat(selfRect.width, "px")
|
|
173
|
+
});
|
|
174
|
+
return;
|
|
175
|
+
} else if (bottom !== undefined && Math.ceil(selfRect.bottom) + bottom > scrollRect.bottom) {
|
|
176
|
+
setShow(true);
|
|
177
|
+
setStyle({
|
|
178
|
+
position: 'fixed',
|
|
179
|
+
bottom: bottom,
|
|
180
|
+
left: "".concat(selfRect.left, "px"),
|
|
181
|
+
width: "".concat(selfRect.width, "px")
|
|
182
|
+
});
|
|
183
|
+
return;
|
|
184
|
+
} else {
|
|
185
|
+
setShow(false);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
var elementSize = useResize({
|
|
189
|
+
targetRef: elementRef,
|
|
190
|
+
timer: 0,
|
|
191
|
+
cb: handleFixedPosition
|
|
192
|
+
});
|
|
193
|
+
var createBodyObserver = function createBodyObserver() {
|
|
194
|
+
if (context.bodyObserver) {
|
|
195
|
+
context.bodyObserver.disconnect();
|
|
196
|
+
}
|
|
197
|
+
context.bodyObserver = new IntersectionObserver(handleFixedPosition, {
|
|
198
|
+
root: null,
|
|
199
|
+
rootMargin: "-".concat(top || 0, "px 0px -").concat(bottom || 0, "px 0px"),
|
|
200
|
+
threshold: 1.0
|
|
201
|
+
});
|
|
202
|
+
context.bodyObserver.observe(elementRef.current);
|
|
203
|
+
};
|
|
204
|
+
var cancelObserver = function cancelObserver() {
|
|
164
205
|
if (context.observer) {
|
|
165
206
|
context.observer.disconnect();
|
|
166
207
|
context.observer = null;
|
|
@@ -169,18 +210,15 @@ var Sticky = function Sticky(props) {
|
|
|
169
210
|
context.parentObserver.disconnect();
|
|
170
211
|
context.parentObserver = null;
|
|
171
212
|
}
|
|
172
|
-
window.removeEventListener('resize', updateStyle);
|
|
173
213
|
};
|
|
174
|
-
var createObserver = function createObserver() {
|
|
175
|
-
|
|
176
|
-
if (!context.div && target !== document.body) {
|
|
214
|
+
var createObserver = function createObserver(target) {
|
|
215
|
+
if (!context.div) {
|
|
177
216
|
context.div = document.createElement('div');
|
|
178
217
|
context.div.style.position = 'relative';
|
|
179
218
|
}
|
|
180
|
-
if (target
|
|
219
|
+
if (target) {
|
|
181
220
|
forceRender();
|
|
182
|
-
|
|
183
|
-
cleanEvents();
|
|
221
|
+
cancelObserver();
|
|
184
222
|
if (context.div) {
|
|
185
223
|
// append div
|
|
186
224
|
if (target === document.body) {
|
|
@@ -198,7 +236,7 @@ var Sticky = function Sticky(props) {
|
|
|
198
236
|
}
|
|
199
237
|
}
|
|
200
238
|
if (window.IntersectionObserver) {
|
|
201
|
-
var observer = new IntersectionObserver(
|
|
239
|
+
var observer = new IntersectionObserver(handleTargetPosition, {
|
|
202
240
|
root: target,
|
|
203
241
|
rootMargin: "-".concat(top || 0, "px 0px -").concat(bottom || 0, "px 0px"),
|
|
204
242
|
threshold: 1.0
|
|
@@ -221,17 +259,34 @@ var Sticky = function Sticky(props) {
|
|
|
221
259
|
}
|
|
222
260
|
};
|
|
223
261
|
useEffect(function () {
|
|
224
|
-
if (
|
|
225
|
-
|
|
262
|
+
if (css) return;
|
|
263
|
+
var target = getTarget();
|
|
264
|
+
context.target = target;
|
|
265
|
+
if (target) {
|
|
266
|
+
createObserver(target);
|
|
226
267
|
window.addEventListener('resize', updateStyle);
|
|
268
|
+
return function () {
|
|
269
|
+
cancelObserver();
|
|
270
|
+
window.removeEventListener('resize', updateStyle);
|
|
271
|
+
if (context.div) {
|
|
272
|
+
context.div.remove();
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
} else {
|
|
276
|
+
// fixed 布局
|
|
277
|
+
createBodyObserver();
|
|
278
|
+
events.forEach(function (event) {
|
|
279
|
+
window.addEventListener(event, handleFixedPosition);
|
|
280
|
+
});
|
|
281
|
+
return function () {
|
|
282
|
+
if (context.bodyObserver) {
|
|
283
|
+
context.bodyObserver.disconnect();
|
|
284
|
+
}
|
|
285
|
+
events.forEach(function (event) {
|
|
286
|
+
window.removeEventListener(event, handleFixedPosition);
|
|
287
|
+
});
|
|
288
|
+
};
|
|
227
289
|
}
|
|
228
|
-
return function () {
|
|
229
|
-
cleanEvents();
|
|
230
|
-
if (context.div) {
|
|
231
|
-
context.div.remove();
|
|
232
|
-
context.div = null;
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
290
|
}, [css]);
|
|
236
291
|
useEffect(function () {
|
|
237
292
|
if (props.parent && context.parentObserver) {
|
|
@@ -273,12 +328,14 @@ var Sticky = function Sticky(props) {
|
|
|
273
328
|
})
|
|
274
329
|
}) : null;
|
|
275
330
|
var isFixed = style.position === 'fixed';
|
|
331
|
+
var hideStyle = {
|
|
332
|
+
opacity: 0,
|
|
333
|
+
pointerEvents: 'none'
|
|
334
|
+
};
|
|
276
335
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
277
336
|
children: [isFixed ? StickyEl : context.target && context.div && /*#__PURE__*/createPortal(StickyEl, context.div), /*#__PURE__*/_jsx("div", {
|
|
278
337
|
className: props.className,
|
|
279
|
-
style: _objectSpread(_objectSpread({}, props.style), {},
|
|
280
|
-
opacity: show && parentVisible ? 0 : (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.opacity
|
|
281
|
-
}),
|
|
338
|
+
style: _objectSpread(_objectSpread({}, props.style), show && parentVisible ? hideStyle : {}),
|
|
282
339
|
ref: handleElementRef,
|
|
283
340
|
children: children
|
|
284
341
|
})]
|
|
@@ -39,7 +39,7 @@ var Scroll = function Scroll(props) {
|
|
|
39
39
|
position: 'sticky'
|
|
40
40
|
}, isRtl ? 'right' : 'left', 0), "top", 0);
|
|
41
41
|
var placeStyle = _defineProperty(_defineProperty(_defineProperty(_defineProperty({
|
|
42
|
-
marginTop: Math.max(0, Math.floor(scrollHeight - height))
|
|
42
|
+
marginTop: height > 0 && scrollHeight > 0 ? Math.max(0, Math.floor(scrollHeight - height)) : 0
|
|
43
43
|
}, "margin".concat(isRtl ? 'Left' : 'Right'), scrollWidth), "height", 0), "width", 0), "overflow", 'hidden');
|
|
44
44
|
var handleScroll = usePersistFn(function (e) {
|
|
45
45
|
var target = e.currentTarget;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.15",
|
|
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.1.
|
|
13
|
+
"@sheinx/hooks": "3.1.15",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.1.3-alpha.0"
|