photon-grid-react 0.0.3 → 1.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "photon-grid-react",
3
- "version": "0.0.3",
3
+ "version": "1.0.1",
4
4
  "description": "A high-performance React data grid built on Photon Grid Core with virtualization, sorting, filtering, editing, grouping, and custom React renderers.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -46,30 +46,11 @@
46
46
  "files": [
47
47
  "*"
48
48
  ],
49
- "scripts": {
50
- "dev": "vite",
51
- "build": "tsc -b && vite build && npm run copy-files",
52
- "copy-files": "copy package.json dist && copy README.md dist && copy LICENSE dist",
53
- "lint": "eslint .",
54
- "preview": "vite preview"
55
- },
56
49
  "dependencies": {
57
- "photon-grid-core": "^0.0.3",
58
- "react": "^19.2.7",
59
- "react-dom": "^19.2.7"
50
+ "photon-grid-core": "^1.0.1"
60
51
  },
61
- "devDependencies": {
62
- "@eslint/js": "^10.0.1",
63
- "@types/node": "^24.13.2",
64
- "@types/react": "^19.2.17",
65
- "@types/react-dom": "^19.2.3",
66
- "@vitejs/plugin-react": "^6.0.3",
67
- "eslint": "^10.6.0",
68
- "eslint-plugin-react-hooks": "^7.1.1",
69
- "eslint-plugin-react-refresh": "^0.5.3",
70
- "globals": "^17.7.0",
71
- "typescript": "~6.0.2",
72
- "typescript-eslint": "^8.62.0",
73
- "vite": "^8.1.1"
52
+ "peerDependencies": {
53
+ "react": ">=18",
54
+ "react-dom": ">=18"
74
55
  }
75
- }
56
+ }
@@ -0,0 +1,27 @@
1
+ import { JSX } from 'react';
2
+ import { CellClickedEvent, CellSelectionChangedEvent, CellValueChangedEvent, ColumnMovedEvent, ColumnResizedEvent, ColumnsStateChangedEvent, ColumnSortedEvent, DataChangedEvent, ExportEvent, FilterChangedEvent, GridApi, GridOptions, PageChangedEvent, RowClickPayload, RowSelectedEvent, ThemeChangedEvent } from 'photon-grid-core';
3
+ import { PhotonGridColumnDef } from './react-renderer-adapter';
4
+ export interface PhotonGridProps {
5
+ columns?: PhotonGridColumnDef[];
6
+ dataSet?: Record<string, unknown>[];
7
+ options?: Partial<GridOptions>;
8
+ onGridReady?: (api: GridApi) => void;
9
+ onDataChanged?: (event: DataChangedEvent) => void;
10
+ onRowClicked?: (payload: RowClickPayload) => void;
11
+ onRowDoubleClicked?: (payload: RowClickPayload) => void;
12
+ onRowSelected?: (event: RowSelectedEvent) => void;
13
+ onCellClicked?: (event: CellClickedEvent) => void;
14
+ onCellDoubleClicked?: (event: CellClickedEvent) => void;
15
+ onCellValueChanged?: (event: CellValueChangedEvent) => void;
16
+ onCellSelectionChanged?: (event: CellSelectionChangedEvent) => void;
17
+ onColumnResized?: (event: ColumnResizedEvent) => void;
18
+ onColumnMoved?: (event: ColumnMovedEvent) => void;
19
+ onSortChanged?: (event: ColumnSortedEvent) => void;
20
+ onFilterChanged?: (event: FilterChangedEvent) => void;
21
+ onPageChanged?: (event: PageChangedEvent) => void;
22
+ onColumnsStateChanged?: (event: ColumnsStateChangedEvent) => void;
23
+ onThemeChanged?: (event: ThemeChangedEvent) => void;
24
+ onExportComplete?: (event: ExportEvent) => void;
25
+ }
26
+ export declare function PhotonGrid(props: PhotonGridProps): JSX.Element;
27
+ export default PhotonGrid;
@@ -0,0 +1,41 @@
1
+ import { ComponentType } from 'react';
2
+ import { ColumnDef, RendererOutput } from 'photon-grid-core';
3
+ export interface ReactRendererSpec {
4
+ kind: 'component';
5
+ component: ComponentType<Record<string, unknown>>;
6
+ props?: (params: unknown) => Record<string, unknown>;
7
+ }
8
+ type RendererSlotValue = ((params: unknown) => RendererOutput) | ReactRendererSpec | ComponentType<Record<string, unknown>> | undefined;
9
+ type PhotonGridColumnDef = Omit<ColumnDef, 'renderer'> & {
10
+ renderer?: {
11
+ display?: RendererSlotValue;
12
+ editor?: RendererSlotValue;
13
+ option?: RendererSlotValue;
14
+ filter?: RendererSlotValue;
15
+ tooltip?: RendererSlotValue;
16
+ group?: RendererSlotValue;
17
+ header?: RendererSlotValue;
18
+ summary?: RendererSlotValue;
19
+ };
20
+ };
21
+ export declare class ReactRendererAdapter {
22
+ private root?;
23
+ private container?;
24
+ private readonly entries;
25
+ private observer?;
26
+ private pendingFlush;
27
+ observe(host: HTMLElement): void;
28
+ adaptColumns(columns: PhotonGridColumnDef[]): ColumnDef[];
29
+ dispose(): void;
30
+ private mountComponent;
31
+ private flush;
32
+ private renderFrame;
33
+ private getComponent;
34
+ private getRendererProps;
35
+ private getBaseProps;
36
+ private propsMatch;
37
+ private getRendererKey;
38
+ private unmountNode;
39
+ private unmountHost;
40
+ }
41
+ export type { PhotonGridColumnDef };