bkui-vue 0.0.1-beta.23 → 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.
Files changed (60) hide show
  1. package/dist/bkui-vue.cjs.js +659 -335
  2. package/dist/bkui-vue.esm.js +660 -337
  3. package/dist/bkui-vue.umd.js +659 -335
  4. package/dist/style.css +450 -50
  5. package/lib/components.d.ts +1 -0
  6. package/lib/loading/index.js +1 -1
  7. package/lib/loading/loading.css +2 -0
  8. package/lib/loading/loading.d.ts +1 -0
  9. package/lib/loading/loading.less +2 -0
  10. package/lib/loading/loading.variable.css +2 -0
  11. package/lib/popover/index.js +1 -1
  12. package/lib/resize-layout/index.d.ts +336 -0
  13. package/lib/resize-layout/index.js +1 -0
  14. package/lib/resize-layout/resize-layout.css +189 -0
  15. package/lib/resize-layout/resize-layout.d.ts +127 -0
  16. package/lib/resize-layout/resize-layout.less +233 -0
  17. package/lib/resize-layout/resize-layout.variable.css +282 -0
  18. package/lib/select/common.d.ts +23 -27
  19. package/lib/select/index.d.ts +530 -145
  20. package/lib/select/index.js +12 -12
  21. package/lib/select/optionGroup.d.ts +0 -76
  22. package/lib/select/select.css +154 -44
  23. package/lib/select/select.d.ts +150 -39
  24. package/lib/select/select.less +131 -75
  25. package/lib/select/select.variable.css +154 -44
  26. package/lib/select/type.d.ts +31 -0
  27. package/lib/shared/{bk-helper-core.d.ts → helper.d.ts} +0 -0
  28. package/lib/shared/index.d.ts +4 -4
  29. package/lib/shared/{bk-mask-manager.d.ts → mask-manager.d.ts} +0 -0
  30. package/lib/shared/{bk-pop-manager.d.ts → pop-manager.d.ts} +0 -0
  31. package/lib/shared/{bk-popover.d.ts → popover.d.ts} +0 -0
  32. package/lib/styles/index.d.ts +2 -0
  33. package/lib/styles/index.js +1 -1
  34. package/lib/swiper/index.d.ts +181 -0
  35. package/lib/swiper/index.js +1 -0
  36. package/lib/swiper/swiper.css +91 -0
  37. package/lib/swiper/swiper.d.ts +65 -0
  38. package/lib/swiper/swiper.less +107 -0
  39. package/lib/swiper/swiper.variable.css +91 -0
  40. package/lib/table/index.d.ts +1 -1
  41. package/lib/table/index.js +2 -2
  42. package/lib/table/table.css +1 -1
  43. package/lib/table/table.d.ts +1 -1
  44. package/lib/table/table.less +1 -1
  45. package/lib/table/table.variable.css +1 -1
  46. package/lib/tag/tag.css +1 -1
  47. package/lib/tag/tag.less +1 -1
  48. package/lib/tag/tag.variable.css +1 -1
  49. package/lib/transfer/index.d.ts +325 -1
  50. package/lib/transfer/index.js +1 -1
  51. package/lib/tree/index.d.ts +4 -1
  52. package/lib/tree/index.js +1 -1
  53. package/lib/tree/tree.css +13 -5
  54. package/lib/tree/tree.d.ts +18 -9
  55. package/lib/tree/tree.less +20 -9
  56. package/lib/tree/tree.variable.css +106 -5
  57. package/lib/tree/util.d.ts +1 -1
  58. package/lib/virtual-render/index.js +1 -1
  59. package/lib/virtual-render/virtual-render.d.ts +2 -2
  60. package/package.json +3 -3
@@ -91,8 +91,55 @@
91
91
  --table-body-font-color: #575961;
92
92
  --table-row-hover-bg-color: #f5f7fa;
93
93
  }
94
- .bk-select {
95
- display: inline-block;
94
+ @keyframes loading-scale-animate {
95
+ 0% {
96
+ transform: scale(1);
97
+ }
98
+ 100% {
99
+ transform: scale(0.6);
100
+ }
101
+ }
102
+ @keyframes fade {
103
+ 100% {
104
+ background-color: transparent;
105
+ }
106
+ }
107
+ .bk-fade-transtion .bk-fade-enter-active,
108
+ .bk-fade-transtion .bk-fade-leave-active {
109
+ transition: all 0.3s cubic-bezier(0.55, 0, 0.1, 1);
110
+ }
111
+ .bk-fade-transtion .bk-fade-enter,
112
+ .bk-fade-transtion .bk-fade-leave-to {
113
+ opacity: 0;
114
+ }
115
+ .bk-select .mr5 {
116
+ margin-right: 5px;
117
+ }
118
+ .bk-select .ml5 {
119
+ margin-left: 5px;
120
+ }
121
+ .bk-select .input {
122
+ width: 100%;
123
+ height: 32px;
124
+ padding: 0 28px 0 10px;
125
+ line-height: normal;
126
+ color: var(--default-color);
127
+ text-align: left;
128
+ vertical-align: middle;
129
+ cursor: pointer;
130
+ background-color: var(--white-color);
131
+ border: 1px solid var(--light-gray);
132
+ border-radius: 2px;
133
+ outline: none;
134
+ box-sizing: border-box;
135
+ transition: all 0.1s;
136
+ resize: none;
137
+ overflow: hidden;
138
+ text-overflow: ellipsis;
139
+ white-space: nowrap;
140
+ }
141
+ .bk-select .input::placeholder {
142
+ color: var(--light-gray);
96
143
  }
97
144
  .bk-select ul {
98
145
  padding: 0;
@@ -100,19 +147,43 @@
100
147
  font-weight: normal;
101
148
  list-style: none;
102
149
  }
150
+ .bk-select .bk-popover-reference {
151
+ display: unset;
152
+ }
103
153
  .bk-select .bk-popover-content {
104
154
  padding: 0;
105
155
  }
106
- .bk-select.is-focus .bk-select-trigger .bk-select-input {
156
+ .bk-select.small .bk-select-trigger .bk-select-input {
157
+ height: 24px;
158
+ }
159
+ .bk-select.large .bk-select-trigger .bk-select-input {
160
+ height: 36px;
161
+ font-size: 14px;
162
+ }
163
+ .bk-select.large .bk-select-content {
164
+ font-size: 14px;
165
+ }
166
+ .bk-select.simplicity .bk-select-trigger .bk-select-input {
167
+ border: none;
168
+ border-bottom: 1px solid var(--light-gray);
169
+ }
170
+ .bk-select.is-focus.normal .bk-select-trigger .bk-select-input {
107
171
  border-color: var(--primary-color);
108
172
  box-shadow: 0px 0px 3px 0px #a3c5fd;
109
173
  }
174
+ .bk-select.is-focus.simplicity .bk-select-trigger .bk-select-input {
175
+ border-color: var(--primary-color);
176
+ }
110
177
  .bk-select.is-disabled .bk-select-trigger .bk-select-input {
111
178
  cursor: not-allowed;
112
179
  background: #fafbfd;
113
180
  border-color: #dcdee5;
114
181
  box-shadow: unset;
115
182
  }
183
+ .bk-select.is-filterable .bk-select-trigger .bk-select-input,
184
+ .bk-select.is-filterable .bk-select-trigger .bk-select-tag-input {
185
+ cursor: text;
186
+ }
116
187
  .bk-select.popover-show .bk-select-trigger .angle-up {
117
188
  transform: rotate(0);
118
189
  }
@@ -124,7 +195,6 @@
124
195
  width: 100%;
125
196
  height: 32px;
126
197
  padding: 0 28px 0 10px;
127
- font-size: 12px;
128
198
  line-height: normal;
129
199
  color: var(--default-color);
130
200
  text-align: left;
@@ -137,13 +207,76 @@
137
207
  box-sizing: border-box;
138
208
  transition: all 0.1s;
139
209
  resize: none;
210
+ overflow: hidden;
211
+ text-overflow: ellipsis;
212
+ white-space: nowrap;
140
213
  }
141
214
  .bk-select .bk-select-trigger .bk-select-input::placeholder {
142
215
  color: var(--light-gray);
143
216
  }
217
+ .bk-select .bk-select-trigger .bk-select-tag {
218
+ width: 100%;
219
+ height: 32px;
220
+ padding: 0 28px 0 10px;
221
+ line-height: normal;
222
+ color: var(--default-color);
223
+ text-align: left;
224
+ vertical-align: middle;
225
+ cursor: pointer;
226
+ background-color: var(--white-color);
227
+ border: 1px solid var(--light-gray);
228
+ border-radius: 2px;
229
+ outline: none;
230
+ box-sizing: border-box;
231
+ transition: all 0.1s;
232
+ resize: none;
233
+ overflow: hidden;
234
+ text-overflow: ellipsis;
235
+ white-space: nowrap;
236
+ width: auto;
237
+ height: auto;
238
+ min-height: 32px;
239
+ display: flex;
240
+ align-items: center;
241
+ flex-wrap: wrap;
242
+ }
243
+ .bk-select .bk-select-trigger .bk-select-tag::placeholder {
244
+ color: var(--light-gray);
245
+ }
246
+ .bk-select .bk-select-trigger .bk-select-tag-input {
247
+ width: 100%;
248
+ height: 32px;
249
+ padding: 0 28px 0 10px;
250
+ line-height: normal;
251
+ color: var(--default-color);
252
+ text-align: left;
253
+ vertical-align: middle;
254
+ cursor: pointer;
255
+ background-color: var(--white-color);
256
+ border: 1px solid var(--light-gray);
257
+ border-radius: 2px;
258
+ box-sizing: border-box;
259
+ transition: all 0.1s;
260
+ resize: none;
261
+ overflow: hidden;
262
+ text-overflow: ellipsis;
263
+ white-space: nowrap;
264
+ height: auto;
265
+ width: auto;
266
+ border: none;
267
+ outline: none;
268
+ padding: 0;
269
+ }
270
+ .bk-select .bk-select-trigger .bk-select-tag-input::placeholder {
271
+ color: var(--light-gray);
272
+ }
144
273
  .bk-select .bk-select-trigger .bk-select-prefix {
145
274
  position: absolute;
146
- top: 6px;
275
+ top: 0;
276
+ display: inline-flex;
277
+ height: 100%;
278
+ align-items: center;
279
+ justify-content: center;
147
280
  left: 4px;
148
281
  font-size: 14px;
149
282
  }
@@ -151,27 +284,31 @@
151
284
  transform: rotate(180deg);
152
285
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
153
286
  display: flex;
154
- align-items: center;
155
- justify-content: center;
156
287
  width: 20px;
157
288
  height: 20px;
158
289
  font-size: 20px;
159
290
  color: #979ba5;
160
291
  position: absolute;
161
- top: 6px;
292
+ top: 0;
293
+ display: inline-flex;
294
+ height: 100%;
295
+ align-items: center;
296
+ justify-content: center;
162
297
  right: 4px;
163
298
  }
164
299
  .bk-select .bk-select-trigger .clear-icon {
165
300
  transition: all 0.1s;
166
301
  display: flex;
167
- align-items: center;
168
- justify-content: center;
169
302
  width: 20px;
170
303
  height: 20px;
171
304
  font-size: 14px;
172
305
  color: #c4c6cc;
173
306
  position: absolute;
174
- top: 6px;
307
+ top: 0;
308
+ display: inline-flex;
309
+ height: 100%;
310
+ align-items: center;
311
+ justify-content: center;
175
312
  right: 4px;
176
313
  }
177
314
  .bk-select .bk-select-trigger .clear-icon:hover {
@@ -179,15 +316,8 @@
179
316
  }
180
317
  .bk-select .bk-select-trigger .spinner {
181
318
  position: absolute;
182
- top: 6px;
183
- right: 4px;
184
- display: flex;
185
- align-items: center;
186
- justify-content: center;
187
- width: 20px;
188
- height: 20px;
189
- font-size: 16px;
190
- color: #3A84FF;
319
+ top: 8px;
320
+ right: 6px;
191
321
  }
192
322
  .bk-select .bk-select-empty {
193
323
  display: flex;
@@ -209,28 +339,6 @@
209
339
  .bk-select .bk-select-dropdown {
210
340
  overflow: auto;
211
341
  }
212
- .bk-select .bk-select-dropdown .bk-select-search {
213
- position: relative;
214
- padding: 0 5px;
215
- }
216
- .bk-select .bk-select-dropdown .bk-select-search-icon {
217
- position: absolute;
218
- top: 50%;
219
- left: 8px;
220
- font-size: 16px;
221
- color: #979ba5;
222
- transform: translateY(-50%);
223
- }
224
- .bk-select .bk-select-dropdown .bk-select-search-input {
225
- width: 100%;
226
- height: 32px;
227
- padding: 0 10px 0 26px;
228
- font-size: 12px;
229
- cursor: text;
230
- border: none;
231
- border-bottom: 1px solid #dcdee5;
232
- outline: 0;
233
- }
234
342
  .bk-select .bk-select-extension {
235
343
  display: flex;
236
344
  height: 40px;
@@ -263,7 +371,6 @@
263
371
  .bk-select .bk-select-option.is-selected.is-multiple::after {
264
372
  position: absolute;
265
373
  right: 12px;
266
- font-size: 12px;
267
374
  font-weight: 700;
268
375
  content: '\2713';
269
376
  }
@@ -285,6 +392,10 @@
285
392
  .bk-select .bk-option-group.collapsible .bk-select-option {
286
393
  padding-left: 40px;
287
394
  }
395
+ .bk-select .bk-option-group.disabled .default-group-label {
396
+ color: #C4C6CC;
397
+ cursor: not-allowed;
398
+ }
288
399
  .bk-select .bk-option-group .default-group-label {
289
400
  display: flex;
290
401
  user-select: none;
@@ -295,7 +406,6 @@
295
406
  width: 12px;
296
407
  height: 12px;
297
408
  margin-right: 8px;
298
- font-size: 12px;
299
409
  transition: all 0.1s;
300
410
  align-items: center;
301
411
  justify-content: center;
@@ -0,0 +1,31 @@
1
+ import Popover from '@bkui-vue/popover';
2
+ import Option from './option';
3
+ import Group from './optionGroup';
4
+ export declare type OptionInstanceType = InstanceType<typeof Option>;
5
+ export declare type GroupInstanceType = InstanceType<typeof Group>;
6
+ export declare type PopoverInstanceType = InstanceType<typeof Popover>;
7
+ export interface ISelectContext {
8
+ props: {
9
+ multiple?: boolean;
10
+ };
11
+ selectedOptions: Set<any>;
12
+ register(option: OptionInstanceType): any;
13
+ unregister(option: OptionInstanceType): any;
14
+ registerGroup(option: GroupInstanceType): any;
15
+ unregisterGroup(option: GroupInstanceType): any;
16
+ handleOptionSelected(option: OptionInstanceType): void;
17
+ }
18
+ export interface IOptionGroupContext {
19
+ disabled: boolean;
20
+ groupCollapse: boolean;
21
+ register(option: OptionInstanceType): any;
22
+ unregister(option: OptionInstanceType): any;
23
+ }
24
+ export interface ISelectState {
25
+ currentPlaceholder: string;
26
+ selectedOptions: Set<OptionInstanceType>;
27
+ currentSelectedLabel: string;
28
+ }
29
+ export interface IPopoverConfig {
30
+ popoverMinWidth: number;
31
+ }
File without changes
@@ -25,10 +25,10 @@
25
25
  */
26
26
  import { Plugin } from 'vue';
27
27
  export * from './z-index-manager';
28
- export * from './bk-popover';
29
- export * from './bk-pop-manager';
30
- export * from './bk-mask-manager';
31
- export * from './bk-helper-core';
28
+ export * from './popover';
29
+ export * from './pop-manager';
30
+ export * from './mask-manager';
31
+ export * from './helper';
32
32
  export * from './vue-types';
33
33
  export * from './scrollbar-width';
34
34
  export declare function classes(dynamicCls: object, constCls?: string): string;
File without changes
@@ -20,6 +20,7 @@ import '../progress/progress.less';
20
20
  import '../radio/radio.less';
21
21
  import '../rate/rate.less';
22
22
  import '../rate/star.less';
23
+ import '../swiper/swiper.less';
23
24
  import '../select/select.less';
24
25
  import '../sideslider/sideslider.less';
25
26
  import '../switcher/switcher.less';
@@ -41,3 +42,4 @@ import '../virtual-render/virtual-render.less';
41
42
  import '../transfer/transfer.less';
42
43
  import '../pagination/pagination.less';
43
44
  import '../timeline/timeline.less';
45
+ import '../resize-layout/resize-layout.less';
@@ -1 +1 @@
1
- !function(e){"function"==typeof define&&define.amd?define(["./reset.less","../alert/alert.less","../backtop/backtop.less","../badge/badge.less","../breadcrumb/breadcrumb.less","../button/button.less","../card/card.less","../checkbox/checkbox.less","../collapse/collapse.less","../dialog/dialog.less","../exception/exception.less","../fixed-navbar/fixed-navbar.less","../input/input.less","../link/link.less","../dropdown/dropdown.less","../loading/loading.less","../modal/modal.less","../popover/popover.less","../progress/progress.less","../radio/radio.less","../rate/rate.less","../rate/star.less","../select/select.less","../sideslider/sideslider.less","../switcher/switcher.less","../table/table.less","../tag/tag.less","../form/form.less","../steps/steps.less","../message/message.less","../notify/notify.less","../tree/tree.less","../slider/slider.less","../menu/menu.less","../navigation/navigation.less","../date-picker/date-picker.less","../divider/divider.less","../tab/tab.less","../process/process.less","../virtual-render/virtual-render.less","../transfer/transfer.less","../pagination/pagination.less","../timeline/timeline.less"],e):e()}((function(){}));
1
+ !function(e){"function"==typeof define&&define.amd?define(["./reset.less","../alert/alert.less","../backtop/backtop.less","../badge/badge.less","../breadcrumb/breadcrumb.less","../button/button.less","../card/card.less","../checkbox/checkbox.less","../collapse/collapse.less","../dialog/dialog.less","../exception/exception.less","../fixed-navbar/fixed-navbar.less","../input/input.less","../link/link.less","../dropdown/dropdown.less","../loading/loading.less","../modal/modal.less","../popover/popover.less","../progress/progress.less","../radio/radio.less","../rate/rate.less","../rate/star.less","../swiper/swiper.less","../select/select.less","../sideslider/sideslider.less","../switcher/switcher.less","../table/table.less","../tag/tag.less","../form/form.less","../steps/steps.less","../message/message.less","../notify/notify.less","../tree/tree.less","../slider/slider.less","../menu/menu.less","../navigation/navigation.less","../date-picker/date-picker.less","../divider/divider.less","../tab/tab.less","../process/process.less","../virtual-render/virtual-render.less","../transfer/transfer.less","../pagination/pagination.less","../timeline/timeline.less","../resize-layout/resize-layout.less"],e):e()}((function(){}));
@@ -0,0 +1,181 @@
1
+ declare const BkSwiper: {
2
+ new (...args: any[]): {
3
+ $: import("vue").ComponentInternalInstance;
4
+ $data: {};
5
+ $props: Partial<{
6
+ width: number;
7
+ height: number;
8
+ list: unknown[];
9
+ isLoop: boolean;
10
+ loopTime: number;
11
+ pics: unknown[];
12
+ }> & Omit<Readonly<import("vue").ExtractPropTypes<{
13
+ isLoop: import("vue-types").VueTypeValidableDef<boolean> & {
14
+ default: boolean;
15
+ } & {
16
+ default: boolean;
17
+ };
18
+ loopTime: import("vue-types").VueTypeValidableDef<number> & {
19
+ default: number;
20
+ } & {
21
+ default: number;
22
+ };
23
+ pics: import("vue-types").VueTypeValidableDef<unknown[]> & {
24
+ default: () => unknown[];
25
+ } & {
26
+ default: () => unknown[];
27
+ };
28
+ list: import("vue-types").VueTypeValidableDef<unknown[]> & {
29
+ default: () => unknown[];
30
+ } & {
31
+ default: () => unknown[];
32
+ };
33
+ height: import("vue-types").VueTypeValidableDef<number> & {
34
+ default: number;
35
+ };
36
+ width: import("vue-types").VueTypeValidableDef<number> & {
37
+ default: number;
38
+ };
39
+ }>> & {
40
+ "onIndex-change"?: (...args: any[]) => any;
41
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "width" | "height" | "list" | "isLoop" | "loopTime" | "pics">;
42
+ $attrs: {
43
+ [x: string]: unknown;
44
+ };
45
+ $refs: {
46
+ [x: string]: unknown;
47
+ };
48
+ $slots: Readonly<{
49
+ [name: string]: import("vue").Slot;
50
+ }>;
51
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
52
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
53
+ $emit: (event: "index-change", ...args: any[]) => void;
54
+ $el: any;
55
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
56
+ isLoop: import("vue-types").VueTypeValidableDef<boolean> & {
57
+ default: boolean;
58
+ } & {
59
+ default: boolean;
60
+ };
61
+ loopTime: import("vue-types").VueTypeValidableDef<number> & {
62
+ default: number;
63
+ } & {
64
+ default: number;
65
+ };
66
+ pics: import("vue-types").VueTypeValidableDef<unknown[]> & {
67
+ default: () => unknown[];
68
+ } & {
69
+ default: () => unknown[];
70
+ };
71
+ list: import("vue-types").VueTypeValidableDef<unknown[]> & {
72
+ default: () => unknown[];
73
+ } & {
74
+ default: () => unknown[];
75
+ };
76
+ height: import("vue-types").VueTypeValidableDef<number> & {
77
+ default: number;
78
+ };
79
+ width: import("vue-types").VueTypeValidableDef<number> & {
80
+ default: number;
81
+ };
82
+ }>> & {
83
+ "onIndex-change"?: (...args: any[]) => any;
84
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "index-change"[], string, {
85
+ width: number;
86
+ height: number;
87
+ list: unknown[];
88
+ isLoop: boolean;
89
+ loopTime: number;
90
+ pics: unknown[];
91
+ }> & {
92
+ beforeCreate?: (() => void) | (() => void)[];
93
+ created?: (() => void) | (() => void)[];
94
+ beforeMount?: (() => void) | (() => void)[];
95
+ mounted?: (() => void) | (() => void)[];
96
+ beforeUpdate?: (() => void) | (() => void)[];
97
+ updated?: (() => void) | (() => void)[];
98
+ activated?: (() => void) | (() => void)[];
99
+ deactivated?: (() => void) | (() => void)[];
100
+ beforeDestroy?: (() => void) | (() => void)[];
101
+ beforeUnmount?: (() => void) | (() => void)[];
102
+ destroyed?: (() => void) | (() => void)[];
103
+ unmounted?: (() => void) | (() => void)[];
104
+ renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
105
+ renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
106
+ errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void)[];
107
+ };
108
+ $forceUpdate: () => void;
109
+ $nextTick: typeof import("vue").nextTick;
110
+ $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
111
+ } & Readonly<import("vue").ExtractPropTypes<{
112
+ isLoop: import("vue-types").VueTypeValidableDef<boolean> & {
113
+ default: boolean;
114
+ } & {
115
+ default: boolean;
116
+ };
117
+ loopTime: import("vue-types").VueTypeValidableDef<number> & {
118
+ default: number;
119
+ } & {
120
+ default: number;
121
+ };
122
+ pics: import("vue-types").VueTypeValidableDef<unknown[]> & {
123
+ default: () => unknown[];
124
+ } & {
125
+ default: () => unknown[];
126
+ };
127
+ list: import("vue-types").VueTypeValidableDef<unknown[]> & {
128
+ default: () => unknown[];
129
+ } & {
130
+ default: () => unknown[];
131
+ };
132
+ height: import("vue-types").VueTypeValidableDef<number> & {
133
+ default: number;
134
+ };
135
+ width: import("vue-types").VueTypeValidableDef<number> & {
136
+ default: number;
137
+ };
138
+ }>> & {
139
+ "onIndex-change"?: (...args: any[]) => any;
140
+ } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
141
+ __isFragment?: never;
142
+ __isTeleport?: never;
143
+ __isSuspense?: never;
144
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
145
+ isLoop: import("vue-types").VueTypeValidableDef<boolean> & {
146
+ default: boolean;
147
+ } & {
148
+ default: boolean;
149
+ };
150
+ loopTime: import("vue-types").VueTypeValidableDef<number> & {
151
+ default: number;
152
+ } & {
153
+ default: number;
154
+ };
155
+ pics: import("vue-types").VueTypeValidableDef<unknown[]> & {
156
+ default: () => unknown[];
157
+ } & {
158
+ default: () => unknown[];
159
+ };
160
+ list: import("vue-types").VueTypeValidableDef<unknown[]> & {
161
+ default: () => unknown[];
162
+ } & {
163
+ default: () => unknown[];
164
+ };
165
+ height: import("vue-types").VueTypeValidableDef<number> & {
166
+ default: number;
167
+ };
168
+ width: import("vue-types").VueTypeValidableDef<number> & {
169
+ default: number;
170
+ };
171
+ }>> & {
172
+ "onIndex-change"?: (...args: any[]) => any;
173
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "index-change"[], "index-change", {
174
+ width: number;
175
+ height: number;
176
+ list: unknown[];
177
+ isLoop: boolean;
178
+ loopTime: number;
179
+ pics: unknown[];
180
+ }> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
181
+ export default BkSwiper;
@@ -0,0 +1 @@
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("../shared"),require("vue")):"function"==typeof define&&define.amd?define(["exports","../shared","vue"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).bkuiVue={},e.Shared,e.Vue)}(this,(function(e,n,t){"use strict";var o=t.defineComponent({name:"Swiper",props:{isLoop:n.PropTypes.bool.def(!0),loopTime:n.PropTypes.number.def(8e3),pics:n.PropTypes.array.def([]),list:n.PropTypes.array.def([]),height:n.PropTypes.number,width:n.PropTypes.number},emits:["index-change"],setup:function(e,n){var o,a=n.emit,i=n.slots,r=t.toRefs(e),l=r.isLoop,u=r.loopTime,c=r.pics,s=r.list,d=r.height,p=r.width,v=t.ref(),f=t.ref(0),h=t.ref(0),b=t.ref(0),w=t.ref(0),m=t.computed((function(){var e;return(null===(e=s.value)||void 0===e?void 0:e.length)>0?s.value:c.value})),g=t.computed((function(){return{width:"".concat(h.value*m.value.length,"px"),transform:"translateX(-".concat(h.value*f.value,"px)")}})),k=t.computed((function(){return{width:"".concat(h.value,"px"),height:"".concat(b.value,"px")}})),y=function(e){var n=e;e>=m.value.length&&(n=0),e<0&&(n=m.value.length-1),f.value=n,a("index-change",n)},T=function(e){return["bk-swiper-img",{"bk-swiper-link":e.link},e.class]},x=function(e){return{"background-image":"url(".concat(e.url,")"),"background-color":e.color}},V=function(e){return{"bk-current-index":f.value===e}},N=function e(){l.value&&(w.value=window.setTimeout((function(){y(f.value+1),e()}),u.value))},P=function(){var e,n=function(e){if(void 0===e)return{height:0,width:0};var n=getComputedStyle(e),t=e.clientWidth-parseFloat(n.paddingTop)-parseFloat(n.paddingBottom);return{height:e.clientHeight-parseFloat(n.paddingLeft)-parseFloat(n.paddingRight),width:t}}(null===(e=v.value)||void 0===e?void 0:e.parentElement);h.value=+p.value>0?p.value:n.width,b.value=+d.value>0?d.value:n.height};return t.watch([d,p],P),t.onMounted((function(){var e,n;P(),N(),(n=null===(e=v.value)||void 0===e?void 0:e.parentElement)&&window.ResizeObserver&&(o=new ResizeObserver((function(){P()}))).observe(n)})),t.onBeforeUnmount((function(){var e;window.clearTimeout(w.value),null===(e=o.disconnect)||void 0===e||e.call(o)})),function(){return t.createVNode("section",{class:"bk-swiper-home",ref:v,style:k.value},[t.createVNode("hgroup",{style:g.value,class:"bk-transition bk-swiper-main"},[m.value.map((function(e){var n,o;return t.createVNode("h3",{class:"bk-swiper-card",style:k.value},[null!==(o=null===(n=i.default)||void 0===n?void 0:n.call(i,e))&&void 0!==o?o:t.createVNode("span",{class:T(e),style:x(e),onClick:function(){var n;(n=e.link)&&window.open(n,"_blank")}},null)])}))]),t.createVNode("ul",{class:"bk-swiper-index"},[m.value.map((function(e,n){return t.createVNode("li",{class:V(n),onMouseover:function(){return y(n)}},null)}))]),t.createVNode("span",{class:"bk-swiper-nav bk-nav-prev",onClick:function(){return y(f.value-1)}},[t.createVNode("i",{class:"bk-swiper-nav-icon"},null)]),t.createVNode("span",{class:"bk-swiper-nav bk-nav-next",onClick:function(){return y(f.value+1)}},[t.createVNode("i",{class:"bk-swiper-nav-icon"},null)])])}}}),a=n.withInstall(o);e.default=a,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -0,0 +1,91 @@
1
+ .bk-swiper-home {
2
+ position: relative;
3
+ overflow: hidden;
4
+ }
5
+ .bk-swiper-home:hover .bk-swiper-nav {
6
+ display: block;
7
+ }
8
+ .bk-swiper-main {
9
+ display: flex;
10
+ height: 100%;
11
+ overflow: hidden;
12
+ }
13
+ .bk-swiper-main.bk-transition {
14
+ transition: 0.5s cubic-bezier(0.42, 0, 0.58, 1);
15
+ }
16
+ .bk-swiper-main .bk-swiper-card {
17
+ height: 100%;
18
+ padding: 0;
19
+ margin: 0;
20
+ }
21
+ .bk-swiper-main .bk-swiper-img {
22
+ display: inline-block;
23
+ width: 100%;
24
+ height: 100%;
25
+ margin: 0;
26
+ background-position: center;
27
+ background-repeat: no-repeat;
28
+ background-size: cover;
29
+ }
30
+ .bk-swiper-main .bk-swiper-link {
31
+ cursor: pointer;
32
+ }
33
+ .bk-swiper-index {
34
+ position: absolute;
35
+ right: 0;
36
+ bottom: 10px;
37
+ left: 0;
38
+ display: flex;
39
+ padding: 0;
40
+ margin: 0;
41
+ justify-content: center;
42
+ }
43
+ .bk-swiper-index li {
44
+ width: 11px;
45
+ height: 4px;
46
+ margin: 0 3px;
47
+ list-style-type: none;
48
+ background: #63656e;
49
+ border-radius: 2px;
50
+ transition: width 0.525s;
51
+ }
52
+ .bk-swiper-index li.bk-current-index {
53
+ width: 17px;
54
+ background: #c5c7d1;
55
+ }
56
+ .bk-swiper-nav {
57
+ position: absolute;
58
+ top: calc(50% - 15px);
59
+ display: none;
60
+ width: 30px;
61
+ height: 30px;
62
+ cursor: pointer;
63
+ background: rgba(31, 45, 61, 0.4);
64
+ border-radius: 50%;
65
+ }
66
+ .bk-swiper-nav .bk-swiper-nav-icon {
67
+ position: absolute;
68
+ top: 9px;
69
+ left: 11px;
70
+ width: 10px;
71
+ height: 10px;
72
+ border-bottom: 2px solid #fff;
73
+ border-left: 2px solid #fff;
74
+ }
75
+ .bk-swiper-nav.bk-nav-prev {
76
+ left: 14px;
77
+ transform: rotate(45deg);
78
+ }
79
+ .bk-swiper-nav.bk-nav-prev:hover {
80
+ transform: rotate(45deg);
81
+ }
82
+ .bk-swiper-nav.bk-nav-next {
83
+ right: 14px;
84
+ transform: rotate(225deg);
85
+ }
86
+ .bk-swiper-nav.bk-nav-next:hover {
87
+ transform: rotate(225deg);
88
+ }
89
+ .bk-swiper-nav:hover {
90
+ background: rgba(31, 45, 61, 0.6);
91
+ }