bkui-vue 0.0.1-beta.25 → 0.0.1-beta.26

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,233 @@
1
+ @import '../styles/themes/themes.less';
2
+
3
+ .@{bk-prefix}-resize-layout {
4
+ display: flex;
5
+
6
+ &-border {
7
+ border: 1px solid #dcdee5;
8
+ }
9
+
10
+ &-collapsed {
11
+ & > .bk-resize-layout-aside {
12
+ .bk-resize-layout-aside-content {
13
+ overflow: hidden;
14
+ }
15
+
16
+ .bk-resize-collapse:before {
17
+ display: inline-block;
18
+ transform: rotate(180deg);
19
+ }
20
+ }
21
+ }
22
+
23
+ &-left {
24
+ flex-direction: row;
25
+
26
+ & > .bk-resize-layout-aside {
27
+ border-right: 1px solid #dcdee5;
28
+
29
+ &:after {
30
+ top: 50%;
31
+ right: 1px;
32
+ transform: translate3d(0, -50%, 0);
33
+ }
34
+
35
+ .bk-resize-trigger {
36
+ top: 0;
37
+ left: 100%;
38
+ width: 5px;
39
+ height: 100%;
40
+ cursor: col-resize;
41
+
42
+ &:hover {
43
+ @mixin linear-gradient left;
44
+ }
45
+ }
46
+
47
+ .bk-resize-collapse {
48
+ top: 50%;
49
+ left: 100%;
50
+ transform: translateY(-50%);
51
+ }
52
+ }
53
+ }
54
+
55
+ &-right {
56
+ flex-direction: row-reverse;
57
+
58
+ & > .bk-resize-layout-aside {
59
+ border-left: 1px solid #dcdee5;
60
+
61
+ &:after {
62
+ top: 50%;
63
+ left: 1px;
64
+ transform: translate3d(0, -50%, 0);
65
+ }
66
+
67
+ .bk-resize-trigger {
68
+ top: 0;
69
+ right: 100%;
70
+ width: 5px;
71
+ height: 100%;
72
+ cursor: col-resize;
73
+
74
+ &:hover {
75
+ @mixin linear-gradient right;
76
+ }
77
+ }
78
+
79
+ .bk-resize-collapse {
80
+ top: 50%;
81
+ right: 100%;
82
+ transform: translateY(-50%) rotate(180deg);
83
+ }
84
+ }
85
+ }
86
+
87
+ &-top {
88
+ flex-direction: column;
89
+
90
+ & > .bk-resize-layout-aside {
91
+ border-bottom: 1px solid #dcdee5;
92
+
93
+ &:after {
94
+ bottom: 1px;
95
+ left: 50%;
96
+ transform: translate3d(-50%, 0, 0) rotate(90deg);
97
+ }
98
+
99
+ .bk-resize-trigger {
100
+ top: 100%;
101
+ left: 0;
102
+ width: 100%;
103
+ height: 5px;
104
+ cursor: row-resize;
105
+
106
+ &:hover {
107
+ @mixin linear-gradient top;
108
+ }
109
+ }
110
+
111
+ .bk-resize-collapse {
112
+ top: 100%;
113
+ left: 50%;
114
+ margin-top: 8px;
115
+ transform: translate3d(-50%, -50%, 0) rotate(90deg);
116
+ }
117
+ }
118
+ }
119
+
120
+ &-bottom {
121
+ flex-direction: column-reverse;
122
+
123
+ & > .bk-resize-layout-aside {
124
+ border-top: 1px solid #dcdee5;
125
+
126
+ &:after {
127
+ top: 1px;
128
+ left: 50%;
129
+ transform: translate3d(-50%, 0, 0) rotate(90deg);
130
+ }
131
+
132
+ .bk-resize-trigger {
133
+ bottom: 100%;
134
+ left: 0;
135
+ width: 100%;
136
+ height: 5px;
137
+ cursor: row-resize;
138
+
139
+ &:hover {
140
+ @mixin linear-gradient bottom;
141
+ }
142
+ }
143
+
144
+ .bk-resize-collapse {
145
+ bottom: 100%;
146
+ left: 50%;
147
+ margin-bottom: 8px;
148
+ transform: translate3d(50%, 50%, 0) rotate(-90deg);
149
+ }
150
+ }
151
+ }
152
+
153
+ & > .bk-resize-layout-aside {
154
+ position: relative;
155
+
156
+ &:after {
157
+ position: absolute;
158
+ width: 2px;
159
+ height: 2px;
160
+ color: #c4c6cc;
161
+ background: currentColor;
162
+ content: '';
163
+ box-shadow: 0 4px 0 0 currentColor, 0 8px 0 0 currentColor, 0 -4px 0 0 currentColor, 0 -8px 0 0 currentColor;
164
+ }
165
+
166
+ .bk-resize-layout-aside-content {
167
+ width: 100%;
168
+ height: 100%;
169
+ overflow: hidden;
170
+ }
171
+
172
+ .bk-resize-trigger {
173
+ position: absolute;
174
+ z-index: 3;
175
+ background-color: transparent;
176
+ }
177
+
178
+ .bk-resize-proxy {
179
+ position: absolute;
180
+ z-index: 9999;
181
+ pointer-events: none;
182
+ visibility: hidden;
183
+
184
+ &.left,
185
+ &.right {
186
+ top: 0;
187
+ height: 100%;
188
+ border-left: 1px dashed #3a84ff;
189
+ }
190
+
191
+ &.top,
192
+ &.bottom {
193
+ left: 0;
194
+ width: 100%;
195
+ border-top: 1px dashed #3a84ff;
196
+ }
197
+ }
198
+
199
+ .bk-resize-collapse {
200
+ position: absolute;
201
+ z-index: 2;
202
+ width: 16px;
203
+ height: 50px;
204
+ font-size: 20px;
205
+ line-height: 50px;
206
+ color: #fff;
207
+ text-align: center;
208
+ text-indent: -2px;
209
+ cursor: pointer;
210
+ background: #dcdee5;
211
+ border-radius: 0px 12px 12px 0px;
212
+
213
+ &:hover {
214
+ background: #3a84ff;
215
+ }
216
+ }
217
+ }
218
+
219
+ & > .bk-resize-layout-main {
220
+ flex: 1;
221
+ overflow: hidden;
222
+ }
223
+
224
+ .bk-resize-mask {
225
+ position: fixed;
226
+ top: 0;
227
+ right: 0;
228
+ bottom: 0;
229
+ left: 0;
230
+ z-index: 9999;
231
+ display: none;
232
+ }
233
+ }
@@ -0,0 +1,282 @@
1
+ :root {
2
+ --bk-prefix: bk;
3
+ --popover-max-height: 216px;
4
+ --primary-color: #3a84ff;
5
+ --success-color: #2dcb56;
6
+ --warning-color: #ff9c01;
7
+ --danger-color: #ea3636;
8
+ --default-color: #63656e;
9
+ --gray-color: #979ba5;
10
+ --light-gray: #c4c6cc;
11
+ --white-color: white;
12
+ --disable-color: #dcdee5;
13
+ --font-size-base: 12px;
14
+ --font-size-medium: 14px;
15
+ --font-size-large: 16px;
16
+ --line-height-base: 16px;
17
+ --line-height-medium: 16px;
18
+ --line-height-large: 18px;
19
+ --component-size-small: 26px;
20
+ --component-size-base: 32px;
21
+ --component-size-large: 38px;
22
+ --border-width-base: 1px;
23
+ --border-style-base: solid;
24
+ --border-radius-base: 2px;
25
+ --input-disabled-bg: #fafbfd;
26
+ --input-disabled-border: var(--disable-color);
27
+ --input-height-base: var(--component-size-base);
28
+ --input-color: var(--default-color);
29
+ --input-bg: white;
30
+ --input-border-color: var(--light-gray);
31
+ --input-broder-radius: 3px;
32
+ --input-shadow-color: #a3c5fd;
33
+ --input-horizontal-padding: 10px;
34
+ --input-block-color: #f4f6fa;
35
+ --input-icon-size: var(--font-size-large);
36
+ --input-maxlength-color: #979ba5;
37
+ --button-primary-hover-color: #5594fa;
38
+ --button-danger-hover-color: #ff5656;
39
+ --button-success-hover-color: #45e35f;
40
+ --button-warning-hover-color: #ffb848;
41
+ --button-default-hover-border-color: #979ba5;
42
+ --button-primary-active-color: #2c77f4;
43
+ --button-danger-active-color: #db2626;
44
+ --button-success-active-color: #1ab943;
45
+ --button-warning-active-color: #eb9000;
46
+ --fixed-navbar-background: #fff;
47
+ --fixed-navbar-boxshadow-color: rgba(0, 0, 0, 0.1);
48
+ --switch-default-color: #fff;
49
+ --switch-grey-color: #c4c6cc;
50
+ --breadcrumb-black-color: #979ba5;
51
+ --breadcrumb-primary-hover-color: #0082ff;
52
+ --breadcrumb-fn-main-color: #63656e;
53
+ --link-default-hover-color: #979ba5;
54
+ --link-primary-hover-color: #699df4;
55
+ --link-success-hover-color: #45e35f;
56
+ --link-warning-hover-color: #ffb848;
57
+ --link-danger-hover-color: #ff5656;
58
+ --link-default-disabled-color: #dcdee5;
59
+ --link-primary-disabled-color: #a3c5fd;
60
+ --link-success-disabled-color: #94f5a4;
61
+ --link-warning-disabled-color: #ffd695;
62
+ --link-danger-disabled-color: #fd9c9c;
63
+ --message-color: var(--default-color);
64
+ --message-primary-bg-color: #f0f8ff;
65
+ --message-primary-border-color: #e1ecff;
66
+ --message-warning-bg-color: #fff4e2;
67
+ --message-warning-border-color: #ffe8c3;
68
+ --message-success-bg-color: #f2fff4;
69
+ --message-success-border-color: #dcffe2;
70
+ --message-danger-bg-color: #ffeded;
71
+ --message-danger-border-color: #ffdddd;
72
+ --slider-default-bg: #dcdee5;
73
+ --slider-disable-bar-bg: #979ba5;
74
+ --menu-bg-color: #182132;
75
+ --submenu-bg-color: #151d2c;
76
+ --menu-active-bg-color: linear-gradient(90deg, #3f87ff 0%, #3a84ff 100%);
77
+ --menu-color: #96a2b9;
78
+ --menu-group-color: var(--default-color);
79
+ --menu-width: 260px;
80
+ --menu-collapse-width: 60px;
81
+ --menu-active-color: white;
82
+ --nav-header-bg-color: #182132;
83
+ --nav-bg-color: #182132;
84
+ --date-picker-disabled-bg: #fafbfd;
85
+ --date-picker-dropdown-mb: 4px;
86
+ --date-picker-dropdown-bg: #fff;
87
+ --table-bg-color: var(--white-color);
88
+ --table-border-color: #dcdee5;
89
+ --table-head-bg-color: #fafbfd;
90
+ --table-head-font-color: #313238;
91
+ --table-body-font-color: #575961;
92
+ --table-row-hover-bg-color: #f5f7fa;
93
+ }
94
+ .bk-resize-layout {
95
+ display: flex;
96
+ }
97
+ .bk-resize-layout-border {
98
+ border: 1px solid #dcdee5;
99
+ }
100
+ .bk-resize-layout-collapsed > .bk-resize-layout-aside .bk-resize-layout-aside-content {
101
+ overflow: hidden;
102
+ }
103
+ .bk-resize-layout-collapsed > .bk-resize-layout-aside .bk-resize-collapse:before {
104
+ display: inline-block;
105
+ transform: rotate(180deg);
106
+ }
107
+ .bk-resize-layout-left {
108
+ flex-direction: row;
109
+ }
110
+ .bk-resize-layout-left > .bk-resize-layout-aside {
111
+ border-right: 1px solid #dcdee5;
112
+ }
113
+ .bk-resize-layout-left > .bk-resize-layout-aside:after {
114
+ top: 50%;
115
+ right: 1px;
116
+ transform: translate3d(0, -50%, 0);
117
+ }
118
+ .bk-resize-layout-left > .bk-resize-layout-aside .bk-resize-trigger {
119
+ top: 0;
120
+ left: 100%;
121
+ width: 5px;
122
+ height: 100%;
123
+ cursor: col-resize;
124
+ }
125
+ .bk-resize-layout-left > .bk-resize-layout-aside .bk-resize-trigger:hover {
126
+ @mixin linear-gradient left;
127
+ }
128
+ .bk-resize-layout-left > .bk-resize-layout-aside .bk-resize-collapse {
129
+ top: 50%;
130
+ left: 100%;
131
+ transform: translateY(-50%);
132
+ }
133
+ .bk-resize-layout-right {
134
+ flex-direction: row-reverse;
135
+ }
136
+ .bk-resize-layout-right > .bk-resize-layout-aside {
137
+ border-left: 1px solid #dcdee5;
138
+ }
139
+ .bk-resize-layout-right > .bk-resize-layout-aside:after {
140
+ top: 50%;
141
+ left: 1px;
142
+ transform: translate3d(0, -50%, 0);
143
+ }
144
+ .bk-resize-layout-right > .bk-resize-layout-aside .bk-resize-trigger {
145
+ top: 0;
146
+ right: 100%;
147
+ width: 5px;
148
+ height: 100%;
149
+ cursor: col-resize;
150
+ }
151
+ .bk-resize-layout-right > .bk-resize-layout-aside .bk-resize-trigger:hover {
152
+ @mixin linear-gradient right;
153
+ }
154
+ .bk-resize-layout-right > .bk-resize-layout-aside .bk-resize-collapse {
155
+ top: 50%;
156
+ right: 100%;
157
+ transform: translateY(-50%) rotate(180deg);
158
+ }
159
+ .bk-resize-layout-top {
160
+ flex-direction: column;
161
+ }
162
+ .bk-resize-layout-top > .bk-resize-layout-aside {
163
+ border-bottom: 1px solid #dcdee5;
164
+ }
165
+ .bk-resize-layout-top > .bk-resize-layout-aside:after {
166
+ bottom: 1px;
167
+ left: 50%;
168
+ transform: translate3d(-50%, 0, 0) rotate(90deg);
169
+ }
170
+ .bk-resize-layout-top > .bk-resize-layout-aside .bk-resize-trigger {
171
+ top: 100%;
172
+ left: 0;
173
+ width: 100%;
174
+ height: 5px;
175
+ cursor: row-resize;
176
+ }
177
+ .bk-resize-layout-top > .bk-resize-layout-aside .bk-resize-trigger:hover {
178
+ @mixin linear-gradient top;
179
+ }
180
+ .bk-resize-layout-top > .bk-resize-layout-aside .bk-resize-collapse {
181
+ top: 100%;
182
+ left: 50%;
183
+ margin-top: 8px;
184
+ transform: translate3d(-50%, -50%, 0) rotate(90deg);
185
+ }
186
+ .bk-resize-layout-bottom {
187
+ flex-direction: column-reverse;
188
+ }
189
+ .bk-resize-layout-bottom > .bk-resize-layout-aside {
190
+ border-top: 1px solid #dcdee5;
191
+ }
192
+ .bk-resize-layout-bottom > .bk-resize-layout-aside:after {
193
+ top: 1px;
194
+ left: 50%;
195
+ transform: translate3d(-50%, 0, 0) rotate(90deg);
196
+ }
197
+ .bk-resize-layout-bottom > .bk-resize-layout-aside .bk-resize-trigger {
198
+ bottom: 100%;
199
+ left: 0;
200
+ width: 100%;
201
+ height: 5px;
202
+ cursor: row-resize;
203
+ }
204
+ .bk-resize-layout-bottom > .bk-resize-layout-aside .bk-resize-trigger:hover {
205
+ @mixin linear-gradient bottom;
206
+ }
207
+ .bk-resize-layout-bottom > .bk-resize-layout-aside .bk-resize-collapse {
208
+ bottom: 100%;
209
+ left: 50%;
210
+ margin-bottom: 8px;
211
+ transform: translate3d(50%, 50%, 0) rotate(-90deg);
212
+ }
213
+ .bk-resize-layout > .bk-resize-layout-aside {
214
+ position: relative;
215
+ }
216
+ .bk-resize-layout > .bk-resize-layout-aside:after {
217
+ position: absolute;
218
+ width: 2px;
219
+ height: 2px;
220
+ color: #c4c6cc;
221
+ background: currentColor;
222
+ content: '';
223
+ box-shadow: 0 4px 0 0 currentColor, 0 8px 0 0 currentColor, 0 -4px 0 0 currentColor, 0 -8px 0 0 currentColor;
224
+ }
225
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-layout-aside-content {
226
+ width: 100%;
227
+ height: 100%;
228
+ overflow: hidden;
229
+ }
230
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-trigger {
231
+ position: absolute;
232
+ z-index: 3;
233
+ background-color: transparent;
234
+ }
235
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-proxy {
236
+ position: absolute;
237
+ z-index: 9999;
238
+ pointer-events: none;
239
+ visibility: hidden;
240
+ }
241
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-proxy.left,
242
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-proxy.right {
243
+ top: 0;
244
+ height: 100%;
245
+ border-left: 1px dashed #3a84ff;
246
+ }
247
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-proxy.top,
248
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-proxy.bottom {
249
+ left: 0;
250
+ width: 100%;
251
+ border-top: 1px dashed #3a84ff;
252
+ }
253
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-collapse {
254
+ position: absolute;
255
+ z-index: 2;
256
+ width: 16px;
257
+ height: 50px;
258
+ font-size: 20px;
259
+ line-height: 50px;
260
+ color: #fff;
261
+ text-align: center;
262
+ text-indent: -2px;
263
+ cursor: pointer;
264
+ background: #dcdee5;
265
+ border-radius: 0px 12px 12px 0px;
266
+ }
267
+ .bk-resize-layout > .bk-resize-layout-aside .bk-resize-collapse:hover {
268
+ background: #3a84ff;
269
+ }
270
+ .bk-resize-layout > .bk-resize-layout-main {
271
+ flex: 1;
272
+ overflow: hidden;
273
+ }
274
+ .bk-resize-layout .bk-resize-mask {
275
+ position: fixed;
276
+ top: 0;
277
+ right: 0;
278
+ bottom: 0;
279
+ left: 0;
280
+ z-index: 9999;
281
+ display: none;
282
+ }
@@ -1,37 +1,33 @@
1
- import { InjectionKey } from 'vue';
2
- import Option from './option';
3
- export declare type OptionInstanceType = InstanceType<typeof Option>;
4
- export interface ISelectContext {
5
- props: {
6
- multiple?: boolean;
7
- };
8
- selectedOptions: Set<any>;
9
- searchKey: string;
10
- isRemoteSearch: boolean;
11
- register(option: OptionInstanceType): any;
12
- unregister(option: OptionInstanceType): any;
13
- handleOptionSelected(option: OptionInstanceType): void;
14
- }
1
+ import { InjectionKey, Ref } from 'vue';
2
+ import { OnFirstUpdateFnType } from '@bkui-vue/shared';
3
+ import { IOptionGroupContext, IPopoverConfig, ISelectContext } from './type';
15
4
  export declare const selectKey: InjectionKey<ISelectContext>;
16
- export interface IOptionGroupContext {
17
- disabled: boolean;
18
- groupCollapse: boolean;
19
- }
20
5
  export declare const optionGroupKey: InjectionKey<IOptionGroupContext>;
21
- export interface ISelectState {
22
- currentPlaceholder: string;
23
- options: Set<OptionInstanceType>;
24
- selectedOptions: Set<OptionInstanceType>;
25
- currentSelectedLabel: string;
26
- }
27
6
  export declare function useFocus(): {
28
- isFocus: import("vue").Ref<boolean>;
7
+ isFocus: Ref<boolean>;
29
8
  handleFocus: () => void;
30
9
  handleBlur: () => void;
31
10
  };
32
11
  export declare function useHover(): {
33
- isHover: import("vue").Ref<boolean>;
12
+ isHover: Ref<boolean>;
34
13
  setHover: () => void;
35
14
  cancelHover: () => void;
36
15
  };
37
- export default function useDebouncedRef<T>(value: any, delay?: number): import("vue").Ref<T>;
16
+ export declare function useRegistry<T>(data: Ref<Set<T>>): {
17
+ register: (item: T) => Set<T>;
18
+ unregister: (item: T) => boolean;
19
+ };
20
+ export declare function useDebouncedRef<T>(value: any, delay?: number): Ref<T>;
21
+ export declare function usePopover(config: IPopoverConfig): {
22
+ isPopoverShow: Ref<boolean>;
23
+ popperWidth: Ref<string | number>;
24
+ togglePopover: () => void;
25
+ onPopoverFirstUpdate: OnFirstUpdateFnType;
26
+ hidePopover: () => void;
27
+ showPopover: () => void;
28
+ };
29
+ export declare function useRemoteSearch(method: Function): {
30
+ searchKey: Ref<string>;
31
+ searchLoading: Ref<boolean>;
32
+ };
33
+ export declare function toLowerCase(value?: string): string;