@revolist/svelte-datagrid 4.10.19 → 4.10.34

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,3 +1,18 @@
1
+ ### 🚨 Repository Notice 🚨
2
+
3
+ This repo is read-only and will be **deprecated** in v5+ in favor of monorepos. Post issues [here](https://github.com/revolist/revogrid). Happy coding! 🖥️💻
4
+
5
+ ---
6
+
7
+
8
+ We have updated our latest version to support **Svelte 5** following its official release. 🎉
9
+ Read more about the announcement here: [Svelte 5 is Alive](https://svelte.dev/blog/svelte-5-is-alive).
10
+
11
+ If you want to continue using **Svelte 4**, please switch to the [svelte-4](https://github.com/revolist/svelte-datagrid/tree/svelte-4) branch.
12
+
13
+ ---
14
+
15
+
1
16
  <p align="center">
2
17
  <a href="https://rv-grid.com">
3
18
  <img src="./assets/logo.svg" alt="RevoGrid" height="150" />
@@ -7,8 +22,10 @@
7
22
  <p align="center">
8
23
  <a href="https://www.npmjs.com/package/@revolist/revogrid"><img src="https://img.shields.io/npm/v/@revolist/revogrid" alt="Latest Version on NPM"/></a>
9
24
  <a href="https://github.com/revolist/revogrid/blob/master/LICENSE"><img src="https://img.shields.io/npm/l/@revolist/revogrid" alt="Software License"/></a>
10
- <img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid@latest" alt="Tree shaking"/>
11
- <img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid@latest" alt="Tree shaking"/>
25
+ <img src="https://badgen.net/bundlephobia/dependency-count/@revolist/revogrid" alt="Dependency count"/>
26
+ <img src="https://badgen.net/bundlephobia/tree-shaking/@revolist/revogrid" alt="Tree shaking"/>
27
+ <img src="https://img.shields.io/bundlephobia/min/@revolist/revogrid" alt="Bundle size"/>
28
+ <img src="https://sonarcloud.io/api/project_badges/measure?project=revolist_revogrid&metric=alert_status" alt="Sonar Quality Gate"/>
12
29
  </p>
13
30
 
14
31
  #
@@ -24,7 +41,7 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
24
41
  <a href="#key-features">Key Features</a> •
25
42
  <a href="#basic-usage">How To Use</a> •
26
43
  <a href="#installation">Installation</a> •
27
- <a href="https://github.com/revolist/revogrid/blob/master/src/components/revo-grid/readme.md">Docs</a> •
44
+ <a href="https://rv-grid.com/guide/">Docs</a> •
28
45
  <a href="#license">License</a>
29
46
  </p>
30
47
 
@@ -32,10 +49,13 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
32
49
  <i>RevoGrid material theme.</i>
33
50
  <br>
34
51
 
52
+
35
53
  ## Key Features
36
54
 
37
55
  - **High Performance**: Handles millions of cells in the viewport with a powerful core built by default.
38
56
 
57
+ - **Accessibility**: Follows WAI-ARIA best practices.
58
+
39
59
  - **Keyboard Support**:
40
60
  - Excel-like focus for efficient navigation and editing.
41
61
  - Seamless copy/paste from Excel, Google Sheets, or any other sheet format.
@@ -45,6 +65,14 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
45
65
 
46
66
  - **Intelligent Virtual DOM**: Smart row recombination to minimize redraws.
47
67
 
68
+ - **Virtual Scroll**: Handles large datasets with infinite scroll.
69
+
70
+ - **Formula Support**: Evaluate formulas in cell data.
71
+
72
+ - **Master Detail/Subtables/Forms**: Expand rows to reveal child data.
73
+
74
+ - **Drag and Drop**: Drag and drop in rows and columns.
75
+
48
76
  - **Sorting**: Multiple options, customizable per column, with advanced event handling.
49
77
 
50
78
  - **Filtering**:
@@ -68,6 +96,8 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
68
96
 
69
97
  - **Cell Editing**: In-place editing of cell data.
70
98
 
99
+ - **Cell Merging**: Merge cells to form groups.
100
+
71
101
  - **Customizations**:
72
102
  - Column header template.
73
103
  - Row header template.
@@ -82,8 +112,6 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
82
112
  - Date.
83
113
  - Custom (create extended styles using any template).
84
114
 
85
- - **Drag and Drop**: Easily reorder rows.
86
-
87
115
  - **Range Operations**:
88
116
  - Selection.
89
117
  - Editing.
@@ -104,12 +132,12 @@ Support Millions of cells and thousands of columns easy and efficiently for fast
104
132
 
105
133
 
106
134
 
107
- ### Usage Svelte [Example](https://codesandbox.io/s/data-vue-test-3wkzi?file=/src/App.vue)
135
+ ### Usage Svelte
108
136
 
109
137
  With NPM:
110
138
 
111
139
  ```bash
112
- npm i @revolist/svelte-datagrid --save;
140
+ npm i @revolist/svelte-datagrid
113
141
  ```
114
142
 
115
143
  With Yarn:
@@ -121,24 +149,8 @@ yarn add @revolist/svelte-datagrid;
121
149
  ```svelte
122
150
  // App.svelte
123
151
  <script lang="ts">
124
- import { RevoGrid } from '@revolist/svelte-datagrid';
125
- import type { ColumnRegular } from '@revolist/revogrid';
126
-
127
- // This part to makesure revogrid component is loaded and ready
128
- import { defineCustomElements } from '@revolist/revogrid/loader';
129
- defineCustomElements();
130
-
131
- const columns = [
132
- {
133
- prop: 'name',
134
- name: 'First',
135
- },
136
- {
137
- prop: 'details',
138
- name: 'Second',
139
- },
140
- ];
141
- const source = [
152
+ import { RevoGrid, type ColumnRegular } from '@revolist/svelte-datagrid';
153
+ const source = [
142
154
  {
143
155
  name: '1',
144
156
  details: 'Item 1',
@@ -148,53 +160,96 @@ yarn add @revolist/svelte-datagrid;
148
160
  details: 'Item 2',
149
161
  },
150
162
  ];
163
+ const columns: ColumnRegular[] = [
164
+ {
165
+ prop: 'name',
166
+ name: 'First',
167
+ cellTemplate(h, { value }) {
168
+ return h('span', { style: { background: 'red' } }, value);
169
+ }
170
+ },
171
+ {
172
+ prop: 'details',
173
+ name: 'Second',
174
+ },
175
+ ];
151
176
  </script>
152
177
 
153
- <RevoGrid {source} {columns}></RevoGrid>
154
-
178
+ <main>
179
+ <RevoGrid {source} {columns}></RevoGrid>
180
+ </main>
155
181
  ```
156
182
 
157
183
 
158
- ## Versions
184
+ [Example and guide](https://rv-grid.com/guide/svelte/)
159
185
 
160
- - **2.0+**: Introduced the plugin system, grouping, sorting, and filtering.
161
- - **3.0+**: Breaking changes introduced. See the [migration guide](./docs/guide/migration.md).
162
- This version features new component loading, ESM modules, Bootstrap support, and much [more](./docs/guide/migration.md).
163
- - **4.0+**: Breaking changes introduced. See the [migration guide](./docs/guide/migration.md). In this version, we rethought our framework approach, updated typings, fixed major issues, updated core and significantly improved overall performance. The grid is now much faster, with better plugin support and full framework support for Angular, React, and Vue, along with partial support for Ember and Svelte. Redesigned the documentation, and added more examples.
164
186
 
187
+ ## Versions
165
188
 
166
-
167
- ## Sponsors
168
-
169
- We would like to extend our heartfelt gratitude to our sponsor for their generous support. Their contributions help us maintain and develop RevoGrid, ensuring continuous improvements and updates. If you are using RevoGrid in your project and would like to support its development, consider becoming a sponsor.
170
-
171
- ### Our Sponsors
189
+ - **2.0+**: Introduced the plugin system, grouping, sorting, and filtering.
190
+ - **3.0+**: Breaking changes introduced:
191
+ - Removed the redundant viewport component.
192
+ - Renamed classes to support Bootstrap and other libraries:
193
+ - `row` -> `rgRow`
194
+ - `col` -> `rgCol`
195
+ - `data-cell` -> `rgCell`
196
+ - `data-header-cell` -> `rgHeaderCell`
197
+ - Migrated all method names to lowercase to align with modern event naming conventions. For example, `afterEdit` is now `afteredit`. Check the API for details.
198
+ - Added support for pure ESM modules to enable the use of the grid in all modern frontend tooling like Vite, Parcel, etc. You can now import custom elements without lazy loading. Note that you are responsible for polyfills.
199
+
200
+
201
+ - **4.0+**: Breaking changes introduced. See the [migration guide](https://rv-grid.com/guide/migration).
202
+
203
+ - Redesigned type support:
204
+ - Removed deprecated namespaces:
205
+ - **Before**: `RevoGrid.ColumnRegular`
206
+ - **Now**: `ColumnRegular`;
207
+ - Improved type import:
208
+ - **Before**: `import { RevoGrid } from '@revolist/revogrid/dist/types/interfaces'`
209
+ - **Now**: `import { ColumnRegular } from '@revolist/revogrid'`.
210
+ - Changed viewport type names everywhere. For example, before: `rowDefinitions: [{ type: "row", index: 0, size: 145 }]`, after: `rowDefinitions: [{ type: "rgRow", index: 0, size: 145 }]`.
211
+ - Updated [event](https://rv-grid.com/guide/api/revoGrid.html#Events) naming convention. Review your [event](https://rv-grid.com/guide/api/revoGrid.html#Events) usage. [Event names](https://rv-grid.com/guide/api/revoGrid.html#Events) are all lowercase now and are aligned with modern event naming conventions. For example, `afterEdit` -> `afteredit`.
212
+ - Multiple event breaking changes introduced: beforerowrender now returns `BeforeRowRenderEvent`. Check all events for details.
213
+
214
+ - **Major improvements**:
215
+ - Rethought the entire framework approach. Introduced Pro version with advance support and pro features.
216
+ - Introduced slot support.
217
+ - Updated scrolling system for better mobile support.
218
+ - Advance template support. Introduced `additionalData` for templates and editors. `Prop` gives access to parent/root app context.
219
+ - Redesigned the documentation.
220
+ - Fixed major issues and significantly improved overall performance, making the grid multiple time faster.
221
+ - Enhanced plugin support - now with full access to grid providers.
222
+ - Updated documentation.
223
+ - Provided full framework support and native render for Angular, React, Svelte and Vue.
224
+
225
+ - **What next?**
226
+ - Check our [Roadmap](https://github.com/users/revolist/projects/3)
227
+
228
+
229
+ ## Our Sponsors
230
+
231
+ We would like to extend our heartfelt gratitude to our sponsors for their generous support. Their contributions help us maintain and develop RevoGrid.
172
232
 
173
233
  [![Altruistiq](https://cdn.prod.website-files.com/62cd69e08130a1a33f5ef900/6310b4d500e971695db5e9c3_615b5db69ce8931a276e5ed2_Social_Icons_AQ_3_32x32.png)](https://altruistiq.com)
174
234
 
175
235
 
176
236
  ### Become a Sponsor
177
237
 
178
- If you or your company would like to support the ongoing development of RevoGrid, please consider becoming a sponsor. Your support will help us continue to improve the project and provide the best possible tool for the community.
179
-
180
- [![Sponsor Us](https://img.shields.io/badge/Sponsor%20Us-%F0%9F%92%96-brightgreen)](https://opencollective.com/revogrid)
238
+ If you or your company would like to support the ongoing development of RevoGrid, please consider [![Sponsor Us](https://img.shields.io/badge/Sponsor%20Us-%F0%9F%92%96-brightgreen)](https://opencollective.com/revogrid) or use a [Pro version](https://rv-grid.com/pro/). Your support will help us continue to improve the project and provide the best possible tool for the community.
181
239
 
182
240
  Thank you for supporting RevoGrid! 🙏
183
241
 
242
+
184
243
  ## Contributing
185
244
 
186
- We invite you to join our vibrant community and contribute to the growth and success of RevoGrid. By getting involved, you'll have the opportunity to enhance your skills, gain valuable experience, and make a significant impact on an innovative project.
245
+ By getting involved, you'll have the opportunity to enhance your skills, gain valuable experience, and make a significant impact on an innovative project. Your contribution, no matter how big or small, is valuable.
187
246
 
188
247
  ### Why Contribute?
189
248
 
190
- - **Expand Your Knowledge**: Working on RevoGrid allows you to dive deep into modern web technologies, improve your coding skills, and learn best practices in performance optimization, data handling, and component-based architecture.
191
- - **Valuable Experience**: Contributing to an open-source project like RevoGrid provides you with practical experience that can be a great addition to your portfolio. It demonstrates your ability to work collaboratively, solve complex problems, and contribute to a project's success.
192
- - **Professional Growth**: By contributing, you become part of a network of talented developers. This can lead to mentorship opportunities, collaborations, and professional connections that can benefit your career.
193
- - **Make a Difference**: Your contributions can help improve RevoGrid, making it more powerful and user-friendly for developers around the world. Your input can shape the future of the project and drive innovation.
194
-
195
- ### Join Us
249
+ - **Expand Your Knowledge**: Working on complex libraries allows you to dive deep into modern web technologies, improve your coding skills, and learn best practices in performance optimization, data handling, and component-based architecture.
250
+ - **Experience**: Contributing to an open-source project like provides you with practical experience that can be a great addition to your portfolio. It demonstrates your ability to work collaboratively, solve complex problems, and contribute to a project's success.
251
+ - **Professional Growth**: By contributing, you become part of a network of talented developers. This can lead to mentorship opportunities, collaborations, and professional connections that can benefit your career.
196
252
 
197
- Your contribution, no matter how big or small, is valuable. By working on RevoGrid, you'll be part of an exciting project that's making a difference in the world of data grids. Join us today and let's build something amazing together!
198
253
 
199
254
  ## License
200
255
 
package/dist/index.d.ts CHANGED
@@ -1,305 +1,4 @@
1
- import { Components } from '@revolist/revogrid';
2
- import { JSX } from '@revolist/revogrid';
3
- import { SvelteComponent } from 'svelte/internal';
4
-
5
- export declare class RevoGrid extends SvelteComponent {
6
- $$prop_def: RevoGridProps;
7
- $$events_def: RevoGridEvents;
8
- $$slot_def: RevoGridSlots;
9
- $on<K extends keyof RevoGridEvents>(type: K, callback: (e: RevoGridEvents[K]) => any): () => void;
10
- $set($$props: Partial<RevoGridProps>): void;
11
- constructor(options: any);
12
- /** Refreshes data viewport.
13
- Can be specific part as rgRow or pinned rgRow or 'all' by default. */
14
- get refresh(): Components.RevoGrid["refresh"];
15
- /** Sets data at specified cell.
16
- Useful for performance optimization.
17
- No viewport update will be triggered. */
18
- get setDataAt(): Components.RevoGrid["setDataAt"];
19
- /** Scrolls viewport to specified row by index. */
20
- get scrollToRow(): Components.RevoGrid["scrollToRow"];
21
- /** Scrolls viewport to specified column by index. */
22
- get scrollToColumnIndex(): Components.RevoGrid["scrollToColumnIndex"];
23
- /** Scrolls viewport to specified column by prop */
24
- get scrollToColumnProp(): Components.RevoGrid["scrollToColumnProp"];
25
- /** Update columns */
26
- get updateColumns(): Components.RevoGrid["updateColumns"];
27
- /** Add trimmed by type */
28
- get addTrimmed(): Components.RevoGrid["addTrimmed"];
29
- /** Scrolls view port to coordinate */
30
- get scrollToCoordinate(): Components.RevoGrid["scrollToCoordinate"];
31
- /** Open editor for cell. */
32
- get setCellEdit(): Components.RevoGrid["setCellEdit"];
33
- /** Set focus range. */
34
- get setCellsFocus(): Components.RevoGrid["setCellsFocus"];
35
- /** Get data from source */
36
- get getSource(): Components.RevoGrid["getSource"];
37
- /** Get data from visible part of source
38
- Trimmed/filtered rows will be excluded */
39
- get getVisibleSource(): Components.RevoGrid["getVisibleSource"];
40
- /** Provides access to rows internal store observer
41
- Can be used for plugin support */
42
- get getSourceStore(): Components.RevoGrid["getSourceStore"];
43
- /** Provides access to column internal store observer
44
- Can be used for plugin support */
45
- get getColumnStore(): Components.RevoGrid["getColumnStore"];
46
- /** Update column sorting */
47
- get updateColumnSorting(): Components.RevoGrid["updateColumnSorting"];
48
- /** Clears column sorting */
49
- get clearSorting(): Components.RevoGrid["clearSorting"];
50
- /** Receive all columns in data source */
51
- get getColumns(): Components.RevoGrid["getColumns"];
52
- /** Clear current grid focus. Grid has no longer focus on it. */
53
- get clearFocus(): Components.RevoGrid["clearFocus"];
54
- /** Get all active plugins instances */
55
- get getPlugins(): Components.RevoGrid["getPlugins"];
56
- /** Get the currently focused cell. */
57
- get getFocused(): Components.RevoGrid["getFocused"];
58
- /** Get size of content
59
- Including all pinned data */
60
- get getContentSize(): Components.RevoGrid["getContentSize"];
61
- /** Get the currently selected Range. */
62
- get getSelectedRange(): Components.RevoGrid["getSelectedRange"];
63
- /** Refresh extra elements. Triggers re-rendering of extra elements and functions.
64
- Part of extraElements and registerVNode methods.
65
- Useful for plugins. */
66
- get refreshExtraElements(): Components.RevoGrid["refreshExtraElements"];
67
- get getWebComponent(): HTMLRevoGridElement | undefined;
68
- }
69
-
70
- declare interface RevoGridEvents {
71
- /** New content size has been applied. The size excludes the header.
72
- Currently, the event responsible for applying the new content size does not provide the actual size.
73
- To retrieve the actual content size, you can utilize the `getContentSize` function after the event has been triggered. */
74
- contentsizechanged: Parameters<JSX.RevoGrid["onContentsizechanged"]>[0];
75
- /** Before the data is edited.
76
- To prevent the default behavior of editing data and use your own implementation, call `e.preventDefault()`.
77
- To override the edit result with your own value, set the `e.val` property to your desired value. */
78
- beforeedit: Parameters<JSX.RevoGrid["onBeforeedit"]>[0];
79
- /** Before applying range data, specifically when a range selection occurs.
80
- To customize the data and prevent the default edit data from being set, you can call `e.preventDefault()`. */
81
- beforerangeedit: Parameters<JSX.RevoGrid["onBeforerangeedit"]>[0];
82
- /** After data applied or range changed. */
83
- afteredit: Parameters<JSX.RevoGrid["onAfteredit"]>[0];
84
- /** Before autofill is applied.
85
- To prevent the default behavior of applying the edit data, you can call `e.preventDefault()`. */
86
- beforeautofill: Parameters<JSX.RevoGrid["onBeforeautofill"]>[0];
87
- /** Before autofill is applied. Runs before beforeautofill event.
88
- Use e.preventDefault() to prevent range. */
89
- beforerange: Parameters<JSX.RevoGrid["onBeforerange"]>[0];
90
- /** After focus render finished.
91
- Can be used to access a focus element through `event.target`.
92
- This is just a duplicate of `afterfocus` from `revogr-focus.tsx`. */
93
- afterfocus: Parameters<JSX.RevoGrid["onAfterfocus"]>[0];
94
- /** Before the order of `rgRow` is applied.
95
- To prevent the default behavior of changing the order of `rgRow`, you can call `e.preventDefault()`. */
96
- roworderchanged: Parameters<JSX.RevoGrid["onRoworderchanged"]>[0];
97
- /** By sorting.plugin.ts
98
- Before sorting apply.
99
- Use e.preventDefault() to prevent sorting data change. */
100
- beforesortingapply: Parameters<JSX.RevoGrid["onBeforesortingapply"]>[0];
101
- /** By sorting.plugin.ts
102
- Before sorting event.
103
- Initial sorting triggered, if this event stops no other event called.
104
- Use e.preventDefault() to prevent sorting. */
105
- beforesorting: Parameters<JSX.RevoGrid["onBeforesorting"]>[0];
106
- /** This event is triggered when the row order change is started.
107
- To prevent the default behavior of changing the row order, you can call `e.preventDefault()`.
108
- To change the item name at the start of the row order change, you can set `e.text` to the desired new name. */
109
- rowdragstart: Parameters<JSX.RevoGrid["onRowdragstart"]>[0];
110
- /** On header click. */
111
- headerclick: Parameters<JSX.RevoGrid["onHeaderclick"]>[0];
112
- /** Before the cell focus is changed.
113
- To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`. */
114
- beforecellfocus: Parameters<JSX.RevoGrid["onBeforecellfocus"]>[0];
115
- /** Before the grid focus is lost.
116
- To prevent the default behavior of changing the cell focus, you can call `e.preventDefault()`. */
117
- beforefocuslost: Parameters<JSX.RevoGrid["onBeforefocuslost"]>[0];
118
- /** Before main source/rows data apply.
119
- You can override data source here */
120
- beforesourceset: Parameters<JSX.RevoGrid["onBeforesourceset"]>[0];
121
- /** Before data apply on any source type. Can be source from pinned and main viewport.
122
- You can override data source here */
123
- beforeanysource: Parameters<JSX.RevoGrid["onBeforeanysource"]>[0];
124
- /** After main source/rows updated */
125
- aftersourceset: Parameters<JSX.RevoGrid["onAftersourceset"]>[0];
126
- /** Emitted after each source update, whether from the pinned or main viewport.
127
- Useful for tracking all changes originating from sources in both the pinned and main viewports. */
128
- afteranysource: Parameters<JSX.RevoGrid["onAfteranysource"]>[0];
129
- /** Emitted before a column update is applied.
130
- Listeners can use this event to perform any necessary actions or modifications before the column update is finalized. */
131
- beforecolumnsset: Parameters<JSX.RevoGrid["onBeforecolumnsset"]>[0];
132
- /** Emitted before a column update is applied, after the column set is gathered and the viewport is updated.
133
- Useful for performing actions or modifications before the final application of the column update. */
134
- beforecolumnapplied: Parameters<JSX.RevoGrid["onBeforecolumnapplied"]>[0];
135
- /** Column updated */
136
- aftercolumnsset: Parameters<JSX.RevoGrid["onAftercolumnsset"]>[0];
137
- /** Emitted before applying a filter to the data source.
138
- Use e.preventDefault() to prevent cell focus change.
139
- Modify if you need to change filters. */
140
- beforefilterapply: Parameters<JSX.RevoGrid["onBeforefilterapply"]>[0];
141
- /** Emitted before applying a filter to the data source.
142
- Use e.preventDefault() to prevent the default behavior of trimming values and applying the filter.
143
- Modify the `collection` property if you want to change the filters.
144
- Modify the `itemsToFilter` property if you want to filter the indexes for trimming. */
145
- beforefiltertrimmed: Parameters<JSX.RevoGrid["onBeforefiltertrimmed"]>[0];
146
- /** Emitted before trimming values.
147
- Use e.preventDefault() to prevent the default behavior of trimming values.
148
- Modify the `trimmed` property if you want to filter the indexes for trimming. */
149
- beforetrimmed: Parameters<JSX.RevoGrid["onBeforetrimmed"]>[0];
150
- /** Emitted after trimmed values have been applied.
151
- Useful for notifying when trimming of values has taken place. */
152
- aftertrimmed: Parameters<JSX.RevoGrid["onAftertrimmed"]>[0];
153
- /** Emitted when the viewport is scrolled.
154
- Useful for tracking viewport scrolling events. */
155
- viewportscroll: Parameters<JSX.RevoGrid["onViewportscroll"]>[0];
156
- /** Before export
157
- Use e.preventDefault() to prevent export
158
- Replace data in Event in case you want to modify it in export */
159
- beforeexport: Parameters<JSX.RevoGrid["onBeforeexport"]>[0];
160
- /** Emitted before editing starts.
161
- Use e.preventDefault() to prevent the default edit behavior. */
162
- beforeeditstart: Parameters<JSX.RevoGrid["onBeforeeditstart"]>[0];
163
- /** Emitted after column resizing.
164
- Useful for retrieving the resized columns. */
165
- aftercolumnresize: Parameters<JSX.RevoGrid["onAftercolumnresize"]>[0];
166
- /** Emitted before the row definition is applied.
167
- Useful for modifying or preventing the default row definition behavior. */
168
- beforerowdefinition: Parameters<JSX.RevoGrid["onBeforerowdefinition"]>[0];
169
- /** Emitted when the filter configuration is changed */
170
- filterconfigchanged: Parameters<JSX.RevoGrid["onFilterconfigchanged"]>[0];
171
- /** Emmited when the row headers are changed. */
172
- rowheaderschanged: Parameters<JSX.RevoGrid["onRowheaderschanged"]>[0];
173
- /** Emmited before the grid is rendered. */
174
- beforegridrender: Parameters<JSX.RevoGrid["onBeforegridrender"]>[0];
175
- /** Emmited after the grid is rendered. */
176
- aftergridrender: Parameters<JSX.RevoGrid["onAftergridrender"]>[0];
177
- /** Emmited after the grid is initialized. Connected to the DOM. */
178
- aftergridinit: Parameters<JSX.RevoGrid["onAftergridinit"]>[0];
179
- /** Emmited after the additional data is changed */
180
- additionaldatachanged: Parameters<JSX.RevoGrid["onAdditionaldatachanged"]>[0];
181
- /** Emmited after the theme is changed */
182
- afterthemechanged: Parameters<JSX.RevoGrid["onAfterthemechanged"]>[0];
183
- }
184
-
185
- declare interface RevoGridProps {
186
- /** Excel like functionality.
187
- Show row numbers.
188
- Also can be used for custom row header render if object provided. */
189
- rowHeaders?: Components.RevoGrid["rowHeaders"];
190
- /** Defines how many rows/columns should be rendered outside visible area. */
191
- frameSize?: Components.RevoGrid["frameSize"];
192
- /** Indicates default rgRow size.
193
- By default 0, means theme package size will be applied
194
-
195
- Alternatively you can use `rowSize` to reset viewport */
196
- rowSize?: Components.RevoGrid["rowSize"];
197
- /** Indicates default column size. */
198
- colSize?: Components.RevoGrid["colSize"];
199
- /** When true, user can range selection. */
200
- range?: Components.RevoGrid["range"];
201
- /** When true, grid in read only mode. */
202
- readonly?: Components.RevoGrid["readonly"];
203
- /** When true, columns are resizable. */
204
- resize?: Components.RevoGrid["resize"];
205
- /** When true cell focus appear. */
206
- canFocus?: Components.RevoGrid["canFocus"];
207
- /** When true enable clipboard. */
208
- useClipboard?: Components.RevoGrid["useClipboard"];
209
- /** Columns - defines an array of grid columns.
210
- Can be column or grouped column. */
211
- columns?: Components.RevoGrid["columns"];
212
- /** Source - defines main data source.
213
- Can be an Object or 2 dimensional array([][]);
214
- Keys/indexes referenced from columns Prop. */
215
- source?: Components.RevoGrid["source"];
216
- /** Pinned top Source: {[T in ColumnProp]: any} - defines pinned top rows data source. */
217
- pinnedTopSource?: Components.RevoGrid["pinnedTopSource"];
218
- /** Pinned bottom Source: {[T in ColumnProp]: any} - defines pinned bottom rows data source. */
219
- pinnedBottomSource?: Components.RevoGrid["pinnedBottomSource"];
220
- /** Custom row properies to be applied. See `RowDefinition` for more info. */
221
- rowDefinitions?: Components.RevoGrid["rowDefinitions"];
222
- /** Custom editors register. */
223
- editors?: Components.RevoGrid["editors"];
224
- /** Apply changes in editor when closed except 'Escape' cases.
225
- If custom editor in use method getValue required.
226
- Check interfaces.d.ts `EditorBase` for more info. */
227
- applyOnClose?: Components.RevoGrid["applyOnClose"];
228
- /** Custom grid plugins. Can be added or removed at runtime.
229
- Every plugin should be inherited from BasePlugin class.
230
-
231
- For more details check [Plugin guide](https://rv-grid.com/guide/plugin/) */
232
- plugins?: Components.RevoGrid["plugins"];
233
- /** Column Types Format.
234
- Every type represent multiple column properties.
235
- Types will be merged but can be replaced with column properties.
236
- Types were made as separate objects to be reusable per multiple columns. */
237
- columnTypes?: Components.RevoGrid["columnTypes"];
238
- /** Theme name. */
239
- theme?: Components.RevoGrid["theme"];
240
- /** Row class property mapping.
241
- Map custom classes to rows from row object data.
242
- Define this property in rgRow object and this will be mapped as rgRow class. */
243
- rowClass?: Components.RevoGrid["rowClass"];
244
- /** Autosize config.
245
- Enables columns autoSize.
246
- For more details check `autoSizeColumn` plugin.
247
- By default disabled, hence operation is not performance efficient.
248
- `true` to enable with default params (double header separator click for autosize).
249
- Or define config. See `AutoSizeColumnConfig` for more details. */
250
- autoSizeColumn?: Components.RevoGrid["autoSizeColumn"];
251
- /** Enables filter plugin.
252
- Can be boolean.
253
- Or can be filter collection See `FilterCollection` for more info. */
254
- filter?: Components.RevoGrid["filter"];
255
- /** Apply changes typed in editor on editor close except Escape cases.
256
- If custom editor in use method `getValue` required.
257
- Check `interfaces.d.ts` `EditorBase` for more info. */
258
- focusTemplate?: Components.RevoGrid["focusTemplate"];
259
- /** Enable column move plugin. */
260
- canMoveColumns?: Components.RevoGrid["canMoveColumns"];
261
- /** Trimmed rows.
262
- Functionality which allows to hide rows from main data set.
263
- `trimmedRows` are physical `rgRow` indexes to hide. */
264
- trimmedRows?: Components.RevoGrid["trimmedRows"];
265
- /** Enable export plugin. */
266
- exporting?: Components.RevoGrid["exporting"];
267
- /** Group rows based on this property.
268
- Define properties to be groped by grouping plugin See `GroupingOptions`. */
269
- grouping?: Components.RevoGrid["grouping"];
270
- /** Stretch strategy for columns by `StretchColumn` plugin.
271
- For example if there are more space on the right last column size would be increased. */
272
- stretch?: Components.RevoGrid["stretch"];
273
- /** Additional data to be passed to plugins, renders or editors.
274
- For example if you need to pass Vue component instance. */
275
- additionalData?: Components.RevoGrid["additionalData"];
276
- /** Disable lazy rendering mode for the `X axis`.
277
- Use when not many columns present and you don't need rerenader cells during scroll.
278
- Can be used for initial rendering performance improvement. */
279
- disableVirtualX?: Components.RevoGrid["disableVirtualX"];
280
- /** Disable lazy rendering mode for the `Y axis`.
281
- Use when not many rows present and you don't need rerenader cells during scroll.
282
- Can be used for initial rendering performance improvement. */
283
- disableVirtualY?: Components.RevoGrid["disableVirtualY"];
284
- /** Please only hide the attribution if you are subscribed to Pro version */
285
- hideAttribution?: Components.RevoGrid["hideAttribution"];
286
- /** Prevent rendering until job is done.
287
- Can be used for initial rendering performance improvement.
288
- When several plugins require initial rendering this will prevent double initial rendering. */
289
- jobsBeforeRender?: Components.RevoGrid["jobsBeforeRender"];
290
- /** Register new virtual node inside of grid.
291
- Used for additional items creation such as plugin elements.
292
- Should be set before grid render inside of plugins.
293
- Can return VNode result of h() function or a function that returns VNode.
294
- Function can be used for performance improvement and additional renders. */
295
- registerVNode?: Components.RevoGrid["registerVNode"];
296
- /** Enable accessibility. If disabled, the grid will not be accessible. */
297
- accessible?: Components.RevoGrid["accessible"];
298
- }
299
-
300
- declare interface RevoGridSlots {
301
- default: any;
302
- }
1
+ export declare function RevoGrid($$anchor: any, $$props: any): any;
303
2
 
304
3
 
305
4
  export * from "@revolist/revogrid";