@vunk/plus 1.10.3 → 1.11.0
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/components/agent-chat-provider/index.mjs +1 -1
- package/components/avatar/index.mjs +1 -1
- package/components/broadcasting-markdown/index.mjs +25 -16
- package/components/broadcasting-markdown/src/ctx.d.ts +7 -0
- package/components/broadcasting-markdown/src/index.vue.d.ts +84 -1
- package/components/bubble-list/index.mjs +3 -3
- package/components/bubble-templates/index.mjs +1 -1
- package/components/chat-independent/index.mjs +1 -1
- package/components/drawer/index.css +92 -92
- package/components/drawer/index.mjs +1 -1
- package/components/index2.mjs +54 -75
- package/components/lottie-animation/index.mjs +1 -1
- package/components/metahuman-broadcasting/index.mjs +28 -3062
- package/components/metahuman-broadcasting/src/ctx.d.ts +4 -0
- package/components/metahuman-broadcasting/src/index.vue.d.ts +102 -9
- package/components/monaco-editor/index.mjs +1 -1
- package/components/monaco-environment/index.mjs +1 -1
- package/components/pixi-frame/src/bitmap.vue.d.ts +4 -5
- package/components/pixi-frame/src/index.vue.d.ts +4 -5
- package/components/recorder-button/index.mjs +1 -1
- package/components/routes-menu-content/index.mjs +3 -3
- package/components/scrollbar/index.mjs +3 -3
- package/components/sender/index.mjs +2 -2
- package/components/speech-button/index.mjs +3 -3
- package/components/table-columns/index.mjs +1 -1
- package/components/tables-v1/index.mjs +1 -1
- package/components/tables-v1-checkbox/index.mjs +1 -1
- package/components/text/index.mjs +1 -1
- package/components/typing-markdown/index.mjs +1 -1
- package/components/vditor/index.mjs +3 -3
- package/components/xgplayer/index.mjs +2 -2
- package/icons/end/index.mjs +1 -1
- package/icons/keyboard/index.mjs +1 -1
- package/icons/start/index.mjs +1 -1
- package/icons/voice/index.mjs +1 -1
- package/index.css +92 -92
- package/package.json +1 -1
|
@@ -185,7 +185,7 @@ var _sfc_main = defineComponent({
|
|
|
185
185
|
}
|
|
186
186
|
});
|
|
187
187
|
|
|
188
|
-
var VkAgentChatProvider = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "
|
|
188
|
+
var VkAgentChatProvider = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/agent-chat-provider/src/index.vue"]]);
|
|
189
189
|
|
|
190
190
|
class MessageViewManager {
|
|
191
191
|
constructor() {
|
|
@@ -36,7 +36,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
36
36
|
/* FORWARDED */
|
|
37
37
|
}, 8, ["style"]);
|
|
38
38
|
}
|
|
39
|
-
var VkAvatar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
39
|
+
var VkAvatar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/avatar/src/index.vue"]]);
|
|
40
40
|
|
|
41
41
|
var types = /*#__PURE__*/Object.freeze({
|
|
42
42
|
__proto__: null
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { VkTypingMarkdown } from '@vunk/plus/components/typing-markdown';
|
|
1
2
|
import { setData } from '@vunk/core';
|
|
2
3
|
import { useDeferred, useDataComputed } from '@vunk/core/composables';
|
|
3
4
|
import { blobToDataURL } from '@vunk/shared/data/blob';
|
|
4
5
|
import { TickerStatus } from '@vunk/shared/enum';
|
|
5
|
-
import { shallowRef, computed, watch, onBeforeUnmount, watchEffect, defineComponent, onMounted, renderSlot, nextTick, createCommentVNode, ref, resolveComponent, openBlock, createElementBlock, Fragment, createVNode,
|
|
6
|
+
import { shallowRef, computed, watch, onBeforeUnmount, watchEffect, defineComponent, onMounted, renderSlot, nextTick, createCommentVNode, ref, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, renderList, createBlock, withCtx } from 'vue';
|
|
6
7
|
import { noop } from '@vunk/shared/function';
|
|
7
8
|
import { c as commonjsGlobal } from '../_commonjsHelpers.mjs';
|
|
8
9
|
import { _ as _export_sfc } from '../_plugin-vue_export-helper.mjs';
|
|
@@ -88,6 +89,13 @@ const props = {
|
|
|
88
89
|
paragraphMinlength: {
|
|
89
90
|
type: Number,
|
|
90
91
|
default: 20
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* @description 禁用, 即不产出段落
|
|
95
|
+
*/
|
|
96
|
+
disabled: {
|
|
97
|
+
type: Boolean,
|
|
98
|
+
default: false
|
|
91
99
|
}
|
|
92
100
|
};
|
|
93
101
|
const emits = {
|
|
@@ -3492,7 +3500,7 @@ var _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
3492
3500
|
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3493
3501
|
return renderSlot(_ctx.$slots, "default", { status: $props.status });
|
|
3494
3502
|
}
|
|
3495
|
-
var HowlerSpeechView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__file", "
|
|
3503
|
+
var HowlerSpeechView = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/broadcasting-markdown/src/howler-speech.vue"]]);
|
|
3496
3504
|
|
|
3497
3505
|
const LogLevels = {
|
|
3498
3506
|
silent: Number.NEGATIVE_INFINITY,
|
|
@@ -4047,13 +4055,14 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4047
4055
|
deferred: $setup.theDef
|
|
4048
4056
|
}) : createCommentVNode("v-if", true);
|
|
4049
4057
|
}
|
|
4050
|
-
var ParagraphView = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "
|
|
4058
|
+
var ParagraphView = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/broadcasting-markdown/src/paragraph.vue"]]);
|
|
4051
4059
|
|
|
4052
4060
|
var _sfc_main = defineComponent({
|
|
4053
4061
|
name: "VkBroadcastingMarkdown",
|
|
4054
4062
|
components: {
|
|
4055
4063
|
ParagraphView,
|
|
4056
|
-
HowlerSpeechView
|
|
4064
|
+
HowlerSpeechView,
|
|
4065
|
+
VkTypingMarkdown
|
|
4057
4066
|
},
|
|
4058
4067
|
props,
|
|
4059
4068
|
emits,
|
|
@@ -4102,6 +4111,9 @@ var _sfc_main = defineComponent({
|
|
|
4102
4111
|
return props2.source.substring(0, currentIndex.value);
|
|
4103
4112
|
});
|
|
4104
4113
|
const fulfilledTextValue = computed(() => {
|
|
4114
|
+
if (props2.disabled) {
|
|
4115
|
+
return props2.source;
|
|
4116
|
+
}
|
|
4105
4117
|
return theData.value.filter(
|
|
4106
4118
|
(item) => item.status === ParagraphStatus.fulfilled || item.status === ParagraphStatus.pending
|
|
4107
4119
|
).map((item) => item.value).join("");
|
|
@@ -4112,6 +4124,9 @@ var _sfc_main = defineComponent({
|
|
|
4112
4124
|
});
|
|
4113
4125
|
});
|
|
4114
4126
|
watch(isFinished, (val) => {
|
|
4127
|
+
if (props2.disabled) {
|
|
4128
|
+
return;
|
|
4129
|
+
}
|
|
4115
4130
|
!val && write();
|
|
4116
4131
|
}, { immediate: true });
|
|
4117
4132
|
function write() {
|
|
@@ -4199,7 +4214,9 @@ var _sfc_main = defineComponent({
|
|
|
4199
4214
|
watch(() => props2.status, () => {
|
|
4200
4215
|
if (props2.status === TickerStatus.stop) {
|
|
4201
4216
|
theData.value.forEach((item) => {
|
|
4202
|
-
item.broadcast
|
|
4217
|
+
if (item.broadcast !== TickerStatus.stopped) {
|
|
4218
|
+
item.broadcast = Broadcast.stop;
|
|
4219
|
+
}
|
|
4203
4220
|
});
|
|
4204
4221
|
}
|
|
4205
4222
|
if (!currentPragraph.value) {
|
|
@@ -4229,7 +4246,7 @@ var _sfc_main = defineComponent({
|
|
|
4229
4246
|
});
|
|
4230
4247
|
|
|
4231
4248
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
4232
|
-
const
|
|
4249
|
+
const _component_VkTypingMarkdown = resolveComponent("VkTypingMarkdown");
|
|
4233
4250
|
const _component_HowlerSpeechView = resolveComponent("HowlerSpeechView");
|
|
4234
4251
|
const _component_ParagraphView = resolveComponent("ParagraphView");
|
|
4235
4252
|
return openBlock(), createElementBlock(
|
|
@@ -4237,15 +4254,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4237
4254
|
null,
|
|
4238
4255
|
[
|
|
4239
4256
|
renderSlot(_ctx.$slots, "default", { paragraphs: _ctx.theData }, () => [
|
|
4240
|
-
createVNode(
|
|
4241
|
-
onClick: _cache[0] || (_cache[0] = () => console.log(_ctx.theData))
|
|
4242
|
-
}, {
|
|
4243
|
-
default: withCtx(() => _cache[1] || (_cache[1] = [
|
|
4244
|
-
createTextVNode(" paragraphs ")
|
|
4245
|
-
])),
|
|
4246
|
-
_: 1
|
|
4247
|
-
/* STABLE */
|
|
4248
|
-
})
|
|
4257
|
+
createVNode(_component_VkTypingMarkdown, { source: _ctx.fulfilledTextValue }, null, 8, ["source"])
|
|
4249
4258
|
]),
|
|
4250
4259
|
(openBlock(true), createElementBlock(
|
|
4251
4260
|
Fragment,
|
|
@@ -4291,7 +4300,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4291
4300
|
/* STABLE_FRAGMENT */
|
|
4292
4301
|
);
|
|
4293
4302
|
}
|
|
4294
|
-
var VkBroadcastingMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
4303
|
+
var VkBroadcastingMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/broadcasting-markdown/src/index.vue"]]);
|
|
4295
4304
|
|
|
4296
4305
|
var types = /*#__PURE__*/Object.freeze({
|
|
4297
4306
|
__proto__: null
|
|
@@ -99,6 +99,13 @@ export declare const props: {
|
|
|
99
99
|
type: NumberConstructor;
|
|
100
100
|
default: number;
|
|
101
101
|
};
|
|
102
|
+
/**
|
|
103
|
+
* @description 禁用, 即不产出段落
|
|
104
|
+
*/
|
|
105
|
+
disabled: {
|
|
106
|
+
type: BooleanConstructor;
|
|
107
|
+
default: boolean;
|
|
108
|
+
};
|
|
102
109
|
};
|
|
103
110
|
export declare const emits: {
|
|
104
111
|
setData: (e: SetDataEvent) => SetDataEvent;
|
|
@@ -72,6 +72,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
72
72
|
type: NumberConstructor;
|
|
73
73
|
default: number;
|
|
74
74
|
};
|
|
75
|
+
disabled: {
|
|
76
|
+
type: BooleanConstructor;
|
|
77
|
+
default: boolean;
|
|
78
|
+
};
|
|
75
79
|
}>, {
|
|
76
80
|
theData: import("vue").ComputedRef<Paragraph[]>;
|
|
77
81
|
ParagraphStatus: typeof ParagraphStatus;
|
|
@@ -158,6 +162,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
158
162
|
type: NumberConstructor;
|
|
159
163
|
default: number;
|
|
160
164
|
};
|
|
165
|
+
disabled: {
|
|
166
|
+
type: BooleanConstructor;
|
|
167
|
+
default: boolean;
|
|
168
|
+
};
|
|
161
169
|
}>> & Readonly<{
|
|
162
170
|
onComplete?: (() => any) | undefined;
|
|
163
171
|
"onUpdate:status"?: ((_: TickerStatus) => any) | undefined;
|
|
@@ -167,9 +175,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
167
175
|
data: Paragraph[];
|
|
168
176
|
source: string;
|
|
169
177
|
render: (text: string) => string;
|
|
178
|
+
disabled: boolean;
|
|
170
179
|
processing: (paragraph: Paragraph) => void;
|
|
171
|
-
status: TickerStatus;
|
|
172
180
|
delay: number;
|
|
181
|
+
status: TickerStatus;
|
|
173
182
|
separators: string[];
|
|
174
183
|
keepRead: boolean;
|
|
175
184
|
textToSpeech: import("./types").TextToSpeech;
|
|
@@ -295,5 +304,79 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
295
304
|
source: string;
|
|
296
305
|
status: TickerStatus;
|
|
297
306
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
307
|
+
VkTypingMarkdown: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
308
|
+
source: {
|
|
309
|
+
type: StringConstructor;
|
|
310
|
+
default: string;
|
|
311
|
+
};
|
|
312
|
+
delay: {
|
|
313
|
+
type: NumberConstructor;
|
|
314
|
+
default: number;
|
|
315
|
+
};
|
|
316
|
+
pause: {
|
|
317
|
+
type: BooleanConstructor;
|
|
318
|
+
default: boolean;
|
|
319
|
+
};
|
|
320
|
+
disabled: {
|
|
321
|
+
type: BooleanConstructor;
|
|
322
|
+
default: boolean;
|
|
323
|
+
};
|
|
324
|
+
markdownItSetup: {
|
|
325
|
+
type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
|
|
326
|
+
default: null;
|
|
327
|
+
};
|
|
328
|
+
finished: {
|
|
329
|
+
type: BooleanConstructor;
|
|
330
|
+
};
|
|
331
|
+
loading: {
|
|
332
|
+
type: BooleanConstructor;
|
|
333
|
+
default: boolean;
|
|
334
|
+
};
|
|
335
|
+
}>, {
|
|
336
|
+
htmlText: import("vue").Ref<string, string>;
|
|
337
|
+
isDebouncedTyping: Readonly<import("vue").Ref<boolean, boolean>>;
|
|
338
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
339
|
+
typing: null;
|
|
340
|
+
'update:finished': null;
|
|
341
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
342
|
+
source: {
|
|
343
|
+
type: StringConstructor;
|
|
344
|
+
default: string;
|
|
345
|
+
};
|
|
346
|
+
delay: {
|
|
347
|
+
type: NumberConstructor;
|
|
348
|
+
default: number;
|
|
349
|
+
};
|
|
350
|
+
pause: {
|
|
351
|
+
type: BooleanConstructor;
|
|
352
|
+
default: boolean;
|
|
353
|
+
};
|
|
354
|
+
disabled: {
|
|
355
|
+
type: BooleanConstructor;
|
|
356
|
+
default: boolean;
|
|
357
|
+
};
|
|
358
|
+
markdownItSetup: {
|
|
359
|
+
type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
|
|
360
|
+
default: null;
|
|
361
|
+
};
|
|
362
|
+
finished: {
|
|
363
|
+
type: BooleanConstructor;
|
|
364
|
+
};
|
|
365
|
+
loading: {
|
|
366
|
+
type: BooleanConstructor;
|
|
367
|
+
default: boolean;
|
|
368
|
+
};
|
|
369
|
+
}>> & Readonly<{
|
|
370
|
+
onTyping?: ((...args: any[]) => any) | undefined;
|
|
371
|
+
"onUpdate:finished"?: ((...args: any[]) => any) | undefined;
|
|
372
|
+
}>, {
|
|
373
|
+
source: string;
|
|
374
|
+
pause: boolean;
|
|
375
|
+
disabled: boolean;
|
|
376
|
+
loading: boolean;
|
|
377
|
+
delay: number;
|
|
378
|
+
markdownItSetup: (md: import("markdown-it-async").MarkdownItAsync) => void;
|
|
379
|
+
finished: boolean;
|
|
380
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
298
381
|
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
299
382
|
export default _default;
|
|
@@ -25,7 +25,7 @@ function _sfc_render$2(_ctx, _cache) {
|
|
|
25
25
|
createStaticVNode("<defs><filter id=\"master_svg0_62_10054\" filterUnits=\"objectBoundingBox\" color-interpolation-filters=\"sRGB\" x=\"-0.030120481927710843\" y=\"-0.030120481927710843\" width=\"1.0602409638554218\" height=\"1.0602409638554218\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"></feFlood><feBlend mode=\"normal\" in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"></feBlend><feGaussianBlur stdDeviation=\"5\" result=\"effect1_foregroundBlur\"></feGaussianBlur></filter><linearGradient id=\"master_svg1_62_10082\" x1=\"0.5\" y1=\"-0.13192443549633026\" x2=\"0.42319029569625854\" y2=\"1.368432641029358\"><stop offset=\"9.145302325487137%\" stop-color=\"currentColor\" stop-opacity=\"1\"></stop><stop offset=\"13.636428117752075%\" stop-color=\"currentColor\" stop-opacity=\"0.07539999485015869\"></stop><stop offset=\"16.968481242656708%\" stop-color=\"currentColor\" stop-opacity=\"0\"></stop></linearGradient></defs><g transform=\"matrix(0,1,-1,0,704,-664)\" filter=\"url(#master_svg0_62_10054)\"><path d=\"M1016,684C1199.359,684,1348,535.359,1348,352C1348,168.641,1199.359,20,1016,20C832.641,20,684,168.641,684,352C684,535.359,832.641,684,1016,684ZM1016,32C1192.731,32,1336,175.269,1336,352C1336,528.731,1192.731,672,1016,672C839.269,672,696,528.731,696,352C696,175.269,839.269,32,1016,32Z\" fill-rule=\"evenodd\" fill=\"url(#master_svg1_62_10082)\" fill-opacity=\"1\"></path></g>", 2)
|
|
26
26
|
])))
|
|
27
27
|
}
|
|
28
|
-
var loadingBg = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render$2],['__file',"
|
|
28
|
+
var loadingBg = /*#__PURE__*/_export_sfc(_sfc_main$2, [['render',_sfc_render$2],['__file',"/home/runner/work/vunk-plus/vunk-plus/packages/components/bubble-list/src/core/loading.vue"]]);
|
|
29
29
|
|
|
30
30
|
var _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
31
31
|
__name: "index",
|
|
@@ -294,7 +294,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
294
294
|
])
|
|
295
295
|
]);
|
|
296
296
|
}
|
|
297
|
-
var BubbleList = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "
|
|
297
|
+
var BubbleList = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/bubble-list/src/core/index.vue"]]);
|
|
298
298
|
|
|
299
299
|
const props = {
|
|
300
300
|
items: {
|
|
@@ -401,7 +401,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
401
401
|
/* FORWARDED */
|
|
402
402
|
});
|
|
403
403
|
}
|
|
404
|
-
var VkBubbleList = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
404
|
+
var VkBubbleList = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/bubble-list/src/index.vue"]]);
|
|
405
405
|
|
|
406
406
|
var types = /*#__PURE__*/Object.freeze({
|
|
407
407
|
__proto__: null
|
|
@@ -48,7 +48,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
48
48
|
/* STABLE */
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
-
var VkBubbleTemplates = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
51
|
+
var VkBubbleTemplates = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/bubble-templates/src/index.vue"]]);
|
|
52
52
|
|
|
53
53
|
var types = /*#__PURE__*/Object.freeze({
|
|
54
54
|
__proto__: null
|
|
@@ -237,7 +237,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
237
237
|
])
|
|
238
238
|
]);
|
|
239
239
|
}
|
|
240
|
-
var VkChatIndependent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
240
|
+
var VkChatIndependent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/chat-independent/src/index.vue"]]);
|
|
241
241
|
|
|
242
242
|
var types = /*#__PURE__*/Object.freeze({
|
|
243
243
|
__proto__: null
|
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
.vk-drawer-modal.is-closed {
|
|
2
|
-
display: block!important; /* 保持抽屉关闭时,toggle 仍然可见 */
|
|
1
|
+
.vk-drawer-modal.is-closed {
|
|
2
|
+
display: block!important; /* 保持抽屉关闭时,toggle 仍然可见 */
|
|
3
3
|
visibility: hidden; /* 抽屉本体不可见 */
|
|
4
4
|
}
|
|
5
|
-
.vk-drawer-modal.is-closed .el-drawer.rtl {
|
|
5
|
+
.vk-drawer-modal.is-closed .el-drawer.rtl {
|
|
6
6
|
transform: translateX(100%); /* 抽屉本体移出可视区域 */
|
|
7
7
|
}
|
|
8
|
-
.vk-drawer-modal.is-closed .el-drawer.ltr {
|
|
8
|
+
.vk-drawer-modal.is-closed .el-drawer.ltr {
|
|
9
9
|
transform: translateX(-100%); /* 抽屉本体移出可视区域 */
|
|
10
10
|
}
|
|
11
|
-
.vk-drawer-modal.is-closed .el-drawer.ttb {
|
|
11
|
+
.vk-drawer-modal.is-closed .el-drawer.ttb {
|
|
12
12
|
transform: translateY(-100%); /* 抽屉本体移出可视区域 */
|
|
13
13
|
}
|
|
14
|
-
.vk-drawer-modal.is-closed .el-drawer.btt {
|
|
14
|
+
.vk-drawer-modal.is-closed .el-drawer.btt {
|
|
15
15
|
transform: translateY(100%); /* 抽屉本体移出可视区域 */
|
|
16
16
|
}
|
|
17
|
-
.vk-drawer-modal .vk-drawer-toggle {
|
|
17
|
+
.vk-drawer-modal .vk-drawer-toggle {
|
|
18
18
|
visibility: visible; /* 保持 toggle 可见 */
|
|
19
19
|
}
|
|
20
|
-
.vk-drawer-modal.is-absolute{
|
|
20
|
+
.vk-drawer-modal.is-absolute{
|
|
21
21
|
position: absolute!important;
|
|
22
22
|
}
|
|
23
|
-
.vk-drawer-modal.is-absolute.no-modal {
|
|
23
|
+
.vk-drawer-modal.is-absolute.no-modal {
|
|
24
24
|
pointer-events: none;
|
|
25
25
|
}
|
|
26
|
-
.vk-drawer-modal.is-absolute.no-modal .el-drawer {
|
|
26
|
+
.vk-drawer-modal.is-absolute.no-modal .el-drawer {
|
|
27
27
|
pointer-events: initial;
|
|
28
28
|
}
|
|
29
|
-
.vk-drawer-toggle {
|
|
30
|
-
position: absolute;
|
|
31
|
-
z-index: 2;
|
|
32
|
-
|
|
33
|
-
/* 尺寸 */
|
|
34
|
-
width: 40px;
|
|
35
|
-
height: 80px;
|
|
36
|
-
|
|
37
|
-
/* 布局 */
|
|
38
|
-
display: flex;
|
|
39
|
-
align-items: center;
|
|
40
|
-
justify-content: center;
|
|
41
|
-
|
|
42
|
-
/* 交互 */
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
user-select: none;
|
|
45
|
-
|
|
46
|
-
/* 文字样式 */
|
|
29
|
+
.vk-drawer-toggle {
|
|
30
|
+
position: absolute;
|
|
31
|
+
z-index: 2;
|
|
32
|
+
|
|
33
|
+
/* 尺寸 */
|
|
34
|
+
width: 40px;
|
|
35
|
+
height: 80px;
|
|
36
|
+
|
|
37
|
+
/* 布局 */
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
justify-content: center;
|
|
41
|
+
|
|
42
|
+
/* 交互 */
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
user-select: none;
|
|
45
|
+
|
|
46
|
+
/* 文字样式 */
|
|
47
47
|
color: var(--el-text-color-primary);
|
|
48
48
|
}
|
|
49
|
-
.vk-drawer-toggle.is-rtl {
|
|
50
|
-
|
|
51
|
-
/* 位置 */
|
|
52
|
-
top: 25%;
|
|
53
|
-
left: 0;
|
|
54
|
-
transform: translate(-100%, 0);
|
|
55
|
-
|
|
56
|
-
/* 外观 */
|
|
57
|
-
background-color: var(--el-bg-color);
|
|
58
|
-
border: 1px solid var(--el-border-color);
|
|
59
|
-
border-right: none; /* 右侧不要边框,因为贴着 drawer */
|
|
60
|
-
|
|
61
|
-
/* 圆角 */
|
|
62
|
-
border-top-left-radius: var(--el-border-radius-base);
|
|
63
|
-
border-bottom-left-radius: var(--el-border-radius-base);
|
|
64
|
-
|
|
65
|
-
/* 文字排列 */
|
|
49
|
+
.vk-drawer-toggle.is-rtl {
|
|
50
|
+
|
|
51
|
+
/* 位置 */
|
|
52
|
+
top: 25%;
|
|
53
|
+
left: 0;
|
|
54
|
+
transform: translate(-100%, 0);
|
|
55
|
+
|
|
56
|
+
/* 外观 */
|
|
57
|
+
background-color: var(--el-bg-color);
|
|
58
|
+
border: 1px solid var(--el-border-color);
|
|
59
|
+
border-right: none; /* 右侧不要边框,因为贴着 drawer */
|
|
60
|
+
|
|
61
|
+
/* 圆角 */
|
|
62
|
+
border-top-left-radius: var(--el-border-radius-base);
|
|
63
|
+
border-bottom-left-radius: var(--el-border-radius-base);
|
|
64
|
+
|
|
65
|
+
/* 文字排列 */
|
|
66
66
|
writing-mode: vertical-rl; /* 竖向文字 */
|
|
67
67
|
}
|
|
68
|
-
.vk-drawer-toggle.is-ltr {
|
|
69
|
-
|
|
70
|
-
/* 位置 */
|
|
71
|
-
top: 25%;
|
|
72
|
-
right: 0;
|
|
73
|
-
transform: translate(100%, 0);
|
|
74
|
-
|
|
75
|
-
/* 外观 */
|
|
76
|
-
background-color: var(--el-bg-color);
|
|
77
|
-
border: 1px solid var(--el-border-color);
|
|
78
|
-
border-left: none; /* 左侧不要边框,因为贴着 drawer */
|
|
79
|
-
|
|
80
|
-
/* 圆角 */
|
|
81
|
-
border-top-right-radius: var(--el-border-radius-base);
|
|
82
|
-
border-bottom-right-radius: var(--el-border-radius-base);
|
|
83
|
-
|
|
84
|
-
/* 文字排列 */
|
|
68
|
+
.vk-drawer-toggle.is-ltr {
|
|
69
|
+
|
|
70
|
+
/* 位置 */
|
|
71
|
+
top: 25%;
|
|
72
|
+
right: 0;
|
|
73
|
+
transform: translate(100%, 0);
|
|
74
|
+
|
|
75
|
+
/* 外观 */
|
|
76
|
+
background-color: var(--el-bg-color);
|
|
77
|
+
border: 1px solid var(--el-border-color);
|
|
78
|
+
border-left: none; /* 左侧不要边框,因为贴着 drawer */
|
|
79
|
+
|
|
80
|
+
/* 圆角 */
|
|
81
|
+
border-top-right-radius: var(--el-border-radius-base);
|
|
82
|
+
border-bottom-right-radius: var(--el-border-radius-base);
|
|
83
|
+
|
|
84
|
+
/* 文字排列 */
|
|
85
85
|
writing-mode: vertical-rl; /* 竖向文字 */
|
|
86
86
|
}
|
|
87
|
-
.vk-drawer-toggle.is-ttb {
|
|
88
|
-
|
|
89
|
-
/* 位置 */
|
|
90
|
-
bottom: 0;
|
|
91
|
-
left: 25%;
|
|
92
|
-
transform: translate(0, 100%);
|
|
93
|
-
|
|
94
|
-
/* 外观 */
|
|
95
|
-
background-color: var(--el-bg-color);
|
|
96
|
-
border: 1px solid var(--el-border-color);
|
|
97
|
-
border-top: none; /* 上侧不要边框,因为贴着 drawer */
|
|
98
|
-
|
|
99
|
-
/* 圆角 */
|
|
100
|
-
border-bottom-left-radius: var(--el-border-radius-base);
|
|
87
|
+
.vk-drawer-toggle.is-ttb {
|
|
88
|
+
|
|
89
|
+
/* 位置 */
|
|
90
|
+
bottom: 0;
|
|
91
|
+
left: 25%;
|
|
92
|
+
transform: translate(0, 100%);
|
|
93
|
+
|
|
94
|
+
/* 外观 */
|
|
95
|
+
background-color: var(--el-bg-color);
|
|
96
|
+
border: 1px solid var(--el-border-color);
|
|
97
|
+
border-top: none; /* 上侧不要边框,因为贴着 drawer */
|
|
98
|
+
|
|
99
|
+
/* 圆角 */
|
|
100
|
+
border-bottom-left-radius: var(--el-border-radius-base);
|
|
101
101
|
border-bottom-right-radius: var(--el-border-radius-base);
|
|
102
102
|
}
|
|
103
|
-
.vk-drawer-toggle.is-btt {
|
|
104
|
-
|
|
105
|
-
/* 位置 */
|
|
106
|
-
top: 0;
|
|
107
|
-
left: 25%;
|
|
108
|
-
transform: translate(0, -100%);
|
|
109
|
-
|
|
110
|
-
/* 外观 */
|
|
111
|
-
background-color: var(--el-bg-color);
|
|
112
|
-
border: 1px solid var(--el-border-color);
|
|
113
|
-
border-bottom: none; /* 下侧不要边框,因为贴着 drawer */
|
|
114
|
-
|
|
115
|
-
/* 圆角 */
|
|
116
|
-
border-top-left-radius: var(--el-border-radius-base);
|
|
103
|
+
.vk-drawer-toggle.is-btt {
|
|
104
|
+
|
|
105
|
+
/* 位置 */
|
|
106
|
+
top: 0;
|
|
107
|
+
left: 25%;
|
|
108
|
+
transform: translate(0, -100%);
|
|
109
|
+
|
|
110
|
+
/* 外观 */
|
|
111
|
+
background-color: var(--el-bg-color);
|
|
112
|
+
border: 1px solid var(--el-border-color);
|
|
113
|
+
border-bottom: none; /* 下侧不要边框,因为贴着 drawer */
|
|
114
|
+
|
|
115
|
+
/* 圆角 */
|
|
116
|
+
border-top-left-radius: var(--el-border-radius-base);
|
|
117
117
|
border-top-right-radius: var(--el-border-radius-base);
|
|
118
118
|
}
|
|
119
|
-
.vk-drawer-toggle:hover {
|
|
119
|
+
.vk-drawer-toggle:hover {
|
|
120
120
|
background-color: var(--el-fill-color-light);
|
|
121
121
|
}
|
|
122
|
-
.vk-drawer-toggle:active {
|
|
122
|
+
.vk-drawer-toggle:active {
|
|
123
123
|
background-color: var(--el-fill-color);
|
|
124
124
|
}
|
|
@@ -103,7 +103,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
103
103
|
/* FORWARDED */
|
|
104
104
|
}, 16, ["modal-class"]);
|
|
105
105
|
}
|
|
106
|
-
var VkDrawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "
|
|
106
|
+
var VkDrawer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/drawer/src/index.vue"]]);
|
|
107
107
|
|
|
108
108
|
VkDrawer.install = (app) => {
|
|
109
109
|
app.component(VkDrawer.name || "VkDrawer", VkDrawer);
|