wssf-kage-ui 0.1.2 → 0.1.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.
- package/dist/cjs/Alert/index.d.ts +37 -0
- package/dist/cjs/Alert/index.js +124 -0
- package/dist/cjs/Alert/style.less +248 -0
- package/dist/cjs/Drawer/index.d.ts +57 -0
- package/dist/cjs/Drawer/index.js +203 -0
- package/dist/cjs/Drawer/style.less +215 -0
- package/dist/cjs/FloatButton/index.d.ts +54 -0
- package/dist/cjs/FloatButton/index.js +119 -0
- package/dist/cjs/FloatButton/style.less +266 -0
- package/dist/cjs/Message/index.d.ts +38 -0
- package/dist/cjs/Message/index.js +292 -0
- package/dist/cjs/Message/style.less +183 -0
- package/dist/cjs/Modal/index.d.ts +63 -0
- package/dist/cjs/Modal/index.js +254 -0
- package/dist/cjs/Modal/style.less +298 -0
- package/dist/cjs/Notification/index.d.ts +48 -0
- package/dist/cjs/Notification/index.js +340 -0
- package/dist/cjs/Notification/style.less +260 -0
- package/dist/cjs/Popconfirm/index.d.ts +58 -0
- package/dist/cjs/Popconfirm/index.js +393 -0
- package/dist/cjs/Popconfirm/style.less +417 -0
- package/dist/cjs/Progress/index.d.ts +43 -0
- package/dist/cjs/Progress/index.js +213 -0
- package/dist/cjs/Progress/style.less +206 -0
- package/dist/cjs/Result/index.d.ts +25 -0
- package/dist/cjs/Result/index.js +63 -0
- package/dist/cjs/Result/style.less +111 -0
- package/dist/cjs/Skeleton/index.d.ts +88 -0
- package/dist/cjs/Skeleton/index.js +207 -0
- package/dist/cjs/Skeleton/style.less +487 -0
- package/dist/cjs/Spin/index.d.ts +25 -0
- package/dist/cjs/Spin/index.js +98 -0
- package/dist/cjs/Spin/style.less +169 -0
- package/dist/cjs/Tree/index.d.ts +82 -0
- package/dist/cjs/Tree/index.js +226 -0
- package/dist/cjs/Tree/style.less +313 -0
- package/dist/cjs/Watermark/index.d.ts +41 -0
- package/dist/cjs/Watermark/index.js +353 -0
- package/dist/cjs/Watermark/style.less +31 -0
- package/dist/cjs/index.d.ts +27 -1
- package/dist/cjs/index.js +91 -0
- package/dist/esm/Alert/index.d.ts +37 -0
- package/dist/esm/Alert/index.js +121 -0
- package/dist/esm/Alert/style.less +248 -0
- package/dist/esm/Drawer/index.d.ts +57 -0
- package/dist/esm/Drawer/index.js +202 -0
- package/dist/esm/Drawer/style.less +215 -0
- package/dist/esm/FloatButton/index.d.ts +54 -0
- package/dist/esm/FloatButton/index.js +123 -0
- package/dist/esm/FloatButton/style.less +266 -0
- package/dist/esm/Message/index.d.ts +38 -0
- package/dist/esm/Message/index.js +294 -0
- package/dist/esm/Message/style.less +183 -0
- package/dist/esm/Modal/index.d.ts +63 -0
- package/dist/esm/Modal/index.js +251 -0
- package/dist/esm/Modal/style.less +298 -0
- package/dist/esm/Notification/index.d.ts +48 -0
- package/dist/esm/Notification/index.js +345 -0
- package/dist/esm/Notification/style.less +260 -0
- package/dist/esm/Popconfirm/index.d.ts +58 -0
- package/dist/esm/Popconfirm/index.js +389 -0
- package/dist/esm/Popconfirm/style.less +417 -0
- package/dist/esm/Progress/index.d.ts +43 -0
- package/dist/esm/Progress/index.js +208 -0
- package/dist/esm/Progress/style.less +206 -0
- package/dist/esm/Result/index.d.ts +25 -0
- package/dist/esm/Result/index.js +57 -0
- package/dist/esm/Result/style.less +111 -0
- package/dist/esm/Skeleton/index.d.ts +88 -0
- package/dist/esm/Skeleton/index.js +213 -0
- package/dist/esm/Skeleton/style.less +487 -0
- package/dist/esm/Spin/index.d.ts +25 -0
- package/dist/esm/Spin/index.js +95 -0
- package/dist/esm/Spin/style.less +169 -0
- package/dist/esm/Tree/index.d.ts +82 -0
- package/dist/esm/Tree/index.js +225 -0
- package/dist/esm/Tree/style.less +313 -0
- package/dist/esm/Watermark/index.d.ts +41 -0
- package/dist/esm/Watermark/index.js +349 -0
- package/dist/esm/Watermark/style.less +31 -0
- package/dist/esm/index.d.ts +27 -1
- package/dist/esm/index.js +14 -1
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Watermark 水印组件样式
|
|
2
|
+
|
|
3
|
+
@prefix: kage-watermark;
|
|
4
|
+
|
|
5
|
+
// ============ 主容器 ============
|
|
6
|
+
.@{prefix} {
|
|
7
|
+
position: relative;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
|
|
10
|
+
* {
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// ============ 水印内容 ============
|
|
16
|
+
.@{prefix}-content {
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 0;
|
|
19
|
+
left: 0;
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
pointer-events: none;
|
|
23
|
+
z-index: 9;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// ============ 子元素 ============
|
|
27
|
+
.@{prefix}-children {
|
|
28
|
+
position: relative;
|
|
29
|
+
z-index: 1;
|
|
30
|
+
}
|
|
31
|
+
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export type { TimePickerProps, TimeValue } from './TimePicker';
|
|
|
63
63
|
export { default as Transfer } from './Transfer';
|
|
64
64
|
export type { TransferProps, TransferItem, TransferDirection } from './Transfer';
|
|
65
65
|
export { default as TreeSelect } from './TreeSelect';
|
|
66
|
-
export type { TreeSelectProps, TreeNode } from './TreeSelect';
|
|
66
|
+
export type { TreeSelectProps, TreeNode as TreeSelectTreeNode } from './TreeSelect';
|
|
67
67
|
export { default as Upload } from './Upload';
|
|
68
68
|
export type { UploadProps, UploadFile, UploadListType } from './Upload';
|
|
69
69
|
export { default as Avatar } from './Avatar';
|
|
@@ -100,3 +100,29 @@ export { default as Timeline, TimelineItem } from './Timeline';
|
|
|
100
100
|
export type { TimelineProps, TimelineItemProps, TimelineItemColor, TimelineMode, } from './Timeline';
|
|
101
101
|
export { default as Tooltip } from './Tooltip';
|
|
102
102
|
export type { TooltipProps, TooltipPlacement, TooltipTrigger, TooltipColor, } from './Tooltip';
|
|
103
|
+
export { default as Tree } from './Tree';
|
|
104
|
+
export type { TreeProps, TreeNode, TreeSelectMode, } from './Tree';
|
|
105
|
+
export { default as Alert } from './Alert';
|
|
106
|
+
export type { AlertProps, AlertType, } from './Alert';
|
|
107
|
+
export { default as Drawer } from './Drawer';
|
|
108
|
+
export type { DrawerProps, DrawerPlacement, } from './Drawer';
|
|
109
|
+
export { default as Message } from './Message';
|
|
110
|
+
export type { MessageApi, MessageConfig, MessageType, } from './Message';
|
|
111
|
+
export { default as Modal } from './Modal';
|
|
112
|
+
export type { ModalProps, } from './Modal';
|
|
113
|
+
export { default as Notification } from './Notification';
|
|
114
|
+
export type { NotificationApi, NotificationConfig, NotificationType, NotificationPlacement, } from './Notification';
|
|
115
|
+
export { default as Popconfirm } from './Popconfirm';
|
|
116
|
+
export type { PopconfirmProps, PopconfirmPlacement, PopconfirmTrigger, } from './Popconfirm';
|
|
117
|
+
export { default as Progress } from './Progress';
|
|
118
|
+
export type { ProgressProps, ProgressType, ProgressStatus, } from './Progress';
|
|
119
|
+
export { default as Result } from './Result';
|
|
120
|
+
export type { ResultProps, ResultStatus, } from './Result';
|
|
121
|
+
export { default as FloatButton } from './FloatButton';
|
|
122
|
+
export type { FloatButtonProps, FloatButtonGroupProps, FloatButtonType, FloatButtonShape, FloatButtonTrigger, } from './FloatButton';
|
|
123
|
+
export { default as Skeleton } from './Skeleton';
|
|
124
|
+
export type { SkeletonProps, SkeletonButtonProps, SkeletonInputProps, SkeletonImageProps, SkeletonAvatarProps, } from './Skeleton';
|
|
125
|
+
export { default as Spin } from './Spin';
|
|
126
|
+
export type { SpinProps } from './Spin';
|
|
127
|
+
export { default as Watermark } from './Watermark';
|
|
128
|
+
export type { WatermarkProps } from './Watermark';
|
package/dist/cjs/index.js
CHANGED
|
@@ -4,6 +4,12 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
Object.defineProperty(exports, "Alert", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _Alert.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
7
13
|
Object.defineProperty(exports, "Anchor", {
|
|
8
14
|
enumerable: true,
|
|
9
15
|
get: function get() {
|
|
@@ -148,6 +154,12 @@ Object.defineProperty(exports, "Divider", {
|
|
|
148
154
|
return _Divider.Divider;
|
|
149
155
|
}
|
|
150
156
|
});
|
|
157
|
+
Object.defineProperty(exports, "Drawer", {
|
|
158
|
+
enumerable: true,
|
|
159
|
+
get: function get() {
|
|
160
|
+
return _Drawer.default;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
151
163
|
Object.defineProperty(exports, "Dropdown", {
|
|
152
164
|
enumerable: true,
|
|
153
165
|
get: function get() {
|
|
@@ -172,6 +184,12 @@ Object.defineProperty(exports, "Flex", {
|
|
|
172
184
|
return _Flex.Flex;
|
|
173
185
|
}
|
|
174
186
|
});
|
|
187
|
+
Object.defineProperty(exports, "FloatButton", {
|
|
188
|
+
enumerable: true,
|
|
189
|
+
get: function get() {
|
|
190
|
+
return _FloatButton.default;
|
|
191
|
+
}
|
|
192
|
+
});
|
|
175
193
|
Object.defineProperty(exports, "Footer", {
|
|
176
194
|
enumerable: true,
|
|
177
195
|
get: function get() {
|
|
@@ -250,6 +268,24 @@ Object.defineProperty(exports, "Menu", {
|
|
|
250
268
|
return _Menu.default;
|
|
251
269
|
}
|
|
252
270
|
});
|
|
271
|
+
Object.defineProperty(exports, "Message", {
|
|
272
|
+
enumerable: true,
|
|
273
|
+
get: function get() {
|
|
274
|
+
return _Message.default;
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
Object.defineProperty(exports, "Modal", {
|
|
278
|
+
enumerable: true,
|
|
279
|
+
get: function get() {
|
|
280
|
+
return _Modal.default;
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
Object.defineProperty(exports, "Notification", {
|
|
284
|
+
enumerable: true,
|
|
285
|
+
get: function get() {
|
|
286
|
+
return _Notification.default;
|
|
287
|
+
}
|
|
288
|
+
});
|
|
253
289
|
Object.defineProperty(exports, "Pagination", {
|
|
254
290
|
enumerable: true,
|
|
255
291
|
get: function get() {
|
|
@@ -268,12 +304,24 @@ Object.defineProperty(exports, "Paragraph", {
|
|
|
268
304
|
return _Typography.Paragraph;
|
|
269
305
|
}
|
|
270
306
|
});
|
|
307
|
+
Object.defineProperty(exports, "Popconfirm", {
|
|
308
|
+
enumerable: true,
|
|
309
|
+
get: function get() {
|
|
310
|
+
return _Popconfirm.default;
|
|
311
|
+
}
|
|
312
|
+
});
|
|
271
313
|
Object.defineProperty(exports, "Popover", {
|
|
272
314
|
enumerable: true,
|
|
273
315
|
get: function get() {
|
|
274
316
|
return _Popover.default;
|
|
275
317
|
}
|
|
276
318
|
});
|
|
319
|
+
Object.defineProperty(exports, "Progress", {
|
|
320
|
+
enumerable: true,
|
|
321
|
+
get: function get() {
|
|
322
|
+
return _Progress.default;
|
|
323
|
+
}
|
|
324
|
+
});
|
|
277
325
|
Object.defineProperty(exports, "QRCode", {
|
|
278
326
|
enumerable: true,
|
|
279
327
|
get: function get() {
|
|
@@ -304,6 +352,12 @@ Object.defineProperty(exports, "Rate", {
|
|
|
304
352
|
return _Rate.default;
|
|
305
353
|
}
|
|
306
354
|
});
|
|
355
|
+
Object.defineProperty(exports, "Result", {
|
|
356
|
+
enumerable: true,
|
|
357
|
+
get: function get() {
|
|
358
|
+
return _Result.default;
|
|
359
|
+
}
|
|
360
|
+
});
|
|
307
361
|
Object.defineProperty(exports, "Row", {
|
|
308
362
|
enumerable: true,
|
|
309
363
|
get: function get() {
|
|
@@ -328,6 +382,12 @@ Object.defineProperty(exports, "Sider", {
|
|
|
328
382
|
return _Layout.Sider;
|
|
329
383
|
}
|
|
330
384
|
});
|
|
385
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
386
|
+
enumerable: true,
|
|
387
|
+
get: function get() {
|
|
388
|
+
return _Skeleton.default;
|
|
389
|
+
}
|
|
390
|
+
});
|
|
331
391
|
Object.defineProperty(exports, "Slider", {
|
|
332
392
|
enumerable: true,
|
|
333
393
|
get: function get() {
|
|
@@ -340,6 +400,12 @@ Object.defineProperty(exports, "Space", {
|
|
|
340
400
|
return _Space.default;
|
|
341
401
|
}
|
|
342
402
|
});
|
|
403
|
+
Object.defineProperty(exports, "Spin", {
|
|
404
|
+
enumerable: true,
|
|
405
|
+
get: function get() {
|
|
406
|
+
return _Spin.default;
|
|
407
|
+
}
|
|
408
|
+
});
|
|
343
409
|
Object.defineProperty(exports, "Splitter", {
|
|
344
410
|
enumerable: true,
|
|
345
411
|
get: function get() {
|
|
@@ -424,6 +490,12 @@ Object.defineProperty(exports, "Transfer", {
|
|
|
424
490
|
return _Transfer.default;
|
|
425
491
|
}
|
|
426
492
|
});
|
|
493
|
+
Object.defineProperty(exports, "Tree", {
|
|
494
|
+
enumerable: true,
|
|
495
|
+
get: function get() {
|
|
496
|
+
return _Tree.default;
|
|
497
|
+
}
|
|
498
|
+
});
|
|
427
499
|
Object.defineProperty(exports, "TreeSelect", {
|
|
428
500
|
enumerable: true,
|
|
429
501
|
get: function get() {
|
|
@@ -442,6 +514,12 @@ Object.defineProperty(exports, "Upload", {
|
|
|
442
514
|
return _Upload.default;
|
|
443
515
|
}
|
|
444
516
|
});
|
|
517
|
+
Object.defineProperty(exports, "Watermark", {
|
|
518
|
+
enumerable: true,
|
|
519
|
+
get: function get() {
|
|
520
|
+
return _Watermark.default;
|
|
521
|
+
}
|
|
522
|
+
});
|
|
445
523
|
var _Button = require("./Button");
|
|
446
524
|
var _Typography = _interopRequireWildcard(require("./Typography"));
|
|
447
525
|
var _Divider = require("./Divider");
|
|
@@ -493,6 +571,19 @@ var _Table = _interopRequireDefault(require("./Table"));
|
|
|
493
571
|
var _Tag = _interopRequireWildcard(require("./Tag"));
|
|
494
572
|
var _Timeline = _interopRequireWildcard(require("./Timeline"));
|
|
495
573
|
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
|
574
|
+
var _Tree = _interopRequireDefault(require("./Tree"));
|
|
575
|
+
var _Alert = _interopRequireDefault(require("./Alert"));
|
|
576
|
+
var _Drawer = _interopRequireDefault(require("./Drawer"));
|
|
577
|
+
var _Message = _interopRequireDefault(require("./Message"));
|
|
578
|
+
var _Modal = _interopRequireDefault(require("./Modal"));
|
|
579
|
+
var _Notification = _interopRequireDefault(require("./Notification"));
|
|
580
|
+
var _Popconfirm = _interopRequireDefault(require("./Popconfirm"));
|
|
581
|
+
var _Progress = _interopRequireDefault(require("./Progress"));
|
|
582
|
+
var _Result = _interopRequireDefault(require("./Result"));
|
|
583
|
+
var _FloatButton = _interopRequireDefault(require("./FloatButton"));
|
|
584
|
+
var _Skeleton = _interopRequireDefault(require("./Skeleton"));
|
|
585
|
+
var _Spin = _interopRequireDefault(require("./Spin"));
|
|
586
|
+
var _Watermark = _interopRequireDefault(require("./Watermark"));
|
|
496
587
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
497
588
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
498
589
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { ReactNode, CSSProperties } from 'react';
|
|
2
|
+
import './style.less';
|
|
3
|
+
/** Alert 类型 */
|
|
4
|
+
export type AlertType = 'success' | 'info' | 'warning' | 'error';
|
|
5
|
+
/** Alert 属性 */
|
|
6
|
+
export interface AlertProps {
|
|
7
|
+
/** 警告提示内容 */
|
|
8
|
+
message?: ReactNode;
|
|
9
|
+
/** 警告提示的辅助性文字介绍 */
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
/** 指定警告的样式类型 */
|
|
12
|
+
type?: AlertType;
|
|
13
|
+
/** 是否显示辅助图标 */
|
|
14
|
+
showIcon?: boolean;
|
|
15
|
+
/** 自定义图标 */
|
|
16
|
+
icon?: ReactNode;
|
|
17
|
+
/** 自定义关闭按钮 */
|
|
18
|
+
closeIcon?: ReactNode;
|
|
19
|
+
/** 是否显示关闭按钮 */
|
|
20
|
+
closable?: boolean;
|
|
21
|
+
/** 关闭时触发的回调函数 */
|
|
22
|
+
onClose?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
23
|
+
/** 关闭动画结束后触发的回调函数 */
|
|
24
|
+
afterClose?: () => void;
|
|
25
|
+
/** 自定义操作项 */
|
|
26
|
+
action?: ReactNode;
|
|
27
|
+
/** 自定义类名 */
|
|
28
|
+
className?: string;
|
|
29
|
+
/** 自定义样式 */
|
|
30
|
+
style?: CSSProperties;
|
|
31
|
+
/** 是否用图标和标题换行 */
|
|
32
|
+
banner?: boolean;
|
|
33
|
+
/** 子元素 */
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
}
|
|
36
|
+
export declare const Alert: React.FC<AlertProps>;
|
|
37
|
+
export default Alert;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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); }
|
|
4
|
+
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; }
|
|
5
|
+
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; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import React, { useState } from 'react';
|
|
8
|
+
import "./style.less";
|
|
9
|
+
|
|
10
|
+
// ============ 类型定义 ============
|
|
11
|
+
|
|
12
|
+
/** Alert 类型 */
|
|
13
|
+
|
|
14
|
+
/** Alert 属性 */
|
|
15
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
// ============ 默认图标 ============
|
|
18
|
+
var defaultIcons = {
|
|
19
|
+
success: '✓',
|
|
20
|
+
info: 'ℹ',
|
|
21
|
+
warning: '⚠',
|
|
22
|
+
error: '✕'
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// ============ Alert 组件 ============
|
|
26
|
+
export var Alert = function Alert(_ref) {
|
|
27
|
+
var message = _ref.message,
|
|
28
|
+
description = _ref.description,
|
|
29
|
+
_ref$type = _ref.type,
|
|
30
|
+
type = _ref$type === void 0 ? 'info' : _ref$type,
|
|
31
|
+
_ref$showIcon = _ref.showIcon,
|
|
32
|
+
showIcon = _ref$showIcon === void 0 ? false : _ref$showIcon,
|
|
33
|
+
icon = _ref.icon,
|
|
34
|
+
closeIcon = _ref.closeIcon,
|
|
35
|
+
_ref$closable = _ref.closable,
|
|
36
|
+
closable = _ref$closable === void 0 ? false : _ref$closable,
|
|
37
|
+
onClose = _ref.onClose,
|
|
38
|
+
afterClose = _ref.afterClose,
|
|
39
|
+
action = _ref.action,
|
|
40
|
+
_ref$className = _ref.className,
|
|
41
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
42
|
+
style = _ref.style,
|
|
43
|
+
_ref$banner = _ref.banner,
|
|
44
|
+
banner = _ref$banner === void 0 ? false : _ref$banner,
|
|
45
|
+
children = _ref.children;
|
|
46
|
+
var _useState = useState(true),
|
|
47
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
48
|
+
visible = _useState2[0],
|
|
49
|
+
setVisible = _useState2[1];
|
|
50
|
+
var _useState3 = useState(false),
|
|
51
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
|
+
closing = _useState4[0],
|
|
53
|
+
setClosing = _useState4[1];
|
|
54
|
+
|
|
55
|
+
// 处理关闭
|
|
56
|
+
var handleClose = function handleClose(e) {
|
|
57
|
+
e.stopPropagation();
|
|
58
|
+
onClose === null || onClose === void 0 || onClose(e);
|
|
59
|
+
if (!e.defaultPrevented) {
|
|
60
|
+
setClosing(true);
|
|
61
|
+
setTimeout(function () {
|
|
62
|
+
setVisible(false);
|
|
63
|
+
afterClose === null || afterClose === void 0 || afterClose();
|
|
64
|
+
}, 300); // 等待动画完成
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
if (!visible) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
var classNames = ['kage-alert', "kage-alert-".concat(type), showIcon && 'kage-alert-with-icon', closable && 'kage-alert-closable', banner && 'kage-alert-banner', closing && 'kage-alert-closing', className].filter(Boolean).join(' ');
|
|
71
|
+
|
|
72
|
+
// 渲染图标
|
|
73
|
+
var renderIcon = function renderIcon() {
|
|
74
|
+
if (!showIcon && !icon) return null;
|
|
75
|
+
var iconNode = icon || defaultIcons[type];
|
|
76
|
+
return /*#__PURE__*/_jsx("span", {
|
|
77
|
+
className: "kage-alert-icon",
|
|
78
|
+
children: iconNode
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
// 渲染关闭按钮
|
|
83
|
+
var renderCloseIcon = function renderCloseIcon() {
|
|
84
|
+
if (!closable) return null;
|
|
85
|
+
return /*#__PURE__*/_jsx("button", {
|
|
86
|
+
type: "button",
|
|
87
|
+
className: "kage-alert-close-icon",
|
|
88
|
+
onClick: handleClose,
|
|
89
|
+
"aria-label": "\u5173\u95ED",
|
|
90
|
+
children: closeIcon || '×'
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
// 渲染操作按钮
|
|
95
|
+
var renderAction = function renderAction() {
|
|
96
|
+
if (!action) return null;
|
|
97
|
+
return /*#__PURE__*/_jsx("div", {
|
|
98
|
+
className: "kage-alert-action",
|
|
99
|
+
children: action
|
|
100
|
+
});
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
// 使用 children 或 message
|
|
104
|
+
var content = children || message;
|
|
105
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
106
|
+
className: classNames,
|
|
107
|
+
style: style,
|
|
108
|
+
role: "alert",
|
|
109
|
+
children: [renderIcon(), /*#__PURE__*/_jsxs("div", {
|
|
110
|
+
className: "kage-alert-content",
|
|
111
|
+
children: [content && /*#__PURE__*/_jsx("div", {
|
|
112
|
+
className: "kage-alert-message",
|
|
113
|
+
children: content
|
|
114
|
+
}), description && /*#__PURE__*/_jsx("div", {
|
|
115
|
+
className: "kage-alert-description",
|
|
116
|
+
children: description
|
|
117
|
+
})]
|
|
118
|
+
}), renderAction(), renderCloseIcon()]
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
export default Alert;
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
// Alert 警告提示样式
|
|
2
|
+
|
|
3
|
+
@prefix: kage-alert;
|
|
4
|
+
|
|
5
|
+
// 颜色变量
|
|
6
|
+
@alert-success-bg: #f6ffed;
|
|
7
|
+
@alert-success-border: #b7eb8f;
|
|
8
|
+
@alert-success-icon: #52c41a;
|
|
9
|
+
@alert-info-bg: #e6f7ff;
|
|
10
|
+
@alert-info-border: #91d5ff;
|
|
11
|
+
@alert-info-icon: #1890ff;
|
|
12
|
+
@alert-warning-bg: #fffbe6;
|
|
13
|
+
@alert-warning-border: #ffe58f;
|
|
14
|
+
@alert-warning-icon: #faad14;
|
|
15
|
+
@alert-error-bg: #fff2f0;
|
|
16
|
+
@alert-error-border: #ffccc7;
|
|
17
|
+
@alert-error-icon: #ff4d4f;
|
|
18
|
+
|
|
19
|
+
// ============ 主容器 ============
|
|
20
|
+
.@{prefix} {
|
|
21
|
+
position: relative;
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: flex-start;
|
|
24
|
+
padding: 8px 15px;
|
|
25
|
+
margin-bottom: 16px;
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
line-height: 1.5715;
|
|
28
|
+
border: 1px solid;
|
|
29
|
+
border-radius: 6px;
|
|
30
|
+
transition: all 0.3s;
|
|
31
|
+
|
|
32
|
+
* {
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// ============ 不同类型 ============
|
|
38
|
+
.@{prefix}-success {
|
|
39
|
+
background-color: @alert-success-bg;
|
|
40
|
+
border-color: @alert-success-border;
|
|
41
|
+
color: rgba(0, 0, 0, 0.85);
|
|
42
|
+
|
|
43
|
+
.@{prefix}-icon {
|
|
44
|
+
color: @alert-success-icon;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.@{prefix}-info {
|
|
49
|
+
background-color: @alert-info-bg;
|
|
50
|
+
border-color: @alert-info-border;
|
|
51
|
+
color: rgba(0, 0, 0, 0.85);
|
|
52
|
+
|
|
53
|
+
.@{prefix}-icon {
|
|
54
|
+
color: @alert-info-icon;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.@{prefix}-warning {
|
|
59
|
+
background-color: @alert-warning-bg;
|
|
60
|
+
border-color: @alert-warning-border;
|
|
61
|
+
color: rgba(0, 0, 0, 0.85);
|
|
62
|
+
|
|
63
|
+
.@{prefix}-icon {
|
|
64
|
+
color: @alert-warning-icon;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.@{prefix}-error {
|
|
69
|
+
background-color: @alert-error-bg;
|
|
70
|
+
border-color: @alert-error-border;
|
|
71
|
+
color: rgba(0, 0, 0, 0.85);
|
|
72
|
+
|
|
73
|
+
.@{prefix}-icon {
|
|
74
|
+
color: @alert-error-icon;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// ============ 图标 ============
|
|
79
|
+
.@{prefix}-icon {
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
margin-right: 8px;
|
|
83
|
+
font-size: 16px;
|
|
84
|
+
line-height: 1;
|
|
85
|
+
flex-shrink: 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.@{prefix}-with-icon {
|
|
89
|
+
padding-left: 37px;
|
|
90
|
+
|
|
91
|
+
.@{prefix}-icon {
|
|
92
|
+
position: absolute;
|
|
93
|
+
top: 8px;
|
|
94
|
+
left: 15px;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// ============ 内容区域 ============
|
|
99
|
+
.@{prefix}-content {
|
|
100
|
+
flex: 1;
|
|
101
|
+
min-width: 0;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.@{prefix}-message {
|
|
105
|
+
margin-bottom: 4px;
|
|
106
|
+
font-size: 14px;
|
|
107
|
+
font-weight: 500;
|
|
108
|
+
line-height: 1.5715;
|
|
109
|
+
color: rgba(0, 0, 0, 0.85);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.@{prefix}-description {
|
|
113
|
+
font-size: 14px;
|
|
114
|
+
line-height: 1.5715;
|
|
115
|
+
color: rgba(0, 0, 0, 0.65);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// ============ 操作按钮 ============
|
|
119
|
+
.@{prefix}-action {
|
|
120
|
+
margin-left: 8px;
|
|
121
|
+
flex-shrink: 0;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// ============ 关闭按钮 ============
|
|
125
|
+
.@{prefix}-close-icon {
|
|
126
|
+
position: absolute;
|
|
127
|
+
top: 8px;
|
|
128
|
+
right: 15px;
|
|
129
|
+
padding: 0;
|
|
130
|
+
margin: 0;
|
|
131
|
+
color: rgba(0, 0, 0, 0.45);
|
|
132
|
+
font-size: 12px;
|
|
133
|
+
line-height: 1;
|
|
134
|
+
text-align: center;
|
|
135
|
+
background: transparent;
|
|
136
|
+
border: none;
|
|
137
|
+
border-radius: 2px;
|
|
138
|
+
cursor: pointer;
|
|
139
|
+
transition: all 0.2s;
|
|
140
|
+
flex-shrink: 0;
|
|
141
|
+
|
|
142
|
+
&:hover {
|
|
143
|
+
color: rgba(0, 0, 0, 0.85);
|
|
144
|
+
background-color: rgba(0, 0, 0, 0.06);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
&:active {
|
|
148
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.@{prefix}-closable {
|
|
153
|
+
padding-right: 30px;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// ============ Banner 模式 ============
|
|
157
|
+
.@{prefix}-banner {
|
|
158
|
+
border-radius: 0;
|
|
159
|
+
border-left: none;
|
|
160
|
+
border-right: none;
|
|
161
|
+
margin-bottom: 0;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// ============ 关闭动画 ============
|
|
165
|
+
.@{prefix}-closing {
|
|
166
|
+
opacity: 0;
|
|
167
|
+
transform: scale(0.95);
|
|
168
|
+
margin-bottom: 0;
|
|
169
|
+
padding-top: 0;
|
|
170
|
+
padding-bottom: 0;
|
|
171
|
+
height: 0;
|
|
172
|
+
overflow: hidden;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// ============ 暗色模式适配 ============
|
|
176
|
+
[data-theme='dark'],
|
|
177
|
+
[data-prefers-color-scheme='dark'],
|
|
178
|
+
[data-prefers-color='dark'],
|
|
179
|
+
html.dark,
|
|
180
|
+
body.dark,
|
|
181
|
+
.dark {
|
|
182
|
+
.@{prefix} {
|
|
183
|
+
background-color: #1f1f1f;
|
|
184
|
+
color: rgba(255, 255, 255, 0.85);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.@{prefix}-success {
|
|
188
|
+
background-color: rgba(82, 196, 26, 0.1);
|
|
189
|
+
border-color: rgba(82, 196, 26, 0.3);
|
|
190
|
+
color: rgba(255, 255, 255, 0.85);
|
|
191
|
+
|
|
192
|
+
.@{prefix}-icon {
|
|
193
|
+
color: #52c41a;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.@{prefix}-info {
|
|
198
|
+
background-color: rgba(24, 144, 255, 0.1);
|
|
199
|
+
border-color: rgba(24, 144, 255, 0.3);
|
|
200
|
+
color: rgba(255, 255, 255, 0.85);
|
|
201
|
+
|
|
202
|
+
.@{prefix}-icon {
|
|
203
|
+
color: #1890ff;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.@{prefix}-warning {
|
|
208
|
+
background-color: rgba(250, 173, 20, 0.1);
|
|
209
|
+
border-color: rgba(250, 173, 20, 0.3);
|
|
210
|
+
color: rgba(255, 255, 255, 0.85);
|
|
211
|
+
|
|
212
|
+
.@{prefix}-icon {
|
|
213
|
+
color: #faad14;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.@{prefix}-error {
|
|
218
|
+
background-color: rgba(255, 77, 79, 0.1);
|
|
219
|
+
border-color: rgba(255, 77, 79, 0.3);
|
|
220
|
+
color: rgba(255, 255, 255, 0.85);
|
|
221
|
+
|
|
222
|
+
.@{prefix}-icon {
|
|
223
|
+
color: #ff4d4f;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.@{prefix}-message {
|
|
228
|
+
color: rgba(255, 255, 255, 0.85);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.@{prefix}-description {
|
|
232
|
+
color: rgba(255, 255, 255, 0.65);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.@{prefix}-close-icon {
|
|
236
|
+
color: rgba(255, 255, 255, 0.45);
|
|
237
|
+
|
|
238
|
+
&:hover {
|
|
239
|
+
color: rgba(255, 255, 255, 0.85);
|
|
240
|
+
background-color: rgba(255, 255, 255, 0.08);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
&:active {
|
|
244
|
+
background-color: rgba(255, 255, 255, 0.12);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React, { ReactNode, CSSProperties } from 'react';
|
|
2
|
+
import './style.less';
|
|
3
|
+
/** Drawer 位置 */
|
|
4
|
+
export type DrawerPlacement = 'top' | 'right' | 'bottom' | 'left';
|
|
5
|
+
/** Drawer 属性 */
|
|
6
|
+
export interface DrawerProps {
|
|
7
|
+
/** 是否显示 */
|
|
8
|
+
open?: boolean;
|
|
9
|
+
/** 默认是否显示 */
|
|
10
|
+
defaultOpen?: boolean;
|
|
11
|
+
/** 显示隐藏的回调 */
|
|
12
|
+
onClose?: (e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
13
|
+
/** 关闭后的回调 */
|
|
14
|
+
afterOpenChange?: (open: boolean) => void;
|
|
15
|
+
/** 标题 */
|
|
16
|
+
title?: ReactNode;
|
|
17
|
+
/** 内容 */
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
/** 抽屉的位置 */
|
|
20
|
+
placement?: DrawerPlacement;
|
|
21
|
+
/** 是否显示遮罩 */
|
|
22
|
+
mask?: boolean;
|
|
23
|
+
/** 点击遮罩是否关闭 */
|
|
24
|
+
maskClosable?: boolean;
|
|
25
|
+
/** 是否显示关闭按钮 */
|
|
26
|
+
closable?: boolean;
|
|
27
|
+
/** 自定义关闭图标 */
|
|
28
|
+
closeIcon?: ReactNode;
|
|
29
|
+
/** 自定义遮罩样式 */
|
|
30
|
+
maskStyle?: CSSProperties;
|
|
31
|
+
/** 自定义主体内容样式 */
|
|
32
|
+
bodyStyle?: CSSProperties;
|
|
33
|
+
/** 自定义头部样式 */
|
|
34
|
+
headerStyle?: CSSProperties;
|
|
35
|
+
/** 自定义底部样式 */
|
|
36
|
+
footerStyle?: CSSProperties;
|
|
37
|
+
/** 底部内容 */
|
|
38
|
+
footer?: ReactNode;
|
|
39
|
+
/** 宽度(placement 为 left 或 right 时) */
|
|
40
|
+
width?: number | string;
|
|
41
|
+
/** 高度(placement 为 top 或 bottom 时) */
|
|
42
|
+
height?: number | string;
|
|
43
|
+
/** 自定义类名 */
|
|
44
|
+
className?: string;
|
|
45
|
+
/** 自定义样式 */
|
|
46
|
+
style?: CSSProperties;
|
|
47
|
+
/** z-index */
|
|
48
|
+
zIndex?: number;
|
|
49
|
+
/** 是否支持键盘 ESC 关闭 */
|
|
50
|
+
keyboard?: boolean;
|
|
51
|
+
/** 是否在关闭时销毁 Drawer 里的子元素 */
|
|
52
|
+
destroyOnClose?: boolean;
|
|
53
|
+
/** 是否显示遮罩背景 */
|
|
54
|
+
maskClassName?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const Drawer: React.FC<DrawerProps>;
|
|
57
|
+
export default Drawer;
|