提交 24f80a37 authored 作者: 龙菲's avatar 龙菲

feat: 打包发布npm准备

上级 248cb0df
import { AdvancedSearchProps, AdvancedSearchField } from './types';
import { SearchParams } from '../../types';
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
config: any;
params: SearchParams;
declare function __VLS_template(): {
result?(_: {
item: import('../..').SearchResultItem;
key: string | number;
}): any;
};
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AdvancedSearchProps>, {
fields: () => never[];
loading: boolean;
error: null;
formLayout: () => {
labelCol: number;
wrapperCol: number;
labelAlign: "right";
};
results: () => never[];
pagination: undefined;
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
search: (params: SearchParams) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
config: any;
params: SearchParams;
"load-more": () => void;
select: (item: import("../..").SearchResultItem) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AdvancedSearchProps>, {
fields: () => never[];
loading: boolean;
error: null;
formLayout: () => {
labelCol: number;
wrapperCol: number;
labelAlign: "right";
};
results: () => never[];
pagination: undefined;
}>>> & {
onSelect?: ((item: import("../..").SearchResultItem) => any) | undefined;
onSearch?: ((params: SearchParams) => any) | undefined;
}, {}, {}>;
"onLoad-more"?: (() => any) | undefined;
}, {
fields: AdvancedSearchField[];
loading: boolean;
error: string | null;
results: import("../..").SearchResultItem[];
pagination: import("../..").PaginationInfo;
formLayout: {
labelCol?: number;
wrapperCol?: number;
labelAlign?: "left" | "right";
};
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -21,4 +60,17 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=index.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AdvancedSearch/index.vue"],"names":[],"mappings":"AAuBA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;;YAuQrC,GAAG;YACH,YAAY;;;;YADZ,GAAG;YACH,YAAY;;;;AAPtB,wBAUG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/AdvancedSearch/index.vue"],"names":[],"mappings":"AAqNA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EAEnB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AA6JjB,iBAAS,cAAc;;;;QAwmBO,GAAG;EAGhC;AAoBD,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAnvBjB,CADgB;kBAIlB,CADmB;kBAIS,CAAC;;MAovB7B,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
\ No newline at end of file
/**
* 高级搜索组件类型定义
*/
/**
* 高级搜索表单字段类型
*/
export type AdvancedFieldType = 'text' | 'select' | 'multi-select' | 'date' | 'date-range' | 'number' | 'switch' | 'checkbox' | 'radio';
/**
* 高级搜索表单字段配置
*/
export interface AdvancedSearchField {
/** 字段唯一标识(对应后端字段名) */
key: string;
/** 字段标签(显示名称) */
label: string;
/** 字段类型 */
type: AdvancedFieldType;
/** 占位符(可选,date-range 类型支持数组格式) */
placeholder?: string | [string, string];
/** 选项列表(用于 select、multi-select、radio 类型) */
options?: Array<{
label: string;
value: any;
}>;
/** 默认值 */
defaultValue?: any;
/** 是否必填 */
required?: boolean;
/** 验证规则(可选,用于未来扩展) */
rules?: any[];
/** 是否禁用 */
disabled?: boolean;
/** 额外的组件属性(传递给具体的表单控件) */
props?: Record<string, any>;
}
/**
* 高级搜索组件 Props
*/
export interface AdvancedSearchProps {
/** 表单字段配置列表 */
fields: AdvancedSearchField[];
/** 加载状态 */
loading?: boolean;
/** 错误信息 */
error?: string | null;
/** 搜索结果(与普通搜索一致) */
results?: import('../SimpleSearch/types').SearchResultItem[];
/** 分页信息 */
pagination?: import('../SimpleSearch/types').PaginationInfo;
/** 表单布局配置 */
formLayout?: {
/** 标签宽度(栅格列数,默认 3) */
labelCol?: number;
/** 输入框宽度(栅格列数,默认 18) */
wrapperCol?: number;
/** 标签对齐方式(默认 'right') */
labelAlign?: 'left' | 'right';
};
}
/**
* 高级搜索组件 Emits
*/
export interface AdvancedSearchEmits {
/** 搜索事件,参数为 SearchParams */
(e: 'search', params: import('../../types').SearchParams): void;
/** 加载更多 */
(e: 'load-more'): void;
/** 选择结果 */
(e: 'select', item: import('../SimpleSearch/types').SearchResultItem): void;
}
//# sourceMappingURL=types.d.ts.map
\ No newline at end of file
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/AdvancedSearch/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACvB,MAAM,GACN,QAAQ,GACR,cAAc,GACd,MAAM,GACN,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,IAAI,EAAE,iBAAiB,CAAC;IACxB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC/C,UAAU;IACV,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,eAAe;IACf,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,WAAW;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,uBAAuB,EAAE,gBAAgB,EAAE,CAAC;IAC7D,WAAW;IACX,UAAU,CAAC,EAAE,OAAO,uBAAuB,EAAE,cAAc,CAAC;IAC5D,aAAa;IACb,UAAU,CAAC,EAAE;QACT,sBAAsB;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,wBAAwB;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,yBAAyB;QACzB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACjC,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,4BAA4B;IAC5B,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IAChE,WAAW;IACX,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACvB,WAAW;IACX,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,uBAAuB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC/E"}
\ No newline at end of file
{"version":3,"file":"KbSearchHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KbSearch/KbSearchHeader.vue"],"names":[],"mappings":"AAuCA;AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI3D,UAAU,KAAK;IACb,MAAM,EAAE,GAAG,CAAA;IACX,IAAI,EAAE,UAAU,CAAA;CACjB;AA6CD,iBAAS,cAAc;+BA+IiB,GAAG;EAG1C;AAgBD,QAAA,MAAM,eAAe;;;;;;;;UAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
\ No newline at end of file
import { SearchConfig, SearchResult, SearchParams } from '../../types';
import { AdvancedSearchField } from '../AdvancedSearch/types';
import { ChatSession, ChatMessage, SmartAskField } from '../SmartSearch/types';
import { SearchResultItem, RecommendChunk, PaginationInfo } from '../SimpleSearch/types';
import { SearchMode, SearchParams } from '../../types';
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
config: SearchConfig;
interface Props {
/** 当前模式 */
mode?: SearchMode;
/** 可用模式列表 */
modes?: SearchMode[];
/** simple 模式配置对象 */
simple?: {
keyword?: string;
loading?: boolean;
error?: string | null;
results?: SearchResultItem[];
pagination?: PaginationInfo;
recommend?: RecommendChunk[];
conditions?: any[];
debounce?: number;
placeholder?: string;
};
/** advanced 模式配置对象 */
advanced?: {
fields?: AdvancedSearchField[];
loading?: boolean;
error?: string | null;
results?: SearchResultItem[];
pagination?: PaginationInfo;
formLayout?: {
labelCol?: number;
wrapperCol?: number;
labelAlign?: "left" | "right";
};
};
/** smart 模式配置对象 */
smart?: {
sessions?: ChatSession[];
currentSessionId?: string | number;
messages?: ChatMessage[];
loading?: boolean;
error?: string | null;
showSidebar?: boolean;
askFields?: SmartAskField[];
askValues?: Record<string, any>;
};
}
declare function __VLS_template(): {
"simple-conditions"?(_: {
conditions: any[];
}): any;
"simple-recommend"?(_: {
recommend: any[];
}): any;
"simple-recommend-item"?(_: {
chunk: RecommendChunk;
items: SearchResultItem[];
}): any;
"simple-result"?(_: {
item: any;
}): any;
"advanced-result"?(_: {
item: SearchResultItem;
}): any;
};
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
mode: string;
modes: () => string[];
simple: () => {
keyword: string;
loading: boolean;
error: null;
results: never[];
pagination: undefined;
recommend: never[];
conditions: never[];
debounce: number;
placeholder: string;
};
advanced: () => {
fields: never[];
loading: boolean;
error: null;
results: never[];
pagination: undefined;
formLayout: {
labelCol: number;
wrapperCol: number;
labelAlign: "right";
};
};
smart: () => {
sessions: never[];
currentSessionId: undefined;
messages: never[];
loading: boolean;
error: null;
showSidebar: boolean;
};
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
search: (params: SearchParams) => void;
"result-click": (item: SearchResult) => void;
"smart-response": (content: string) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
config: SearchConfig;
"update:mode": (mode: SearchMode) => void;
"update:simpleKeyword": (keyword: string) => void;
"simple-search": (params: SearchParams) => void;
"advanced-search": (params: SearchParams) => void;
"simple-load-more": () => void;
"advanced-load-more": () => void;
"simple-select": (item: SearchResultItem) => void;
"advanced-select": (item: SearchResultItem) => void;
"smart-send": (message: string) => void;
"smart-new-session": () => void;
"smart-switch-session": (sessionId: string | number) => void;
"smart-clear-session": (sessionId: string | number) => void;
"smart-stop": () => void;
"update:smartAskValues": (values: Record<string, any>) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
mode: string;
modes: () => string[];
simple: () => {
keyword: string;
loading: boolean;
error: null;
results: never[];
pagination: undefined;
recommend: never[];
conditions: never[];
debounce: number;
placeholder: string;
};
advanced: () => {
fields: never[];
loading: boolean;
error: null;
results: never[];
pagination: undefined;
formLayout: {
labelCol: number;
wrapperCol: number;
labelAlign: "right";
};
};
smart: () => {
sessions: never[];
currentSessionId: undefined;
messages: never[];
loading: boolean;
error: null;
showSidebar: boolean;
};
}>>> & {
onSearch?: ((params: SearchParams) => any) | undefined;
"onResult-click"?: ((item: SearchResult) => any) | undefined;
"onSmart-response"?: ((content: string) => any) | undefined;
}, {}, {}>;
"onUpdate:mode"?: ((mode: SearchMode) => any) | undefined;
"onUpdate:simpleKeyword"?: ((keyword: string) => any) | undefined;
"onSimple-search"?: ((params: SearchParams) => any) | undefined;
"onAdvanced-search"?: ((params: SearchParams) => any) | undefined;
"onSimple-load-more"?: (() => any) | undefined;
"onAdvanced-load-more"?: (() => any) | undefined;
"onSimple-select"?: ((item: SearchResultItem) => any) | undefined;
"onAdvanced-select"?: ((item: SearchResultItem) => any) | undefined;
"onSmart-send"?: ((message: string) => any) | undefined;
"onSmart-new-session"?: (() => any) | undefined;
"onSmart-switch-session"?: ((sessionId: string | number) => any) | undefined;
"onSmart-clear-session"?: ((sessionId: string | number) => any) | undefined;
"onSmart-stop"?: (() => any) | undefined;
"onUpdate:smartAskValues"?: ((values: Record<string, any>) => any) | undefined;
}, {
simple: {
keyword?: string;
loading?: boolean;
error?: string | null;
results?: SearchResultItem[];
pagination?: PaginationInfo;
recommend?: RecommendChunk[];
conditions?: any[];
debounce?: number;
placeholder?: string;
};
advanced: {
fields?: AdvancedSearchField[];
loading?: boolean;
error?: string | null;
results?: SearchResultItem[];
pagination?: PaginationInfo;
formLayout?: {
labelCol?: number;
wrapperCol?: number;
labelAlign?: "left" | "right";
};
};
smart: {
sessions?: ChatSession[];
currentSessionId?: string | number;
messages?: ChatMessage[];
loading?: boolean;
error?: string | null;
showSidebar?: boolean;
askFields?: SmartAskField[];
askValues?: Record<string, any>;
};
mode: SearchMode;
modes: SearchMode[];
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -23,4 +209,17 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=index.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KbSearch/index.vue"],"names":[],"mappings":"AA6BA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;;YA0Y7E,YAAY;;;;;;YAAZ,YAAY;;;;;;AANtB,wBASG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KbSearch/index.vue"],"names":[],"mappings":"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"}
\ No newline at end of file
{"version":3,"file":"DefaultResultItem.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SearchResults/DefaultResultItem.vue"],"names":[],"mappings":"AAiCA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,aAAa,CAAA;AAK5D,UAAU,KAAK;IACb,IAAI,EAAE,GAAG,CAAA;IACT,MAAM,EAAE,YAAY,CAAA;CACrB;;AA8ND,wBAMG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SearchResults/index.vue"],"names":[],"mappings":"AAiDA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AA2C7D,iBAAS,cAAc;;;QAuRa,GAAG;EAGtC;AAoBD,QAAA,MAAM,eAAe;YAMX,YAAY;aACX,YAAY,EAAE;WAChB,MAAM;aACJ,OAAO;;;;;YAHR,YAAY;aACX,YAAY,EAAE;WAChB,MAAM;aACJ,OAAO;;;;UAGhB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
\ No newline at end of file
import { SearchMode, SearchParams } from '../../types';
import { RecommendChunk, SearchResultItem } from './types';
interface Props {
config: any;
mode: SearchMode;
recommend?: RecommendChunk[];
}
declare function __VLS_template(): {
"advanced-header"?(_: {}): any;
"recommend-item"?(_: {
chunk: RecommendChunk;
items: SearchResultItem[];
}): any;
};
declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
search: (params: SearchParams) => void;
"mode-change": (mode: SearchMode) => void;
"smart-search": (message: string) => void;
select: (item: SearchResultItem) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & {
onSearch?: ((params: SearchParams) => any) | undefined;
"onMode-change"?: ((mode: SearchMode) => any) | undefined;
"onSmart-search"?: ((message: string) => any) | undefined;
onSelect?: ((item: SearchResultItem) => any) | undefined;
}, {}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
......@@ -32,4 +30,4 @@ type __VLS_WithTemplateSlots<T, S> = T & {
$slots: S;
};
};
//# sourceMappingURL=KbSearchHeader.vue.d.ts.map
\ No newline at end of file
//# sourceMappingURL=RecommendGrid.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"RecommendGrid.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/RecommendGrid.vue"],"names":[],"mappings":"AAoCA;AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIhE,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B;AA+BD,iBAAS,cAAc;;;;QAmLgB,GAAG;EAGzC;AAWD,QAAA,MAAM,eAAe;;;;UAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
\ No newline at end of file
import { SearchConfig } from '../../types';
import { SearchResultItem } from './types';
interface Props {
item: any;
config: SearchConfig;
item: SearchResultItem;
}
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
click: (item: SearchResultItem) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & {
onClick?: ((item: SearchResultItem) => any) | undefined;
}, {}, {}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -15,4 +18,4 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
//# sourceMappingURL=DefaultResultItem.vue.d.ts.map
\ No newline at end of file
//# sourceMappingURL=ResultCard.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"ResultCard.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/ResultCard.vue"],"names":[],"mappings":"AA2BA;AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAKhD,UAAU,KAAK;IACb,IAAI,EAAE,gBAAgB,CAAC;CACxB;;;;;;AAySD,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
import { SearchResult, SearchConfig } from '../../types';
declare function __VLS_template(): {
"result-item"?(_: {
item: SearchResult;
}): any;
};
declare const __VLS_component: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
config: SearchConfig;
results: SearchResult[];
total: number;
interface Props {
modelValue: string;
loading?: boolean;
error?: string | null;
placeholder?: string;
debounce?: number;
}
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
loading: boolean;
error: null;
placeholder: string;
debounce: number;
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
"result-click": (item: SearchResult) => void;
"pagination-change": (page: number) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
config: SearchConfig;
results: SearchResult[];
total: number;
search: (keyword: string) => void;
"update:modelValue": (value: string) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
loading: boolean;
error: null;
placeholder: string;
debounce: number;
}>>> & {
"onResult-click"?: ((item: SearchResult) => any) | undefined;
"onPagination-change"?: ((page: number) => any) | undefined;
}, {}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
onSearch?: ((keyword: string) => any) | undefined;
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
}, {
loading: boolean;
error: string | null;
placeholder: string;
debounce: number;
}, {}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -33,9 +37,12 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
//# sourceMappingURL=index.vue.d.ts.map
\ No newline at end of file
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
//# sourceMappingURL=SearchInput.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"SearchInput.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/SearchInput.vue"],"names":[],"mappings":"AAqBA;AAMA,UAAU,KAAK;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;;;;;;;;;;;;;;;;;aAJW,OAAO;WACT,MAAM,GAAG,IAAI;iBACP,MAAM;cACT,MAAM;;AAiJnB,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
\ No newline at end of file
import { ref } from 'vue';
export interface UseSearchOptions<T = any> {
/**
* 搜索请求函数
* @param keyword 搜索关键词
* @returns Promise<{ data: T[], total?: number }>
*/
searchFn: (keyword: string, extra?: Record<string, any>) => Promise<{
data: T[];
total?: number;
}>;
/**
* 初始关键词
*/
initialKeyword?: string;
/**
* 每页数量
*/
pageSize?: number;
}
/**
* 搜索 Hook 返回值
*/
export interface UseSearchReturn<T = any> {
/** 搜索关键词 */
keyword: ReturnType<typeof ref<string>>;
/** 搜索结果列表 */
results: ReturnType<typeof ref<T[]>>;
/** 加载状态 */
loading: ReturnType<typeof ref<boolean>>;
/** 错误信息 */
error: ReturnType<typeof ref<string | null>>;
/** 分页信息 */
pagination: ReturnType<typeof ref<{
current: number;
pageSize: number;
total: number;
hasMore: boolean;
}>>;
/** 执行搜索 */
onSearch: (keyword: string, extra?: Record<string, any>) => Promise<void>;
/** 加载更多 */
loadMore: () => Promise<void>;
/** 重置搜索 */
reset: () => void;
}
/**
* 搜索 Hook
*
* @example
* ```ts
* const { keyword, results, loading, onSearch } = useSearch({
* searchFn: async (k) => {
* const res = await axios.get('/api/search', { params: { q: k } })
* return { data: res.data.items, total: res.data.total }
* }
* })
* ```
*/
export declare function useSearch<T = any>(options: UseSearchOptions<T>): UseSearchReturn<T>;
//# sourceMappingURL=useSearch.d.ts.map
\ No newline at end of file
{"version":3,"file":"useSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/SimpleSearch/hooks/useSearch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAY,MAAM,KAAK,CAAA;AAEnC,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACrC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAElG;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG;IACpC,YAAY;IACZ,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAEvC,aAAa;IACb,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAEpC,WAAW;IACX,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;IAExC,WAAW;IACX,KAAK,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAA;IAE5C,WAAW;IACX,UAAU,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC,CAAC,CAAA;IAEH,WAAW;IACX,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzE,WAAW;IACX,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAE7B,WAAW;IACX,KAAK,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CA0GnF"}
\ No newline at end of file
import { SearchParams } from '../../types';
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
config: any;
params: SearchParams;
declare function __VLS_template(): {
conditions?(_: {
conditions: any[];
}): any;
recommend?(_: {
recommend: any[];
}): any;
"recommend-item"?(_: {
chunk: import('./types').RecommendChunk;
items: import('./types').SearchResultItem[];
}): any;
result?(_: {
item: any;
key: any;
}): any;
};
declare const __VLS_component: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
keyword?: string;
loading?: boolean;
error?: string | null;
results?: any[];
pagination?: any;
recommend?: any[];
conditions?: any[];
debounce?: number;
placeholder?: string;
}>, {
keyword: string;
loading: boolean;
error: null;
results: () => never[];
pagination: undefined;
recommend: () => never[];
conditions: () => never[];
debounce: number;
placeholder: string;
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
search: (params: SearchParams) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
config: any;
params: SearchParams;
"update:keyword": (value: string) => void;
search: (payload: {
keyword: string;
extra: any;
}) => void;
loadMore: () => void;
select: (item: any) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
keyword?: string;
loading?: boolean;
error?: string | null;
results?: any[];
pagination?: any;
recommend?: any[];
conditions?: any[];
debounce?: number;
placeholder?: string;
}>, {
keyword: string;
loading: boolean;
error: null;
results: () => never[];
pagination: undefined;
recommend: () => never[];
conditions: () => never[];
debounce: number;
placeholder: string;
}>>> & {
onSearch?: ((params: SearchParams) => any) | undefined;
}, {}, {}>;
onSelect?: ((item: any) => any) | undefined;
onSearch?: ((payload: {
keyword: string;
extra: any;
}) => any) | undefined;
onLoadMore?: (() => any) | undefined;
"onUpdate:keyword"?: ((value: string) => any) | undefined;
}, {
loading: boolean;
error: string | null;
results: any[];
pagination: any;
placeholder: string;
keyword: string;
debounce: number;
recommend: any[];
conditions: any[];
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -21,4 +93,17 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=index.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/index.vue"],"names":[],"mappings":"AAYA;AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;;YAkGrC,GAAG;YACH,YAAY;;;;YADZ,GAAG;YACH,YAAY;;;;AAPtB,wBAUG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/index.vue"],"names":[],"mappings":"AAoGA;AAOA,OAAO,aAAa,CAAC;AAsGrB,iBAAS,cAAc;;;QA+aU,GAAG;;;QACJ,GAAG;;;;QACI,GAAG;;;;QACZ,GAAG;EAGhC;AAkCD,QAAA,MAAM,eAAe;cAMP,MAAM;cACN,OAAO;YACT,MAAM,GAAG,IAAI;cACX,GAAG,EAAE;iBACF,GAAG;gBACJ,GAAG,EAAE;iBACJ,GAAG,EAAE;eACP,MAAM;kBACH,MAAM;;;;;;;;;;;;;;iBA1iBY,MAAM;eAAS,GAAG;;;;;cAkiBxC,MAAM;cACN,OAAO;YACT,MAAM,GAAG,IAAI;cACX,GAAG,EAAE;iBACF,GAAG;gBACJ,GAAG,EAAE;iBACJ,GAAG,EAAE;eACP,MAAM;kBACH,MAAM;;;;;;;;;;;;;;iBA1iBY,MAAM;eAAS,GAAG;;;;;aAmiBxC,OAAO;WACT,MAAM,GAAG,IAAI;aACX,GAAG,EAAE;gBACF,GAAG;iBAIF,MAAM;aARV,MAAM;cAOL,MAAM;eAFL,GAAG,EAAE;gBACJ,GAAG,EAAE;MAKpB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAAvG,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
\ No newline at end of file
/**
* 普通搜索组件类型定义
*/
export interface SearchResultItem {
id: string | number;
title: string;
desc?: string | null;
tags?: string[] | null;
highlightKws?: string[] | null;
author?: string | null;
publishTime?: string | Date | null;
subtitle?: string | null;
[key: string]: any;
}
export interface PaginationInfo {
current?: number;
pageSize?: number;
total?: number;
hasMore?: boolean;
}
export interface RecommendChunk {
chunkId: string | number;
title: string;
col: number;
items: SearchResultItem[];
}
export interface SearchCondition {
key: string;
label: string;
type: 'select' | 'input' | 'date' | 'checkbox' | 'radio';
options?: Array<{
label: string;
value: any;
}>;
}
export interface SearchEventParams {
keyword: string;
extra?: Record<string, any>;
}
export interface SimpleSearchProps {
keyword?: string;
loading: boolean;
error?: string | null;
results: SearchResultItem[];
pagination?: PaginationInfo;
recommend?: RecommendChunk[];
conditions?: SearchCondition[];
debounce?: number;
placeholder?: string;
}
export interface SimpleSearchEmits {
(e: 'update:keyword', value: string): void;
(e: 'search', params: SearchEventParams): void;
(e: 'loadMore'): void;
(e: 'select', item: SearchResultItem): void;
}
//# sourceMappingURL=types.d.ts.map
\ No newline at end of file
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleSearch/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAGD,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAGD,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAClD;AAGD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAGD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,iBAAiB;IAC9B,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/C,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC/C"}
\ No newline at end of file
declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<{
config: any;
import { SmartSearchProps, SmartAskField } from './types';
declare const _default: import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SmartSearchProps>, {
sessions: () => never[];
currentSessionId: undefined;
messages: () => never[];
loading: boolean;
error: null;
showSidebar: boolean;
askFields: () => never[];
askValues: undefined;
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
search: (message: string) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
config: any;
send: (message: string) => void;
"send-with": (payload: {
message: string;
params: Record<string, any>;
}) => void;
"new-session": () => void;
"switch-session": (sessionId: string | number) => void;
"clear-session": (sessionId: string | number) => void;
stop: () => void;
"update-session-title": (sessionId: string | number, title: string) => void;
"update:askValues": (values: Record<string, any>) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SmartSearchProps>, {
sessions: () => never[];
currentSessionId: undefined;
messages: () => never[];
loading: boolean;
error: null;
showSidebar: boolean;
askFields: () => never[];
askValues: undefined;
}>>> & {
onSearch?: ((message: string) => any) | undefined;
}, {}, {}>;
onStop?: (() => any) | undefined;
onSend?: ((message: string) => any) | undefined;
"onSend-with"?: ((payload: {
message: string;
params: Record<string, any>;
}) => any) | undefined;
"onNew-session"?: (() => any) | undefined;
"onSwitch-session"?: ((sessionId: string | number) => any) | undefined;
"onClear-session"?: ((sessionId: string | number) => any) | undefined;
"onUpdate-session-title"?: ((sessionId: string | number, title: string) => any) | undefined;
"onUpdate:askValues"?: ((values: Record<string, any>) => any) | undefined;
}, {
loading: boolean;
error: string | null;
sessions: import("./types").ChatSession[];
currentSessionId: string | number;
messages: import("./types").ChatMessage[];
showSidebar: boolean;
askFields: SmartAskField[];
askValues: Record<string, any>;
}, {}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
......@@ -17,4 +62,12 @@ type __VLS_TypePropsToRuntimeProps<T> = {
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
//# sourceMappingURL=index.vue.d.ts.map
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SmartSearch/index.vue"],"names":[],"mappings":"AAsBA;;YAuMU,GAAG;;;;YAAH,GAAG;;;;AANb,wBASG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
\ No newline at end of file
{"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SmartSearch/index.vue"],"names":[],"mappings":"AAoOA;AASA,OAAO,KAAK,EACV,gBAAgB,EAEhB,aAAa,EACd,MAAM,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAumCjB,wBAOG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
\ No newline at end of file
/**
* 智能搜索组件类型定义
*/
export interface ChatMessage {
id: string | number;
role: 'user' | 'assistant';
content: string;
}
export interface ChatSession {
id: string | number;
title: string;
createdAt: number | Date;
}
export interface SmartSearchProps {
/** 会话列表 */
sessions?: ChatSession[];
/** 当前会话ID */
currentSessionId?: string | number;
/** 当前会话的消息列表 */
messages?: ChatMessage[];
/** 加载状态 */
loading?: boolean;
/** 错误信息 */
error?: string | null;
/** 是否显示侧边栏 */
showSidebar?: boolean;
/** 右侧提问参数字段配置(可选) */
askFields?: SmartAskField[];
/** 右侧提问参数当前值(受控,可选) */
askValues?: Record<string, any>;
}
export interface SmartSearchEmits {
/** 发送消息 */
(e: 'send', message: string): void;
/** 携带参数发送消息,不影响原 send 兼容性 */
(e: 'send-with', payload: {
message: string;
params: Record<string, any>;
}): void;
/** 新建会话 */
(e: 'new-session'): void;
/** 切换会话 */
(e: 'switch-session', sessionId: string | number): void;
/** 清空会话 */
(e: 'clear-session', sessionId: string | number): void;
/** 停止生成 */
(e: 'stop'): void;
/** 更新会话标题 */
(e: 'update-session-title', sessionId: string | number, title: string): void;
/** 更新右侧参数(受控) */
(e: 'update:askValues', values: Record<string, any>): void;
}
/** 智能搜索右侧提问参数字段类型 */
export type SmartAskFieldType = 'text' | 'textarea' | 'number' | 'select' | 'multi-select' | 'radio' | 'checkbox' | 'switch' | 'slider' | 'date' | 'date-range' | 'file';
export interface SmartUploadConfig {
/** 上传地址 */
action: string;
/** HTTP 方法 */
method?: 'POST' | 'PUT';
/** 额外请求头 */
headers?: Record<string, string>;
/** 文件字段名,默认 'file' */
fieldName?: string;
/** 附加的表单字段 */
data?: Record<string, any>;
/** 是否多文件 */
multiple?: boolean;
/** 接受的文件类型 */
accept?: string;
/** 最大文件数 */
limit?: number;
}
export interface SmartAskField {
key: string;
label: string;
type: SmartAskFieldType;
placeholder?: string | [string, string];
options?: Array<{
label: string;
value: any;
}>;
defaultValue?: any;
required?: boolean;
disabled?: boolean;
props?: Record<string, any>;
/** 文件上传配置(type === 'file' 生效) */
upload?: SmartUploadConfig;
}
//# sourceMappingURL=types.d.ts.map
\ No newline at end of file
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SmartSearch/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
import { App } from 'vue';
export { default as KbSearch } from './components/KbSearch/index.vue';
export { default as SimpleSearch } from './components/SimpleSearch/index.vue';
export { default as AdvancedSearch } from './components/AdvancedSearch/index.vue';
export { default as SmartSearch } from './components/SmartSearch/index.vue';
export * from './types';
export * from './components/SimpleSearch/types';
export * from './components/AdvancedSearch/types';
export * from './components/SmartSearch/types';
export { useSearch } from './components/SimpleSearch/hooks/useSearch';
export { defaultConfig, minimalConfigExample } from './config';
export { GlobalSearch };
declare const _default: {
install(app: App): void;
};
......
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG/B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AACrE,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAAE,YAAY,EAAE,CAAC;;iBAGT,GAAG;;AADlB,wBAME"}
\ No newline at end of file
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI/B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAGrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAG3E,cAAc,SAAS,CAAA;AACvB,cAAc,iCAAiC,CAAA;AAC/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,gCAAgC,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAGrE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;;iBAK/C,GAAG;;AADlB,wBAKE"}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -17592,138 +17592,550 @@ p.arco-typography {
width: 36px;
}
.search-header[data-v-05b38ada] {
margin-bottom: 24px;
.search-input-wrapper[data-v-6becd016] {
width: 100%;
}
.search-input[data-v-6becd016] {
width: 100%;
}
.error-message[data-v-6becd016] {
margin-top: 8px;
color: var(--search-error-color, #f53f3f);
font-size: 12px;
}
.recommend-grid[data-v-246af2dd] {
display: grid;
grid-template-columns: repeat(24, 1fr);
gap: var(--search-gap, 16px);
margin-bottom: var(--search-gap, 16px);
}
.recommend-chunk[data-v-246af2dd] {
background: var(--search-card-bg, #ffffff);
border: 1px solid var(--search-card-border, #e5e6eb);
border-radius: var(--search-border-radius, 8px);
overflow: hidden;
}
.chunk-header[data-v-246af2dd] {
position: relative;
display: flex;
align-items: center;
padding: 12px 16px 12px 20px;
border-bottom: 1px solid var(--search-card-border, #e5e6eb);
}
.chunk-bar[data-v-246af2dd] {
position: absolute;
left: -1px;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 1em;
border-radius: 2px;
}
.chunk-title[data-v-246af2dd] {
font-weight: 600;
color: var(--search-text-primary, #1d2129);
}
.chunk-body[data-v-246af2dd] {
padding: 12px 16px;
}
.recommend-item[data-v-246af2dd] {
padding: 8px 0;
cursor: pointer;
transition: background-color 0.2s;
}
.recommend-item[data-v-246af2dd]:hover {
background-color: var(--search-highlight-bg, #f2f3f5);
border-radius: 4px;
padding: 8px 12px;
margin: 0 -12px;
}
.recommend-item + .recommend-item[data-v-246af2dd] {
border-top: 1px solid var(--search-card-border, #e5e6eb);
}
@media (max-width: 768px) {
.search-header[data-v-05b38ada] .arco-tabs-nav {
flex-wrap: wrap;
.item-title[data-v-246af2dd] {
font-weight: 500;
color: var(--search-text-primary, #1d2129);
margin-bottom: 4px;
line-height: 1.5;
}
.search-header[data-v-05b38ada] .arco-input {
--input-height: 44px;
.item-desc[data-v-246af2dd] {
font-size: 13px;
color: var(--search-text-secondary, #86909c);
margin-bottom: 4px;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}
.item-tags[data-v-246af2dd] {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 6px;
}
.tag[data-v-246af2dd] {
display: inline-block;
padding: 2px 8px;
font-size: 12px;
color: var(--search-text-secondary, #86909c);
background: var(--search-highlight-bg, #f2f3f5);
border-radius: 4px;
}
.simple-search[data-v-e1b84c5d] {
margin-bottom: 20px;
.result-card[data-v-15c92a37] {
padding: var(--search-card-padding, 16px);
background: var(--search-card-bg, #ffffff);
border: 1px solid var(--search-card-border, #e5e6eb);
border-radius: var(--search-border-radius, 8px);
cursor: pointer;
transition: all 0.2s;
margin-bottom: var(--search-gap, 16px);
}
.result-card[data-v-15c92a37]:hover {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
border-color: var(--search-primary-color, #165dff);
}
@media (max-width: 768px) {
.simple-search[data-v-e1b84c5d] .arco-input-search {
--input-height: 44px;
.card-header[data-v-15c92a37] {
margin-bottom: 12px;
}
.card-title[data-v-15c92a37] {
font-size: 16px;
font-weight: 600;
color: var(--search-text-primary, #1d2129);
margin: 0 0 4px 0;
line-height: 1.5;
}
.card-subtitle[data-v-15c92a37] {
font-size: 14px;
color: var(--search-text-secondary, #86909c);
margin-top: 4px;
}
.card-desc[data-v-15c92a37] {
font-size: 14px;
color: var(--search-text-secondary, #86909c);
line-height: 1.6;
margin-bottom: 12px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.card-meta[data-v-15c92a37] {
display: flex;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 12px;
font-size: 13px;
color: var(--search-text-secondary, #86909c);
}
.meta-item[data-v-15c92a37] {
display: flex;
align-items: center;
}
.meta-label[data-v-15c92a37] {
color: var(--search-text-tertiary, #c9cdd4);
margin-right: 4px;
}
.meta-value[data-v-15c92a37] {
color: var(--search-text-secondary, #86909c);
}
.card-tags[data-v-15c92a37] {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tag[data-v-15c92a37] {
display: inline-block;
padding: 4px 10px;
font-size: 12px;
color: var(--search-primary-color, #165dff);
background: var(--search-highlight-bg, #e8f3ff);
border-radius: 4px;
border: 1px solid transparent;
}
.tag[data-v-15c92a37]:hover {
border-color: var(--search-primary-color, #165dff);
}
/**
* 普通搜索组件主题变量
* 业务方可通过覆盖这些变量来自定义主题
*/
:root {
/* 主题色 */
--search-primary-color: #165DFF;
/* 圆角 */
--search-border-radius: 8px;
/* 间距 */
--search-gap: 16px;
/* 输入框 */
--search-input-height: 40px;
--search-input-border-color: #e5e6eb;
--search-input-focus-border-color: var(--search-primary-color);
/* 卡片 */
--search-card-bg: #ffffff;
--search-card-border: #e5e6eb;
--search-card-padding: 16px;
/* 文字颜色 */
--search-text-primary: #1d2129;
--search-text-secondary: #86909c;
--search-text-tertiary: #c9cdd4;
/* 高亮色 */
--search-highlight-bg: #e8f3ff;
--search-highlight-color: var(--search-primary-color);
/* 按钮 */
--search-btn-primary-bg: var(--search-primary-color);
--search-btn-primary-color: #ffffff;
--search-btn-hover-bg: #0e42d2;
/* 错误状态 */
--search-error-color: #f53f3f;
}
/* styles */
.ordinary-search[data-v-32936e7c] {
width: 100%;
}
.search-section[data-v-32936e7c] {
margin-bottom: var(--search-gap, 16px);
}
.search-row[data-v-32936e7c] {
display: flex;
align-items: flex-start;
gap: 12px;
}
.search-input-col[data-v-32936e7c] {
flex: 1;
}
.search-actions[data-v-32936e7c] {
display: flex;
align-items: center;
}
.conditions-section[data-v-32936e7c] {
margin-top: 12px;
}
.recommend-section[data-v-32936e7c] {
margin-bottom: var(--search-gap, 16px);
}
.results-section[data-v-32936e7c] {
width: 100%;
}
.loading-state[data-v-32936e7c],
.error-state[data-v-32936e7c],
.empty-state[data-v-32936e7c] {
display: flex;
justify-content: center;
align-items: center;
padding: 40px 0;
}
.results-list[data-v-32936e7c] {
width: 100%;
}
.load-more[data-v-32936e7c] {
display: flex;
justify-content: center;
padding: 24px 0;
}
.advanced-form-wrap[data-v-6f01e079] {
width: 100%;
}
.adv-form[data-v-6f01e079] {
width: 50%;
margin: 0 auto;
}
@media (max-width: 992px) {
.adv-form[data-v-6f01e079] {
width: 100%;
}
}
.results-section[data-v-6f01e079] {
width: 100%;
margin-top: 16px;
}
.loading-state[data-v-6f01e079],
.error-state[data-v-6f01e079],
.empty-state[data-v-6f01e079] {
display: flex;
justify-content: center;
align-items: center;
padding: 40px 0;
}
.results-list[data-v-6f01e079] {
width: 100%;
}
.default-result-card[data-v-6f01e079] {
background: #fff;
padding: 16px;
border-radius: 8px;
border: 1px solid #e5e6eb;
margin-bottom: 12px;
cursor: pointer;
}
.default-result-card .title[data-v-6f01e079] {
font-weight: 600;
color: #1d2129;
margin-bottom: 6px;
}
.default-result-card .desc[data-v-6f01e079] {
font-size: 14px;
color: #4e5969;
margin-bottom: 6px;
}
.default-result-card .meta[data-v-6f01e079] {
font-size: 12px;
color: #86909c;
}
.load-more[data-v-6f01e079] {
display: flex;
justify-content: center;
padding: 24px 0;
}
.smart-search[data-v-470125ca] {
.smart-search[data-v-a1aee8e3] {
height: 500px;
display: flex;
flex-direction: column;
}
.chat-messages[data-v-470125ca] {
.layout[data-v-a1aee8e3] {
display: flex;
height: 100%;
gap: 12px;
}
/* 侧边栏 */
.sidebar[data-v-a1aee8e3] {
width: 220px;
background: #fff;
border: 1px solid #f2f3f5;
border-radius: 8px;
padding: 12px;
display: flex;
flex-direction: column;
}
.sidebar-header[data-v-a1aee8e3] {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #f2f3f5;
font-weight: 600;
}
.session-list[data-v-a1aee8e3] {
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 8px;
}
.session-item[data-v-a1aee8e3] {
border: 1px solid #f2f3f5;
border-radius: 6px;
padding: 8px;
cursor: pointer;
background: #fff;
transition: box-shadow 0.2s, border-color 0.2s;
}
.session-item[data-v-a1aee8e3]:hover {
border-color: #e9ebf0;
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
}
.session-item.active[data-v-a1aee8e3] {
border-color: var(--color-primary-light);
box-shadow: 0 0 0 2px var(--color-primary-light);
}
.session-item .title[data-v-a1aee8e3] {
font-weight: 600;
color: #1d2129;
}
.session-item .time[data-v-a1aee8e3] {
color: #86909c;
font-size: 12px;
margin-top: 4px;
}
.chat[data-v-a1aee8e3] {
flex: 1;
display: flex;
flex-direction: column;
}
/* 右侧参数面板 */
.ask-panel[data-v-a1aee8e3] {
width: 280px;
background: #fff;
border: 1px solid #f2f3f5;
border-radius: 8px;
padding: 12px;
overflow: auto;
}
.ask-header[data-v-a1aee8e3] {
font-weight: 600;
margin-bottom: 8px;
}
.chat-messages[data-v-a1aee8e3] {
flex: 1;
overflow-y: auto;
padding: 16px;
background: var(--color-fill-2);
border-radius: 8px;
margin-bottom: 16px;
margin-bottom: 12px;
}
.message[data-v-470125ca] {
.message[data-v-a1aee8e3] {
display: flex;
margin-bottom: 16px;
align-items: flex-start;
gap: 8px;
margin-bottom: 12px;
}
.message.user[data-v-470125ca] {
.message.user[data-v-a1aee8e3] {
flex-direction: row-reverse;
}
.message .arco-avatar[data-v-470125ca] {
margin: 0 8px;
.avatar[data-v-a1aee8e3] {
width: 32px;
height: 32px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: 600;
color: #fff;
}
.message.user .avatar[data-v-a1aee8e3] {
background: var(--color-primary);
}
.message.assistant .avatar[data-v-a1aee8e3] {
background: linear-gradient(135deg, #6fb1ff 0%, #79ffe1 100%);
color: #1d2129;
}
.message-content[data-v-470125ca] {
.bubble[data-v-a1aee8e3] {
max-width: 70%;
white-space: pre-wrap;
word-break: break-word;
background: #fff;
padding: 8px 12px;
border-radius: 8px;
background: var(--color-white);
box-shadow: var(--shadow-1);
}
.message.user .message-content[data-v-470125ca] {
.message.user .bubble[data-v-a1aee8e3] {
background: var(--color-primary-light);
color: var(--color-primary);
}
@media (max-width: 768px) {
.message-content[data-v-470125ca] {
max-width: 85%;
.message.assistant.error .bubble[data-v-a1aee8e3] {
background: #fee2e2;
color: #dc2626;
}
.typing .bubble[data-v-a1aee8e3] {
display: inline-flex;
gap: 6px;
align-items: center;
}
.default-result-item[data-v-e27705a4] {
padding: 16px 0;
.dot[data-v-a1aee8e3] {
width: 6px;
height: 6px;
border-radius: 50%;
background: #999;
animation: blink-a1aee8e3 1.2s infinite ease-in-out;
}
.title[data-v-e27705a4] {
margin-bottom: 8px !important;
.dot[data-v-a1aee8e3]:nth-child(2) {
animation-delay: 0.2s;
}
.field-item[data-v-e27705a4] {
display: flex;
align-items: flex-start;
margin-bottom: 8px;
.dot[data-v-a1aee8e3]:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes blink-a1aee8e3 {
0%,
80%,
100% {
opacity: 0.2;
}
40% {
opacity: 1;
}
.field-value[data-v-e27705a4] {
flex: 1;
color: var(--color-text-2);
line-height: 1.5;
}
.meta[data-v-e27705a4] {
.composer[data-v-a1aee8e3] {
display: flex;
align-items: center;
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(--color-border);
flex-direction: column;
gap: 8px;
}
.actions[data-v-a1aee8e3] {
display: flex;
gap: 8px;
justify-content: flex-end;
}
@media (max-width: 768px) {
.field-item[data-v-e27705a4] {
@media (max-width: 992px) {
.layout[data-v-a1aee8e3] {
flex-direction: column;
}
.field-value[data-v-e27705a4] {
margin-top: 4px;
.sidebar[data-v-a1aee8e3] {
width: 100%;
}
.bubble[data-v-a1aee8e3] {
max-width: 85%;
}
}
.search-results[data-v-be5c5709] {
flex: 1;
.kb-search[data-v-c57e9cc6] {
width: 100%;
}
.results-header[data-v-be5c5709] {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
/* 统一版心容器 */
.container[data-v-c57e9cc6] {
max-width: 1200px;
margin: 0 auto;
padding: 24px 0px;
}
.result-item[data-v-be5c5709] {
/* 搜索区域(白底,满屏) */
.search-section[data-v-c57e9cc6] {
width: 100%;
background: #ffffff;
}
@media (max-width: 768px) {
.results-header[data-v-be5c5709] {
flex-direction: column;
align-items: flex-start;
gap: 12px;
}
.results-header .arco-select[data-v-be5c5709] {
align-self: flex-end;
/* 结果区域(灰底,满屏) */
.results-section[data-v-c57e9cc6] {
width: 100%;
background: #f5f7fa;
}
.mode-switch[data-v-c57e9cc6] {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 16px;
}
.kb-search[data-v-8f9c1bf9] {
padding: 20px;
max-width: 1200px;
/* 简单搜索输入容器,宽度约 70% */
.input-wrap-70[data-v-c57e9cc6] {
width: 70%;
margin: 0 auto;
}
.loading-state[data-v-8f9c1bf9], .empty-state[data-v-8f9c1bf9] {
/* 通用内容包裹(居中,不额外限制宽度) */
.content-wrap[data-v-c57e9cc6] {
width: 100%;
}
.loading-state[data-v-c57e9cc6],
.error-state[data-v-c57e9cc6],
.empty-state[data-v-c57e9cc6] {
display: flex;
justify-content: center;
align-items: center;
height: 200px;
}
@media (max-width: 768px) {
.kb-search[data-v-8f9c1bf9] {
padding: 10px;
.results-list[data-v-c57e9cc6] {
width: 100%;
}
@media (max-width: 992px) {
.input-wrap-70[data-v-c57e9cc6] {
width: 100%;
}
}
{
"name": "kb-search",
"version": "1.0.0",
"version": "2.0.0",
"description": "A knowledge base search component library based on Vue 3 and Arco Design",
"type": "module",
"main": "./dist/kb-search.umd.cjs",
......@@ -33,11 +33,11 @@
"knowledge-base",
"ui-library"
],
"author": "longfei0128@foxmail.com",
"author": "longf0128@foxmail.com",
"license": "MIT",
"repository": {
"type": "git",
"url": ""
"url": "http://222.85.214.245:11036/longfei666/global-search-component.git"
},
"peerDependencies": {
"vue": "^3.3.0",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论