@v1nt1248/3nclient-lib 0.3.9 → 0.3.12
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/README.md +3 -2
- package/dist/components/ui3n-autocomplete/types.d.ts +100 -0
- package/dist/components/ui3n-badge/types.d.ts +14 -0
- package/dist/components/ui3n-badge/ui3n-badge.vue.d.ts +2 -4
- package/dist/components/ui3n-breadcrumbs/types.d.ts +50 -0
- package/dist/components/ui3n-breadcrumbs/ui3n-breadcrumbs.vue.d.ts +2 -4
- package/dist/components/ui3n-button/types.d.ts +21 -0
- package/dist/components/ui3n-button/ui3n-button.vue.d.ts +2 -4
- package/dist/components/ui3n-checkbox/types.d.ts +44 -0
- package/dist/components/ui3n-chip/types.d.ts +49 -0
- package/dist/components/ui3n-dialog/types.d.ts +103 -0
- package/dist/components/ui3n-drop-files/types.d.ts +31 -0
- package/dist/components/ui3n-editable/types.d.ts +102 -0
- package/dist/components/ui3n-emoji/types.d.ts +13 -0
- package/dist/components/ui3n-icon/types.d.ts +10 -0
- package/dist/components/ui3n-input/types.d.ts +85 -0
- package/dist/components/ui3n-input-file/types.d.ts +29 -0
- package/dist/components/ui3n-list/types.d.ts +35 -0
- package/dist/components/ui3n-menu/types.d.ts +89 -0
- package/dist/components/ui3n-notification/types.d.ts +28 -0
- package/dist/components/ui3n-progress/types.d.ts +49 -0
- package/dist/components/ui3n-radio-group/types.d.ts +78 -0
- package/dist/components/ui3n-selector/types.d.ts +95 -0
- package/dist/components/ui3n-slider/types.d.ts +51 -0
- package/dist/components/ui3n-step-line-bar/types.d.ts +12 -0
- package/dist/components/ui3n-switch/types.d.ts +31 -0
- package/dist/components/ui3n-table/types.d.ts +198 -0
- package/dist/components/ui3n-tabs/types.d.ts +38 -0
- package/dist/components/ui3n-text/types.d.ts +56 -0
- package/dist/components/ui3n-tooltip/types.d.ts +69 -0
- package/dist/components/ui3n-virtual-scroll/types.d.ts +18 -0
- package/dist/constants/general.d.ts +0 -1
- package/dist/constants/plugins-keys.d.ts +0 -2
- package/dist/index.d.ts +0 -8
- package/dist/plugins/index.d.ts +1 -4
- package/dist/style.css +1 -1
- package/dist/ui3n-components.js +5521 -5527
- package/dist/ui3n-plugins.d.ts +3 -11
- package/dist/ui3n-plugins.js +338 -366
- package/dist/ui3n-utils.js +422 -439
- package/dist/utils/copy-to-clipboard.d.ts +1 -0
- package/dist/utils/execute-function.d.ts +29 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/remove-whitespace-in-string.d.ts +1 -0
- package/dist/utils/ui/get-element-color.d.ts +1 -1
- package/package.json +25 -22
- package/src/components/ui3n-autocomplete/types.ts +100 -0
- package/src/components/ui3n-badge/types.ts +16 -0
- package/src/components/ui3n-badge/ui3n-badge-simple.vue +10 -9
- package/src/components/ui3n-badge/ui3n-badge.vue +37 -36
- package/src/components/ui3n-breadcrumbs/types.ts +51 -0
- package/src/components/ui3n-breadcrumbs/ui3n-breadcrumb.vue +69 -69
- package/src/components/ui3n-breadcrumbs/ui3n-breadcrumbs.vue +7 -8
- package/src/components/ui3n-button/types.ts +23 -0
- package/src/components/ui3n-button/ui3n-button.vue +27 -29
- package/src/components/ui3n-checkbox/types.ts +44 -0
- package/src/components/ui3n-checkbox/ui3n-checkbox.vue +16 -23
- package/src/components/ui3n-chip/types.ts +51 -0
- package/src/components/ui3n-dialog/types.ts +103 -0
- package/src/components/ui3n-drop-files/types.ts +31 -0
- package/src/components/ui3n-editable/types.ts +102 -0
- package/src/components/ui3n-editable/useContentEditable.ts +4 -2
- package/src/components/ui3n-emoji/types.ts +13 -0
- package/src/components/ui3n-icon/types.ts +10 -0
- package/src/components/ui3n-input/types.ts +85 -0
- package/src/components/ui3n-input-file/types.ts +29 -0
- package/src/components/ui3n-list/types.ts +35 -0
- package/src/components/ui3n-menu/types.ts +89 -0
- package/src/components/ui3n-notification/types.ts +28 -0
- package/src/components/ui3n-progress/types.ts +49 -0
- package/src/components/ui3n-radio-group/types.ts +78 -0
- package/src/components/ui3n-selector/types.ts +96 -1
- package/src/components/ui3n-slider/types.ts +51 -0
- package/src/components/ui3n-step-line-bar/types.ts +12 -0
- package/src/components/ui3n-switch/types.ts +31 -0
- package/src/components/ui3n-table/types.ts +204 -0
- package/src/components/ui3n-tabs/types.ts +38 -0
- package/src/components/ui3n-text/types.ts +56 -0
- package/src/components/ui3n-tooltip/types.ts +69 -0
- package/src/components/ui3n-virtual-scroll/types.ts +18 -0
- package/dist/plugins/i18n/i18n.d.ts +0 -9
- package/dist/plugins/i18n/store-i18n.d.ts +0 -7
- package/dist/plugins/i18n/types.d.ts +0 -9
|
@@ -1,32 +1,110 @@
|
|
|
1
1
|
import { VNode } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Radio value type
|
|
4
|
+
*/
|
|
2
5
|
export type Ui3nRadioValue = boolean | string | number;
|
|
6
|
+
/**
|
|
7
|
+
* Radio component properties
|
|
8
|
+
*/
|
|
3
9
|
export interface Ui3nRadioProps {
|
|
10
|
+
/**
|
|
11
|
+
* Current radio value
|
|
12
|
+
*/
|
|
4
13
|
modelValue?: Ui3nRadioValue;
|
|
14
|
+
/**
|
|
15
|
+
* Value when radio is checked
|
|
16
|
+
*/
|
|
5
17
|
checkedValue?: Ui3nRadioValue;
|
|
18
|
+
/**
|
|
19
|
+
* Value when radio is unchecked
|
|
20
|
+
*/
|
|
6
21
|
uncheckedValue?: Ui3nRadioValue;
|
|
22
|
+
/**
|
|
23
|
+
* Radio size
|
|
24
|
+
*/
|
|
7
25
|
size?: number | string;
|
|
26
|
+
/**
|
|
27
|
+
* Radio color
|
|
28
|
+
*/
|
|
8
29
|
color?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Whether radio is disabled
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
9
34
|
disabled?: boolean;
|
|
10
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Radio component emits
|
|
38
|
+
*/
|
|
11
39
|
export interface Ui3nRadioEmits {
|
|
40
|
+
/**
|
|
41
|
+
* Emitted when radio value changes
|
|
42
|
+
*/
|
|
12
43
|
(ev: 'change', value: Ui3nRadioValue): void;
|
|
44
|
+
/**
|
|
45
|
+
* Emitted when model value updates
|
|
46
|
+
*/
|
|
13
47
|
(ev: 'update:modelValue', value: Ui3nRadioValue): void;
|
|
14
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Radio component slots
|
|
51
|
+
*/
|
|
15
52
|
export interface Ui3nRadioSlots {
|
|
53
|
+
/**
|
|
54
|
+
* Checked icon slot
|
|
55
|
+
*/
|
|
16
56
|
checkedIcon: () => VNode;
|
|
57
|
+
/**
|
|
58
|
+
* Unchecked icon slot
|
|
59
|
+
*/
|
|
17
60
|
uncheckedIcon: () => VNode;
|
|
61
|
+
/**
|
|
62
|
+
* Default slot
|
|
63
|
+
*/
|
|
18
64
|
default: () => VNode;
|
|
19
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Radio group component properties
|
|
68
|
+
*/
|
|
20
69
|
export interface Ui3nRadioGroupProps {
|
|
70
|
+
/**
|
|
71
|
+
* Radio group name
|
|
72
|
+
*/
|
|
21
73
|
name: string;
|
|
74
|
+
/**
|
|
75
|
+
* Current radio group value
|
|
76
|
+
*/
|
|
22
77
|
modelValue: Ui3nRadioValue;
|
|
78
|
+
/**
|
|
79
|
+
* Radio group direction
|
|
80
|
+
* @default 'vertical'
|
|
81
|
+
*/
|
|
23
82
|
direction?: 'horizontal' | 'vertical';
|
|
83
|
+
/**
|
|
84
|
+
* Whether radio group is disabled
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
24
87
|
disabled?: boolean;
|
|
25
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Radio group component emits
|
|
91
|
+
*/
|
|
26
92
|
export interface Ui3nRadioGroupEmits {
|
|
93
|
+
/**
|
|
94
|
+
* Emitted when radio group value changes
|
|
95
|
+
*/
|
|
27
96
|
(ev: 'change', value: Ui3nRadioValue): void;
|
|
97
|
+
/**
|
|
98
|
+
* Emitted when model value updates
|
|
99
|
+
*/
|
|
28
100
|
(ev: 'update:modelValue', value: Ui3nRadioValue): void;
|
|
29
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Radio group component slots
|
|
104
|
+
*/
|
|
30
105
|
export interface Ui3nRadioGroupSlots {
|
|
106
|
+
/**
|
|
107
|
+
* Default slot
|
|
108
|
+
*/
|
|
31
109
|
default: () => VNode;
|
|
32
110
|
}
|
|
@@ -1,43 +1,138 @@
|
|
|
1
1
|
import { VNode } from 'vue';
|
|
2
2
|
import { PrepareComponentEmits, Nullable } from '../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Base selector option interface
|
|
5
|
+
*/
|
|
3
6
|
export interface Ui3nSelectorOptionBase {
|
|
7
|
+
/**
|
|
8
|
+
* Option ID
|
|
9
|
+
*/
|
|
4
10
|
id: string;
|
|
5
11
|
[key: string]: any;
|
|
6
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Function to display selector item
|
|
15
|
+
*/
|
|
7
16
|
export type Ui3nSelectorItemDisplayingFunction<T extends Ui3nSelectorOptionBase> = (v: T) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Selector value type
|
|
19
|
+
*/
|
|
8
20
|
export type Ui3nSelectorValue<T extends Ui3nSelectorOptionBase> = T | T[keyof T] | null;
|
|
21
|
+
/**
|
|
22
|
+
* Selector component properties
|
|
23
|
+
*/
|
|
9
24
|
export interface Ui3nSelectorProps<T extends Ui3nSelectorOptionBase> {
|
|
25
|
+
/**
|
|
26
|
+
* Current selector value
|
|
27
|
+
*/
|
|
10
28
|
modelValue: Ui3nSelectorValue<T>;
|
|
29
|
+
/**
|
|
30
|
+
* Label text
|
|
31
|
+
*/
|
|
11
32
|
label?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Placeholder text
|
|
35
|
+
*/
|
|
12
36
|
placeholder?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Items to display
|
|
39
|
+
*/
|
|
13
40
|
items?: T[];
|
|
41
|
+
/**
|
|
42
|
+
* Property to use as value
|
|
43
|
+
*/
|
|
14
44
|
itemValue?: keyof T;
|
|
45
|
+
/**
|
|
46
|
+
* Property or function to display item
|
|
47
|
+
*/
|
|
15
48
|
itemDisplay?: keyof T | Ui3nSelectorItemDisplayingFunction<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Custom filter function
|
|
51
|
+
*/
|
|
16
52
|
customFilter?: (value: Ui3nSelectorValue<T>, query: string) => boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to return the whole object or just the value
|
|
55
|
+
* @default false
|
|
56
|
+
*/
|
|
17
57
|
returnObject?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Whether to show clear button
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
18
62
|
clearable?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Whether to show search input
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
19
67
|
withSearch?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Whether to hide selected item
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
20
72
|
hideSelected?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Text to show when no data
|
|
75
|
+
*/
|
|
21
76
|
noDataText?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Whether selector is disabled
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
22
81
|
disabled?: boolean;
|
|
23
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Selector component events map
|
|
85
|
+
*/
|
|
24
86
|
export interface Ui3nSelectorEventsMap<T extends Ui3nSelectorOptionBase> {
|
|
87
|
+
/**
|
|
88
|
+
* Emitted when model value updates
|
|
89
|
+
*/
|
|
25
90
|
'update:modelValue': Ui3nSelectorValue<T>;
|
|
91
|
+
/**
|
|
92
|
+
* Emitted when list is opened
|
|
93
|
+
*/
|
|
26
94
|
'list:open': undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Emitted when list is closed
|
|
97
|
+
*/
|
|
27
98
|
'list:close': undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Emitted when component is focused
|
|
101
|
+
*/
|
|
28
102
|
focus: undefined;
|
|
103
|
+
/**
|
|
104
|
+
* Emitted when component loses focus
|
|
105
|
+
*/
|
|
29
106
|
blur: undefined;
|
|
30
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Selector component events type
|
|
110
|
+
*/
|
|
31
111
|
export type Ui3nSelectorEvents = keyof Ui3nSelectorEventsMap<any>;
|
|
112
|
+
/**
|
|
113
|
+
* Selector component emits
|
|
114
|
+
*/
|
|
32
115
|
export type Ui3nSelectorEmits<T extends Ui3nSelectorOptionBase> = PrepareComponentEmits<Ui3nSelectorEventsMap<T>>;
|
|
116
|
+
/**
|
|
117
|
+
* Selector component slots
|
|
118
|
+
*/
|
|
33
119
|
export interface Ui3nSelectorSlots<T extends Ui3nSelectorOptionBase> {
|
|
120
|
+
/**
|
|
121
|
+
* No data text slot
|
|
122
|
+
*/
|
|
34
123
|
noDataText?: () => VNode;
|
|
124
|
+
/**
|
|
125
|
+
* Item slot
|
|
126
|
+
*/
|
|
35
127
|
item?: (props: {
|
|
36
128
|
item: T;
|
|
37
129
|
index: number;
|
|
38
130
|
activeIndex: Nullable<number>;
|
|
39
131
|
query?: string;
|
|
40
132
|
}) => VNode;
|
|
133
|
+
/**
|
|
134
|
+
* Selection slot
|
|
135
|
+
*/
|
|
41
136
|
selection?: (props: {
|
|
42
137
|
value: Ui3nSelectorValue<T>;
|
|
43
138
|
selectedItem: T | undefined;
|
|
@@ -1,20 +1,71 @@
|
|
|
1
1
|
export interface UI3nSliderProps {
|
|
2
|
+
/**
|
|
3
|
+
* Current slider value
|
|
4
|
+
*/
|
|
2
5
|
modelValue: number | [number, number];
|
|
6
|
+
/**
|
|
7
|
+
* Slider step
|
|
8
|
+
*/
|
|
3
9
|
step?: string | number;
|
|
10
|
+
/**
|
|
11
|
+
* Whether slider is range
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
4
14
|
range?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Minimum value
|
|
17
|
+
*/
|
|
5
18
|
min?: string | number;
|
|
19
|
+
/**
|
|
20
|
+
* Maximum value
|
|
21
|
+
*/
|
|
6
22
|
max?: string | number;
|
|
23
|
+
/**
|
|
24
|
+
* Label visibility
|
|
25
|
+
* @default 'normal'
|
|
26
|
+
*/
|
|
7
27
|
labelVisible?: 'always' | 'normal' | 'never';
|
|
28
|
+
/**
|
|
29
|
+
* Label text color
|
|
30
|
+
*/
|
|
8
31
|
labelTextColor?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Label color
|
|
34
|
+
*/
|
|
9
35
|
labelColor?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Active color
|
|
38
|
+
*/
|
|
10
39
|
activeColor?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Track color
|
|
42
|
+
*/
|
|
11
43
|
trackColor?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Track height
|
|
46
|
+
*/
|
|
12
47
|
trackHeight?: string | number;
|
|
48
|
+
/**
|
|
49
|
+
* Thumb size
|
|
50
|
+
*/
|
|
13
51
|
thumbSize?: string | number;
|
|
52
|
+
/**
|
|
53
|
+
* Thumb color
|
|
54
|
+
*/
|
|
14
55
|
thumbColor?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Transform value method
|
|
58
|
+
*/
|
|
15
59
|
transformValueMethod?: (value: number) => string;
|
|
60
|
+
/**
|
|
61
|
+
* Whether slider is disabled
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
16
64
|
disabled?: boolean;
|
|
17
65
|
}
|
|
18
66
|
export interface UI3nSliderEmits {
|
|
67
|
+
/**
|
|
68
|
+
* Emitted when model value updates
|
|
69
|
+
*/
|
|
19
70
|
(event: 'update:modelValue', value: number | [number, number]): void;
|
|
20
71
|
}
|
|
@@ -1,14 +1,45 @@
|
|
|
1
1
|
import { VNode } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Switch component properties
|
|
4
|
+
*/
|
|
2
5
|
export interface Ui3nSwitchProps {
|
|
6
|
+
/**
|
|
7
|
+
* Current switch value
|
|
8
|
+
*/
|
|
3
9
|
modelValue: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Switch size
|
|
12
|
+
*/
|
|
4
13
|
size?: number | string;
|
|
14
|
+
/**
|
|
15
|
+
* Switch color
|
|
16
|
+
*/
|
|
5
17
|
color?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether switch is disabled
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
6
22
|
disabled?: boolean;
|
|
7
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Switch component emits
|
|
26
|
+
*/
|
|
8
27
|
export interface Ui3nSwitchEmits {
|
|
28
|
+
/**
|
|
29
|
+
* Emitted when switch value changes
|
|
30
|
+
*/
|
|
9
31
|
(ev: 'change', value: boolean): void;
|
|
32
|
+
/**
|
|
33
|
+
* Emitted when model value updates
|
|
34
|
+
*/
|
|
10
35
|
(ev: 'update:modelValue', value: boolean): void;
|
|
11
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Switch component slots
|
|
39
|
+
*/
|
|
12
40
|
export interface Ui3nSwitchSlots {
|
|
41
|
+
/**
|
|
42
|
+
* Default slot
|
|
43
|
+
*/
|
|
13
44
|
default: () => VNode;
|
|
14
45
|
}
|
|
@@ -1,95 +1,293 @@
|
|
|
1
1
|
import { VNode, Ref, ComputedRef } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Base table item interface
|
|
4
|
+
*/
|
|
2
5
|
export interface Ui3nTableBodyBaseItem {
|
|
6
|
+
/**
|
|
7
|
+
* Item ID
|
|
8
|
+
*/
|
|
3
9
|
id?: string | number | symbol;
|
|
4
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Table sort type
|
|
13
|
+
*/
|
|
5
14
|
export type Ui3nTableSort<T extends Ui3nTableBodyBaseItem> = {
|
|
15
|
+
/**
|
|
16
|
+
* Sort field
|
|
17
|
+
*/
|
|
6
18
|
field: keyof T;
|
|
19
|
+
/**
|
|
20
|
+
* Sort direction
|
|
21
|
+
*/
|
|
7
22
|
direction: 'asc' | 'desc';
|
|
8
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Table configuration type
|
|
26
|
+
*/
|
|
9
27
|
export type Ui3nTableConfig<T extends Ui3nTableBodyBaseItem, K extends keyof T = keyof T> = {
|
|
28
|
+
/**
|
|
29
|
+
* Table name
|
|
30
|
+
*/
|
|
10
31
|
tableName?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Sort order
|
|
34
|
+
*/
|
|
11
35
|
sortOrder?: Ui3nTableSort<T>;
|
|
36
|
+
/**
|
|
37
|
+
* Selection mode
|
|
38
|
+
*/
|
|
12
39
|
selectable?: 'single' | 'multiple';
|
|
40
|
+
/**
|
|
41
|
+
* Column styles
|
|
42
|
+
*/
|
|
13
43
|
columnStyle?: {
|
|
14
44
|
[P in Omit<K, 'id'> as string | number]: Record<string, string>;
|
|
15
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Field to use as row key
|
|
48
|
+
*/
|
|
16
49
|
fieldAsRowKey?: keyof T;
|
|
50
|
+
/**
|
|
51
|
+
* Whether to show no data message
|
|
52
|
+
* @default true
|
|
53
|
+
*/
|
|
17
54
|
showNoDataMessage?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Minimum height for unused place
|
|
57
|
+
*/
|
|
18
58
|
minHeightUnusedPlace?: number | string;
|
|
19
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Table header properties type
|
|
62
|
+
*/
|
|
20
63
|
export type Ui3nTableHeadProps<T extends Ui3nTableBodyBaseItem> = {
|
|
64
|
+
/**
|
|
65
|
+
* Header key
|
|
66
|
+
*/
|
|
21
67
|
key: keyof T;
|
|
68
|
+
/**
|
|
69
|
+
* Header text
|
|
70
|
+
*/
|
|
22
71
|
text: string;
|
|
72
|
+
/**
|
|
73
|
+
* Whether header is sortable
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
23
76
|
sortable?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Header cell style
|
|
79
|
+
*/
|
|
24
80
|
headCellStyle?: Record<string, string>;
|
|
81
|
+
/**
|
|
82
|
+
* Format function
|
|
83
|
+
*/
|
|
25
84
|
format?: (content: unknown) => string;
|
|
85
|
+
/**
|
|
86
|
+
* Whether header is hidden
|
|
87
|
+
* @default false
|
|
88
|
+
*/
|
|
26
89
|
hidden?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Header index
|
|
92
|
+
*/
|
|
27
93
|
index?: number;
|
|
28
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Table body properties type
|
|
97
|
+
*/
|
|
29
98
|
export type Ui3nTableBodyProps<T extends Ui3nTableBodyBaseItem, K extends keyof T = keyof T> = {
|
|
99
|
+
/**
|
|
100
|
+
* Body content
|
|
101
|
+
*/
|
|
30
102
|
content: T[];
|
|
103
|
+
/**
|
|
104
|
+
* Row styles
|
|
105
|
+
*/
|
|
31
106
|
rowsStyle?: {
|
|
32
107
|
[P in T[K] as string | number]: Record<string, string>;
|
|
33
108
|
};
|
|
34
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Table component properties
|
|
112
|
+
*/
|
|
35
113
|
export interface Ui3nTableProps<T extends Ui3nTableBodyBaseItem> {
|
|
114
|
+
/**
|
|
115
|
+
* Table configuration
|
|
116
|
+
*/
|
|
36
117
|
config: Ui3nTableConfig<T>;
|
|
118
|
+
/**
|
|
119
|
+
* Table header
|
|
120
|
+
*/
|
|
37
121
|
head: Ui3nTableHeadProps<T>[];
|
|
122
|
+
/**
|
|
123
|
+
* Table body
|
|
124
|
+
*/
|
|
38
125
|
body: Ui3nTableBodyProps<T>;
|
|
39
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Table component events
|
|
129
|
+
*/
|
|
40
130
|
export interface Ui3nTableEmits<T extends Ui3nTableBodyBaseItem> {
|
|
131
|
+
/**
|
|
132
|
+
* Emitted when sort changes
|
|
133
|
+
*/
|
|
41
134
|
(ev: 'change:sort', val: Ui3nTableSort<T>): void;
|
|
135
|
+
/**
|
|
136
|
+
* Emitted when row is selected
|
|
137
|
+
*/
|
|
42
138
|
(ev: 'select:row', val: T[]): void;
|
|
43
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Table other slots
|
|
142
|
+
*/
|
|
44
143
|
export type Ui3nTableOtherSlots = {
|
|
144
|
+
/**
|
|
145
|
+
* No data slot
|
|
146
|
+
*/
|
|
45
147
|
'no-data': () => VNode;
|
|
148
|
+
/**
|
|
149
|
+
* Unused place slot
|
|
150
|
+
*/
|
|
46
151
|
'unused-place': () => VNode;
|
|
47
152
|
};
|
|
153
|
+
/**
|
|
154
|
+
* Table group actions slot
|
|
155
|
+
*/
|
|
48
156
|
export type Ui3nTableGroupActionsSlot<T extends Ui3nTableBodyBaseItem> = {
|
|
157
|
+
/**
|
|
158
|
+
* Group actions slot
|
|
159
|
+
*/
|
|
49
160
|
'group-actions': ({ selectedRows }: {
|
|
50
161
|
selectedRows: T[];
|
|
51
162
|
}) => VNode;
|
|
52
163
|
};
|
|
164
|
+
/**
|
|
165
|
+
* Table header cell slot
|
|
166
|
+
*/
|
|
53
167
|
export type Ui3nTableHeaderCellSlot<T extends Ui3nTableBodyBaseItem, K extends string & keyof T> = {
|
|
54
168
|
[p in `header-cell-${K}`]: () => VNode;
|
|
55
169
|
};
|
|
170
|
+
/**
|
|
171
|
+
* Table body row slot scope
|
|
172
|
+
*/
|
|
56
173
|
export type Ui3nTableBodyRowSlotScope<T extends Ui3nTableBodyBaseItem, K extends keyof T = keyof T> = {
|
|
174
|
+
/**
|
|
175
|
+
* Row data
|
|
176
|
+
*/
|
|
57
177
|
row: T;
|
|
178
|
+
/**
|
|
179
|
+
* Row style
|
|
180
|
+
*/
|
|
58
181
|
rowStyle?: Record<string, string>;
|
|
182
|
+
/**
|
|
183
|
+
* Row index
|
|
184
|
+
*/
|
|
59
185
|
rowIndex: number;
|
|
186
|
+
/**
|
|
187
|
+
* Whether row is selected
|
|
188
|
+
*/
|
|
60
189
|
isRowSelected?: boolean;
|
|
190
|
+
/**
|
|
191
|
+
* Column styles
|
|
192
|
+
*/
|
|
61
193
|
columnStyle?: {
|
|
62
194
|
[P in Omit<K, 'id'> as string | number]: Record<string, string>;
|
|
63
195
|
};
|
|
196
|
+
/**
|
|
197
|
+
* Events
|
|
198
|
+
*/
|
|
64
199
|
events?: {
|
|
200
|
+
/**
|
|
201
|
+
* Select function
|
|
202
|
+
*/
|
|
65
203
|
select: (row: T, withoutEvents?: boolean) => void;
|
|
66
204
|
};
|
|
67
205
|
};
|
|
206
|
+
/**
|
|
207
|
+
* Table body row slot
|
|
208
|
+
*/
|
|
68
209
|
export type Ui3nTableBodyRowSlot<T extends Ui3nTableBodyBaseItem> = {
|
|
210
|
+
/**
|
|
211
|
+
* Row slot
|
|
212
|
+
*/
|
|
69
213
|
row: (scope: Ui3nTableBodyRowSlotScope<T>) => VNode;
|
|
70
214
|
};
|
|
215
|
+
/**
|
|
216
|
+
* Table body row cell slot scope
|
|
217
|
+
*/
|
|
71
218
|
export type Ui3nTableBodyRowCellSlotScope<T extends Ui3nTableBodyBaseItem, K extends string & keyof T> = {
|
|
219
|
+
/**
|
|
220
|
+
* Row data
|
|
221
|
+
*/
|
|
72
222
|
row: T;
|
|
223
|
+
/**
|
|
224
|
+
* Row index
|
|
225
|
+
*/
|
|
73
226
|
rowIndex: number;
|
|
227
|
+
/**
|
|
228
|
+
* Whether row is selected
|
|
229
|
+
*/
|
|
74
230
|
isRowSelected?: boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Column styles
|
|
233
|
+
*/
|
|
75
234
|
columnStyle?: {
|
|
76
235
|
[P in Omit<K, 'id'> as string | number]: Record<string, string>;
|
|
77
236
|
};
|
|
237
|
+
/**
|
|
238
|
+
* Cell data
|
|
239
|
+
*/
|
|
78
240
|
cell: T[K];
|
|
79
241
|
};
|
|
242
|
+
/**
|
|
243
|
+
* Table body row cell slot
|
|
244
|
+
*/
|
|
80
245
|
export type Ui3nTableBodyRowCellSlot<T extends Ui3nTableBodyBaseItem, K extends string & keyof T> = {
|
|
81
246
|
[p in `row-cell-${K}`]: (scope: Ui3nTableBodyRowCellSlotScope<T, K>) => VNode;
|
|
82
247
|
};
|
|
248
|
+
/**
|
|
249
|
+
* Table slots
|
|
250
|
+
*/
|
|
83
251
|
export type Ui3nTableSlots<T extends Ui3nTableBodyBaseItem, K extends string & keyof T> = Ui3nTableOtherSlots & Ui3nTableGroupActionsSlot<T> & Ui3nTableHeaderCellSlot<T, K> & Ui3nTableBodyRowSlot<T> & Ui3nTableBodyRowCellSlot<T, K>;
|
|
252
|
+
/**
|
|
253
|
+
* Table sort icon properties
|
|
254
|
+
*/
|
|
84
255
|
export interface Ui3nTableSortIconProps {
|
|
256
|
+
/**
|
|
257
|
+
* Icon size
|
|
258
|
+
*/
|
|
85
259
|
size?: string | number;
|
|
260
|
+
/**
|
|
261
|
+
* Icon color
|
|
262
|
+
*/
|
|
86
263
|
color?: string;
|
|
264
|
+
/**
|
|
265
|
+
* Icon value
|
|
266
|
+
*/
|
|
87
267
|
value: 'asc' | 'desc';
|
|
88
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Table expose
|
|
271
|
+
*/
|
|
89
272
|
export type Ui3nTableExpose<T extends Ui3nTableBodyBaseItem> = {
|
|
273
|
+
/**
|
|
274
|
+
* Selected rows
|
|
275
|
+
*/
|
|
90
276
|
selectedRows: Ref<Set<T> | Array<T[keyof T]>>;
|
|
277
|
+
/**
|
|
278
|
+
* Selected rows array
|
|
279
|
+
*/
|
|
91
280
|
selectedRowsArray: ComputedRef<T[]>;
|
|
281
|
+
/**
|
|
282
|
+
* Whether has group actions row
|
|
283
|
+
*/
|
|
92
284
|
hasGroupActionsRow: Ref<boolean>;
|
|
285
|
+
/**
|
|
286
|
+
* Get row style
|
|
287
|
+
*/
|
|
93
288
|
getRowStyle: (row: T) => Record<string, string>;
|
|
289
|
+
/**
|
|
290
|
+
* Close group actions row
|
|
291
|
+
*/
|
|
94
292
|
closeGroupActionsRow: () => void;
|
|
95
293
|
};
|