From c42bc20069332bad3e1e1e328b1275aef37e4883 Mon Sep 17 00:00:00 2001 From: Hein Date: Tue, 21 Oct 2025 14:24:28 +0200 Subject: [PATCH] Build fixes --- src/Gridler/Gridler.tsx | 1 - src/Gridler/components/GridlerStore.tsx | 24 ++++++++++++------------ src/test/setup.ts | 1 + tsconfig.app.json | 15 ++++++++++----- tsconfig.json | 10 +++++++--- vite.config.ts | 2 ++ 6 files changed, 32 insertions(+), 21 deletions(-) diff --git a/src/Gridler/Gridler.tsx b/src/Gridler/Gridler.tsx index 794e855..10aef38 100644 --- a/src/Gridler/Gridler.tsx +++ b/src/Gridler/Gridler.tsx @@ -1,5 +1,4 @@ import '@glideapps/glide-data-grid/dist/index.css'; -import React from 'react'; import { MantineBetterMenusProvider } from '../MantineBetterMenu'; import { GlidlerFormAdaptor } from './components/adaptors/GlidlerFormAdaptor'; diff --git a/src/Gridler/components/GridlerStore.tsx b/src/Gridler/components/GridlerStore.tsx index 60f6913..887161d 100644 --- a/src/Gridler/components/GridlerStore.tsx +++ b/src/Gridler/components/GridlerStore.tsx @@ -78,7 +78,7 @@ export interface GridlerProps extends PropsWithChildren { pageSize?: number; progressiveScroll?: boolean; RenderCell?: >( - row: any, + row: TRowType, colindex: number, colid: string, value: any, @@ -176,7 +176,7 @@ export interface GridlerState { key: K, value: (current: GridlerStoreState[K]) => Partial ) => Promise; - toCell: >(row: any, col: number) => GridCell; + toCell: >(row: TRowType, col: number) => GridCell; } export type GridlerStoreState = GridlerProps & GridlerState; @@ -215,13 +215,13 @@ const { Provider, useStore: useGridlerStore } = createSyncStore { + getCellsForSelection: (selection: Rectangle, _abortSignal: AbortSignal) => { return async () => { const state = get(); //const firstPage = Math.max(0, Math.floor(selection.y / state.pageSize)); //const lastPage = Math.floor((selection.y + selection.height) / state.pageSize); - await state.setStateFN('_visibleArea', (cv) => { + await state.setStateFN('_visibleArea', (_cv) => { //if (r.x === cv.x && r.y === cv.y && r.width === cv.width && r.height === cv.height) // return cv; return selection; @@ -382,8 +382,8 @@ const { Provider, useStore: useGridlerStore } = createSyncStore { const s = get(); const col = s.renderColumns?.find((col) => col.id === column.id); @@ -615,9 +615,9 @@ const { Provider, useStore: useGridlerStore } = createSyncStore { + getState('_events').addEventListener('reload', (_e: Event) => { getState('reload')?.(); }); diff --git a/src/test/setup.ts b/src/test/setup.ts index b3e24fa..527abce 100644 --- a/src/test/setup.ts +++ b/src/test/setup.ts @@ -1,4 +1,5 @@ import '@testing-library/jest-dom' +import { vi } from 'vitest' // Mock window.matchMedia for Mantine components Object.defineProperty(window, 'matchMedia', { diff --git a/tsconfig.app.json b/tsconfig.app.json index d70479c..aa4ae9e 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -3,19 +3,22 @@ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", "target": "ES2022", "useDefineForClassFields": true, - "lib": ["ES2022", "DOM", "DOM.Iterable"], + "lib": [ + "ES2022", + "DOM", + "DOM.Iterable" + ], "module": "ESNext", "skipLibCheck": true, - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "verbatimModuleSyntax": true, "moduleDetection": "force", + "noEmit": true, "declaration": true, "emitDeclarationOnly": true, "jsx": "react-jsx", - /* Linting */ "strict": true, "noUnusedLocals": true, @@ -24,5 +27,7 @@ "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true }, - "include": ["src"] -} + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 1ffef60..65f670c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,11 @@ { "files": [], "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } ] -} +} \ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts index 7c53dd5..497abc7 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -29,6 +29,8 @@ export default defineConfig({ fileName: (format) => `lib.${format}.js`, }, emptyOutDir: true, + outDir: "dist", + rollupOptions: { external: Object.keys(peerDependencies), },