@dazhicheng/ui 1.5.34 → 1.5.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/components/tt-drawer/index.d.ts +80 -80
  2. package/dist/components/tt-drawer/src/RenderDrawer.vue.d.ts +45 -45
  3. package/dist/components/tt-form/index.d.ts +4 -2
  4. package/dist/components/tt-form/src/form-render/dependencies.d.ts +4 -4
  5. package/dist/components/tt-form/src/form-render/form.vue.d.ts +4 -1
  6. package/dist/components/tt-form/src/group-form/FieldRenderer.d.ts +81 -0
  7. package/dist/components/tt-form/src/group-form/GroupForm.vue.d.ts +49 -0
  8. package/dist/components/tt-form/src/group-form/GroupSection.vue.d.ts +25 -0
  9. package/dist/components/tt-form/src/group-form/LazyFormField.vue.d.ts +13 -0
  10. package/dist/components/tt-form/src/group-form/index.d.ts +3 -0
  11. package/dist/components/tt-form/src/group-form/lazyContext.d.ts +37 -0
  12. package/dist/components/tt-form/src/group-form/types.d.ts +147 -0
  13. package/dist/components/tt-form/src/group-form/useGroupForm.d.ts +5 -0
  14. package/dist/components/tt-form/src/group-form/utils.d.ts +93 -0
  15. package/dist/components/tt-form/src/types.d.ts +72 -5
  16. package/dist/components/tt-icon/components/AddIcon.vue.d.ts +7 -0
  17. package/dist/components/tt-icon/components/SubIcon.vue.d.ts +7 -0
  18. package/dist/components/tt-icon/index.d.ts +48 -0
  19. package/dist/components/tt-modal/index.d.ts +18 -18
  20. package/dist/components/tt-modal/src/RenderModal.vue.d.ts +13 -13
  21. package/dist/components/tt-modal/src/components/ModalWrapper.vue.d.ts +1 -1
  22. package/dist/components/tt-modal/src/hooks/useModalRender.d.ts +3 -3
  23. package/dist/components/tt-nav-anchor/index.d.ts +19 -0
  24. package/dist/components/tt-nav-anchor/src/TtNavAnchor.vue.d.ts +19 -0
  25. package/dist/components/tt-nav-anchor/src/types.d.ts +29 -0
  26. package/dist/components/tt-select/src/Select.vue.d.ts +12 -12
  27. package/dist/components/tt-select/src/components/SelectTable.vue.d.ts +1 -1
  28. package/dist/components/tt-select/src/components/Table.vue.d.ts +1 -1
  29. package/dist/components/tt-table/src/Table.vue.d.ts +46 -46
  30. package/dist/components/tt-table/src/hooks/useLeftRightSlot.d.ts +40 -40
  31. package/dist/components/tt-table/src/props.d.ts +4 -8
  32. package/dist/components/tt-table/src/types/table.d.ts +4 -8
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.js +11128 -10227
  35. package/dist/style.css +1 -1
  36. package/package.json +3 -3
@@ -0,0 +1,147 @@
1
+ import { ExtendedFormApi, FormActions, FormCommonConfig, FormLayout, FormSchema, FormSlotSchema, TtFormProps, WrapperClassType } from '../types';
2
+ import { Ref } from 'vue';
3
+ export type CollapsibleType = boolean | ((values: Record<string, any>, actions: FormActions) => boolean | PromiseLike<boolean>);
4
+ /** 控制 group / row / slot 是否显示,支持布尔值或函数(接收表单值与 formActions,可返回 Promise) */
5
+ export type IfShowConditionType = boolean | ((values: Record<string, any>, actions: FormActions) => boolean | PromiseLike<boolean>);
6
+ /** 分组表单项 */
7
+ export interface FormGroupSchema {
8
+ /** 类型 */
9
+ type: "group";
10
+ /** 分组唯一标识 */
11
+ key: string;
12
+ /** 分组标题 */
13
+ title: string;
14
+ /** 是否可折叠,支持布尔值或函数 (values, actions) => boolean | Promise<boolean> */
15
+ collapsible?: CollapsibleType;
16
+ /** 初始是否折叠 */
17
+ defaultCollapsed?: boolean;
18
+ /** 子项(字段或嵌套分组) */
19
+ children: GroupFormSchema[];
20
+ /** 组内字段栅格布局 */
21
+ wrapperClass?: WrapperClassType;
22
+ /** 组内字段通用配置(覆盖外层 commonConfig) */
23
+ commonConfig?: FormCommonConfig;
24
+ /** 是否显示,支持布尔值或函数 (values, actions) => boolean | Promise<boolean>,默认 true */
25
+ ifShow?: IfShowConditionType;
26
+ }
27
+ /**
28
+ * 纯布局行容器,不产生分组标题,仅将若干字段包裹在一行内并支持自定义样式
29
+ * @property {"row"} type - 固定为 "row"
30
+ * @property {FormSchema[]} children - 行内字段列表
31
+ * @property {WrapperClassType} [wrapperClass] - 行容器额外 class(如 grid-cols-3、bg-xxx 等)
32
+ */
33
+ export interface FormRowSchema {
34
+ /** 类型标识 */
35
+ type: "row";
36
+ /** 行内字段列表 */
37
+ children: FormSchema[];
38
+ /** 行容器额外 class,可用于设置列数、背景、圆角等 */
39
+ wrapperClass?: WrapperClassType;
40
+ /** 是否显示,支持布尔值或函数 (values, actions) => boolean | Promise<boolean>,默认 true */
41
+ ifShow?: IfShowConditionType;
42
+ }
43
+ export type GroupFormSchema = FormGroupSchema | FormRowSchema | FormSlotSchema | FormSchema;
44
+ /** 分组表单组件选项 */
45
+ export interface UseGroupFormOptions extends Omit<TtFormProps, "schema" | "showDefaultActions"> {
46
+ schema: GroupFormSchema[];
47
+ /** 是否启用表单项级别的虚拟化(IntersectionObserver 懒渲染),默认 true */
48
+ virtual?: boolean;
49
+ /** 滚动容器高度,默认 '100%' */
50
+ containerHeight?: number | string;
51
+ /** IntersectionObserver rootMargin,控制提前渲染的距离,默认 '200px 0px'(仅 virtual 为 true 时生效) */
52
+ rootMargin?: string;
53
+ /** 预估每个表单项高度(px),用于占位,默认 52(仅 virtual 为 true 时生效) */
54
+ estimateFieldHeight?: number;
55
+ /** 是否显示悬浮导航锚点,默认 true */
56
+ showNav?: boolean;
57
+ /** 导航栏标题,默认 '导航' */
58
+ navTitle?: string;
59
+ /** 自动滚动到指定分组,默认 'top' */
60
+ autoScrollToGroup?: AutoScrollPosition;
61
+ /** 校验失败时是否自动滚动到第一个有错误的分组,默认 true */
62
+ scrollToFirstError?: boolean;
63
+ }
64
+ /** LazyFormField 组件 props */
65
+ export interface LazyFormFieldProps {
66
+ /** 传给 FormField 的完整 props(通过 v-bind 透传) */
67
+ fieldProps: Record<string, unknown>;
68
+ /** FormSchema.rules */
69
+ rules?: FormSchema["rules"];
70
+ /** FormSchema.formItemClass(用于外层 class) */
71
+ fieldClass?: string;
72
+ /** 滚动容器选择器或元素引用,默认取最近的 overflow:auto 祖先 */
73
+ root?: Element | null;
74
+ /** IntersectionObserver rootMargin,控制提前渲染的距离 */
75
+ rootMargin?: string;
76
+ /** 预估占位高度(px),首次渲染前使用 */
77
+ estimateHeight?: number;
78
+ /** 未进入视口时是否显示骨架屏(弹框首屏等场景减少白屏感),默认 true */
79
+ skeleton?: boolean;
80
+ /** 骨架屏是否开启动画,默认 true */
81
+ skeletonAnimated?: boolean;
82
+ }
83
+ /** 分组表单组件 props */
84
+ export interface GroupFormSectionProps {
85
+ /** 分组表单定义(可选,优先从 store 读取) */
86
+ groupSchema?: GroupFormSchema[];
87
+ /** 表单 API */
88
+ formApi: ExtendedFormApi;
89
+ /** 分组折叠状态 */
90
+ collapseStates: Record<string, boolean>;
91
+ /** 滚动容器高度 */
92
+ containerHeight?: number | string;
93
+ /** 通用配置 */
94
+ commonConfig?: FormCommonConfig;
95
+ /** 布局 */
96
+ layout?: FormLayout;
97
+ /** 紧凑模式 */
98
+ compact?: boolean;
99
+ /** IntersectionObserver rootMargin,控制提前渲染距离 */
100
+ rootMargin?: string;
101
+ /** 预估每个表单项高度(px) */
102
+ estimateFieldHeight?: number;
103
+ /** 是否启用表单项级别的虚拟化,默认 true */
104
+ virtual?: boolean;
105
+ /** 共享的字段错误缓存,由 useGroupForm 创建 */
106
+ errorCacheMap?: Map<string, string>;
107
+ /** 重置信号,由 useGroupForm 创建 */
108
+ resetSignal?: Ref<number>;
109
+ /** 是否显示悬浮导航 */
110
+ showNav?: boolean;
111
+ /** 导航标题 */
112
+ navTitle?: string;
113
+ /** 导航各分组错误数量 */
114
+ navErrorCounts?: Record<string, number>;
115
+ /** 自动滚动到指定分组 */
116
+ autoScrollToGroup?: AutoScrollPosition;
117
+ /** 校验失败时是否自动滚动到第一个有错误的分组,默认 true */
118
+ scrollToFirstError?: boolean;
119
+ /** 切换分组折叠状态 */
120
+ toggleCollapse?: (key: string) => void;
121
+ }
122
+ /** GroupSection 递归组件 props */
123
+ export interface GroupSectionProps {
124
+ /** 当前节点的 schema(分组 / 行容器 / 字段) */
125
+ schema: GroupFormSchema;
126
+ /** 分组折叠状态 */
127
+ collapseStates: Record<string, boolean>;
128
+ /** 当前层级合并后的通用配置 */
129
+ commonConfig?: FormCommonConfig;
130
+ /** 全局通用配置(最外层传入,逐层透传) */
131
+ globalCommonConfig?: FormCommonConfig;
132
+ /** 表单布局方向 */
133
+ layout?: string;
134
+ /** 紧凑模式 */
135
+ compact?: boolean;
136
+ /** 当前嵌套深度,顶层为 0,递归时自增 */
137
+ depth?: number;
138
+ /** 是否启用表单项级别的虚拟化(IntersectionObserver 懒渲染) */
139
+ virtual?: boolean;
140
+ /** 虚拟化时滚动容器引用 */
141
+ scrollElement?: Element | null;
142
+ /** 虚拟化时 IntersectionObserver rootMargin */
143
+ virtualRootMargin?: string;
144
+ /** 虚拟化时预估表单项高度(px) */
145
+ virtualEstimateHeight?: number;
146
+ }
147
+ export type AutoScrollPosition = "top" | "bottom";
@@ -0,0 +1,5 @@
1
+ import { ExtendedFormApi } from '../types';
2
+ import { UseGroupFormOptions } from './types';
3
+ export declare function useGroupForm(options: UseGroupFormOptions): readonly [import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
4
+ [key: string]: any;
5
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, ExtendedFormApi, Record<string, boolean>];
@@ -0,0 +1,93 @@
1
+ import { FormGroupSchema, FormRowSchema, GroupFormSchema } from './types';
2
+ import { FormSchema, FormSlotSchema } from '../types';
3
+ /**
4
+ * 判断当前节点是否为分组 schema(含 type: 'group' 与 children)
5
+ * @param {GroupFormSchema} schema - 分组表单 schema 节点(分组或字段)
6
+ * @returns {boolean} 若为分组则 true,且类型收窄为 FormGroupSchema
7
+ * @example
8
+ * if (isGroupSchema(item)) item.children; // 可安全访问 children
9
+ */
10
+ export declare function isGroupSchema(schema: GroupFormSchema): schema is FormGroupSchema;
11
+ /**
12
+ * 判断当前节点是否为纯布局行容器(type: 'row')
13
+ * @param {GroupFormSchema} schema - 分组表单 schema 节点
14
+ * @returns {boolean} 若为行容器则 true,且类型收窄为 FormRowSchema
15
+ * @example
16
+ * if (isRowSchema(item)) item.children; // 可安全访问 children(均为字段)
17
+ */
18
+ export declare function isRowSchema(schema: GroupFormSchema): schema is FormRowSchema;
19
+ /**
20
+ * 判断当前节点是否为自定义插槽(type: 'slot')
21
+ * @param {GroupFormSchema} schema - 分组表单 schema 节点
22
+ * @returns {boolean} 若为插槽则 true,且类型收窄为 FormSlotSchema
23
+ * @example
24
+ * if (isSlotSchema(item)) console.log(item.content);
25
+ */
26
+ export declare function isSlotSchema(schema: GroupFormSchema): schema is FormSlotSchema;
27
+ /**
28
+ * 递归展平分组 schema,提取所有字段 schema(忽略分组结构)
29
+ * @param {GroupFormSchema[]} schemas - 分组 schema 数组,可包含分组与字段的混合结构
30
+ * @returns {FormSchema[]} 展平后的字段 schema 数组,不包含分组节点
31
+ * @example
32
+ * const flat = extractFlatSchemas([
33
+ * { type: 'group', key: 'basic', children: [{ fieldName: 'name' }] },
34
+ * { fieldName: 'age' }
35
+ * ]);
36
+ * // 返回: [{ fieldName: 'name' }, { fieldName: 'age' }]
37
+ */
38
+ export declare function extractFlatSchemas(schemas: GroupFormSchema[]): FormSchema[];
39
+ /**
40
+ * 递归收集分组 schema 中 defaultCollapsed 为 true 的分组 key,写入 states
41
+ * @param {GroupFormSchema[]} schemas - 分组表单 schema 数组
42
+ * @param {Record<string, boolean>} states - 折叠状态对象,按分组 key 写入 true 表示初始折叠
43
+ * @example
44
+ * const states = {}; collectDefaultCollapseStates(groupSchema, states);
45
+ */
46
+ export declare function collectDefaultCollapseStates(schemas: any[], states: Record<string, boolean>): void;
47
+ /**
48
+ * 插入位置描述
49
+ * @property {string} [before] - 在匹配节点之前插入(匹配 fieldName / slot content / group key)
50
+ * @property {string} [after] - 在匹配节点之后插入(匹配规则同 before)
51
+ */
52
+ export interface InsertPosition {
53
+ before?: string;
54
+ after?: string;
55
+ }
56
+ /**
57
+ * 在 groupSchema 树中查找指定 groupKey 的分组,并在其 children 中插入新字段。
58
+ * 当 before/after 匹配到 row 内部的字段时,会直接在 row 的 children 中插入
59
+ * @param {GroupFormSchema[]} schemas - 分组 schema 树(会被原地修改)
60
+ * @param {string} groupKey - 目标分组的 key
61
+ * @param {GroupFormSchema[]} fields - 要插入的字段
62
+ * @param {InsertPosition} [position] - 插入位置;省略则追加到末尾
63
+ * @returns {boolean} 是否找到目标分组并完成插入
64
+ * @example
65
+ * // 在 fieldName 为 'phone' 的字段之前插入
66
+ * insertFieldsInGroup(schema, 'contact', [newField], { before: 'phone' });
67
+ * @example
68
+ * // 在 row 内部的 'v_age' 字段之后插入
69
+ * insertFieldsInGroup(schema, 'basic', [newField], { after: 'v_age' });
70
+ */
71
+ export declare function insertFieldsInGroup(schemas: GroupFormSchema[], groupKey: string, fields: GroupFormSchema[], position?: InsertPosition): boolean;
72
+ /**
73
+ * 从 groupSchema 树中递归移除指定 fieldName 或 slot content 的节点
74
+ * @param {GroupFormSchema[]} schemas - 分组 schema 树(会被原地修改)
75
+ * @param {Set<string>} fieldNames - 要移除的标识集合(fieldName 或 slot content 字符串)
76
+ * @returns {GroupFormSchema[]} 过滤后的 schema 数组
77
+ * @example
78
+ * removeFieldsFromGroup(schema, new Set(['phone_0', 'divider-contact-0']));
79
+ */
80
+ export declare function removeFieldsFromGroup(schemas: GroupFormSchema[], fieldNames: Set<string>): GroupFormSchema[];
81
+ /**
82
+ * 浅拷贝 groupSchema 树结构(只复制数组和分组/行的 children 引用,不深拷贝叶子节点)
83
+ * @param {GroupFormSchema[]} schemas - 原始 schema 树
84
+ * @returns {GroupFormSchema[]} 拷贝后的新树,可安全做 splice 等原地修改而不影响原树
85
+ */
86
+ export declare function cloneSchemaTree(schemas: GroupFormSchema[]): GroupFormSchema[];
87
+ /**
88
+ * 获取分组 schema 的值
89
+ * @param {GroupFormSchema[]} groupSchema - 分组 schema 数组(可含 group / row / slot / 字段)
90
+ * @param {Record<string, any>} values - 表单值
91
+ * @returns {Record<string, any>} 分组值
92
+ */
93
+ export declare function getGroupValues(groupSchema: GroupFormSchema[], values: Record<string, any>): Record<string, any>;
@@ -1,6 +1,6 @@
1
- import { ButtonProps, CheckboxProps, CheckboxGroupProps, DatePickerProps, InputProps, InputNumberProps, RadioProps, RadioGroupProps, SelectProps, SelectV2Props, SwitchProps, TimePickerDefaultProps, UploadProps, CascaderProps } from 'element-plus';
1
+ import { ButtonProps, CheckboxProps, CheckboxGroupProps, DatePickerProps, InputProps, InputNumberProps, RadioProps, RadioGroupProps, SelectProps, SelectV2Props, SwitchProps, TimePickerDefaultProps, UploadProps, CascaderProps, ColorPickerProps } from 'element-plus';
2
2
  import { FieldOptions, FormContext, GenericObject } from 'vee-validate';
3
- import { Component, HtmlHTMLAttributes, MaybeRefOrGetter, Ref } from 'vue';
3
+ import { Component, HtmlHTMLAttributes, MaybeRefOrGetter, Ref, VNode } from 'vue';
4
4
  import { ZodTypeAny } from 'zod';
5
5
  import { TtTextProps } from '../../tt-text';
6
6
  import { TtSelectProp } from '../../tt-select';
@@ -25,6 +25,7 @@ export interface BaseFormComponentMap {
25
25
  ElUpload: UploadProps;
26
26
  ElCascader: CascaderProps;
27
27
  TtUpload: TtUploadProps;
28
+ ElColorPicker: ColorPickerProps;
28
29
  }
29
30
  /**
30
31
  * 表单组件类型字符串联合类型
@@ -214,6 +215,34 @@ export interface FormSchema<T extends BaseFormComponentType = BaseFormComponentT
214
215
  /** 非label文字气泡设置 */
215
216
  toolTipText?: CustomRenderType;
216
217
  }
218
+ /** 插槽 scope 参数,传递给渲染函数或具名插槽 */
219
+ export interface FormSlotScope {
220
+ /** 当前表单所有字段的值 */
221
+ values: Record<string, any>;
222
+ /** 表单操作方法(validate / resetForm / getValues 等) */
223
+ formActions: FormActions;
224
+ }
225
+ /**
226
+ * 自定义插槽 schema,在表单字段之间插入任意自定义内容。
227
+ * content 为字符串时作为具名插槽名,在模板中用 `<template #slotName="{ values, formActions }">` 编写;
228
+ * content 为函数时直接返回 VNode。
229
+ * @property {"slot"} type - 固定为 "slot"
230
+ * @property {string | ((scope: FormSlotScope) => VNode)} content - 插槽名或渲染函数
231
+ * @property {WrapperClassType} [wrapperClass] - 容器额外 class(如 col-span-full)
232
+ */
233
+ export interface FormSlotSchema {
234
+ /** 类型标识 */
235
+ type: "slot";
236
+ /** 插槽名(字符串)或渲染函数 */
237
+ content: string | ((scope: FormSlotScope) => VNode);
238
+ /** 容器额外 class */
239
+ wrapperClass?: WrapperClassType;
240
+ /**
241
+ * 是否显示,支持布尔值或函数 (values, actions) => boolean | Promise<boolean>,默认 true。
242
+ * 仅在 GroupForm 场景下生效。
243
+ */
244
+ ifShow?: boolean | ((values: Record<string, any>, actions: FormActions) => boolean | PromiseLike<boolean>);
245
+ }
217
246
  export interface FormFieldProps extends FormSchema {
218
247
  required?: boolean;
219
248
  }
@@ -266,9 +295,9 @@ export interface FormRenderProps<T extends BaseFormComponentType = BaseFormCompo
266
295
  */
267
296
  layout?: FormLayout;
268
297
  /**
269
- * 表单定义
298
+ * 表单定义,支持普通字段和自定义插槽混合
270
299
  */
271
- schema?: FormSchema<T>[];
300
+ schema?: (FormSchema<T> | FormSlotSchema)[];
272
301
  /**
273
302
  * 是否显示展开/折叠
274
303
  */
@@ -359,8 +388,46 @@ export interface TtFormProps<T extends BaseFormComponentType = BaseFormComponent
359
388
  */
360
389
  submitOnEnter?: boolean;
361
390
  }
362
- export type ExtendedFormApi = FormApi & {
391
+ export type ExtendedFormApi = Omit<FormApi, "getValues" | "validate"> & {
392
+ /**
393
+ * 校验表单,支持通过第二个参数控制是否滚动到第一个错误分组
394
+ * @param {any} [opts] - 原始 validate 选项
395
+ * @param {boolean} [scrollToError] - 是否滚动到第一个错误分组,不传时使用全局配置 scrollToFirstError
396
+ */
397
+ validate: (opts?: any, scrollToError?: boolean) => Promise<{
398
+ valid: boolean;
399
+ errors: Record<string, string>;
400
+ results?: any;
401
+ }>;
402
+ /**
403
+ * 获取表单值
404
+ * @param {boolean} [isGroup] - 为 true 时返回按分组 key 嵌套的对象,默认 false 返回扁平值
405
+ * @returns {Promise<T>} 表单值
406
+ */
407
+ getValues: <T = Record<string, any>>(isGroup?: boolean) => Promise<T>;
363
408
  useStore: <T = NoInfer<TtFormProps>>(selector?: (state: NoInfer<TtFormProps>) => T) => Readonly<Ref<T>>;
409
+ /** 滚动到指定分组(仅 useGroupForm 场景下可用) */
410
+ scrollToGroup?: (key: string) => void;
411
+ /**
412
+ * 动态更新分组 schema(同时更新 UI 渲染和底层字段注册),仅 useGroupForm 场景下可用
413
+ * @param {any[]} newSchema - 新的分组 schema(实际类型为 GroupFormSchema[],此处用 any[] 避免循环依赖)
414
+ */
415
+ updateGroupSchema?: (newSchema: any[]) => void;
416
+ /**
417
+ * 在指定分组中增量插入字段,无需全量重建 schema
418
+ * @param {string} groupKey - 目标分组的 key
419
+ * @param {any[]} fields - 要插入的字段或子结构(实际类型为 GroupFormSchema[])
420
+ * @param {InsertPosition} [position] - 插入位置:before/after 匹配 fieldName、slot content 或 group key;省略则追加到末尾
421
+ */
422
+ appendFields?: (groupKey: string, fields: any[], position?: {
423
+ before?: string;
424
+ after?: string;
425
+ }) => void;
426
+ /**
427
+ * 按字段名从 groupSchema 树中移除字段,无需全量重建 schema
428
+ * @param {string[]} fieldNames - 要移除的字段名列表
429
+ */
430
+ removeFields?: (fieldNames: string[]) => void;
364
431
  };
365
432
  export interface TtFormAdapterOptions<T extends BaseFormComponentType = BaseFormComponentType> {
366
433
  config?: {
@@ -0,0 +1,7 @@
1
+ import { TtIconProps } from '../index';
2
+ type __VLS_Props = Omit<TtIconProps, "icon">;
3
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
4
+ size: number;
5
+ isCustomSvg: boolean;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { TtIconProps } from '../index';
2
+ type __VLS_Props = Omit<TtIconProps, "icon">;
3
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
4
+ size: number;
5
+ isCustomSvg: boolean;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -48,6 +48,54 @@ export declare const TtIcon: import('../../../../utils/src').SFCWithInstall<{
48
48
  prefix?: () => any;
49
49
  };
50
50
  })> & Record<string, any>;
51
+ export declare const TtAddIcon: import('../../../../utils/src').SFCWithInstall<import('vue').DefineComponent<{
52
+ title?: string | undefined;
53
+ disabled?: boolean | undefined;
54
+ size?: number | undefined;
55
+ class?: HTMLAttributes["class"];
56
+ isSymbol?: boolean | undefined;
57
+ isCustomSvg?: boolean | undefined;
58
+ iconFont?: string | undefined;
59
+ isImg?: boolean | undefined;
60
+ color?: string | undefined;
61
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
62
+ title?: string | undefined;
63
+ disabled?: boolean | undefined;
64
+ size?: number | undefined;
65
+ class?: HTMLAttributes["class"];
66
+ isSymbol?: boolean | undefined;
67
+ isCustomSvg?: boolean | undefined;
68
+ iconFont?: string | undefined;
69
+ isImg?: boolean | undefined;
70
+ color?: string | undefined;
71
+ }> & Readonly<{}>, {
72
+ size: number;
73
+ isCustomSvg: boolean;
74
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>> & Record<string, any>;
75
+ export declare const TtSubIcon: import('../../../../utils/src').SFCWithInstall<import('vue').DefineComponent<{
76
+ title?: string | undefined;
77
+ disabled?: boolean | undefined;
78
+ size?: number | undefined;
79
+ class?: HTMLAttributes["class"];
80
+ isSymbol?: boolean | undefined;
81
+ isCustomSvg?: boolean | undefined;
82
+ iconFont?: string | undefined;
83
+ isImg?: boolean | undefined;
84
+ color?: string | undefined;
85
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
86
+ title?: string | undefined;
87
+ disabled?: boolean | undefined;
88
+ size?: number | undefined;
89
+ class?: HTMLAttributes["class"];
90
+ isSymbol?: boolean | undefined;
91
+ isCustomSvg?: boolean | undefined;
92
+ iconFont?: string | undefined;
93
+ isImg?: boolean | undefined;
94
+ color?: string | undefined;
95
+ }> & Readonly<{}>, {
96
+ size: number;
97
+ isCustomSvg: boolean;
98
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>> & Record<string, any>;
51
99
  export default TtIcon;
52
100
  export * from './index.vue';
53
101
  export type TtIconProps = {