@vunk/plus 1.10.2 → 1.10.3

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 (66) hide show
  1. package/components/WebGLRenderer.mjs +1 -1
  2. package/components/WebGPURenderer.mjs +1 -1
  3. package/components/agent-chat-provider/index.mjs +1 -1
  4. package/components/avatar/index.mjs +1 -1
  5. package/components/broadcasting-markdown/index.mjs +16 -13
  6. package/components/broadcasting-markdown/src/index.vue.d.ts +1 -75
  7. package/components/browserAll.mjs +1 -1
  8. package/components/bubble-list/index.mjs +3 -3
  9. package/components/bubble-templates/index.mjs +1 -1
  10. package/components/chat-independent/index.mjs +1 -1
  11. package/components/drawer/index.css +92 -92
  12. package/components/drawer/index.mjs +1 -1
  13. package/components/index2.mjs +90 -11
  14. package/components/lottie-animation/index.mjs +1 -1
  15. package/components/metahuman-broadcasting/index.d.ts +0 -1
  16. package/components/metahuman-broadcasting/index.mjs +3092 -68
  17. package/components/metahuman-broadcasting/src/index.vue.d.ts +75 -191
  18. package/components/monaco-editor/index.mjs +1 -1
  19. package/components/monaco-environment/index.mjs +1 -1
  20. package/components/pixi-frame/index.d.ts +4 -1
  21. package/components/pixi-frame/index.mjs +2 -2
  22. package/components/pixi-frame/src/bitmap-generator.vue.d.ts +146 -0
  23. package/components/recorder-button/index.mjs +1 -1
  24. package/components/routes-menu-content/index.mjs +3 -3
  25. package/components/scrollbar/index.mjs +3 -3
  26. package/components/sender/index.mjs +2 -2
  27. package/components/speech-button/index.mjs +3 -3
  28. package/components/table-columns/index.mjs +1 -1
  29. package/components/tables-v1/index.mjs +1 -1
  30. package/components/tables-v1-checkbox/index.mjs +1 -1
  31. package/components/text/index.mjs +1 -1
  32. package/components/typing-markdown/index.mjs +1 -1
  33. package/components/vditor/index.mjs +3 -3
  34. package/components/webworkerAll.mjs +1 -1
  35. package/components/xgplayer/index.mjs +2 -2
  36. package/icons/end/index.mjs +1 -1
  37. package/icons/keyboard/index.mjs +1 -1
  38. package/icons/start/index.mjs +1 -1
  39. package/icons/voice/index.mjs +1 -1
  40. package/index.css +92 -92
  41. package/package.json +4 -20
  42. package/shared/data/blobToAudioBuffer.d.ts +1 -0
  43. package/shared/data/imgUrlToBitmap.d.ts +1 -0
  44. package/shared/data/index.d.ts +2 -0
  45. package/shared/data/index.mjs +25 -0
  46. package/shared/StreamingInferenceService.mjs +0 -204
  47. package/shared/audioToFrames/index.d.ts +0 -19
  48. package/shared/audioToFrames/index.mjs +0 -44
  49. package/shared/audioToFrames/src/assets/mask.d.ts +0 -2
  50. package/shared/audioToFrames/src/audio/StreamingFeatureExtractorService.d.ts +0 -125
  51. package/shared/audioToFrames/src/audio/index.d.ts +0 -5
  52. package/shared/audioToFrames/src/audio/index.mjs +0 -375
  53. package/shared/audioToFrames/src/config.d.ts +0 -4
  54. package/shared/audioToFrames/src/core/constants.d.ts +0 -17
  55. package/shared/audioToFrames/src/core/index.d.ts +0 -6
  56. package/shared/audioToFrames/src/core/index.mjs +0 -24
  57. package/shared/audioToFrames/src/core/utils.d.ts +0 -26
  58. package/shared/audioToFrames/src/inference/StreamingInferenceService.d.ts +0 -189
  59. package/shared/audioToFrames/src/inference/index.d.ts +0 -5
  60. package/shared/audioToFrames/src/inference/index.mjs +0 -3
  61. package/shared/audioToFrames/src/media/DataLoaderService.d.ts +0 -59
  62. package/shared/audioToFrames/src/media/PredictiveFrameLoader.d.ts +0 -81
  63. package/shared/audioToFrames/src/media/index.d.ts +0 -6
  64. package/shared/audioToFrames/src/media/index.mjs +0 -236
  65. package/shared/config.mjs +0 -5
  66. package/shared/constants.mjs +0 -7
@@ -48,7 +48,7 @@ var _sfc_main$2 = /* @__PURE__ */ defineComponent({
48
48
  }
49
49
  });
50
50
 
51
- var LoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/speech-button/src/LoadingIcon.vue"]]);
51
+ var LoadingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\speech-button\\src\\LoadingIcon.vue"]]);
52
52
 
53
53
  const SIZE = 1e3;
54
54
  const COUNT = 4;
@@ -102,7 +102,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
102
102
  }
103
103
  });
104
104
 
105
- var RecordingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/speech-button/src/RecordingIcon.vue"]]);
105
+ var RecordingIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\speech-button\\src\\RecordingIcon.vue"]]);
106
106
 
107
107
  var _sfc_main = /* @__PURE__ */ defineComponent({
108
108
  name: "VkSpeechButton",
@@ -151,7 +151,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
151
151
  }
152
152
  });
153
153
 
154
- var VkSpeechButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/speech-button/src/index.vue"]]);
154
+ var VkSpeechButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\speech-button\\src\\index.vue"]]);
155
155
 
156
156
  var types = /*#__PURE__*/Object.freeze({
157
157
  __proto__: null
@@ -125,7 +125,7 @@ var _sfc_main = defineComponent({
125
125
  }
126
126
  });
127
127
 
128
- var VkTableColumns = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/table-columns/src/index.vue"]]);
128
+ var VkTableColumns = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\table-columns\\src\\index.vue"]]);
129
129
 
130
130
  var types = /*#__PURE__*/Object.freeze({
131
131
  __proto__: null
@@ -421,7 +421,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
421
421
  /* STABLE */
422
422
  }, 8, ["full"]);
423
423
  }
424
- var VkTablesV1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/tables-v1/src/index.vue"]]);
424
+ var VkTablesV1 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\tables-v1\\src\\index.vue"]]);
425
425
 
426
426
  var types = /*#__PURE__*/Object.freeze({
427
427
  __proto__: null
@@ -4134,7 +4134,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
4134
4134
  /* STABLE */
4135
4135
  }, 8, ["model-value", "oid-field"]);
4136
4136
  }
4137
- var VkTablesV1Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/tables-v1-checkbox/src/index.vue"]]);
4137
+ var VkTablesV1Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\tables-v1-checkbox\\src\\index.vue"]]);
4138
4138
 
4139
4139
  var types = /*#__PURE__*/Object.freeze({
4140
4140
  __proto__: null
@@ -103,7 +103,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
103
103
  } : void 0
104
104
  ]), 1040, ["is", "show", "content"]);
105
105
  }
106
- var VkText = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/text/src/index.vue"]]);
106
+ var VkText = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\text\\src\\index.vue"]]);
107
107
 
108
108
  var types = /*#__PURE__*/Object.freeze({
109
109
  __proto__: null
@@ -240,7 +240,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
240
240
  innerHTML: _ctx.htmlText
241
241
  }, null, 10, _hoisted_1);
242
242
  }
243
- var VkTypingMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/typing-markdown/src/index.vue"]]);
243
+ var VkTypingMarkdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\typing-markdown\\src\\index.vue"]]);
244
244
 
245
245
  var types = /*#__PURE__*/Object.freeze({
246
246
  __proto__: null
@@ -117,7 +117,7 @@ var _sfc_main$2 = defineComponent({
117
117
  }
118
118
  });
119
119
 
120
- var HandleValue = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/vditor/src/handle-value.vue"]]);
120
+ var HandleValue = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\vditor\\src\\handle-value.vue"]]);
121
121
 
122
122
  var _sfc_main$1 = defineComponent({
123
123
  props: {
@@ -159,7 +159,7 @@ var _sfc_main$1 = defineComponent({
159
159
  }
160
160
  });
161
161
 
162
- var HandleFullscreen = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/vditor/src/handle-fullscreen.vue"]]);
162
+ var HandleFullscreen = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__file", "D:\\labCode\\vunk-plus\\packages\\components\\vditor\\src\\handle-fullscreen.vue"]]);
163
163
 
164
164
  var _sfc_main = defineComponent({
165
165
  name: "VkVditor",
@@ -277,7 +277,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
277
277
  /* STABLE_FRAGMENT */
278
278
  );
279
279
  }
280
- var VkVditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/vditor/src/index.vue"]]);
280
+ var VkVditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\vditor\\src\\index.vue"]]);
281
281
 
282
282
  var types = /*#__PURE__*/Object.freeze({
283
283
  __proto__: null
@@ -6,5 +6,5 @@ import '@vunk/shared/enum';
6
6
  import '@vunk/shared/promise';
7
7
  import './_commonjsHelpers.mjs';
8
8
  import './_plugin-vue_export-helper.mjs';
9
- import '@vunk/core/composables';
10
9
  import '@vunk/shared/object';
10
+ import '@vunk/core/composables';
@@ -54,7 +54,7 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
54
54
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
55
55
  return renderSlot(_ctx.$slots, "default");
56
56
  }
57
- var Core = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/xgplayer/src/core.vue"]]);
57
+ var Core = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\xgplayer\\src\\core.vue"]]);
58
58
 
59
59
  var _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  ...{
@@ -105,7 +105,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
105
105
  /* STABLE_FRAGMENT */
106
106
  );
107
107
  }
108
- var VkXgplayer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/components/xgplayer/src/index.vue"]]);
108
+ var VkXgplayer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\components\\xgplayer\\src\\index.vue"]]);
109
109
 
110
110
  var types = /*#__PURE__*/Object.freeze({
111
111
  __proto__: null
@@ -18,7 +18,7 @@ function _sfc_render(_ctx, _cache) {
18
18
  }, null, -1 /* HOISTED */)
19
19
  ])))
20
20
  }
21
- var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"/home/runner/work/vunk-plus/vunk-plus/packages/icons/end/src/index.vue"]]);
21
+ var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"D:\\labCode\\vunk-plus\\packages\\icons\\end\\src\\index.vue"]]);
22
22
 
23
23
  const Icon = function(props) {
24
24
  return h(ElIcon, props, () => h(Core));
@@ -18,7 +18,7 @@ function _sfc_render(_ctx, _cache) {
18
18
  }, null, -1 /* HOISTED */)
19
19
  ])))
20
20
  }
21
- var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"/home/runner/work/vunk-plus/vunk-plus/packages/icons/keyboard/src/index.vue"]]);
21
+ var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"D:\\labCode\\vunk-plus\\packages\\icons\\keyboard\\src\\index.vue"]]);
22
22
 
23
23
  const Icon = function(props) {
24
24
  return h(ElIcon, props, () => h(Core));
@@ -18,7 +18,7 @@ function _sfc_render(_ctx, _cache) {
18
18
  }, null, -1 /* HOISTED */)
19
19
  ])))
20
20
  }
21
- var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"/home/runner/work/vunk-plus/vunk-plus/packages/icons/start/src/index.vue"]]);
21
+ var Core = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"D:\\labCode\\vunk-plus\\packages\\icons\\start\\src\\index.vue"]]);
22
22
 
23
23
  const Icon = function(props) {
24
24
  return h(ElIcon, props, () => h(Core));
@@ -33,7 +33,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
33
33
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
34
34
  );
35
35
  }
36
- var Core = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/home/runner/work/vunk-plus/vunk-plus/packages/icons/voice/src/index.vue"]]);
36
+ var Core = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:\\labCode\\vunk-plus\\packages\\icons\\voice\\src\\index.vue"]]);
37
37
 
38
38
  const Icon = function(props) {
39
39
  return h(ElIcon, props, () => h(Core));
package/index.css CHANGED
@@ -122,128 +122,128 @@
122
122
  z-index: 0;
123
123
  }
124
124
 
125
- .vk-drawer-modal.is-closed {
126
- display: block!important; /* 保持抽屉关闭时,toggle 仍然可见 */
125
+ .vk-drawer-modal.is-closed {
126
+ display: block!important; /* 保持抽屉关闭时,toggle 仍然可见 */
127
127
  visibility: hidden; /* 抽屉本体不可见 */
128
128
  }
129
- .vk-drawer-modal.is-closed .el-drawer.rtl {
129
+ .vk-drawer-modal.is-closed .el-drawer.rtl {
130
130
  transform: translateX(100%); /* 抽屉本体移出可视区域 */
131
131
  }
132
- .vk-drawer-modal.is-closed .el-drawer.ltr {
132
+ .vk-drawer-modal.is-closed .el-drawer.ltr {
133
133
  transform: translateX(-100%); /* 抽屉本体移出可视区域 */
134
134
  }
135
- .vk-drawer-modal.is-closed .el-drawer.ttb {
135
+ .vk-drawer-modal.is-closed .el-drawer.ttb {
136
136
  transform: translateY(-100%); /* 抽屉本体移出可视区域 */
137
137
  }
138
- .vk-drawer-modal.is-closed .el-drawer.btt {
138
+ .vk-drawer-modal.is-closed .el-drawer.btt {
139
139
  transform: translateY(100%); /* 抽屉本体移出可视区域 */
140
140
  }
141
- .vk-drawer-modal .vk-drawer-toggle {
141
+ .vk-drawer-modal .vk-drawer-toggle {
142
142
  visibility: visible; /* 保持 toggle 可见 */
143
143
  }
144
- .vk-drawer-modal.is-absolute{
144
+ .vk-drawer-modal.is-absolute{
145
145
  position: absolute!important;
146
146
  }
147
- .vk-drawer-modal.is-absolute.no-modal {
147
+ .vk-drawer-modal.is-absolute.no-modal {
148
148
  pointer-events: none;
149
149
  }
150
- .vk-drawer-modal.is-absolute.no-modal .el-drawer {
150
+ .vk-drawer-modal.is-absolute.no-modal .el-drawer {
151
151
  pointer-events: initial;
152
152
  }
153
- .vk-drawer-toggle {
154
- position: absolute;
155
- z-index: 2;
156
-
157
- /* 尺寸 */
158
- width: 40px;
159
- height: 80px;
160
-
161
- /* 布局 */
162
- display: flex;
163
- align-items: center;
164
- justify-content: center;
165
-
166
- /* 交互 */
167
- cursor: pointer;
168
- user-select: none;
169
-
170
- /* 文字样式 */
153
+ .vk-drawer-toggle {
154
+ position: absolute;
155
+ z-index: 2;
156
+
157
+ /* 尺寸 */
158
+ width: 40px;
159
+ height: 80px;
160
+
161
+ /* 布局 */
162
+ display: flex;
163
+ align-items: center;
164
+ justify-content: center;
165
+
166
+ /* 交互 */
167
+ cursor: pointer;
168
+ user-select: none;
169
+
170
+ /* 文字样式 */
171
171
  color: var(--el-text-color-primary);
172
172
  }
173
- .vk-drawer-toggle.is-rtl {
174
-
175
- /* 位置 */
176
- top: 25%;
177
- left: 0;
178
- transform: translate(-100%, 0);
179
-
180
- /* 外观 */
181
- background-color: var(--el-bg-color);
182
- border: 1px solid var(--el-border-color);
183
- border-right: none; /* 右侧不要边框,因为贴着 drawer */
184
-
185
- /* 圆角 */
186
- border-top-left-radius: var(--el-border-radius-base);
187
- border-bottom-left-radius: var(--el-border-radius-base);
188
-
189
- /* 文字排列 */
173
+ .vk-drawer-toggle.is-rtl {
174
+
175
+ /* 位置 */
176
+ top: 25%;
177
+ left: 0;
178
+ transform: translate(-100%, 0);
179
+
180
+ /* 外观 */
181
+ background-color: var(--el-bg-color);
182
+ border: 1px solid var(--el-border-color);
183
+ border-right: none; /* 右侧不要边框,因为贴着 drawer */
184
+
185
+ /* 圆角 */
186
+ border-top-left-radius: var(--el-border-radius-base);
187
+ border-bottom-left-radius: var(--el-border-radius-base);
188
+
189
+ /* 文字排列 */
190
190
  writing-mode: vertical-rl; /* 竖向文字 */
191
191
  }
192
- .vk-drawer-toggle.is-ltr {
193
-
194
- /* 位置 */
195
- top: 25%;
196
- right: 0;
197
- transform: translate(100%, 0);
198
-
199
- /* 外观 */
200
- background-color: var(--el-bg-color);
201
- border: 1px solid var(--el-border-color);
202
- border-left: none; /* 左侧不要边框,因为贴着 drawer */
203
-
204
- /* 圆角 */
205
- border-top-right-radius: var(--el-border-radius-base);
206
- border-bottom-right-radius: var(--el-border-radius-base);
207
-
208
- /* 文字排列 */
192
+ .vk-drawer-toggle.is-ltr {
193
+
194
+ /* 位置 */
195
+ top: 25%;
196
+ right: 0;
197
+ transform: translate(100%, 0);
198
+
199
+ /* 外观 */
200
+ background-color: var(--el-bg-color);
201
+ border: 1px solid var(--el-border-color);
202
+ border-left: none; /* 左侧不要边框,因为贴着 drawer */
203
+
204
+ /* 圆角 */
205
+ border-top-right-radius: var(--el-border-radius-base);
206
+ border-bottom-right-radius: var(--el-border-radius-base);
207
+
208
+ /* 文字排列 */
209
209
  writing-mode: vertical-rl; /* 竖向文字 */
210
210
  }
211
- .vk-drawer-toggle.is-ttb {
212
-
213
- /* 位置 */
214
- bottom: 0;
215
- left: 25%;
216
- transform: translate(0, 100%);
217
-
218
- /* 外观 */
219
- background-color: var(--el-bg-color);
220
- border: 1px solid var(--el-border-color);
221
- border-top: none; /* 上侧不要边框,因为贴着 drawer */
222
-
223
- /* 圆角 */
224
- border-bottom-left-radius: var(--el-border-radius-base);
211
+ .vk-drawer-toggle.is-ttb {
212
+
213
+ /* 位置 */
214
+ bottom: 0;
215
+ left: 25%;
216
+ transform: translate(0, 100%);
217
+
218
+ /* 外观 */
219
+ background-color: var(--el-bg-color);
220
+ border: 1px solid var(--el-border-color);
221
+ border-top: none; /* 上侧不要边框,因为贴着 drawer */
222
+
223
+ /* 圆角 */
224
+ border-bottom-left-radius: var(--el-border-radius-base);
225
225
  border-bottom-right-radius: var(--el-border-radius-base);
226
226
  }
227
- .vk-drawer-toggle.is-btt {
228
-
229
- /* 位置 */
230
- top: 0;
231
- left: 25%;
232
- transform: translate(0, -100%);
233
-
234
- /* 外观 */
235
- background-color: var(--el-bg-color);
236
- border: 1px solid var(--el-border-color);
237
- border-bottom: none; /* 下侧不要边框,因为贴着 drawer */
238
-
239
- /* 圆角 */
240
- border-top-left-radius: var(--el-border-radius-base);
227
+ .vk-drawer-toggle.is-btt {
228
+
229
+ /* 位置 */
230
+ top: 0;
231
+ left: 25%;
232
+ transform: translate(0, -100%);
233
+
234
+ /* 外观 */
235
+ background-color: var(--el-bg-color);
236
+ border: 1px solid var(--el-border-color);
237
+ border-bottom: none; /* 下侧不要边框,因为贴着 drawer */
238
+
239
+ /* 圆角 */
240
+ border-top-left-radius: var(--el-border-radius-base);
241
241
  border-top-right-radius: var(--el-border-radius-base);
242
242
  }
243
- .vk-drawer-toggle:hover {
243
+ .vk-drawer-toggle:hover {
244
244
  background-color: var(--el-fill-color-light);
245
245
  }
246
- .vk-drawer-toggle:active {
246
+ .vk-drawer-toggle:active {
247
247
  background-color: var(--el-fill-color);
248
248
  }
249
249
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vunk/plus",
3
- "version": "1.10.2",
3
+ "version": "1.10.3",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -19,25 +19,9 @@
19
19
  "import": "./shared/types/index.mjs",
20
20
  "types": "./shared/types/index.d.ts"
21
21
  },
22
- "./shared/audioToFrames": {
23
- "import": "./shared/audioToFrames/index.mjs",
24
- "types": "./shared/audioToFrames/index.d.ts"
25
- },
26
- "./shared/audioToFrames/src/media": {
27
- "import": "./shared/audioToFrames/src/media/index.mjs",
28
- "types": "./shared/audioToFrames/src/media/index.d.ts"
29
- },
30
- "./shared/audioToFrames/src/inference": {
31
- "import": "./shared/audioToFrames/src/inference/index.mjs",
32
- "types": "./shared/audioToFrames/src/inference/index.d.ts"
33
- },
34
- "./shared/audioToFrames/src/core": {
35
- "import": "./shared/audioToFrames/src/core/index.mjs",
36
- "types": "./shared/audioToFrames/src/core/index.d.ts"
37
- },
38
- "./shared/audioToFrames/src/audio": {
39
- "import": "./shared/audioToFrames/src/audio/index.mjs",
40
- "types": "./shared/audioToFrames/src/audio/index.d.ts"
22
+ "./shared/data": {
23
+ "import": "./shared/data/index.mjs",
24
+ "types": "./shared/data/index.d.ts"
41
25
  },
42
26
  "./icons/voice": {
43
27
  "import": "./icons/voice/index.mjs",
@@ -0,0 +1 @@
1
+ export declare function blobToAudioBuffer(blob: Blob): Promise<AudioBuffer>;
@@ -0,0 +1 @@
1
+ export declare function imgUrlToBitmap(maskUrl: string): Promise<ImageBitmap>;
@@ -0,0 +1,2 @@
1
+ export * from './blobToAudioBuffer';
2
+ export * from './imgUrlToBitmap';
@@ -0,0 +1,25 @@
1
+ async function createAudioContext() {
2
+ const AudioContextClass = window.AudioContext || window.webkitAudioContext;
3
+ if (!AudioContextClass) {
4
+ throw new Error("\u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301Web Audio API");
5
+ }
6
+ const audioContext = new AudioContextClass();
7
+ if (audioContext.state === "suspended") {
8
+ await audioContext.resume();
9
+ }
10
+ return audioContext;
11
+ }
12
+ async function blobToAudioBuffer(blob) {
13
+ const audioContext = await createAudioContext();
14
+ const buffer = await blob.arrayBuffer();
15
+ return audioContext.decodeAudioData(buffer);
16
+ }
17
+
18
+ async function imgUrlToBitmap(maskUrl) {
19
+ const img = new Image();
20
+ img.src = maskUrl;
21
+ await img.decode();
22
+ return createImageBitmap(img);
23
+ }
24
+
25
+ export { blobToAudioBuffer, imgUrlToBitmap };