@knockout-js/layout 0.1.30 → 0.1.32

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.
@@ -0,0 +1,117 @@
1
+ .ko-page-container>.ant-page-header .ant-page-header-heading {
2
+ display: none;
3
+ }
4
+
5
+ .ko-page-container .ant-breadcrumb-link {
6
+ color: rgba(0, 0, 0, 0.88);
7
+ }
8
+
9
+ .ko-page-container .ant-pro-table-list-toolbar-container {
10
+ border-top: solid 1px #eeeef1;
11
+ }
12
+
13
+ .ko-detail-subTitle {
14
+ padding: 16px 24px 0 24px;
15
+ }
16
+
17
+ .ko-detail-subTitle .label {
18
+ color: #686a8f
19
+ }
20
+
21
+ .ko-detail-subTitle.ko-detail-subTitle-end {
22
+ padding-bottom: 16px;
23
+ border-bottom: solid 1px #eeeef1;
24
+ }
25
+
26
+ .ko-readonly-tags {
27
+ min-height: 32px;
28
+ padding: 2px 11px;
29
+ border: 1px solid #d9d9d9;
30
+ border-radius: 6px;
31
+ display: flex;
32
+ flex-wrap: wrap;
33
+ gap: 4px;
34
+ align-items: center;
35
+ transition: border-color 0.2s;
36
+ cursor: text;
37
+ }
38
+
39
+ .ko-readonly-tags .ant-tag {
40
+ font-size: 14px;
41
+ height: 24px;
42
+ line-height: 22px;
43
+ }
44
+
45
+ .ko-readonly-tags:hover {
46
+ border-color: #1677ff;
47
+ }
48
+
49
+ .ko-detail-tabs .ant-tabs-nav {
50
+ padding-left: 10px;
51
+ padding-right: 10px;
52
+ }
53
+
54
+ .ko-table-small-toolbar .ant-pro-table-list-toolbar-container {
55
+ padding-top: 0;
56
+ }
57
+
58
+ .ko-table-small-toolbar .ant-pro-table-list-toolbar-container .ant-pro-table-list-toolbar-title {
59
+ font-size: 14px;
60
+ }
61
+
62
+ .ko-divider-gray {
63
+ border-inline-start-color: #bcbec3;
64
+ }
65
+
66
+ .ko-detail-container {
67
+ background-color: #ffffff;
68
+ border-radius: 6px;
69
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .13);
70
+ }
71
+
72
+ .ko-detail-title {
73
+ font-size: 18px;
74
+ font-weight: 600;
75
+ }
76
+
77
+ .ko-detail-tabs-proCard.ant-pro-card .ant-pro-card-header .ant-pro-card-title {
78
+ font-size: 15px;
79
+ height: 32px;
80
+ line-height: 32px;
81
+ font-weight: 600;
82
+ }
83
+
84
+ .ko-detail-tabs-proCard.ant-pro-card .ant-pro-card-header {
85
+ padding-block: 0;
86
+ }
87
+
88
+ .ko-detail-tabs-proTable-action .ant-pro-table-list-toolbar-container {
89
+ padding-block-start: 0;
90
+ padding-block-end: 12px;
91
+ border-top: none;
92
+ }
93
+
94
+ .ko-detail-tabs-proTable-action .ant-pro-table-list-toolbar-title {
95
+ height: 32px;
96
+ line-height: 32px;
97
+ font-size: 15px;
98
+ font-weight: 600;
99
+ }
100
+
101
+ .ko-tree-form-title {
102
+ height: 32px;
103
+ line-height: 32px;
104
+ font-size: 15px;
105
+ margin-bottom: 16px;
106
+ font-weight: 600;
107
+ }
108
+
109
+ .ko-page-container .ka-content {
110
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .13);
111
+ background-color: #ffffff;
112
+ border-radius: 6px;
113
+ }
114
+
115
+ .ko-page-tabs>.ant-pro-card-body {
116
+ padding-block-start: 0;
117
+ }
@@ -14,4 +14,5 @@ export { default as AggregateMenu, type AggregateMenuDataSource } from './aggreg
14
14
  export { default as UploadAvatar } from './upload-file/uploadAvatar';
15
15
  export { default as UploadMultiple } from './upload-file/uploadMultiple';
16
16
  export { default as UploadTemp } from './upload-file/uploadTemp';
17
+ export { koMessage } from './message';
17
18
  export * as util from './_util';
@@ -14,6 +14,7 @@ export { default as AggregateMenu } from './aggregate-menu';
14
14
  export { default as UploadAvatar } from './upload-file/uploadAvatar';
15
15
  export { default as UploadMultiple } from './upload-file/uploadMultiple';
16
16
  export { default as UploadTemp } from './upload-file/uploadTemp';
17
+ export { koMessage } from './message';
17
18
  import * as _util from './_util';
18
19
  export { _util as util };
19
20
 
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,aAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,iBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,oBAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,eAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,oBAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,iBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,iBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,sBAAsB;AAClE,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,WAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,UAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,mBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,UAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB","names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"ignoreList":[],"sources":[".\\src\\components\\index.ts"]}
1
+ {"version":3,"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,aAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,iBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,oBAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,eAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,oBAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,iBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,iBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,sBAAsB;AAClE,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,WAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,UAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,mBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AACjE,SAASC,SAAS,QAAQ,YAAY;AAEtC,uBAAsB,UAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB","names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","koMessage","util"],"ignoreList":[],"sources":[".\\src\\components\\index.ts"]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 自定义 Message 工具
3
+ * 封装 antd 的 message,支持:
4
+ * 1. duration 设置为0时不自动关闭
5
+ * 2. 自动添加关闭按钮
6
+ */
7
+ import React from 'react';
8
+ /**
9
+ * 自定义 message 对象
10
+ * 用法与 antd message 相同,但 duration 为 0 时会自动添加关闭按钮
11
+ *
12
+ * @example
13
+ * koMessage.error('错误信息', 0); // 不自动关闭,显示关闭按钮
14
+ * koMessage.success('成功信息', 3); // 3秒后自动关闭
15
+ * koMessage.info('提示信息'); // 使用默认时长
16
+ */
17
+ export declare const koMessage: {
18
+ success: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
19
+ error: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
20
+ info: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
21
+ warning: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
22
+ loading: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
23
+ destroy: (key?: React.Key | undefined) => void;
24
+ config: (config: import("antd/es/message/interface").ConfigOptions) => void;
25
+ };
26
+ export default koMessage;
@@ -0,0 +1,103 @@
1
+ /**
2
+ * 自定义 Message 工具
3
+ * 封装 antd 的 message,支持:
4
+ * 1. duration 设置为0时不自动关闭
5
+ * 2. 自动添加关闭按钮
6
+ */ import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
7
+ import { message } from 'antd';
8
+ import React from 'react';
9
+ import { CloseOutlined } from '@ant-design/icons';
10
+ /**
11
+ * 创建带关闭按钮的内容
12
+ */ const createContentWithClose = (content, duration, onClose, onCloseClick)=>{
13
+ // 只有当 duration 为 0 时才添加关闭按钮
14
+ if (duration === 0) {
15
+ return /*#__PURE__*/ _jsxs("span", {
16
+ style: {
17
+ display: 'inline-flex',
18
+ alignItems: 'center',
19
+ gap: 8,
20
+ maxWidth: '100%'
21
+ },
22
+ children: [
23
+ /*#__PURE__*/ _jsx("span", {
24
+ style: {
25
+ overflow: 'hidden',
26
+ textOverflow: 'ellipsis',
27
+ whiteSpace: 'nowrap'
28
+ },
29
+ children: content
30
+ }),
31
+ /*#__PURE__*/ _jsx(CloseOutlined, {
32
+ style: {
33
+ cursor: 'pointer',
34
+ fontSize: 12,
35
+ color: 'rgba(0, 0, 0, 0.45)',
36
+ padding: 4,
37
+ flexShrink: 0
38
+ },
39
+ onClick: (e)=>{
40
+ var _onCloseClick, _onClose;
41
+ e.stopPropagation();
42
+ (_onCloseClick = onCloseClick) === null || _onCloseClick === void 0 ? void 0 : _onCloseClick();
43
+ (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
44
+ },
45
+ rev: undefined
46
+ })
47
+ ]
48
+ });
49
+ }
50
+ return content;
51
+ };
52
+ /**
53
+ * 通用消息方法
54
+ */ const showMessage = (type, content, duration, onClose)=>{
55
+ let messageKey;
56
+ const closeMessage = ()=>{
57
+ if (messageKey) {
58
+ message.destroy(messageKey);
59
+ }
60
+ };
61
+ const config = {
62
+ content: createContentWithClose(content, duration, onClose, closeMessage),
63
+ duration: duration,
64
+ onClose: onClose,
65
+ key: `msg_${Date.now()}_${Math.random()}`
66
+ };
67
+ messageKey = config.key;
68
+ switch(type){
69
+ case 'success':
70
+ return message.success(config);
71
+ case 'error':
72
+ return message.error(config);
73
+ case 'info':
74
+ return message.info(config);
75
+ case 'warning':
76
+ return message.warning(config);
77
+ case 'loading':
78
+ return message.loading(config);
79
+ default:
80
+ return message.info(config);
81
+ }
82
+ };
83
+ /**
84
+ * 自定义 message 对象
85
+ * 用法与 antd message 相同,但 duration 为 0 时会自动添加关闭按钮
86
+ *
87
+ * @example
88
+ * koMessage.error('错误信息', 0); // 不自动关闭,显示关闭按钮
89
+ * koMessage.success('成功信息', 3); // 3秒后自动关闭
90
+ * koMessage.info('提示信息'); // 使用默认时长
91
+ */ export const koMessage = {
92
+ success: (content, duration, onClose)=>showMessage('success', content, duration, onClose),
93
+ error: (content, duration, onClose)=>showMessage('error', content, duration, onClose),
94
+ info: (content, duration, onClose)=>showMessage('info', content, duration, onClose),
95
+ warning: (content, duration, onClose)=>showMessage('warning', content, duration, onClose),
96
+ loading: (content, duration, onClose)=>showMessage('loading', content, duration, onClose),
97
+ // 保留原生 message 的其他方法
98
+ destroy: message.destroy,
99
+ config: message.config
100
+ };
101
+ export default koMessage;
102
+
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA;;;;;CAKC;AAED,SAASA,OAAO,QAAQ,OAAO;AAC/B,OAAOC,WAAW,QAAQ;AAC1B,SAASC,aAAa,QAAQ,oBAAoB;AAWlD;;CAEC,GACD,MAAMC,yBAAyB,CAC7BC,SACAC,UACAC,SACAC;IAEA,4BAA4B;IAC5B,IAAIF,aAAa,GAAG;QAClB,qBACE,MAACG;YAAKC,OAAO;gBAAEC,SAAS;gBAAeC,YAAY;gBAAUC,KAAK;gBAAGC,UAAU;YAAO;;8BACpF,KAACL;oBAAKC,OAAO;wBAAEK,UAAU;wBAAUC,cAAc;wBAAYC,YAAY;oBAAS;8BAAIZ;;8BACtF,KAACF;oBACCO,OAAO;wBACLQ,QAAQ;wBACRC,UAAU;wBACVC,OAAO;wBACPC,SAAS;wBACTC,YAAY;oBACd;oBACAC,SAAS,CAACC;4BAERhB,eACAD;wBAFAiB,EAAEC,eAAe;yBACjBjB;yBACAD;oBACF;oBAAGmB,KAAKC;;;;IAGhB;IACA,OAAOtB;AACT;AAEA;;CAEC,GACD,MAAMuB,cAAc,CAClBC,MACAxB,SACAC,UACAC;IAEA,IAAIuB;IAEJ,MAAMC,eAAe;QACnB,IAAID,YAAY;YACd7B,QAAQ+B,OAAO,CAACF;QAClB;IACF;IAEA,MAAMG,SAAwB;QAC5B5B,SAASD,uBAAuBC,SAASC,UAAUC,SAASwB;QAC5DzB,UAAUA;QACVC,SAASA;QACT2B,KAAK,CAAC,IAAI,EAAEC,KAAKC,GAAG,GAAG,CAAC,EAAEC,KAAKC,MAAM,GAAG,CAAC;IAC3C;IAEAR,aAAaG,OAAOC,GAAG;IAEvB,OAAQL;QACN,KAAK;YACH,OAAO5B,QAAQsC,OAAO,CAACN;QACzB,KAAK;YACH,OAAOhC,QAAQuC,KAAK,CAACP;QACvB,KAAK;YACH,OAAOhC,QAAQwC,IAAI,CAACR;QACtB,KAAK;YACH,OAAOhC,QAAQyC,OAAO,CAACT;QACzB,KAAK;YACH,OAAOhC,QAAQ0C,OAAO,CAACV;QACzB;YACE,OAAOhC,QAAQwC,IAAI,CAACR;IACxB;AACF;AAEA;;;;;;;;CAQC,GACD,OAAO,MAAMW,YAAY;IACvBL,SAAS,CAAClC,SAA0BC,UAAmBC,UACrDqB,YAAY,WAAWvB,SAASC,UAAUC;IAE5CiC,OAAO,CAACnC,SAA0BC,UAAmBC,UACnDqB,YAAY,SAASvB,SAASC,UAAUC;IAE1CkC,MAAM,CAACpC,SAA0BC,UAAmBC,UAClDqB,YAAY,QAAQvB,SAASC,UAAUC;IAEzCmC,SAAS,CAACrC,SAA0BC,UAAmBC,UACrDqB,YAAY,WAAWvB,SAASC,UAAUC;IAE5CoC,SAAS,CAACtC,SAA0BC,UAAmBC,UACrDqB,YAAY,WAAWvB,SAASC,UAAUC;IAE5C,qBAAqB;IACrByB,SAAS/B,QAAQ+B,OAAO;IACxBC,QAAQhC,QAAQgC,MAAM;AACxB,EAAE;AAEF,eAAeW,UAAU","names":["message","React","CloseOutlined","createContentWithClose","content","duration","onClose","onCloseClick","span","style","display","alignItems","gap","maxWidth","overflow","textOverflow","whiteSpace","cursor","fontSize","color","padding","flexShrink","onClick","e","stopPropagation","rev","undefined","showMessage","type","messageKey","closeMessage","destroy","config","key","Date","now","Math","random","success","error","info","warning","loading","koMessage"],"ignoreList":[],"sources":[".\\src\\components\\message\\index.tsx"]}
@@ -5,10 +5,11 @@
5
5
  width: 100%;
6
6
  cursor: move;
7
7
  padding: 16px 24px;
8
+ border-bottom: 1px solid #e1e1e1;
8
9
  }
9
10
 
10
11
  .draggableModal :global(.ant-modal-content) {
11
- padding-top: 60px;
12
+ padding-top: 66px;
12
13
  }
13
14
 
14
15
  .titleWrapper {
@@ -29,10 +30,11 @@
29
30
  top: 0;
30
31
  width: 100%;
31
32
  padding: 16px 24px;
33
+ border-bottom: 1px solid #e1e1e1;
32
34
  }
33
35
 
34
36
  .screenfulModal :global(.ant-modal-content) {
35
- padding-top: 60px;
37
+ padding-top: 66px;
36
38
  }
37
39
 
38
40
  .screenfulModal {
@@ -0,0 +1,117 @@
1
+ .ko-page-container>.ant-page-header .ant-page-header-heading {
2
+ display: none;
3
+ }
4
+
5
+ .ko-page-container .ant-breadcrumb-link {
6
+ color: rgba(0, 0, 0, 0.88);
7
+ }
8
+
9
+ .ko-page-container .ant-pro-table-list-toolbar-container {
10
+ border-top: solid 1px #eeeef1;
11
+ }
12
+
13
+ .ko-detail-subTitle {
14
+ padding: 16px 24px 0 24px;
15
+ }
16
+
17
+ .ko-detail-subTitle .label {
18
+ color: #686a8f
19
+ }
20
+
21
+ .ko-detail-subTitle.ko-detail-subTitle-end {
22
+ padding-bottom: 16px;
23
+ border-bottom: solid 1px #eeeef1;
24
+ }
25
+
26
+ .ko-readonly-tags {
27
+ min-height: 32px;
28
+ padding: 2px 11px;
29
+ border: 1px solid #d9d9d9;
30
+ border-radius: 6px;
31
+ display: flex;
32
+ flex-wrap: wrap;
33
+ gap: 4px;
34
+ align-items: center;
35
+ transition: border-color 0.2s;
36
+ cursor: text;
37
+ }
38
+
39
+ .ko-readonly-tags .ant-tag {
40
+ font-size: 14px;
41
+ height: 24px;
42
+ line-height: 22px;
43
+ }
44
+
45
+ .ko-readonly-tags:hover {
46
+ border-color: #1677ff;
47
+ }
48
+
49
+ .ko-detail-tabs .ant-tabs-nav {
50
+ padding-left: 10px;
51
+ padding-right: 10px;
52
+ }
53
+
54
+ .ko-table-small-toolbar .ant-pro-table-list-toolbar-container {
55
+ padding-top: 0;
56
+ }
57
+
58
+ .ko-table-small-toolbar .ant-pro-table-list-toolbar-container .ant-pro-table-list-toolbar-title {
59
+ font-size: 14px;
60
+ }
61
+
62
+ .ko-divider-gray {
63
+ border-inline-start-color: #bcbec3;
64
+ }
65
+
66
+ .ko-detail-container {
67
+ background-color: #ffffff;
68
+ border-radius: 6px;
69
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .13);
70
+ }
71
+
72
+ .ko-detail-title {
73
+ font-size: 18px;
74
+ font-weight: 600;
75
+ }
76
+
77
+ .ko-detail-tabs-proCard.ant-pro-card .ant-pro-card-header .ant-pro-card-title {
78
+ font-size: 15px;
79
+ height: 32px;
80
+ line-height: 32px;
81
+ font-weight: 600;
82
+ }
83
+
84
+ .ko-detail-tabs-proCard.ant-pro-card .ant-pro-card-header {
85
+ padding-block: 0;
86
+ }
87
+
88
+ .ko-detail-tabs-proTable-action .ant-pro-table-list-toolbar-container {
89
+ padding-block-start: 0;
90
+ padding-block-end: 12px;
91
+ border-top: none;
92
+ }
93
+
94
+ .ko-detail-tabs-proTable-action .ant-pro-table-list-toolbar-title {
95
+ height: 32px;
96
+ line-height: 32px;
97
+ font-size: 15px;
98
+ font-weight: 600;
99
+ }
100
+
101
+ .ko-tree-form-title {
102
+ height: 32px;
103
+ line-height: 32px;
104
+ font-size: 15px;
105
+ margin-bottom: 16px;
106
+ font-weight: 600;
107
+ }
108
+
109
+ .ko-page-container .ka-content {
110
+ box-shadow: 0 1px 4px 0 rgba(0, 0, 0, .13);
111
+ background-color: #ffffff;
112
+ border-radius: 6px;
113
+ }
114
+
115
+ .ko-page-tabs>.ant-pro-card-body {
116
+ padding-block-start: 0;
117
+ }
@@ -14,4 +14,5 @@ export { default as AggregateMenu, type AggregateMenuDataSource } from './aggreg
14
14
  export { default as UploadAvatar } from './upload-file/uploadAvatar';
15
15
  export { default as UploadMultiple } from './upload-file/uploadMultiple';
16
16
  export { default as UploadTemp } from './upload-file/uploadTemp';
17
+ export { koMessage } from './message';
17
18
  export * as util from './_util';
@@ -14,6 +14,7 @@ export { default as AggregateMenu } from "./aggregate-menu";
14
14
  export { default as UploadAvatar } from "./upload-file/uploadAvatar";
15
15
  export { default as UploadMultiple } from "./upload-file/uploadMultiple";
16
16
  export { default as UploadTemp } from "./upload-file/uploadTemp";
17
+ export { koMessage } from "./message";
17
18
  import * as _util from "./_util";
18
19
  export { _util as util };
19
20
 
@@ -1 +1 @@
1
- {"version":3,"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,aAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,iBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,oBAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,eAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,oBAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,iBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,iBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,sBAAsB;AAClE,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,WAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,UAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,mBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AAEjE,uBAAsB,UAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB","names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","util"],"ignoreList":[],"sources":[".\\src\\components\\index.ts"]}
1
+ {"version":3,"mappings":"AAAA,SAASA,WAAWC,QAAQ,EAAEC,OAAO,QAA6B,aAAa;AAC/E,SAASF,WAAWG,WAAW,QAAQ,iBAAiB;AACxD,SAASH,WAAWI,cAAc,QAAQ,oBAAoB;AAC9D,SAASJ,WAAWK,SAAS,QAAQ,eAAe;AACpD,SAASL,WAAWM,cAAc,QAAQ,oBAAoB;AAC9D,SAASN,WAAWO,WAAW,QAAQ,iBAAiB;AACxD,SAASP,WAAWQ,WAAW,EAAEC,cAAc,QAAQ,iBAAiB;AACxE,SAAST,WAAWU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,WAAWW,gBAAgB,QAAQ,sBAAsB;AAClE,SAASC,UAAU,QAAQ,aAAa;AACxC,SAASZ,WAAWa,MAAM,QAAQ,WAAW;AAC7C,SAASb,WAAWc,KAAK,QAAyB,UAAU;AAC5D,SAASd,WAAWe,aAAa,QAAsC,mBAAmB;AAC1F,SAASf,WAAWgB,YAAY,QAAQ,6BAA6B;AACrE,SAAShB,WAAWiB,cAAc,QAAQ,+BAA+B;AACzE,SAASjB,WAAWkB,UAAU,QAAQ,2BAA2B;AACjE,SAASC,SAAS,QAAQ,YAAY;AAEtC,uBAAsB,UAAU;AAAhC,SAAO,SAAKC,IAAI,GAAgB","names":["default","Provider","Context","ThemeSwitch","AvatarDropdown","KeepAlive","TenantDropdown","MsgDropdown","LeavePrompt","useLeavePrompt","I18nDropdown","CollectProviders","LocaleType","Layout","Modal","AggregateMenu","UploadAvatar","UploadMultiple","UploadTemp","koMessage","util"],"ignoreList":[],"sources":[".\\src\\components\\index.ts"]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * 自定义 Message 工具
3
+ * 封装 antd 的 message,支持:
4
+ * 1. duration 设置为0时不自动关闭
5
+ * 2. 自动添加关闭按钮
6
+ */
7
+ import React from 'react';
8
+ /**
9
+ * 自定义 message 对象
10
+ * 用法与 antd message 相同,但 duration 为 0 时会自动添加关闭按钮
11
+ *
12
+ * @example
13
+ * koMessage.error('错误信息', 0); // 不自动关闭,显示关闭按钮
14
+ * koMessage.success('成功信息', 3); // 3秒后自动关闭
15
+ * koMessage.info('提示信息'); // 使用默认时长
16
+ */
17
+ export declare const koMessage: {
18
+ success: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
19
+ error: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
20
+ info: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
21
+ warning: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
22
+ loading: (content: React.ReactNode, duration?: number, onClose?: () => void) => import("antd/es/message/interface").MessageType;
23
+ destroy: (key?: React.Key | undefined) => void;
24
+ config: (config: import("antd/es/message/interface").ConfigOptions) => void;
25
+ };
26
+ export default koMessage;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * 自定义 Message 工具
3
+ * 封装 antd 的 message,支持:
4
+ * 1. duration 设置为0时不自动关闭
5
+ * 2. 自动添加关闭按钮
6
+ */ import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
7
+ import { message } from "antd";
8
+ import React from "react";
9
+ import { CloseOutlined } from "@ant-design/icons";
10
+ /**
11
+ * 创建带关闭按钮的内容
12
+ */ var createContentWithClose = function(content, duration, onClose, onCloseClick) {
13
+ // 只有当 duration 为 0 时才添加关闭按钮
14
+ if (duration === 0) {
15
+ return /*#__PURE__*/ _jsxs("span", {
16
+ style: {
17
+ display: "inline-flex",
18
+ alignItems: "center",
19
+ gap: 8,
20
+ maxWidth: "100%"
21
+ },
22
+ children: [
23
+ /*#__PURE__*/ _jsx("span", {
24
+ style: {
25
+ overflow: "hidden",
26
+ textOverflow: "ellipsis",
27
+ whiteSpace: "nowrap"
28
+ },
29
+ children: content
30
+ }),
31
+ /*#__PURE__*/ _jsx(CloseOutlined, {
32
+ style: {
33
+ cursor: "pointer",
34
+ fontSize: 12,
35
+ color: "rgba(0, 0, 0, 0.45)",
36
+ padding: 4,
37
+ flexShrink: 0
38
+ },
39
+ onClick: function(e) {
40
+ var _onCloseClick, _onClose;
41
+ e.stopPropagation();
42
+ (_onCloseClick = onCloseClick) === null || _onCloseClick === void 0 ? void 0 : _onCloseClick();
43
+ (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
44
+ },
45
+ rev: undefined
46
+ })
47
+ ]
48
+ });
49
+ }
50
+ return content;
51
+ };
52
+ /**
53
+ * 通用消息方法
54
+ */ var showMessage = function(type, content, duration, onClose) {
55
+ var messageKey;
56
+ var closeMessage = function() {
57
+ if (messageKey) {
58
+ message.destroy(messageKey);
59
+ }
60
+ };
61
+ var config = {
62
+ content: createContentWithClose(content, duration, onClose, closeMessage),
63
+ duration: duration,
64
+ onClose: onClose,
65
+ key: "msg_".concat(Date.now(), "_").concat(Math.random())
66
+ };
67
+ messageKey = config.key;
68
+ switch(type){
69
+ case "success":
70
+ return message.success(config);
71
+ case "error":
72
+ return message.error(config);
73
+ case "info":
74
+ return message.info(config);
75
+ case "warning":
76
+ return message.warning(config);
77
+ case "loading":
78
+ return message.loading(config);
79
+ default:
80
+ return message.info(config);
81
+ }
82
+ };
83
+ /**
84
+ * 自定义 message 对象
85
+ * 用法与 antd message 相同,但 duration 为 0 时会自动添加关闭按钮
86
+ *
87
+ * @example
88
+ * koMessage.error('错误信息', 0); // 不自动关闭,显示关闭按钮
89
+ * koMessage.success('成功信息', 3); // 3秒后自动关闭
90
+ * koMessage.info('提示信息'); // 使用默认时长
91
+ */ export var koMessage = {
92
+ success: function(content, duration, onClose) {
93
+ return showMessage("success", content, duration, onClose);
94
+ },
95
+ error: function(content, duration, onClose) {
96
+ return showMessage("error", content, duration, onClose);
97
+ },
98
+ info: function(content, duration, onClose) {
99
+ return showMessage("info", content, duration, onClose);
100
+ },
101
+ warning: function(content, duration, onClose) {
102
+ return showMessage("warning", content, duration, onClose);
103
+ },
104
+ loading: function(content, duration, onClose) {
105
+ return showMessage("loading", content, duration, onClose);
106
+ },
107
+ // 保留原生 message 的其他方法
108
+ destroy: message.destroy,
109
+ config: message.config
110
+ };
111
+ export default koMessage;
112
+
113
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"AAAA;;;;;CAKC;AAED,SAASA,OAAO,QAAQ,OAAO;AAC/B,OAAOC,WAAW,QAAQ;AAC1B,SAASC,aAAa,QAAQ,oBAAoB;AAWlD;;CAEC,GACD,IAAMC,yBAAyB,SAC7BC,SACAC,UACAC,SACAC;IAEA,4BAA4B;IAC5B,IAAIF,aAAa,GAAG;QAClB,qBACE,MAACG;YAAKC,OAAO;gBAAEC,SAAS;gBAAeC,YAAY;gBAAUC,KAAK;gBAAGC,UAAU;YAAO;;8BACpF,KAACL;oBAAKC,OAAO;wBAAEK,UAAU;wBAAUC,cAAc;wBAAYC,YAAY;oBAAS;8BAAIZ;;8BACtF,KAACF;oBACCO,OAAO;wBACLQ,QAAQ;wBACRC,UAAU;wBACVC,OAAO;wBACPC,SAAS;wBACTC,YAAY;oBACd;oBACAC,SAAS,SAACC;4BAERhB,eACAD;wBAFAiB,EAAEC,eAAe;yBACjBjB;yBACAD;oBACF;oBAAGmB,KAAKC;;;;IAGhB;IACA,OAAOtB;AACT;AAEA;;CAEC,GACD,IAAMuB,cAAc,SAClBC,MACAxB,SACAC,UACAC;IAEA,IAAIuB;IAEJ,IAAMC,eAAe;QACnB,IAAID,YAAY;YACd7B,QAAQ+B,OAAO,CAACF;QAClB;IACF;IAEA,IAAMG,SAAwB;QAC5B5B,SAASD,uBAAuBC,SAASC,UAAUC,SAASwB;QAC5DzB,UAAUA;QACVC,SAASA;QACT2B,KAAK,CAAC,MAAoBC,OAAdC,KAAKC,GAAG,IAAG,KAAiB,OAAdF,KAAKG,MAAM;IACvC;IAEAR,aAAaG,OAAOC,GAAG;IAEvB,OAAQL;QACN,KAAK;YACH,OAAO5B,QAAQsC,OAAO,CAACN;QACzB,KAAK;YACH,OAAOhC,QAAQuC,KAAK,CAACP;QACvB,KAAK;YACH,OAAOhC,QAAQwC,IAAI,CAACR;QACtB,KAAK;YACH,OAAOhC,QAAQyC,OAAO,CAACT;QACzB,KAAK;YACH,OAAOhC,QAAQ0C,OAAO,CAACV;QACzB;YACE,OAAOhC,QAAQwC,IAAI,CAACR;IACxB;AACF;AAEA;;;;;;;;CAQC,GACD,OAAO,IAAMW,YAAY;IACvBL,SAAS,SAAClC,SAA0BC,UAAmBC;eACrDqB,YAAY,WAAWvB,SAASC,UAAUC;;IAE5CiC,OAAO,SAACnC,SAA0BC,UAAmBC;eACnDqB,YAAY,SAASvB,SAASC,UAAUC;;IAE1CkC,MAAM,SAACpC,SAA0BC,UAAmBC;eAClDqB,YAAY,QAAQvB,SAASC,UAAUC;;IAEzCmC,SAAS,SAACrC,SAA0BC,UAAmBC;eACrDqB,YAAY,WAAWvB,SAASC,UAAUC;;IAE5CoC,SAAS,SAACtC,SAA0BC,UAAmBC;eACrDqB,YAAY,WAAWvB,SAASC,UAAUC;;IAE5C,qBAAqB;IACrByB,SAAS/B,QAAQ+B,OAAO;IACxBC,QAAQhC,QAAQgC,MAAM;AACxB,EAAE;AAEF,eAAeW,UAAU","names":["message","React","CloseOutlined","createContentWithClose","content","duration","onClose","onCloseClick","span","style","display","alignItems","gap","maxWidth","overflow","textOverflow","whiteSpace","cursor","fontSize","color","padding","flexShrink","onClick","e","stopPropagation","rev","undefined","showMessage","type","messageKey","closeMessage","destroy","config","key","Math","Date","now","random","success","error","info","warning","loading","koMessage"],"ignoreList":[],"sources":[".\\src\\components\\message\\index.tsx"]}
@@ -5,10 +5,11 @@
5
5
  width: 100%;
6
6
  cursor: move;
7
7
  padding: 16px 24px;
8
+ border-bottom: 1px solid #e1e1e1;
8
9
  }
9
10
 
10
11
  .draggableModal :global(.ant-modal-content) {
11
- padding-top: 60px;
12
+ padding-top: 66px;
12
13
  }
13
14
 
14
15
  .titleWrapper {
@@ -29,10 +30,11 @@
29
30
  top: 0;
30
31
  width: 100%;
31
32
  padding: 16px 24px;
33
+ border-bottom: 1px solid #e1e1e1;
32
34
  }
33
35
 
34
36
  .screenfulModal :global(.ant-modal-content) {
35
- padding-top: 60px;
37
+ padding-top: 66px;
36
38
  }
37
39
 
38
40
  .screenfulModal {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knockout-js/layout",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "组件功能描述",
5
5
  "files": [
6
6
  "esm",
@@ -49,7 +49,7 @@
49
49
  "react-activation": "^0.12.4",
50
50
  "react-draggable": "^4.4.5",
51
51
  "@knockout-js/api": "^0.1.17",
52
- "@knockout-js/ice-urql": "^0.1.23"
52
+ "@knockout-js/ice-urql": "^0.1.25"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@ice/pkg": "^1.6.2",