antd-mobile 5.0.0-rc.23 → 5.0.0-rc.24

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 (135) hide show
  1. package/2x/README.md +6 -6
  2. package/2x/cjs/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  3. package/2x/cjs/components/date-picker/date-picker.d.ts +1 -1
  4. package/2x/cjs/components/date-picker-view/date-picker-view.d.ts +3 -2
  5. package/2x/cjs/components/form/form-item.css +3 -2
  6. package/2x/cjs/components/form/form-item.d.ts +2 -2
  7. package/2x/cjs/components/form/form-item.js +9 -5
  8. package/2x/cjs/components/form/form.css +3 -3
  9. package/2x/cjs/components/form/form.d.ts +5 -4
  10. package/2x/cjs/components/form/index.css +6 -5
  11. package/2x/cjs/components/form/index.d.ts +5 -4
  12. package/2x/cjs/components/input/input.d.ts +2 -2
  13. package/2x/cjs/components/input/input.js +3 -1
  14. package/2x/cjs/components/list/list.css +2 -6
  15. package/2x/cjs/components/picker/picker.css +10 -2
  16. package/2x/cjs/components/picker/picker.d.ts +1 -1
  17. package/2x/cjs/components/picker-view/picker-view.css +2 -1
  18. package/2x/cjs/components/picker-view/picker-view.d.ts +1 -1
  19. package/2x/cjs/components/popover/arrow.d.ts +3 -0
  20. package/2x/cjs/components/popover/arrow.js +26 -0
  21. package/2x/cjs/components/popover/index.d.ts +7 -15
  22. package/2x/cjs/components/popover/index.js +4 -2
  23. package/2x/cjs/components/popover/popover-menu.css +63 -0
  24. package/2x/cjs/components/popover/popover-menu.d.ts +20 -0
  25. package/{cjs/components/popover/pop-menu.js → 2x/cjs/components/popover/popover-menu.js} +23 -26
  26. package/2x/cjs/components/popover/popover.css +90 -318
  27. package/2x/cjs/components/popover/popover.d.ts +9 -8
  28. package/2x/cjs/components/popover/popover.js +11 -17
  29. package/2x/cjs/components/text-area/text-area.css +9 -9
  30. package/2x/cjs/components/text-area/text-area.d.ts +2 -2
  31. package/2x/cjs/components/text-area/text-area.js +40 -32
  32. package/2x/es/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  33. package/2x/es/components/date-picker/date-picker.d.ts +1 -1
  34. package/2x/es/components/date-picker-view/date-picker-view.d.ts +3 -2
  35. package/2x/es/components/form/form-item.css +3 -2
  36. package/2x/es/components/form/form-item.d.ts +2 -2
  37. package/2x/es/components/form/form-item.js +9 -5
  38. package/2x/es/components/form/form.css +3 -3
  39. package/2x/es/components/form/form.d.ts +5 -4
  40. package/2x/es/components/form/index.css +6 -5
  41. package/2x/es/components/form/index.d.ts +5 -4
  42. package/2x/es/components/input/input.d.ts +2 -2
  43. package/2x/es/components/input/input.js +3 -1
  44. package/2x/es/components/list/list.css +2 -6
  45. package/2x/es/components/picker/picker.css +10 -2
  46. package/2x/es/components/picker/picker.d.ts +1 -1
  47. package/2x/es/components/picker-view/picker-view.css +2 -1
  48. package/2x/es/components/picker-view/picker-view.d.ts +1 -1
  49. package/2x/es/components/popover/arrow.d.ts +3 -0
  50. package/2x/es/components/popover/arrow.js +12 -0
  51. package/2x/es/components/popover/index.d.ts +7 -15
  52. package/2x/es/components/popover/index.js +3 -2
  53. package/2x/es/components/popover/popover-menu.css +63 -0
  54. package/2x/es/components/popover/popover-menu.d.ts +20 -0
  55. package/2x/es/components/popover/popover-menu.js +52 -0
  56. package/2x/es/components/popover/popover.css +90 -318
  57. package/2x/es/components/popover/popover.d.ts +9 -8
  58. package/2x/es/components/popover/popover.js +10 -17
  59. package/2x/es/components/text-area/text-area.css +9 -9
  60. package/2x/es/components/text-area/text-area.d.ts +2 -2
  61. package/2x/es/components/text-area/text-area.js +40 -31
  62. package/2x/package.json +1 -1
  63. package/README.md +6 -6
  64. package/cjs/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  65. package/cjs/components/date-picker/date-picker.d.ts +1 -1
  66. package/cjs/components/date-picker-view/date-picker-view.d.ts +3 -2
  67. package/cjs/components/form/form-item.css +3 -2
  68. package/cjs/components/form/form-item.d.ts +2 -2
  69. package/cjs/components/form/form-item.js +9 -5
  70. package/cjs/components/form/form.css +3 -3
  71. package/cjs/components/form/form.d.ts +5 -4
  72. package/cjs/components/form/index.css +6 -5
  73. package/cjs/components/form/index.d.ts +5 -4
  74. package/cjs/components/input/input.d.ts +2 -2
  75. package/cjs/components/input/input.js +3 -1
  76. package/cjs/components/list/list.css +2 -5
  77. package/cjs/components/picker/picker.css +9 -2
  78. package/cjs/components/picker/picker.d.ts +1 -1
  79. package/cjs/components/picker-view/picker-view.css +2 -1
  80. package/cjs/components/picker-view/picker-view.d.ts +1 -1
  81. package/cjs/components/popover/arrow.d.ts +3 -0
  82. package/cjs/components/popover/arrow.js +26 -0
  83. package/cjs/components/popover/index.d.ts +7 -15
  84. package/cjs/components/popover/index.js +4 -2
  85. package/cjs/components/popover/popover-menu.css +52 -0
  86. package/cjs/components/popover/popover-menu.d.ts +20 -0
  87. package/{2x/cjs/components/popover/pop-menu.js → cjs/components/popover/popover-menu.js} +23 -26
  88. package/cjs/components/popover/popover.css +83 -276
  89. package/cjs/components/popover/popover.d.ts +9 -8
  90. package/cjs/components/popover/popover.js +11 -17
  91. package/cjs/components/text-area/text-area.css +9 -9
  92. package/cjs/components/text-area/text-area.d.ts +2 -2
  93. package/cjs/components/text-area/text-area.js +40 -32
  94. package/es/components/cascade-picker-view/cascade-picker-view.d.ts +1 -2
  95. package/es/components/date-picker/date-picker.d.ts +1 -1
  96. package/es/components/date-picker-view/date-picker-view.d.ts +3 -2
  97. package/es/components/form/form-item.css +3 -2
  98. package/es/components/form/form-item.d.ts +2 -2
  99. package/es/components/form/form-item.js +9 -5
  100. package/es/components/form/form.css +3 -3
  101. package/es/components/form/form.d.ts +5 -4
  102. package/es/components/form/index.css +6 -5
  103. package/es/components/form/index.d.ts +5 -4
  104. package/es/components/input/input.d.ts +2 -2
  105. package/es/components/input/input.js +3 -1
  106. package/es/components/list/list.css +2 -5
  107. package/es/components/picker/picker.css +9 -2
  108. package/es/components/picker/picker.d.ts +1 -1
  109. package/es/components/picker-view/picker-view.css +2 -1
  110. package/es/components/picker-view/picker-view.d.ts +1 -1
  111. package/es/components/popover/arrow.d.ts +3 -0
  112. package/es/components/popover/arrow.js +12 -0
  113. package/es/components/popover/index.d.ts +7 -15
  114. package/es/components/popover/index.js +3 -2
  115. package/es/components/popover/popover-menu.css +52 -0
  116. package/es/components/popover/popover-menu.d.ts +20 -0
  117. package/es/components/popover/popover-menu.js +52 -0
  118. package/es/components/popover/popover.css +83 -276
  119. package/es/components/popover/popover.d.ts +9 -8
  120. package/es/components/popover/popover.js +10 -17
  121. package/es/components/text-area/text-area.css +9 -9
  122. package/es/components/text-area/text-area.d.ts +2 -2
  123. package/es/components/text-area/text-area.js +40 -31
  124. package/package.json +1 -1
  125. package/umd/antd-mobile.js +1 -1
  126. package/2x/cjs/components/popover/animation.css +0 -111
  127. package/2x/cjs/components/popover/pop-menu.d.ts +0 -28
  128. package/2x/es/components/popover/animation.css +0 -111
  129. package/2x/es/components/popover/pop-menu.d.ts +0 -28
  130. package/2x/es/components/popover/pop-menu.js +0 -54
  131. package/cjs/components/popover/animation.css +0 -96
  132. package/cjs/components/popover/pop-menu.d.ts +0 -28
  133. package/es/components/popover/animation.css +0 -96
  134. package/es/components/popover/pop-menu.d.ts +0 -28
  135. package/es/components/popover/pop-menu.js +0 -54
@@ -0,0 +1,52 @@
1
+ .adm-popover-menu {
2
+ --border-color: var(--adm-border-color);
3
+ }
4
+ .adm-popover-menu.adm-popover {
5
+ --content-padding: 0;
6
+ }
7
+ .adm-popover-menu-list {
8
+ overflow: hidden;
9
+ min-width: 120px;
10
+ }
11
+ .adm-popover-menu-list-inner {
12
+ margin-top: -1px;
13
+ }
14
+ .adm-popover-menu-item {
15
+ display: flex;
16
+ padding-left: 20px;
17
+ justify-content: flex-start;
18
+ align-items: center;
19
+ position: relative;
20
+ }
21
+ .adm-popover-menu-item-icon {
22
+ flex: none;
23
+ padding-right: 8px;
24
+ font-size: 20px;
25
+ }
26
+ .adm-popover-menu-item-text {
27
+ flex: auto;
28
+ padding: 14px 20px 14px 0;
29
+ border-top: solid 1px var(--border-color);
30
+ }
31
+ .adm-popover-menu-item-disabled {
32
+ cursor: not-allowed;
33
+ }
34
+ .adm-popover-menu-item-disabled > * {
35
+ opacity: 0.4;
36
+ }
37
+ .adm-popover-menu-item:active:not(.adm-popover-menu-item-disabled) {
38
+ background-color: var(--border-color);
39
+ }
40
+ .adm-popover-menu-item:active:not(.adm-popover-menu-item-disabled)::after {
41
+ content: ' ';
42
+ display: block;
43
+ position: absolute;
44
+ width: 100%;
45
+ bottom: -1px;
46
+ left: 0;
47
+ border-bottom: solid 1px var(--border-color);
48
+ }
49
+ .adm-popover.adm-popover-dark.adm-popover-menu {
50
+ --border-color: #333333;
51
+ --background: rgba(0, 0, 0, 0.9);
52
+ }
@@ -0,0 +1,20 @@
1
+ import React, { ReactElement, Ref } from 'react';
2
+ import { PopoverProps, PopoverRef } from './popover';
3
+ export declare type Action = {
4
+ text: React.ReactNode;
5
+ icon?: React.ReactNode;
6
+ disabled?: boolean;
7
+ key?: string;
8
+ onClick?: () => void;
9
+ [key: string]: any;
10
+ };
11
+ export declare type PopoverMenuProps<T> = Omit<PopoverProps, 'content'> & {
12
+ actions: T[];
13
+ onAction?: (text: T) => void;
14
+ };
15
+ export declare const PopoverMenu: <T extends Action = Action>(props: Pick<PopoverProps, "children" | "style" | "visible" | "className" | "tabIndex" | "mode" | "align" | "getContainer" | "stopPropagation" | "trigger" | "defaultVisible" | "onVisibleChange" | "placement" | "destroyOnHide"> & {
16
+ actions: T[];
17
+ onAction?: ((text: T) => void) | undefined;
18
+ } & {
19
+ ref?: ((instance: PopoverRef | null) => void) | React.RefObject<PopoverRef> | null | undefined;
20
+ }) => ReactElement;
@@ -3,14 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PopMenu = void 0;
6
+ exports.PopoverMenu = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
 
12
- var _button = _interopRequireDefault(require("../button"));
13
-
14
12
  var _popover = require("./popover");
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -19,8 +17,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
17
 
20
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
19
 
22
- const classPrefix = `adm-popover`;
23
- const PopMenu = (0, _react.forwardRef)((props, ref) => {
20
+ const classPrefix = `adm-popover-menu`;
21
+ const PopoverMenu = (0, _react.forwardRef)((props, ref) => {
24
22
  const innerRef = (0, _react.useRef)(null);
25
23
  (0, _react.useImperativeHandle)(ref, () => innerRef.current, []);
26
24
  const onClick = (0, _react.useCallback)(e => {
@@ -37,36 +35,35 @@ const PopMenu = (0, _react.forwardRef)((props, ref) => {
37
35
  (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.hide();
38
36
  }, [props.onAction]);
39
37
  const overlay = (0, _react.useMemo)(() => {
40
- return _react.default.createElement(_react.default.Fragment, null, (props.actions || []).map((ele, index) => {
38
+ return _react.default.createElement("div", {
39
+ className: `${classPrefix}-list`
40
+ }, _react.default.createElement("div", {
41
+ className: `${classPrefix}-list-inner`
42
+ }, props.actions.map((action, index) => {
41
43
  var _a;
42
44
 
43
- return _react.default.createElement("div", {
44
- className: (0, _classnames.default)(`${classPrefix}-inner-menu`, {
45
- [`${classPrefix}-inner-menu-with-icon`]: !!ele.icon
46
- }),
47
- key: (_a = ele.key) !== null && _a !== void 0 ? _a : index
48
- }, _react.default.createElement(_button.default, {
49
- disabled: ele.disabled,
45
+ return _react.default.createElement("a", {
46
+ key: (_a = action.key) !== null && _a !== void 0 ? _a : index,
47
+ className: (0, _classnames.default)(`${classPrefix}-item`, 'adm-plain-anchor', action.disabled && `${classPrefix}-item-disabled`),
50
48
  onClick: () => {
51
49
  var _a;
52
50
 
53
- if (!ele.disabled) {
54
- onClick(ele);
55
- (_a = ele.onClick) === null || _a === void 0 ? void 0 : _a.call(ele);
56
- }
57
- },
58
- fill: 'none',
59
- block: true
60
- }, ele.icon && _react.default.createElement("span", {
61
- className: `${classPrefix}-inner-menu-icon`
62
- }, ele.icon), ele.text));
63
- }));
51
+ if (action.disabled) return;
52
+ onClick(action);
53
+ (_a = action.onClick) === null || _a === void 0 ? void 0 : _a.call(action);
54
+ }
55
+ }, action.icon && _react.default.createElement("div", {
56
+ className: `${classPrefix}-item-icon`
57
+ }, action.icon), _react.default.createElement("div", {
58
+ className: `${classPrefix}-item-text`
59
+ }, action.text));
60
+ })));
64
61
  }, [props.actions, onClick]);
65
62
  return _react.default.createElement(_popover.Popover, Object.assign({
66
63
  ref: innerRef
67
64
  }, props, {
68
- overlayClassName: (0, _classnames.default)(`${classPrefix}-menu`, props.overlayClassName),
65
+ className: (0, _classnames.default)(classPrefix, props.className),
69
66
  content: overlay
70
67
  }), props.children);
71
68
  });
72
- exports.PopMenu = PopMenu;
69
+ exports.PopoverMenu = PopoverMenu;
@@ -1,120 +1,26 @@
1
- @keyframes amSlideDownIn {
2
- 0% {
3
- transform: scaleY(0.8);
4
- transform-origin: 0% 0%;
5
- opacity: 0;
6
- }
7
- 100% {
8
- transform: scaleY(1);
9
- transform-origin: 0% 0%;
10
- opacity: 1;
11
- }
12
- }
13
- @keyframes amSlideDownOut {
14
- 0% {
15
- transform: scaleY(1);
16
- transform-origin: 0% 0%;
17
- opacity: 1;
18
- }
19
- 100% {
20
- transform: scaleY(0.8);
21
- transform-origin: 0% 0%;
22
- opacity: 0;
23
- }
24
- }
25
- @keyframes amSlideUpIn {
26
- 0% {
27
- transform: scaleY(0.8);
28
- transform-origin: 100% 100%;
29
- opacity: 0;
30
- }
31
- 100% {
32
- transform: scaleY(1);
33
- transform-origin: 100% 100%;
34
- opacity: 1;
35
- }
36
- }
37
- @keyframes amSlideUpOut {
38
- 0% {
39
- transform: scaleY(1);
40
- transform-origin: 100% 100%;
41
- opacity: 1;
42
- }
43
- 100% {
44
- transform: scaleY(0.8);
45
- transform-origin: 100% 100%;
46
- opacity: 0;
47
- }
48
- }
49
- @keyframes amSlideRightIn {
50
- 0% {
51
- transform: scaleX(0.8);
52
- transform-origin: 0% 0%;
53
- opacity: 0;
54
- }
55
- 100% {
56
- transform: scaleX(1);
57
- transform-origin: 0% 0%;
58
- opacity: 1;
59
- }
60
- }
61
- @keyframes amSlideRightOut {
62
- 0% {
63
- transform: scaleX(1);
64
- transform-origin: 0% 0%;
65
- opacity: 1;
66
- }
67
- 100% {
68
- transform: scaleX(0.8);
69
- transform-origin: 0% 0%;
70
- opacity: 0;
71
- }
72
- }
73
- @keyframes amSlideLeftIn {
74
- 0% {
75
- transform: scaleX(0.8);
76
- transform-origin: 100% 0%;
77
- opacity: 0;
78
- }
79
- 100% {
80
- transform: scaleX(1);
81
- transform-origin: 100% 0%;
82
- opacity: 1;
83
- }
84
- }
85
- @keyframes amSlideLeftOut {
86
- 0% {
87
- transform: scaleX(1);
88
- transform-origin: 100% 0%;
89
- opacity: 1;
90
- }
91
- 100% {
92
- transform: scaleX(0.8);
93
- transform-origin: 100% 0%;
94
- opacity: 0;
95
- }
96
- }
97
1
  .adm-popover {
98
2
  --z-index: var(--adm-popover-z-index, 1030);
3
+ --background: #ffffff;
4
+ --arrow-size: 8px;
5
+ --content-padding: 8px 12px;
99
6
  position: absolute;
100
7
  top: 0;
101
8
  left: 0;
102
9
  z-index: var(--z-index);
103
- font-weight: normal;
104
10
  white-space: normal;
105
11
  text-align: left;
106
12
  cursor: auto;
107
13
  user-select: text;
108
14
  animation: none;
109
15
  }
110
- .adm-popover-light {
111
- --popover-bg: #ffffff;
112
- }
113
- .adm-popover-dark {
114
- --popover-bg: rgba(0, 0, 0);
16
+ .adm-popover.adm-popover-dark {
17
+ --background: rgba(0, 0, 0, 0.75);
115
18
  --adm-color-text: #ffffff;
116
19
  color: white;
117
20
  }
21
+ .adm-popover.adm-popover-dark .adm-popover-inner {
22
+ box-shadow: none;
23
+ }
118
24
  .adm-popover::after {
119
25
  position: absolute;
120
26
  background: rgba(255, 255, 255, 0.01);
@@ -126,215 +32,116 @@
126
32
  .adm-popover-placement-top,
127
33
  .adm-popover-placement-topLeft,
128
34
  .adm-popover-placement-topRight {
129
- padding-bottom: 12px;
35
+ padding-bottom: var(--arrow-size);
36
+ }
37
+ .adm-popover-placement-top .adm-popover-arrow,
38
+ .adm-popover-placement-topLeft .adm-popover-arrow,
39
+ .adm-popover-placement-topRight .adm-popover-arrow {
40
+ bottom: 0;
41
+ --arrow-icon-rotate: 0deg;
42
+ }
43
+ .adm-popover-placement-top .adm-popover-arrow {
44
+ left: 50%;
45
+ transform: translateX(-50%);
130
46
  }
131
- .adm-popover-placement-top.leaving,
132
- .adm-popover-placement-topLeft.leaving,
133
- .adm-popover-placement-topRight.leaving {
134
- animation-name: amSlideUpOut;
135
- animation-duration: 200ms;
47
+ .adm-popover-placement-topLeft .adm-popover-arrow {
48
+ left: 12px;
136
49
  }
137
- .adm-popover-placement-top.entering,
138
- .adm-popover-placement-topLeft.entering,
139
- .adm-popover-placement-topRight.entering {
140
- animation-name: amSlideUpIn;
141
- animation-duration: 200ms;
50
+ .adm-popover-placement-topRight .adm-popover-arrow {
51
+ right: 12px;
142
52
  }
143
53
  .adm-popover-placement-right,
144
54
  .adm-popover-placement-rightTop,
145
55
  .adm-popover-placement-rightBottom {
146
- padding-left: 12px;
56
+ padding-left: var(--arrow-size);
57
+ }
58
+ .adm-popover-placement-right .adm-popover-arrow,
59
+ .adm-popover-placement-rightTop .adm-popover-arrow,
60
+ .adm-popover-placement-rightBottom .adm-popover-arrow {
61
+ left: 0;
62
+ --arrow-icon-rotate: 90deg;
63
+ }
64
+ .adm-popover-placement-right .adm-popover-arrow {
65
+ top: 50%;
66
+ transform: translateY(-50%);
147
67
  }
148
- .adm-popover-placement-right.leaving,
149
- .adm-popover-placement-rightTop.leaving,
150
- .adm-popover-placement-rightBottom.leaving {
151
- animation-name: amSlideRightOut;
152
- animation-duration: 200ms;
68
+ .adm-popover-placement-rightTop .adm-popover-arrow {
69
+ top: 12px;
153
70
  }
154
- .adm-popover-placement-right.entering,
155
- .adm-popover-placement-rightTop.entering,
156
- .adm-popover-placement-rightBottom.entering {
157
- animation-name: amSlideRightIn;
158
- animation-duration: 200ms;
71
+ .adm-popover-placement-rightBottom .adm-popover-arrow {
72
+ bottom: 12px;
159
73
  }
160
74
  .adm-popover-placement-bottom,
161
75
  .adm-popover-placement-bottomLeft,
162
76
  .adm-popover-placement-bottomRight {
163
- padding-top: 12px;
77
+ padding-top: var(--arrow-size);
164
78
  }
165
- .adm-popover-placement-bottom.leaving,
166
- .adm-popover-placement-bottomLeft.leaving,
167
- .adm-popover-placement-bottomRight.leaving {
168
- animation-name: amSlideDownOut;
169
- animation-duration: 200ms;
79
+ .adm-popover-placement-bottom .adm-popover-arrow,
80
+ .adm-popover-placement-bottomLeft .adm-popover-arrow,
81
+ .adm-popover-placement-bottomRight .adm-popover-arrow {
82
+ top: 0;
83
+ --arrow-icon-rotate: 180deg;
170
84
  }
171
- .adm-popover-placement-bottom.entering,
172
- .adm-popover-placement-bottomLeft.entering,
173
- .adm-popover-placement-bottomRight.entering {
174
- animation-name: amSlideDownIn;
175
- animation-duration: 200ms;
85
+ .adm-popover-placement-bottom .adm-popover-arrow {
86
+ left: 50%;
87
+ transform: translateX(-50%);
88
+ }
89
+ .adm-popover-placement-bottomLeft .adm-popover-arrow {
90
+ left: 12px;
91
+ }
92
+ .adm-popover-placement-bottomRight .adm-popover-arrow {
93
+ right: 12px;
176
94
  }
177
95
  .adm-popover-placement-left,
178
96
  .adm-popover-placement-leftTop,
179
97
  .adm-popover-placement-leftBottom {
180
- padding-right: 12px;
98
+ padding-right: var(--arrow-size);
99
+ }
100
+ .adm-popover-placement-left .adm-popover-arrow,
101
+ .adm-popover-placement-leftTop .adm-popover-arrow,
102
+ .adm-popover-placement-leftBottom .adm-popover-arrow {
103
+ right: 0;
104
+ --arrow-icon-rotate: 270deg;
181
105
  }
182
- .adm-popover-placement-left.leaving,
183
- .adm-popover-placement-leftTop.leaving,
184
- .adm-popover-placement-leftBottom.leaving {
185
- animation-name: amSlideLeftOut;
186
- animation-duration: 200ms;
106
+ .adm-popover-placement-left .adm-popover-arrow {
107
+ top: 50%;
108
+ transform: translateY(-50%);
187
109
  }
188
- .adm-popover-placement-left.entering,
189
- .adm-popover-placement-leftTop.entering,
190
- .adm-popover-placement-leftBottom.entering {
191
- animation-name: amSlideLeftIn;
192
- animation-duration: 200ms;
110
+ .adm-popover-placement-leftTop .adm-popover-arrow {
111
+ top: 12px;
112
+ }
113
+ .adm-popover-placement-leftBottom .adm-popover-arrow {
114
+ bottom: 12px;
193
115
  }
194
116
  .adm-popover-inner {
195
- background-color: var(--popover-bg);
117
+ background-color: var(--background);
196
118
  background-clip: padding-box;
197
- border-radius: 4px;
198
- box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
199
- box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) \9;
119
+ border-radius: 8px;
120
+ box-shadow: 0 0 30px 0 rgba(51, 51, 51, 0.2);
121
+ font-size: 15px;
200
122
  min-width: 32px;
201
- min-height: 32px;
202
123
  overflow-y: hidden;
203
124
  }
204
125
  .adm-popover-inner-content {
205
- padding: 12px;
206
- }
207
- .adm-popover-inner-menu {
208
- min-width: 120px;
209
- display: flex;
210
- justify-content: center;
211
- align-items: center;
212
- cursor: pointer;
213
- border-bottom: 1px solid var(--adm-border-color);
214
- }
215
- .adm-popover-inner-menu-with-icon {
216
- min-width: 140px;
217
- }
218
- .adm-popover-inner-menu-icon {
219
- margin-right: 12px;
220
- font-size: 20px;
221
- line-height: 1;
222
- vertical-align: -0.075em;
223
- }
224
- .adm-popover-inner-menu:last-child {
225
- border-bottom: none;
226
- }
227
- .adm-popover-inner-menu button {
228
- border-radius: 0;
229
- padding: 10px 12px;
230
- text-align: left;
231
- }
232
- .adm-popover-menu .adm-popover-inner-content {
233
- padding: 0;
234
- }
235
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
236
- .adm-popover {
237
- /* IE10+ */
238
- }
239
- .adm-popover-inner {
240
- box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
241
- }
126
+ padding: var(--content-padding);
242
127
  }
243
128
  .adm-popover-arrow {
244
129
  position: absolute;
245
130
  display: block;
246
- width: 16.97056275px;
247
- height: 16.97056275px;
131
+ height: var(--arrow-size);
132
+ width: var(--arrow-size);
133
+ overflow: visible;
248
134
  background: transparent;
249
135
  }
250
- .adm-popover-arrow-content {
251
- position: absolute;
252
- width: 12px;
253
- height: 12px;
254
- inset: 0;
136
+ .adm-popover-arrow-icon {
255
137
  display: block;
256
- margin: auto;
257
- background-color: var(--popover-bg);
258
- content: '';
259
- pointer-events: auto;
260
- }
261
- .adm-popover-placement-top > .adm-popover-content > .adm-popover-arrow,
262
- .adm-popover-placement-topLeft > .adm-popover-content > .adm-popover-arrow,
263
- .adm-popover-placement-topRight > .adm-popover-content > .adm-popover-arrow {
264
- bottom: 1px;
265
- }
266
- .adm-popover-placement-top > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
267
- .adm-popover-placement-topLeft > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
268
- .adm-popover-placement-topRight > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content {
269
- transform: translateY(-4.24264069px) rotate(45deg);
270
- }
271
- .adm-popover-placement-top > .adm-popover-content > .adm-popover-arrow {
272
- left: 50%;
273
- transform: translateX(-50%);
274
- }
275
- .adm-popover-placement-topLeft > .adm-popover-content > .adm-popover-arrow {
276
- left: 16px;
277
- }
278
- .adm-popover-placement-topRight > .adm-popover-content > .adm-popover-arrow {
279
- right: 16px;
280
- }
281
- .adm-popover-placement-right > .adm-popover-content > .adm-popover-arrow,
282
- .adm-popover-placement-rightTop > .adm-popover-content > .adm-popover-arrow,
283
- .adm-popover-placement-rightBottom > .adm-popover-content > .adm-popover-arrow {
284
- left: 1px;
285
- }
286
- .adm-popover-placement-right > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
287
- .adm-popover-placement-rightTop > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
288
- .adm-popover-placement-rightBottom > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content {
289
- transform: translate(4.24264069px) rotate(45deg);
290
- }
291
- .adm-popover-placement-right > .adm-popover-content > .adm-popover-arrow {
138
+ height: var(--arrow-size);
139
+ width: 15px;
140
+ position: absolute;
292
141
  top: 50%;
293
- transform: translateY(-50%);
294
- }
295
- .adm-popover-placement-rightTop > .adm-popover-content > .adm-popover-arrow {
296
- top: 12px;
297
- }
298
- .adm-popover-placement-rightBottom > .adm-popover-content > .adm-popover-arrow {
299
- bottom: 12px;
300
- }
301
- .adm-popover-placement-bottom > .adm-popover-content > .adm-popover-arrow,
302
- .adm-popover-placement-bottomLeft > .adm-popover-content > .adm-popover-arrow,
303
- .adm-popover-placement-bottomRight > .adm-popover-content > .adm-popover-arrow {
304
- top: 1px;
305
- }
306
- .adm-popover-placement-bottom > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
307
- .adm-popover-placement-bottomLeft > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
308
- .adm-popover-placement-bottomRight > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content {
309
- transform: translateY(4.24264069px) rotate(45deg);
310
- }
311
- .adm-popover-placement-bottom > .adm-popover-content > .adm-popover-arrow {
312
142
  left: 50%;
313
- transform: translateX(-50%);
314
- }
315
- .adm-popover-placement-bottomLeft > .adm-popover-content > .adm-popover-arrow {
316
- left: 16px;
143
+ transform: translate(-50%, -50%) rotate(var(--arrow-icon-rotate));
317
144
  }
318
- .adm-popover-placement-bottomRight > .adm-popover-content > .adm-popover-arrow {
319
- right: 16px;
320
- }
321
- .adm-popover-placement-left > .adm-popover-content > .adm-popover-arrow,
322
- .adm-popover-placement-leftTop > .adm-popover-content > .adm-popover-arrow,
323
- .adm-popover-placement-leftBottom > .adm-popover-content > .adm-popover-arrow {
324
- right: 1px;
325
- }
326
- .adm-popover-placement-left > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
327
- .adm-popover-placement-leftTop > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content,
328
- .adm-popover-placement-leftBottom > .adm-popover-content > .adm-popover-arrow > .adm-popover-arrow-content {
329
- transform: translate(-4.24264069px) rotate(45deg);
330
- }
331
- .adm-popover-placement-left > .adm-popover-content > .adm-popover-arrow {
332
- top: 50%;
333
- transform: translateY(-50%);
334
- }
335
- .adm-popover-placement-leftTop > .adm-popover-content > .adm-popover-arrow {
336
- top: 12px;
337
- }
338
- .adm-popover-placement-leftBottom > .adm-popover-content > .adm-popover-arrow {
339
- bottom: 12px;
145
+ .adm-popover .adm-popover-arrow {
146
+ color: var(--background);
340
147
  }
@@ -2,28 +2,29 @@ import React, { ReactElement } from 'react';
2
2
  import type { TooltipProps } from 'rc-tooltip/lib/Tooltip';
3
3
  import { NativeProps } from '../../utils/native-props';
4
4
  import { PropagationEvent } from '../../utils/with-stop-propagation';
5
- export declare type BasePopoverProps = {
6
- getContainer?: () => HTMLElement;
5
+ import { GetContainer } from '../../utils/render-to-container';
6
+ export declare type PopoverProps = {
7
+ getContainer?: GetContainer;
7
8
  destroyOnHide?: boolean;
8
9
  children: ReactElement;
9
10
  mode?: 'light' | 'dark';
10
11
  trigger?: 'click';
11
- placement: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
12
+ placement?: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
12
13
  stopPropagation?: PropagationEvent[];
13
- } & Pick<TooltipProps, 'defaultVisible' | 'visible' | 'onVisibleChange' | 'overlayStyle' | 'overlayClassName' | 'align' | 'zIndex'> & NativeProps<'--z-index'>;
14
+ content: React.ReactNode;
15
+ } & Pick<TooltipProps, 'defaultVisible' | 'visible' | 'onVisibleChange' | 'align'> & NativeProps<'--z-index'>;
14
16
  export declare type PopoverRef = {
15
17
  show: () => void;
16
18
  hide: () => void;
17
19
  visible: boolean;
18
20
  };
19
21
  export declare const Popover: React.ForwardRefExoticComponent<{
20
- getContainer?: (() => HTMLElement) | undefined;
22
+ getContainer?: HTMLElement | (() => HTMLElement) | null | undefined;
21
23
  destroyOnHide?: boolean | undefined;
22
24
  children: ReactElement;
23
25
  mode?: "dark" | "light" | undefined;
24
26
  trigger?: "click" | undefined;
25
- placement: 'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
27
+ placement?: "left" | "right" | "bottom" | "top" | "topLeft" | "topRight" | "bottomLeft" | "bottomRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | undefined;
26
28
  stopPropagation?: "click"[] | undefined;
27
- } & Pick<TooltipProps, "visible" | "zIndex" | "align" | "defaultVisible" | "onVisibleChange" | "overlayStyle" | "overlayClassName"> & NativeProps<"--z-index"> & {
28
29
  content: React.ReactNode;
29
- } & React.RefAttributes<PopoverRef>>;
30
+ } & Pick<TooltipProps, "visible" | "align" | "defaultVisible" | "onVisibleChange"> & NativeProps<"--z-index"> & React.RefAttributes<PopoverRef>>;
@@ -17,6 +17,8 @@ var _withDefaultProps = require("../../utils/with-default-props");
17
17
 
18
18
  var _withStopPropagation = require("../../utils/with-stop-propagation");
19
19
 
20
+ var _arrow = require("./arrow");
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -24,11 +26,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
24
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
27
 
26
28
  const classPrefix = `adm-popover`;
27
- const enterClassName = 'entering';
28
- const leaveClassName = 'leaving';
29
29
  const defaultProps = {
30
+ placement: 'top',
30
31
  defaultVisible: false,
31
- stopPropagation: ['click']
32
+ stopPropagation: ['click'],
33
+ getContainer: () => document.body
32
34
  };
33
35
  const Popover = (0, _react.forwardRef)((p, ref) => {
34
36
  var _a;
@@ -53,27 +55,19 @@ const Popover = (0, _react.forwardRef)((p, ref) => {
53
55
  className: `${classPrefix}-inner-content`
54
56
  }, props.content));
55
57
  return _react.default.createElement(_rcTooltip.default, Object.assign({}, props, {
56
- overlayClassName: (0, _classnames.default)(`${classPrefix}-${mode}`, props.overlayClassName),
58
+ placement: props.placement,
59
+ align: props.align,
60
+ overlayClassName: (0, _classnames.default)(`${classPrefix}-${mode}`, props.className),
61
+ overlayStyle: props.style,
57
62
  destroyTooltipOnHide: props.destroyOnHide,
58
63
  prefixCls: classPrefix,
59
64
  getTooltipContainer: props.getContainer || (() => document.body),
60
65
  visible: visible,
61
- arrowContent: _react.default.createElement("span", {
62
- className: `${classPrefix}-arrow-content`
66
+ arrowContent: _react.default.createElement(_arrow.Arrow, {
67
+ className: `${classPrefix}-arrow-icon`
63
68
  }),
64
69
  onVisibleChange: setVisible,
65
70
  trigger: (_a = props.trigger) !== null && _a !== void 0 ? _a : [],
66
- motion: {
67
- motionName: {
68
- appear: enterClassName,
69
- appearActive: enterClassName,
70
- enter: enterClassName,
71
- enterActive: enterClassName,
72
- leaveActive: leaveClassName,
73
- leave: leaveClassName
74
- },
75
- motionDeadline: 200
76
- },
77
71
  overlay: overlay
78
72
  }), props.children);
79
73
  });