Skip to content

Commit f2eca4f

Browse files
committed
feat: js 转 ts
1 parent bf2c91b commit f2eca4f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+5748
-4212
lines changed

.babelrc

Lines changed: 0 additions & 3 deletions
This file was deleted.

.npmignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
src/
2+
*.ts
3+
*.tsx
4+
*.map
5+
rollup.config.js
6+
.babelrc
7+
.eslintrc.js
8+
tests/
9+
lib/VirtualizedListV2

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
registry="https://registry.npmmirror.com"

babel.config.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"presets": [
3+
"@babel/preset-env",
4+
"@babel/preset-react",
5+
"@babel/preset-typescript" // 添加对 TypeScript 的支持
6+
]
7+
}

build/asset-manifest.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
{
22
"files": {
3-
"main.css": "/react-virtualized-list/build/static/css/main.91612258.css",
4-
"main.js": "/react-virtualized-list/build/static/js/main.5cb797a1.js",
5-
"static/js/845.6038aacd.chunk.js": "/react-virtualized-list/build/static/js/845.6038aacd.chunk.js",
6-
"index.html": "/react-virtualized-list/build/index.html",
7-
"main.91612258.css.map": "/react-virtualized-list/build/static/css/main.91612258.css.map",
8-
"main.5cb797a1.js.map": "/react-virtualized-list/build/static/js/main.5cb797a1.js.map",
9-
"845.6038aacd.chunk.js.map": "/react-virtualized-list/build/static/js/845.6038aacd.chunk.js.map"
3+
"main.css": "/static/css/main.91612258.css",
4+
"main.js": "/static/js/main.eee57e94.js",
5+
"static/js/845.6038aacd.chunk.js": "/static/js/845.6038aacd.chunk.js",
6+
"index.html": "/index.html",
7+
"main.91612258.css.map": "/static/css/main.91612258.css.map",
8+
"main.eee57e94.js.map": "/static/js/main.eee57e94.js.map",
9+
"845.6038aacd.chunk.js.map": "/static/js/845.6038aacd.chunk.js.map"
1010
},
1111
"entrypoints": [
1212
"static/css/main.91612258.css",
13-
"static/js/main.5cb797a1.js"
13+
"static/js/main.eee57e94.js"
1414
]
1515
}

build/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/react-virtualized-list/build/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/react-virtualized-list/build/logo192.png"/><link rel="manifest" href="/react-virtualized-list/build/manifest.json"/><title>React App</title><script defer="defer" src="/react-virtualized-list/build/static/js/main.5cb797a1.js"></script><link href="/react-virtualized-list/build/static/css/main.91612258.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.eee57e94.js"></script><link href="/static/css/main.91612258.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>

build/static/js/main.5cb797a1.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

build/static/js/main.5cb797a1.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

build/static/js/main.eee57e94.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/static/js/main.eee57e94.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import React, { CSSProperties } from 'react';
2+
interface VirtualizedListProps<T> {
3+
listData: T[];
4+
renderItem: (itemData: T, fetchData: any) => React.ReactNode;
5+
refreshOnVisible?: boolean;
6+
fetchItemData?: ((item: T) => Promise<any>) | null;
7+
containerHeight?: string;
8+
itemStyle?: CSSProperties;
9+
listClassName?: string | null;
10+
itemClassName?: string | null;
11+
observerOptions?: IntersectionObserverInit;
12+
onLoadMore?: () => Promise<void>;
13+
hasMore?: boolean;
14+
loader?: React.ReactNode;
15+
endMessage?: React.ReactNode;
16+
itemLoader?: React.ReactNode;
17+
emptyListMessage?: React.ReactNode;
18+
}
19+
declare const VirtualizedList: <T>({ listData, renderItem, refreshOnVisible, fetchItemData, containerHeight, itemStyle, listClassName, itemClassName, observerOptions, onLoadMore, hasMore, loader, endMessage, itemLoader, emptyListMessage, }: VirtualizedListProps<T>) => import("react/jsx-runtime").JSX.Element;
20+
export default VirtualizedList;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { ReactNode, ReactElement } from 'react';
2+
interface VirtualizedListItemProps<T> {
3+
item: T;
4+
isVisible: boolean;
5+
refreshOnVisible: boolean;
6+
fetchItemData: ((item: T) => Promise<any>) | null;
7+
children: (item: T, data: any) => ReactNode;
8+
itemLoader: ReactNode;
9+
}
10+
declare const VirtualizedListItem: <T>({ item, isVisible, refreshOnVisible, fetchItemData, children, itemLoader }: VirtualizedListItemProps<T>) => ReactElement;
11+
export default VirtualizedListItem;

lib/VirtualizedListV2/index.d.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import VirtualizedList from './VirtualizedList';
2+
import useIntersectionObserver from './useIntersectionObserver';
3+
export { useIntersectionObserver };
4+
export default VirtualizedList;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
interface UseIntersectionObserverOptions extends IntersectionObserverInit {
2+
root?: Element | Document | null;
3+
rootMargin?: string;
4+
threshold?: number | number[];
5+
}
6+
declare const useIntersectionObserver: (nodes: (Element | null)[], onVisibilityChange?: ((isVisible: boolean, entry: IntersectionObserverEntry) => void) | null | undefined, onEntryUpdate?: ((entry: IntersectionObserverEntry) => void) | null | undefined, options?: UseIntersectionObserverOptions) => {
7+
observe: (node: Element | null) => void;
8+
unobserve: (node: Element | null) => void;
9+
};
10+
export default useIntersectionObserver;

lib/VirtualizedListV2/utils.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
declare const debounce: <T extends (...args: any[]) => void>(func: T, delay: number) => (...args: Parameters<T>) => void;
2+
export { debounce };

lib/bundle.cjs.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bundle.esm.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/bundle.umd.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)