@smallwebco/tinypivot-vue 1.0.57 → 1.0.59

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 CHANGED
@@ -1,14 +1,14 @@
1
1
  # @smallwebco/tinypivot-vue
2
2
 
3
- A lightweight, AI-ready data grid with pivot tables and charts for Vue 3. **Under 50KB gzipped** — 10x smaller than AG Grid.
3
+ A lightweight data grid with pivot tables, charts, and optional AI-powered data exploration for Vue 3. **Under 50KB gzipped** — 10x smaller than AG Grid.
4
4
 
5
5
  **[Live Demo](https://tiny-pivot.com)** · **[Buy License](https://tiny-pivot.com/#pricing)**
6
6
 
7
7
  ## Why TinyPivot?
8
8
 
9
9
  - **Lightweight**: Under 50KB gzipped vs 500KB+ for AG Grid
10
- - **AI-Ready**: Natural language data exploration with your own API key (BYOK)
11
- - **Batteries Included**: Pivot tables, charts, and Excel-like features out of the box
10
+ - **Batteries Included**: Pivot tables, 6 chart types, Excel-like features out of the box
11
+ - **AI Data Analyst** (Pro): Natural language queries with BYOK use your own OpenAI/Anthropic key
12
12
  - **One-Time License**: No subscriptions — pay once, use forever
13
13
 
14
14
  ## Installation
@@ -90,7 +90,9 @@ const data = [
90
90
 
91
91
  ## AI Data Analyst (Pro)
92
92
 
93
- Enable natural language data exploration with your own AI API key (BYOK).
93
+ Optional AI-powered data analyst that lets users explore data using natural language. Ask questions like "What's the return rate by category?" and get instant results.
94
+
95
+ > See the [AI Analyst Demo](https://github.com/Small-Web-Co/tinypivot/tree/master/examples/ai-analyst-demo) for a complete working example.
94
96
 
95
97
  ```vue
96
98
  <script setup lang="ts">
@@ -3,7 +3,10 @@ import { AIAnalystConfig, AIConversationUpdateEvent, AIDataLoadedEvent, AIErrorE
3
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
4
4
  config: AIAnalystConfig;
5
5
  theme?: "light" | "dark" | undefined;
6
- }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
6
+ }>>, {
7
+ loadFullData: () => Promise<Record<string, unknown>[] | null>;
8
+ selectedDataSource: import('vue').ComputedRef<string | undefined>;
9
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
10
  dataLoaded: (payload: AIDataLoadedEvent) => void;
8
11
  conversationUpdate: (payload: AIConversationUpdateEvent) => void;
9
12
  queryExecuted: (payload: AIQueryExecutedEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AIAnalyst.vue.d.ts","sourceRoot":"","sources":["../../src/components/AIAnalyst.vue"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EAEZ,oBAAoB,EAErB,MAAM,4BAA4B,CAAA;;YA8rEzB,eAAe;;;;;;;;;;;;YAAf,eAAe;;;;;;;;;;;;AANzB,wBAUG;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"}
1
+ {"version":3,"file":"AIAnalyst.vue.d.ts","sourceRoot":"","sources":["../../src/components/AIAnalyst.vue"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EAEZ,oBAAoB,EAErB,MAAM,4BAA4B,CAAA;;YA0sEzB,eAAe;;;;;;;;;;;;;;;YAAf,eAAe;;;;;;;;;;;;AAPzB,wBAWG;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.vue"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;;UA2oH3B,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAoB/B,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UApBjE,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAoB/B,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAP/D,OAAO,GAAG,MAAM,GAAG,MAAM;cATtB,IAAI,GAAG,IAAI,GAAG,MAAM;eAiBnB,eAAe;aApBjB,OAAO;eACL,MAAM;kBACH,MAAM;eAET,OAAO;kBAEJ,OAAO;kBACP,OAAO;sBACH,OAAO;cACf,MAAM;wBACI,OAAO;qBACV,OAAO;iBAEX,OAAO;oBACJ,MAAM;0BACA,OAAO;mBACd,MAAM;eACV,MAAM;eACN,MAAM;;AAzBpB,wBA8BG;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"}
1
+ {"version":3,"file":"DataGrid.vue.d.ts","sourceRoot":"","sources":["../../src/components/DataGrid.vue"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EAGrB,MAAM,4BAA4B,CAAA;;UA6sH3B,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAoB/B,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UApBjE,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE;;;;;;;;;;;;;;;;;;;IAoB/B,uEAAuE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAP/D,OAAO,GAAG,MAAM,GAAG,MAAM;cATtB,IAAI,GAAG,IAAI,GAAG,MAAM;eAiBnB,eAAe;aApBjB,OAAO;eACL,MAAM;kBACH,MAAM;eAET,OAAO;kBAEJ,OAAO;kBACP,OAAO;sBACH,OAAO;cACf,MAAM;wBACI,OAAO;qBACV,OAAO;iBAEX,OAAO;oBACJ,MAAM;0BACA,OAAO;mBACd,MAAM;eACV,MAAM;eACN,MAAM;;AAzBpB,wBA8BG;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"}
@@ -94,5 +94,7 @@ export declare function useAIAnalyst(options: UseAIAnalystOptions): {
94
94
  importConversation: (conv: AIConversation) => void;
95
95
  /** Refresh table list from endpoint */
96
96
  fetchTables: () => Promise<void>;
97
+ /** Load full data for the currently selected data source */
98
+ loadFullData: () => Promise<Record<string, unknown>[] | null>;
97
99
  };
98
100
  //# sourceMappingURL=useAIAnalyst.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAIAnalyst.d.ts","sourceRoot":"","sources":["../../src/composables/useAIAnalyst.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,aAAa,EAGd,MAAM,4BAA4B,CAAA;AAkBnC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACjD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACjE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;CACxC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAynBrD,qEAAqE;;qCAxfzB,MAAM;2BAwGhB,MAAM;;8BAgXX,cAAc;+BAOX,cAAc;IAkC9C,uCAAuC;;EAG1C"}
1
+ {"version":3,"file":"useAIAnalyst.d.ts","sourceRoot":"","sources":["../../src/composables/useAIAnalyst.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,aAAa,EAGd,MAAM,4BAA4B,CAAA;AAkBnC,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACjD,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAA;IACjE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;CACxC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwtBrD,qEAAqE;;qCAvlBzB,MAAM;2BAwGhB,MAAM;;8BA+cX,cAAc;+BAOX,cAAc;IAkC9C,uCAAuC;;IAEvC,4DAA4D;wBAnJ/B,QAAQ,OAAO,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;EAsJzE"}