react-virtualized-sticky-tree
Advanced tools
Comparing version 3.0.0-beta13 to 3.0.0-beta14
@@ -10,9 +10,3 @@ import React from 'react'; | ||
} | ||
export interface AutoSizedStickyTreeState { | ||
width: number; | ||
height: number; | ||
} | ||
export default class AutoSizedStickyList<TNodeType extends TreeNode = TreeNode, TMeta = any> extends React.PureComponent<AutoSizedStickyListProps<TNodeType, TMeta>, AutoSizedStickyTreeState> { | ||
constructor(props: AutoSizedStickyListProps<TNodeType, TMeta>); | ||
render(): JSX.Element; | ||
} | ||
declare const AutoSizedStickyList: <TNodeType extends TreeNode = TreeNode, TMeta = any>({ onResize, className, treeRef, ...rest }: AutoSizedStickyListProps<TNodeType, TMeta>) => JSX.Element; | ||
export default AutoSizedStickyList; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
@@ -6,20 +40,16 @@ return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const react_1 = __importDefault(require("react")); | ||
const react_1 = __importStar(require("react")); | ||
const react_measure_1 = __importDefault(require("react-measure")); | ||
const StickyList_1 = __importDefault(require("./StickyList")); | ||
class AutoSizedStickyList extends react_1.default.PureComponent { | ||
constructor(props) { | ||
super(props); | ||
this.state = {}; | ||
} | ||
render() { | ||
return (react_1.default.createElement(react_measure_1.default, { bounds: true, onResize: (rect) => { | ||
this.setState({ width: rect.bounds.width, height: rect.bounds.height }); | ||
if (this.props.onResize !== undefined) { | ||
this.props.onResize(rect); | ||
} | ||
} }, ({ measureRef }) => (react_1.default.createElement("div", { ref: measureRef, className: this.props.className }, | ||
react_1.default.createElement(StickyList_1.default, Object.assign({ treeRef: this.props.treeRef, width: this.state.width, height: this.state.height }, this.props)))))); | ||
} | ||
} | ||
const AutoSizedStickyList = (_a) => { | ||
var { onResize, className, treeRef } = _a, rest = __rest(_a, ["onResize", "className", "treeRef"]); | ||
const [bounds, setBounds] = (0, react_1.useState)({}); | ||
return (react_1.default.createElement(react_measure_1.default, { bounds: true, onResize: (rect) => { | ||
setBounds({ width: rect.bounds.width, height: rect.bounds.height }); | ||
if (onResize !== undefined) { | ||
onResize(rect); | ||
} | ||
} }, ({ measureRef }) => (react_1.default.createElement("div", { ref: measureRef, className: className }, | ||
react_1.default.createElement(StickyList_1.default, Object.assign({ treeRef: treeRef, width: bounds.width, height: bounds.height }, rest)))))); | ||
}; | ||
exports.default = AutoSizedStickyList; |
@@ -5,1 +5,5 @@ export { default as StickyTree } from './StickyTree'; | ||
export * from './AutoSizedStickyTree'; | ||
export * from './StickyList'; | ||
export { default as StickyList } from './StickyList'; | ||
export * from './AutoSizedStickyList'; | ||
export { default as AutoSizedStickyList } from './AutoSizedStickyList'; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
@@ -16,3 +20,3 @@ if (k2 === undefined) k2 = k; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.AutoSizedStickyTree = exports.StickyTree = void 0; | ||
exports.AutoSizedStickyList = exports.StickyList = exports.AutoSizedStickyTree = exports.StickyTree = void 0; | ||
var StickyTree_1 = require("./StickyTree"); | ||
@@ -24,1 +28,7 @@ Object.defineProperty(exports, "StickyTree", { enumerable: true, get: function () { return __importDefault(StickyTree_1).default; } }); | ||
__exportStar(require("./AutoSizedStickyTree"), exports); | ||
__exportStar(require("./StickyList"), exports); | ||
var StickyList_1 = require("./StickyList"); | ||
Object.defineProperty(exports, "StickyList", { enumerable: true, get: function () { return __importDefault(StickyList_1).default; } }); | ||
__exportStar(require("./AutoSizedStickyList"), exports); | ||
var AutoSizedStickyList_1 = require("./AutoSizedStickyList"); | ||
Object.defineProperty(exports, "AutoSizedStickyList", { enumerable: true, get: function () { return __importDefault(AutoSizedStickyList_1).default; } }); |
@@ -6,10 +6,6 @@ import React from 'react'; | ||
items: TNodeType[]; | ||
getHeight?: (item: TNodeType) => number; | ||
getRowHeight?: (item: TNodeType) => number; | ||
treeRef?: React.Ref<StickyTree<TNodeType, TMeta>>; | ||
} | ||
export default class StickyList<TNodeType extends TreeNode = TreeNode, TMeta = any> extends React.PureComponent<StickyListProps<TNodeType, TMeta>> { | ||
private root; | ||
getChildren: StickyTreeProps<TNodeType, TMeta>['getChildren']; | ||
render(): JSX.Element; | ||
} | ||
export {}; | ||
declare const StickyList: <TNodeType extends TreeNode = TreeNode, TMeta = any>({ items, rowRenderer, width, height, treeRef, getRowHeight, wrapAllLeafNodes, ...rest }: StickyListProps<TNodeType, TMeta>) => JSX.Element; | ||
export default StickyList; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __rest = (this && this.__rest) || function (s, e) { | ||
@@ -17,22 +40,16 @@ var t = {}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const react_1 = __importDefault(require("react")); | ||
const react_1 = __importStar(require("react")); | ||
const StickyTree_1 = __importDefault(require("./StickyTree")); | ||
class StickyList extends react_1.default.PureComponent { | ||
constructor() { | ||
super(...arguments); | ||
this.root = { node: { id: 'root' } }; | ||
this.getChildren = (node) => { | ||
const { items, getHeight } = this.props; | ||
if (node.id === 'root') { | ||
// If they don't specify a getHeight function, they must be using the rowHeight prop. | ||
return items.map((item) => ({ node: item, height: getHeight ? getHeight(item) : undefined })); | ||
} | ||
return undefined; | ||
}; | ||
} | ||
render() { | ||
const _a = this.props, { items, rowRenderer, width, height, treeRef, getHeight } = _a, rest = __rest(_a, ["items", "rowRenderer", "width", "height", "treeRef", "getHeight"]); | ||
return (react_1.default.createElement(StickyTree_1.default, Object.assign({ ref: treeRef, getChildren: this.getChildren, renderRoot: false, root: this.root, rowRenderer: rowRenderer, width: width, height: height }, rest))); | ||
} | ||
} | ||
const StickyList = (_a) => { | ||
var { items, rowRenderer, width, height, treeRef, getRowHeight, wrapAllLeafNodes = false } = _a, rest = __rest(_a, ["items", "rowRenderer", "width", "height", "treeRef", "getRowHeight", "wrapAllLeafNodes"]); | ||
const root = (0, react_1.useMemo)(() => ({ node: { id: 'root' }, height: 0 }), []); | ||
const getChildren = (0, react_1.useCallback)((node) => { | ||
if (node.id === 'root') { | ||
// If they don't specify a getHeight function, they must be using the rowHeight prop. | ||
return items.map((item) => ({ node: item, height: getRowHeight ? getRowHeight(item) : undefined })); | ||
} | ||
return undefined; | ||
}, [items, getRowHeight]); | ||
return (react_1.default.createElement(StickyTree_1.default, Object.assign({ ref: treeRef, getChildren: getChildren, renderRoot: false, wrapAllLeafNodes: wrapAllLeafNodes, root: root, rowRenderer: rowRenderer, width: width, height: height }, rest))); | ||
}; | ||
exports.default = StickyList; |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
@@ -40,3 +44,3 @@ if (k2 === undefined) k2 = k; | ||
super(props); | ||
this.elemRef = react_1.createRef(); | ||
this.elemRef = (0, react_1.createRef)(); | ||
if (this.props.apiRef) { | ||
@@ -454,3 +458,3 @@ this.props.apiRef(this); | ||
if (node.isSticky) { | ||
style.position = vendorSticky_1.default(); | ||
style.position = (0, vendorSticky_1.default)(); | ||
style.top = node.stickyTop; | ||
@@ -457,0 +461,0 @@ style.zIndex = node.zIndex; |
{ | ||
"name": "react-virtualized-sticky-tree", | ||
"description": "A React component for efficiently rendering tree like structures with support for position: sticky", | ||
"version": "3.0.0-beta13", | ||
"version": "3.0.0-beta14", | ||
"author": "Marc McIntyre <marchaos@gmail.com>", | ||
@@ -24,7 +24,6 @@ "license": "MIT", | ||
"build": "tsc", | ||
"tsc": "tsc", | ||
"start": "webpack serve --config ./webpack.config.js", | ||
"prepublish": "npm run build", | ||
"clean": "rimraf lib", | ||
"test": "npx cypress run\"", | ||
"test": "npx cypress run", | ||
"prepare": "npm run build" | ||
@@ -39,3 +38,4 @@ }, | ||
"peerDependencies": { | ||
"react": "^16.0.0" | ||
"react": ">=18.0.0", | ||
"react-dom": ">=18.0.0" | ||
}, | ||
@@ -50,24 +50,17 @@ "devDependencies": { | ||
"@babel/preset-typescript": "^7.12.7", | ||
"@types/react-measure": "^2.0.6", | ||
"@types/react": "^17.0.0", | ||
"@types/react-dom": "^17.0.0", | ||
"@types/react-measure": "^2.0.8", | ||
"@types/react": "^18.0.24", | ||
"@types/react-dom": "^18.0.8", | ||
"babel-loader": "^8.2.1", | ||
"chai": "^3.5.0", | ||
"chai-enzyme": "^0.8.0", | ||
"cross-env": "^7.0.2", | ||
"cypress": "^6.0.0", | ||
"enzyme": "latest", | ||
"eslint": "^4.19.1", | ||
"html-webpack-plugin": "^4.5.0", | ||
"jsdom": "10.1.0", | ||
"jsdom-global": "latest", | ||
"json-loader": "^0.5.4", | ||
"mocha": "^3.4.2", | ||
"nyc": "^8.3.1", | ||
"prettier": "^2.2.1", | ||
"react": "^17.0.1", | ||
"react-dom": "^17.0.1", | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0", | ||
"rimraf": "^3.0.2", | ||
"testdouble": "^1.8.0", | ||
"typescript": "^4.1.2", | ||
"typescript": "^4.8.4", | ||
"webpack": "^5.9.0", | ||
@@ -74,0 +67,0 @@ "webpack-cli": "^4.2.0", |
61653
25
1204
3