@rainbow-oh/yee-c 0.8.8 → 0.8.10
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/Popconfirm/popconfirm.js +2 -2
- package/dist/cjs/Popconfirm/style/index.less +4 -1
- 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 +7 -4
- package/dist/cjs/style/themes.css +1 -1
- package/dist/cjs/style/variables.css +8 -5
- 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/Popconfirm/popconfirm.js +4 -2
- package/dist/esm/Popconfirm/style/index.less +4 -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 +7 -4
- package/dist/esm/style/themes.css +1 -1
- package/dist/esm/style/variables.css +8 -5
- 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/Popconfirm/popconfirm.tsx +6 -2
- package/src/Popconfirm/style/index.less +4 -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 +7 -4
- package/src/utils/focusStack.ts +3 -1
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -74,7 +74,7 @@ const Popconfirm: React.FC<PopconfirmProps> = (baseprops) => {
|
|
|
74
74
|
ref={(node) => {
|
|
75
75
|
if (node) {
|
|
76
76
|
const btn = node.querySelector<HTMLButtonElement>('[data-confirm]');
|
|
77
|
-
if (btn) btn.focus();
|
|
77
|
+
if (btn) btn.focus({ preventScroll: true });
|
|
78
78
|
}
|
|
79
79
|
}}
|
|
80
80
|
>
|
|
@@ -127,7 +127,11 @@ const Popconfirm: React.FC<PopconfirmProps> = (baseprops) => {
|
|
|
127
127
|
open={mergedOpen}
|
|
128
128
|
onOpenChange={handleOpenChange}
|
|
129
129
|
>
|
|
130
|
-
|
|
130
|
+
{React.isValidElement(children) ? (
|
|
131
|
+
children
|
|
132
|
+
) : (
|
|
133
|
+
<span className={`${prefixCls}-trigger`}>{children}</span>
|
|
134
|
+
)}
|
|
131
135
|
</Trigger>
|
|
132
136
|
);
|
|
133
137
|
};
|
|
@@ -11,10 +11,13 @@
|
|
|
11
11
|
display: flex;
|
|
12
12
|
gap: var(--yee-popconfirm-header-gap);
|
|
13
13
|
align-items: center;
|
|
14
|
+
margin-bottom: var(--yee-popconfirm-header-margin-bottom);
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
&-title {
|
|
17
|
-
margin:
|
|
18
|
+
margin: 0;
|
|
19
|
+
font-size: var(--yee-popconfirm-title-font-size);
|
|
20
|
+
font-weight: var(--yee-popconfirm-title-font-weight);
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
&-footer {
|
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
|
@@ -383,19 +383,21 @@
|
|
|
383
383
|
|
|
384
384
|
/* --Popconfirm-- */
|
|
385
385
|
--yee-popconfirm-z-index: var(--yee-z-index-tooltip);
|
|
386
|
-
--yee-popconfirm-padding:
|
|
386
|
+
--yee-popconfirm-padding: 12px;
|
|
387
387
|
--yee-popconfirm-border-radius: 4px;
|
|
388
388
|
--yee-popconfirm-box-shadow: 0 8px 24px 0 var(--yee-box-shadow-color);
|
|
389
389
|
--yee-popconfirm-header-gap: 16px;
|
|
390
|
-
--yee-popconfirm-
|
|
390
|
+
--yee-popconfirm-header-margin-bottom: 8px;
|
|
391
391
|
--yee-popconfirm-footer-margin-top: 16px;
|
|
392
|
+
--yee-popconfirm-title-font-size: 16px;
|
|
393
|
+
--yee-popconfirm-title-font-weight: 600;
|
|
392
394
|
|
|
393
395
|
/* --Popover-- */
|
|
394
396
|
--yee-popover-z-index: var(--yee-z-index-tooltip);
|
|
395
397
|
--yee-popover-max-width: 704px;
|
|
396
|
-
--yee-popover-padding:
|
|
398
|
+
--yee-popover-padding: 12px;
|
|
397
399
|
--yee-popover-border-radius: 4px;
|
|
398
|
-
--yee-popover-header-margin-bottom:
|
|
400
|
+
--yee-popover-header-margin-bottom: 8px;
|
|
399
401
|
--yee-popover-header-font-weight: 500;
|
|
400
402
|
--yee-popover-header-font-size: 16px;
|
|
401
403
|
--yee-popover-header-line-height: 24px;
|
|
@@ -849,6 +851,7 @@
|
|
|
849
851
|
|
|
850
852
|
/* --Trigger-- */
|
|
851
853
|
--yee-trigger-z-index: var(--yee-z-index-popup);
|
|
854
|
+
--yee-trigger-border-radius: 6px;
|
|
852
855
|
--yee-trigger-box-shadow: 0 8px 24px 0 var(--yee-box-shadow-color);
|
|
853
856
|
--yee-trigger-arrow-margin-left: -4px;
|
|
854
857
|
--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 = (
|