@kdcloudjs/kdesign 1.1.1 → 1.2.0
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/CHANGELOG.md +60 -0
- package/dist/kdesign-complete.less +662 -572
- package/dist/kdesign.css +400 -316
- package/dist/kdesign.css.map +1 -1
- package/dist/kdesign.js +287 -40
- package/dist/kdesign.js.map +1 -1
- package/dist/kdesign.min.css +4 -4
- package/dist/kdesign.min.js +8 -8
- package/dist/kdesign.min.js.map +1 -1
- package/es/_utils/usePopper.js +4 -5
- package/es/anchor/anchor.js +0 -6
- package/es/anchor/style/index.css +5 -2
- package/es/anchor/style/index.less +6 -2
- package/es/anchor/style/token.less +2 -1
- package/es/button/button.d.ts +1 -1
- package/es/button/button.js +2 -2
- package/es/button/group.d.ts +21 -0
- package/es/button/group.js +130 -0
- package/es/button/index.d.ts +5 -1
- package/es/button/index.js +4 -1
- package/es/button/style/index.css +117 -21
- package/es/button/style/index.less +332 -192
- package/es/button/style/token.less +41 -25
- package/es/carousel/carousel.js +4 -0
- package/es/checkbox/checkbox.js +3 -4
- package/es/checkbox/style/index.css +36 -33
- package/es/checkbox/style/index.less +25 -18
- package/es/checkbox/style/token.less +34 -35
- package/es/config-provider/compDefaultProps.d.ts +4 -0
- package/es/config-provider/compDefaultProps.js +4 -0
- package/es/date-picker/style/index.css +8 -8
- package/es/date-picker/style/index.less +8 -8
- package/es/date-picker/style/token.less +3 -21
- package/es/empty/defaultEmptyImg.js +5 -3
- package/es/empty/illustrationEmptyImg.js +6 -4
- package/es/icon/interface.js +1 -1
- package/es/image/preview.js +1 -1
- package/es/image/style/index.css +8 -8
- package/es/image/style/index.less +5 -5
- package/es/image/style/token.less +12 -25
- package/es/input/style/index.css +53 -50
- package/es/input/style/index.less +5 -4
- package/es/input/style/mixin.less +1 -0
- package/es/input/style/token.less +23 -20
- package/es/layout/style/index.css +1 -1
- package/es/layout/style/index.less +1 -1
- package/es/layout/style/token.less +5 -5
- package/es/menu/style/index.css +76 -114
- package/es/menu/style/index.less +66 -140
- package/es/menu/style/mixin.less +10 -1
- package/es/menu/style/token.less +9 -12
- package/es/menu/subMenu.js +2 -1
- package/es/pagination/pagination.js +4 -4
- package/es/pagination/style/index.css +70 -55
- package/es/pagination/style/index.less +61 -43
- package/es/pagination/style/token.less +4 -4
- package/es/radio/radio.js +21 -8
- package/es/rate/style/index.css +9 -9
- package/es/rate/style/token.less +6 -6
- package/es/select/style/index.css +1 -1
- package/es/select/style/token.less +1 -1
- package/es/stepper/style/index.css +1 -1
- package/es/stepper/style/token.less +1 -1
- package/es/style/icon/kdicon.css +225 -0
- package/es/style/icon/kdicon.woff +0 -0
- package/es/switch/style/index.css +11 -11
- package/es/switch/style/index.less +2 -2
- package/es/switch/style/token.less +7 -10
- package/lib/_utils/usePopper.js +4 -5
- package/lib/anchor/anchor.js +0 -6
- package/lib/anchor/style/index.css +5 -2
- package/lib/anchor/style/index.less +6 -2
- package/lib/anchor/style/token.less +2 -1
- package/lib/button/button.d.ts +1 -1
- package/lib/button/button.js +2 -2
- package/lib/button/group.d.ts +21 -0
- package/lib/button/group.js +166 -0
- package/lib/button/index.d.ts +5 -1
- package/lib/button/index.js +5 -1
- package/lib/button/style/index.css +117 -21
- package/lib/button/style/index.less +332 -192
- package/lib/button/style/token.less +41 -25
- package/lib/carousel/carousel.js +4 -0
- package/lib/checkbox/checkbox.js +3 -4
- package/lib/checkbox/style/index.css +36 -33
- package/lib/checkbox/style/index.less +25 -18
- package/lib/checkbox/style/token.less +34 -35
- package/lib/config-provider/compDefaultProps.d.ts +4 -0
- package/lib/config-provider/compDefaultProps.js +4 -0
- package/lib/date-picker/style/index.css +8 -8
- package/lib/date-picker/style/index.less +8 -8
- package/lib/date-picker/style/token.less +3 -21
- package/lib/empty/defaultEmptyImg.js +6 -3
- package/lib/empty/illustrationEmptyImg.js +7 -4
- package/lib/icon/interface.js +1 -1
- package/lib/image/preview.js +1 -1
- package/lib/image/style/index.css +8 -8
- package/lib/image/style/index.less +5 -5
- package/lib/image/style/token.less +12 -25
- package/lib/input/style/index.css +53 -50
- package/lib/input/style/index.less +5 -4
- package/lib/input/style/mixin.less +1 -0
- package/lib/input/style/token.less +23 -20
- package/lib/layout/style/index.css +1 -1
- package/lib/layout/style/index.less +1 -1
- package/lib/layout/style/token.less +5 -5
- package/lib/menu/style/index.css +76 -114
- package/lib/menu/style/index.less +66 -140
- package/lib/menu/style/mixin.less +10 -1
- package/lib/menu/style/token.less +9 -12
- package/lib/menu/subMenu.js +2 -1
- package/lib/pagination/pagination.js +4 -3
- package/lib/pagination/style/index.css +70 -55
- package/lib/pagination/style/index.less +61 -43
- package/lib/pagination/style/token.less +4 -4
- package/lib/radio/radio.js +21 -8
- package/lib/rate/style/index.css +9 -9
- package/lib/rate/style/token.less +6 -6
- package/lib/select/style/index.css +1 -1
- package/lib/select/style/token.less +1 -1
- package/lib/stepper/style/index.css +1 -1
- package/lib/stepper/style/token.less +1 -1
- package/lib/style/icon/kdicon.css +225 -0
- package/lib/style/icon/kdicon.woff +0 -0
- package/lib/switch/style/index.css +11 -11
- package/lib/switch/style/index.less +2 -2
- package/lib/switch/style/token.less +7 -10
- package/package.json +1 -1
package/es/_utils/usePopper.js
CHANGED
|
@@ -123,7 +123,7 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
123
123
|
_props$placement = props.placement,
|
|
124
124
|
placement = _props$placement === void 0 ? 'top' : _props$placement,
|
|
125
125
|
_props$gap = props.gap,
|
|
126
|
-
|
|
126
|
+
defaultGap = _props$gap === void 0 ? 4 : _props$gap,
|
|
127
127
|
_props$scrollHidden = props.scrollHidden,
|
|
128
128
|
scrollHidden = _props$scrollHidden === void 0 ? false : _props$scrollHidden,
|
|
129
129
|
_props$mouseEnterDela = props.mouseEnterDelay,
|
|
@@ -172,7 +172,7 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
172
172
|
top: 0,
|
|
173
173
|
left: 0
|
|
174
174
|
};
|
|
175
|
-
var gap =
|
|
175
|
+
var gap = defaultGap + (arrow ? 10 : 0);
|
|
176
176
|
|
|
177
177
|
var _useState = useState(initPos),
|
|
178
178
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -434,8 +434,8 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
434
434
|
};
|
|
435
435
|
var popperNode = popperRef.current;
|
|
436
436
|
var locatorNode = locatorRef.current;
|
|
437
|
-
useResizeObserver(popperNode, alignPopper);
|
|
438
|
-
useResizeObserver(locatorNode, alignPopper);
|
|
437
|
+
useResizeObserver(popperNode || document.body, alignPopper);
|
|
438
|
+
useResizeObserver(locatorNode || document.body, alignPopper);
|
|
439
439
|
var showPopper = useCallback(function (evType) {
|
|
440
440
|
if (!disabled) {
|
|
441
441
|
!exist && setExist(true);
|
|
@@ -457,7 +457,6 @@ function usePopper(locatorElement, popperElement, props) {
|
|
|
457
457
|
}
|
|
458
458
|
}, [disabled, exist, onTrigger, visible]);
|
|
459
459
|
var hidePopper = useCallback(function () {
|
|
460
|
-
setEvType('');
|
|
461
460
|
props.visible === undefined && setVisible(false);
|
|
462
461
|
onVisibleChange && onVisibleChange(false);
|
|
463
462
|
}, [onVisibleChange, props.visible]);
|
package/es/anchor/anchor.js
CHANGED
|
@@ -317,12 +317,6 @@ var InternalAnchor = function InternalAnchor(props, ref) {
|
|
|
317
317
|
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
318
318
|
!isLocked && onVisibleChange && onVisibleChange(visible);
|
|
319
319
|
if (props.visible !== undefined) return;
|
|
320
|
-
|
|
321
|
-
if (visible) {
|
|
322
|
-
setOptionShow(visible);
|
|
323
|
-
return;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
320
|
!isLocked && setOptionShow(visible);
|
|
327
321
|
};
|
|
328
322
|
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
overflow: hidden;
|
|
181
181
|
white-space: nowrap;
|
|
182
182
|
text-overflow: ellipsis;
|
|
183
|
-
padding: 0
|
|
183
|
+
padding: 0 4px;
|
|
184
184
|
line-height: 1.5;
|
|
185
185
|
vertical-align: middle;
|
|
186
186
|
}
|
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
}
|
|
195
195
|
.kd-anchor-advanced-arrows {
|
|
196
196
|
color: var(--kd-c-anchor-advanced-arrows-color-text, #666);
|
|
197
|
-
font-size: var(--kd-c-anchor-
|
|
197
|
+
font-size: var(--kd-c-anchor-advanced-arrows-font-size, 24px);
|
|
198
198
|
cursor: pointer;
|
|
199
199
|
}
|
|
200
200
|
.kd-anchor-advanced-arrows:hover {
|
|
@@ -257,6 +257,9 @@
|
|
|
257
257
|
.kd-anchor-link {
|
|
258
258
|
padding: var(--kd-c-anchor-spacing-padding, 7px 8px);
|
|
259
259
|
}
|
|
260
|
+
.kd-anchor-link > .kd-anchor-link {
|
|
261
|
+
padding: var(--kd-c-anchor-secondary-spacing-padding, 12px 8px);
|
|
262
|
+
}
|
|
260
263
|
.kd-anchor-link-title {
|
|
261
264
|
text-decoration: none;
|
|
262
265
|
color: var(--kd-c-anchor-color-text-primary, var(--kd-g-color-text-primary, #212121));
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
overflow: hidden;
|
|
73
73
|
white-space: nowrap;
|
|
74
74
|
text-overflow: ellipsis;
|
|
75
|
-
padding: 0
|
|
75
|
+
padding: 0 4px;
|
|
76
76
|
line-height: 1.5;
|
|
77
77
|
vertical-align: middle;
|
|
78
78
|
}
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
|
|
91
91
|
&-advanced-arrows {
|
|
92
92
|
color: @anchor-advanced-arrows-color;
|
|
93
|
-
font-size: @anchor-
|
|
93
|
+
font-size: @anchor-advanced-arrows-font-size;
|
|
94
94
|
cursor: pointer;
|
|
95
95
|
&:hover {
|
|
96
96
|
color: @anchor-color-theme;
|
|
@@ -154,6 +154,10 @@
|
|
|
154
154
|
&-link {
|
|
155
155
|
padding: @anchor-link-padding;
|
|
156
156
|
|
|
157
|
+
&>.@{anchor-prefix-cls}-link {
|
|
158
|
+
padding: @anchor-link-secondary-padding;
|
|
159
|
+
}
|
|
160
|
+
|
|
157
161
|
&-title {
|
|
158
162
|
text-decoration: none;
|
|
159
163
|
color: @anchor-primary-text-color;
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
@anchor-link-top: var(~'@{anchor-prefix}-spacing-vertical', 7px);
|
|
20
20
|
@anchor-link-left: var(~'@{anchor-prefix}-spacing-horizontal', 7px);
|
|
21
21
|
@anchor-link-padding: var(~'@{anchor-prefix}-spacing-padding', 7px 8px);
|
|
22
|
+
@anchor-link-secondary-padding: var(~'@{anchor-prefix}-secondary-spacing-padding', 12px 8px);
|
|
22
23
|
@anchor-advanced-padding-top: var(~'@{anchor-prefix}-advanced-spacing-padding-top', 8px);
|
|
23
24
|
@anchor-advanced-padding-bottom: var(~'@{anchor-prefix}-advanced-spacing-padding-bottom', 7px);
|
|
24
25
|
@anchor-ink-line-width: var(~'@{anchor-prefix}-ink-line-spacing-width', 1px);
|
|
@@ -28,6 +29,6 @@
|
|
|
28
29
|
@anchor-advanced-lock-size: var(~'@{anchor-prefix}-advanced-lock-font-size', 16px);
|
|
29
30
|
@anchor-font-size: var(~'@{anchor-prefix}-font-size', @font-size-small);
|
|
30
31
|
@anchor-icon-font-size: var(~'@{anchor-prefix}-icon-font-size', 16px);
|
|
31
|
-
|
|
32
|
+
@anchor-advanced-arrows-font-size: var(~'@{anchor-prefix}-advanced-arrows-font-size', 24px);
|
|
32
33
|
// motion
|
|
33
34
|
@anchor-transition-duration: var(~'@{anchor-prefix}-duration-duration', @duration-promptly);
|
package/es/button/button.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare const ButtonTypes: ["second", "primary", "ghost", "text"];
|
|
|
3
3
|
export declare type ButtonType = typeof ButtonTypes[number];
|
|
4
4
|
export declare const ButtonSizes: ["large", "middle", "small"];
|
|
5
5
|
export declare type ButtonSize = typeof ButtonSizes[number];
|
|
6
|
-
export declare const ButtonShapes: ["circle", "round"];
|
|
6
|
+
export declare const ButtonShapes: ["circle", "round", "none"];
|
|
7
7
|
export declare type ButtonShape = typeof ButtonShapes[number];
|
|
8
8
|
export declare const ButtonIconPlaces: ["left", "right"];
|
|
9
9
|
export declare type ButtonIconPlace = typeof ButtonIconPlaces[number];
|
package/es/button/button.js
CHANGED
|
@@ -25,7 +25,7 @@ import { tuple } from '../_utils/type';
|
|
|
25
25
|
import devWarning from '../_utils/devwarning';
|
|
26
26
|
export var ButtonTypes = tuple('second', 'primary', 'ghost', 'text');
|
|
27
27
|
export var ButtonSizes = tuple('large', 'middle', 'small');
|
|
28
|
-
export var ButtonShapes = tuple('circle', 'round');
|
|
28
|
+
export var ButtonShapes = tuple('circle', 'round', 'none');
|
|
29
29
|
export var ButtonIconPlaces = tuple('left', 'right');
|
|
30
30
|
export var ButtonHTMLTypes = tuple('submit', 'button', 'reset');
|
|
31
31
|
|
|
@@ -107,7 +107,7 @@ var InternalButton = function InternalButton(props, ref) {
|
|
|
107
107
|
|
|
108
108
|
var isTextBtn = type === 'text'; // 判断按钮是否文本类型。这些类型下有部分样式不适用
|
|
109
109
|
|
|
110
|
-
var btnClasses = classNames(btnPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, _concatInstanceProperty(_context = "".concat(btnPrefixCls, "-")).call(_context, type), type), _defineProperty(_classNames, _concatInstanceProperty(_context2 = "".concat(btnPrefixCls, "-size-")).call(_context2, size), size), _defineProperty(_classNames, _concatInstanceProperty(_context3 = "".concat(btnPrefixCls, "-shape-")).call(_context3, shape), shape && !isTextBtn), _defineProperty(_classNames, "".concat(btnPrefixCls, "-no-border"), !bordered), _defineProperty(_classNames, "".concat(btnPrefixCls, "-background-ghost"), ghost && !disabled), _defineProperty(_classNames, "".concat(btnPrefixCls, "-loading"), loading && !isTextBtn), _defineProperty(_classNames, "".concat(btnPrefixCls, "-block"), block && !shape), _classNames));
|
|
110
|
+
var btnClasses = classNames(btnPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, _concatInstanceProperty(_context = "".concat(btnPrefixCls, "-")).call(_context, type), type), _defineProperty(_classNames, _concatInstanceProperty(_context2 = "".concat(btnPrefixCls, "-size-")).call(_context2, size), size), _defineProperty(_classNames, _concatInstanceProperty(_context3 = "".concat(btnPrefixCls, "-shape-")).call(_context3, shape), shape && !isTextBtn), _defineProperty(_classNames, "".concat(btnPrefixCls, "-no-border"), !bordered), _defineProperty(_classNames, "".concat(btnPrefixCls, "-background-ghost"), ghost && !disabled), _defineProperty(_classNames, "".concat(btnPrefixCls, "-loading"), loading && !isTextBtn), _defineProperty(_classNames, "".concat(btnPrefixCls, "-block"), block && !shape), _defineProperty(_classNames, "".concat(btnPrefixCls, "-icon-only"), !children && children !== 0 && icon), _classNames));
|
|
111
111
|
|
|
112
112
|
var iconWrapperClassName = _concatInstanceProperty(_context4 = "".concat(btnPrefixCls, "-iconWrapper-")).call(_context4, iconPlace === 'left' ? 'left' : 'right');
|
|
113
113
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { ButtonType } from './button';
|
|
3
|
+
export declare const ButtonGroupTypes: ["basic", "similar"];
|
|
4
|
+
export declare type ButtonGroupType = typeof ButtonGroupTypes[number];
|
|
5
|
+
export interface OverlayType {
|
|
6
|
+
value?: string;
|
|
7
|
+
label?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export interface ButtonGroupProps {
|
|
10
|
+
style?: CSSProperties;
|
|
11
|
+
className?: string;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
onClick?: () => void;
|
|
14
|
+
overlay?: Array<OverlayType>;
|
|
15
|
+
icon?: [ReactNode, ReactNode];
|
|
16
|
+
type?: ButtonGroupType;
|
|
17
|
+
buttonType?: ButtonType;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export default ButtonGroup;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
3
|
+
import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
|
|
4
|
+
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
5
|
+
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
6
|
+
import React, { useContext, useState, useCallback } from 'react';
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import ConfigContext from '../config-provider/ConfigContext';
|
|
9
|
+
import { getCompProps } from '../_utils';
|
|
10
|
+
import { Button, Icon } from '../index';
|
|
11
|
+
import usePopper from '../_utils/usePopper';
|
|
12
|
+
import { toArray } from '../_utils/react-children';
|
|
13
|
+
import { tuple } from '../_utils/type';
|
|
14
|
+
export var ButtonGroupTypes = tuple('basic', 'similar');
|
|
15
|
+
|
|
16
|
+
var InternalButtonGroup = function InternalButtonGroup(props, ref) {
|
|
17
|
+
var _context;
|
|
18
|
+
|
|
19
|
+
var _useContext = useContext(ConfigContext),
|
|
20
|
+
getPrefixCls = _useContext.getPrefixCls,
|
|
21
|
+
prefixCls = _useContext.prefixCls,
|
|
22
|
+
userDefaultProps = _useContext.compDefaultProps;
|
|
23
|
+
|
|
24
|
+
var buttonGoupProps = getCompProps('ButtonGroup', userDefaultProps, props);
|
|
25
|
+
var style = buttonGoupProps.style,
|
|
26
|
+
className = buttonGoupProps.className,
|
|
27
|
+
children = buttonGoupProps.children,
|
|
28
|
+
customPrefixcls = buttonGoupProps.prefixCls,
|
|
29
|
+
onClick = buttonGoupProps.onClick,
|
|
30
|
+
onItemClick = buttonGoupProps.onItemClick,
|
|
31
|
+
overlay = buttonGoupProps.overlay,
|
|
32
|
+
icon = buttonGoupProps.icon,
|
|
33
|
+
type = buttonGoupProps.type,
|
|
34
|
+
buttonType = buttonGoupProps.buttonType,
|
|
35
|
+
disabled = buttonGoupProps.disabled,
|
|
36
|
+
onVisibleChange = buttonGoupProps.onVisibleChange;
|
|
37
|
+
|
|
38
|
+
var _useState = useState(false),
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
optionShow = _useState2[0],
|
|
41
|
+
setOptionShow = _useState2[1]; // 下拉列表是否展示
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
var refBtnGroup = React.useRef(null) || ref;
|
|
45
|
+
var triggerRef = React.useRef(null);
|
|
46
|
+
var isBsicType = type === 'basic';
|
|
47
|
+
var btnGroupPrefixCls = getPrefixCls(prefixCls, 'btn-group', customPrefixcls);
|
|
48
|
+
var btnGroupClasses = classNames("".concat(btnGroupPrefixCls), className, _defineProperty({}, _concatInstanceProperty(_context = "".concat(btnGroupPrefixCls, "-")).call(_context, type), type));
|
|
49
|
+
var renderTriggerButton = useCallback(function () {
|
|
50
|
+
var _toArray = toArray(icon),
|
|
51
|
+
_toArray2 = _slicedToArray(_toArray, 2),
|
|
52
|
+
_toArray2$ = _toArray2[0],
|
|
53
|
+
iconUp = _toArray2$ === void 0 ? /*#__PURE__*/React.createElement(Icon, {
|
|
54
|
+
type: "arrow-up"
|
|
55
|
+
}) : _toArray2$,
|
|
56
|
+
_toArray2$2 = _toArray2[1],
|
|
57
|
+
iconDown = _toArray2$2 === void 0 ? /*#__PURE__*/React.createElement(Icon, {
|
|
58
|
+
type: "arrow-down"
|
|
59
|
+
}) : _toArray2$2;
|
|
60
|
+
|
|
61
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
style: style,
|
|
63
|
+
className: btnGroupClasses,
|
|
64
|
+
ref: refBtnGroup
|
|
65
|
+
}, isBsicType && /*#__PURE__*/React.createElement(Button, {
|
|
66
|
+
type: buttonType,
|
|
67
|
+
disabled: disabled
|
|
68
|
+
}, children, /*#__PURE__*/React.createElement("span", {
|
|
69
|
+
className: "".concat(btnGroupPrefixCls, "-basic-icon")
|
|
70
|
+
}, optionShow ? iconUp : iconDown)), !isBsicType && /*#__PURE__*/React.createElement(Button, {
|
|
71
|
+
type: buttonType,
|
|
72
|
+
disabled: disabled,
|
|
73
|
+
onClick: onClick
|
|
74
|
+
}, children), !isBsicType && /*#__PURE__*/React.createElement("span", {
|
|
75
|
+
className: "".concat(btnGroupPrefixCls, "-trigger"),
|
|
76
|
+
ref: triggerRef
|
|
77
|
+
}, optionShow ? /*#__PURE__*/React.createElement(Button, {
|
|
78
|
+
icon: iconUp,
|
|
79
|
+
type: buttonType,
|
|
80
|
+
disabled: disabled
|
|
81
|
+
}) : /*#__PURE__*/React.createElement(Button, {
|
|
82
|
+
icon: iconDown,
|
|
83
|
+
type: buttonType,
|
|
84
|
+
disabled: disabled
|
|
85
|
+
})));
|
|
86
|
+
}, [icon, btnGroupPrefixCls, style, btnGroupClasses, refBtnGroup, isBsicType, buttonType, disabled, children, optionShow, onClick]);
|
|
87
|
+
var handleItemClick = useCallback(function (data) {
|
|
88
|
+
onItemClick === null || onItemClick === void 0 ? void 0 : onItemClick(data);
|
|
89
|
+
setOptionShow(false);
|
|
90
|
+
}, [onItemClick]);
|
|
91
|
+
var renderContent = useCallback(function () {
|
|
92
|
+
var _context2;
|
|
93
|
+
|
|
94
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: "".concat(btnGroupPrefixCls, "-dropdown")
|
|
96
|
+
}, _mapInstanceProperty(_context2 = overlay || []).call(_context2, function (item) {
|
|
97
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
key: item.value,
|
|
99
|
+
className: "".concat(btnGroupPrefixCls, "-dropdown-item"),
|
|
100
|
+
onClick: function onClick() {
|
|
101
|
+
return handleItemClick === null || handleItemClick === void 0 ? void 0 : handleItemClick(item);
|
|
102
|
+
}
|
|
103
|
+
}, item.label);
|
|
104
|
+
}));
|
|
105
|
+
}, [btnGroupPrefixCls, overlay, handleItemClick]);
|
|
106
|
+
|
|
107
|
+
var handleVisibleChange = function handleVisibleChange(visible) {
|
|
108
|
+
setOptionShow(visible);
|
|
109
|
+
onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(visible);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var popperProps = _extends(_extends({
|
|
113
|
+
placement: 'bottomLeft',
|
|
114
|
+
trigger: 'click'
|
|
115
|
+
}, buttonGoupProps), {
|
|
116
|
+
prefixCls: btnGroupPrefixCls,
|
|
117
|
+
defaultVisible: optionShow,
|
|
118
|
+
visible: optionShow,
|
|
119
|
+
onVisibleChange: handleVisibleChange,
|
|
120
|
+
getTriggerElement: function getTriggerElement(locatorNode) {
|
|
121
|
+
return isBsicType ? locatorNode : triggerRef.current;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
return usePopper(renderTriggerButton(), renderContent(), popperProps);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
var ButtonGroup = /*#__PURE__*/React.forwardRef(InternalButtonGroup);
|
|
129
|
+
ButtonGroup.displayName = 'ButtonGroup';
|
|
130
|
+
export default ButtonGroup;
|
package/es/button/index.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import Dropdown from './group';
|
|
3
|
+
declare const Button: import("react").ForwardRefExoticComponent<import("./button").IButtonProps & import("react").RefAttributes<unknown>> & {
|
|
4
|
+
Dropdown: typeof Dropdown;
|
|
5
|
+
};
|
|
2
6
|
export { ButtonType, IButtonProps } from './button';
|
|
3
7
|
export default Button;
|
package/es/button/index.js
CHANGED
|
@@ -145,24 +145,24 @@
|
|
|
145
145
|
animation: fadeEffect var(--kd-c-button-motion-duration-fade, var(--kd-g-duration-slowly, 0.4s)) cubic-bezier(0, 0.4, 0.4, 1) forwards, waveEffect var(--kd-c-button-motion-duration-wave, var(--kd-g-duration-quickly, 0.2s)) cubic-bezier(0, 0.4, 0.4, 1) forwards;
|
|
146
146
|
}
|
|
147
147
|
.kd-btn-second {
|
|
148
|
-
border-color: var(--kd-c-button-second-color-border,
|
|
149
|
-
background-color: var(--kd-c-button-second-color-background,
|
|
150
|
-
color: var(--kd-c-button-second-color-text,
|
|
148
|
+
border-color: var(--kd-c-button-second-color-border, #D9D9D9);
|
|
149
|
+
background-color: var(--kd-c-button-second-color-background, transparent);
|
|
150
|
+
color: var(--kd-c-button-second-color-text, #212121);
|
|
151
151
|
}
|
|
152
152
|
.kd-btn-second:hover:not(.kd-btn-loading) {
|
|
153
153
|
background-color: var(--kd-c-button-second-color-background-hover, var(--kd-g-color-white, #fff));
|
|
154
|
-
border-color: var(--kd-c-button-second-color-border-hover, var(--kd-g-color-
|
|
155
|
-
color: var(--kd-c-button-second-color-text-hover, var(--kd-g-color-
|
|
154
|
+
border-color: var(--kd-c-button-second-color-border-hover, var(--kd-g-color-theme, #5582f3));
|
|
155
|
+
color: var(--kd-c-button-second-color-text-hover, var(--kd-g-color-theme, #5582f3));
|
|
156
156
|
}
|
|
157
157
|
.kd-btn-second:active:not(.kd-btn-loading) {
|
|
158
158
|
background-color: var(--kd-c-button-second-color-background-active, var(--kd-g-color-white, #fff));
|
|
159
|
-
border-color: var(--kd-c-button-second-color-border-active, var(--kd-g-color-
|
|
160
|
-
color: var(--kd-c-button-second-color-text-active, var(--kd-g-color-
|
|
159
|
+
border-color: var(--kd-c-button-second-color-border-active, var(--kd-g-color-theme-7, #375cca));
|
|
160
|
+
color: var(--kd-c-button-second-color-text-active, var(--kd-g-color-theme-7, #375cca));
|
|
161
161
|
}
|
|
162
162
|
.kd-btn-second:disabled {
|
|
163
|
-
border-color: var(--kd-c-button-second-color-border-disabled,
|
|
164
|
-
background-color: var(--kd-c-button-second-color-background-disabled, var(--kd-g-color-background-
|
|
165
|
-
color: var(--kd-c-button-second-color-text-disabled,
|
|
163
|
+
border-color: var(--kd-c-button-second-color-border-disabled, #D9D9D9) !important;
|
|
164
|
+
background-color: var(--kd-c-button-second-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5)) !important;
|
|
165
|
+
color: var(--kd-c-button-second-color-text-disabled, #B2B2B2) !important;
|
|
166
166
|
}
|
|
167
167
|
.kd-btn-primary {
|
|
168
168
|
border-color: var(--kd-c-button-primary-color-border, var(--kd-g-color-theme, #5582f3));
|
|
@@ -182,22 +182,24 @@
|
|
|
182
182
|
border-color: var(--kd-c-button-primary-color-border-disabled, var(--kd-g-color-theme-3, #e3eeff)) !important;
|
|
183
183
|
}
|
|
184
184
|
.kd-btn-ghost {
|
|
185
|
-
border-color: var(--kd-c-button-ghost-color-border, var(--kd-g-color-
|
|
185
|
+
border-color: var(--kd-c-button-ghost-color-border, var(--kd-g-color-theme-6, #5582f3));
|
|
186
186
|
background-color: var(--kd-c-button-ghost-color-background, transparent);
|
|
187
|
-
color: var(--kd-c-button-ghost-color-text,
|
|
187
|
+
color: var(--kd-c-button-ghost-color-text, #5582F3);
|
|
188
188
|
}
|
|
189
189
|
.kd-btn-ghost:hover:not(.kd-btn-loading) {
|
|
190
|
-
|
|
191
|
-
color: var(--kd-c-button-ghost-color-
|
|
190
|
+
background-color: var(--kd-c-button-ghost-color-background-hover, var(--kd-g-color-theme-5, #87adff));
|
|
191
|
+
border-color: var(--kd-c-button-ghost-color-border-hover, transparent);
|
|
192
|
+
color: var(--kd-c-button-ghost-color-text-hover, #ffffff);
|
|
192
193
|
}
|
|
193
194
|
.kd-btn-ghost:active:not(.kd-btn-loading) {
|
|
194
|
-
|
|
195
|
-
color: var(--kd-c-button-ghost-color-
|
|
195
|
+
background-color: var(--kd-c-button-ghost-color-background-active, var(--kd-g-color-theme-7, #375cca));
|
|
196
|
+
border-color: var(--kd-c-button-ghost-color-border-hover, transparent);
|
|
197
|
+
color: var(--kd-c-button-ghost-color-text-active, #ffffff);
|
|
196
198
|
}
|
|
197
199
|
.kd-btn-ghost:disabled {
|
|
198
200
|
background-color: var(--kd-c-button-ghost-color-background-disabled, var(--kd-g-color-background-contain-disabled, #f5f5f5)) !important;
|
|
199
|
-
border-color: var(--kd-c-button-ghost-color-border-disabled,
|
|
200
|
-
color: var(--kd-c-button-ghost-color-
|
|
201
|
+
border-color: var(--kd-c-button-ghost-color-border-disabled, #D9D9D9) !important;
|
|
202
|
+
color: var(--kd-c-button-ghost-color-text-disabled, #B2B2B2) !important;
|
|
201
203
|
}
|
|
202
204
|
.kd-btn-iconWrapper-left {
|
|
203
205
|
display: -webkit-box;
|
|
@@ -236,6 +238,13 @@
|
|
|
236
238
|
font-size: var(--kd-c-button-font-size-small, var(--kd-g-font-size-small, 12px));
|
|
237
239
|
padding: var(--kd-c-button-spacing-padding-vertical-small, 3px) var(--kd-c-button-spacing-padding-horizontal-small, 8px);
|
|
238
240
|
}
|
|
241
|
+
.kd-btn-size-small.kd-btn-icon-only {
|
|
242
|
+
font-size: var(--kd-c-button-icon-font-size-small, 14px);
|
|
243
|
+
padding: 0 var(--kd-c-button-icon-spacing-padding-horizontal, 4px);
|
|
244
|
+
}
|
|
245
|
+
.kd-btn-size-small .kd-btn-group-basic-icon {
|
|
246
|
+
font-size: var(--kd-c-button-icon-font-size-small, 14px);
|
|
247
|
+
}
|
|
239
248
|
.kd-btn-size-middle {
|
|
240
249
|
height: var(--kd-c-button-sizing-height-middle, 28px);
|
|
241
250
|
min-width: var(--kd-c-button-sizing-min-width-middle, 60px);
|
|
@@ -243,6 +252,13 @@
|
|
|
243
252
|
font-size: var(--kd-c-button-font-size-middle, var(--kd-g-font-size-small, 12px));
|
|
244
253
|
padding: var(--kd-c-button-spacing-padding-vertical-middle, 5px) var(--kd-c-button-spacing-padding-horizontal-middle, 8px);
|
|
245
254
|
}
|
|
255
|
+
.kd-btn-size-middle.kd-btn-icon-only {
|
|
256
|
+
font-size: var(--kd-c-button-icon-font-size-middle, 16px);
|
|
257
|
+
padding: 0 var(--kd-c-button-icon-spacing-padding-horizontal, 4px);
|
|
258
|
+
}
|
|
259
|
+
.kd-btn-size-middle .kd-btn-group-basic-icon {
|
|
260
|
+
font-size: var(--kd-c-button-icon-font-size-middle, 16px);
|
|
261
|
+
}
|
|
246
262
|
.kd-btn-size-large {
|
|
247
263
|
height: var(--kd-c-button-sizing-height-large, 32px);
|
|
248
264
|
min-width: var(--kd-c-button-sizing-min-width-large, 80px);
|
|
@@ -250,6 +266,13 @@
|
|
|
250
266
|
font-size: var(--kd-c-button-font-size-large, var(--kd-g-font-size-large, 16px));
|
|
251
267
|
padding: var(--kd-c-button-spacing-padding-vertical-large, 6px) var(--kd-c-button-spacing-padding-horizontal-large, 8px);
|
|
252
268
|
}
|
|
269
|
+
.kd-btn-size-large.kd-btn-icon-only {
|
|
270
|
+
font-size: var(--kd-c-button-icon-font-size-large, 18px);
|
|
271
|
+
padding: 0 var(--kd-c-button-icon-spacing-padding-horizontal, 4px);
|
|
272
|
+
}
|
|
273
|
+
.kd-btn-size-large .kd-btn-group-basic-icon {
|
|
274
|
+
font-size: var(--kd-c-button-icon-font-size-large, 18px);
|
|
275
|
+
}
|
|
253
276
|
.kd-btn-shape-circle {
|
|
254
277
|
border-radius: 50%;
|
|
255
278
|
min-width: auto;
|
|
@@ -275,10 +298,13 @@
|
|
|
275
298
|
.kd-btn-shape-round.kd-btn-size-large {
|
|
276
299
|
border-radius: var(--kd-c-button-sizing-height-large, 32px);
|
|
277
300
|
}
|
|
301
|
+
.kd-btn-shape-none {
|
|
302
|
+
border-radius: 0;
|
|
303
|
+
}
|
|
278
304
|
.kd-btn-text {
|
|
279
305
|
height: auto;
|
|
280
306
|
width: auto;
|
|
281
|
-
color: var(--kd-c-button-text-color-text, var(--kd-g-color-theme, #5582f3));
|
|
307
|
+
color: var(--kd-c-button-text-color-text, var(--kd-g-color-theme-6, #5582f3));
|
|
282
308
|
padding: 0;
|
|
283
309
|
min-width: auto;
|
|
284
310
|
}
|
|
@@ -289,7 +315,7 @@
|
|
|
289
315
|
color: var(--kd-c-button-text-color-text-active, var(--kd-g-color-theme-7, #375cca));
|
|
290
316
|
}
|
|
291
317
|
.kd-btn-text[disabled] {
|
|
292
|
-
color: var(--kd-c-button-text-color-text-disabled, var(--kd-g-color-
|
|
318
|
+
color: var(--kd-c-button-text-color-text-disabled, var(--kd-g-color-theme-4, #b5cfff)) !important;
|
|
293
319
|
}
|
|
294
320
|
.kd-btn-no-border {
|
|
295
321
|
border: none;
|
|
@@ -316,5 +342,75 @@
|
|
|
316
342
|
width: 100%;
|
|
317
343
|
}
|
|
318
344
|
.kd-btn .btn-space {
|
|
319
|
-
margin-left:
|
|
345
|
+
margin-left: 4px;
|
|
346
|
+
}
|
|
347
|
+
.kd-btn-group {
|
|
348
|
+
display: inline-block;
|
|
349
|
+
}
|
|
350
|
+
.kd-btn-group-basic .kd-btn {
|
|
351
|
+
padding-top: 0;
|
|
352
|
+
padding-bottom: 0;
|
|
353
|
+
}
|
|
354
|
+
.kd-btn-group-basic-icon {
|
|
355
|
+
margin-left: 4px;
|
|
356
|
+
}
|
|
357
|
+
.kd-btn-group-trigger .kd-btn-primary {
|
|
358
|
+
background: var(--kd-c-button-group-trigger-color-background, #4367c1);
|
|
359
|
+
}
|
|
360
|
+
.kd-btn-group-trigger .kd-btn-primary:hover {
|
|
361
|
+
background: var(--kd-c-button-group-trigger-color-background-hover, #4c74da);
|
|
362
|
+
border-color: var(--kd-c-button-group-trigger-color-background-hover, #4c74da);
|
|
363
|
+
}
|
|
364
|
+
.kd-btn-group-trigger .kd-btn-primary:active {
|
|
365
|
+
background: var(--kd-c-button-group-trigger-color-background-active, #3B5AA9);
|
|
366
|
+
}
|
|
367
|
+
.kd-btn-group-trigger .kd-btn-primary:disabled {
|
|
368
|
+
background: var(--kd-c-button-group-trigger-color-background-disabled, #95a4c8) !important;
|
|
369
|
+
}
|
|
370
|
+
.kd-btn-group-trigger .kd-btn {
|
|
371
|
+
margin-left: -1px;
|
|
372
|
+
}
|
|
373
|
+
.kd-btn-group .kd-btn-size-small,
|
|
374
|
+
.kd-btn-group .kd-btn-size-middle,
|
|
375
|
+
.kd-btn-group .kd-btn-size-large {
|
|
376
|
+
min-width: unset;
|
|
377
|
+
}
|
|
378
|
+
.kd-btn-group .kd-btn:first-child {
|
|
379
|
+
border-top-right-radius: 0;
|
|
380
|
+
border-bottom-right-radius: 0;
|
|
381
|
+
}
|
|
382
|
+
.kd-btn-group .kd-btn:last-child {
|
|
383
|
+
border-top-left-radius: 0;
|
|
384
|
+
border-bottom-left-radius: 0;
|
|
385
|
+
}
|
|
386
|
+
.kd-btn-group .kd-dropdown-menu {
|
|
387
|
+
padding: 0;
|
|
388
|
+
}
|
|
389
|
+
.kd-btn-group-dropdown {
|
|
390
|
+
-webkit-box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
|
|
391
|
+
box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
|
|
392
|
+
background: var(--kd-c-button-group-dropdown-color-background, #fff);
|
|
393
|
+
color: #333333;
|
|
394
|
+
min-width: var(--kd-c-button-group-dropdown-min-width, 80px);
|
|
395
|
+
}
|
|
396
|
+
.kd-btn-group-dropdown-item {
|
|
397
|
+
height: var(--kd-c-button--group-dropdown-item-height, 30px);
|
|
398
|
+
line-height: var(--kd-c-button--group-dropdown-item-height, 30px);
|
|
399
|
+
cursor: pointer;
|
|
400
|
+
padding: 0 var(--kd-c-button-group-dropdown-item-horizonta, 12px);
|
|
401
|
+
}
|
|
402
|
+
.kd-btn-group-dropdown-item:hover {
|
|
403
|
+
background: var(--kd-c-button-group-dropdown-item-color-background-hover, #F5F5F5);
|
|
404
|
+
}
|
|
405
|
+
.kd-btn-group-dropdown-item:not(:last-child) {
|
|
406
|
+
border-bottom: 1px solid var(--kd-c-button-group-dropdown-item-border-color, #E5E5E5);
|
|
407
|
+
}
|
|
408
|
+
.kd-btn-group.topLeft.hidden,
|
|
409
|
+
.kd-btn-group.bottomLeft.hidden,
|
|
410
|
+
.kd-btn-group.topRight.hidden,
|
|
411
|
+
.kd-btn-group.bottomRight.hidden {
|
|
412
|
+
opacity: 0;
|
|
413
|
+
visibility: hidden;
|
|
414
|
+
-webkit-transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
|
|
415
|
+
transition: all calc(0.3s - 0.1s) cubic-bezier(0.4, 0, 0.6, 1);
|
|
320
416
|
}
|