@rainbow-oh/yee-c 0.8.8 → 0.8.9
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/cjs/Popover/popover.js +4 -3
- package/dist/cjs/Popover/style/index.less +5 -2
- package/dist/cjs/Table/style/index.less +0 -2
- package/dist/cjs/Table/theader/filter.js +10 -9
- package/dist/cjs/Trigger/style/index.less +1 -0
- package/dist/cjs/style/size.css +3 -2
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +4 -3
- package/dist/cjs/utils/focusStack.js +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/Popover/popover.js +6 -3
- package/dist/esm/Popover/style/index.less +5 -2
- package/dist/esm/Table/style/index.less +0 -2
- package/dist/esm/Table/theader/filter.js +12 -10
- package/dist/esm/Trigger/style/index.less +1 -0
- package/dist/esm/style/size.css +3 -2
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +4 -3
- package/dist/esm/utils/focusStack.js +5 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/umd/yee-c.min.css +2 -2
- package/dist/umd/yee-c.min.js +1 -1
- package/package.json +1 -1
- package/src/Popover/popover.tsx +6 -3
- package/src/Popover/style/index.less +5 -2
- package/src/Table/style/index.less +0 -2
- package/src/Table/theader/filter.tsx +10 -8
- package/src/Trigger/style/index.less +1 -0
- package/src/style/size.css +3 -2
- package/src/utils/focusStack.ts +3 -1
- package/src/version.ts +1 -1
package/package.json
CHANGED
package/src/Popover/popover.tsx
CHANGED
|
@@ -33,6 +33,9 @@ const Popover = (baseprops: PopoverProps) => {
|
|
|
33
33
|
...rest
|
|
34
34
|
} = props;
|
|
35
35
|
|
|
36
|
+
const mergedArrow =
|
|
37
|
+
arrow === true ? { className: `${prefixCls}-arrow` } : arrow;
|
|
38
|
+
|
|
36
39
|
const [mergedOpen, setMergedOpen] = useMergedState(false, {
|
|
37
40
|
value: open,
|
|
38
41
|
defaultValue: defaultOpen,
|
|
@@ -49,7 +52,7 @@ const Popover = (baseprops: PopoverProps) => {
|
|
|
49
52
|
|
|
50
53
|
return (
|
|
51
54
|
<div
|
|
52
|
-
className={clsx(
|
|
55
|
+
className={clsx(`${prefixCls}-container`, className)}
|
|
53
56
|
style={style}
|
|
54
57
|
role="dialog"
|
|
55
58
|
ref={popupRef}
|
|
@@ -96,12 +99,12 @@ const Popover = (baseprops: PopoverProps) => {
|
|
|
96
99
|
return (
|
|
97
100
|
<Trigger
|
|
98
101
|
{...rest}
|
|
99
|
-
arrow={
|
|
102
|
+
arrow={mergedArrow}
|
|
100
103
|
trigger={trigger}
|
|
101
104
|
placement={placement}
|
|
102
105
|
popup={popup}
|
|
103
106
|
open={mergedOpen}
|
|
104
|
-
popupClassName={clsx(`${prefixCls}
|
|
107
|
+
popupClassName={clsx(`${prefixCls}`, popupClassName)}
|
|
105
108
|
onOpenChange={handleOpenChange}
|
|
106
109
|
>
|
|
107
110
|
{children}
|
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
@{pls} {
|
|
4
4
|
max-width: var(--yee-popover-max-width);
|
|
5
|
-
padding: var(--yee-popover-padding);
|
|
6
5
|
color: var(--yee-color-text);
|
|
7
6
|
background-color: var(--yee-popover-bg-color);
|
|
8
7
|
border-radius: var(--yee-popover-border-radius);
|
|
9
|
-
|
|
8
|
+
|
|
9
|
+
&-container {
|
|
10
|
+
padding: var(--yee-popover-padding);
|
|
11
|
+
overflow: auto;
|
|
12
|
+
}
|
|
10
13
|
|
|
11
14
|
&-header {
|
|
12
15
|
margin-bottom: var(--yee-popover-header-margin-bottom);
|
|
@@ -24,7 +24,7 @@ const getStrLower = (str: any) => {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
const HeaderFilter = React.memo((props: any) => {
|
|
27
|
-
const { filter, column,
|
|
27
|
+
const { filter, column, getPopupContainer, onInternalFilter } = props;
|
|
28
28
|
const { prefixCls } = useContext(TableCtx);
|
|
29
29
|
const { locale } = useLocale();
|
|
30
30
|
const { table: tableLocale } = locale;
|
|
@@ -36,11 +36,13 @@ const HeaderFilter = React.memo((props: any) => {
|
|
|
36
36
|
const [searchValue, setSearchValue] = useState('');
|
|
37
37
|
|
|
38
38
|
useEffect(() => {
|
|
39
|
-
if (open)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
43
|
-
}
|
|
39
|
+
if (!open) return;
|
|
40
|
+
|
|
41
|
+
const raf = requestAnimationFrame(() => {
|
|
42
|
+
inputRef.current?.focus({ preventScroll: true });
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
return () => cancelAnimationFrame(raf);
|
|
44
46
|
}, [open]);
|
|
45
47
|
|
|
46
48
|
const inputChange = (value: string) => {
|
|
@@ -187,12 +189,12 @@ const HeaderFilter = React.memo((props: any) => {
|
|
|
187
189
|
<Popover
|
|
188
190
|
trigger="click"
|
|
189
191
|
placement="bottomRight"
|
|
190
|
-
|
|
192
|
+
popupClassName={clsx(`${prefixCls}-filter`)}
|
|
191
193
|
content={popup}
|
|
192
194
|
arrow
|
|
193
195
|
open={open}
|
|
194
196
|
hideOnClick={false}
|
|
195
|
-
getPopupContainer={
|
|
197
|
+
getPopupContainer={getPopupContainer}
|
|
196
198
|
onOpenChange={handleOpenChange}
|
|
197
199
|
>
|
|
198
200
|
{renderTrigger()}
|
package/src/style/size.css
CHANGED
|
@@ -393,9 +393,9 @@
|
|
|
393
393
|
/* --Popover-- */
|
|
394
394
|
--yee-popover-z-index: var(--yee-z-index-tooltip);
|
|
395
395
|
--yee-popover-max-width: 704px;
|
|
396
|
-
--yee-popover-padding:
|
|
396
|
+
--yee-popover-padding: 12px;
|
|
397
397
|
--yee-popover-border-radius: 4px;
|
|
398
|
-
--yee-popover-header-margin-bottom:
|
|
398
|
+
--yee-popover-header-margin-bottom: 8px;
|
|
399
399
|
--yee-popover-header-font-weight: 500;
|
|
400
400
|
--yee-popover-header-font-size: 16px;
|
|
401
401
|
--yee-popover-header-line-height: 24px;
|
|
@@ -849,6 +849,7 @@
|
|
|
849
849
|
|
|
850
850
|
/* --Trigger-- */
|
|
851
851
|
--yee-trigger-z-index: var(--yee-z-index-popup);
|
|
852
|
+
--yee-trigger-border-radius: 6px;
|
|
852
853
|
--yee-trigger-box-shadow: 0 8px 24px 0 var(--yee-box-shadow-color);
|
|
853
854
|
--yee-trigger-arrow-margin-left: -4px;
|
|
854
855
|
--yee-trigger-animation-duration: 0.2s;
|
package/src/utils/focusStack.ts
CHANGED
|
@@ -35,7 +35,9 @@ const focusInitialElement = (entry: FocusStackEntry) => {
|
|
|
35
35
|
|
|
36
36
|
const firstFocusable =
|
|
37
37
|
entry.container.querySelector<HTMLElement>(focusableSelector);
|
|
38
|
-
|
|
38
|
+
// Focusing popup content must not move the page or a scrollable ancestor.
|
|
39
|
+
// Consumers can still scroll explicitly after focus when that behavior is needed.
|
|
40
|
+
(firstFocusable ?? entry.container).focus({ preventScroll: true });
|
|
39
41
|
};
|
|
40
42
|
|
|
41
43
|
export const pushFocus = (
|