cosey 0.3.4 → 0.3.6

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 (34) hide show
  1. package/components/components.d.ts +3 -1
  2. package/components/components.js +1 -0
  3. package/components/field/components/number-range/number-range.d.ts +16 -0
  4. package/components/field/components/number-range/number-range.js +1 -0
  5. package/components/field/components/number-range/number-range.vue.d.ts +4 -0
  6. package/components/field/components/number-range/number-range.vue.js +28 -0
  7. package/components/field/field.d.ts +3 -0
  8. package/components/field/field.js +36 -34
  9. package/components/form-list/index.d.ts +1 -1
  10. package/components/image-card/image-card.vue.d.ts +2 -2
  11. package/components/image-card/index.d.ts +6 -6
  12. package/components/index.d.ts +1 -0
  13. package/components/index.js +1 -0
  14. package/components/input-number-range/index.d.ts +33 -0
  15. package/components/input-number-range/index.js +7 -0
  16. package/components/input-number-range/input-number-range.d.ts +14 -0
  17. package/components/input-number-range/input-number-range.js +1 -0
  18. package/components/input-number-range/input-number-range.vue.d.ts +16 -0
  19. package/components/input-number-range/input-number-range.vue.js +66 -0
  20. package/components/input-number-range/style/index.d.ts +4 -0
  21. package/components/input-number-range/style/index.js +16 -0
  22. package/components/table/index.d.ts +45 -45
  23. package/components/table/table-column/renderer.d.ts +11 -2
  24. package/components/table/table-column/renderer.js +24 -3
  25. package/components/table/table-column/table-column.vue.d.ts +5 -5
  26. package/components/table/table-column/table-column.vue.js +4 -1
  27. package/components/table/table-query/table-query.d.ts +8 -2
  28. package/components/table/table-query/table-query.vue.d.ts +3 -3
  29. package/components/table/table-query/table-query.vue.js +35 -22
  30. package/components/table/table.d.ts +8 -8
  31. package/components/table/table.vue.d.ts +21 -21
  32. package/components/transition-group/index.d.ts +3 -3
  33. package/components/transition-group/transition-group.vue.d.ts +1 -1
  34. package/package.json +1 -1
@@ -22,6 +22,7 @@ import { HorizontalTree } from './horizontal-tree';
22
22
  import { Icon } from './icon';
23
23
  import { IconifyIcon } from './iconify-icon';
24
24
  import { ImageCard } from './image-card';
25
+ import { InputNumberRange } from './input-number-range';
25
26
  import { LongText } from './long-text';
26
27
  import { Mask } from './mask';
27
28
  import { MediaCard } from './media-card';
@@ -73,6 +74,7 @@ declare module 'vue' {
73
74
  CoIcon: typeof Icon;
74
75
  CoIconifyIcon: typeof IconifyIcon;
75
76
  CoImageCard: typeof ImageCard;
77
+ CoInputNumberRange: typeof InputNumberRange;
76
78
  CoLongText: typeof LongText;
77
79
  CoMask: typeof Mask;
78
80
  CoMediaCard: typeof MediaCard;
@@ -97,4 +99,4 @@ declare module 'vue' {
97
99
  CoVideoViewer: typeof VideoViewer;
98
100
  }
99
101
  }
100
- export { AudioCard, AudioViewer, Card, Close, Col, ConfigProvider, Container, ContextMenu, ContextMenuItem, ContextSubMenu, Copy, DndSort, DndSortItem, Editor, Field, FileCard, Form, FormItem, FormDialog, FormDrawer, FormGroup, FormList, FormQuery, Highlight, HorizontalTree, Icon, IconifyIcon, ImageCard, LongText, Mask, MediaCard, MediaCardGroup, MediaViewer, NumberFormat, OnlyChild, OptionalWrapper, Panel, Row, ScrollView, SnugMenu, SnugMenuItem, SvgIcon, Table, TableAction, Toggle, Transition, TransitionGroup, Upload, VideoCard, VideoViewer, };
102
+ export { AudioCard, AudioViewer, Card, Close, Col, ConfigProvider, Container, ContextMenu, ContextMenuItem, ContextSubMenu, Copy, DndSort, DndSortItem, Editor, Field, FileCard, Form, FormDialog, FormDrawer, FormGroup, FormItem, FormList, FormQuery, Highlight, HorizontalTree, Icon, IconifyIcon, ImageCard, InputNumberRange, LongText, Mask, MediaCard, MediaCardGroup, MediaViewer, NumberFormat, OnlyChild, OptionalWrapper, Panel, Row, ScrollView, SnugMenu, SnugMenuItem, SvgIcon, Table, TableAction, Toggle, Transition, TransitionGroup, Upload, VideoCard, VideoViewer, };
@@ -22,6 +22,7 @@ export { HorizontalTree } from './horizontal-tree/index.js';
22
22
  export { Icon } from './icon/index.js';
23
23
  export { IconifyIcon } from './iconify-icon/index.js';
24
24
  export { ImageCard } from './image-card/index.js';
25
+ export { InputNumberRange } from './input-number-range/index.js';
25
26
  export { LongText } from './long-text/index.js';
26
27
  export { Mask } from './mask/index.js';
27
28
  export { MediaCard } from './media-card/index.js';
@@ -0,0 +1,16 @@
1
+ import { type FieldComponentCommonProps } from '../common';
2
+ import { type InputNumberRangeSlots, type InputNumberRangeEmits, type InputNumberRangeExpose, type InputNumberRangeProps } from '../../../input-number-range';
3
+ export interface FieldNumberRangeProps extends FieldComponentCommonProps {
4
+ componentProps?: Partial<InputNumberRangeProps> & {
5
+ 'onUpdate:modelValue'?: (value: number | undefined) => void;
6
+ onChange?: (currentValue: number | undefined, oldValue: number | undefined) => void;
7
+ [key: PropertyKey]: any;
8
+ };
9
+ componentSlots?: Partial<FieldNumberRangeSlots>;
10
+ }
11
+ export interface FieldNumberRangeSlots extends InputNumberRangeSlots {
12
+ }
13
+ export interface FieldNumberRangeEmits extends InputNumberRangeEmits {
14
+ }
15
+ export interface FieldNumberRangeExpose extends InputNumberRangeExpose {
16
+ }
@@ -0,0 +1,4 @@
1
+ import { type SlotsType } from 'vue';
2
+ import { type FieldNumberRangeProps, type FieldNumberRangeSlots } from './number-range';
3
+ declare const _default: import("vue").DefineSetupFnComponent<FieldNumberRangeProps, {}, SlotsType<FieldNumberRangeSlots>, FieldNumberRangeProps & {}, import("vue").PublicProps>;
4
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { defineComponent, h, mergeProps } from 'vue';
2
+ import stdin_default$1 from '../../../input-number-range/input-number-range.vue.js';
3
+ import { useLocale } from '../../../../hooks/useLocale.js';
4
+ import { addNullablePlaceholder } from '../../../../utils/vue.js';
5
+
6
+ var stdin_default = defineComponent((props, {
7
+ slots
8
+ }) => {
9
+ const {
10
+ t
11
+ } = useLocale();
12
+ return () => {
13
+ if (props.readonly) {
14
+ return addNullablePlaceholder(props.componentProps?.modelValue?.join(" - "));
15
+ }
16
+ return h(stdin_default$1, mergeProps({
17
+ startPlaceholder: t("co.common.pleaseInput"),
18
+ endPlaceholder: t("co.common.pleaseInput")
19
+ }, props.componentProps ?? {}), slots);
20
+ };
21
+ }, {
22
+ name: "FieldNumberRange",
23
+ inheritAttrs: false,
24
+ props: ["componentProps", "componentSlots", "readonly"],
25
+ slots: {}
26
+ });
27
+
28
+ export { stdin_default as default };
@@ -15,6 +15,7 @@ import { type FieldMonthProps } from './components/month/month';
15
15
  import { type FieldMonthRangeProps } from './components/month-range/month-range';
16
16
  import { type FieldMonthsProps } from './components/months/months';
17
17
  import { type FieldNumberProps } from './components/number/number';
18
+ import { type FieldNumberRangeProps } from './components/number-range/number-range';
18
19
  import { type FieldPasswordProps } from './components/password/password';
19
20
  import { type FieldRadioGroupProps } from './components/radio-group/radio-group';
20
21
  import { type FieldRateProps } from './components/rate/rate';
@@ -52,6 +53,7 @@ export interface MapFieldTypeComponentProps {
52
53
  monthrange: FieldMonthRangeProps;
53
54
  months: FieldMonthsProps;
54
55
  number: FieldNumberProps;
56
+ numberrange: FieldNumberRangeProps;
55
57
  password: FieldPasswordProps;
56
58
  radiogroup: FieldRadioGroupProps;
57
59
  rate: FieldRateProps;
@@ -91,6 +93,7 @@ export declare const mapFieldTypeComponent: {
91
93
  monthrange: import("vue").DefineSetupFnComponent<FieldMonthRangeProps, {}, import("vue").SlotsType<import("./components/date/date").FieldDateSlots>, FieldMonthRangeProps & {}, import("vue").PublicProps>;
92
94
  months: import("vue").DefineSetupFnComponent<FieldMonthsProps, {}, import("vue").SlotsType<import("./components/date/date").FieldDateSlots>, FieldMonthsProps & {}, import("vue").PublicProps>;
93
95
  number: import("vue").DefineSetupFnComponent<FieldNumberProps, {}, import("vue").SlotsType<import("./components/number/number").FieldNumberSlots>, FieldNumberProps & {}, import("vue").PublicProps>;
96
+ numberrange: import("vue").DefineSetupFnComponent<FieldNumberRangeProps, {}, import("vue").SlotsType<import("./components/number-range/number-range").FieldNumberRangeSlots>, FieldNumberRangeProps & {}, import("vue").PublicProps>;
94
97
  password: import("vue").DefineSetupFnComponent<FieldInputProps, {}, import("vue").SlotsType<import("./components/input/input").FieldInputSlots>, FieldInputProps & {}, import("vue").PublicProps>;
95
98
  radiogroup: import("vue").DefineSetupFnComponent<FieldRadioGroupProps, {}, import("vue").SlotsType<import("./components/radio-group/radio-group").FieldRadioGroupSlots>, FieldRadioGroupProps & {}, import("vue").PublicProps>;
96
99
  rate: import("vue").DefineSetupFnComponent<FieldRateProps, {}, import("vue").SlotsType<import("./components/rate/rate").FieldRateSlots>, FieldRateProps & {}, import("vue").PublicProps>;
@@ -1,20 +1,21 @@
1
- import stdin_default$z from './components/autocomplete/autocomplete.vue.js';
2
- import stdin_default$y from './components/cascader/cascader.vue.js';
3
- import stdin_default$x from './components/checkbox/checkbox.vue.js';
4
- import stdin_default$w from './components/checkbox-group/checkbox-group.vue.js';
5
- import stdin_default$v from './components/color/color.vue.js';
6
- import stdin_default$u from './components/date/date.vue.js';
7
- import stdin_default$t from './components/date-range/date-range.vue.js';
8
- import stdin_default$r from './components/date-time/date-time.vue.js';
9
- import stdin_default$q from './components/date-time-range/date-time-range.vue.js';
10
- import stdin_default$s from './components/dates/dates.vue.js';
11
- import stdin_default$p from './components/input/input.vue.js';
12
- import stdin_default$o from './components/input-tag/input-tag.vue.js';
13
- import stdin_default$n from './components/mention/mention.vue.js';
14
- import stdin_default$m from './components/month/month.vue.js';
15
- import stdin_default$l from './components/month-range/month-range.vue.js';
16
- import stdin_default$k from './components/months/months.vue.js';
17
- import stdin_default$j from './components/number/number.vue.js';
1
+ import stdin_default$A from './components/autocomplete/autocomplete.vue.js';
2
+ import stdin_default$z from './components/cascader/cascader.vue.js';
3
+ import stdin_default$y from './components/checkbox/checkbox.vue.js';
4
+ import stdin_default$x from './components/checkbox-group/checkbox-group.vue.js';
5
+ import stdin_default$w from './components/color/color.vue.js';
6
+ import stdin_default$v from './components/date/date.vue.js';
7
+ import stdin_default$u from './components/date-range/date-range.vue.js';
8
+ import stdin_default$s from './components/date-time/date-time.vue.js';
9
+ import stdin_default$r from './components/date-time-range/date-time-range.vue.js';
10
+ import stdin_default$t from './components/dates/dates.vue.js';
11
+ import stdin_default$q from './components/input/input.vue.js';
12
+ import stdin_default$p from './components/input-tag/input-tag.vue.js';
13
+ import stdin_default$o from './components/mention/mention.vue.js';
14
+ import stdin_default$n from './components/month/month.vue.js';
15
+ import stdin_default$m from './components/month-range/month-range.vue.js';
16
+ import stdin_default$l from './components/months/months.vue.js';
17
+ import stdin_default$k from './components/number/number.vue.js';
18
+ import stdin_default$j from './components/number-range/number-range.vue.js';
18
19
  import stdin_default$i from './components/password/password.vue.js';
19
20
  import stdin_default$h from './components/radio-group/radio-group.vue.js';
20
21
  import stdin_default$g from './components/rate/rate.vue.js';
@@ -36,23 +37,24 @@ import stdin_default$1 from './components/year-range/year-range.vue.js';
36
37
  import stdin_default from './components/years/years.vue.js';
37
38
 
38
39
  const mapFieldTypeComponent = {
39
- autocomplete: stdin_default$z,
40
- cascader: stdin_default$y,
41
- checkbox: stdin_default$x,
42
- checkboxgroup: stdin_default$w,
43
- color: stdin_default$v,
44
- date: stdin_default$u,
45
- daterange: stdin_default$t,
46
- dates: stdin_default$s,
47
- datetime: stdin_default$r,
48
- datetimerange: stdin_default$q,
49
- input: stdin_default$p,
50
- inputtag: stdin_default$o,
51
- mention: stdin_default$n,
52
- month: stdin_default$m,
53
- monthrange: stdin_default$l,
54
- months: stdin_default$k,
55
- number: stdin_default$j,
40
+ autocomplete: stdin_default$A,
41
+ cascader: stdin_default$z,
42
+ checkbox: stdin_default$y,
43
+ checkboxgroup: stdin_default$x,
44
+ color: stdin_default$w,
45
+ date: stdin_default$v,
46
+ daterange: stdin_default$u,
47
+ dates: stdin_default$t,
48
+ datetime: stdin_default$s,
49
+ datetimerange: stdin_default$r,
50
+ input: stdin_default$q,
51
+ inputtag: stdin_default$p,
52
+ mention: stdin_default$o,
53
+ month: stdin_default$n,
54
+ monthrange: stdin_default$m,
55
+ months: stdin_default$l,
56
+ number: stdin_default$k,
57
+ numberrange: stdin_default$j,
56
58
  password: stdin_default$i,
57
59
  radiogroup: stdin_default$h,
58
60
  rate: stdin_default$g,
@@ -22,9 +22,9 @@ declare const _FormList: (<T extends import("./form-list").FormListRow = import(
22
22
  placeholder?: string | undefined;
23
23
  readonly required?: boolean | undefined;
24
24
  readonly?: boolean | undefined;
25
+ readonly prop?: import("element-plus").FormItemProp | undefined;
25
26
  readonly labelWidth?: (string | number) | undefined;
26
27
  readonly labelPosition?: ("" | "left" | "right" | "top") | undefined;
27
- readonly prop?: import("element-plus").FormItemProp | undefined;
28
28
  readonly rules?: (import("element-plus").FormItemRule | import("element-plus").FormItemRule[]) | undefined;
29
29
  readonly validateStatus?: ("" | "error" | "success" | "validating") | undefined;
30
30
  readonly for?: string | undefined;
@@ -233,13 +233,13 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
233
233
  }>, {
234
234
  infinite: boolean;
235
235
  size: "large" | "small" | "middle" | "mini" | undefined;
236
- lazy: boolean;
236
+ closeOnPressEscape: boolean;
237
237
  hideOnClickModal: boolean;
238
238
  fit: "" | "fill" | "contain" | "none" | "cover" | "scale-down";
239
+ lazy: boolean;
239
240
  previewSrcList: string[];
240
241
  previewTeleported: boolean;
241
242
  initialIndex: number;
242
- closeOnPressEscape: boolean;
243
243
  zoomRate: number;
244
244
  minScale: number;
245
245
  maxScale: number;
@@ -125,13 +125,13 @@ declare const _ImageCard: {
125
125
  }, import("vue").PublicProps, {
126
126
  infinite: boolean;
127
127
  size: "large" | "small" | "middle" | "mini" | undefined;
128
- lazy: boolean;
128
+ closeOnPressEscape: boolean;
129
129
  hideOnClickModal: boolean;
130
130
  fit: "" | "fill" | "contain" | "none" | "cover" | "scale-down";
131
+ lazy: boolean;
131
132
  previewSrcList: string[];
132
133
  previewTeleported: boolean;
133
134
  initialIndex: number;
134
- closeOnPressEscape: boolean;
135
135
  zoomRate: number;
136
136
  minScale: number;
137
137
  maxScale: number;
@@ -262,13 +262,13 @@ declare const _ImageCard: {
262
262
  }, {}, {}, {}, {
263
263
  infinite: boolean;
264
264
  size: "large" | "small" | "middle" | "mini" | undefined;
265
- lazy: boolean;
265
+ closeOnPressEscape: boolean;
266
266
  hideOnClickModal: boolean;
267
267
  fit: "" | "fill" | "contain" | "none" | "cover" | "scale-down";
268
+ lazy: boolean;
268
269
  previewSrcList: string[];
269
270
  previewTeleported: boolean;
270
271
  initialIndex: number;
271
- closeOnPressEscape: boolean;
272
272
  zoomRate: number;
273
273
  minScale: number;
274
274
  maxScale: number;
@@ -402,13 +402,13 @@ declare const _ImageCard: {
402
402
  }, string, {
403
403
  infinite: boolean;
404
404
  size: "large" | "small" | "middle" | "mini" | undefined;
405
- lazy: boolean;
405
+ closeOnPressEscape: boolean;
406
406
  hideOnClickModal: boolean;
407
407
  fit: "" | "fill" | "contain" | "none" | "cover" | "scale-down";
408
+ lazy: boolean;
408
409
  previewSrcList: string[];
409
410
  previewTeleported: boolean;
410
411
  initialIndex: number;
411
- closeOnPressEscape: boolean;
412
412
  zoomRate: number;
413
413
  minScale: number;
414
414
  maxScale: number;
@@ -23,6 +23,7 @@ export * from './horizontal-tree';
23
23
  export * from './icon';
24
24
  export * from './iconify-icon';
25
25
  export * from './image-card';
26
+ export * from './input-number-range';
26
27
  export * from './long-text';
27
28
  export * from './mask';
28
29
  export * from './media-card';
@@ -22,6 +22,7 @@ export { HorizontalTree } from './horizontal-tree/index.js';
22
22
  export { Icon } from './icon/index.js';
23
23
  export { IconifyIcon } from './iconify-icon/index.js';
24
24
  export { ImageCard } from './image-card/index.js';
25
+ export { InputNumberRange } from './input-number-range/index.js';
25
26
  export { LongText } from './long-text/index.js';
26
27
  export { Mask } from './mask/index.js';
27
28
  export { MediaCard } from './media-card/index.js';
@@ -0,0 +1,33 @@
1
+ export * from './input-number-range';
2
+ declare const _InputNumberRange: {
3
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./input-number-range").InputNumberRangeProps> & Readonly<{
4
+ onChange?: ((value: number[] | undefined) => any) | undefined;
5
+ "onUpdate:modelValue"?: ((value: number[] | undefined) => any) | undefined;
6
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ change: (value: number[] | undefined) => any;
8
+ "update:modelValue": (value: number[] | undefined) => any;
9
+ }, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
10
+ P: {};
11
+ B: {};
12
+ D: {};
13
+ C: {};
14
+ M: {};
15
+ Defaults: {};
16
+ }, Readonly<import("./input-number-range").InputNumberRangeProps> & Readonly<{
17
+ onChange?: ((value: number[] | undefined) => any) | undefined;
18
+ "onUpdate:modelValue"?: ((value: number[] | undefined) => any) | undefined;
19
+ }>, {}, {}, {}, {}, {}>;
20
+ __isFragment?: never;
21
+ __isTeleport?: never;
22
+ __isSuspense?: never;
23
+ } & import("vue").ComponentOptionsBase<Readonly<import("./input-number-range").InputNumberRangeProps> & Readonly<{
24
+ onChange?: ((value: number[] | undefined) => any) | undefined;
25
+ "onUpdate:modelValue"?: ((value: number[] | undefined) => any) | undefined;
26
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ change: (value: number[] | undefined) => any;
28
+ "update:modelValue": (value: number[] | undefined) => any;
29
+ }, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
30
+ $slots: import("./input-number-range").InputNumberRangeSlots;
31
+ }) & import("vue").Plugin;
32
+ export { _InputNumberRange as InputNumberRange };
33
+ export default _InputNumberRange;
@@ -0,0 +1,7 @@
1
+ import { withInstall } from '../utils.js';
2
+ import stdin_default$1 from './input-number-range.vue.js';
3
+
4
+ const _InputNumberRange = withInstall(stdin_default$1);
5
+ var stdin_default = _InputNumberRange;
6
+
7
+ export { _InputNumberRange as InputNumberRange, stdin_default as default };
@@ -0,0 +1,14 @@
1
+ export interface InputNumberRangeProps {
2
+ modelValue?: number[];
3
+ startPlaceholder?: string;
4
+ endPlaceholder?: string;
5
+ }
6
+ export interface InputNumberRangeSlots {
7
+ default?: (props: Record<string, never>) => any;
8
+ }
9
+ export interface InputNumberRangeEmits {
10
+ (e: 'update:modelValue', value: number[] | undefined): void;
11
+ (e: 'change', value: number[] | undefined): void;
12
+ }
13
+ export interface InputNumberRangeExpose {
14
+ }
@@ -0,0 +1,16 @@
1
+ import { type InputNumberRangeProps, type InputNumberRangeSlots } from './input-number-range';
2
+ type __VLS_Slots = InputNumberRangeSlots;
3
+ declare const __VLS_component: import("vue").DefineComponent<InputNumberRangeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
+ change: (value: number[] | undefined) => any;
5
+ "update:modelValue": (value: number[] | undefined) => any;
6
+ }, string, import("vue").PublicProps, Readonly<InputNumberRangeProps> & Readonly<{
7
+ onChange?: ((value: number[] | undefined) => any) | undefined;
8
+ "onUpdate:modelValue"?: ((value: number[] | undefined) => any) | undefined;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,66 @@
1
+ import { defineComponent, ref, watch, createElementBlock, openBlock, normalizeClass, unref, createVNode, createElementVNode } from 'vue';
2
+ import stdin_default$1 from './style/index.js';
3
+ import { ElInput } from 'element-plus';
4
+ import { useComponentConfig } from '../config-provider/config-provider.js';
5
+
6
+ var stdin_default = /* @__PURE__ */defineComponent({
7
+ ...{
8
+ name: "InputNumberRange"
9
+ },
10
+ __name: "input-number-range",
11
+ props: {
12
+ modelValue: {
13
+ type: Array,
14
+ required: false
15
+ },
16
+ startPlaceholder: {
17
+ type: String,
18
+ required: false
19
+ },
20
+ endPlaceholder: {
21
+ type: String,
22
+ required: false
23
+ }
24
+ },
25
+ emits: ["update:modelValue", "change"],
26
+ setup(__props, {
27
+ expose: __expose,
28
+ emit: __emit
29
+ }) {
30
+ const props = __props;
31
+ const emit = __emit;
32
+ const {
33
+ prefixCls
34
+ } = useComponentConfig("input-number-range", props);
35
+ const {
36
+ hashId
37
+ } = stdin_default$1(prefixCls);
38
+ const start = ref();
39
+ const end = ref();
40
+ watch([start, end], () => {
41
+ const value = start.value && end.value ? [+start.value, +end.value] : void 0;
42
+ emit("update:modelValue", value);
43
+ emit("change", value);
44
+ });
45
+ __expose();
46
+ return (_ctx, _cache) => {
47
+ return openBlock(), createElementBlock("div", {
48
+ class: normalizeClass([unref(hashId), unref(prefixCls)])
49
+ }, [createVNode(unref(ElInput), {
50
+ modelValue: start.value,
51
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => start.value = $event),
52
+ type: "number",
53
+ placeholder: _ctx.startPlaceholder
54
+ }, null, 8, ["modelValue", "placeholder"]), _cache[2] || (_cache[2] = createElementVNode("span", null, "-", -1
55
+ /* HOISTED */)), createVNode(unref(ElInput), {
56
+ modelValue: end.value,
57
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => end.value = $event),
58
+ type: "number",
59
+ placeholder: _ctx.endPlaceholder
60
+ }, null, 8, ["modelValue", "placeholder"])], 2
61
+ /* CLASS */);
62
+ };
63
+ }
64
+ });
65
+
66
+ export { stdin_default as default };
@@ -0,0 +1,4 @@
1
+ declare const _default: (_prefixCls?: import("vue").ComputedRef<string> | string, themeManager?: import("../../theme/theme-context").ThemeManager) => {
2
+ hashId: import("vue").Ref<string, string>;
3
+ };
4
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import { getSimpleStyleHook } from 'cosey/components';
2
+
3
+ var stdin_default = getSimpleStyleHook("InputNumberRange", (token) => {
4
+ const { componentCls } = token;
5
+ return {
6
+ [`${componentCls}`]: {
7
+ display: "flex",
8
+ gap: token.sizeXXS,
9
+ "::-webkit-inner-spin-button, ::-webkit-outer-spin-button": {
10
+ WebkitAppearance: "none"
11
+ }
12
+ }
13
+ };
14
+ });
15
+
16
+ export { stdin_default as default };
@@ -12,11 +12,11 @@ declare const _Table: {
12
12
  default: boolean;
13
13
  };
14
14
  columns: {
15
- type: import("vue").PropType<import(".").TableColumnProps[]>;
15
+ type: import("vue").PropType<import("..").TableColumnProps[]>;
16
16
  default: () => never[];
17
17
  };
18
18
  actionColumn: {
19
- type: import("vue").PropType<import(".").TableColumnProps>;
19
+ type: import("vue").PropType<import("..").TableColumnProps>;
20
20
  };
21
21
  pagination: {
22
22
  type: import("vue").PropType<boolean | import("element-plus").PaginationProps>;
@@ -28,7 +28,7 @@ declare const _Table: {
28
28
  formProps: {
29
29
  type: import("vue").PropType<Partial<import("vue").ExtractPropTypes<{
30
30
  schemes: {
31
- type: import("vue").PropType<import("..").FormItemProps<import("..").FieldType>[]>;
31
+ type: import("vue").PropType<import("..").TableQueryScheme[]>;
32
32
  default: () => never[];
33
33
  };
34
34
  grid: {
@@ -206,19 +206,17 @@ declare const _Table: {
206
206
  emptyText: StringConstructor;
207
207
  sumText: StringConstructor;
208
208
  cellClassName: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
209
- scrollbarAlwaysOn: BooleanConstructor;
210
- defaultExpandAll: BooleanConstructor;
209
+ fit: {
210
+ type: BooleanConstructor;
211
+ default: boolean;
212
+ };
211
213
  lazy: BooleanConstructor;
212
214
  indent: {
213
215
  type: NumberConstructor;
214
216
  default: number;
215
217
  };
216
- fit: {
217
- type: BooleanConstructor;
218
- default: boolean;
219
- };
220
- showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
221
- tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
218
+ scrollbarAlwaysOn: BooleanConstructor;
219
+ defaultExpandAll: BooleanConstructor;
222
220
  stripe: BooleanConstructor;
223
221
  rowKey: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
224
222
  showHeader: {
@@ -254,6 +252,8 @@ declare const _Table: {
254
252
  };
255
253
  };
256
254
  flexible: BooleanConstructor;
255
+ showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
256
+ tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
257
257
  appendFilterPanelTo: StringConstructor;
258
258
  scrollbarTabindex: {
259
259
  type: (NumberConstructor | StringConstructor)[];
@@ -298,16 +298,16 @@ declare const _Table: {
298
298
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
299
299
  tableLayout: "auto" | "fixed";
300
300
  border: boolean;
301
- columns: import(".").TableColumnProps[];
301
+ columns: import("..").TableColumnProps[];
302
302
  data: any[];
303
303
  immediate: boolean;
304
304
  className: string;
305
305
  pagination: boolean | import("element-plus").PaginationProps;
306
- scrollbarAlwaysOn: boolean;
307
- defaultExpandAll: boolean;
306
+ fit: boolean;
308
307
  lazy: boolean;
309
308
  indent: number;
310
- fit: boolean;
309
+ scrollbarAlwaysOn: boolean;
310
+ defaultExpandAll: boolean;
311
311
  stripe: boolean;
312
312
  showHeader: boolean;
313
313
  showSummary: boolean;
@@ -335,11 +335,11 @@ declare const _Table: {
335
335
  default: boolean;
336
336
  };
337
337
  columns: {
338
- type: import("vue").PropType<import(".").TableColumnProps[]>;
338
+ type: import("vue").PropType<import("..").TableColumnProps[]>;
339
339
  default: () => never[];
340
340
  };
341
341
  actionColumn: {
342
- type: import("vue").PropType<import(".").TableColumnProps>;
342
+ type: import("vue").PropType<import("..").TableColumnProps>;
343
343
  };
344
344
  pagination: {
345
345
  type: import("vue").PropType<boolean | import("element-plus").PaginationProps>;
@@ -351,7 +351,7 @@ declare const _Table: {
351
351
  formProps: {
352
352
  type: import("vue").PropType<Partial<import("vue").ExtractPropTypes<{
353
353
  schemes: {
354
- type: import("vue").PropType<import("..").FormItemProps<import("..").FieldType>[]>;
354
+ type: import("vue").PropType<import("..").TableQueryScheme[]>;
355
355
  default: () => never[];
356
356
  };
357
357
  grid: {
@@ -529,19 +529,17 @@ declare const _Table: {
529
529
  emptyText: StringConstructor;
530
530
  sumText: StringConstructor;
531
531
  cellClassName: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
532
- scrollbarAlwaysOn: BooleanConstructor;
533
- defaultExpandAll: BooleanConstructor;
532
+ fit: {
533
+ type: BooleanConstructor;
534
+ default: boolean;
535
+ };
534
536
  lazy: BooleanConstructor;
535
537
  indent: {
536
538
  type: NumberConstructor;
537
539
  default: number;
538
540
  };
539
- fit: {
540
- type: BooleanConstructor;
541
- default: boolean;
542
- };
543
- showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
544
- tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
541
+ scrollbarAlwaysOn: BooleanConstructor;
542
+ defaultExpandAll: BooleanConstructor;
545
543
  stripe: BooleanConstructor;
546
544
  rowKey: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
547
545
  showHeader: {
@@ -577,6 +575,8 @@ declare const _Table: {
577
575
  };
578
576
  };
579
577
  flexible: BooleanConstructor;
578
+ showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
579
+ tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
580
580
  appendFilterPanelTo: StringConstructor;
581
581
  scrollbarTabindex: {
582
582
  type: (NumberConstructor | StringConstructor)[];
@@ -621,16 +621,16 @@ declare const _Table: {
621
621
  }, {}, {}, {}, {
622
622
  tableLayout: "auto" | "fixed";
623
623
  border: boolean;
624
- columns: import(".").TableColumnProps[];
624
+ columns: import("..").TableColumnProps[];
625
625
  data: any[];
626
626
  immediate: boolean;
627
627
  className: string;
628
628
  pagination: boolean | import("element-plus").PaginationProps;
629
- scrollbarAlwaysOn: boolean;
630
- defaultExpandAll: boolean;
629
+ fit: boolean;
631
630
  lazy: boolean;
632
631
  indent: number;
633
- fit: boolean;
632
+ scrollbarAlwaysOn: boolean;
633
+ defaultExpandAll: boolean;
634
634
  stripe: boolean;
635
635
  showHeader: boolean;
636
636
  showSummary: boolean;
@@ -655,11 +655,11 @@ declare const _Table: {
655
655
  default: boolean;
656
656
  };
657
657
  columns: {
658
- type: import("vue").PropType<import(".").TableColumnProps[]>;
658
+ type: import("vue").PropType<import("..").TableColumnProps[]>;
659
659
  default: () => never[];
660
660
  };
661
661
  actionColumn: {
662
- type: import("vue").PropType<import(".").TableColumnProps>;
662
+ type: import("vue").PropType<import("..").TableColumnProps>;
663
663
  };
664
664
  pagination: {
665
665
  type: import("vue").PropType<boolean | import("element-plus").PaginationProps>;
@@ -669,7 +669,7 @@ declare const _Table: {
669
669
  type: import("vue").PropType<(expose: import("./table").TableExpose) => void>;
670
670
  };
671
671
  formProps: {
672
- type: import("vue").PropType<import(".").TableQueryProps>;
672
+ type: import("vue").PropType<import("..").TableQueryProps>;
673
673
  };
674
674
  beforeFetch: {
675
675
  type: import("vue").PropType<(params: Record<string, any>) => any>;
@@ -710,19 +710,17 @@ declare const _Table: {
710
710
  emptyText: StringConstructor;
711
711
  sumText: StringConstructor;
712
712
  cellClassName: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
713
- scrollbarAlwaysOn: BooleanConstructor;
714
- defaultExpandAll: BooleanConstructor;
713
+ fit: {
714
+ type: BooleanConstructor;
715
+ default: boolean;
716
+ };
715
717
  lazy: BooleanConstructor;
716
718
  indent: {
717
719
  type: NumberConstructor;
718
720
  default: number;
719
721
  };
720
- fit: {
721
- type: BooleanConstructor;
722
- default: boolean;
723
- };
724
- showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
725
- tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
722
+ scrollbarAlwaysOn: BooleanConstructor;
723
+ defaultExpandAll: BooleanConstructor;
726
724
  stripe: BooleanConstructor;
727
725
  rowKey: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
728
726
  showHeader: {
@@ -758,6 +756,8 @@ declare const _Table: {
758
756
  };
759
757
  };
760
758
  flexible: BooleanConstructor;
759
+ showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
760
+ tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
761
761
  appendFilterPanelTo: StringConstructor;
762
762
  scrollbarTabindex: {
763
763
  type: (NumberConstructor | StringConstructor)[];
@@ -802,16 +802,16 @@ declare const _Table: {
802
802
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
803
803
  tableLayout: "auto" | "fixed";
804
804
  border: boolean;
805
- columns: import(".").TableColumnProps[];
805
+ columns: import("..").TableColumnProps[];
806
806
  data: any[];
807
807
  immediate: boolean;
808
808
  className: string;
809
809
  pagination: boolean | import("element-plus").PaginationProps;
810
- scrollbarAlwaysOn: boolean;
811
- defaultExpandAll: boolean;
810
+ fit: boolean;
812
811
  lazy: boolean;
813
812
  indent: number;
814
- fit: boolean;
813
+ scrollbarAlwaysOn: boolean;
814
+ defaultExpandAll: boolean;
815
815
  stripe: boolean;
816
816
  showHeader: boolean;
817
817
  showSummary: boolean;
@@ -1,4 +1,4 @@
1
- import { SwitchProps, type TableColumnCtx } from 'element-plus';
1
+ import { type LinkProps, SwitchProps, type TableColumnCtx } from 'element-plus';
2
2
  import { type TableColumnProps } from './table-column';
3
3
  import { type LongTextProps } from '../../long-text';
4
4
  import { type MediaCardProps } from '../../media-card';
@@ -27,12 +27,21 @@ export type RendererType = 'text' | 'date' | 'datetime' | 'media' | {
27
27
  type: 'switch';
28
28
  props?: Partial<SwitchProps>;
29
29
  api?: (value: any, row: any) => Promise<any>;
30
+ } | {
31
+ type: 'click';
32
+ props?: Partial<LinkProps>;
33
+ onClick?: (params: {
34
+ row: any;
35
+ value: any;
36
+ index: number;
37
+ column: TableColumnCtx<any>;
38
+ }) => void;
30
39
  };
31
40
  export declare const mapRendererColumnProps: Record<string, TableColumnProps>;
32
41
  /**
33
42
  * 可组合其他组件进行渲染
34
43
  */
35
- export declare function renderer<T extends RendererType>({ cellValue, row }: RendererOptions, type: RendererType | undefined, t: Translator): any;
44
+ export declare function renderer<T extends RendererType>({ cellValue, row, index, column }: RendererOptions, type: RendererType | undefined, t: Translator): any;
36
45
  /**
37
46
  * 导出表格数据时使用的渲染器,只需要获取文本数据
38
47
  */
@@ -1,5 +1,5 @@
1
- import { ref, createVNode, mergeProps } from 'vue';
2
- import { ElSwitch, ElMessage, ElTag } from 'element-plus';
1
+ import { createVNode, mergeProps, ref, isVNode } from 'vue';
2
+ import { ElLink, ElSwitch, ElMessage, ElTag } from 'element-plus';
3
3
  import { get } from 'lodash-es';
4
4
  import { LongText as _LongText } from '../../long-text/index.js';
5
5
  import { MediaCard as _MediaCard } from '../../media-card/index.js';
@@ -9,6 +9,9 @@ import { Scope } from '../../../utils/vue.js';
9
9
  import { formatAsDate, formatAsDateTime } from '../../../utils/date.js';
10
10
  import { toArray } from '../../../utils/array.js';
11
11
 
12
+ function _isSlot(s) {
13
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
14
+ }
12
15
  const mapRendererColumnProps = {
13
16
  media: {
14
17
  minWidth: 104,
@@ -24,7 +27,9 @@ const mapRendererColumnProps = {
24
27
  };
25
28
  function renderer({
26
29
  cellValue,
27
- row
30
+ row,
31
+ index,
32
+ column
28
33
  }, type = "text", t) {
29
34
  if (isEmpty(cellValue)) {
30
35
  return "";
@@ -89,6 +94,21 @@ function renderer({
89
94
  }), null)]
90
95
  });
91
96
  }
97
+ case "click":
98
+ return createVNode(ElLink, mergeProps({
99
+ "type": "primary",
100
+ "underline": "never",
101
+ "style": "font-weight: normal; word-break: break-all;"
102
+ }, obj.props, {
103
+ "onClick": () => obj.onClick?.({
104
+ row,
105
+ value: cellValue,
106
+ index,
107
+ column
108
+ })
109
+ }), _isSlot(cellValue) ? cellValue : {
110
+ default: () => [cellValue]
111
+ });
92
112
  }
93
113
  }
94
114
  function exportRenderer(row, column, cellValue, index) {
@@ -110,6 +130,7 @@ function exportRenderer(row, column, cellValue, index) {
110
130
  case "media":
111
131
  case "longtext":
112
132
  case "switch":
133
+ case "click":
113
134
  return cellValue;
114
135
  case "mediagroup":
115
136
  return JSON.stringify(cellValue);
@@ -10,6 +10,8 @@ declare const TableColumn: import("vue").DefineComponent<{
10
10
  className?: string | undefined;
11
11
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults.mjs").FilterMethods<any> | undefined;
12
12
  prop?: string | undefined;
13
+ index?: number | ((index: number) => number) | undefined;
14
+ showOverflowTooltip?: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
13
15
  labelClassName?: string | undefined;
14
16
  property?: string | undefined;
15
17
  renderHeader?: ((data: {
@@ -24,14 +26,12 @@ declare const TableColumn: import("vue").DefineComponent<{
24
26
  resizable?: boolean | undefined;
25
27
  columnKey?: string | undefined;
26
28
  headerAlign?: string | undefined;
27
- showOverflowTooltip?: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
28
29
  selectable?: ((row: any, index: number) => boolean) | undefined;
29
30
  reserveSelection?: boolean | undefined;
30
31
  filteredValue?: string[] | undefined;
31
32
  filterPlacement?: string | undefined;
32
33
  filterMultiple?: boolean | undefined;
33
34
  filterClassName?: string | undefined;
34
- index?: number | ((index: number) => number) | undefined;
35
35
  sortOrders?: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[] | undefined;
36
36
  slots?: import("./table-column").TableColumnPropsSlots | undefined;
37
37
  renderer?: import("./renderer").RendererType | undefined;
@@ -54,6 +54,8 @@ declare const TableColumn: import("vue").DefineComponent<{
54
54
  className?: string | undefined;
55
55
  filterMethod?: import("element-plus/es/components/table/src/table-column/defaults.mjs").FilterMethods<any> | undefined;
56
56
  prop?: string | undefined;
57
+ index?: number | ((index: number) => number) | undefined;
58
+ showOverflowTooltip?: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
57
59
  labelClassName?: string | undefined;
58
60
  property?: string | undefined;
59
61
  renderHeader?: ((data: {
@@ -68,14 +70,12 @@ declare const TableColumn: import("vue").DefineComponent<{
68
70
  resizable?: boolean | undefined;
69
71
  columnKey?: string | undefined;
70
72
  headerAlign?: string | undefined;
71
- showOverflowTooltip?: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
72
73
  selectable?: ((row: any, index: number) => boolean) | undefined;
73
74
  reserveSelection?: boolean | undefined;
74
75
  filteredValue?: string[] | undefined;
75
76
  filterPlacement?: string | undefined;
76
77
  filterMultiple?: boolean | undefined;
77
78
  filterClassName?: string | undefined;
78
- index?: number | ((index: number) => number) | undefined;
79
79
  sortOrders?: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[] | undefined;
80
80
  slots?: import("./table-column").TableColumnPropsSlots | undefined;
81
81
  renderer?: import("./renderer").RendererType | undefined;
@@ -93,9 +93,9 @@ declare const TableColumn: import("vue").DefineComponent<{
93
93
  hidden: boolean;
94
94
  type: string;
95
95
  align: "left" | "right" | "center" | undefined;
96
+ showOverflowTooltip: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
96
97
  sortable: string | boolean;
97
98
  resizable: boolean;
98
- showOverflowTooltip: boolean | Partial<Pick<import("element-plus/es/components/index.mjs").ElTooltipProps, "offset" | "transition" | "enterable" | "appendTo" | "placement" | "popperClass" | "popperOptions" | "showArrow" | "effect" | "showAfter" | "hideAfter">> | undefined;
99
99
  reserveSelection: boolean;
100
100
  filterMultiple: boolean;
101
101
  sortOrders: (import("element-plus/es/components/table/src/table/defaults.mjs").TableSortOrder | null)[];
@@ -46,7 +46,10 @@ const TableColumn = defineComponent({
46
46
  obj.formatter = (row, column, cellValue, index) => {
47
47
  return renderer({
48
48
  cellValue,
49
- row}, obj.renderer, t);
49
+ row,
50
+ column,
51
+ index
52
+ }, obj.renderer, t);
50
53
  };
51
54
  const renderType = typeof obj.renderer === "object" ? obj.renderer.type : obj.renderer;
52
55
  const renderProps = mapRendererColumnProps[renderType];
@@ -1,10 +1,16 @@
1
1
  import { type FieldType } from '../../field';
2
2
  import { type FormItemProps } from '../../form';
3
3
  import { type FormQuerySlots, type FormQueryEmits, type FormQueryExpose } from '../../form-query';
4
- import { type PropType, type ExtractPropTypes } from 'vue';
4
+ import { type PropType, type ExtractPropTypes, VNodeChild } from 'vue';
5
+ export type TableQueryScheme = FormItemProps<FieldType> & {
6
+ render?: (params: {
7
+ model: Record<string, any>;
8
+ }) => VNodeChild;
9
+ slots?: Record<string, unknown>;
10
+ };
5
11
  export declare const tableQueryProps: {
6
12
  schemes: {
7
- type: PropType<FormItemProps<FieldType>[]>;
13
+ type: PropType<TableQueryScheme[]>;
8
14
  default: () => never[];
9
15
  };
10
16
  grid: {
@@ -2,7 +2,7 @@ import { type TableQuerySlots } from './table-query';
2
2
  type __VLS_Slots = TableQuerySlots;
3
3
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  schemes: {
5
- type: import("vue").PropType<import("../..").FormItemProps<import("../..").FieldType>[]>;
5
+ type: import("vue").PropType<import("./table-query").TableQueryScheme[]>;
6
6
  default: () => never[];
7
7
  };
8
8
  grid: {
@@ -155,7 +155,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
155
155
  "update:collapsed": (val: boolean) => any;
156
156
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
157
157
  schemes: {
158
- type: import("vue").PropType<import("../..").FormItemProps<import("../..").FieldType>[]>;
158
+ type: import("vue").PropType<import("./table-query").TableQueryScheme[]>;
159
159
  default: () => never[];
160
160
  };
161
161
  grid: {
@@ -318,7 +318,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
318
318
  scrollIntoViewOptions: boolean | Record<string, any>;
319
319
  minFields: number;
320
320
  collapsed: boolean;
321
- schemes: import("../..").FormItemProps<keyof import("../..").MapFieldTypeComponentProps>[];
321
+ schemes: import("./table-query").TableQueryScheme[];
322
322
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
323
323
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
324
324
  export default _default;
@@ -1,10 +1,10 @@
1
- import { defineComponent, useTemplateRef, reactive, onBeforeMount, createBlock, openBlock, unref, mergeProps, withKeys, withModifiers, withCtx, createElementBlock, Fragment, renderList } from 'vue';
1
+ import { defineComponent, ref, reactive, onBeforeMount, createBlock, openBlock, resolveDynamicComponent, unref } from 'vue';
2
2
  import { tableQueryProps, omittedTableQueryProps, tableQueryExposeKeys } from './table-query.js';
3
3
  import { reactiveOmit } from '@vueuse/core';
4
4
  import { cloneDeep } from 'lodash-es';
5
5
  import { FormItem as _FormItem } from '../../form/index.js';
6
6
  import { FormQuery as _FormQuery } from '../../form-query/index.js';
7
- import { createMergedExpose } from '../../../utils/vue.js';
7
+ import { createMergedExpose, defineTemplate } from '../../../utils/vue.js';
8
8
 
9
9
  var stdin_default = /* @__PURE__ */defineComponent({
10
10
  ...{
@@ -18,7 +18,7 @@ var stdin_default = /* @__PURE__ */defineComponent({
18
18
  }) {
19
19
  const props = __props;
20
20
  const formQueryProps = reactiveOmit(props, omittedTableQueryProps);
21
- const formQueryRef = useTemplateRef("formQuery");
21
+ const formQueryRef = ref();
22
22
  const formModel = reactive({});
23
23
  onBeforeMount(() => {
24
24
  props.schemes.forEach(item => {
@@ -40,26 +40,39 @@ var stdin_default = /* @__PURE__ */defineComponent({
40
40
  }
41
41
  };
42
42
  __expose(createMergedExpose(tableQueryExposeKeys, () => formQueryRef.value, customExpose));
43
- return (_ctx, _cache) => {
44
- return openBlock(), createBlock(unref(_FormQuery), mergeProps({
45
- ref: "formQuery"
46
- }, unref(formQueryProps), {
43
+ const template = defineTemplate(h => {
44
+ return h(_FormQuery, {
45
+ ...formQueryProps,
46
+ ref: formQueryRef,
47
47
  model: formModel,
48
- onKeyup: withKeys(withModifiers(onEnter, ["prevent"]), ["enter"])
49
- }), {
50
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.schemes, (item, i) => {
51
- return openBlock(), createBlock(unref(_FormItem), mergeProps({
52
- key: i,
53
- ref_for: true
54
- }, item, {
55
- modelValue: formModel[item.prop],
56
- "onUpdate:modelValue": $event => formModel[item.prop] = $event
57
- }), null, 16, ["modelValue", "onUpdate:modelValue"]);
58
- }), 128
59
- /* KEYED_FRAGMENT */))]),
60
- _: 1
61
- /* STABLE */
62
- }, 16, ["model", "onKeyup"]);
48
+ onKeyupEnterPrevent: onEnter
49
+ }, () => {
50
+ return props.schemes.map(item => {
51
+ const {
52
+ slots,
53
+ render,
54
+ ...rest
55
+ } = item;
56
+ if (render) {
57
+ return h(_FormItem, rest, {
58
+ ...slots,
59
+ default: () => {
60
+ return render({
61
+ model: formModel
62
+ });
63
+ }
64
+ });
65
+ }
66
+ return h(_FormItem, {
67
+ ...rest,
68
+ modelValue: formModel[rest.prop],
69
+ "onUpdate:modelValue": value => formModel[rest.prop] = value
70
+ }, slots);
71
+ });
72
+ });
73
+ });
74
+ return (_ctx, _cache) => {
75
+ return openBlock(), createBlock(resolveDynamicComponent(unref(template)));
63
76
  };
64
77
  }
65
78
  });
@@ -79,19 +79,17 @@ export declare const tableProps: {
79
79
  emptyText: StringConstructor;
80
80
  sumText: StringConstructor;
81
81
  cellClassName: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
82
- scrollbarAlwaysOn: BooleanConstructor;
83
- defaultExpandAll: BooleanConstructor;
82
+ fit: {
83
+ type: BooleanConstructor;
84
+ default: boolean;
85
+ };
84
86
  lazy: BooleanConstructor;
85
87
  indent: {
86
88
  type: NumberConstructor;
87
89
  default: number;
88
90
  };
89
- fit: {
90
- type: BooleanConstructor;
91
- default: boolean;
92
- };
93
- showOverflowTooltip: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
94
- tooltipFormatter: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
91
+ scrollbarAlwaysOn: BooleanConstructor;
92
+ defaultExpandAll: BooleanConstructor;
95
93
  stripe: BooleanConstructor;
96
94
  rowKey: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
97
95
  showHeader: {
@@ -127,6 +125,8 @@ export declare const tableProps: {
127
125
  };
128
126
  };
129
127
  flexible: BooleanConstructor;
128
+ showOverflowTooltip: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
129
+ tooltipFormatter: PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
130
130
  appendFilterPanelTo: StringConstructor;
131
131
  scrollbarTabindex: {
132
132
  type: (NumberConstructor | StringConstructor)[];
@@ -25,7 +25,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
25
25
  type: import("vue").PropType<(expose: TableExpose) => void>;
26
26
  };
27
27
  formProps: {
28
- type: import("vue").PropType<import(".").TableQueryProps>;
28
+ type: import("vue").PropType<import("..").TableQueryProps>;
29
29
  };
30
30
  beforeFetch: {
31
31
  type: import("vue").PropType<(params: Record<string, any>) => any>;
@@ -66,19 +66,17 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
66
66
  emptyText: StringConstructor;
67
67
  sumText: StringConstructor;
68
68
  cellClassName: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
69
- scrollbarAlwaysOn: BooleanConstructor;
70
- defaultExpandAll: BooleanConstructor;
69
+ fit: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
71
73
  lazy: BooleanConstructor;
72
74
  indent: {
73
75
  type: NumberConstructor;
74
76
  default: number;
75
77
  };
76
- fit: {
77
- type: BooleanConstructor;
78
- default: boolean;
79
- };
80
- showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
81
- tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
78
+ scrollbarAlwaysOn: BooleanConstructor;
79
+ defaultExpandAll: BooleanConstructor;
82
80
  stripe: BooleanConstructor;
83
81
  rowKey: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
84
82
  showHeader: {
@@ -114,6 +112,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
114
112
  };
115
113
  };
116
114
  flexible: BooleanConstructor;
115
+ showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
116
+ tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
117
117
  appendFilterPanelTo: StringConstructor;
118
118
  scrollbarTabindex: {
119
119
  type: (NumberConstructor | StringConstructor)[];
@@ -178,7 +178,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
178
178
  type: import("vue").PropType<(expose: TableExpose) => void>;
179
179
  };
180
180
  formProps: {
181
- type: import("vue").PropType<import(".").TableQueryProps>;
181
+ type: import("vue").PropType<import("..").TableQueryProps>;
182
182
  };
183
183
  beforeFetch: {
184
184
  type: import("vue").PropType<(params: Record<string, any>) => any>;
@@ -219,19 +219,17 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
219
219
  emptyText: StringConstructor;
220
220
  sumText: StringConstructor;
221
221
  cellClassName: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["cellClassName"]>;
222
- scrollbarAlwaysOn: BooleanConstructor;
223
- defaultExpandAll: BooleanConstructor;
222
+ fit: {
223
+ type: BooleanConstructor;
224
+ default: boolean;
225
+ };
224
226
  lazy: BooleanConstructor;
225
227
  indent: {
226
228
  type: NumberConstructor;
227
229
  default: number;
228
230
  };
229
- fit: {
230
- type: BooleanConstructor;
231
- default: boolean;
232
- };
233
- showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
234
- tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
231
+ scrollbarAlwaysOn: BooleanConstructor;
232
+ defaultExpandAll: BooleanConstructor;
235
233
  stripe: BooleanConstructor;
236
234
  rowKey: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["rowKey"]>;
237
235
  showHeader: {
@@ -267,6 +265,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
267
265
  };
268
266
  };
269
267
  flexible: BooleanConstructor;
268
+ showOverflowTooltip: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["showOverflowTooltip"]>;
269
+ tooltipFormatter: import("vue").PropType<import("element-plus/es/components/index.mjs").TableProps<any>["tooltipFormatter"]>;
270
270
  appendFilterPanelTo: StringConstructor;
271
271
  scrollbarTabindex: {
272
272
  type: (NumberConstructor | StringConstructor)[];
@@ -285,11 +285,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
285
285
  immediate: boolean;
286
286
  className: string;
287
287
  pagination: boolean | PaginationProps;
288
- scrollbarAlwaysOn: boolean;
289
- defaultExpandAll: boolean;
288
+ fit: boolean;
290
289
  lazy: boolean;
291
290
  indent: number;
292
- fit: boolean;
291
+ scrollbarAlwaysOn: boolean;
292
+ defaultExpandAll: boolean;
293
293
  stripe: boolean;
294
294
  showHeader: boolean;
295
295
  showSummary: boolean;
@@ -1,8 +1,8 @@
1
1
  export * from './transition-group';
2
2
  declare const _TransitionGroup: {
3
3
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./transition-group").TransitionGroupProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
4
- effect: "slide" | "flip" | "fade" | (string & {});
5
4
  css: boolean;
5
+ effect: "slide" | "flip" | "fade" | (string & {});
6
6
  }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
7
7
  P: {};
8
8
  B: {};
@@ -11,15 +11,15 @@ declare const _TransitionGroup: {
11
11
  M: {};
12
12
  Defaults: {};
13
13
  }, Readonly<import("./transition-group").TransitionGroupProps> & Readonly<{}>, {}, {}, {}, {}, {
14
- effect: "slide" | "flip" | "fade" | (string & {});
15
14
  css: boolean;
15
+ effect: "slide" | "flip" | "fade" | (string & {});
16
16
  }>;
17
17
  __isFragment?: never;
18
18
  __isTeleport?: never;
19
19
  __isSuspense?: never;
20
20
  } & import("vue").ComponentOptionsBase<Readonly<import("./transition-group").TransitionGroupProps> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
21
- effect: "slide" | "flip" | "fade" | (string & {});
22
21
  css: boolean;
22
+ effect: "slide" | "flip" | "fade" | (string & {});
23
23
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
24
24
  $slots: import("./transition-group").TransitionGroupSlots;
25
25
  }) & import("vue").Plugin;
@@ -1,8 +1,8 @@
1
1
  import { type TransitionGroupProps, type TransitionGroupSlots } from './transition-group';
2
2
  type __VLS_Slots = TransitionGroupSlots;
3
3
  declare const __VLS_component: import("vue").DefineComponent<TransitionGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<TransitionGroupProps> & Readonly<{}>, {
4
- effect: "slide" | "flip" | "fade" | (string & {});
5
4
  css: boolean;
5
+ effect: "slide" | "flip" | "fade" | (string & {});
6
6
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
7
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
8
8
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cosey",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "基于 Vue3 + vite 的后台管理系统框架",
5
5
  "type": "module",
6
6
  "main": "index.js",