@vue-start/pro 0.5.39 → 0.5.40
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 +11 -0
- package/dist/index.css +146 -24
- package/dist/index.d.ts +120 -1
- package/dist/index.es.js +1957 -1595
- package/dist/index.js +3 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 0.5.40
|
|
7
|
+
|
|
8
|
+
- 新增 theme 模式
|
|
9
|
+
- Layout css 变量位置由:root 迁移到.pro-layout
|
|
10
|
+
- Layout menu 新增 hide 模式
|
|
11
|
+
- Layout 新增 tabs 组件,可通过配置处理
|
|
12
|
+
|
|
13
|
+
# 0.5.39
|
|
14
|
+
|
|
15
|
+
- bug 修复;
|
|
16
|
+
|
|
6
17
|
# 0.5.38
|
|
7
18
|
|
|
8
19
|
- 新增 ProTip 组件
|
package/dist/index.css
CHANGED
|
@@ -1,33 +1,92 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
|
|
2
|
+
/****************** reset layout ***************/
|
|
3
|
+
/*section高度*/
|
|
4
|
+
--pro-secion-hei: 100vh;
|
|
5
|
+
|
|
6
|
+
/****************** 预置变量,仅做提示用 ***************/
|
|
7
|
+
--pro-color-primary: #409eff;
|
|
8
|
+
--pro-color-primary-light-3: #73b8ff;
|
|
9
|
+
--pro-color-primary-light-5: #95c9ff;
|
|
10
|
+
--pro-color-primary-light-7: #b7daff;
|
|
11
|
+
--pro-color-primary-light-8: #c8e3ff;
|
|
12
|
+
--pro-color-primary-light-9: #d9ecff;
|
|
13
|
+
--pro-color-success: #67c23a;
|
|
14
|
+
--pro-color-warning: #e6a23c;
|
|
15
|
+
--pro-color-danger: #f56c6c;
|
|
16
|
+
--pro-color-error: #f56c6c;
|
|
17
|
+
--pro-color-info: #909399;
|
|
18
|
+
--pro-color-text: #303133;
|
|
19
|
+
--pro-color-text-regular: #606266;
|
|
20
|
+
--pro-color-text-secondary: #909399;
|
|
21
|
+
--pro-color-text-placeholder: #a8abb2;
|
|
22
|
+
--pro-color-border: #dcdfe6;
|
|
23
|
+
--pro-color-border-light: #e4e7ed;
|
|
24
|
+
--pro-color-bg: #ffffff;
|
|
25
|
+
--pro-radius: 4px;
|
|
26
|
+
--pro-radius-lg: 8px;
|
|
27
|
+
--pro-radius-md: 4px;
|
|
28
|
+
--pro-radius-sm: 2px;
|
|
29
|
+
--pro-size: 14px;
|
|
30
|
+
--pro-size-lg: 16px;
|
|
31
|
+
--pro-size-md: 14px;
|
|
32
|
+
--pro-size-sm: 13px;
|
|
33
|
+
--pro-size-xs: 12px;
|
|
34
|
+
--pro-line-height: 1.5714285714285714;
|
|
35
|
+
--pro-line-height-lg: 1.5;
|
|
36
|
+
--pro-line-height-md: 1.5714285714285714;
|
|
37
|
+
--pro-line-height-sm: 1.6666666666666667;
|
|
38
|
+
--pro-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
39
|
+
--pro-shadow-lg: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
|
40
|
+
--pro-shadow-md: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
|
|
41
|
+
--pro-shadow-sm: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
|
42
|
+
--pro-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
|
|
43
|
+
--pro-spacing-1: 4px;
|
|
44
|
+
--pro-spacing-2: 8px;
|
|
45
|
+
--pro-spacing-3: 12px;
|
|
46
|
+
--pro-spacing-4: 16px;
|
|
47
|
+
--pro-spacing-5: 20px;
|
|
48
|
+
--pro-spacing-6: 24px;
|
|
49
|
+
--pro-spacing-7: 28px;
|
|
50
|
+
--pro-spacing-8: 32px;
|
|
51
|
+
--pro-spacing-9: 36px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/********************************** pro-layout ***********************************/
|
|
55
|
+
|
|
56
|
+
.pro-layout {
|
|
3
57
|
/*header高度*/
|
|
4
58
|
--pro-header-hei: 60px;
|
|
5
59
|
/*header与内容间隔*/
|
|
6
60
|
--pro-divide-ver-hei: 2px;
|
|
7
61
|
/*面包屑高度*/
|
|
8
62
|
--pro-bread-hei: 0px;
|
|
63
|
+
/*tabs高度*/
|
|
64
|
+
--pro-tabs-hei: 0px;
|
|
9
65
|
/*菜单宽度变量:合并/展开会重新赋值;媒体查询重新赋值*/
|
|
10
|
-
--pro-left-menu-wid:
|
|
66
|
+
--pro-left-menu-wid: 0px;
|
|
11
67
|
/*左侧菜单start,end插槽高度*/
|
|
12
68
|
--pro-menu-start-hei: 0px;
|
|
13
69
|
--pro-menu-end-hei: 0px;
|
|
14
|
-
/*page*/
|
|
15
|
-
--pro-page-header-hei: 40px;
|
|
16
|
-
--pro-page-footer-hei: 46px;
|
|
17
70
|
|
|
18
|
-
/*
|
|
19
|
-
--pro-
|
|
20
|
-
--pro-
|
|
71
|
+
/*section高度*/
|
|
72
|
+
--pro-secion-hei: calc(100vh - var(--pro-header-hei) - var(--pro-divide-ver-hei) - var(--pro-tabs-hei));
|
|
73
|
+
--pro-section-hei: calc(100vh - var(--pro-header-hei) - var(--pro-divide-ver-hei) - var(--pro-tabs-hei));
|
|
74
|
+
/*左侧菜单高度*/
|
|
75
|
+
--pro-left-menu-hei: calc(
|
|
76
|
+
100vh - var(--pro-header-hei) - var(--pro-divide-ver-hei) - var(--pro-menu-start-hei) - var(--pro-menu-end-hei)
|
|
77
|
+
);
|
|
21
78
|
}
|
|
22
79
|
|
|
23
|
-
|
|
80
|
+
.pro-layout.has-left-menu {
|
|
81
|
+
--pro-left-menu-wid: 220px;
|
|
82
|
+
}
|
|
24
83
|
|
|
25
|
-
.pro-layout {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
--pro-
|
|
84
|
+
.pro-layout.mini {
|
|
85
|
+
--pro-left-menu-wid: 64px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.pro-layout.has-tabs {
|
|
89
|
+
--pro-tabs-hei: 34px;
|
|
31
90
|
}
|
|
32
91
|
|
|
33
92
|
.pro-layout .pro-layout-header {
|
|
@@ -66,10 +125,6 @@
|
|
|
66
125
|
max-width: var(--pro-left-menu-wid);
|
|
67
126
|
}
|
|
68
127
|
|
|
69
|
-
.pro-layout .pro-layout-menus-wrapper .mini {
|
|
70
|
-
--pro-left-menu-wid: 64px;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
128
|
/*section*/
|
|
74
129
|
.pro-layout .pro-layout-section {
|
|
75
130
|
height: var(--pro-secion-hei);
|
|
@@ -97,7 +152,7 @@
|
|
|
97
152
|
}
|
|
98
153
|
|
|
99
154
|
.pro-layout-horizontal .pro-layout-structure {
|
|
100
|
-
|
|
155
|
+
width: calc(100vw - var(--pro-left-menu-wid));
|
|
101
156
|
}
|
|
102
157
|
|
|
103
158
|
.pro-layout-horizontal .pro-layout-section {
|
|
@@ -114,8 +169,8 @@
|
|
|
114
169
|
margin-top: var(--pro-divide-ver-hei);
|
|
115
170
|
}
|
|
116
171
|
|
|
117
|
-
.pro-layout-horizontal-v .pro-layout-structure .pro-layout-
|
|
118
|
-
|
|
172
|
+
.pro-layout-horizontal-v .pro-layout-structure .pro-layout-right {
|
|
173
|
+
width: calc(100vw - var(--pro-left-menu-wid));
|
|
119
174
|
}
|
|
120
175
|
|
|
121
176
|
/*compose*/
|
|
@@ -128,8 +183,72 @@
|
|
|
128
183
|
margin-top: var(--pro-divide-ver-hei);
|
|
129
184
|
}
|
|
130
185
|
|
|
131
|
-
.pro-layout-compose .pro-layout-structure .pro-layout-
|
|
132
|
-
|
|
186
|
+
.pro-layout-compose .pro-layout-structure .pro-layout-right {
|
|
187
|
+
width: calc(100vw - var(--pro-left-menu-wid));
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/*layout-tabs*/
|
|
191
|
+
|
|
192
|
+
.pro-layout .pro-layout-tabs {
|
|
193
|
+
height: var(--pro-tabs-hei);
|
|
194
|
+
background-color: white;
|
|
195
|
+
width: calc(100vw - var(--pro-left-menu-wid));
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.pro-layout-tabs-root {
|
|
199
|
+
/*box-sizing: border-box;*/
|
|
200
|
+
height: var(--pro-tabs-hei);
|
|
201
|
+
display: flex;
|
|
202
|
+
align-items: center;
|
|
203
|
+
flex-wrap: nowrap;
|
|
204
|
+
font-size: 14px;
|
|
205
|
+
color: var(--pro-color-text-regular);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.pro-layout-tabs-root .place {
|
|
209
|
+
min-width: var(--pro-spacing-2);
|
|
210
|
+
height: 100%;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.pro-layout-tabs-item {
|
|
214
|
+
cursor: pointer;
|
|
215
|
+
padding: 4px 12px;
|
|
216
|
+
border-radius: var(--pro-radius);
|
|
217
|
+
white-space: nowrap;
|
|
218
|
+
margin: 0 var(--pro-spacing-1);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.pro-layout-tabs-item:hover {
|
|
222
|
+
background-color: var(--pro-color-primary-light-9);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.pro-layout-tabs-item.active {
|
|
226
|
+
color: var(--pro-color-primary);
|
|
227
|
+
font-weight: bold;
|
|
228
|
+
background-color: var(--pro-color-primary-light-9);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.pro-layout-tabs-item-close {
|
|
232
|
+
display: inline-block;
|
|
233
|
+
margin-left: var(--pro-spacing-1);
|
|
234
|
+
font-weight: normal;
|
|
235
|
+
width: 16px;
|
|
236
|
+
height: 16px;
|
|
237
|
+
text-align: center;
|
|
238
|
+
line-height: 16px;
|
|
239
|
+
font-size: 12px;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
.pro-layout-tabs-item-close:hover {
|
|
243
|
+
color: white;
|
|
244
|
+
background-color: var(--pro-color-primary-light-5);
|
|
245
|
+
border-radius: 50%;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.pro-layout-tabs-menus {
|
|
249
|
+
position: fixed;
|
|
250
|
+
background-color: pink;
|
|
251
|
+
transform: translate(-50%,0);
|
|
133
252
|
}
|
|
134
253
|
|
|
135
254
|
/********************************** pro-typography ***********************************/
|
|
@@ -223,6 +342,9 @@
|
|
|
223
342
|
/********************************** pro-page ***********************************/
|
|
224
343
|
|
|
225
344
|
.pro-page {
|
|
345
|
+
--pro-page-header-hei: 40px;
|
|
346
|
+
--pro-page-footer-hei: 46px;
|
|
347
|
+
|
|
226
348
|
height: var(--pro-secion-hei);
|
|
227
349
|
max-height: var(--pro-secion-hei);
|
|
228
350
|
overflow-y: auto;
|
package/dist/index.d.ts
CHANGED
|
@@ -2361,6 +2361,7 @@ declare const ElementKeys: {
|
|
|
2361
2361
|
TableOperateKey: string;
|
|
2362
2362
|
UploaderKey: string;
|
|
2363
2363
|
EmptyKey: string;
|
|
2364
|
+
DropdownKey: string;
|
|
2364
2365
|
ProFormKey: string;
|
|
2365
2366
|
ProSearchFormKey: string;
|
|
2366
2367
|
ProTableKey: string;
|
|
@@ -2658,4 +2659,122 @@ declare const getSignValue: <T = any>(item: TColumn, signName: string) => T;
|
|
|
2658
2659
|
*/
|
|
2659
2660
|
declare const filterSlotsByPrefix: (slots: Record<string, any>, prefix: string) => lodash.Dictionary<any>;
|
|
2660
2661
|
|
|
2661
|
-
|
|
2662
|
+
declare const ThemeKey: unique symbol;
|
|
2663
|
+
declare type TLight = Record<"1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9", string>;
|
|
2664
|
+
declare type TDark = Record<"2", string>;
|
|
2665
|
+
declare type TColor = {
|
|
2666
|
+
base: string;
|
|
2667
|
+
light: TLight;
|
|
2668
|
+
dark: TDark;
|
|
2669
|
+
};
|
|
2670
|
+
declare type TSubType = {
|
|
2671
|
+
base: string;
|
|
2672
|
+
lg: string;
|
|
2673
|
+
md: string;
|
|
2674
|
+
sm: string;
|
|
2675
|
+
};
|
|
2676
|
+
interface ITheme {
|
|
2677
|
+
color: {
|
|
2678
|
+
primary: TColor;
|
|
2679
|
+
success: TColor;
|
|
2680
|
+
warning: TColor;
|
|
2681
|
+
danger: TColor;
|
|
2682
|
+
error: TColor;
|
|
2683
|
+
info: TColor;
|
|
2684
|
+
text: {
|
|
2685
|
+
base: string;
|
|
2686
|
+
regular: string;
|
|
2687
|
+
secondary: string;
|
|
2688
|
+
placeholder: string;
|
|
2689
|
+
disabled: string;
|
|
2690
|
+
};
|
|
2691
|
+
border: {
|
|
2692
|
+
base: string;
|
|
2693
|
+
light: string;
|
|
2694
|
+
};
|
|
2695
|
+
bg: string;
|
|
2696
|
+
};
|
|
2697
|
+
radius: TSubType;
|
|
2698
|
+
fontSize: TSubType & {
|
|
2699
|
+
xs: string;
|
|
2700
|
+
};
|
|
2701
|
+
lineHeight: {
|
|
2702
|
+
base: number;
|
|
2703
|
+
lg: number;
|
|
2704
|
+
md: number;
|
|
2705
|
+
sm: number;
|
|
2706
|
+
};
|
|
2707
|
+
spacing: TLight;
|
|
2708
|
+
shadow: TSubType & {
|
|
2709
|
+
inner: string;
|
|
2710
|
+
};
|
|
2711
|
+
}
|
|
2712
|
+
declare const useTheme: () => ITheme;
|
|
2713
|
+
interface IThemeToken {
|
|
2714
|
+
color?: {
|
|
2715
|
+
primary?: string;
|
|
2716
|
+
success?: string;
|
|
2717
|
+
warning?: string;
|
|
2718
|
+
danger?: string;
|
|
2719
|
+
error?: string;
|
|
2720
|
+
info?: string;
|
|
2721
|
+
};
|
|
2722
|
+
radius?: string;
|
|
2723
|
+
lineHeight?: number;
|
|
2724
|
+
spacing?: number;
|
|
2725
|
+
}
|
|
2726
|
+
declare const ThemeToken: IThemeToken;
|
|
2727
|
+
declare const createTheme: (tt?: IThemeToken) => ITheme;
|
|
2728
|
+
declare const ProTheme: vue.DefineComponent<{
|
|
2729
|
+
theme: {
|
|
2730
|
+
type: ObjectConstructor;
|
|
2731
|
+
};
|
|
2732
|
+
/**
|
|
2733
|
+
* 是否在全局注册css变量
|
|
2734
|
+
*/
|
|
2735
|
+
global: {
|
|
2736
|
+
type: BooleanConstructor;
|
|
2737
|
+
default: boolean;
|
|
2738
|
+
};
|
|
2739
|
+
/**
|
|
2740
|
+
* 根据themeToken生成theme
|
|
2741
|
+
*/
|
|
2742
|
+
themeToken: {
|
|
2743
|
+
type: PropType<IThemeToken>;
|
|
2744
|
+
};
|
|
2745
|
+
/**
|
|
2746
|
+
* 将生成的ITheme对象映射成 css 变量
|
|
2747
|
+
*/
|
|
2748
|
+
createCssVar: {
|
|
2749
|
+
type: PropType<(t: ITheme) => Record<string, string | number>>;
|
|
2750
|
+
};
|
|
2751
|
+
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
2752
|
+
[key: string]: any;
|
|
2753
|
+
}>[] | JSX.Element | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
|
|
2754
|
+
theme: {
|
|
2755
|
+
type: ObjectConstructor;
|
|
2756
|
+
};
|
|
2757
|
+
/**
|
|
2758
|
+
* 是否在全局注册css变量
|
|
2759
|
+
*/
|
|
2760
|
+
global: {
|
|
2761
|
+
type: BooleanConstructor;
|
|
2762
|
+
default: boolean;
|
|
2763
|
+
};
|
|
2764
|
+
/**
|
|
2765
|
+
* 根据themeToken生成theme
|
|
2766
|
+
*/
|
|
2767
|
+
themeToken: {
|
|
2768
|
+
type: PropType<IThemeToken>;
|
|
2769
|
+
};
|
|
2770
|
+
/**
|
|
2771
|
+
* 将生成的ITheme对象映射成 css 变量
|
|
2772
|
+
*/
|
|
2773
|
+
createCssVar: {
|
|
2774
|
+
type: PropType<(t: ITheme) => Record<string, string | number>>;
|
|
2775
|
+
};
|
|
2776
|
+
}>>, {
|
|
2777
|
+
global: boolean;
|
|
2778
|
+
}>;
|
|
2779
|
+
|
|
2780
|
+
export { AddButton, BooleanObjType, BooleanRulesObjType, ColumnSetting, CurdAction, CurdAddAction, CurdCurrentMode, CurdMethods, CurdSubAction, ElementKeys, FieldNames, FormAction, FormItemProps, FormRulePrefixMap, IAccess, ICurdAction, ICurdAddAction, ICurdCurrentMode, ICurdOperateOpts, ICurdState, ICurdSubAction, IElementConfig, IHighConfig, IListData, IOpeItem, IOperateItem, IPer, IProConfigProvide, IProCurdProvide, IProFormProvideExtra, IProModuleProvide, IProTableProvide, IProTableProvideExtra, IRequestOpts, ISearchMode, ITableOperate, ITheme, IThemeToken, IUser, InternalNamePath, LogonUser, LogonUserKey, ModalCurdOpe, MustLogon, NamePath, PageHeader, PageHeaderProps, PaginationSlotProps, PerSuffix, Permission, PermissionProps, ProBaseProps, ProColumnSettingProps, ProConfig, ProConfigProps, ProCurd, ProCurdDesc, ProCurdDescConnect, ProCurdDescProps, ProCurdForm, ProCurdFormConnect, ProCurdFormProps, ProCurdList, ProCurdListConnect, ProCurdListProps, ProCurdModal, ProCurdModalForm, ProCurdModalFormConnect, ProCurdModalProps, ProCurdProps, ProDesc, ProDescProps, ProDispatchRequestType, ProForm, ProFormItemProps, ProFormList, ProFormListProps, ProFormProps, ProGrid, ProGridProps, ProLayout, ProList, ProListProps, ProModalCurd, ProModalCurdProps, ProModule, ProModuleProps, ProOperate, ProOperateProps, ProPage, ProPageCurd, ProPageCurdProps, ProPageProps, ProSearchForm, ProSearchFormProps, ProShowDate, ProShowDigit, ProShowOptions, ProShowText, ProShowTree, ProTable, ProTableProps, ProTheme, ProTip, ProTipProps, ProTypography, ProTypographyProps, ProUploadList, ProUploaderText, ProValue, RequestAction, RouterMethods, SearchMode, SearchSlotProps, TAccess, TActionEvent, TActionState, TColor, TColumn, TColumns, TConfigData, TCurdActionEvent, TDark, TDefaultValueType, TElementMap, TExecuteFunName, TExecuteItem, TExecuteName, TFile, TFormExtraMap, TInitialState, TLight, TLogonUserProvide, TMeta, TOpenMenu, TOption, TOptions, TPageState, TProFormOperate, TRegisterStore, TRegisterStoreMap, TRender, TRouter, TSubType, TTableColumn, TTableColumns, TValueType, ThemeKey, ThemeToken, TreeOption, TreeOptions, Wrapper, convertPathToList, convertResData, createExpose, createExposeObj, createFormItemCompFn, createModule, createProConfig, createTheme, defaultPage, filterSlotsByPrefix, getColumnFormItemName, getColumnValueType, getFirstPropName, getRealRender, getSignValue, getValidValues, isValidConfig, isValidNode, mergeState, mergeStateToList, proBaseProps, provideProCurd, provideProFormList, provideProModule, renderColumn, renderElement, renderElements, renderInputColumn, showValue, useAccess, useAccessMgr, useComposeRequestActor, useDispatchMeta, useDispatchStore, useDoneRequestActor, useFailedRequestActor, useFormSubmit, useGetCompByKey, useHasPer, useHasPer2, useLogonUser, useMetaRegister, useModuleEvent, useProConfig, useProCurd, useProForm, useProFormList, useProModal, useProModule, useProMsg, useProNotify, useProRouter, useProTable, useReadStore, useTheme };
|