@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.
Files changed (39) hide show
  1. package/dist/cjs/Popconfirm/popconfirm.js +2 -2
  2. package/dist/cjs/Popconfirm/style/index.less +4 -1
  3. package/dist/cjs/Popover/popover.js +4 -3
  4. package/dist/cjs/Popover/style/index.less +5 -2
  5. package/dist/cjs/Table/style/index.less +0 -2
  6. package/dist/cjs/Table/theader/filter.js +10 -9
  7. package/dist/cjs/Trigger/style/index.less +1 -0
  8. package/dist/cjs/style/size.css +7 -4
  9. package/dist/cjs/style/themes.css +1 -1
  10. package/dist/cjs/style/variables.css +8 -5
  11. package/dist/cjs/utils/focusStack.js +1 -1
  12. package/dist/cjs/version.d.ts +1 -1
  13. package/dist/cjs/version.js +1 -1
  14. package/dist/esm/Popconfirm/popconfirm.js +4 -2
  15. package/dist/esm/Popconfirm/style/index.less +4 -1
  16. package/dist/esm/Popover/popover.js +6 -3
  17. package/dist/esm/Popover/style/index.less +5 -2
  18. package/dist/esm/Table/style/index.less +0 -2
  19. package/dist/esm/Table/theader/filter.js +12 -10
  20. package/dist/esm/Trigger/style/index.less +1 -0
  21. package/dist/esm/style/size.css +7 -4
  22. package/dist/esm/style/themes.css +1 -1
  23. package/dist/esm/style/variables.css +8 -5
  24. package/dist/esm/utils/focusStack.js +5 -1
  25. package/dist/esm/version.d.ts +1 -1
  26. package/dist/esm/version.js +1 -1
  27. package/dist/umd/yee-c.min.css +2 -2
  28. package/dist/umd/yee-c.min.js +1 -1
  29. package/package.json +1 -1
  30. package/src/Popconfirm/popconfirm.tsx +6 -2
  31. package/src/Popconfirm/style/index.less +4 -1
  32. package/src/Popover/popover.tsx +6 -3
  33. package/src/Popover/style/index.less +5 -2
  34. package/src/Table/style/index.less +0 -2
  35. package/src/Table/theader/filter.tsx +10 -8
  36. package/src/Trigger/style/index.less +1 -0
  37. package/src/style/size.css +7 -4
  38. package/src/utils/focusStack.ts +3 -1
  39. package/src/version.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainbow-oh/yee-c",
3
- "version": "0.8.8",
3
+ "version": "0.8.10",
4
4
  "description": "yee basic components",
5
5
  "keywords": [
6
6
  "react",
@@ -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
- <div className={`${prefixCls}-trigger`}>{children}</div>
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: var(--yee-popconfirm-title-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 {
@@ -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(prefixCls, [`${prefixCls}-${placement}`], className)}
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={arrow}
102
+ arrow={mergedArrow}
100
103
  trigger={trigger}
101
104
  placement={placement}
102
105
  popup={popup}
103
106
  open={mergedOpen}
104
- popupClassName={clsx(`${prefixCls}-popup`, popupClassName)}
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
- overflow: hidden;
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);
@@ -72,8 +72,6 @@
72
72
  }
73
73
 
74
74
  &-filter {
75
- padding: var(--yee-table-filter-popup-padding);
76
-
77
75
  &-trigger {
78
76
  display: inline-flex;
79
77
  cursor: pointer;
@@ -24,7 +24,7 @@ const getStrLower = (str: any) => {
24
24
  };
25
25
 
26
26
  const HeaderFilter = React.memo((props: any) => {
27
- const { filter, column, getContainer, onInternalFilter } = props;
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
- requestAnimationFrame(() => {
41
- inputRef.current?.focus({ preventScroll: true });
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
- className={clsx(`${prefixCls}-filter`)}
192
+ popupClassName={clsx(`${prefixCls}-filter`)}
191
193
  content={popup}
192
194
  arrow
193
195
  open={open}
194
196
  hideOnClick={false}
195
- getPopupContainer={getContainer}
197
+ getPopupContainer={getPopupContainer}
196
198
  onOpenChange={handleOpenChange}
197
199
  >
198
200
  {renderTrigger()}
@@ -3,6 +3,7 @@
3
3
  @{pls} {
4
4
  position: absolute;
5
5
  z-index: var(--yee-trigger-z-index);
6
+ border-radius: var(--yee-trigger-border-radius);
6
7
 
7
8
  &-hidden {
8
9
  display: none;
@@ -383,19 +383,21 @@
383
383
 
384
384
  /* --Popconfirm-- */
385
385
  --yee-popconfirm-z-index: var(--yee-z-index-tooltip);
386
- --yee-popconfirm-padding: 16px;
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-title-margin: 0;
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: 16px;
398
+ --yee-popover-padding: 12px;
397
399
  --yee-popover-border-radius: 4px;
398
- --yee-popover-header-margin-bottom: 16px;
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;
@@ -35,7 +35,9 @@ const focusInitialElement = (entry: FocusStackEntry) => {
35
35
 
36
36
  const firstFocusable =
37
37
  entry.container.querySelector<HTMLElement>(focusableSelector);
38
- (firstFocusable ?? entry.container).focus();
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 = (
package/src/version.ts CHANGED
@@ -4,7 +4,7 @@ declare global {
4
4
  }
5
5
  }
6
6
 
7
- export const version = "0.8.8";
7
+ export const version = "0.8.10";
8
8
 
9
9
  if (typeof window !== 'undefined') {
10
10
  window.__yee_c_version__ = version;