@sdata/web-vue 3.23.0 → 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 +2 -0
- package/es/index.js +16 -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/sender.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/sender/types.d.ts +2 -1
- package/json/vetur-attributes.json +95 -0
- package/json/vetur-tags.json +75 -0
- package/json/web-types.json +290 -1
- package/package.json +1 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import model_selector_content_default from "./model-selector-content.js";
|
|
3
|
+
import model_selector_default from "./model-selector.js";
|
|
4
|
+
import { computed, createBlock, createVNode, defineComponent, getCurrentInstance, mergeModels, openBlock, renderSlot, shallowRef, useModel, withCtx } from "vue";
|
|
5
|
+
//#region components/model-selector/model-selector-dialog.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var model_selector_dialog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorDialog" }), {}, {
|
|
7
|
+
__name: "model-selector-dialog",
|
|
8
|
+
props: /*@__PURE__*/ mergeModels({
|
|
9
|
+
defaultVisible: {
|
|
10
|
+
type: Boolean,
|
|
11
|
+
default: false
|
|
12
|
+
},
|
|
13
|
+
closeOnSelect: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: true
|
|
16
|
+
},
|
|
17
|
+
resetQueryOnClose: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: true
|
|
20
|
+
},
|
|
21
|
+
title: { default: "模型选择" },
|
|
22
|
+
width: { default: 640 },
|
|
23
|
+
renderToBody: {
|
|
24
|
+
type: Boolean,
|
|
25
|
+
default: true
|
|
26
|
+
},
|
|
27
|
+
unmountOnClose: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: true
|
|
30
|
+
},
|
|
31
|
+
maskClosable: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: true
|
|
34
|
+
},
|
|
35
|
+
escToClose: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: true
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
"visible": { type: Boolean },
|
|
41
|
+
"visibleModifiers": {}
|
|
42
|
+
}),
|
|
43
|
+
emits: /*@__PURE__*/ mergeModels(["visibleChange", "select"], ["update:visible"]),
|
|
44
|
+
setup(__props, { emit: __emit }) {
|
|
45
|
+
const emit = __emit;
|
|
46
|
+
const instance = getCurrentInstance();
|
|
47
|
+
const visibleModel = useModel(__props, "visible");
|
|
48
|
+
const innerVisible = shallowRef(__props.defaultVisible);
|
|
49
|
+
const hasVisibleProp = computed(() => {
|
|
50
|
+
var _instance$vnode$props;
|
|
51
|
+
return Object.hasOwn((_instance$vnode$props = instance.vnode.props) !== null && _instance$vnode$props !== void 0 ? _instance$vnode$props : {}, "visible");
|
|
52
|
+
});
|
|
53
|
+
const mergedVisible = computed(() => hasVisibleProp.value ? Boolean(visibleModel.value) : innerVisible.value);
|
|
54
|
+
function handleVisibleUpdate(value) {
|
|
55
|
+
const nextVisible = Boolean(value);
|
|
56
|
+
innerVisible.value = nextVisible;
|
|
57
|
+
visibleModel.value = nextVisible;
|
|
58
|
+
}
|
|
59
|
+
return (_ctx, _cache) => {
|
|
60
|
+
return openBlock(), createBlock(model_selector_default, {
|
|
61
|
+
visible: mergedVisible.value,
|
|
62
|
+
"default-visible": __props.defaultVisible,
|
|
63
|
+
"close-on-select": __props.closeOnSelect,
|
|
64
|
+
"reset-query-on-close": __props.resetQueryOnClose,
|
|
65
|
+
"onUpdate:visible": handleVisibleUpdate,
|
|
66
|
+
onVisibleChange: _cache[0] || (_cache[0] = ($event) => emit("visibleChange", $event)),
|
|
67
|
+
onSelect: _cache[1] || (_cache[1] = (value, event) => emit("select", value, event))
|
|
68
|
+
}, {
|
|
69
|
+
default: withCtx(() => [createVNode(model_selector_content_default, {
|
|
70
|
+
title: __props.title,
|
|
71
|
+
width: __props.width,
|
|
72
|
+
"render-to-body": __props.renderToBody,
|
|
73
|
+
"unmount-on-close": __props.unmountOnClose,
|
|
74
|
+
"mask-closable": __props.maskClosable,
|
|
75
|
+
"esc-to-close": __props.escToClose
|
|
76
|
+
}, {
|
|
77
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
78
|
+
_: 3
|
|
79
|
+
}, 8, [
|
|
80
|
+
"title",
|
|
81
|
+
"width",
|
|
82
|
+
"render-to-body",
|
|
83
|
+
"unmount-on-close",
|
|
84
|
+
"mask-closable",
|
|
85
|
+
"esc-to-close"
|
|
86
|
+
])]),
|
|
87
|
+
_: 3
|
|
88
|
+
}, 8, [
|
|
89
|
+
"visible",
|
|
90
|
+
"default-visible",
|
|
91
|
+
"close-on-select",
|
|
92
|
+
"reset-query-on-close"
|
|
93
|
+
]);
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
//#endregion
|
|
98
|
+
export { model_selector_dialog_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_empty_vue_vue_type_script_setup_true_lang_default from "./model-selector-empty.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-empty.vue
|
|
3
|
+
var model_selector_empty_default = model_selector_empty_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_empty_default as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare var __VLS_8: {};
|
|
2
|
+
type __VLS_Slots = {} & {
|
|
3
|
+
default?: (props: typeof __VLS_8) => any;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
9
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
10
|
+
new (): {
|
|
11
|
+
$slots: S;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import Empty from "../empty/index.js";
|
|
4
|
+
import { useModelSelectorContext } from "./use-model-selector-context.js";
|
|
5
|
+
import { createBlock, createCommentVNode, createTextVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
6
|
+
//#region components/model-selector/model-selector-empty.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var model_selector_empty_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorEmpty" }), {}, {
|
|
8
|
+
__name: "model-selector-empty",
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const prefixCls = getPrefixCls("model-selector-empty");
|
|
11
|
+
const context = useModelSelectorContext("ModelSelectorEmpty");
|
|
12
|
+
return (_ctx, _cache) => {
|
|
13
|
+
return unref(context).visibleItemCount.value === 0 ? (openBlock(), createBlock(unref(Empty), {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: normalizeClass(unref(prefixCls)),
|
|
16
|
+
role: "status"
|
|
17
|
+
}, {
|
|
18
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, () => [_cache[0] || (_cache[0] = createTextVNode("未找到匹配的模型", -1))])]),
|
|
19
|
+
_: 3
|
|
20
|
+
}, 8, ["class"])) : createCommentVNode("", true);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
24
|
+
//#endregion
|
|
25
|
+
export { model_selector_empty_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_group_vue_vue_type_script_setup_true_lang_default from "./model-selector-group.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-group.vue
|
|
3
|
+
var model_selector_group_default = model_selector_group_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_group_default as default };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
heading?: string;
|
|
3
|
+
};
|
|
4
|
+
declare var __VLS_1: {}, __VLS_3: {};
|
|
5
|
+
type __VLS_Slots = {} & {
|
|
6
|
+
heading?: (props: typeof __VLS_1) => any;
|
|
7
|
+
} & {
|
|
8
|
+
default?: (props: typeof __VLS_3) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import { modelSelectorGroupInjectionKey } from "./context.js";
|
|
4
|
+
import { useModelSelectorContext } from "./use-model-selector-context.js";
|
|
5
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, getCurrentInstance, normalizeClass, openBlock, provide, renderSlot, toDisplayString, unref, vShow, withDirectives } from "vue";
|
|
6
|
+
//#region components/model-selector/model-selector-group.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var model_selector_group_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorGroup" }), {}, {
|
|
8
|
+
__name: "model-selector-group",
|
|
9
|
+
props: { heading: {} },
|
|
10
|
+
setup(__props) {
|
|
11
|
+
const context = useModelSelectorContext("ModelSelectorGroup");
|
|
12
|
+
const prefixCls = getPrefixCls("model-selector-group");
|
|
13
|
+
const uid = getCurrentInstance().uid;
|
|
14
|
+
const id = Symbol(`model-selector-group-${uid}`);
|
|
15
|
+
const headingId = `${context.listId}-group-${uid}`;
|
|
16
|
+
const hasVisibleItems = computed(() => context.getVisibleItems(id).length > 0);
|
|
17
|
+
provide(modelSelectorGroupInjectionKey, { id });
|
|
18
|
+
return (_ctx, _cache) => {
|
|
19
|
+
return withDirectives((openBlock(), createElementBlock("section", {
|
|
20
|
+
class: normalizeClass(unref(prefixCls)),
|
|
21
|
+
role: "group",
|
|
22
|
+
"aria-labelledby": headingId
|
|
23
|
+
}, [__props.heading || _ctx.$slots.heading ? (openBlock(), createElementBlock("div", {
|
|
24
|
+
key: 0,
|
|
25
|
+
id: headingId,
|
|
26
|
+
class: normalizeClass(`${unref(prefixCls)}-heading`)
|
|
27
|
+
}, [renderSlot(_ctx.$slots, "heading", {}, () => [createTextVNode(toDisplayString(__props.heading), 1)])], 2)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(`${unref(prefixCls)}-content`) }, [renderSlot(_ctx.$slots, "default")], 2)], 2)), [[vShow, hasVisibleItems.value]]);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
//#endregion
|
|
32
|
+
export { model_selector_group_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_input_vue_vue_type_script_setup_true_lang_default from "./model-selector-input.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-input.vue
|
|
3
|
+
var model_selector_input_default = model_selector_input_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_input_default as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
inputAttrs?: Record<string, unknown>;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
"update:modelValue": (_value: string) => any;
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
8
|
+
"onUpdate:modelValue"?: ((_value: string) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const _default: typeof __VLS_export;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import IconSearch from "../icon/icon-search/index.js";
|
|
4
|
+
import Input from "../input/index.js";
|
|
5
|
+
import { useModelSelectorContext } from "./use-model-selector-context.js";
|
|
6
|
+
import { computed, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, unref, withCtx } from "vue";
|
|
7
|
+
//#region components/model-selector/model-selector-input.vue?vue&type=script&setup=true&lang.ts
|
|
8
|
+
var model_selector_input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
|
|
9
|
+
name: "ModelSelectorInput",
|
|
10
|
+
inheritAttrs: false
|
|
11
|
+
}), {}, {
|
|
12
|
+
__name: "model-selector-input",
|
|
13
|
+
props: {
|
|
14
|
+
modelValue: {},
|
|
15
|
+
inputAttrs: {}
|
|
16
|
+
},
|
|
17
|
+
emits: ["update:modelValue"],
|
|
18
|
+
setup(__props, { emit: __emit }) {
|
|
19
|
+
const props = __props;
|
|
20
|
+
const emit = __emit;
|
|
21
|
+
const context = useModelSelectorContext("ModelSelectorInput");
|
|
22
|
+
const prefixCls = getPrefixCls("model-selector-input");
|
|
23
|
+
const mergedValue = computed(() => {
|
|
24
|
+
var _props$modelValue;
|
|
25
|
+
return (_props$modelValue = props.modelValue) !== null && _props$modelValue !== void 0 ? _props$modelValue : context.query.value;
|
|
26
|
+
});
|
|
27
|
+
const mergedInputAttrs = computed(() => _objectSpread2(_objectSpread2({}, props.inputAttrs), {}, {
|
|
28
|
+
"type": "search",
|
|
29
|
+
"role": "combobox",
|
|
30
|
+
"autocomplete": "off",
|
|
31
|
+
"aria-controls": context.listId,
|
|
32
|
+
"aria-expanded": context.visible.value,
|
|
33
|
+
"aria-activedescendant": context.activeDescendant.value
|
|
34
|
+
}));
|
|
35
|
+
function handleInput(value) {
|
|
36
|
+
context.query.value = value;
|
|
37
|
+
emit("update:modelValue", value);
|
|
38
|
+
}
|
|
39
|
+
function handleKeydown(event) {
|
|
40
|
+
if (event.key === "ArrowDown") {
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
context.moveActive(1);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (event.key === "ArrowUp") {
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
context.moveActive(-1);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (event.key === "Enter") {
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
context.selectActive(event);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (event.key === "Escape") {
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
event.stopPropagation();
|
|
58
|
+
context.setVisible(false);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return (_ctx, _cache) => {
|
|
62
|
+
return openBlock(), createElementBlock("div", { class: normalizeClass(`${unref(prefixCls)}-container`) }, [createVNode(unref(Input), mergeProps(_ctx.$attrs, {
|
|
63
|
+
"model-value": mergedValue.value,
|
|
64
|
+
class: unref(prefixCls),
|
|
65
|
+
"input-attrs": mergedInputAttrs.value,
|
|
66
|
+
onInput: handleInput,
|
|
67
|
+
onKeydown: handleKeydown
|
|
68
|
+
}), {
|
|
69
|
+
prefix: withCtx(() => [createVNode(unref(IconSearch))]),
|
|
70
|
+
_: 1
|
|
71
|
+
}, 16, [
|
|
72
|
+
"model-value",
|
|
73
|
+
"class",
|
|
74
|
+
"input-attrs"
|
|
75
|
+
])], 2);
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}));
|
|
79
|
+
//#endregion
|
|
80
|
+
export { model_selector_input_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_item_vue_vue_type_script_setup_true_lang_default from "./model-selector-item.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-item.vue
|
|
3
|
+
var model_selector_item_default = model_selector_item_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_item_default as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
value: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
keywords?: string[];
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
selected?: boolean;
|
|
7
|
+
shortcut?: string;
|
|
8
|
+
};
|
|
9
|
+
declare var __VLS_1: {
|
|
10
|
+
active: boolean;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
selected: boolean;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_Slots = {} & {
|
|
15
|
+
default?: (props: typeof __VLS_1) => any;
|
|
16
|
+
};
|
|
17
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
|
+
select: (_value: string, _event: Event) => any;
|
|
19
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
20
|
+
onSelect?: ((_value: string, _event: Event) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
label: string;
|
|
24
|
+
selected: boolean;
|
|
25
|
+
keywords: string[];
|
|
26
|
+
shortcut: string;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
28
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
29
|
+
declare const _default: typeof __VLS_export;
|
|
30
|
+
export default _default;
|
|
31
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
32
|
+
new (): {
|
|
33
|
+
$slots: S;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import { modelSelectorGroupInjectionKey } from "./context.js";
|
|
4
|
+
import { useModelSelectorContext } from "./use-model-selector-context.js";
|
|
5
|
+
import { computed, createElementBlock, defineComponent, getCurrentInstance, inject, normalizeClass, onBeforeUnmount, onMounted, openBlock, renderSlot, unref, useTemplateRef, vShow, watch, withDirectives } from "vue";
|
|
6
|
+
//#region components/model-selector/model-selector-item.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = [
|
|
8
|
+
"aria-disabled",
|
|
9
|
+
"aria-keyshortcuts",
|
|
10
|
+
"aria-selected"
|
|
11
|
+
];
|
|
12
|
+
var model_selector_item_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorItem" }), {}, {
|
|
13
|
+
__name: "model-selector-item",
|
|
14
|
+
props: {
|
|
15
|
+
value: {},
|
|
16
|
+
label: { default: "" },
|
|
17
|
+
keywords: { default: () => [] },
|
|
18
|
+
disabled: {
|
|
19
|
+
type: Boolean,
|
|
20
|
+
default: false
|
|
21
|
+
},
|
|
22
|
+
selected: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
shortcut: { default: "" }
|
|
27
|
+
},
|
|
28
|
+
emits: ["select"],
|
|
29
|
+
setup(__props, { emit: __emit }) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
const emit = __emit;
|
|
32
|
+
const context = useModelSelectorContext("ModelSelectorItem");
|
|
33
|
+
const groupContext = inject(modelSelectorGroupInjectionKey, void 0);
|
|
34
|
+
const prefixCls = getPrefixCls("model-selector-item");
|
|
35
|
+
const uid = getCurrentInstance().uid;
|
|
36
|
+
const id = Symbol(`model-selector-item-${uid}`);
|
|
37
|
+
const domId = `${context.listId}-item-${uid}`;
|
|
38
|
+
const itemRef = useTemplateRef("item");
|
|
39
|
+
const renderedLabel = computed(() => {
|
|
40
|
+
var _itemRef$value;
|
|
41
|
+
return props.label || ((_itemRef$value = itemRef.value) === null || _itemRef$value === void 0 || (_itemRef$value = _itemRef$value.textContent) === null || _itemRef$value === void 0 ? void 0 : _itemRef$value.trim()) || props.value;
|
|
42
|
+
});
|
|
43
|
+
const isActive = computed(() => context.activeId.value === id);
|
|
44
|
+
const isVisible = computed(() => {
|
|
45
|
+
context.itemsVersion.value;
|
|
46
|
+
return context.getVisibleItems(groupContext === null || groupContext === void 0 ? void 0 : groupContext.id).some((item) => item.id === id);
|
|
47
|
+
});
|
|
48
|
+
function getItemData() {
|
|
49
|
+
var _itemRef$value2;
|
|
50
|
+
return {
|
|
51
|
+
disabled: props.disabled,
|
|
52
|
+
domId,
|
|
53
|
+
element: (_itemRef$value2 = itemRef.value) !== null && _itemRef$value2 !== void 0 ? _itemRef$value2 : void 0,
|
|
54
|
+
groupId: groupContext === null || groupContext === void 0 ? void 0 : groupContext.id,
|
|
55
|
+
id,
|
|
56
|
+
keywords: props.keywords,
|
|
57
|
+
label: renderedLabel.value,
|
|
58
|
+
select: handleSelect,
|
|
59
|
+
shortcut: props.shortcut.trim() || void 0,
|
|
60
|
+
value: props.value
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function handleSelect(event) {
|
|
64
|
+
if (props.disabled) return;
|
|
65
|
+
emit("select", props.value, event);
|
|
66
|
+
context.selectItem(getItemData(), event);
|
|
67
|
+
}
|
|
68
|
+
onMounted(() => context.registerItem(getItemData()));
|
|
69
|
+
onBeforeUnmount(() => context.unregisterItem(id));
|
|
70
|
+
watch(() => [
|
|
71
|
+
props.value,
|
|
72
|
+
props.label,
|
|
73
|
+
props.keywords,
|
|
74
|
+
props.disabled,
|
|
75
|
+
props.shortcut
|
|
76
|
+
], () => context.updateItem(getItemData()), { deep: true });
|
|
77
|
+
return (_ctx, _cache) => {
|
|
78
|
+
return withDirectives((openBlock(), createElementBlock("div", {
|
|
79
|
+
id: domId,
|
|
80
|
+
ref: "item",
|
|
81
|
+
class: normalizeClass([unref(prefixCls), {
|
|
82
|
+
[`${unref(prefixCls)}--active`]: isActive.value,
|
|
83
|
+
[`${unref(prefixCls)}--disabled`]: __props.disabled,
|
|
84
|
+
[`${unref(prefixCls)}--selected`]: __props.selected
|
|
85
|
+
}]),
|
|
86
|
+
role: "option",
|
|
87
|
+
"aria-disabled": __props.disabled,
|
|
88
|
+
"aria-keyshortcuts": __props.shortcut || void 0,
|
|
89
|
+
"aria-selected": __props.selected,
|
|
90
|
+
onClick: handleSelect,
|
|
91
|
+
onMouseenter: _cache[0] || (_cache[0] = ($event) => unref(context).setActive(unref(id)))
|
|
92
|
+
}, [renderSlot(_ctx.$slots, "default", {
|
|
93
|
+
active: isActive.value,
|
|
94
|
+
disabled: __props.disabled,
|
|
95
|
+
selected: __props.selected
|
|
96
|
+
})], 42, _hoisted_1)), [[vShow, isVisible.value]]);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
//#endregion
|
|
101
|
+
export { model_selector_item_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_list_vue_vue_type_script_setup_true_lang_default from "./model-selector-list.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-list.vue
|
|
3
|
+
var model_selector_list_default = model_selector_list_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_list_default as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare var __VLS_8: {};
|
|
2
|
+
type __VLS_Slots = {} & {
|
|
3
|
+
default?: (props: typeof __VLS_8) => any;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
9
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
10
|
+
new (): {
|
|
11
|
+
$slots: S;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import Scrollbar from "../scrollbar/index.js";
|
|
4
|
+
import { useModelSelectorContext } from "./use-model-selector-context.js";
|
|
5
|
+
import { createBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
6
|
+
//#region components/model-selector/model-selector-list.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var model_selector_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorList" }), {}, {
|
|
8
|
+
__name: "model-selector-list",
|
|
9
|
+
setup(__props) {
|
|
10
|
+
const prefixCls = getPrefixCls("model-selector-list");
|
|
11
|
+
const context = useModelSelectorContext("ModelSelectorList");
|
|
12
|
+
const outerStyle = {
|
|
13
|
+
height: `calc(100dvh - var(--${prefixCls}-viewport-offset))`,
|
|
14
|
+
maxHeight: `var(--${prefixCls}-max-height)`
|
|
15
|
+
};
|
|
16
|
+
return (_ctx, _cache) => {
|
|
17
|
+
return openBlock(), createBlock(unref(Scrollbar), {
|
|
18
|
+
id: unref(context).listId,
|
|
19
|
+
class: normalizeClass(`${unref(prefixCls)}-content`),
|
|
20
|
+
"outer-class": unref(prefixCls),
|
|
21
|
+
"outer-style": outerStyle,
|
|
22
|
+
role: "listbox",
|
|
23
|
+
"disable-horizontal": ""
|
|
24
|
+
}, {
|
|
25
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
26
|
+
_: 3
|
|
27
|
+
}, 8, [
|
|
28
|
+
"id",
|
|
29
|
+
"class",
|
|
30
|
+
"outer-class"
|
|
31
|
+
]);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
//#endregion
|
|
36
|
+
export { model_selector_list_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_logo_group_vue_vue_type_script_setup_true_lang_default from "./model-selector-logo-group.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-logo-group.vue
|
|
3
|
+
var model_selector_logo_group_default = model_selector_logo_group_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_logo_group_default as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare var __VLS_1: {};
|
|
2
|
+
type __VLS_Slots = {} & {
|
|
3
|
+
default?: (props: typeof __VLS_1) => any;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
9
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
10
|
+
new (): {
|
|
11
|
+
$slots: S;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/objectSpread2.js";
|
|
2
|
+
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
|
|
4
|
+
//#region components/model-selector/model-selector-logo-group.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var model_selector_logo_group_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "ModelSelectorLogoGroup" }), {}, {
|
|
6
|
+
__name: "model-selector-logo-group",
|
|
7
|
+
setup(__props) {
|
|
8
|
+
const prefixCls = getPrefixCls("model-selector-logo-group");
|
|
9
|
+
return (_ctx, _cache) => {
|
|
10
|
+
return openBlock(), createElementBlock("span", { class: normalizeClass(unref(prefixCls)) }, [renderSlot(_ctx.$slots, "default")], 2);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}));
|
|
14
|
+
//#endregion
|
|
15
|
+
export { model_selector_logo_group_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import model_selector_logo_vue_vue_type_script_setup_true_lang_default from "./model-selector-logo.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/model-selector/model-selector-logo.vue
|
|
3
|
+
var model_selector_logo_default = model_selector_logo_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { model_selector_logo_default as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ModelSelectorProvider } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
provider: ModelSelectorProvider;
|
|
4
|
+
alt?: string;
|
|
5
|
+
width?: number | string;
|
|
6
|
+
height?: number | string;
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
declare const _default: typeof __VLS_export;
|
|
10
|
+
export default _default;
|