@yetuzi/vue3-query-components 1.1.37 → 1.2.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/index.css CHANGED
@@ -1 +1 @@
1
- .common-query-table[data-v-a726f75e]{--spacing: 15px;width:100%;height:100%;flex:1;display:flex;flex-direction:column;box-sizing:border-box;padding:var(--spacing) 12px;overflow:hidden}[class^=common-query-table-][data-v-a726f75e]{width:100%}[class^=common-query-table-]+[class^=common-query-table-][data-v-a726f75e]{margin-top:var(--spacing)}.common-query-table .common-query-table-table[data-v-a726f75e]{flex:1;overflow:hidden}.el-form[data-v-819162d5]{margin-bottom:-18px!important}.el-form .el-form-item[data-v-819162d5] .el-form-item__content{width:var(--v91075878)}.el-form .el-form-item[data-v-819162d5] .el-select,.el-form .el-form-item[data-v-819162d5] .el-input,.el-form .el-form-item[data-v-819162d5] .el-date-editor{width:100%}.common-table[data-v-4a5a2714]{width:100%;height:100%;display:flex;flex-direction:column}
1
+ .common-query-table[data-v-a726f75e]{--spacing: 15px;width:100%;height:100%;flex:1;display:flex;flex-direction:column;box-sizing:border-box;padding:var(--spacing) 12px;overflow:hidden}[class^=common-query-table-][data-v-a726f75e]{width:100%}[class^=common-query-table-]+[class^=common-query-table-][data-v-a726f75e]{margin-top:var(--spacing)}.common-query-table .common-query-table-table[data-v-a726f75e]{flex:1;overflow:hidden}.el-form[data-v-21a094af]{margin-bottom:-18px!important}.el-form .el-form-item[data-v-21a094af] .el-form-item__content{width:var(--v61f64934)}.el-form .el-form-item[data-v-21a094af] .el-select,.el-form .el-form-item[data-v-21a094af] .el-input,.el-form .el-form-item[data-v-21a094af] .el-date-editor{width:100%}.common-table[data-v-4dc3e15a]{width:100%;height:100%;display:flex;flex-direction:column}
package/dist/index.d.ts CHANGED
@@ -284,12 +284,6 @@ export declare const CommonCheckbox: DefineComponent<__VLS_PublicProps_6, {}, {}
284
284
  "onUpdate:modelValue"?: ((value: CheckboxGroupValueType) => any) | undefined;
285
285
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
286
286
 
287
- /**
288
- * 多选框
289
- */
290
- declare interface CommonCheckboxItem<T extends AnyObject> extends CommonFormSupplement<'check-box', CommonCheckboxProps, T> {
291
- }
292
-
293
287
  export declare interface CommonCheckboxProps extends ExtractPublicPropTypes<CheckboxGroupProps> {
294
288
  }
295
289
 
@@ -303,12 +297,6 @@ export declare const CommonConfigProvider: __VLS_WithTemplateSlots<typeof __VLS_
303
297
  export declare interface CommonConfigProviderProps extends /* @vue-ignore */ DeepPartial<Config> {
304
298
  }
305
299
 
306
- /**
307
- * 自定义组件
308
- */
309
- declare interface CommonCustomComponentsItem<T extends AnyObject, C extends Component = Component, P = ComponentProps<C>> extends CommonFormSupplement<C, P, T> {
310
- }
311
-
312
300
  export declare const CommonDatePicker: DefineComponent<__VLS_PublicProps_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
313
301
  "update:modelValue": (value: ModelValueType) => any;
314
302
  }, string, PublicProps, Readonly<__VLS_PublicProps_4> & Readonly<{
@@ -323,12 +311,6 @@ readonly startPlaceholder: string;
323
311
  readonly endPlaceholder: string;
324
312
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
325
313
 
326
- /**
327
- * 日期选择器
328
- */
329
- declare interface CommonDatePickerItem<T extends AnyObject> extends CommonFormSupplement<'date-picker', CommonDatePickerProps, T> {
330
- }
331
-
332
314
  /** CommonDatePicker组件属性类型,继承自Element Plus DatePicker组件 */
333
315
  export declare interface CommonDatePickerProps extends Partial<DatePickerProps> {
334
316
  }
@@ -353,6 +335,18 @@ export declare const CommonForm: <T extends AnyObject>(__VLS_props: NonNullable<
353
335
  __ctx?: Awaited<typeof __VLS_setup>;
354
336
  };
355
337
 
338
+ /**
339
+ * 多选框
340
+ */
341
+ export declare interface CommonFormCheckboxItem<T extends AnyObject> extends CommonFormSupplement<'check-box', CommonCheckboxProps, T> {
342
+ }
343
+
344
+ /**
345
+ * 自定义组件
346
+ */
347
+ export declare interface CommonFormCustomComponentsItem<T extends AnyObject, C extends Component = Component, P = ComponentProps<C>> extends CommonFormSupplement<C, P, T> {
348
+ }
349
+
356
350
  /**
357
351
  * 表单数据类型,支持通过prop访问
358
352
  */
@@ -360,6 +354,12 @@ export declare type CommonFormData<T extends AnyObject> = T & {
360
354
  [key: string]: any;
361
355
  };
362
356
 
357
+ /**
358
+ * 日期选择器
359
+ */
360
+ export declare interface CommonFormDatePickerItem<T extends AnyObject> extends CommonFormSupplement<'date-picker', CommonDatePickerProps, T> {
361
+ }
362
+
363
363
  /**
364
364
  * CommonForm 组件实例暴露类型
365
365
  * 继承 FormInstance 的所有方法,可直接调用 validate()、resetFields() 等
@@ -373,10 +373,24 @@ export declare interface CommonFormExpose<T extends AnyObject = AnyObject> exten
373
373
  /**
374
374
  * 输入框组件
375
375
  */
376
- declare interface CommonFormInputItem<T extends AnyObject> extends CommonFormSupplement<'input', CommonInputProps, T> {
376
+ export declare interface CommonFormInputItem<T extends AnyObject> extends CommonFormSupplement<'input', CommonInputProps, T> {
377
377
  }
378
378
 
379
- export declare type CommonFormPropForm<T extends AnyObject> = Array<CommonFormSelectItem<T> | CommonFormInputItem<T> | CommonDatePickerItem<T> | CommonRadioItem<T> | CommonCustomComponentsItem<T> | CommonCheckboxItem<T> | CommonSwitchItem<T>>;
379
+ /**
380
+ * 表单项类型数组
381
+ * 用于 CommonForm 的 form 属性,也可用于类型标注
382
+ *
383
+ * @example
384
+ * ```ts
385
+ * import type { CommonFormPropForm } from '@yetuzi/vue3-query-components'
386
+ *
387
+ * const form: CommonFormPropForm<MyDataType> = [
388
+ * { is: 'input', prop: 'name', label: '用户名' },
389
+ * { is: 'select', prop: 'status', label: '状态' }
390
+ * ]
391
+ * ```
392
+ */
393
+ export declare type CommonFormPropForm<T extends AnyObject> = Array<CommonFormSelectItem<T> | CommonFormInputItem<T> | CommonFormDatePickerItem<T> | CommonFormRadioItem<T> | CommonFormCustomComponentsItem<T> | CommonFormCheckboxItem<T> | CommonFormSwitchItem<T>>;
380
394
 
381
395
  /**
382
396
  * form 组件props
@@ -385,14 +399,20 @@ export declare interface CommonFormProps<T extends AnyObject> extends ExtractPro
385
399
  form?: CommonFormPropForm<T>;
386
400
  }
387
401
 
402
+ /**
403
+ * 单选框
404
+ */
405
+ export declare interface CommonFormRadioItem<T extends AnyObject> extends CommonFormSupplement<'radio', CommonRadioProps, T> {
406
+ }
407
+
388
408
  /**
389
409
  * 选择器组件
390
410
  */
391
- declare interface CommonFormSelectItem<T extends AnyObject> extends CommonFormSupplement<'select', CommonSelectProps, T> {
411
+ export declare interface CommonFormSelectItem<T extends AnyObject> extends CommonFormSupplement<'select', CommonSelectProps, T> {
392
412
  }
393
413
 
394
414
  declare interface CommonFormSupplement<T, P, D extends AnyObject, V = any> {
395
- is: T;
415
+ is: T | (string & {});
396
416
  label?: string;
397
417
  prop: keyof D | (string & {});
398
418
  props?: Partial<P>;
@@ -400,6 +420,12 @@ declare interface CommonFormSupplement<T, P, D extends AnyObject, V = any> {
400
420
  formItem?: Partial<Omit<FormItemProps, 'prop' | 'label'>>;
401
421
  }
402
422
 
423
+ /**
424
+ * 开关
425
+ */
426
+ export declare interface CommonFormSwitchItem<T extends AnyObject> extends CommonFormSupplement<'switch', CommonSwitchProps, T> {
427
+ }
428
+
403
429
  export declare const CommonInput: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
404
430
 
405
431
  /** CommonInput组件属性类型,忽略复杂类型检查 */
@@ -455,12 +481,6 @@ export declare const CommonRadio: DefineComponent<__VLS_PublicProps_5, {}, {}, {
455
481
  "onUpdate:modelValue"?: ((value: EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor], unknown, unknown> | undefined) => any) | undefined;
456
482
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
457
483
 
458
- /**
459
- * 单选框
460
- */
461
- declare interface CommonRadioItem<T extends AnyObject> extends CommonFormSupplement<'radio', CommonRadioProps, T> {
462
- }
463
-
464
484
  /** CommonRadio组件属性类型,提取自Element Plus RadioGroup组件的公共属性 */
465
485
  export declare interface CommonRadioProps extends ExtractPublicPropTypes<RadioGroupProps> {
466
486
  }
@@ -485,12 +505,6 @@ export declare const CommonSwitch: DefineComponent<__VLS_PublicProps_7, {}, {},
485
505
  "onUpdate:modelValue"?: ((value: EpPropMergeType<readonly [BooleanConstructor, StringConstructor, NumberConstructor], unknown, unknown>) => any) | undefined;
486
506
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
487
507
 
488
- /**
489
- * 开关
490
- */
491
- declare interface CommonSwitchItem<T extends AnyObject> extends CommonFormSupplement<'switch', CommonSwitchProps, T> {
492
- }
493
-
494
508
  /**
495
509
  * CommonSwitch组件属性类型
496
510
  * 继承自Element Plus Switch组件的公共属性,并扩展自定义颜色配置
@@ -527,7 +541,21 @@ export declare const CommonTable: <T extends AnyObject>(__VLS_props: NonNullable
527
541
  __ctx?: Awaited<typeof __VLS_setup>;
528
542
  };
529
543
 
530
- /** Columns 为 Array 时的ts类型 */
544
+ /**
545
+ * 表格列类型数组
546
+ * 用于 CommonTable 的 columns 属性,也可用于类型标注
547
+ *
548
+ * @example
549
+ * ```ts
550
+ * import type { CommonTableArrayColumns } from '@yetuzi/vue3-query-components'
551
+ *
552
+ * const columns: CommonTableArrayColumns<MyDataType> = [
553
+ * { prop: 'id', label: 'ID', type: 'index' },
554
+ * { prop: 'name', label: '用户名' },
555
+ * { prop: 'createTime', label: '创建时间', type: 'dateTime' }
556
+ * ]
557
+ * ```
558
+ */
531
559
  export declare type CommonTableArrayColumns<T extends AnyObject> = Array<CommonTableColumnRoot<T>>;
532
560
 
533
561
  export declare type CommonTableColumn<T extends AnyObject> = CommonTableArrayColumns<T> | CommonTableObjectColumns<T>;
@@ -655,6 +683,25 @@ export declare function getCommonProviderConfig(): {
655
683
  */
656
684
  export declare function getFirstValidValue<T>(...args: T[]): T | undefined;
657
685
 
686
+ /**
687
+ * 表单项类型守卫辅助函数
688
+ * 用于检查表单项的 is 属性是否为指定类型
689
+ *
690
+ * @param item - 表单项对象
691
+ * @param type - 要检查的类型字符串
692
+ * @returns 是否为指定类型
693
+ *
694
+ * @example
695
+ * ```ts
696
+ * if (isFormItemType(item, 'select')) {
697
+ * // item 在这里被推断为 CommonFormSelectItem
698
+ * }
699
+ * ```
700
+ */
701
+ export declare function isFormItemType<T extends AnyObject>(item: CommonFormPropForm<T>[number], type: string): item is CommonFormPropForm<T>[number] & {
702
+ is: string;
703
+ };
704
+
658
705
  /**
659
706
  * 列表请求 参数要求,包含分页
660
707
  */
@@ -699,9 +746,17 @@ export declare type RequiredSomeFields<T extends object, K extends keyof T> = Om
699
746
  /** 增强 TableColumn 的类型 */
700
747
  declare interface TableColumnSupplement<T extends AnyObject> extends Partial<Omit<TableColumnCtx<T>, 'prop' | 'type'>> {
701
748
  prop: keyof T | (string & {});
702
- type?: 'index' | 'selection' | 'expand' | 'date' | 'dateTime';
749
+ type?: TableColumnType | (string & {});
703
750
  }
704
751
 
752
+ /**
753
+ * 表格列类型
754
+ * 从 CommonTableColumnRoot 中自动提取 type 字段的类型
755
+ */
756
+ export declare type TableColumnType = Extract<CommonTableColumnRoot<AnyObject>, {
757
+ type: any;
758
+ }>['type'];
759
+
705
760
  /**
706
761
  * 日期时间
707
762
  */