@sdata/web-vue 3.22.3 → 3.24.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/dist/sd.css +128 -0
- package/dist/sd.min.css +1 -1
- package/es/components.d.ts +14 -0
- package/es/index.css +128 -0
- package/es/index.d.ts +4 -2
- package/es/index.js +17 -1
- package/es/index.scss +1 -0
- package/es/model-selector/assets/logos/aihubmix.js +4 -0
- package/es/model-selector/assets/logos/alibaba-cn.js +4 -0
- package/es/model-selector/assets/logos/alibaba.js +4 -0
- package/es/model-selector/assets/logos/amazon-bedrock.js +4 -0
- package/es/model-selector/assets/logos/anthropic.js +4 -0
- package/es/model-selector/assets/logos/azure.js +4 -0
- package/es/model-selector/assets/logos/baseten.js +4 -0
- package/es/model-selector/assets/logos/cerebras.js +4 -0
- package/es/model-selector/assets/logos/chutes.js +4 -0
- package/es/model-selector/assets/logos/cloudflare-workers-ai.js +4 -0
- package/es/model-selector/assets/logos/cortecs.js +4 -0
- package/es/model-selector/assets/logos/deepinfra.js +4 -0
- package/es/model-selector/assets/logos/deepseek.js +4 -0
- package/es/model-selector/assets/logos/default.js +4 -0
- package/es/model-selector/assets/logos/fastrouter.js +4 -0
- package/es/model-selector/assets/logos/fireworks-ai.js +4 -0
- package/es/model-selector/assets/logos/github-copilot.js +4 -0
- package/es/model-selector/assets/logos/github-models.js +4 -0
- package/es/model-selector/assets/logos/google-vertex-anthropic.js +4 -0
- package/es/model-selector/assets/logos/google-vertex.js +4 -0
- package/es/model-selector/assets/logos/google.js +4 -0
- package/es/model-selector/assets/logos/groq.js +4 -0
- package/es/model-selector/assets/logos/huggingface.js +4 -0
- package/es/model-selector/assets/logos/iflowcn.js +4 -0
- package/es/model-selector/assets/logos/inception.js +4 -0
- package/es/model-selector/assets/logos/inference.js +4 -0
- package/es/model-selector/assets/logos/llama.js +4 -0
- package/es/model-selector/assets/logos/lucidquery.js +4 -0
- package/es/model-selector/assets/logos/mistral.js +4 -0
- package/es/model-selector/assets/logos/modelscope.js +4 -0
- package/es/model-selector/assets/logos/moonshotai-cn.js +4 -0
- package/es/model-selector/assets/logos/moonshotai.js +4 -0
- package/es/model-selector/assets/logos/nebius.js +4 -0
- package/es/model-selector/assets/logos/nvidia.js +4 -0
- package/es/model-selector/assets/logos/openai.js +4 -0
- package/es/model-selector/assets/logos/opencode.js +4 -0
- package/es/model-selector/assets/logos/openrouter.js +4 -0
- package/es/model-selector/assets/logos/perplexity.js +4 -0
- package/es/model-selector/assets/logos/scaleway.js +4 -0
- package/es/model-selector/assets/logos/submodel.js +4 -0
- package/es/model-selector/assets/logos/togetherai.js +4 -0
- package/es/model-selector/assets/logos/upstage.js +4 -0
- package/es/model-selector/assets/logos/v0.js +4 -0
- package/es/model-selector/assets/logos/venice.js +4 -0
- package/es/model-selector/assets/logos/vercel.js +4 -0
- package/es/model-selector/assets/logos/vultr.js +4 -0
- package/es/model-selector/assets/logos/xai.js +4 -0
- package/es/model-selector/assets/logos/zai-coding-plan.js +4 -0
- package/es/model-selector/assets/logos/zai.js +4 -0
- package/es/model-selector/assets/logos/zenmux.js +4 -0
- package/es/model-selector/assets/logos/zhipuai-coding-plan.js +4 -0
- package/es/model-selector/assets/logos/zhipuai.js +4 -0
- package/es/model-selector/context.d.ts +25 -0
- package/es/model-selector/context.js +5 -0
- package/es/model-selector/index.d.ts +436 -0
- package/es/model-selector/index.js +57 -0
- package/es/model-selector/model-selector-content.js +5 -0
- package/es/model-selector/model-selector-content.vue.d.ts +21 -0
- package/es/model-selector/model-selector-content.vue_vue_type_script_setup_true_lang.js +65 -0
- package/es/model-selector/model-selector-dialog.js +5 -0
- package/es/model-selector/model-selector-dialog.vue.d.ts +36 -0
- package/es/model-selector/model-selector-dialog.vue_vue_type_script_setup_true_lang.js +98 -0
- package/es/model-selector/model-selector-empty.js +5 -0
- package/es/model-selector/model-selector-empty.vue.d.ts +13 -0
- package/es/model-selector/model-selector-empty.vue_vue_type_script_setup_true_lang.js +25 -0
- package/es/model-selector/model-selector-group.js +5 -0
- package/es/model-selector/model-selector-group.vue.d.ts +18 -0
- package/es/model-selector/model-selector-group.vue_vue_type_script_setup_true_lang.js +32 -0
- package/es/model-selector/model-selector-input.js +5 -0
- package/es/model-selector/model-selector-input.vue.d.ts +11 -0
- package/es/model-selector/model-selector-input.vue_vue_type_script_setup_true_lang.js +80 -0
- package/es/model-selector/model-selector-item.js +5 -0
- package/es/model-selector/model-selector-item.vue.d.ts +35 -0
- package/es/model-selector/model-selector-item.vue_vue_type_script_setup_true_lang.js +101 -0
- package/es/model-selector/model-selector-list.js +5 -0
- package/es/model-selector/model-selector-list.vue.d.ts +13 -0
- package/es/model-selector/model-selector-list.vue_vue_type_script_setup_true_lang.js +36 -0
- package/es/model-selector/model-selector-logo-group.js +5 -0
- package/es/model-selector/model-selector-logo-group.vue.d.ts +13 -0
- package/es/model-selector/model-selector-logo-group.vue_vue_type_script_setup_true_lang.js +15 -0
- package/es/model-selector/model-selector-logo.js +5 -0
- package/es/model-selector/model-selector-logo.vue.d.ts +10 -0
- package/es/model-selector/model-selector-logo.vue_vue_type_script_setup_true_lang.js +146 -0
- package/es/model-selector/model-selector-name.js +5 -0
- package/es/model-selector/model-selector-name.vue.d.ts +13 -0
- package/es/model-selector/model-selector-name.vue_vue_type_script_setup_true_lang.js +15 -0
- package/es/model-selector/model-selector-separator.js +5 -0
- package/es/model-selector/model-selector-separator.vue.d.ts +3 -0
- package/es/model-selector/model-selector-separator.vue_vue_type_script_setup_true_lang.js +16 -0
- package/es/model-selector/model-selector-shortcut.js +5 -0
- package/es/model-selector/model-selector-shortcut.vue.d.ts +13 -0
- package/es/model-selector/model-selector-shortcut.vue_vue_type_script_setup_true_lang.js +15 -0
- package/es/model-selector/model-selector-trigger.js +5 -0
- package/es/model-selector/model-selector-trigger.vue.d.ts +20 -0
- package/es/model-selector/model-selector-trigger.vue_vue_type_script_setup_true_lang.js +39 -0
- package/es/model-selector/model-selector.js +5 -0
- package/es/model-selector/model-selector.vue.d.ts +34 -0
- package/es/model-selector/model-selector.vue_vue_type_script_setup_true_lang.js +179 -0
- package/es/model-selector/style/css.js +2 -0
- package/es/model-selector/style/index.css +144 -0
- package/es/model-selector/style/index.d.ts +2 -0
- package/es/model-selector/style/index.js +2 -0
- package/es/model-selector/style/index.scss +157 -0
- package/es/model-selector/style/token.scss +24 -0
- package/es/model-selector/types.d.ts +16 -0
- package/es/model-selector/types.js +61 -0
- package/es/model-selector/use-model-selector-context.d.ts +1 -0
- package/es/model-selector/use-model-selector-context.js +10 -0
- package/es/rich-text-editor/rich-text-editor.vue_vue_type_script_setup_true_lang.js +16 -18
- package/es/sd-vue.js +2 -0
- package/es/sender/index.d.ts +3 -1
- package/es/sender/index.js +2 -1
- package/es/sender/recorder-core.d.ts +25 -0
- package/es/sender/recorder-core.js +26 -0
- package/es/sender/sender.vue_vue_type_script_setup_true_lang.js +16 -18
- package/es/sender/types.d.ts +8 -60
- package/es/sender/use-recorder.d.ts +16 -0
- package/es/sender/use-recorder.js +117 -0
- package/json/vetur-attributes.json +96 -1
- package/json/vetur-tags.json +75 -0
- package/json/web-types.json +291 -2
- package/package.json +2 -1
- package/es/sender/use-speech.d.ts +0 -19
- package/es/sender/use-speech.js +0 -381
package/es/sender/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { UnknownRecord } from 'type-fest';
|
|
1
2
|
import type { CSSProperties, Component, VNodeChild } from 'vue';
|
|
2
3
|
import type { TooltipProps } from '../tooltip';
|
|
4
|
+
import type { RecorderCore, RecorderCoreInstance, RecorderCoreOptions } from './recorder-core';
|
|
3
5
|
export type SenderSubmitType = 'enter' | 'shiftEnter';
|
|
4
6
|
export type SenderInsertPosition = 'start' | 'end' | 'cursor';
|
|
5
7
|
export type SenderSuffixPlacement = 'content' | 'footer';
|
|
@@ -7,59 +9,7 @@ export type SenderSemanticType = 'root' | 'prefix' | 'input' | 'suffix' | 'foote
|
|
|
7
9
|
export interface SenderComponents {
|
|
8
10
|
input?: Component;
|
|
9
11
|
}
|
|
10
|
-
export
|
|
11
|
-
recording?: boolean;
|
|
12
|
-
onRecordingChange?: (recording: boolean) => void;
|
|
13
|
-
audioConstraints?: MediaTrackConstraints;
|
|
14
|
-
bufferSize?: number;
|
|
15
|
-
workletUrl?: string;
|
|
16
|
-
processorName?: string;
|
|
17
|
-
processorOptions?: Record<string, unknown>;
|
|
18
|
-
url?: string;
|
|
19
|
-
protocols?: string | string[];
|
|
20
|
-
sendMetadata?: boolean;
|
|
21
|
-
}
|
|
22
|
-
export type SenderControlledSpeechConfig = SenderSpeechConfig;
|
|
23
|
-
export type SenderAllowSpeech = boolean | SenderSpeechConfig;
|
|
24
|
-
export interface SenderSpeechStartEvent {
|
|
25
|
-
source: 'capture' | 'controlled';
|
|
26
|
-
startedAt: number;
|
|
27
|
-
stream?: MediaStream;
|
|
28
|
-
audioContext?: AudioContext;
|
|
29
|
-
sampleRate?: number;
|
|
30
|
-
}
|
|
31
|
-
export interface SenderSpeechDataEvent {
|
|
32
|
-
buffer: ArrayBuffer;
|
|
33
|
-
sampleRate: number;
|
|
34
|
-
sequence: number;
|
|
35
|
-
timestamp: number;
|
|
36
|
-
}
|
|
37
|
-
export type SenderSpeechEndReason = 'manual' | 'controlled' | 'error' | 'unmount';
|
|
38
|
-
export interface SenderSpeechEndEvent {
|
|
39
|
-
source: 'capture' | 'controlled';
|
|
40
|
-
reason: SenderSpeechEndReason;
|
|
41
|
-
startedAt: number;
|
|
42
|
-
endedAt: number;
|
|
43
|
-
duration: number;
|
|
44
|
-
chunks: number;
|
|
45
|
-
}
|
|
46
|
-
export type SenderSpeechErrorPhase = 'permission' | 'audioContext' | 'audioWorklet' | 'transport';
|
|
47
|
-
export interface SenderSpeechErrorEvent {
|
|
48
|
-
error: Error;
|
|
49
|
-
phase: SenderSpeechErrorPhase;
|
|
50
|
-
}
|
|
51
|
-
export interface SenderSpeechTransportOpenEvent {
|
|
52
|
-
event: Event;
|
|
53
|
-
socket: WebSocket;
|
|
54
|
-
}
|
|
55
|
-
export interface SenderSpeechTransportMessageEvent {
|
|
56
|
-
event: MessageEvent;
|
|
57
|
-
socket: WebSocket;
|
|
58
|
-
}
|
|
59
|
-
export interface SenderSpeechTransportCloseEvent {
|
|
60
|
-
event: CloseEvent;
|
|
61
|
-
socket: WebSocket;
|
|
62
|
-
}
|
|
12
|
+
export type SenderAllowSpeech = boolean | RecorderCoreOptions | UnknownRecord;
|
|
63
13
|
export interface SenderSkillClosableConfig {
|
|
64
14
|
closeIcon?: VNodeChild;
|
|
65
15
|
onClose?: (event: MouseEvent) => void;
|
|
@@ -144,6 +94,9 @@ export interface SenderFocusOptions {
|
|
|
144
94
|
key?: string;
|
|
145
95
|
}
|
|
146
96
|
export interface SenderRef {
|
|
97
|
+
readonly Recorder: RecorderCore;
|
|
98
|
+
readonly recorder: RecorderCoreInstance | null;
|
|
99
|
+
readonly recording: boolean;
|
|
147
100
|
readonly inputElement: HTMLTextAreaElement | HTMLDivElement | null;
|
|
148
101
|
readonly nativeElement: HTMLDivElement | null;
|
|
149
102
|
focus: (options?: SenderFocusOptions) => void;
|
|
@@ -201,13 +154,8 @@ export interface SenderEmits {
|
|
|
201
154
|
'pasteFile': [files: FileList];
|
|
202
155
|
'focus': [event: FocusEvent];
|
|
203
156
|
'blur': [event: FocusEvent];
|
|
204
|
-
'
|
|
205
|
-
'
|
|
206
|
-
'speechEnd': [event: SenderSpeechEndEvent];
|
|
207
|
-
'speechError': [event: SenderSpeechErrorEvent];
|
|
208
|
-
'speechTransportOpen': [event: SenderSpeechTransportOpenEvent];
|
|
209
|
-
'speechTransportMessage': [event: SenderSpeechTransportMessageEvent];
|
|
210
|
-
'speechTransportClose': [event: SenderSpeechTransportCloseEvent];
|
|
157
|
+
'speechEnd': [blob: Blob, duration: number, mime: string];
|
|
158
|
+
'speechError': [message: string, isUserNotAllow: boolean];
|
|
211
159
|
}
|
|
212
160
|
export type SenderHeaderSemanticType = 'header' | 'content';
|
|
213
161
|
export interface SenderHeaderProps {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
import type { SenderAllowSpeech } from './types';
|
|
3
|
+
export interface UseRecorderOptions {
|
|
4
|
+
onStop?: (blob: Blob, duration: number, mime: string) => void;
|
|
5
|
+
onError?: (message: string, isUserNotAllow: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function useRecorder(allowSpeech: MaybeRefOrGetter<SenderAllowSpeech | undefined>, options?: UseRecorderOptions): {
|
|
8
|
+
Recorder: any;
|
|
9
|
+
available: import("vue").ComputedRef<boolean>;
|
|
10
|
+
recorder: import("vue").ShallowRef<any, any>;
|
|
11
|
+
recording: import("vue").ShallowRef<boolean, boolean>;
|
|
12
|
+
requesting: import("vue").ShallowRef<boolean, boolean>;
|
|
13
|
+
stopping: import("vue").ShallowRef<boolean, boolean>;
|
|
14
|
+
statusText: import("vue").ComputedRef<string>;
|
|
15
|
+
trigger: () => void;
|
|
16
|
+
};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useI18n } from "../locale/index.js";
|
|
2
|
+
import recorder_core_default from "./recorder-core.js";
|
|
3
|
+
import { computed, onBeforeUnmount, onMounted, shallowRef, toValue, watch } from "vue";
|
|
4
|
+
//#region components/sender/use-recorder.ts
|
|
5
|
+
function useRecorder(allowSpeech, options = {}) {
|
|
6
|
+
const { t } = useI18n();
|
|
7
|
+
const config = computed(() => toValue(allowSpeech));
|
|
8
|
+
const supported = shallowRef(false);
|
|
9
|
+
const recording = shallowRef(false);
|
|
10
|
+
const requesting = shallowRef(false);
|
|
11
|
+
const stopping = shallowRef(false);
|
|
12
|
+
const permissionDenied = shallowRef(false);
|
|
13
|
+
const captureError = shallowRef();
|
|
14
|
+
const recorder = shallowRef();
|
|
15
|
+
let mounted = false;
|
|
16
|
+
let supportChecked = false;
|
|
17
|
+
let disposed = false;
|
|
18
|
+
const available = computed(() => Boolean(config.value) && supported.value && !permissionDenied.value);
|
|
19
|
+
const statusText = computed(() => {
|
|
20
|
+
if (requesting.value) return t("sender.speech.requestingPermission");
|
|
21
|
+
if (permissionDenied.value) return t("sender.speech.permissionDenied");
|
|
22
|
+
if (captureError.value) return t("sender.speech.microphoneUnavailable");
|
|
23
|
+
if (!supported.value) return t("sender.speech.unsupported");
|
|
24
|
+
if (recording.value) return t("sender.speech.stop");
|
|
25
|
+
return t("sender.speech.start");
|
|
26
|
+
});
|
|
27
|
+
const close = () => {
|
|
28
|
+
var _recorder$value;
|
|
29
|
+
(_recorder$value = recorder.value) === null || _recorder$value === void 0 || _recorder$value.close();
|
|
30
|
+
recorder.value = void 0;
|
|
31
|
+
recording.value = false;
|
|
32
|
+
requesting.value = false;
|
|
33
|
+
stopping.value = false;
|
|
34
|
+
};
|
|
35
|
+
const stop = () => {
|
|
36
|
+
const current = recorder.value;
|
|
37
|
+
if (!current || !recording.value || requesting.value || stopping.value) return;
|
|
38
|
+
stopping.value = true;
|
|
39
|
+
const finish = () => {
|
|
40
|
+
recording.value = false;
|
|
41
|
+
requesting.value = false;
|
|
42
|
+
stopping.value = false;
|
|
43
|
+
recorder.value = void 0;
|
|
44
|
+
};
|
|
45
|
+
current.stop((blob, duration, mime) => {
|
|
46
|
+
var _options$onStop;
|
|
47
|
+
if (disposed) return;
|
|
48
|
+
(_options$onStop = options.onStop) === null || _options$onStop === void 0 || _options$onStop.call(options, blob, duration, mime);
|
|
49
|
+
finish();
|
|
50
|
+
}, (message) => {
|
|
51
|
+
var _options$onError;
|
|
52
|
+
if (disposed) return;
|
|
53
|
+
(_options$onError = options.onError) === null || _options$onError === void 0 || _options$onError.call(options, message, false);
|
|
54
|
+
finish();
|
|
55
|
+
}, true);
|
|
56
|
+
};
|
|
57
|
+
const start = () => {
|
|
58
|
+
if (!available.value || requesting.value || recording.value || stopping.value) return;
|
|
59
|
+
requesting.value = true;
|
|
60
|
+
permissionDenied.value = false;
|
|
61
|
+
captureError.value = void 0;
|
|
62
|
+
const current = recorder_core_default(typeof config.value === "object" ? config.value : {});
|
|
63
|
+
recorder.value = current;
|
|
64
|
+
current.open(() => {
|
|
65
|
+
if (disposed || recorder.value !== current) {
|
|
66
|
+
current.close();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
current.start();
|
|
70
|
+
recording.value = true;
|
|
71
|
+
requesting.value = false;
|
|
72
|
+
}, (message, isUserNotAllow) => {
|
|
73
|
+
var _options$onError2;
|
|
74
|
+
current.close();
|
|
75
|
+
if (disposed || recorder.value !== current) return;
|
|
76
|
+
recorder.value = void 0;
|
|
77
|
+
permissionDenied.value = isUserNotAllow;
|
|
78
|
+
if (!isUserNotAllow) captureError.value = message;
|
|
79
|
+
recording.value = false;
|
|
80
|
+
requesting.value = false;
|
|
81
|
+
(_options$onError2 = options.onError) === null || _options$onError2 === void 0 || _options$onError2.call(options, message, isUserNotAllow);
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
const trigger = () => {
|
|
85
|
+
if (recording.value) stop();
|
|
86
|
+
else start();
|
|
87
|
+
};
|
|
88
|
+
const checkSupport = () => {
|
|
89
|
+
if (supportChecked) return;
|
|
90
|
+
supportChecked = true;
|
|
91
|
+
supported.value = recorder_core_default.Support();
|
|
92
|
+
};
|
|
93
|
+
onMounted(() => {
|
|
94
|
+
mounted = true;
|
|
95
|
+
if (config.value) checkSupport();
|
|
96
|
+
});
|
|
97
|
+
watch(() => Boolean(config.value), (enabled) => {
|
|
98
|
+
if (enabled && mounted) checkSupport();
|
|
99
|
+
else if (!enabled) close();
|
|
100
|
+
});
|
|
101
|
+
onBeforeUnmount(() => {
|
|
102
|
+
disposed = true;
|
|
103
|
+
close();
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
Recorder: recorder_core_default,
|
|
107
|
+
available,
|
|
108
|
+
recorder,
|
|
109
|
+
recording,
|
|
110
|
+
requesting,
|
|
111
|
+
stopping,
|
|
112
|
+
statusText,
|
|
113
|
+
trigger
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { useRecorder };
|
|
@@ -2433,6 +2433,101 @@
|
|
|
2433
2433
|
"description": "Whether to hide the title",
|
|
2434
2434
|
"type": "boolean"
|
|
2435
2435
|
},
|
|
2436
|
+
"sd-model-selector-content/title": {
|
|
2437
|
+
"description": "Accessible dialog title",
|
|
2438
|
+
"type": "string"
|
|
2439
|
+
},
|
|
2440
|
+
"sd-model-selector-content/width": {
|
|
2441
|
+
"description": "Dialog width"
|
|
2442
|
+
},
|
|
2443
|
+
"sd-model-selector-content/render-to-body": {
|
|
2444
|
+
"description": "Whether to render under body",
|
|
2445
|
+
"type": "boolean"
|
|
2446
|
+
},
|
|
2447
|
+
"sd-model-selector-content/unmount-on-close": {
|
|
2448
|
+
"description": "Whether to unmount content when closed",
|
|
2449
|
+
"type": "boolean"
|
|
2450
|
+
},
|
|
2451
|
+
"sd-model-selector-content/mask-closable": {
|
|
2452
|
+
"description": "Whether clicking the mask closes the dialog",
|
|
2453
|
+
"type": "boolean"
|
|
2454
|
+
},
|
|
2455
|
+
"sd-model-selector-content/esc-to-close": {
|
|
2456
|
+
"description": "Whether Escape closes the dialog",
|
|
2457
|
+
"type": "boolean"
|
|
2458
|
+
},
|
|
2459
|
+
"sd-model-selector-group/heading": {
|
|
2460
|
+
"description": "Group heading",
|
|
2461
|
+
"type": "string"
|
|
2462
|
+
},
|
|
2463
|
+
"sd-model-selector-input/model-value": {
|
|
2464
|
+
"description": "Search query",
|
|
2465
|
+
"type": "string"
|
|
2466
|
+
},
|
|
2467
|
+
"sd-model-selector-input/input-attrs": {
|
|
2468
|
+
"description": "Attributes forwarded to the underlying native input"
|
|
2469
|
+
},
|
|
2470
|
+
"sd-model-selector-item/select": {
|
|
2471
|
+
"description": "Emitted when selected"
|
|
2472
|
+
},
|
|
2473
|
+
"sd-model-selector-item/value": {
|
|
2474
|
+
"description": "Item value",
|
|
2475
|
+
"type": "string"
|
|
2476
|
+
},
|
|
2477
|
+
"sd-model-selector-item/label": {
|
|
2478
|
+
"description": "Search label; rendered text is used when omitted",
|
|
2479
|
+
"type": "string"
|
|
2480
|
+
},
|
|
2481
|
+
"sd-model-selector-item/keywords": {
|
|
2482
|
+
"description": "Additional search keywords"
|
|
2483
|
+
},
|
|
2484
|
+
"sd-model-selector-item/disabled": {
|
|
2485
|
+
"description": "Whether the item is disabled",
|
|
2486
|
+
"type": "boolean"
|
|
2487
|
+
},
|
|
2488
|
+
"sd-model-selector-item/selected": {
|
|
2489
|
+
"description": "Whether the item is selected",
|
|
2490
|
+
"type": "boolean"
|
|
2491
|
+
},
|
|
2492
|
+
"sd-model-selector-item/shortcut": {
|
|
2493
|
+
"description": "Shortcut for selecting this item, using the VueUse useMagicKeys format, such as Alt+Shift+1",
|
|
2494
|
+
"type": "string"
|
|
2495
|
+
},
|
|
2496
|
+
"sd-model-selector-logo/provider": {
|
|
2497
|
+
"description": "Provider id; unknown ids use the local fallback logo"
|
|
2498
|
+
},
|
|
2499
|
+
"sd-model-selector-logo/alt": {
|
|
2500
|
+
"description": "Alternative text",
|
|
2501
|
+
"type": "string"
|
|
2502
|
+
},
|
|
2503
|
+
"sd-model-selector-logo/width": {
|
|
2504
|
+
"description": "Logo width"
|
|
2505
|
+
},
|
|
2506
|
+
"sd-model-selector-logo/height": {
|
|
2507
|
+
"description": "Logo height"
|
|
2508
|
+
},
|
|
2509
|
+
"sd-model-selector-trigger/disabled": {
|
|
2510
|
+
"description": "Whether the trigger is disabled",
|
|
2511
|
+
"type": "boolean"
|
|
2512
|
+
},
|
|
2513
|
+
"sd-model-selector/visible-change": {
|
|
2514
|
+
"description": "Emitted when visibility changes"
|
|
2515
|
+
},
|
|
2516
|
+
"sd-model-selector/select": {
|
|
2517
|
+
"description": "Emitted when the user selects a model"
|
|
2518
|
+
},
|
|
2519
|
+
"sd-model-selector/default-visible": {
|
|
2520
|
+
"description": "Whether the model selector is visible by default",
|
|
2521
|
+
"type": "boolean"
|
|
2522
|
+
},
|
|
2523
|
+
"sd-model-selector/close-on-select": {
|
|
2524
|
+
"description": "Whether to close after selecting a model",
|
|
2525
|
+
"type": "boolean"
|
|
2526
|
+
},
|
|
2527
|
+
"sd-model-selector/reset-query-on-close": {
|
|
2528
|
+
"description": "Whether to reset the query when closed",
|
|
2529
|
+
"type": "boolean"
|
|
2530
|
+
},
|
|
2436
2531
|
"sd-overflow-list/change": {
|
|
2437
2532
|
"description": "Triggered when the overflow quantity changes"
|
|
2438
2533
|
},
|
|
@@ -3038,7 +3133,7 @@
|
|
|
3038
3133
|
"description": "Structured slot configuration"
|
|
3039
3134
|
},
|
|
3040
3135
|
"sd-sender/allow-speech": {
|
|
3041
|
-
"description": "
|
|
3136
|
+
"description": "Whether recording is enabled; an object value is passed to recorder-core as-is"
|
|
3042
3137
|
},
|
|
3043
3138
|
"sd-sender/auto-size": {
|
|
3044
3139
|
"description": "Textarea auto-size configuration"
|
package/json/vetur-tags.json
CHANGED
|
@@ -993,6 +993,81 @@
|
|
|
993
993
|
"hide-title"
|
|
994
994
|
]
|
|
995
995
|
},
|
|
996
|
+
"sd-model-selector-content": {
|
|
997
|
+
"attributes": [
|
|
998
|
+
"title",
|
|
999
|
+
"width",
|
|
1000
|
+
"render-to-body",
|
|
1001
|
+
"unmount-on-close",
|
|
1002
|
+
"mask-closable",
|
|
1003
|
+
"esc-to-close"
|
|
1004
|
+
]
|
|
1005
|
+
},
|
|
1006
|
+
"sd-model-selector-dialog": {
|
|
1007
|
+
"attributes": []
|
|
1008
|
+
},
|
|
1009
|
+
"sd-model-selector-empty": {
|
|
1010
|
+
"attributes": []
|
|
1011
|
+
},
|
|
1012
|
+
"sd-model-selector-group": {
|
|
1013
|
+
"attributes": [
|
|
1014
|
+
"heading"
|
|
1015
|
+
]
|
|
1016
|
+
},
|
|
1017
|
+
"sd-model-selector-input": {
|
|
1018
|
+
"attributes": [
|
|
1019
|
+
"model-value",
|
|
1020
|
+
"input-attrs"
|
|
1021
|
+
]
|
|
1022
|
+
},
|
|
1023
|
+
"sd-model-selector-item": {
|
|
1024
|
+
"attributes": [
|
|
1025
|
+
"select",
|
|
1026
|
+
"value",
|
|
1027
|
+
"label",
|
|
1028
|
+
"keywords",
|
|
1029
|
+
"disabled",
|
|
1030
|
+
"selected",
|
|
1031
|
+
"shortcut"
|
|
1032
|
+
]
|
|
1033
|
+
},
|
|
1034
|
+
"sd-model-selector-list": {
|
|
1035
|
+
"attributes": []
|
|
1036
|
+
},
|
|
1037
|
+
"sd-model-selector-logo-group": {
|
|
1038
|
+
"attributes": []
|
|
1039
|
+
},
|
|
1040
|
+
"sd-model-selector-logo": {
|
|
1041
|
+
"attributes": [
|
|
1042
|
+
"provider",
|
|
1043
|
+
"alt",
|
|
1044
|
+
"width",
|
|
1045
|
+
"height"
|
|
1046
|
+
]
|
|
1047
|
+
},
|
|
1048
|
+
"sd-model-selector-name": {
|
|
1049
|
+
"attributes": []
|
|
1050
|
+
},
|
|
1051
|
+
"sd-model-selector-separator": {
|
|
1052
|
+
"attributes": []
|
|
1053
|
+
},
|
|
1054
|
+
"sd-model-selector-shortcut": {
|
|
1055
|
+
"attributes": []
|
|
1056
|
+
},
|
|
1057
|
+
"sd-model-selector-trigger": {
|
|
1058
|
+
"attributes": [
|
|
1059
|
+
"disabled"
|
|
1060
|
+
]
|
|
1061
|
+
},
|
|
1062
|
+
"sd-model-selector": {
|
|
1063
|
+
"attributes": [
|
|
1064
|
+
"visible-change",
|
|
1065
|
+
"select",
|
|
1066
|
+
"default-visible",
|
|
1067
|
+
"close-on-select",
|
|
1068
|
+
"reset-query-on-close"
|
|
1069
|
+
]
|
|
1070
|
+
},
|
|
996
1071
|
"sd-overflow-list": {
|
|
997
1072
|
"attributes": [
|
|
998
1073
|
"change",
|