@vunk/plus 1.4.7 → 1.5.1

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 (32) hide show
  1. package/components/WebGLRenderer.mjs +1 -0
  2. package/components/WebGPURenderer.mjs +1 -0
  3. package/components/broadcasting-markdown/index.mjs +60 -12
  4. package/components/broadcasting-markdown/src/ctx.d.ts +10 -0
  5. package/components/broadcasting-markdown/src/index.vue.d.ts +42 -1
  6. package/components/browserAll.mjs +1 -0
  7. package/components/bubble-list/src/index.vue.d.ts +43 -62
  8. package/components/bubble-templates/src/index.vue.d.ts +40 -0
  9. package/components/chat-independent/src/index.vue.d.ts +47 -66
  10. package/components/index2.mjs +1498 -62
  11. package/components/pixi-frame/index.d.ts +3 -1
  12. package/components/pixi-frame/index.mjs +2 -1
  13. package/components/pixi-frame/src/apng.vue.d.ts +187 -0
  14. package/components/pixi-frame/src/core.vue.d.ts +92 -59
  15. package/components/pixi-frame/src/ctx.d.ts +20 -0
  16. package/components/pixi-frame/src/index.vue.d.ts +445 -9
  17. package/components/pixi-frame/src/types.d.ts +17 -1
  18. package/components/pixi-frame/src/useSprite.d.ts +11 -0
  19. package/components/pixi-frame/src/video.vue.d.ts +185 -0
  20. package/components/sender/src/index.vue.d.ts +1 -1
  21. package/components/text/index.d.ts +4 -0
  22. package/components/text/index.mjs +106 -0
  23. package/components/text/src/ctx.d.ts +320 -0
  24. package/components/text/src/index.vue.d.ts +2314 -0
  25. package/components/text/src/types.d.ts +1 -0
  26. package/components/typing-markdown/index.css +19 -0
  27. package/components/typing-markdown/index.mjs +17 -4
  28. package/components/typing-markdown/src/ctx.d.ts +8 -0
  29. package/components/typing-markdown/src/index.vue.d.ts +18 -0
  30. package/components/webworkerAll.mjs +1 -0
  31. package/index.css +19 -0
  32. package/package.json +5 -1
@@ -5,6 +5,7 @@ import 'vue';
5
5
  import '@vunk/shared/enum';
6
6
  import '@vunk/shared/promise';
7
7
  import './_commonjsHelpers.mjs';
8
+ import '@vunk/core/composables';
8
9
  import './_plugin-vue_export-helper.mjs';
9
10
 
10
11
  class GlBatchAdaptor {
@@ -5,6 +5,7 @@ import 'vue';
5
5
  import '@vunk/shared/enum';
6
6
  import '@vunk/shared/promise';
7
7
  import './_commonjsHelpers.mjs';
8
+ import '@vunk/core/composables';
8
9
  import './_plugin-vue_export-helper.mjs';
9
10
 
10
11
  const tempState = State.for2d();
@@ -1,8 +1,8 @@
1
1
  import { VkTypingMarkdown } from '@vunk/plus/components/typing-markdown';
2
2
  import { setData } from '@vunk/core';
3
3
  import { useDeferred, useDataComputed } from '@vunk/core/composables';
4
- import { defineComponent, createElementBlock, openBlock, createElementVNode, Fragment, createVNode, unref, withCtx, shallowRef, computed, watch, onBeforeUnmount, watchEffect, onMounted, nextTick, renderSlot, createCommentVNode, ref, resolveComponent, renderList, createBlock } from 'vue';
5
4
  import { TickerStatus } from '@vunk/shared/enum';
5
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, Fragment, createVNode, unref, withCtx, shallowRef, computed, watch, onBeforeUnmount, watchEffect, onMounted, nextTick, renderSlot, createCommentVNode, ref, resolveComponent, createTextVNode, renderList, createBlock } from 'vue';
6
6
  import { noop } from '@vunk/shared/function';
7
7
  import { ElIcon } from 'element-plus';
8
8
  import { c as commonjsGlobal } from '../_commonjsHelpers.mjs';
@@ -81,6 +81,14 @@ const props = {
81
81
  processing: {
82
82
  type: Function,
83
83
  default: noop
84
+ },
85
+ status: {
86
+ type: String,
87
+ default: TickerStatus.pending
88
+ },
89
+ paragraphMinlength: {
90
+ type: Number,
91
+ default: 100
84
92
  }
85
93
  };
86
94
  const emits = {
@@ -89,6 +97,7 @@ const emits = {
89
97
  "update:broadcasting": (_) => true,
90
98
  "update:completed": (_) => true,
91
99
  "update:error": (_) => true,
100
+ "update:status": (_) => true,
92
101
  "paragraphLoad": (_) => true
93
102
  };
94
103
  const paragraphProps = {
@@ -3450,6 +3459,7 @@ function useHowlerParagraph(props, emit) {
3450
3459
  k: "broadcast",
3451
3460
  v: Broadcast.paused
3452
3461
  });
3462
+ console.log("onpause", props.data);
3453
3463
  },
3454
3464
  onend: () => {
3455
3465
  emit("setData", {
@@ -3510,10 +3520,12 @@ function useHowlerParagraph(props, emit) {
3510
3520
  });
3511
3521
  const handleVisibilityChange = () => {
3512
3522
  if (document.hidden) {
3513
- emit("setData", {
3514
- k: "broadcast",
3515
- v: Broadcast.pause
3516
- });
3523
+ if (broadcast.value === Broadcast.playing) {
3524
+ emit("setData", {
3525
+ k: "broadcast",
3526
+ v: Broadcast.pause
3527
+ });
3528
+ }
3517
3529
  } else {
3518
3530
  setTimeout(() => {
3519
3531
  if (broadcast.value === Broadcast.paused) {
@@ -4230,7 +4242,7 @@ var _sfc_main = defineComponent({
4230
4242
  },
4231
4243
  props,
4232
4244
  emits,
4233
- setup(props2, { emit, expose }) {
4245
+ setup(props2, { emit, expose, slots }) {
4234
4246
  const [theData, handleSetData] = useDataComputed({
4235
4247
  default: []
4236
4248
  }, props2, emit);
@@ -4308,7 +4320,7 @@ var _sfc_main = defineComponent({
4308
4320
  );
4309
4321
  lastParagraph.separator = separator;
4310
4322
  }
4311
- } else {
4323
+ } else if (value.length > props2.paragraphMinlength) {
4312
4324
  const paragraph = {
4313
4325
  start,
4314
4326
  separator,
@@ -4363,26 +4375,48 @@ var _sfc_main = defineComponent({
4363
4375
  });
4364
4376
  emit("interrupt");
4365
4377
  }
4378
+ const currentParagraph = computed(() => {
4379
+ return theData.value.find(
4380
+ (item) => item.status === ParagraphStatus.pending
4381
+ );
4382
+ });
4383
+ watchEffect(() => {
4384
+ if (!currentParagraph.value) {
4385
+ return;
4386
+ }
4387
+ if (currentParagraph.value.broadcast === props2.status) {
4388
+ return;
4389
+ }
4390
+ props2.status === TickerStatus.play && (currentParagraph.value.broadcast = TickerStatus.play);
4391
+ props2.status === TickerStatus.pause && (currentParagraph.value.broadcast = TickerStatus.pause);
4392
+ props2.status === TickerStatus.stop && (currentParagraph.value.broadcast = TickerStatus.stop);
4393
+ });
4366
4394
  const isPaused = computed(() => {
4367
4395
  return theData.value.some(
4368
4396
  (item) => item.status === ParagraphStatus.pending && item.broadcast === Broadcast.paused
4369
4397
  );
4370
4398
  });
4399
+ watchEffect(() => {
4400
+ isPaused.value && emit("update:status", TickerStatus.paused);
4401
+ });
4371
4402
  const isBroadcasting = computed(() => {
4372
4403
  return theData.value.some(
4373
4404
  (item) => item.broadcast === Broadcast.playing
4374
4405
  );
4375
4406
  });
4376
4407
  watchEffect(() => {
4377
- emit("update:broadcasting", isBroadcasting.value);
4408
+ isBroadcasting.value && emit("update:broadcasting", isBroadcasting.value);
4409
+ emit("update:status", TickerStatus.playing);
4378
4410
  });
4411
+ const isTypingFinished = ref(!!slots.paragraphs);
4379
4412
  const isCompleted = computed(() => {
4380
- return props2.keepRead === false && theData.value.every(
4413
+ return isTypingFinished.value && props2.keepRead === false && theData.value.every(
4381
4414
  (item) => item.status === ParagraphStatus.fulfilled
4382
4415
  );
4383
4416
  });
4384
4417
  watchEffect(() => {
4385
4418
  emit("update:completed", isCompleted.value);
4419
+ isCompleted.value && emit("update:status", TickerStatus.stopped);
4386
4420
  });
4387
4421
  const isError = computed(() => {
4388
4422
  return theData.value.some(
@@ -4414,13 +4448,16 @@ var _sfc_main = defineComponent({
4414
4448
  isInterrupted,
4415
4449
  setData,
4416
4450
  Broadcast,
4417
- isPaused
4451
+ isPaused,
4452
+ isTypingFinished,
4453
+ currentParagraph
4418
4454
  };
4419
4455
  }
4420
4456
  });
4421
4457
 
4422
4458
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
4423
4459
  const _component_VkTypingMarkdown = resolveComponent("VkTypingMarkdown");
4460
+ const _component_ElButton = resolveComponent("ElButton");
4424
4461
  const _component_HowlerSpeechView = resolveComponent("HowlerSpeechView");
4425
4462
  const _component_ParagraphView = resolveComponent("ParagraphView");
4426
4463
  return openBlock(), createElementBlock(
@@ -4429,10 +4466,21 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
4429
4466
  [
4430
4467
  renderSlot(_ctx.$slots, "default", { paragraphs: _ctx.theData }, () => [
4431
4468
  createVNode(_component_VkTypingMarkdown, {
4469
+ finished: _ctx.isTypingFinished,
4470
+ "onUpdate:finished": _cache[0] || (_cache[0] = ($event) => _ctx.isTypingFinished = $event),
4432
4471
  source: _ctx.fulfilledTextValue,
4433
4472
  delay: 120,
4434
4473
  pause: _ctx.isInterrupted || _ctx.isPaused
4435
- }, null, 8, ["source", "pause"])
4474
+ }, null, 8, ["finished", "source", "pause"]),
4475
+ createVNode(_component_ElButton, {
4476
+ onClick: _cache[1] || (_cache[1] = () => console.log(_ctx.currentParagraph))
4477
+ }, {
4478
+ default: withCtx(() => _cache[3] || (_cache[3] = [
4479
+ createTextVNode(" log2 ")
4480
+ ])),
4481
+ _: 1
4482
+ /* STABLE */
4483
+ })
4436
4484
  ]),
4437
4485
  (openBlock(true), createElementBlock(
4438
4486
  Fragment,
@@ -4455,7 +4503,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
4455
4503
  deferred,
4456
4504
  data: item,
4457
4505
  onSetData: ($event) => _ctx.setData(item, $event),
4458
- onLoad: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("paragraphLoad", $event))
4506
+ onLoad: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("paragraphLoad", $event))
4459
4507
  }, null, 8, ["render", "deferred", "data", "onSetData"])
4460
4508
  ])
4461
4509
  ]),
@@ -2,6 +2,7 @@ import type { SetDataEvent } from '@vunk/core';
2
2
  import type { Deferred } from '@vunk/shared/promise';
3
3
  import type { PropType } from 'vue';
4
4
  import type { Paragraph, ParagraphLoadEvent, TextToSpeech } from './types';
5
+ import { TickerStatus } from '@vunk/shared/enum';
5
6
  import { defaultRender } from './const';
6
7
  export declare const props: {
7
8
  /**
@@ -86,6 +87,14 @@ export declare const props: {
86
87
  type: PropType<(paragraph: Paragraph) => void>;
87
88
  default: import("@vunk/shared").AnyFunc;
88
89
  };
90
+ status: {
91
+ type: PropType<TickerStatus>;
92
+ default: TickerStatus;
93
+ };
94
+ paragraphMinlength: {
95
+ type: NumberConstructor;
96
+ default: number;
97
+ };
89
98
  };
90
99
  export declare const emits: {
91
100
  setData: (e: SetDataEvent) => SetDataEvent;
@@ -93,6 +102,7 @@ export declare const emits: {
93
102
  'update:broadcasting': (_: boolean) => boolean;
94
103
  'update:completed': (_: boolean) => boolean;
95
104
  'update:error': (_: boolean) => boolean;
105
+ 'update:status': (_: TickerStatus) => boolean;
96
106
  paragraphLoad: (_: ParagraphLoadEvent) => boolean;
97
107
  };
98
108
  export declare const paragraphProps: {
@@ -1,4 +1,5 @@
1
1
  import type { Paragraph } from './types';
2
+ import { TickerStatus } from '@vunk/shared/enum';
2
3
  import { ParagraphStatus } from './const';
3
4
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
5
  render: {
@@ -59,6 +60,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
59
60
  type: import("vue").PropType<(paragraph: Paragraph) => void>;
60
61
  default: import("@vunk/shared").AnyFunc;
61
62
  };
63
+ status: {
64
+ type: import("vue").PropType<TickerStatus>;
65
+ default: TickerStatus;
66
+ };
67
+ paragraphMinlength: {
68
+ type: NumberConstructor;
69
+ default: number;
70
+ };
62
71
  }>, {
63
72
  theData: import("vue").ComputedRef<Paragraph[]>;
64
73
  ParagraphStatus: typeof ParagraphStatus;
@@ -68,14 +77,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
68
77
  processingParagraph: (paragraph: Paragraph) => Promise<void> | undefined;
69
78
  isInterrupted: import("vue").Ref<boolean, boolean>;
70
79
  setData: (obj: any, e: import("@vunk/core").SetDataEvent) => void;
71
- Broadcast: typeof import("@vunk/shared/enum").TickerStatus;
80
+ Broadcast: typeof TickerStatus;
72
81
  isPaused: import("vue").ComputedRef<boolean>;
82
+ isTypingFinished: import("vue").Ref<boolean, boolean>;
83
+ currentParagraph: import("vue").ComputedRef<Paragraph | undefined>;
73
84
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
74
85
  setData: (e: import("@vunk/core").SetDataEvent) => import("@vunk/core").SetDataEvent;
75
86
  interrupt: null;
76
87
  'update:broadcasting': (_: boolean) => boolean;
77
88
  'update:completed': (_: boolean) => boolean;
78
89
  'update:error': (_: boolean) => boolean;
90
+ 'update:status': (_: TickerStatus) => boolean;
79
91
  paragraphLoad: (_: import("./types").ParagraphLoadEvent) => boolean;
80
92
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
81
93
  render: {
@@ -136,8 +148,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
136
148
  type: import("vue").PropType<(paragraph: Paragraph) => void>;
137
149
  default: import("@vunk/shared").AnyFunc;
138
150
  };
151
+ status: {
152
+ type: import("vue").PropType<TickerStatus>;
153
+ default: TickerStatus;
154
+ };
155
+ paragraphMinlength: {
156
+ type: NumberConstructor;
157
+ default: number;
158
+ };
139
159
  }>> & Readonly<{
140
160
  onSetData?: ((e: import("@vunk/core").SetDataEvent) => any) | undefined;
161
+ "onUpdate:status"?: ((_: TickerStatus) => any) | undefined;
141
162
  onInterrupt?: ((...args: any[]) => any) | undefined;
142
163
  "onUpdate:broadcasting"?: ((_: boolean) => any) | undefined;
143
164
  "onUpdate:completed"?: ((_: boolean) => any) | undefined;
@@ -149,9 +170,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
149
170
  delay: number;
150
171
  render: (text: string) => string;
151
172
  data: Paragraph[];
173
+ status: TickerStatus;
152
174
  separators: string[];
153
175
  keepRead: boolean;
154
176
  textToSpeech: import("./types").TextToSpeech;
177
+ paragraphMinlength: number;
155
178
  }, {}, {
156
179
  ParagraphView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
157
180
  enable: {
@@ -248,11 +271,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
248
271
  type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
249
272
  default: null;
250
273
  };
274
+ finished: {
275
+ type: BooleanConstructor;
276
+ };
277
+ loading: {
278
+ type: BooleanConstructor;
279
+ default: boolean;
280
+ };
251
281
  }>, {
252
282
  htmlText: import("vue").Ref<string, string>;
253
283
  isDebouncedTyping: Readonly<import("vue").Ref<boolean, boolean>>;
254
284
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
255
285
  typing: null;
286
+ 'update:finished': null;
256
287
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
257
288
  source: {
258
289
  type: StringConstructor;
@@ -274,14 +305,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
274
305
  type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
275
306
  default: null;
276
307
  };
308
+ finished: {
309
+ type: BooleanConstructor;
310
+ };
311
+ loading: {
312
+ type: BooleanConstructor;
313
+ default: boolean;
314
+ };
277
315
  }>> & Readonly<{
278
316
  onTyping?: ((...args: any[]) => any) | undefined;
317
+ "onUpdate:finished"?: ((...args: any[]) => any) | undefined;
279
318
  }>, {
280
319
  source: string;
281
320
  delay: number;
282
321
  pause: boolean;
283
322
  disabled: boolean;
284
323
  markdownItSetup: (md: import("markdown-it-async").MarkdownItAsync) => void;
324
+ finished: boolean;
325
+ loading: boolean;
285
326
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
286
327
  HowlerSpeechView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
287
328
  data: {
@@ -4,6 +4,7 @@ import 'vue';
4
4
  import '@vunk/shared/enum';
5
5
  import '@vunk/shared/promise';
6
6
  import './_commonjsHelpers.mjs';
7
+ import '@vunk/core/composables';
7
8
  import './_plugin-vue_export-helper.mjs';
8
9
  import './colorToUniform.mjs';
9
10
 
@@ -96,6 +96,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
96
96
  type: import("vue").PropType<(paragraph: import("../../broadcasting-markdown/src/types").Paragraph) => void>;
97
97
  default: import("@vunk/shared").AnyFunc;
98
98
  };
99
+ status: {
100
+ type: import("vue").PropType<import("@vunk/shared/enum").TickerStatus>;
101
+ default: import("@vunk/shared/enum").TickerStatus;
102
+ };
103
+ paragraphMinlength: {
104
+ type: NumberConstructor;
105
+ default: number;
106
+ };
99
107
  }>, {
100
108
  theData: import("vue").ComputedRef<import("../../broadcasting-markdown/src/types").Paragraph[]>;
101
109
  ParagraphStatus: typeof import("../../broadcasting-markdown").ParagraphStatus;
@@ -107,12 +115,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
107
115
  setData: (obj: any, e: import("@vunk/core").SetDataEvent) => void;
108
116
  Broadcast: typeof import("@vunk/shared/enum").TickerStatus;
109
117
  isPaused: import("vue").ComputedRef<boolean>;
118
+ isTypingFinished: import("vue").Ref<boolean, boolean>;
119
+ currentParagraph: import("vue").ComputedRef<import("../../broadcasting-markdown/src/types").Paragraph | undefined>;
110
120
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
111
121
  setData: (e: import("@vunk/core").SetDataEvent) => import("@vunk/core").SetDataEvent;
112
122
  interrupt: null;
113
123
  'update:broadcasting': (_: boolean) => boolean;
114
124
  'update:completed': (_: boolean) => boolean;
115
125
  'update:error': (_: boolean) => boolean;
126
+ 'update:status': (_: import("@vunk/shared/enum").TickerStatus) => boolean;
116
127
  paragraphLoad: (_: import("../../broadcasting-markdown/src/types").ParagraphLoadEvent) => boolean;
117
128
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
118
129
  render: {
@@ -173,8 +184,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
173
184
  type: import("vue").PropType<(paragraph: import("../../broadcasting-markdown/src/types").Paragraph) => void>;
174
185
  default: import("@vunk/shared").AnyFunc;
175
186
  };
187
+ status: {
188
+ type: import("vue").PropType<import("@vunk/shared/enum").TickerStatus>;
189
+ default: import("@vunk/shared/enum").TickerStatus;
190
+ };
191
+ paragraphMinlength: {
192
+ type: NumberConstructor;
193
+ default: number;
194
+ };
176
195
  }>> & Readonly<{
177
196
  onSetData?: ((e: import("@vunk/core").SetDataEvent) => any) | undefined;
197
+ "onUpdate:status"?: ((_: import("@vunk/shared/enum").TickerStatus) => any) | undefined;
178
198
  onInterrupt?: ((...args: any[]) => any) | undefined;
179
199
  "onUpdate:broadcasting"?: ((_: boolean) => any) | undefined;
180
200
  "onUpdate:completed"?: ((_: boolean) => any) | undefined;
@@ -186,9 +206,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
186
206
  delay: number;
187
207
  render: (text: string) => string;
188
208
  data: import("../../broadcasting-markdown/src/types").Paragraph[];
209
+ status: import("@vunk/shared/enum").TickerStatus;
189
210
  separators: string[];
190
211
  keepRead: boolean;
191
212
  textToSpeech: import("../../broadcasting-markdown/src/types").TextToSpeech;
213
+ paragraphMinlength: number;
192
214
  }, {}, {
193
215
  ParagraphView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
194
216
  enable: {
@@ -285,11 +307,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
285
307
  type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
286
308
  default: null;
287
309
  };
310
+ finished: {
311
+ type: BooleanConstructor;
312
+ };
313
+ loading: {
314
+ type: BooleanConstructor;
315
+ default: boolean;
316
+ };
288
317
  }>, {
289
318
  htmlText: import("vue").Ref<string, string>;
290
319
  isDebouncedTyping: Readonly<import("vue").Ref<boolean, boolean>>;
291
320
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
292
321
  typing: null;
322
+ 'update:finished': null;
293
323
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
294
324
  source: {
295
325
  type: StringConstructor;
@@ -311,14 +341,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
311
341
  type: import("vue").PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
312
342
  default: null;
313
343
  };
344
+ finished: {
345
+ type: BooleanConstructor;
346
+ };
347
+ loading: {
348
+ type: BooleanConstructor;
349
+ default: boolean;
350
+ };
314
351
  }>> & Readonly<{
315
352
  onTyping?: ((...args: any[]) => any) | undefined;
353
+ "onUpdate:finished"?: ((...args: any[]) => any) | undefined;
316
354
  }>, {
317
355
  source: string;
318
356
  delay: number;
319
357
  pause: boolean;
320
358
  disabled: boolean;
321
359
  markdownItSetup: (md: import("markdown-it-async").MarkdownItAsync) => void;
360
+ finished: boolean;
361
+ loading: boolean;
322
362
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
323
363
  HowlerSpeechView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
324
364
  data: {
@@ -573,68 +613,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
573
613
  type: import("vue").PropType<(string | number)[]>;
574
614
  default: () => any[];
575
615
  };
576
- }>, {
577
- props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
578
- source: {
579
- type: import("vue").PropType<import("@vunk/core/components/renderer/src/types").SourceItem[]>;
580
- default: () => any[];
581
- };
582
- templateInstances: {
583
- type: import("vue").PropType<Record<string, import("vue").ComponentInternalInstance>>;
584
- default: any;
585
- };
586
- k: {
587
- type: import("vue").PropType<(string | number)[]>;
588
- default: () => any[];
589
- };
590
- }>> & Readonly<{}>>;
591
- readonly VkRendererTemplateInstancesProvider: {
592
- new (...args: any[]): any;
593
- __isFragment?: undefined;
594
- __isTeleport?: undefined;
595
- __isSuspense?: undefined;
596
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<Record<string | symbol, any>>>, Record<string | symbol, any>, any, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
597
- [x: string]: any;
598
- [x: symbol]: any;
599
- }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
600
- install(app: import("vue").App<any>): void;
601
- };
602
- Core: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
603
- source: {
604
- type: import("vue").PropType<import("@vunk/core/components/renderer/src/types").SourceItem[]>;
605
- default: () => any[];
606
- };
607
- templateInstances: {
608
- type: import("vue").PropType<Record<string, import("vue").ComponentInternalInstance>>;
609
- default: any;
610
- };
611
- k: {
612
- type: import("vue").PropType<(string | number)[]>;
613
- default: () => any[];
614
- };
615
- }>, () => (VNode<import("vue").RendererNode, import("vue").RendererElement, {
616
- [key: string]: any;
617
- }>[] | VNode<import("vue").RendererNode, import("vue").RendererElement, {
618
- [key: string]: any;
619
- }>[][])[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
620
- source: {
621
- type: import("vue").PropType<import("@vunk/core/components/renderer/src/types").SourceItem[]>;
622
- default: () => any[];
623
- };
624
- templateInstances: {
625
- type: import("vue").PropType<Record<string, import("vue").ComponentInternalInstance>>;
626
- default: any;
627
- };
628
- k: {
629
- type: import("vue").PropType<(string | number)[]>;
630
- default: () => any[];
631
- };
632
- }>> & Readonly<{}>, {
633
- source: import("@vunk/core/components/renderer/src/types").SourceItem[];
634
- templateInstances: Record<string, import("vue").ComponentInternalInstance>;
635
- k: (string | number)[];
636
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
637
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
616
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
617
+ [key: string]: any;
618
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
638
619
  source: {
639
620
  type: import("vue").PropType<import("@vunk/core/components/renderer/src/types").SourceItem[]>;
640
621
  default: () => any[];
@@ -72,6 +72,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
72
72
  type: PropType<(paragraph: __VkBroadcastingMarkdown.Paragraph) => void>;
73
73
  default: import("@vunk/shared").AnyFunc;
74
74
  };
75
+ status: {
76
+ type: PropType<import("@vunk/shared/enum").TickerStatus>;
77
+ default: import("@vunk/shared/enum").TickerStatus;
78
+ };
79
+ paragraphMinlength: {
80
+ type: NumberConstructor;
81
+ default: number;
82
+ };
75
83
  }>, {
76
84
  theData: import("vue").ComputedRef<__VkBroadcastingMarkdown.Paragraph[]>;
77
85
  ParagraphStatus: typeof import("@vunk/plus/components/broadcasting-markdown").ParagraphStatus;
@@ -83,12 +91,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
83
91
  setData: (obj: any, e: SetDataEvent) => void;
84
92
  Broadcast: typeof import("@vunk/shared/enum").TickerStatus;
85
93
  isPaused: import("vue").ComputedRef<boolean>;
94
+ isTypingFinished: import("vue").Ref<boolean, boolean>;
95
+ currentParagraph: import("vue").ComputedRef<__VkBroadcastingMarkdown.Paragraph | undefined>;
86
96
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
87
97
  setData: (e: SetDataEvent) => SetDataEvent;
88
98
  interrupt: null;
89
99
  'update:broadcasting': (_: boolean) => boolean;
90
100
  'update:completed': (_: boolean) => boolean;
91
101
  'update:error': (_: boolean) => boolean;
102
+ 'update:status': (_: import("@vunk/shared/enum").TickerStatus) => boolean;
92
103
  paragraphLoad: (_: __VkBroadcastingMarkdown.ParagraphLoadEvent) => boolean;
93
104
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
94
105
  render: {
@@ -149,8 +160,17 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
149
160
  type: PropType<(paragraph: __VkBroadcastingMarkdown.Paragraph) => void>;
150
161
  default: import("@vunk/shared").AnyFunc;
151
162
  };
163
+ status: {
164
+ type: PropType<import("@vunk/shared/enum").TickerStatus>;
165
+ default: import("@vunk/shared/enum").TickerStatus;
166
+ };
167
+ paragraphMinlength: {
168
+ type: NumberConstructor;
169
+ default: number;
170
+ };
152
171
  }>> & Readonly<{
153
172
  onSetData?: ((e: SetDataEvent) => any) | undefined;
173
+ "onUpdate:status"?: ((_: import("@vunk/shared/enum").TickerStatus) => any) | undefined;
154
174
  onInterrupt?: ((...args: any[]) => any) | undefined;
155
175
  "onUpdate:broadcasting"?: ((_: boolean) => any) | undefined;
156
176
  "onUpdate:completed"?: ((_: boolean) => any) | undefined;
@@ -162,9 +182,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
162
182
  delay: number;
163
183
  render: (text: string) => string;
164
184
  data: __VkBroadcastingMarkdown.Paragraph[];
185
+ status: import("@vunk/shared/enum").TickerStatus;
165
186
  separators: string[];
166
187
  keepRead: boolean;
167
188
  textToSpeech: __VkBroadcastingMarkdown.TextToSpeech;
189
+ paragraphMinlength: number;
168
190
  }, {}, {
169
191
  ParagraphView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
170
192
  enable: {
@@ -261,11 +283,19 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
261
283
  type: PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
262
284
  default: null;
263
285
  };
286
+ finished: {
287
+ type: BooleanConstructor;
288
+ };
289
+ loading: {
290
+ type: BooleanConstructor;
291
+ default: boolean;
292
+ };
264
293
  }>, {
265
294
  htmlText: import("vue").Ref<string, string>;
266
295
  isDebouncedTyping: Readonly<import("vue").Ref<boolean, boolean>>;
267
296
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
268
297
  typing: null;
298
+ 'update:finished': null;
269
299
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
270
300
  source: {
271
301
  type: StringConstructor;
@@ -287,14 +317,24 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
287
317
  type: PropType<(md: import("markdown-it-async").MarkdownItAsync) => void>;
288
318
  default: null;
289
319
  };
320
+ finished: {
321
+ type: BooleanConstructor;
322
+ };
323
+ loading: {
324
+ type: BooleanConstructor;
325
+ default: boolean;
326
+ };
290
327
  }>> & Readonly<{
291
328
  onTyping?: ((...args: any[]) => any) | undefined;
329
+ "onUpdate:finished"?: ((...args: any[]) => any) | undefined;
292
330
  }>, {
293
331
  source: string;
294
332
  delay: number;
295
333
  pause: boolean;
296
334
  disabled: boolean;
297
335
  markdownItSetup: (md: import("markdown-it-async").MarkdownItAsync) => void;
336
+ finished: boolean;
337
+ loading: boolean;
298
338
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
299
339
  HowlerSpeechView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
300
340
  data: {