@smallwebco/tinypivot-vue 1.0.83 → 1.1.1
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 +40 -0
- package/dist/components/AIAnalyst.vue.d.ts +12 -24
- package/dist/components/AIAnalyst.vue.d.ts.map +1 -1
- package/dist/components/CalculatedFieldModal.vue.d.ts +9 -21
- package/dist/components/CalculatedFieldModal.vue.d.ts.map +1 -1
- package/dist/components/ChartBuilder.vue.d.ts +8 -21
- package/dist/components/ChartBuilder.vue.d.ts.map +1 -1
- package/dist/components/ColumnFilter.vue.d.ts +14 -37
- package/dist/components/ColumnFilter.vue.d.ts.map +1 -1
- package/dist/components/DataGrid.vue.d.ts +39 -168
- package/dist/components/DataGrid.vue.d.ts.map +1 -1
- package/dist/components/DateRangeFilter.vue.d.ts +7 -21
- package/dist/components/DateRangeFilter.vue.d.ts.map +1 -1
- package/dist/components/DrillThroughModal.vue.d.ts +16 -0
- package/dist/components/DrillThroughModal.vue.d.ts.map +1 -0
- package/dist/components/NumericRangeFilter.vue.d.ts +7 -21
- package/dist/components/NumericRangeFilter.vue.d.ts.map +1 -1
- package/dist/components/PivotConfig.vue.d.ts +12 -56
- package/dist/components/PivotConfig.vue.d.ts.map +1 -1
- package/dist/components/PivotSkeleton.vue.d.ts +18 -52
- package/dist/components/PivotSkeleton.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/composables/useAIAnalyst.d.ts +0 -1
- package/dist/composables/useExcelGrid.d.ts +0 -1
- package/dist/composables/useGridFeatures.d.ts +0 -1
- package/dist/composables/useLicense.d.ts +1 -0
- package/dist/composables/useLicense.d.ts.map +1 -1
- package/dist/composables/usePivotTable.d.ts +5 -4
- package/dist/composables/usePivotTable.d.ts.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/tinypivot-vue.js +3714 -3331
- package/dist/tinypivot-vue.js.map +1 -1
- package/dist/tinypivot-vue.umd.cjs +39 -39
- package/dist/tinypivot-vue.umd.cjs.map +1 -1
- package/dist/{vue3-apexcharts-CAskEAyG.js → vue3-apexcharts-k7zOi6pn.js} +1032 -1032
- package/dist/{vue3-apexcharts-CAskEAyG.js.map → vue3-apexcharts-k7zOi6pn.js.map} +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -148,6 +148,8 @@ const data = [/* ... */]
|
|
|
148
148
|
| Pivot table with Sum aggregation | ✅ | ✅ |
|
|
149
149
|
| Row/column totals | ✅ | ✅ |
|
|
150
150
|
| Calculated fields with formulas | ✅ | ✅ |
|
|
151
|
+
| Pivot row group expand/collapse | ✅ | ✅ |
|
|
152
|
+
| **Pivot drill-through** (double-click to inspect source rows) | ❌ | ✅ |
|
|
151
153
|
| **AI Data Analyst** (natural language, BYOK) | ❌ | ✅ |
|
|
152
154
|
| **Chart Builder** (6 chart types) | ❌ | ✅ |
|
|
153
155
|
| Advanced aggregations (Count, Avg, Min, Max, Unique, Median, Std Dev, %) | ❌ | ✅ |
|
|
@@ -171,6 +173,8 @@ const data = [/* ... */]
|
|
|
171
173
|
| `numberFormat` | `'us' \| 'eu' \| 'plain'` | `'us'` | Number display format: US (1,234.56), EU (1.234,56), plain (1234.56) |
|
|
172
174
|
| `dateFormat` | `'us' \| 'eu' \| 'iso'` | `'iso'` | Date display format: US (MM/DD/YYYY), EU (DD/MM/YYYY), ISO (YYYY-MM-DD) |
|
|
173
175
|
| `fieldRoleOverrides` | `Record<string, FieldRole>` | `undefined` | Override auto-detected chart field roles per column (`'dimension'` \| `'measure'` \| `'temporal'`) |
|
|
176
|
+
| `enableDrillDown` | `boolean` | `true` | Enable pivot row group expand/collapse chevrons |
|
|
177
|
+
| `enableDrillThrough` | `boolean` | `true` | Enable double-click drill-through on pivot cells (Pro feature) |
|
|
174
178
|
|
|
175
179
|
## Events
|
|
176
180
|
|
|
@@ -180,6 +184,42 @@ const data = [/* ... */]
|
|
|
180
184
|
| `@selection-change` | `{ cells, values }` | Selection changed |
|
|
181
185
|
| `@export` | `{ rowCount, filename }` | CSV exported |
|
|
182
186
|
| `@copy` | `{ text, cellCount }` | Cells copied |
|
|
187
|
+
| `@collapse-change` | `string[]` | Pivot row groups collapsed/expanded (array of collapsed path keys) |
|
|
188
|
+
| `@drill-through` | `DrillThroughResult` | Pivot cell double-clicked and drill-through modal opened (Pro) |
|
|
189
|
+
|
|
190
|
+
## Pivot Drill-Down
|
|
191
|
+
|
|
192
|
+
### Row Group Expand/Collapse (Free)
|
|
193
|
+
|
|
194
|
+
When a pivot has two or more row fields, each group row displays a `▸`/`▾` chevron. Click to collapse or expand that group. Alt-click collapses/expands every group at the same depth. Collapsed groups still show correct aggregated values over all rows in the group.
|
|
195
|
+
|
|
196
|
+
```vue
|
|
197
|
+
<template>
|
|
198
|
+
<DataGrid
|
|
199
|
+
:data="data"
|
|
200
|
+
@collapse-change="(collapsedPaths) => console.log('Collapsed:', collapsedPaths)"
|
|
201
|
+
/>
|
|
202
|
+
</template>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Drill-Through to Source Rows (Pro)
|
|
206
|
+
|
|
207
|
+
Double-click any pivot value cell (including totals) to open a modal with the underlying source rows. Includes a slice description header, paginated table (50/page), and CSV export. Requires a Pro license.
|
|
208
|
+
|
|
209
|
+
```vue
|
|
210
|
+
<template>
|
|
211
|
+
<DataGrid
|
|
212
|
+
:data="data"
|
|
213
|
+
@drill-through="({ rows, descriptor }) => console.log(`${descriptor.rowCount} rows`)"
|
|
214
|
+
/>
|
|
215
|
+
</template>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Disable either behaviour individually:
|
|
219
|
+
|
|
220
|
+
```vue
|
|
221
|
+
<DataGrid :data="data" :enable-drill-down="false" :enable-drill-through="false" />
|
|
222
|
+
```
|
|
183
223
|
|
|
184
224
|
## AI Data Analyst (Pro)
|
|
185
225
|
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { AIAnalystConfig, AIConversationUpdateEvent, AIDataLoadedEvent, AIErrorEvent, AIQueryExecutedEvent, ResolvedTheme } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
config: AIAnalystConfig;
|
|
5
|
-
theme?: ResolvedTheme
|
|
6
|
-
}
|
|
4
|
+
theme?: ResolvedTheme;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {
|
|
7
7
|
loadFullData: () => Promise<Record<string, unknown>[] | null>;
|
|
8
8
|
selectedDataSource: import('vue').ComputedRef<string | undefined>;
|
|
9
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
10
|
+
error: (payload: AIErrorEvent) => any;
|
|
11
|
+
dataLoaded: (payload: AIDataLoadedEvent) => any;
|
|
12
|
+
conversationUpdate: (payload: AIConversationUpdateEvent) => any;
|
|
13
|
+
queryExecuted: (payload: AIQueryExecutedEvent) => any;
|
|
14
14
|
viewResults: (payload: {
|
|
15
15
|
data: Record<string, unknown>[];
|
|
16
16
|
query: string;
|
|
17
|
-
}) =>
|
|
18
|
-
}, string, import('vue').PublicProps, Readonly<
|
|
19
|
-
config: AIAnalystConfig;
|
|
20
|
-
theme?: ResolvedTheme | undefined;
|
|
21
|
-
}>>> & Readonly<{
|
|
17
|
+
}) => any;
|
|
18
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
22
19
|
onError?: ((payload: AIErrorEvent) => any) | undefined;
|
|
23
20
|
onDataLoaded?: ((payload: AIDataLoadedEvent) => any) | undefined;
|
|
24
21
|
onConversationUpdate?: ((payload: AIConversationUpdateEvent) => any) | undefined;
|
|
@@ -27,15 +24,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
27
24
|
data: Record<string, unknown>[];
|
|
28
25
|
query: string;
|
|
29
26
|
}) => any) | undefined;
|
|
30
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
27
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
31
28
|
export default _default;
|
|
32
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
33
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
34
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
35
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
36
|
-
} : {
|
|
37
|
-
type: import('vue').PropType<T[K]>;
|
|
38
|
-
required: true;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
29
|
//# sourceMappingURL=AIAnalyst.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIAnalyst.vue.d.ts","sourceRoot":"","sources":["../../src/components/AIAnalyst.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AIAnalyst.vue.d.ts","sourceRoot":"","sources":["../../src/components/AIAnalyst.vue"],"names":[],"mappings":"AAAA,OAsyDO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EAEZ,oBAAoB,EAEpB,aAAa,EACd,MAAM,4BAA4B,CAAA;AAKnC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;AAqwCF,wBAQG"}
|
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
import { CalculatedField } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
show: boolean;
|
|
5
4
|
availableFields: string[];
|
|
6
|
-
existingField?: CalculatedField | null
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
existingField?: CalculatedField | null | undefined;
|
|
14
|
-
}>>> & Readonly<{
|
|
5
|
+
existingField?: CalculatedField | null;
|
|
6
|
+
theme?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
9
|
+
close: () => any;
|
|
10
|
+
save: (field: CalculatedField) => any;
|
|
11
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
12
|
onClose?: (() => any) | undefined;
|
|
16
13
|
onSave?: ((field: CalculatedField) => any) | undefined;
|
|
17
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
14
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
18
15
|
export default _default;
|
|
19
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
20
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
21
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
22
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
23
|
-
} : {
|
|
24
|
-
type: import('vue').PropType<T[K]>;
|
|
25
|
-
required: true;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
16
|
//# sourceMappingURL=CalculatedFieldModal.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatedFieldModal.vue.d.ts","sourceRoot":"","sources":["../../src/components/CalculatedFieldModal.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalculatedFieldModal.vue.d.ts","sourceRoot":"","sources":["../../src/components/CalculatedFieldModal.vue"],"names":[],"mappings":"AAodA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAUjE,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;;;;;;;;AAoaF,wBAOG"}
|
|
@@ -1,26 +1,13 @@
|
|
|
1
1
|
import { ChartConfig, ResolvedTheme } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
data: Record<string, unknown>[];
|
|
5
|
-
theme?: ResolvedTheme
|
|
6
|
-
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
theme?: ResolvedTheme | undefined;
|
|
12
|
-
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole> | undefined;
|
|
13
|
-
}>>> & Readonly<{
|
|
4
|
+
theme?: ResolvedTheme;
|
|
5
|
+
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole>;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
8
|
+
configChange: (config: ChartConfig) => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
10
|
onConfigChange?: ((config: ChartConfig) => any) | undefined;
|
|
15
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
11
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
16
12
|
export default _default;
|
|
17
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
18
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
19
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
20
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
21
|
-
} : {
|
|
22
|
-
type: import('vue').PropType<T[K]>;
|
|
23
|
-
required: true;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
13
|
//# sourceMappingURL=ChartBuilder.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilder.vue.d.ts","sourceRoot":"","sources":["../../src/components/ChartBuilder.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChartBuilder.vue.d.ts","sourceRoot":"","sources":["../../src/components/ChartBuilder.vue"],"names":[],"mappings":"AAAA,OAszBO,KAAK,EAEV,WAAW,EAGX,aAAa,EACd,MAAM,4BAA4B,CAAA;AAqBnC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,4BAA4B,EAAE,SAAS,CAAC,CAAA;CACpF,CAAC;;;;;;AAqoCF,wBAOG"}
|
|
@@ -1,54 +1,31 @@
|
|
|
1
1
|
import { ColumnStats, DateFormat, DateRange, NumberFormat, NumericRange } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
columnId: string;
|
|
5
4
|
columnName: string;
|
|
6
5
|
stats: ColumnStats;
|
|
7
6
|
selectedValues: string[];
|
|
8
7
|
sortDirection: 'asc' | 'desc' | null;
|
|
9
8
|
/** Current numeric range filter (if any) */
|
|
10
|
-
numericRange?: NumericRange | null
|
|
9
|
+
numericRange?: NumericRange | null;
|
|
11
10
|
/** Current date range filter (if any) */
|
|
12
|
-
dateRange?: DateRange | null
|
|
11
|
+
dateRange?: DateRange | null;
|
|
13
12
|
/** Number display format */
|
|
14
|
-
numberFormat?: NumberFormat
|
|
13
|
+
numberFormat?: NumberFormat;
|
|
15
14
|
/** Date display format */
|
|
16
|
-
dateFormat?: DateFormat
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
columnName: string;
|
|
26
|
-
stats: ColumnStats;
|
|
27
|
-
selectedValues: string[];
|
|
28
|
-
sortDirection: 'asc' | 'desc' | null;
|
|
29
|
-
/** Current numeric range filter (if any) */
|
|
30
|
-
numericRange?: NumericRange | null | undefined;
|
|
31
|
-
/** Current date range filter (if any) */
|
|
32
|
-
dateRange?: DateRange | null | undefined;
|
|
33
|
-
/** Number display format */
|
|
34
|
-
numberFormat?: NumberFormat | undefined;
|
|
35
|
-
/** Date display format */
|
|
36
|
-
dateFormat?: DateFormat | undefined;
|
|
37
|
-
}>>> & Readonly<{
|
|
15
|
+
dateFormat?: DateFormat;
|
|
16
|
+
};
|
|
17
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
18
|
+
sort: (direction: "desc" | "asc" | null) => any;
|
|
19
|
+
filter: (values: string[]) => any;
|
|
20
|
+
close: () => any;
|
|
21
|
+
rangeFilter: (range: NumericRange | null) => any;
|
|
22
|
+
dateRangeFilter: (range: DateRange | null) => any;
|
|
23
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
38
24
|
onSort?: ((direction: "desc" | "asc" | null) => any) | undefined;
|
|
39
25
|
onFilter?: ((values: string[]) => any) | undefined;
|
|
40
26
|
onClose?: (() => any) | undefined;
|
|
41
27
|
onRangeFilter?: ((range: NumericRange | null) => any) | undefined;
|
|
42
28
|
onDateRangeFilter?: ((range: DateRange | null) => any) | undefined;
|
|
43
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
29
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
44
30
|
export default _default;
|
|
45
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
46
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
47
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
48
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
49
|
-
} : {
|
|
50
|
-
type: import('vue').PropType<T[K]>;
|
|
51
|
-
required: true;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
31
|
//# sourceMappingURL=ColumnFilter.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnFilter.vue.d.ts","sourceRoot":"","sources":["../../src/components/ColumnFilter.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ColumnFilter.vue.d.ts","sourceRoot":"","sources":["../../src/components/ColumnFilter.vue"],"names":[],"mappings":"AAwuBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAahH,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;IACpC,4CAA4C;IAC5C,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,yCAAyC;IACzC,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IAC5B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAAC;;;;;;;;;;;;;;AAuqBF,wBAOG"}
|
|
@@ -1,163 +1,51 @@
|
|
|
1
|
-
import { AIAnalystConfig,
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
1
|
+
import { AIAnalystConfig, DateFormat, NumberFormat, Theme } from '@smallwebco/tinypivot-core';
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
data: Record<string, unknown>[];
|
|
5
|
-
loading?: boolean
|
|
6
|
-
rowHeight?: number
|
|
7
|
-
headerHeight?: number
|
|
8
|
-
fontSize?:
|
|
9
|
-
showPivot?: boolean
|
|
10
|
-
enableExport?: boolean
|
|
11
|
-
enableSearch?: boolean
|
|
12
|
-
enablePagination?: boolean
|
|
13
|
-
pageSize?: number
|
|
14
|
-
enableColumnResize?: boolean
|
|
15
|
-
enableClipboard?: boolean
|
|
16
|
-
theme?: Theme
|
|
17
|
-
stripedRows?: boolean
|
|
18
|
-
exportFilename?: string
|
|
19
|
-
enableVerticalResize?: boolean
|
|
20
|
-
initialHeight?: number
|
|
21
|
-
minHeight?: number
|
|
22
|
-
maxHeight?: number
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
rowHeight?: number;
|
|
6
|
+
headerHeight?: number;
|
|
7
|
+
fontSize?: 'xs' | 'sm' | 'base';
|
|
8
|
+
showPivot?: boolean;
|
|
9
|
+
enableExport?: boolean;
|
|
10
|
+
enableSearch?: boolean;
|
|
11
|
+
enablePagination?: boolean;
|
|
12
|
+
pageSize?: number;
|
|
13
|
+
enableColumnResize?: boolean;
|
|
14
|
+
enableClipboard?: boolean;
|
|
15
|
+
theme?: Theme;
|
|
16
|
+
stripedRows?: boolean;
|
|
17
|
+
exportFilename?: string;
|
|
18
|
+
enableVerticalResize?: boolean;
|
|
19
|
+
initialHeight?: number;
|
|
20
|
+
minHeight?: number;
|
|
21
|
+
maxHeight?: number;
|
|
23
22
|
/** AI Data Analyst configuration (Pro feature, disabled by default) */
|
|
24
|
-
aiAnalyst?: AIAnalystConfig
|
|
23
|
+
aiAnalyst?: AIAnalystConfig;
|
|
25
24
|
/** Number display format */
|
|
26
|
-
numberFormat?: NumberFormat
|
|
25
|
+
numberFormat?: NumberFormat;
|
|
27
26
|
/** Date display format */
|
|
28
|
-
dateFormat?: DateFormat
|
|
27
|
+
dateFormat?: DateFormat;
|
|
29
28
|
/** Override auto-detected chart field roles per column name */
|
|
30
|
-
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
enableClipboard: boolean;
|
|
43
|
-
theme: string;
|
|
44
|
-
stripedRows: boolean;
|
|
45
|
-
exportFilename: string;
|
|
46
|
-
enableVerticalResize: boolean;
|
|
47
|
-
initialHeight: number;
|
|
48
|
-
minHeight: number;
|
|
49
|
-
maxHeight: number;
|
|
50
|
-
aiAnalyst: undefined;
|
|
51
|
-
numberFormat: string;
|
|
52
|
-
dateFormat: string;
|
|
53
|
-
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
54
|
-
cellClick: (payload: {
|
|
55
|
-
row: number;
|
|
56
|
-
col: number;
|
|
57
|
-
value: unknown;
|
|
58
|
-
rowData: Record<string, unknown>;
|
|
59
|
-
}) => void;
|
|
60
|
-
selectionChange: (payload: {
|
|
61
|
-
cells: {
|
|
62
|
-
row: number;
|
|
63
|
-
col: number;
|
|
64
|
-
}[];
|
|
65
|
-
values: unknown[];
|
|
66
|
-
}) => void;
|
|
67
|
-
export: (payload: {
|
|
68
|
-
rowCount: number;
|
|
69
|
-
filename: string;
|
|
70
|
-
}) => void;
|
|
71
|
-
copy: (payload: {
|
|
72
|
-
text: string;
|
|
73
|
-
cellCount: number;
|
|
74
|
-
}) => void;
|
|
75
|
-
aiDataLoaded: (payload: AIDataLoadedEvent) => void;
|
|
76
|
-
aiConversationUpdate: (payload: AIConversationUpdateEvent) => void;
|
|
77
|
-
aiQueryExecuted: (payload: AIQueryExecutedEvent) => void;
|
|
78
|
-
aiError: (payload: AIErrorEvent) => void;
|
|
79
|
-
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
80
|
-
data: Record<string, unknown>[];
|
|
81
|
-
loading?: boolean | undefined;
|
|
82
|
-
rowHeight?: number | undefined;
|
|
83
|
-
headerHeight?: number | undefined;
|
|
84
|
-
fontSize?: "base" | "xs" | "sm" | undefined;
|
|
85
|
-
showPivot?: boolean | undefined;
|
|
86
|
-
enableExport?: boolean | undefined;
|
|
87
|
-
enableSearch?: boolean | undefined;
|
|
88
|
-
enablePagination?: boolean | undefined;
|
|
89
|
-
pageSize?: number | undefined;
|
|
90
|
-
enableColumnResize?: boolean | undefined;
|
|
91
|
-
enableClipboard?: boolean | undefined;
|
|
92
|
-
theme?: Theme | undefined;
|
|
93
|
-
stripedRows?: boolean | undefined;
|
|
94
|
-
exportFilename?: string | undefined;
|
|
95
|
-
enableVerticalResize?: boolean | undefined;
|
|
96
|
-
initialHeight?: number | undefined;
|
|
97
|
-
minHeight?: number | undefined;
|
|
98
|
-
maxHeight?: number | undefined;
|
|
99
|
-
/** AI Data Analyst configuration (Pro feature, disabled by default) */
|
|
100
|
-
aiAnalyst?: AIAnalystConfig | undefined;
|
|
101
|
-
/** Number display format */
|
|
102
|
-
numberFormat?: NumberFormat | undefined;
|
|
103
|
-
/** Date display format */
|
|
104
|
-
dateFormat?: DateFormat | undefined;
|
|
105
|
-
/** Override auto-detected chart field roles per column name */
|
|
106
|
-
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole> | undefined;
|
|
107
|
-
}>, {
|
|
108
|
-
loading: boolean;
|
|
109
|
-
rowHeight: number;
|
|
110
|
-
headerHeight: number;
|
|
111
|
-
fontSize: string;
|
|
112
|
-
showPivot: boolean;
|
|
113
|
-
enableExport: boolean;
|
|
114
|
-
enableSearch: boolean;
|
|
115
|
-
enablePagination: boolean;
|
|
116
|
-
pageSize: number;
|
|
117
|
-
enableColumnResize: boolean;
|
|
118
|
-
enableClipboard: boolean;
|
|
119
|
-
theme: string;
|
|
120
|
-
stripedRows: boolean;
|
|
121
|
-
exportFilename: string;
|
|
122
|
-
enableVerticalResize: boolean;
|
|
123
|
-
initialHeight: number;
|
|
124
|
-
minHeight: number;
|
|
125
|
-
maxHeight: number;
|
|
126
|
-
aiAnalyst: undefined;
|
|
127
|
-
numberFormat: string;
|
|
128
|
-
dateFormat: string;
|
|
129
|
-
}>>> & Readonly<{
|
|
130
|
-
onCopy?: ((payload: {
|
|
131
|
-
text: string;
|
|
132
|
-
cellCount: number;
|
|
133
|
-
}) => any) | undefined;
|
|
134
|
-
onCellClick?: ((payload: {
|
|
135
|
-
row: number;
|
|
136
|
-
col: number;
|
|
137
|
-
value: unknown;
|
|
138
|
-
rowData: Record<string, unknown>;
|
|
139
|
-
}) => any) | undefined;
|
|
140
|
-
onSelectionChange?: ((payload: {
|
|
141
|
-
cells: {
|
|
142
|
-
row: number;
|
|
143
|
-
col: number;
|
|
144
|
-
}[];
|
|
145
|
-
values: unknown[];
|
|
146
|
-
}) => any) | undefined;
|
|
147
|
-
onExport?: ((payload: {
|
|
148
|
-
rowCount: number;
|
|
149
|
-
filename: string;
|
|
150
|
-
}) => any) | undefined;
|
|
151
|
-
onAiDataLoaded?: ((payload: AIDataLoadedEvent) => any) | undefined;
|
|
152
|
-
onAiConversationUpdate?: ((payload: AIConversationUpdateEvent) => any) | undefined;
|
|
153
|
-
onAiQueryExecuted?: ((payload: AIQueryExecutedEvent) => any) | undefined;
|
|
154
|
-
onAiError?: ((payload: AIErrorEvent) => any) | undefined;
|
|
29
|
+
fieldRoleOverrides?: Record<string, import('@smallwebco/tinypivot-core').FieldRole>;
|
|
30
|
+
/** Enable row group collapse/expand (default true) */
|
|
31
|
+
enableDrillDown?: boolean;
|
|
32
|
+
/** Enable drill-through on double-click (Pro feature, default true) */
|
|
33
|
+
enableDrillThrough?: boolean;
|
|
34
|
+
};
|
|
35
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
36
|
+
[x: string]: any;
|
|
37
|
+
} & {
|
|
38
|
+
[x: string]: any;
|
|
39
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
40
|
+
[x: `on${Capitalize<any>}`]: ((...args: any[] | unknown[]) => any) | undefined;
|
|
155
41
|
}>, {
|
|
156
42
|
theme: Theme;
|
|
157
|
-
fontSize:
|
|
43
|
+
fontSize: "base" | "xs" | "sm";
|
|
158
44
|
dateFormat: DateFormat;
|
|
159
45
|
numberFormat: NumberFormat;
|
|
160
46
|
aiAnalyst: AIAnalystConfig;
|
|
47
|
+
enableDrillDown: boolean;
|
|
48
|
+
enableDrillThrough: boolean;
|
|
161
49
|
loading: boolean;
|
|
162
50
|
rowHeight: number;
|
|
163
51
|
headerHeight: number;
|
|
@@ -174,23 +62,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
174
62
|
initialHeight: number;
|
|
175
63
|
minHeight: number;
|
|
176
64
|
maxHeight: number;
|
|
177
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
65
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
178
66
|
export default _default;
|
|
179
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
180
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
181
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
182
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
183
|
-
} : {
|
|
184
|
-
type: import('vue').PropType<T[K]>;
|
|
185
|
-
required: true;
|
|
186
|
-
};
|
|
187
|
-
};
|
|
188
|
-
type __VLS_WithDefaults<P, D> = {
|
|
189
|
-
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
190
|
-
default: D[K];
|
|
191
|
-
}> : P[K];
|
|
192
|
-
};
|
|
193
|
-
type __VLS_Prettify<T> = {
|
|
194
|
-
[K in keyof T]: T[K];
|
|
195
|
-
} & {};
|
|
196
67
|
//# sourceMappingURL=DataGrid.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.vue"],"names":[],"mappings":"AAAA,OAovFO,KAAK,EACV,eAAe,EAOf,UAAU,EAEV,YAAY,EACZ,KAAK,EACN,MAAM,4BAA4B,CAAA;AAuBnC,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uEAAuE;IACvE,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,4BAA4B,EAAE,SAAS,CAAC,CAAA;IACnF,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAo1FF,wBAQG"}
|
|
@@ -1,28 +1,14 @@
|
|
|
1
1
|
import { DateFormat, DateRange } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
dataMin: string;
|
|
5
4
|
dataMax: string;
|
|
6
5
|
currentRange: DateRange | null;
|
|
7
|
-
dateFormat?: DateFormat
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
dataMax: string;
|
|
13
|
-
currentRange: DateRange | null;
|
|
14
|
-
dateFormat?: DateFormat | undefined;
|
|
15
|
-
}>>> & Readonly<{
|
|
6
|
+
dateFormat?: DateFormat;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
change: (range: DateRange | null) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
11
|
onChange?: ((range: DateRange | null) => any) | undefined;
|
|
17
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
12
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
18
13
|
export default _default;
|
|
19
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
20
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
21
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
22
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
23
|
-
} : {
|
|
24
|
-
type: import('vue').PropType<T[K]>;
|
|
25
|
-
required: true;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
14
|
//# sourceMappingURL=DateRangeFilter.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangeFilter.vue.d.ts","sourceRoot":"","sources":["../../src/components/DateRangeFilter.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateRangeFilter.vue.d.ts","sourceRoot":"","sources":["../../src/components/DateRangeFilter.vue"],"names":[],"mappings":"AAwMA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAIvE,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,SAAS,GAAG,IAAI,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,CAAC;;;;;;AA0SF,wBAOG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DrillThroughResult, PivotValueField } from '@smallwebco/tinypivot-core';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
show: boolean;
|
|
4
|
+
result: DrillThroughResult | null;
|
|
5
|
+
rowFields: string[];
|
|
6
|
+
columnFields: string[];
|
|
7
|
+
valueFields: PivotValueField[];
|
|
8
|
+
theme?: string;
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
11
|
+
close: () => any;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
onClose?: (() => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=DrillThroughModal.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrillThroughModal.vue.d.ts","sourceRoot":"","sources":["../../src/components/DrillThroughModal.vue"],"names":[],"mappings":"AA2XA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAQrF,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACjC,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,eAAe,EAAE,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC;;;;;;AAwSF,wBAOG"}
|
|
@@ -1,28 +1,14 @@
|
|
|
1
1
|
import { NumberFormat, NumericRange } from '@smallwebco/tinypivot-core';
|
|
2
|
-
|
|
3
|
-
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
type __VLS_Props = {
|
|
4
3
|
dataMin: number;
|
|
5
4
|
dataMax: number;
|
|
6
5
|
currentRange: NumericRange | null;
|
|
7
|
-
numberFormat?: NumberFormat
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
dataMax: number;
|
|
13
|
-
currentRange: NumericRange | null;
|
|
14
|
-
numberFormat?: NumberFormat | undefined;
|
|
15
|
-
}>>> & Readonly<{
|
|
6
|
+
numberFormat?: NumberFormat;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
+
change: (range: NumericRange | null) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
11
|
onChange?: ((range: NumericRange | null) => any) | undefined;
|
|
17
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions,
|
|
12
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
18
13
|
export default _default;
|
|
19
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
20
|
-
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
21
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
22
|
-
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
23
|
-
} : {
|
|
24
|
-
type: import('vue').PropType<T[K]>;
|
|
25
|
-
required: true;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
14
|
//# sourceMappingURL=NumericRangeFilter.vue.d.ts.map
|