@svgrid/grid-wc 2.6.1 → 2.7.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.
Files changed (50) hide show
  1. package/dist/{GridMenus-Boz00ms0.js → GridMenus-DE0zNY_3.js} +265 -243
  2. package/dist/{SvDateTimePicker-Ch1Vug8H.js → SvDateTimePicker-BpeEupA2.js} +81 -81
  3. package/dist/SvGrid.helpers-BZPDBcza.js +125 -0
  4. package/dist/SvGridCellEditor-_rqEaig7.js +531 -0
  5. package/dist/{SvGridChart-BztTavvw.js → SvGridChart-yK5Zv85y.js} +158 -158
  6. package/dist/{SvGridChartPanel-Ca5HWIZ3.js → SvGridChartPanel-B38_VjXM.js} +52 -52
  7. package/dist/{SvGridChartView-AcWj_tcs.js → SvGridChartView-ScXTF6t-.js} +4 -4
  8. package/dist/{SvGridDropdown-BXqvR1cs.js → SvGridDropdown-DnAESFDu.js} +29 -29
  9. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs +358 -0
  10. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs.map +1 -0
  11. package/dist/angular/package.json +25 -0
  12. package/dist/angular/types/svgrid-grid-wc-angular.d.ts +161 -0
  13. package/dist/{client-DoXxrq8q.js → client-DjwUji8D.js} +1 -1
  14. package/dist/column-resize-DvCRUrN3.js +101 -0
  15. package/dist/{dismissable-xj_k_fnZ.js → dismissable-Nx79OIVg.js} +36 -36
  16. package/dist/editor-registry-DxGKqcvx.js +24 -0
  17. package/dist/react/index.d.ts +313 -0
  18. package/dist/react/index.js +72 -0
  19. package/dist/row-drag-touch-Ddaa-QeB.js +91 -0
  20. package/dist/row-resize-D-8s3cqT.js +94 -0
  21. package/dist/shadow/GridMenus-DE0zNY_3.js +1022 -0
  22. package/dist/shadow/SvDateTimePicker-BpeEupA2.js +1885 -0
  23. package/dist/shadow/SvGrid.helpers-BZPDBcza.js +125 -0
  24. package/dist/shadow/SvGridCellEditor-_rqEaig7.js +531 -0
  25. package/dist/shadow/SvGridChart-yK5Zv85y.js +1199 -0
  26. package/dist/shadow/SvGridChartPanel-B38_VjXM.js +584 -0
  27. package/dist/shadow/SvGridChartView-ScXTF6t-.js +50 -0
  28. package/dist/shadow/SvGridDropdown-DnAESFDu.js +256 -0
  29. package/dist/shadow/cell-formatting-C0OsDmi_.js +86 -0
  30. package/dist/shadow/chart-uvs3sFJA.js +1220 -0
  31. package/dist/shadow/client-DjwUji8D.js +2960 -0
  32. package/dist/shadow/column-resize-DvCRUrN3.js +101 -0
  33. package/dist/shadow/dismissable-Nx79OIVg.js +186 -0
  34. package/dist/shadow/editor-contract-peBDxir_.js +22 -0
  35. package/dist/shadow/editor-registry-DxGKqcvx.js +24 -0
  36. package/dist/shadow/export-format-C8kZGZfz.js +161 -0
  37. package/dist/shadow/popover-WsGlvtQv.js +69 -0
  38. package/dist/shadow/row-drag-touch-Ddaa-QeB.js +91 -0
  39. package/dist/shadow/row-resize-D-8s3cqT.js +94 -0
  40. package/dist/shadow/sv-grid-shadow-element.d.ts +246 -0
  41. package/dist/shadow/sv-grid-shadow-element.js +10067 -0
  42. package/dist/{svelte-virtualizer.svelte-ZL3wxPzD.js → shadow/svelte-virtualizer.svelte-DZ9UcyfT.js} +79 -166
  43. package/dist/shadow/validate-CgmAtX1A.js +75 -0
  44. package/dist/sv-grid-element.d.ts +246 -0
  45. package/dist/sv-grid-element.js +3927 -3202
  46. package/dist/svelte-virtualizer.svelte-DZ9UcyfT.js +527 -0
  47. package/dist/validate-CgmAtX1A.js +75 -0
  48. package/dist/vue/index.d.ts +147 -0
  49. package/dist/vue/index.js +72 -0
  50. package/package.json +85 -6
@@ -0,0 +1,147 @@
1
+ import '@svgrid/grid-wc';
2
+ export type SvGridProps = {
3
+ data?: readonly unknown[];
4
+ columns?: readonly unknown[];
5
+ board?: unknown;
6
+ scheduler?: unknown;
7
+ chart?: unknown;
8
+ pivot?: unknown;
9
+ pivotMode?: boolean;
10
+ contextMenu?: boolean;
11
+ selectionBar?: boolean;
12
+ features?: unknown;
13
+ sortable?: boolean;
14
+ filterable?: boolean;
15
+ editable?: boolean;
16
+ treeData?: unknown;
17
+ groupable?: boolean;
18
+ groupBy?: readonly unknown[];
19
+ expanded?: unknown;
20
+ groupFooters?: boolean;
21
+ grandTotalRow?: boolean;
22
+ groupDisplayMode?: string;
23
+ autoGroupColumnHeader?: string;
24
+ autoGroupColumnWidth?: number;
25
+ pageable?: boolean;
26
+ loading?: boolean;
27
+ loadingOverlay?: boolean;
28
+ loadingSkeletonRows?: number;
29
+ error?: string | null;
30
+ emptyMessage?: string;
31
+ localization?: unknown;
32
+ showGlobalFilter?: boolean;
33
+ showColumnFilters?: boolean;
34
+ filterMode?: "row" | "menu" | "global" | "none";
35
+ showGroupingControls?: boolean;
36
+ showRowSelection?: boolean;
37
+ showPagination?: boolean;
38
+ pageSize?: number;
39
+ pageSizeOptions?: readonly unknown[];
40
+ paginationPosition?: "top" | "bottom" | "both";
41
+ externalPagination?: boolean;
42
+ rowCount?: number;
43
+ pageIndex?: number;
44
+ virtualization?: boolean;
45
+ rowHeight?: number;
46
+ autoRowHeight?: boolean;
47
+ rowResize?: boolean;
48
+ headerHeight?: number;
49
+ overscan?: number;
50
+ containerHeight?: string;
51
+ columnVirtualization?: boolean;
52
+ columnOverscan?: number;
53
+ columnWidth?: number;
54
+ initialColumnPinning?: unknown;
55
+ fitColumns?: boolean;
56
+ columnResize?: boolean;
57
+ responsive?: boolean;
58
+ showFilterMenu?: boolean;
59
+ showFilterRow?: boolean;
60
+ enableCellSelection?: boolean;
61
+ moveCells?: boolean;
62
+ enableRowHover?: boolean;
63
+ copyHeadersToClipboard?: boolean;
64
+ processCellForClipboard?: unknown;
65
+ enableInlineEditing?: boolean;
66
+ fullRowEditing?: boolean;
67
+ enableRowSummaries?: boolean;
68
+ summary?: boolean;
69
+ statusBar?: boolean;
70
+ toolPanel?: boolean;
71
+ charting?: boolean;
72
+ columnMenuTabs?: boolean;
73
+ toolPanelDefaultOpen?: boolean;
74
+ toolPanelDefaultTab?: "columns" | "filters";
75
+ selectionMode?: "row" | "cell" | "both" | "none";
76
+ showRowNumbers?: boolean;
77
+ zebraRows?: boolean;
78
+ rowNumberWidth?: number;
79
+ externalSort?: boolean;
80
+ initialSorting?: readonly unknown[];
81
+ initialAdvancedFilter?: unknown;
82
+ externalFilter?: boolean;
83
+ getRowId?: unknown;
84
+ rowClass?: unknown;
85
+ notes?: unknown;
86
+ editableComments?: boolean;
87
+ conditionalFormats?: readonly unknown[];
88
+ conditionalStatScope?: "filtered" | "visible" | "all";
89
+ isDetailRow?: unknown;
90
+ serverGroup?: unknown;
91
+ serverFilterValues?: unknown;
92
+ pinnedTopRows?: readonly unknown[];
93
+ pinnedBottomRows?: readonly unknown[];
94
+ enableColumnReorder?: boolean;
95
+ columnOrder?: readonly unknown[];
96
+ inferColumnTypes?: boolean;
97
+ rowDragManaged?: boolean;
98
+ rowDragGroup?: string;
99
+ alignedGridGroup?: string;
100
+ filterLocale?: string;
101
+ shadow?: boolean;
102
+ };
103
+ /**
104
+ * SvGrid as a Vue component.
105
+ *
106
+ * Props are declared loosely (`null` type) and forwarded as DOM PROPERTIES
107
+ * through the `.`-prefixed vnode key, which is Vue's own way of forcing a
108
+ * property assignment - the same thing `:columns.prop` does in a template,
109
+ * applied to all 98 of them so a consumer never has to think about it.
110
+ */
111
+ export declare const SvGrid: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
112
+ shadow: {
113
+ type: BooleanConstructor;
114
+ default: boolean;
115
+ };
116
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
117
+ [key: string]: any;
118
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("pivotmodechange" | "expandedchange" | "paginationchange" | "apiready" | "rowselectionchange" | "cellselectionchange" | "sortingchange" | "advancedfilterchange" | "filterschange" | "notechange" | "cellvaluechange" | "activecellchange" | "cellclick" | "rowclick" | "celldoubleclick" | "rowdoubleclick" | "scrollbottomreached" | "columnorderchange" | "rowdragend" | "selectionchange")[], "pivotmodechange" | "expandedchange" | "paginationchange" | "apiready" | "rowselectionchange" | "cellselectionchange" | "sortingchange" | "advancedfilterchange" | "filterschange" | "notechange" | "cellvaluechange" | "activecellchange" | "cellclick" | "rowclick" | "celldoubleclick" | "rowdoubleclick" | "scrollbottomreached" | "columnorderchange" | "rowdragend" | "selectionchange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
119
+ shadow: {
120
+ type: BooleanConstructor;
121
+ default: boolean;
122
+ };
123
+ }>> & Readonly<{
124
+ onSelectionchange?: ((...args: any[]) => any) | undefined;
125
+ onPivotmodechange?: ((...args: any[]) => any) | undefined;
126
+ onExpandedchange?: ((...args: any[]) => any) | undefined;
127
+ onPaginationchange?: ((...args: any[]) => any) | undefined;
128
+ onApiready?: ((...args: any[]) => any) | undefined;
129
+ onRowselectionchange?: ((...args: any[]) => any) | undefined;
130
+ onCellselectionchange?: ((...args: any[]) => any) | undefined;
131
+ onSortingchange?: ((...args: any[]) => any) | undefined;
132
+ onAdvancedfilterchange?: ((...args: any[]) => any) | undefined;
133
+ onFilterschange?: ((...args: any[]) => any) | undefined;
134
+ onNotechange?: ((...args: any[]) => any) | undefined;
135
+ onCellvaluechange?: ((...args: any[]) => any) | undefined;
136
+ onActivecellchange?: ((...args: any[]) => any) | undefined;
137
+ onCellclick?: ((...args: any[]) => any) | undefined;
138
+ onRowclick?: ((...args: any[]) => any) | undefined;
139
+ onCelldoubleclick?: ((...args: any[]) => any) | undefined;
140
+ onRowdoubleclick?: ((...args: any[]) => any) | undefined;
141
+ onScrollbottomreached?: ((...args: any[]) => any) | undefined;
142
+ onColumnorderchange?: ((...args: any[]) => any) | undefined;
143
+ onRowdragend?: ((...args: any[]) => any) | undefined;
144
+ }>, {
145
+ shadow: boolean;
146
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
147
+ export default SvGrid;
@@ -0,0 +1,72 @@
1
+ import { defineComponent as e, h as t, onMounted as n, ref as r, watchEffect as i } from "vue";
2
+ import "@svgrid/grid-wc";
3
+ //#region src/vue/index.ts
4
+ var a = /* @__PURE__ */ "data.columns.board.scheduler.chart.pivot.pivotMode.contextMenu.selectionBar.features.sortable.filterable.editable.treeData.groupable.groupBy.expanded.groupFooters.grandTotalRow.groupDisplayMode.autoGroupColumnHeader.autoGroupColumnWidth.pageable.loading.loadingOverlay.loadingSkeletonRows.error.emptyMessage.localization.showGlobalFilter.showColumnFilters.filterMode.showGroupingControls.showRowSelection.showPagination.pageSize.pageSizeOptions.paginationPosition.externalPagination.rowCount.pageIndex.virtualization.rowHeight.autoRowHeight.rowResize.headerHeight.overscan.containerHeight.columnVirtualization.columnOverscan.columnWidth.initialColumnPinning.fitColumns.columnResize.responsive.showFilterMenu.showFilterRow.enableCellSelection.moveCells.enableRowHover.copyHeadersToClipboard.processCellForClipboard.enableInlineEditing.fullRowEditing.enableRowSummaries.summary.statusBar.toolPanel.charting.columnMenuTabs.toolPanelDefaultOpen.toolPanelDefaultTab.selectionMode.showRowNumbers.zebraRows.rowNumberWidth.externalSort.initialSorting.initialAdvancedFilter.externalFilter.getRowId.rowClass.notes.editableComments.conditionalFormats.conditionalStatScope.isDetailRow.serverGroup.serverFilterValues.pinnedTopRows.pinnedBottomRows.enableColumnReorder.columnOrder.inferColumnTypes.rowDragManaged.rowDragGroup.alignedGridGroup.filterLocale".split("."), o = [
5
+ "pivotmodechange",
6
+ "expandedchange",
7
+ "paginationchange",
8
+ "apiready",
9
+ "rowselectionchange",
10
+ "cellselectionchange",
11
+ "sortingchange",
12
+ "advancedfilterchange",
13
+ "filterschange",
14
+ "notechange",
15
+ "cellvaluechange",
16
+ "activecellchange",
17
+ "cellclick",
18
+ "rowclick",
19
+ "celldoubleclick",
20
+ "rowdoubleclick",
21
+ "scrollbottomreached",
22
+ "columnorderchange",
23
+ "rowdragend",
24
+ "selectionchange"
25
+ ], s = e({
26
+ name: "SvGrid",
27
+ props: {
28
+ ...Object.fromEntries(a.map((e) => [e, {
29
+ type: null,
30
+ required: !1
31
+ }])),
32
+ shadow: {
33
+ type: Boolean,
34
+ default: !1
35
+ }
36
+ },
37
+ emits: [...o],
38
+ setup(e, { emit: s, expose: c }) {
39
+ let l = r(null);
40
+ return i(() => {
41
+ e.shadow && import("@svgrid/grid-wc/shadow");
42
+ }), n(() => {
43
+ let e = l.value;
44
+ if (!e) return;
45
+ for (let t of o) e.addEventListener(t, (e) => s(t, e.detail));
46
+ let t = e.api;
47
+ t != null && s("apiready", t);
48
+ }), c({
49
+ get element() {
50
+ return l.value;
51
+ },
52
+ get api() {
53
+ return l.value?.api ?? null;
54
+ }
55
+ }), () => {
56
+ let n = {
57
+ ref: l,
58
+ style: {
59
+ display: "block",
60
+ height: "100%"
61
+ }
62
+ };
63
+ for (let t of a) {
64
+ let r = e[t];
65
+ r !== void 0 && (n["." + t] = r);
66
+ }
67
+ return t(e.shadow ? "sv-grid-shadow" : "sv-grid", n);
68
+ };
69
+ }
70
+ });
71
+ //#endregion
72
+ export { s as SvGrid, s as default };
package/package.json CHANGED
@@ -4,8 +4,8 @@
4
4
  "type": "commercial",
5
5
  "url": "https://svgrid.com/pricing"
6
6
  },
7
- "version": "2.6.1",
8
- "description": "SvGrid as a framework-agnostic web component (<sv-grid> custom element). Drop into React, Vue, Angular, or plain HTML - no build step required.",
7
+ "version": "2.7.0",
8
+ "description": "SvGrid as a framework-agnostic web component (<sv-grid> custom element, plus <sv-grid-shadow> for an open shadow root). Drop into React, Vue, Angular, or plain HTML - no build step required.",
9
9
  "type": "module",
10
10
  "license": "MIT",
11
11
  "author": "jQWidgets Ltd",
@@ -21,22 +21,54 @@
21
21
  "web-components",
22
22
  "custom element",
23
23
  "custom-elements",
24
+ "grid",
24
25
  "data grid",
26
+ "data-grid",
25
27
  "datagrid",
26
28
  "table",
29
+ "data-table",
30
+ "datatable",
27
31
  "react",
32
+ "react data grid",
33
+ "react-data-grid",
28
34
  "vue",
35
+ "vue data grid",
36
+ "vue-data-grid",
29
37
  "angular",
38
+ "angular data grid",
39
+ "angular-data-grid",
40
+ "vanilla-js",
30
41
  "framework-agnostic",
42
+ "virtual-scroll",
43
+ "svelte5",
44
+ "svgrid",
31
45
  "sv-grid"
32
46
  ],
33
47
  "main": "./dist/sv-grid-element.js",
34
48
  "module": "./dist/sv-grid-element.js",
35
49
  "exports": {
36
50
  ".": {
51
+ "types": "./dist/sv-grid-element.d.ts",
37
52
  "import": "./dist/sv-grid-element.js"
38
53
  },
39
- "./dist/sv-grid-element.js": "./dist/sv-grid-element.js"
54
+ "./shadow": {
55
+ "types": "./dist/shadow/sv-grid-shadow-element.d.ts",
56
+ "import": "./dist/shadow/sv-grid-shadow-element.js"
57
+ },
58
+ "./react": {
59
+ "types": "./dist/react/index.d.ts",
60
+ "import": "./dist/react/index.js"
61
+ },
62
+ "./vue": {
63
+ "types": "./dist/vue/index.d.ts",
64
+ "import": "./dist/vue/index.js"
65
+ },
66
+ "./angular": {
67
+ "types": "./dist/angular/types/svgrid-grid-wc-angular.d.ts",
68
+ "import": "./dist/angular/fesm2022/svgrid-grid-wc-angular.mjs"
69
+ },
70
+ "./dist/sv-grid-element.js": "./dist/sv-grid-element.js",
71
+ "./dist/shadow/sv-grid-shadow-element.js": "./dist/shadow/sv-grid-shadow-element.js"
40
72
  },
41
73
  "unpkg": "./dist/sv-grid-element.js",
42
74
  "jsdelivr": "./dist/sv-grid-element.js",
@@ -51,13 +83,60 @@
51
83
  "node": ">=18"
52
84
  },
53
85
  "devDependencies": {
86
+ "@angular/common": "^22.1.5",
87
+ "@angular/compiler": "^22.1.5",
88
+ "@angular/compiler-cli": "^22.1.5",
89
+ "@angular/core": "^22.1.5",
54
90
  "@sveltejs/vite-plugin-svelte": "^7.0.0",
91
+ "@types/react": "^19.2.18",
92
+ "@types/react-dom": "^19.2.7",
93
+ "@vitejs/plugin-vue": "^6.0.8",
94
+ "ng-packagr": "^22.1.1",
95
+ "react": "^19.2.8",
96
+ "react-dom": "^19.2.8",
55
97
  "svelte": "^5.55.5",
98
+ "tslib": "^2.8.1",
56
99
  "vite": "^8.2.1",
57
- "@svgrid/grid": "^2.6.1"
100
+ "vue": "^3.5.42",
101
+ "vue-tsc": "^3.3.11",
102
+ "@svgrid/enterprise": "^2.7.0",
103
+ "@svgrid/grid": "^2.6.21"
104
+ },
105
+ "types": "./dist/sv-grid-element.d.ts",
106
+ "peerDependencies": {
107
+ "@angular/common": ">=18",
108
+ "@angular/core": ">=18",
109
+ "react": ">=17",
110
+ "react-dom": ">=17",
111
+ "vue": ">=3.3"
112
+ },
113
+ "peerDependenciesMeta": {
114
+ "react": {
115
+ "optional": true
116
+ },
117
+ "react-dom": {
118
+ "optional": true
119
+ },
120
+ "vue": {
121
+ "optional": true
122
+ },
123
+ "@angular/core": {
124
+ "optional": true
125
+ },
126
+ "@angular/common": {
127
+ "optional": true
128
+ }
58
129
  },
59
130
  "scripts": {
60
- "build": "vite build",
61
- "test": "vitest run"
131
+ "build": "node ./scripts/generate-surface.mjs --check && node ./scripts/generate-wrappers.mjs --check && node ./scripts/build.mjs",
132
+ "test": "vitest run",
133
+ "preview": "vite preview --outDir . --port 4205 --strictPort",
134
+ "generate:surface": "node ./scripts/generate-surface.mjs",
135
+ "size:check": "node ./scripts/check-size.mjs",
136
+ "generate:wrappers": "node ./scripts/generate-wrappers.mjs",
137
+ "build:test-apps": "node ./scripts/build-test-apps.mjs",
138
+ "preview:test-apps": "vite preview --outDir dist-test --port 4206 --strictPort",
139
+ "check:examples": "node ./scripts/check-examples.mjs",
140
+ "sync:example-docs": "node ./scripts/sync-example-docs.mjs"
62
141
  }
63
142
  }