@smallwebco/tinypivot-vue 1.0.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/components/ColumnFilter.vue.d.ts +34 -0
- package/dist/components/ColumnFilter.vue.d.ts.map +1 -0
- package/dist/components/DataGrid.vue.d.ts +161 -0
- package/dist/components/DataGrid.vue.d.ts.map +1 -0
- package/dist/components/PivotConfig.vue.d.ts +62 -0
- package/dist/components/PivotConfig.vue.d.ts.map +1 -0
- package/dist/components/PivotSkeleton.vue.d.ts +61 -0
- package/dist/components/PivotSkeleton.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/composables/index.d.ts +5 -0
- package/dist/composables/index.d.ts.map +1 -0
- package/dist/composables/useExcelGrid.d.ts +50 -0
- package/dist/composables/useExcelGrid.d.ts.map +1 -0
- package/dist/composables/useGridFeatures.d.ts +75 -0
- package/dist/composables/useGridFeatures.d.ts.map +1 -0
- package/dist/composables/useLicense.d.ts +39 -0
- package/dist/composables/useLicense.d.ts.map +1 -0
- package/dist/composables/usePivotTable.d.ts +43 -0
- package/dist/composables/usePivotTable.d.ts.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/style.css +1 -0
- package/dist/tinypivot-vue.js +3068 -0
- package/dist/tinypivot-vue.js.map +1 -0
- package/dist/tinypivot-vue.umd.cjs +6 -0
- package/dist/tinypivot-vue.umd.cjs.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ColumnStats } from '@smallwebco/tinypivot-core';
|
|
2
|
+
|
|
3
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
4
|
+
columnId: string;
|
|
5
|
+
columnName: string;
|
|
6
|
+
stats: ColumnStats;
|
|
7
|
+
selectedValues: string[];
|
|
8
|
+
sortDirection: 'asc' | 'desc' | null;
|
|
9
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
close: () => void;
|
|
11
|
+
filter: (values: string[]) => void;
|
|
12
|
+
sort: (direction: "asc" | "desc" | null) => void;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
14
|
+
columnId: string;
|
|
15
|
+
columnName: string;
|
|
16
|
+
stats: ColumnStats;
|
|
17
|
+
selectedValues: string[];
|
|
18
|
+
sortDirection: 'asc' | 'desc' | null;
|
|
19
|
+
}>>> & Readonly<{
|
|
20
|
+
onClose?: (() => any) | undefined;
|
|
21
|
+
onFilter?: ((values: string[]) => any) | undefined;
|
|
22
|
+
onSort?: ((direction: "asc" | "desc" | null) => any) | undefined;
|
|
23
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
24
|
+
export default _default;
|
|
25
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
26
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
27
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
28
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
29
|
+
} : {
|
|
30
|
+
type: import('vue').PropType<T[K]>;
|
|
31
|
+
required: true;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=ColumnFilter.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnFilter.vue.d.ts","sourceRoot":"","sources":["../../src/components/ColumnFilter.vue"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;;cAsnBjD,MAAM;gBACJ,MAAM;WACX,WAAW;oBACF,MAAM,EAAE;mBACT,KAAK,GAAG,MAAM,GAAG,IAAI;;;;;;cAJ1B,MAAM;gBACJ,MAAM;WACX,WAAW;oBACF,MAAM,EAAE;mBACT,KAAK,GAAG,MAAM,GAAG,IAAI;;;;;;AAVtC,wBAaG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
data: Record<string, unknown>[];
|
|
3
|
+
loading?: boolean | undefined;
|
|
4
|
+
rowHeight?: number | undefined;
|
|
5
|
+
headerHeight?: number | undefined;
|
|
6
|
+
fontSize?: "base" | "xs" | "sm" | undefined;
|
|
7
|
+
showPivot?: boolean | undefined;
|
|
8
|
+
enableExport?: boolean | undefined;
|
|
9
|
+
enableSearch?: boolean | undefined;
|
|
10
|
+
enablePagination?: boolean | undefined;
|
|
11
|
+
pageSize?: number | undefined;
|
|
12
|
+
enableColumnResize?: boolean | undefined;
|
|
13
|
+
enableClipboard?: boolean | undefined;
|
|
14
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
15
|
+
stripedRows?: boolean | undefined;
|
|
16
|
+
exportFilename?: string | undefined;
|
|
17
|
+
enableVerticalResize?: boolean | undefined;
|
|
18
|
+
initialHeight?: number | undefined;
|
|
19
|
+
minHeight?: number | undefined;
|
|
20
|
+
maxHeight?: number | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
loading: boolean;
|
|
23
|
+
rowHeight: number;
|
|
24
|
+
headerHeight: number;
|
|
25
|
+
fontSize: string;
|
|
26
|
+
showPivot: boolean;
|
|
27
|
+
enableExport: boolean;
|
|
28
|
+
enableSearch: boolean;
|
|
29
|
+
enablePagination: boolean;
|
|
30
|
+
pageSize: number;
|
|
31
|
+
enableColumnResize: boolean;
|
|
32
|
+
enableClipboard: boolean;
|
|
33
|
+
theme: string;
|
|
34
|
+
stripedRows: boolean;
|
|
35
|
+
exportFilename: string;
|
|
36
|
+
enableVerticalResize: boolean;
|
|
37
|
+
initialHeight: number;
|
|
38
|
+
minHeight: number;
|
|
39
|
+
maxHeight: number;
|
|
40
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
41
|
+
cellClick: (payload: {
|
|
42
|
+
row: number;
|
|
43
|
+
col: number;
|
|
44
|
+
value: unknown;
|
|
45
|
+
rowData: Record<string, unknown>;
|
|
46
|
+
}) => void;
|
|
47
|
+
selectionChange: (payload: {
|
|
48
|
+
cells: {
|
|
49
|
+
row: number;
|
|
50
|
+
col: number;
|
|
51
|
+
}[];
|
|
52
|
+
values: unknown[];
|
|
53
|
+
}) => void;
|
|
54
|
+
export: (payload: {
|
|
55
|
+
rowCount: number;
|
|
56
|
+
filename: string;
|
|
57
|
+
}) => void;
|
|
58
|
+
copy: (payload: {
|
|
59
|
+
text: string;
|
|
60
|
+
cellCount: number;
|
|
61
|
+
}) => void;
|
|
62
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
63
|
+
data: Record<string, unknown>[];
|
|
64
|
+
loading?: boolean | undefined;
|
|
65
|
+
rowHeight?: number | undefined;
|
|
66
|
+
headerHeight?: number | undefined;
|
|
67
|
+
fontSize?: "base" | "xs" | "sm" | undefined;
|
|
68
|
+
showPivot?: boolean | undefined;
|
|
69
|
+
enableExport?: boolean | undefined;
|
|
70
|
+
enableSearch?: boolean | undefined;
|
|
71
|
+
enablePagination?: boolean | undefined;
|
|
72
|
+
pageSize?: number | undefined;
|
|
73
|
+
enableColumnResize?: boolean | undefined;
|
|
74
|
+
enableClipboard?: boolean | undefined;
|
|
75
|
+
theme?: "auto" | "light" | "dark" | undefined;
|
|
76
|
+
stripedRows?: boolean | undefined;
|
|
77
|
+
exportFilename?: string | undefined;
|
|
78
|
+
enableVerticalResize?: boolean | undefined;
|
|
79
|
+
initialHeight?: number | undefined;
|
|
80
|
+
minHeight?: number | undefined;
|
|
81
|
+
maxHeight?: number | undefined;
|
|
82
|
+
}>, {
|
|
83
|
+
loading: boolean;
|
|
84
|
+
rowHeight: number;
|
|
85
|
+
headerHeight: number;
|
|
86
|
+
fontSize: string;
|
|
87
|
+
showPivot: boolean;
|
|
88
|
+
enableExport: boolean;
|
|
89
|
+
enableSearch: boolean;
|
|
90
|
+
enablePagination: boolean;
|
|
91
|
+
pageSize: number;
|
|
92
|
+
enableColumnResize: boolean;
|
|
93
|
+
enableClipboard: boolean;
|
|
94
|
+
theme: string;
|
|
95
|
+
stripedRows: boolean;
|
|
96
|
+
exportFilename: string;
|
|
97
|
+
enableVerticalResize: boolean;
|
|
98
|
+
initialHeight: number;
|
|
99
|
+
minHeight: number;
|
|
100
|
+
maxHeight: number;
|
|
101
|
+
}>>> & Readonly<{
|
|
102
|
+
onCopy?: ((payload: {
|
|
103
|
+
text: string;
|
|
104
|
+
cellCount: number;
|
|
105
|
+
}) => any) | undefined;
|
|
106
|
+
onCellClick?: ((payload: {
|
|
107
|
+
row: number;
|
|
108
|
+
col: number;
|
|
109
|
+
value: unknown;
|
|
110
|
+
rowData: Record<string, unknown>;
|
|
111
|
+
}) => any) | undefined;
|
|
112
|
+
onSelectionChange?: ((payload: {
|
|
113
|
+
cells: {
|
|
114
|
+
row: number;
|
|
115
|
+
col: number;
|
|
116
|
+
}[];
|
|
117
|
+
values: unknown[];
|
|
118
|
+
}) => any) | undefined;
|
|
119
|
+
onExport?: ((payload: {
|
|
120
|
+
rowCount: number;
|
|
121
|
+
filename: string;
|
|
122
|
+
}) => any) | undefined;
|
|
123
|
+
}>, {
|
|
124
|
+
fontSize: 'xs' | 'sm' | 'base';
|
|
125
|
+
loading: boolean;
|
|
126
|
+
rowHeight: number;
|
|
127
|
+
headerHeight: number;
|
|
128
|
+
showPivot: boolean;
|
|
129
|
+
enableExport: boolean;
|
|
130
|
+
enableSearch: boolean;
|
|
131
|
+
enablePagination: boolean;
|
|
132
|
+
pageSize: number;
|
|
133
|
+
enableColumnResize: boolean;
|
|
134
|
+
enableClipboard: boolean;
|
|
135
|
+
theme: 'light' | 'dark' | 'auto';
|
|
136
|
+
stripedRows: boolean;
|
|
137
|
+
exportFilename: string;
|
|
138
|
+
enableVerticalResize: boolean;
|
|
139
|
+
initialHeight: number;
|
|
140
|
+
minHeight: number;
|
|
141
|
+
maxHeight: number;
|
|
142
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
143
|
+
export default _default;
|
|
144
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
145
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
146
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
147
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
148
|
+
} : {
|
|
149
|
+
type: import('vue').PropType<T[K]>;
|
|
150
|
+
required: true;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
type __VLS_WithDefaults<P, D> = {
|
|
154
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
155
|
+
default: D[K];
|
|
156
|
+
}> : P[K];
|
|
157
|
+
};
|
|
158
|
+
type __VLS_Prettify<T> = {
|
|
159
|
+
[K in keyof T]: T[K];
|
|
160
|
+
} & {};
|
|
161
|
+
//# sourceMappingURL=DataGrid.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.vue"],"names":[],"mappings":";UAwiGQ,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAzB,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIpB,IAAI,GAAG,IAAI,GAAG,MAAM;aAHrB,OAAO;eACL,MAAM;kBACH,MAAM;eAET,OAAO;kBAEJ,OAAO;kBACP,OAAO;sBACH,OAAO;cACf,MAAM;wBACI,OAAO;qBACV,OAAO;WACjB,OAAO,GAAG,MAAM,GAAG,MAAM;iBACnB,OAAO;oBACJ,MAAM;0BACA,OAAO;mBACd,MAAM;eACV,MAAM;eACN,MAAM;;AAzBpB,wBA4BG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { AggregationFunction, PivotValueField } from '@smallwebco/tinypivot-core';
|
|
2
|
+
|
|
3
|
+
interface FieldStats {
|
|
4
|
+
field: string;
|
|
5
|
+
type: 'string' | 'number' | 'date' | 'boolean' | 'mixed';
|
|
6
|
+
uniqueCount: number;
|
|
7
|
+
isNumeric: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
10
|
+
availableFields: FieldStats[];
|
|
11
|
+
rowFields: string[];
|
|
12
|
+
columnFields: string[];
|
|
13
|
+
valueFields: PivotValueField[];
|
|
14
|
+
showRowTotals: boolean;
|
|
15
|
+
showColumnTotals: boolean;
|
|
16
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
17
|
+
"update:showRowTotals": (value: boolean) => void;
|
|
18
|
+
"update:showColumnTotals": (value: boolean) => void;
|
|
19
|
+
clearConfig: () => void;
|
|
20
|
+
autoSuggest: () => void;
|
|
21
|
+
dragStart: (field: string, event: DragEvent) => void;
|
|
22
|
+
dragEnd: () => void;
|
|
23
|
+
updateAggregation: (field: string, oldAgg: AggregationFunction, newAgg: AggregationFunction) => void;
|
|
24
|
+
addRowField: (field: string) => void;
|
|
25
|
+
removeRowField: (field: string) => void;
|
|
26
|
+
addColumnField: (field: string) => void;
|
|
27
|
+
removeColumnField: (field: string) => void;
|
|
28
|
+
addValueField: (field: string, aggregation: AggregationFunction) => void;
|
|
29
|
+
removeValueField: (field: string, aggregation: AggregationFunction) => void;
|
|
30
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
31
|
+
availableFields: FieldStats[];
|
|
32
|
+
rowFields: string[];
|
|
33
|
+
columnFields: string[];
|
|
34
|
+
valueFields: PivotValueField[];
|
|
35
|
+
showRowTotals: boolean;
|
|
36
|
+
showColumnTotals: boolean;
|
|
37
|
+
}>>> & Readonly<{
|
|
38
|
+
"onUpdate:showRowTotals"?: ((value: boolean) => any) | undefined;
|
|
39
|
+
"onUpdate:showColumnTotals"?: ((value: boolean) => any) | undefined;
|
|
40
|
+
onClearConfig?: (() => any) | undefined;
|
|
41
|
+
onAutoSuggest?: (() => any) | undefined;
|
|
42
|
+
onDragStart?: ((field: string, event: DragEvent) => any) | undefined;
|
|
43
|
+
onDragEnd?: (() => any) | undefined;
|
|
44
|
+
onUpdateAggregation?: ((field: string, oldAgg: AggregationFunction, newAgg: AggregationFunction) => any) | undefined;
|
|
45
|
+
onAddRowField?: ((field: string) => any) | undefined;
|
|
46
|
+
onRemoveRowField?: ((field: string) => any) | undefined;
|
|
47
|
+
onAddColumnField?: ((field: string) => any) | undefined;
|
|
48
|
+
onRemoveColumnField?: ((field: string) => any) | undefined;
|
|
49
|
+
onAddValueField?: ((field: string, aggregation: AggregationFunction) => any) | undefined;
|
|
50
|
+
onRemoveValueField?: ((field: string, aggregation: AggregationFunction) => any) | undefined;
|
|
51
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
52
|
+
export default _default;
|
|
53
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
54
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
55
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
56
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
57
|
+
} : {
|
|
58
|
+
type: import('vue').PropType<T[K]>;
|
|
59
|
+
required: true;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=PivotConfig.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PivotConfig.vue.d.ts","sourceRoot":"","sources":["../../src/components/PivotConfig.vue"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKtF,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACxD,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB;;qBAs3BkB,UAAU,EAAE;eAClB,MAAM,EAAE;kBACL,MAAM,EAAE;iBACT,eAAe,EAAE;mBACf,OAAO;sBACJ,OAAO;;;;;;;;;;;;;;;;qBALR,UAAU,EAAE;eAClB,MAAM,EAAE;kBACL,MAAM,EAAE;iBACT,eAAe,EAAE;mBACf,OAAO;sBACJ,OAAO;;;;;;;;;;;;;;;;AAX3B,wBAcG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AggregationFunction, PivotResult, PivotValueField } from '@smallwebco/tinypivot-core';
|
|
2
|
+
|
|
3
|
+
interface ActiveFilter {
|
|
4
|
+
column: string;
|
|
5
|
+
valueCount: number;
|
|
6
|
+
values: string[];
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
9
|
+
rowFields: string[];
|
|
10
|
+
columnFields: string[];
|
|
11
|
+
valueFields: PivotValueField[];
|
|
12
|
+
isConfigured: boolean;
|
|
13
|
+
draggingField: string | null;
|
|
14
|
+
pivotResult: PivotResult | null;
|
|
15
|
+
fontSize?: "base" | "xs" | "sm" | undefined;
|
|
16
|
+
activeFilters?: ActiveFilter[] | null | undefined;
|
|
17
|
+
totalRowCount?: number | undefined;
|
|
18
|
+
filteredRowCount?: number | undefined;
|
|
19
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
20
|
+
addRowField: (field: string) => void;
|
|
21
|
+
removeRowField: (field: string) => void;
|
|
22
|
+
addColumnField: (field: string) => void;
|
|
23
|
+
removeColumnField: (field: string) => void;
|
|
24
|
+
addValueField: (field: string, aggregation: AggregationFunction) => void;
|
|
25
|
+
removeValueField: (field: string, aggregation: AggregationFunction) => void;
|
|
26
|
+
updateAggregation: (field: string, oldAgg: AggregationFunction, newAgg: AggregationFunction) => void;
|
|
27
|
+
reorderRowFields: (fields: string[]) => void;
|
|
28
|
+
reorderColumnFields: (fields: string[]) => void;
|
|
29
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
30
|
+
rowFields: string[];
|
|
31
|
+
columnFields: string[];
|
|
32
|
+
valueFields: PivotValueField[];
|
|
33
|
+
isConfigured: boolean;
|
|
34
|
+
draggingField: string | null;
|
|
35
|
+
pivotResult: PivotResult | null;
|
|
36
|
+
fontSize?: "base" | "xs" | "sm" | undefined;
|
|
37
|
+
activeFilters?: ActiveFilter[] | null | undefined;
|
|
38
|
+
totalRowCount?: number | undefined;
|
|
39
|
+
filteredRowCount?: number | undefined;
|
|
40
|
+
}>>> & Readonly<{
|
|
41
|
+
onUpdateAggregation?: ((field: string, oldAgg: AggregationFunction, newAgg: AggregationFunction) => any) | undefined;
|
|
42
|
+
onAddRowField?: ((field: string) => any) | undefined;
|
|
43
|
+
onRemoveRowField?: ((field: string) => any) | undefined;
|
|
44
|
+
onAddColumnField?: ((field: string) => any) | undefined;
|
|
45
|
+
onRemoveColumnField?: ((field: string) => any) | undefined;
|
|
46
|
+
onAddValueField?: ((field: string, aggregation: AggregationFunction) => any) | undefined;
|
|
47
|
+
onRemoveValueField?: ((field: string, aggregation: AggregationFunction) => any) | undefined;
|
|
48
|
+
onReorderRowFields?: ((fields: string[]) => any) | undefined;
|
|
49
|
+
onReorderColumnFields?: ((fields: string[]) => any) | undefined;
|
|
50
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
51
|
+
export default _default;
|
|
52
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
53
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
54
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
55
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
56
|
+
} : {
|
|
57
|
+
type: import('vue').PropType<T[K]>;
|
|
58
|
+
required: true;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=PivotSkeleton.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PivotSkeleton.vue.d.ts","sourceRoot":"","sources":["../../src/components/PivotSkeleton.vue"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAKnG,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;;eA86DY,MAAM,EAAE;kBACL,MAAM,EAAE;iBACT,eAAe,EAAE;kBAChB,OAAO;mBACN,MAAM,GAAG,IAAI;iBACf,WAAW,GAAG,IAAI;;;;;;;;;;;;;;;;eALpB,MAAM,EAAE;kBACL,MAAM,EAAE;iBACT,eAAe,EAAE;kBAChB,OAAO;mBACN,MAAM,GAAG,IAAI;iBACf,WAAW,GAAG,IAAI;;;;;;;;;;;;;;;;AAXjC,wBAkBG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as DataGrid } from './DataGrid.vue';
|
|
2
|
+
export { default as ColumnFilter } from './ColumnFilter.vue';
|
|
3
|
+
export { default as PivotConfig } from './PivotConfig.vue';
|
|
4
|
+
export { default as PivotSkeleton } from './PivotSkeleton.vue';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { useExcelGrid, getColumnUniqueValues, formatCellValue } from './useExcelGrid';
|
|
2
|
+
export { usePivotTable, getAggregationLabel } from './usePivotTable';
|
|
3
|
+
export { useLicense, setLicenseKey, configureLicenseSecret, enableDemoMode } from './useLicense';
|
|
4
|
+
export { exportToCSV, exportPivotToCSV, copyToClipboard, formatSelectionForClipboard, usePagination, useGlobalSearch, useRowSelection, useColumnResize, } from './useGridFeatures';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAChG,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ColumnFiltersState, SortingState, VisibilityState } from '@tanstack/vue-table';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
import { ColumnStats, getColumnUniqueValues, formatCellValue } from '@smallwebco/tinypivot-core';
|
|
4
|
+
|
|
5
|
+
export { getColumnUniqueValues, formatCellValue };
|
|
6
|
+
export interface ExcelGridOptions<T> {
|
|
7
|
+
data: Ref<T[]>;
|
|
8
|
+
columns?: string[];
|
|
9
|
+
enableSorting?: boolean;
|
|
10
|
+
enableFiltering?: boolean;
|
|
11
|
+
pageSize?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create Excel-like grid composable
|
|
15
|
+
*/
|
|
16
|
+
export declare function useExcelGrid<T extends Record<string, unknown>>(options: ExcelGridOptions<T>): {
|
|
17
|
+
table: import('@tanstack/vue-table').Table<T>;
|
|
18
|
+
sorting: Ref<{
|
|
19
|
+
desc: boolean;
|
|
20
|
+
id: string;
|
|
21
|
+
}[], SortingState | {
|
|
22
|
+
desc: boolean;
|
|
23
|
+
id: string;
|
|
24
|
+
}[]>;
|
|
25
|
+
columnFilters: Ref<{
|
|
26
|
+
id: string;
|
|
27
|
+
value: unknown;
|
|
28
|
+
}[], ColumnFiltersState | {
|
|
29
|
+
id: string;
|
|
30
|
+
value: unknown;
|
|
31
|
+
}[]>;
|
|
32
|
+
columnVisibility: Ref<VisibilityState, VisibilityState>;
|
|
33
|
+
globalFilter: Ref<string, string>;
|
|
34
|
+
columnKeys: import('vue').ComputedRef<string[]>;
|
|
35
|
+
filteredRowCount: import('vue').ComputedRef<number>;
|
|
36
|
+
totalRowCount: import('vue').ComputedRef<number>;
|
|
37
|
+
activeFilters: import('vue').ComputedRef<{
|
|
38
|
+
column: string;
|
|
39
|
+
values: string[];
|
|
40
|
+
}[]>;
|
|
41
|
+
getColumnStats: (columnKey: string) => ColumnStats;
|
|
42
|
+
clearStatsCache: () => void;
|
|
43
|
+
hasActiveFilter: (columnId: string) => boolean;
|
|
44
|
+
setColumnFilter: (columnId: string, values: string[]) => void;
|
|
45
|
+
getColumnFilterValues: (columnId: string) => string[];
|
|
46
|
+
clearAllFilters: () => void;
|
|
47
|
+
toggleSort: (columnId: string) => void;
|
|
48
|
+
getSortDirection: (columnId: string) => 'asc' | 'desc' | null;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=useExcelGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExcelGrid.d.ts","sourceRoot":"","sources":["../../src/composables/useExcelGrid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAa,kBAAkB,EAAY,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAOjH,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAGnF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAA;AAEjD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAmBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;gCAmBvD,MAAM,KAAG,WAAW;;gCAwEpB,MAAM,KAAG,OAAO;gCAQhB,MAAM,UAAU,MAAM,EAAE;sCAkBlB,MAAM,KAAG,MAAM,EAAE;;2BAQ5B,MAAM;iCAYA,MAAM,KAAG,KAAK,GAAG,MAAM,GAAG,IAAI;EAqCnE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { PaginationOptions, SelectionBounds, PivotValueField, PivotExportData, ExportOptions } from '@smallwebco/tinypivot-core';
|
|
3
|
+
|
|
4
|
+
export { exportToCSV, exportPivotToCSV, copyToClipboard, formatSelectionForClipboard, };
|
|
5
|
+
/**
|
|
6
|
+
* CSV Export functionality wrapper
|
|
7
|
+
*/
|
|
8
|
+
declare function exportToCSV<T extends Record<string, unknown>>(data: T[], columns: string[], options?: ExportOptions): void;
|
|
9
|
+
/**
|
|
10
|
+
* Pivot CSV export wrapper
|
|
11
|
+
*/
|
|
12
|
+
declare function exportPivotToCSV(pivotData: PivotExportData, rowFields: string[], columnFields: string[], valueFields: PivotValueField[], options?: ExportOptions): void;
|
|
13
|
+
/**
|
|
14
|
+
* Copy to clipboard wrapper
|
|
15
|
+
*/
|
|
16
|
+
declare function copyToClipboard(text: string, onSuccess?: () => void, onError?: (err: Error) => void): void;
|
|
17
|
+
/**
|
|
18
|
+
* Format selection for clipboard wrapper
|
|
19
|
+
*/
|
|
20
|
+
declare function formatSelectionForClipboard<T extends Record<string, unknown>>(rows: T[], columns: string[], selectionBounds: SelectionBounds): string;
|
|
21
|
+
/**
|
|
22
|
+
* Pagination composable
|
|
23
|
+
*/
|
|
24
|
+
export declare function usePagination<T>(data: Ref<T[]>, options?: PaginationOptions): {
|
|
25
|
+
pageSize: Ref<number, number>;
|
|
26
|
+
currentPage: Ref<number, number>;
|
|
27
|
+
totalPages: import('vue').ComputedRef<number>;
|
|
28
|
+
paginatedData: import('vue').ComputedRef<T[]>;
|
|
29
|
+
startIndex: import('vue').ComputedRef<number>;
|
|
30
|
+
endIndex: import('vue').ComputedRef<number>;
|
|
31
|
+
goToPage: (page: number) => void;
|
|
32
|
+
nextPage: () => void;
|
|
33
|
+
prevPage: () => void;
|
|
34
|
+
firstPage: () => void;
|
|
35
|
+
lastPage: () => void;
|
|
36
|
+
setPageSize: (size: number) => void;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Global search/filter composable
|
|
40
|
+
*/
|
|
41
|
+
export declare function useGlobalSearch<T extends Record<string, unknown>>(data: Ref<T[]>, columns: Ref<string[]>): {
|
|
42
|
+
searchTerm: Ref<string, string>;
|
|
43
|
+
caseSensitive: Ref<boolean, boolean>;
|
|
44
|
+
filteredData: import('vue').ComputedRef<T[]>;
|
|
45
|
+
clearSearch: () => void;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Row selection composable
|
|
49
|
+
*/
|
|
50
|
+
export declare function useRowSelection<T>(data: Ref<T[]>): {
|
|
51
|
+
selectedRowIndices: Ref<Set<number> & Omit<Set<number>, keyof Set<any>>, Set<number> | (Set<number> & Omit<Set<number>, keyof Set<any>>)>;
|
|
52
|
+
selectedRows: import('vue').ComputedRef<T[]>;
|
|
53
|
+
allSelected: import('vue').ComputedRef<boolean>;
|
|
54
|
+
someSelected: import('vue').ComputedRef<boolean>;
|
|
55
|
+
toggleRow: (index: number) => void;
|
|
56
|
+
selectRow: (index: number) => void;
|
|
57
|
+
deselectRow: (index: number) => void;
|
|
58
|
+
selectAll: () => void;
|
|
59
|
+
deselectAll: () => void;
|
|
60
|
+
toggleAll: () => void;
|
|
61
|
+
isSelected: (index: number) => boolean;
|
|
62
|
+
selectRange: (startIndex: number, endIndex: number) => void;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Column resizing composable
|
|
66
|
+
*/
|
|
67
|
+
export declare function useColumnResize(initialWidths: Ref<Record<string, number>>, minWidth?: number, maxWidth?: number): {
|
|
68
|
+
columnWidths: Ref<Record<string, number>, Record<string, number>>;
|
|
69
|
+
isResizing: Ref<boolean, boolean>;
|
|
70
|
+
resizingColumn: Ref<string | null, string | null>;
|
|
71
|
+
startResize: (columnId: string, event: MouseEvent) => void;
|
|
72
|
+
resetColumnWidth: (columnId: string) => void;
|
|
73
|
+
resetAllWidths: () => void;
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=useGridFeatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridFeatures.d.ts","sourceRoot":"","sources":["../../src/composables/useGridFeatures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAOrG,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGhF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,2BAA2B,GAC5B,CAAA;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CAEN;AAED;;GAEG;AACH,iBAAS,gBAAgB,CACvB,SAAS,EAAE,eAAe,EAC1B,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,eAAe,EAAE,EAC9B,OAAO,CAAC,EAAE,aAAa,GACtB,IAAI,CAEN;AAED;;GAEG;AACH,iBAAS,eAAe,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,IAAI,CAEN;AAED;;GAEG;AACH,iBAAS,2BAA2B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,MAAM,EAAE,EACjB,eAAe,EAAE,eAAe,GAC/B,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAE,iBAAsB;;;;;;;qBAmBtD,MAAM;;;;;wBAwBH,MAAM;EAmBlC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EACd,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;;;;;EAuCvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;;;;;uBAkBrB,MAAM;uBASN,MAAM;yBAKJ,MAAM;;;;wBAqBP,MAAM,KAAG,OAAO;8BAIV,MAAM,YAAY,MAAM;EAuB1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC1C,QAAQ,SAAK,EACb,QAAQ,SAAM;;;;4BAMiB,MAAM,SAAS,UAAU;iCA0BpB,MAAM;;EAqB3C"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set the license key for the library
|
|
3
|
+
* Returns a promise that resolves when validation is complete
|
|
4
|
+
*/
|
|
5
|
+
export declare function setLicenseKey(key: string): Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Enable demo mode - unlocks all features for evaluation
|
|
8
|
+
* Shows "Demo Mode" watermark instead of license required
|
|
9
|
+
*/
|
|
10
|
+
export declare function enableDemoMode(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Configure the license secret
|
|
13
|
+
*/
|
|
14
|
+
export declare function configureLicenseSecret(secret: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Composable for accessing license information
|
|
17
|
+
*/
|
|
18
|
+
export declare function useLicense(): {
|
|
19
|
+
licenseInfo: import('vue').ComputedRef<{
|
|
20
|
+
type: import('@smallwebco/tinypivot-core').LicenseType;
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
expiresAt?: Date | undefined;
|
|
23
|
+
features: {
|
|
24
|
+
pivot: boolean;
|
|
25
|
+
advancedAggregations: boolean;
|
|
26
|
+
percentageMode: boolean;
|
|
27
|
+
sessionPersistence: boolean;
|
|
28
|
+
noWatermark: boolean;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
isDemo: import('vue').ComputedRef<boolean>;
|
|
32
|
+
isPro: import('vue').ComputedRef<boolean>;
|
|
33
|
+
canUsePivot: import('vue').ComputedRef<boolean>;
|
|
34
|
+
canUseAdvancedAggregations: import('vue').ComputedRef<boolean>;
|
|
35
|
+
canUsePercentageMode: import('vue').ComputedRef<boolean>;
|
|
36
|
+
showWatermark: import('vue').ComputedRef<boolean>;
|
|
37
|
+
requirePro: (feature: string) => boolean;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=useLicense.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLicense.d.ts","sourceRoot":"","sources":["../../src/composables/useLicense.ts"],"names":[],"mappings":"AAyBA;;;GAGG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU;;;;;;;;;;;;;;;;;;;0BAiBK,MAAM,KAAG,OAAO;EAkB9C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { AggregationFunction, FieldStats, PivotValueField, getAggregationLabel } from '@smallwebco/tinypivot-core';
|
|
3
|
+
|
|
4
|
+
export { getAggregationLabel };
|
|
5
|
+
/**
|
|
6
|
+
* Main pivot table composable
|
|
7
|
+
*/
|
|
8
|
+
export declare function usePivotTable(data: Ref<Record<string, unknown>[]>): {
|
|
9
|
+
rowFields: Ref<string[], string[]>;
|
|
10
|
+
columnFields: Ref<string[], string[]>;
|
|
11
|
+
valueFields: Ref<{
|
|
12
|
+
aggregation: AggregationFunction;
|
|
13
|
+
field: string;
|
|
14
|
+
label?: string | undefined;
|
|
15
|
+
}[], PivotValueField[] | {
|
|
16
|
+
aggregation: AggregationFunction;
|
|
17
|
+
field: string;
|
|
18
|
+
label?: string | undefined;
|
|
19
|
+
}[]>;
|
|
20
|
+
showRowTotals: Ref<boolean, boolean>;
|
|
21
|
+
showColumnTotals: Ref<boolean, boolean>;
|
|
22
|
+
availableFields: import('vue').ComputedRef<FieldStats[]>;
|
|
23
|
+
unassignedFields: import('vue').ComputedRef<FieldStats[]>;
|
|
24
|
+
isConfigured: import('vue').ComputedRef<boolean>;
|
|
25
|
+
pivotResult: import('vue').ComputedRef<import('@smallwebco/tinypivot-core').PivotResult | null>;
|
|
26
|
+
addRowField: (field: string) => void;
|
|
27
|
+
removeRowField: (field: string) => void;
|
|
28
|
+
addColumnField: (field: string) => void;
|
|
29
|
+
removeColumnField: (field: string) => void;
|
|
30
|
+
addValueField: (field: string, aggregation?: AggregationFunction) => void;
|
|
31
|
+
removeValueField: (field: string, aggregation?: AggregationFunction) => void;
|
|
32
|
+
updateValueFieldAggregation: (field: string, oldAgg: AggregationFunction, newAgg: AggregationFunction) => void;
|
|
33
|
+
clearConfig: () => void;
|
|
34
|
+
moveField: (from: {
|
|
35
|
+
area: 'row' | 'column' | 'value';
|
|
36
|
+
index: number;
|
|
37
|
+
}, to: {
|
|
38
|
+
area: 'row' | 'column' | 'value';
|
|
39
|
+
index: number;
|
|
40
|
+
}) => void;
|
|
41
|
+
autoSuggestConfig: () => void;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=usePivotTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePivotTable.d.ts","sourceRoot":"","sources":["../../src/composables/usePivotTable.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,KAAK,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAe,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC/G,OAAO,EASL,mBAAmB,EACpB,MAAM,4BAA4B,CAAA;AAInC,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAE9B;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;yBAwDpC,MAAM;4BAOH,MAAM;4BAIN,MAAM;+BAOH,MAAM;2BAIV,MAAM,gBAAe,mBAAmB;8BAQrC,MAAM,gBAAgB,mBAAmB;yCAWjE,MAAM,UACL,mBAAmB,UACnB,mBAAmB;;sBAiBrB;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,MACrD;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;;EAyH1D"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TinyPivot Vue
|
|
3
|
+
* A powerful Excel-like data grid and pivot table component for Vue 3
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
export { DataGrid, ColumnFilter, PivotConfig, PivotSkeleton } from './components';
|
|
8
|
+
export { useExcelGrid, usePivotTable, useLicense, setLicenseKey, configureLicenseSecret, enableDemoMode, getColumnUniqueValues, formatCellValue, getAggregationLabel, exportToCSV, exportPivotToCSV, copyToClipboard, formatSelectionForClipboard, usePagination, useGlobalSearch, useRowSelection, useColumnResize, } from './composables';
|
|
9
|
+
export type { ColumnStats, GridOptions, AggregationFunction, PivotField, PivotValueField, PivotConfig as PivotConfigType, PivotCell, PivotResult, FieldStats, DataGridProps, PivotTableProps, LicenseType, LicenseInfo, FilterEvent, SortEvent, CellClickEvent, SelectionChangeEvent, RowSelectionChangeEvent, ExportEvent, CopyEvent, PaginationOptions, ExportOptions, SelectionBounds, } from '@smallwebco/tinypivot-core';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAA;AAGtB,YAAY,EAEV,WAAW,EACX,WAAW,EAGX,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,WAAW,IAAI,eAAe,EAC9B,SAAS,EACT,WAAW,EACX,UAAU,EAGV,aAAa,EACb,eAAe,EAGf,WAAW,EACX,WAAW,EAGX,WAAW,EACX,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,EACX,SAAS,EAGT,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,4BAA4B,CAAA;AAGnC,OAAO,aAAa,CAAA"}
|