@qsxy/element-plus-react 1.0.1 → 1.0.3

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 (256) hide show
  1. package/dist/Alert/Alert.d.ts +7 -0
  2. package/dist/Alert/Alert.js +98 -0
  3. package/dist/Alert/index.d.ts +2 -0
  4. package/dist/Alert/index.js +1 -0
  5. package/dist/Alert/typings.d.ts +45 -0
  6. package/dist/Alert/typings.js +1 -0
  7. package/dist/Calendar/Calendar.js +12 -3
  8. package/dist/Calendar/Footer.js +4 -2
  9. package/dist/Calendar/QuarterPanel.d.ts +4 -0
  10. package/dist/Calendar/QuarterPanel.js +109 -0
  11. package/dist/Calendar/WeekPanel.js +1 -1
  12. package/dist/Calendar/typings.d.ts +1 -1
  13. package/dist/Card/Card.js +13 -6
  14. package/dist/Card/typings.d.ts +1 -1
  15. package/dist/Cascader/Cascader.js +1 -1
  16. package/dist/Cascader/useCascader.d.ts +0 -14
  17. package/dist/Cascader/useCascader.js +33 -32
  18. package/dist/Checkbox/Checkbox.js +3 -2
  19. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  20. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  21. package/dist/ConfigProvider/typings.d.ts +1 -1
  22. package/dist/Container/Main.d.ts +1 -1
  23. package/dist/Container/typings.d.ts +1 -1
  24. package/dist/DatePicker/DatePicker.js +38 -12
  25. package/dist/DatePicker/DateRangePicker.js +27 -9
  26. package/dist/DatePicker/main.js +1 -1
  27. package/dist/DatePicker/typings.d.ts +1 -1
  28. package/dist/DateTimePicker/DateTimePicker.js +2 -2
  29. package/dist/Dialog/Dialog.js +5 -12
  30. package/dist/Input/Input.js +190 -149
  31. package/dist/Input/InputRange.js +1 -1
  32. package/dist/Input/TextArea.js +87 -12
  33. package/dist/Input/typings.d.ts +56 -5
  34. package/dist/Input/useComposition.d.ts +23 -0
  35. package/dist/Input/useComposition.js +63 -0
  36. package/dist/Input/utils.d.ts +7 -0
  37. package/dist/Input/utils.js +95 -0
  38. package/dist/InputNumber/InputNumber.js +351 -141
  39. package/dist/InputNumber/typings.d.ts +16 -2
  40. package/dist/Loading/Loading.js +5 -2
  41. package/dist/Menu/Menu.js +25 -1
  42. package/dist/Menu/MenuItem.js +4 -2
  43. package/dist/Menu/SubMenu.js +2 -2
  44. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  45. package/dist/Menu/typings.d.ts +2 -1
  46. package/dist/Message/Message.js +51 -23
  47. package/dist/Message/index.js +8 -10
  48. package/dist/Message/typings.d.ts +8 -5
  49. package/dist/MessageBox/MessageBox.js +52 -30
  50. package/dist/MessageBox/index.d.ts +2 -1
  51. package/dist/MessageBox/index.js +4 -2
  52. package/dist/MessageBox/typings.d.ts +3 -0
  53. package/dist/Notification/Notification.js +26 -19
  54. package/dist/Select/Option.js +30 -14
  55. package/dist/Select/SelectContext.d.ts +5 -5
  56. package/dist/Select/SelectContext.js +2 -1
  57. package/dist/Select/SelectCore.d.ts +2 -2
  58. package/dist/Select/SelectCore.js +172 -449
  59. package/dist/Select/SelectDropdown.js +85 -155
  60. package/dist/Select/index.d.ts +1 -1
  61. package/dist/Select/typings.d.ts +52 -22
  62. package/dist/Select/useSelect.d.ts +128 -0
  63. package/dist/Select/useSelect.js +524 -0
  64. package/dist/Space/Space.d.ts +4 -0
  65. package/dist/Space/Space.js +128 -0
  66. package/dist/Space/SpaceItem.d.ts +7 -0
  67. package/dist/Space/SpaceItem.js +14 -0
  68. package/dist/Space/index.d.ts +3 -0
  69. package/dist/Space/index.js +2 -0
  70. package/dist/Space/typings.d.ts +26 -0
  71. package/dist/Space/typings.js +1 -0
  72. package/dist/Space/useSpace.d.ts +7 -0
  73. package/dist/Space/useSpace.js +104 -0
  74. package/dist/Statistic/Statistic.d.ts +4 -0
  75. package/dist/Statistic/Statistic.js +92 -0
  76. package/dist/Statistic/index.d.ts +2 -0
  77. package/dist/Statistic/index.js +1 -0
  78. package/dist/Statistic/typings.d.ts +28 -0
  79. package/dist/Statistic/typings.js +1 -0
  80. package/dist/Switch/Switch.js +2 -2
  81. package/dist/Table/Table.js +3 -0
  82. package/dist/Table/typings.d.ts +2 -0
  83. package/dist/Table/util.js +6 -5
  84. package/dist/Tag/Tag.js +22 -17
  85. package/dist/Tag/typings.d.ts +1 -1
  86. package/dist/Text/Text.d.ts +4 -0
  87. package/dist/Text/Text.js +84 -0
  88. package/dist/Text/index.d.ts +2 -0
  89. package/dist/Text/index.js +1 -0
  90. package/dist/Text/typings.d.ts +15 -0
  91. package/dist/Text/typings.js +1 -0
  92. package/dist/TimePicker/TimePicker.js +2 -2
  93. package/dist/Tree/CollapseTransition.d.ts +7 -0
  94. package/dist/Tree/CollapseTransition.js +60 -0
  95. package/dist/Tree/Tree.d.ts +3 -140
  96. package/dist/Tree/Tree.js +350 -77
  97. package/dist/Tree/TreeContext.d.ts +9 -0
  98. package/dist/Tree/TreeContext.js +14 -0
  99. package/dist/Tree/TreeNode.d.ts +5 -3
  100. package/dist/Tree/TreeNode.js +321 -331
  101. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  102. package/dist/Tree/TreeNodeContent.js +22 -0
  103. package/dist/Tree/index.d.ts +3 -8
  104. package/dist/Tree/index.js +1 -4
  105. package/dist/Tree/model/node.d.ts +62 -0
  106. package/dist/Tree/model/node.js +601 -0
  107. package/dist/Tree/model/tree-store.d.ts +52 -0
  108. package/dist/Tree/model/tree-store.js +510 -0
  109. package/dist/Tree/model/useDragNode.d.ts +30 -0
  110. package/dist/Tree/model/useDragNode.js +293 -0
  111. package/dist/Tree/model/useKeydown.d.ts +0 -0
  112. package/dist/Tree/model/useKeydown.js +104 -0
  113. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  114. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  115. package/dist/Tree/model/util.d.ts +7 -0
  116. package/dist/Tree/model/util.js +24 -0
  117. package/dist/Tree/typings.d.ts +225 -114
  118. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  119. package/dist/TreeSelect/TreeSelect.js +90 -566
  120. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  121. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  122. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  123. package/dist/TreeSelect/cacheOptions.js +22 -0
  124. package/dist/TreeSelect/index.d.ts +0 -1
  125. package/dist/TreeSelect/typings.d.ts +11 -63
  126. package/dist/TreeSelect/useSelect.d.ts +125 -0
  127. package/dist/TreeSelect/useSelect.js +104 -0
  128. package/dist/TreeSelect/useTree.d.ts +130 -0
  129. package/dist/TreeSelect/useTree.js +285 -0
  130. package/dist/TreeSelect/utils.d.ts +10 -0
  131. package/dist/TreeSelect/utils.js +38 -0
  132. package/dist/Upload/UploadContent.js +2 -0
  133. package/dist/Upload/ajax.js +3 -0
  134. package/dist/Upload/typings.d.ts +4 -0
  135. package/dist/Util/aria.d.ts +25 -0
  136. package/dist/Util/aria.js +118 -0
  137. package/dist/Util/base.d.ts +5 -0
  138. package/dist/Util/base.js +140 -1
  139. package/dist/config/Constants.d.ts +3 -0
  140. package/dist/config/Constants.js +8 -0
  141. package/dist/hooks/index.d.ts +1 -0
  142. package/dist/hooks/index.js +1 -0
  143. package/dist/hooks/popperPropsUtils.js +1 -1
  144. package/dist/hooks/treePropsUtils.d.ts +3 -3
  145. package/dist/hooks/treePropsUtils.js +2 -2
  146. package/dist/hooks/useCalcInputWidth.d.ts +8 -0
  147. package/dist/{Tree/useUnmount.js → hooks/useCalcInputWidth.js} +23 -27
  148. package/dist/hooks/useComposition.d.ts +16 -0
  149. package/dist/hooks/useComposition.js +39 -0
  150. package/dist/hooks/useConfigProvider.d.ts +27 -0
  151. package/dist/hooks/useConfigProvider.js +78 -0
  152. package/dist/hooks/useCursor.d.ts +2 -0
  153. package/dist/hooks/useCursor.js +52 -0
  154. package/dist/hooks/useFocusController.d.ts +27 -0
  155. package/dist/hooks/useFocusController.js +72 -0
  156. package/dist/hooks/useResizeObserver.js +6 -6
  157. package/dist/index.css +1 -1
  158. package/dist/index.d.ts +18 -11
  159. package/dist/index.js +11 -5
  160. package/dist/locale/en.d.ts +15 -0
  161. package/dist/locale/en.js +15 -0
  162. package/dist/locale/zhCn.d.ts +15 -0
  163. package/dist/locale/zhCn.js +15 -0
  164. package/package.json +1 -1
  165. package/theme-chalk/alert.scss +115 -0
  166. package/theme-chalk/aside.scss +8 -8
  167. package/theme-chalk/button-group.scss +80 -80
  168. package/theme-chalk/button.scss +304 -304
  169. package/theme-chalk/calendar/date-table.scss +164 -164
  170. package/theme-chalk/calendar/index.scss +1 -0
  171. package/theme-chalk/calendar/quarter-table.scss +78 -0
  172. package/theme-chalk/checkbox.scss +34 -0
  173. package/theme-chalk/color/index.scss +20 -20
  174. package/theme-chalk/common/transition.scss +142 -142
  175. package/theme-chalk/common/var.scss +1 -1
  176. package/theme-chalk/container.scss +14 -14
  177. package/theme-chalk/dark/css-vars.scss +39 -39
  178. package/theme-chalk/dark/var.scss +225 -225
  179. package/theme-chalk/date-picker.scss +12 -12
  180. package/theme-chalk/drawer.scss +1 -0
  181. package/theme-chalk/footer.scss +12 -12
  182. package/theme-chalk/header.scss +12 -12
  183. package/theme-chalk/index.scss +4 -0
  184. package/theme-chalk/input/input-range.scss +2 -1
  185. package/theme-chalk/input/input.scss +298 -437
  186. package/theme-chalk/input/input.scss--bak +578 -0
  187. package/theme-chalk/input-number.bak +172 -0
  188. package/theme-chalk/input-number.scss +192 -172
  189. package/theme-chalk/link.scss +87 -87
  190. package/theme-chalk/main.scss +14 -14
  191. package/theme-chalk/menu.scss +353 -353
  192. package/theme-chalk/message.scss +104 -178
  193. package/theme-chalk/mixins/_button.scss +224 -224
  194. package/theme-chalk/mixins/_col.scss +33 -33
  195. package/theme-chalk/mixins/_var.scss +67 -67
  196. package/theme-chalk/mixins/config.scss +5 -5
  197. package/theme-chalk/mixins/function.scss +99 -99
  198. package/theme-chalk/mixins/mixins.scss +240 -240
  199. package/theme-chalk/mixins/utils.scss +39 -39
  200. package/theme-chalk/notification.bak +156 -0
  201. package/theme-chalk/notification.scss +109 -156
  202. package/theme-chalk/popper.scss +104 -104
  203. package/theme-chalk/radio-button.scss +169 -169
  204. package/theme-chalk/select/index.scss +222 -191
  205. package/theme-chalk/select/index.scss--bak +247 -0
  206. package/theme-chalk/select/option-group.scss +2 -2
  207. package/theme-chalk/select/option.scss +2 -2
  208. package/theme-chalk/select/select-dropdown.scss +2 -2
  209. package/theme-chalk/space.scss +20 -0
  210. package/theme-chalk/statistic.scss +35 -0
  211. package/theme-chalk/switch.scss +300 -300
  212. package/theme-chalk/tag.scss +150 -172
  213. package/theme-chalk/tag.scss--bak +203 -0
  214. package/theme-chalk/text.scss +48 -0
  215. package/theme-chalk/transition.scss +34 -4
  216. package/theme-chalk/tree-select.scss +41 -25
  217. package/theme-chalk/tree.scss +136 -0
  218. package/theme-chalk/var.scss +83 -83
  219. package/dist/Tree/DirectoryTree.d.ts +0 -15
  220. package/dist/Tree/DirectoryTree.js +0 -183
  221. package/dist/Tree/DropIndicator.d.ts +0 -8
  222. package/dist/Tree/DropIndicator.js +0 -34
  223. package/dist/Tree/Indent.d.ts +0 -9
  224. package/dist/Tree/Indent.js +0 -25
  225. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  226. package/dist/Tree/MotionTreeNode.js +0 -125
  227. package/dist/Tree/NodeList.d.ts +0 -50
  228. package/dist/Tree/NodeList.js +0 -301
  229. package/dist/Tree/RCTree.d.ts +0 -248
  230. package/dist/Tree/RCTree.js +0 -1216
  231. package/dist/Tree/contextTypes.d.ts +0 -69
  232. package/dist/Tree/contextTypes.js +0 -9
  233. package/dist/Tree/typings.tsx--bak +0 -245
  234. package/dist/Tree/useUnmount.d.ts +0 -5
  235. package/dist/Tree/util.d.ts +0 -51
  236. package/dist/Tree/util.js +0 -303
  237. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  238. package/dist/Tree/utils/conductUtil.js +0 -209
  239. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  240. package/dist/Tree/utils/dictUtil.js +0 -75
  241. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  242. package/dist/Tree/utils/diffUtil.js +0 -48
  243. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  244. package/dist/Tree/utils/dropIndicator.js +0 -36
  245. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  246. package/dist/Tree/utils/iconUtil.js +0 -62
  247. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  248. package/dist/Tree/utils/keyUtil.js +0 -3
  249. package/dist/Tree/utils/motion.d.ts +0 -10
  250. package/dist/Tree/utils/motion.js +0 -54
  251. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  252. package/dist/Tree/utils/pickAttrs.js +0 -51
  253. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  254. package/dist/Tree/utils/treeUtil.js +0 -364
  255. package/dist/TreeSelect/Utils.d.ts +0 -3
  256. package/dist/TreeSelect/Utils.js +0 -20
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { AlertProps } from './typings';
3
+ declare const Alert: {
4
+ (props: AlertProps): React.JSX.Element;
5
+ displayName: string;
6
+ };
7
+ export default Alert;
@@ -0,0 +1,98 @@
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
2
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+ 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; }
7
+ 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; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ import classNames from 'classnames';
10
+ import React, { useMemo, useState } from 'react';
11
+ import Icon from "../Icon/Icon";
12
+ import Transition from "../Transition/Transition";
13
+ import { mergeDefaultProps } from "../Util";
14
+ import { TypeComponentsMap } from "../config/Constants";
15
+ import { useClassNames } from "../hooks";
16
+ var Alert = function Alert(props) {
17
+ props = mergeDefaultProps({
18
+ type: 'info',
19
+ closable: true,
20
+ effect: 'light'
21
+ }, props);
22
+ var _props = props,
23
+ title = _props.title,
24
+ description = _props.description,
25
+ type = _props.type,
26
+ closable = _props.closable,
27
+ closeText = _props.closeText,
28
+ showIcon = _props.showIcon,
29
+ center = _props.center,
30
+ effect = _props.effect,
31
+ onClose = _props.onClose,
32
+ icon = _props.icon,
33
+ children = _props.children,
34
+ className = _props.className,
35
+ style = _props.style;
36
+ var _useClassNames = useClassNames('alert'),
37
+ b = _useClassNames.b,
38
+ e = _useClassNames.e,
39
+ m = _useClassNames.m,
40
+ is = _useClassNames.is;
41
+ var _useState = useState(true),
42
+ _useState2 = _slicedToArray(_useState, 2),
43
+ visible = _useState2[0],
44
+ setVisible = _useState2[1];
45
+ var nodeRef = React.useRef(null);
46
+ var hasDesc = useMemo(function () {
47
+ if (description) {
48
+ return true;
49
+ }
50
+ if (children) {
51
+ return React.Children.toArray(children).some(function (child) {
52
+ return ! /*#__PURE__*/React.isValidElement(child);
53
+ });
54
+ }
55
+ return false;
56
+ }, [description, children]);
57
+ var handleClose = function handleClose(evt) {
58
+ setVisible(false);
59
+ onClose === null || onClose === void 0 || onClose(evt.nativeEvent);
60
+ };
61
+ return /*#__PURE__*/React.createElement(Transition, {
62
+ visible: visible,
63
+ name: b(_templateObject || (_templateObject = _taggedTemplateLiteral(["fade"]))),
64
+ duration: 300,
65
+ nodeRef: nodeRef,
66
+ display: "flex"
67
+ }, /*#__PURE__*/React.createElement("div", {
68
+ ref: nodeRef,
69
+ className: classNames(b(), m(type), is({
70
+ center: center
71
+ }, effect), className),
72
+ role: "alert",
73
+ style: style
74
+ }, showIcon && (icon || TypeComponentsMap[type]) && /*#__PURE__*/React.createElement(Icon, {
75
+ name: icon || TypeComponentsMap[type],
76
+ prefix: "fas",
77
+ className: classNames(e('icon'), is({
78
+ big: hasDesc
79
+ }))
80
+ }), /*#__PURE__*/React.createElement("div", {
81
+ className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["content"])))
82
+ }, title && /*#__PURE__*/React.createElement("span", {
83
+ className: classNames(e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["title"]))), {
84
+ 'with-description': hasDesc
85
+ })
86
+ }, title), hasDesc && /*#__PURE__*/React.createElement("p", {
87
+ className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["description"])))
88
+ }, description), closable && /*#__PURE__*/React.createElement(React.Fragment, null, closeText ? /*#__PURE__*/React.createElement("div", {
89
+ className: classNames(e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["close-btn"]))), is('customed')),
90
+ onClick: handleClose
91
+ }, closeText) : /*#__PURE__*/React.createElement(Icon, {
92
+ name: "xmark",
93
+ className: e(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["close-btn"]))),
94
+ onClick: handleClose
95
+ })))));
96
+ };
97
+ Alert.displayName = 'ElAlert';
98
+ export default Alert;
@@ -0,0 +1,2 @@
1
+ export { default as Alert } from './Alert';
2
+ export type { AlertProps } from './typings';
@@ -0,0 +1 @@
1
+ export { default as Alert } from "./Alert";
@@ -0,0 +1,45 @@
1
+ import { ReactElement } from 'react';
2
+ import { IconName } from '../Icon/typings';
3
+ import { BaseProps, NativeProps } from '../types/common';
4
+ export interface AlertProps extends BaseProps, NativeProps {
5
+ /**
6
+ * Alert 标题。
7
+ */
8
+ title?: string | ReactElement;
9
+ /**
10
+ * 描述性文本。
11
+ */
12
+ description?: string;
13
+ /**
14
+ * Alert 类型。
15
+ */
16
+ type?: 'primary' | 'success' | 'warning' | 'error' | 'info';
17
+ /**
18
+ * 是否可关闭。
19
+ */
20
+ closable?: boolean;
21
+ /**
22
+ * 替换关闭按钮的文本。
23
+ */
24
+ closeText?: string;
25
+ /**
26
+ * 是否显示图标。
27
+ */
28
+ showIcon?: boolean;
29
+ /**
30
+ * 是否将内容居中。
31
+ */
32
+ center?: boolean;
33
+ /**
34
+ * 主题样式
35
+ */
36
+ effect?: 'light' | 'dark';
37
+ /**
38
+ * 图标。
39
+ */
40
+ icon?: IconName;
41
+ /**
42
+ * 关闭时的回调函数。
43
+ */
44
+ onClose?: (evt: MouseEvent) => void;
45
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -27,6 +27,7 @@ import Footer from "./Footer";
27
27
  import Header from "./Header";
28
28
  import MonthPanel from "./MonthPanel";
29
29
  import MonthRangePanel from "./MonthRangePanel";
30
+ import QuarterPanel from "./QuarterPanel";
30
31
  import ShortCuts from "./ShortCuts";
31
32
  import WeekPanel from "./WeekPanel";
32
33
  import YearPanel from "./YearPanel";
@@ -119,7 +120,7 @@ var Calendar = /*#__PURE__*/forwardRef(function (props, ref) {
119
120
 
120
121
  // 是否要选择月份
121
122
  var hasMonth = useMemo(function () {
122
- return dateType !== 'year';
123
+ return !['year', 'quarter'].includes(dateType);
123
124
  }, [dateType]);
124
125
 
125
126
  // 当前面板是否是范围组件
@@ -213,7 +214,12 @@ var Calendar = /*#__PURE__*/forwardRef(function (props, ref) {
213
214
  }
214
215
  popperInstRef === null || popperInstRef === void 0 || (_popperInstRef$curren2 = popperInstRef.current) === null || _popperInstRef$curren2 === void 0 || _popperInstRef$curren2.update();
215
216
  } else {
216
- onChange === null || onChange === void 0 || onChange(date);
217
+ if (dateType === 'quarter') {
218
+ setView('quarter');
219
+ setValue(date);
220
+ } else {
221
+ onChange === null || onChange === void 0 || onChange(date);
222
+ }
217
223
  }
218
224
  }, [dateType, hasMonth, onChange, popperInstRef, rangePosition, valueRange]);
219
225
 
@@ -315,7 +321,7 @@ var Calendar = /*#__PURE__*/forwardRef(function (props, ref) {
315
321
  lng: locale
316
322
  }),
317
323
  showMonth: ['date', 'dates', 'week'].includes(view),
318
- border: ['year', 'month'].includes(view),
324
+ border: ['year', 'month', 'quarter'].includes(view),
319
325
  onToggleView: onToggleView,
320
326
  onMoveBackward: function onMoveBackward() {
321
327
  return switchDate(-1, 'M');
@@ -338,6 +344,9 @@ var Calendar = /*#__PURE__*/forwardRef(function (props, ref) {
338
344
  }), view === 'date' && /*#__PURE__*/React.createElement(DatePanel, {
339
345
  value: defaultValue,
340
346
  onPickDate: onPickDate
347
+ }), view === 'quarter' && /*#__PURE__*/React.createElement(QuarterPanel, {
348
+ value: defaultValue,
349
+ onPickDate: onPickDate
341
350
  }), view === 'week' && /*#__PURE__*/React.createElement(WeekPanel, {
342
351
  value: defaultValue,
343
352
  valueRange: valueRange,
@@ -44,14 +44,16 @@ var Footer = function Footer() {
44
44
  }, t('el.datepicker.today', {
45
45
  lng: locale
46
46
  })), showNow && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
47
- type: "primary",
48
- link: true,
47
+ type: "default",
48
+ size: "small",
49
+ text: true,
49
50
  className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["link-btn"]))),
50
51
  onClick: onPickToday
51
52
  }, t('el.datepicker.now', {
52
53
  lng: locale
53
54
  })), /*#__PURE__*/React.createElement(Button, {
54
55
  type: "default",
56
+ size: "small",
55
57
  className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["link-btn"]))),
56
58
  onClick: close
57
59
  }, t('el.datepicker.confirm', {
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { WeekPanelProps } from './typings';
3
+ declare const QuarterPanel: FC<WeekPanelProps>;
4
+ export default QuarterPanel;
@@ -0,0 +1,109 @@
1
+ import classNames from 'classnames';
2
+ import dayjs from 'dayjs';
3
+ import React, { useCallback, useContext, useMemo } from 'react';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext";
6
+ import { useClassNames } from "../hooks";
7
+ import CalendarContext from "./CalendarContext";
8
+ import { initDate } from "./util";
9
+ var QuarterPanel = function QuarterPanel(props) {
10
+ var value = props.value,
11
+ onPickDate = props.onPickDate;
12
+ var _useClassNames = useClassNames('quarter-table'),
13
+ b = _useClassNames.b,
14
+ be = _useClassNames.be;
15
+ var _useContext = useContext(CalendarContext),
16
+ valueProp = _useContext.value,
17
+ disabledDate = _useContext.disabledDate,
18
+ formatter = _useContext.formatter;
19
+ var _useConfigProvider = useConfigProvider(),
20
+ locale = _useConfigProvider.locale;
21
+ var _useTranslation = useTranslation(),
22
+ t = _useTranslation.t;
23
+
24
+ // 当前日期
25
+ var currentDate = useMemo(function () {
26
+ if (value.isValid()) {
27
+ return value;
28
+ }
29
+ return initDate();
30
+ }, [value]);
31
+
32
+ // 今天
33
+ var today = useMemo(function () {
34
+ return dayjs();
35
+ }, []);
36
+ var rows = useMemo(function () {
37
+ return Array.from({
38
+ length: 4
39
+ }).map(function (row, i) {
40
+ return {
41
+ text: i + 1,
42
+ type: 'current',
43
+ disabled: disabledDate && disabledDate(currentDate.month(i * 3).date(1).toDate())
44
+ };
45
+ });
46
+ }, [currentDate, disabledDate]);
47
+ var getFormattedDate = useCallback(function (quarter, type) {
48
+ switch (type) {
49
+ case 'current':
50
+ return currentDate.month((quarter - 1) * 3).date(1);
51
+ }
52
+ }, [currentDate]);
53
+ var getCellClass = useCallback(function (_ref) {
54
+ var text = _ref.text,
55
+ type = _ref.type,
56
+ disabled = _ref.disabled;
57
+ var date = getFormattedDate(text, type);
58
+ var classes = [];
59
+ if (type === 'current') {
60
+ classes.push(disabled ? 'normal disabled' : 'available');
61
+ if (date.isSame(today, 'day')) {
62
+ classes.push('today');
63
+ }
64
+ } else {
65
+ classes.push(disabled ? 'normal disabled' : "".concat(type, "-month"));
66
+ }
67
+ if (valueProp && date.isSame(valueProp, 'day')) {
68
+ classes.push('current');
69
+ }
70
+ return classNames.apply(void 0, classes);
71
+ }, [getFormattedDate, today, valueProp]);
72
+
73
+ /**
74
+ * 选中日期回调
75
+ * @param param0
76
+ */
77
+ var handlePickDate = useCallback(function (_ref2) {
78
+ var text = _ref2.text,
79
+ type = _ref2.type,
80
+ disabled = _ref2.disabled;
81
+ if (disabled) {
82
+ return;
83
+ }
84
+ var date = getFormattedDate(text, type);
85
+ onPickDate === null || onPickDate === void 0 || onPickDate(date);
86
+ }, [getFormattedDate, onPickDate]);
87
+ return /*#__PURE__*/React.createElement("div", {
88
+ className: classNames(be('picker-panel', 'content', false), props.className)
89
+ }, props.children, /*#__PURE__*/React.createElement("table", {
90
+ cellSpacing: "0",
91
+ cellPadding: "0",
92
+ className: classNames(b(), 'is-week-mode')
93
+ }, /*#__PURE__*/React.createElement("tbody", null, rows.map(function (cell) {
94
+ return /*#__PURE__*/React.createElement("td", {
95
+ key: cell.text,
96
+ className: getCellClass(cell),
97
+ onClick: function onClick() {
98
+ return handlePickDate(cell);
99
+ }
100
+ }, formatter ? formatter(getFormattedDate(cell.text, cell.type), cell.text) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
101
+ className: "cell"
102
+ }, t('el.datepicker.quarter', {
103
+ lng: locale,
104
+ quarter: cell.text
105
+ }))));
106
+ }))));
107
+ };
108
+ QuarterPanel.displayName = 'Calendar.QuarterPanel';
109
+ export default QuarterPanel;
@@ -277,5 +277,5 @@ var WeekPanel = function WeekPanel(props) {
277
277
  }));
278
278
  }))));
279
279
  };
280
- WeekPanel.displayName = 'Calendar.DatePanel';
280
+ WeekPanel.displayName = 'Calendar.WeekPanel';
281
281
  export default WeekPanel;
@@ -1,6 +1,6 @@
1
1
  import { Dayjs } from 'dayjs';
2
2
  import { BaseProps, ComponentChildren, NativeProps } from '../types/common';
3
- export type DateType = 'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'time';
3
+ export type DateType = 'year' | 'month' | 'date' | 'dates' | 'week' | 'datetime' | 'datetimerange' | 'time' | 'quarter';
4
4
  export type DateRangeType = 'daterange' | 'monthrange' | 'yearrange';
5
5
  export type RangePosition = 'left' | 'right';
6
6
  export type ValueRagne = [value: Dayjs, value: Dayjs];
package/dist/Card/Card.js CHANGED
@@ -1,9 +1,13 @@
1
- var _templateObject, _templateObject2, _templateObject3;
2
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _templateObject, _templateObject2, _templateObject3;
3
+ var _excluded = ["header", "footer", "bodyStyle", "shadow", "classPrefix", "className", "style"];
4
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
5
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
4
6
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
8
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
11
  import classNames from 'classnames';
8
12
  import React, { forwardRef, memo } from 'react';
9
13
  import { useConfigProvider } from "../ConfigProvider/ConfigProviderContext";
@@ -23,16 +27,19 @@ var Card = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
23
27
  bodyStyle = _props.bodyStyle,
24
28
  shadow = _props.shadow,
25
29
  _props$classPrefix = _props.classPrefix,
26
- classPrefix = _props$classPrefix === void 0 ? 'card' : _props$classPrefix;
30
+ classPrefix = _props$classPrefix === void 0 ? 'card' : _props$classPrefix,
31
+ className = _props.className,
32
+ style = _props.style,
33
+ rest = _objectWithoutProperties(_props, _excluded);
27
34
  var _useClassNames = useClassNames(classPrefix),
28
35
  b = _useClassNames.b,
29
36
  e = _useClassNames.e,
30
37
  is = _useClassNames.is;
31
- return /*#__PURE__*/React.createElement("div", {
38
+ return /*#__PURE__*/React.createElement("div", _extends({
32
39
  ref: ref,
33
- className: classNames(b(), is(_defineProperty({}, "".concat(shadow, "-shadow"), ['always', 'hover'].includes(shadow))), props.className),
34
- style: props.style
35
- }, header && /*#__PURE__*/React.createElement("div", {
40
+ className: classNames(b(), is(_defineProperty({}, "".concat(shadow, "-shadow"), ['always', 'hover'].includes(shadow))), className),
41
+ style: style
42
+ }, rest), header && /*#__PURE__*/React.createElement("div", {
36
43
  className: e(_templateObject || (_templateObject = _taggedTemplateLiteral(["header"])))
37
44
  }, header), /*#__PURE__*/React.createElement("div", {
38
45
  className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["body"]))),
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { BaseProps, NativeProps } from '../types/common';
3
- export interface CardProps extends BaseProps, NativeProps<'--el-card-border-color' | '--el-card-border-radius' | '--el-card-padding' | '--el-card-bg-color'> {
3
+ export interface CardProps extends BaseProps, NativeProps<'--el-card-border-color' | '--el-card-border-radius' | '--el-card-padding' | '--el-card-bg-color'>, Omit<React.AllHTMLAttributes<HTMLInputElement>, 'style' | 'children'> {
4
4
  /** 卡片的标题 你可以通过设置 header 来修改标题 */
5
5
  header?: string | React.ReactElement<any>;
6
6
  /** 卡片页脚。 你既可以通过设置 footer 来修改卡片底部内容 */
@@ -635,7 +635,7 @@ var Cascader = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref)
635
635
  onClear: onClear,
636
636
  plain: props.plain,
637
637
  className: is({
638
- active: visible
638
+ focus: visible
639
639
  }),
640
640
  error: error,
641
641
  warning: warning,
@@ -1,4 +1,3 @@
1
- import { Key } from '../Tree';
2
1
  import { CascaderProps, OptionNode } from './typings';
3
2
  export declare const useCascader: (initialData: object[], props: CascaderProps, value: string[] | string[][]) => {
4
3
  /** 最高层级 */
@@ -70,19 +69,6 @@ export declare const useCascader: (initialData: object[], props: CascaderProps,
70
69
  * @returns
71
70
  */
72
71
  getDataType: (level: number) => any;
73
- /**
74
- * 获取扩展key
75
- * @param level 层级
76
- * @returns
77
- */
78
- getExpandedKeys: (level: number) => Key[];
79
- /**
80
- * 设置扩展key
81
- * @param level 层级
82
- * @param keys
83
- * @returns
84
- */
85
- setExpandedKeys: (level: number, keys: Key[]) => void;
86
72
  handleSearch: (searchText: string) => OptionNode[][];
87
73
  resetNodes: () => void;
88
74
  };
@@ -61,7 +61,7 @@ export var useCascader = function useCascader(initialData, props, value) {
61
61
  // 选中的节点组(多选)
62
62
  var checkedNodes = useRef([]);
63
63
  // 树组件扩展keys
64
- var expandKeys = useRef({});
64
+ // const expandKeys = useRef<Record<string, Key[]>>({});
65
65
 
66
66
  /**
67
67
  * 初始化时分离不同层级的数据
@@ -493,25 +493,24 @@ export var useCascader = function useCascader(initialData, props, value) {
493
493
  return lazy && dataTypes[level];
494
494
  }, [dataTypes, lazy]);
495
495
 
496
- /**
497
- * 获取扩展key
498
- * @param level 层级
499
- * @returns
500
- */
501
- var getExpandedKeys = useCallback(function (level) {
502
- var _expandKeys$current;
503
- return (_expandKeys$current = expandKeys.current["level".concat(level)]) !== null && _expandKeys$current !== void 0 ? _expandKeys$current : [];
504
- }, []);
496
+ // /**
497
+ // * 获取扩展key
498
+ // * @param level 层级
499
+ // * @returns
500
+ // */
501
+ // const getExpandedKeys = useCallback((level: number): Key[] => {
502
+ // return expandKeys.current[`level${level}`] ?? [];
503
+ // }, []);
505
504
 
506
- /**
507
- * 设置扩展key
508
- * @param level 层级
509
- * @param keys
510
- * @returns
511
- */
512
- var setExpandedKeys = useCallback(function (level, keys) {
513
- expandKeys.current["level".concat(level)] = keys;
514
- }, []);
505
+ // /**
506
+ // * 设置扩展key
507
+ // * @param level 层级
508
+ // * @param keys
509
+ // * @returns
510
+ // */
511
+ // const setExpandedKeys = useCallback((level: number, keys: Key[]) => {
512
+ // expandKeys.current[`level${level}`] = keys;
513
+ // }, []);
515
514
 
516
515
  /** 搜索 */
517
516
  var handleSearch = useCallback(function (searchText) {
@@ -758,19 +757,21 @@ export var useCascader = function useCascader(initialData, props, value) {
758
757
  * @returns
759
758
  */
760
759
  getDataType: getDataType,
761
- /**
762
- * 获取扩展key
763
- * @param level 层级
764
- * @returns
765
- */
766
- getExpandedKeys: getExpandedKeys,
767
- /**
768
- * 设置扩展key
769
- * @param level 层级
770
- * @param keys
771
- * @returns
772
- */
773
- setExpandedKeys: setExpandedKeys,
760
+ // /**
761
+ // * 获取扩展key
762
+ // * @param level 层级
763
+ // * @returns
764
+ // */
765
+ // getExpandedKeys,
766
+
767
+ // /**
768
+ // * 设置扩展key
769
+ // * @param level 层级
770
+ // * @param keys
771
+ // * @returns
772
+ // */
773
+ // setExpandedKeys,
774
+
774
775
  handleSearch: handleSearch,
775
776
  resetNodes: resetNodes
776
777
  };
@@ -101,6 +101,7 @@ var Checkbox = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref)
101
101
  checked: checked,
102
102
  disabled: disabled
103
103
  }), m(_defineProperty({}, size, size)), className),
104
+ style: props.style,
104
105
  ref: containerRef
105
106
  }, tooltipEvents, {
106
107
  onClick: onClick
@@ -129,10 +130,10 @@ var Checkbox = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref)
129
130
  checked: checked,
130
131
  disabled: disabled
131
132
  }))
132
- }), /*#__PURE__*/React.createElement("span", {
133
+ }), children && /*#__PURE__*/React.createElement("span", {
133
134
  className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["label"])))
134
135
  }, children));
135
- }, [b, checked, children, className, disabled, e, handleChange, htmlInputProps, indeterminate, is, m, name, onCheckboxClick, onClick, prevent, readOnly, size, tooltipEvents, value]);
136
+ }, [b, checked, children, className, disabled, e, handleChange, htmlInputProps, indeterminate, is, m, name, onCheckboxClick, onClick, prevent, props.style, readOnly, size, tooltipEvents, value]);
136
137
  return title ? /*#__PURE__*/React.createElement(Tooltip, {
137
138
  content: title
138
139
  }, main) : main;
@@ -7,8 +7,8 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
7
7
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
- import React, { useEffect } from 'react';
11
- import { isEmpty, mergeDefaultProps } from "../Util";
10
+ import React from 'react';
11
+ import { mergeDefaultProps } from "../Util";
12
12
  import ConfigProviderContext from "./ConfigProviderContext";
13
13
  var ConfigProvider = function ConfigProvider(props) {
14
14
  props = mergeDefaultProps({
@@ -38,28 +38,6 @@ var ConfigProvider = function ConfigProvider(props) {
38
38
  children = _props.children,
39
39
  locale = _props.locale,
40
40
  values = _objectWithoutProperties(_props, _excluded);
41
- useEffect(function () {
42
- // const configs = localStorage.getItem('__el__config__provider__');
43
- // let msgConfig = null;
44
- // if (isEmpty(configs) || JSON.parse(configs).length === 0) {
45
- // msgConfig = [props.message];
46
- // localStorage.setItem('__el__config__provider__', JSON.stringify([props.message]));
47
- // } else {
48
- // msgConfig = [...JSON.parse(configs), props.message];
49
- // localStorage.setItem('__el__config__provider__', JSON.stringify(msgConfig));
50
- // }
51
-
52
- var msgConfig = localStorage.getItem('__el__message__config__provider__');
53
- if (isEmpty(msgConfig) || Object.keys(JSON.parse(msgConfig)).length === 0) {
54
- localStorage.setItem('__el__message__config__provider__', JSON.stringify(props.message));
55
- } else {
56
- localStorage.setItem('__el__message__config__provider__', JSON.stringify(mergeDefaultProps(JSON.parse(msgConfig), props.message)));
57
- }
58
-
59
- // return () => {
60
- // localStorage.removeItem('__el__message_config__provider');
61
- // };
62
- });
63
41
  return /*#__PURE__*/React.createElement(ConfigProviderContext.Provider, {
64
42
  value: _objectSpread(_objectSpread({}, values), {}, {
65
43
  locale: locale === 'zh-cn' ? 'zh-CN' : locale
@@ -2,7 +2,7 @@ import { createContext, useContext } from 'react';
2
2
  var ConfigProviderContext = /*#__PURE__*/createContext({
3
3
  // message: { max: Infinity },
4
4
  inputNumber: {
5
- controlsPositionRight: false
5
+ controlsPosition: ''
6
6
  },
7
7
  locale: 'en',
8
8
  popper: {}
@@ -39,7 +39,7 @@ export interface ConfigProviderProps extends BaseProps {
39
39
  /** 对数字输入框进行配置 */
40
40
  inputNumber?: {
41
41
  /** 控制按钮位置 */
42
- controlsPositionRight?: boolean;
42
+ controlsPosition?: '' | 'right';
43
43
  max?: number;
44
44
  min?: number;
45
45
  };
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const Main: React.ForwardRefExoticComponent<import("..").BaseProps<import("../types/common").ComponentChildren> & import("..").NativeProps & React.RefAttributes<HTMLDivElement>>;
2
+ declare const Main: React.ForwardRefExoticComponent<import("..").BaseProps<import("../types/common").ComponentChildren> & import("..").NativeProps<"--el-main-padding"> & React.RefAttributes<HTMLDivElement>>;
3
3
  export default Main;
@@ -20,7 +20,7 @@ export type HeaderProps = BaseProps & NativeProps<'--el-header-padding' | '--el-
20
20
  */
21
21
  height?: string | number;
22
22
  };
23
- export type MainProps = BaseProps & NativeProps;
23
+ export type MainProps = BaseProps & NativeProps<'--el-main-padding'>;
24
24
  export type FooterProps = BaseProps & NativeProps<'--el-footer-padding' | '--el-footer-height'> & {
25
25
  /**
26
26
  * 底栏高度