@headless-tree/react 0.0.0-20230802230636

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/.babelrc.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "sourceType": "unambiguous",
3
+ "presets": [
4
+ [
5
+ "@babel/preset-env",
6
+ {
7
+ "targets": {
8
+ "chrome": 100
9
+ }
10
+ }
11
+ ],
12
+ "@babel/preset-typescript",
13
+ "@babel/preset-react"
14
+ ],
15
+ "plugins": []
16
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,49 @@
1
+ # @headless-tree/react
2
+
3
+ ## 0.0.0-20230802230636
4
+
5
+ ### Patch Changes
6
+
7
+ - 076dfc5: dev release
8
+ - Updated dependencies [076dfc5]
9
+ - @headless-tree/core@0.0.0-20230802230636
10
+
11
+ ## 0.0.6
12
+
13
+ ### Patch Changes
14
+
15
+ - 6ec53b3: dev release
16
+ - Updated dependencies [6ec53b3]
17
+ - @headless-tree/core@0.0.7
18
+
19
+ ## 0.0.5
20
+
21
+ ### Patch Changes
22
+
23
+ - bc9c446: dev release
24
+ - Updated dependencies [bc9c446]
25
+ - @headless-tree/core@0.0.6
26
+
27
+ ## 0.0.4
28
+
29
+ ### Patch Changes
30
+
31
+ - 751682a: dev release
32
+ - Updated dependencies [751682a]
33
+ - @headless-tree/core@0.0.5
34
+
35
+ ## 0.0.3
36
+
37
+ ### Patch Changes
38
+
39
+ - 6460368: tree shaking
40
+ - Updated dependencies [6460368]
41
+ - @headless-tree/core@0.0.3
42
+
43
+ ## 0.0.2
44
+
45
+ ### Patch Changes
46
+
47
+ - 05e24de: release test
48
+ - Updated dependencies [05e24de]
49
+ - @headless-tree/core@0.0.2
@@ -0,0 +1,2 @@
1
+ import { TreeConfig } from "@headless-tree/core";
2
+ export declare const useTree: <T>(config: TreeConfig<T>) => import("@headless-tree/core").TreeInstance<T>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTree = void 0;
4
+ const react_1 = require("react");
5
+ const core_1 = require("@headless-tree/core");
6
+ const useTree = (config) => {
7
+ const [tree] = (0, react_1.useState)(() => ({ current: (0, core_1.createTree)(config) }));
8
+ const [state, setState] = (0, react_1.useState)(() => tree.current.getState());
9
+ tree.current.setConfig((prev) => (Object.assign(Object.assign(Object.assign({}, prev), config), { state: Object.assign(Object.assign({}, state), config.state), setState: (state) => {
10
+ var _a;
11
+ setState(state);
12
+ (_a = config.setState) === null || _a === void 0 ? void 0 : _a.call(config, state);
13
+ } })));
14
+ return tree.current;
15
+ };
16
+ exports.useTree = useTree;
@@ -0,0 +1,2 @@
1
+ import { TreeConfig } from "@headless-tree/core";
2
+ export declare const useTree: <T>(config: TreeConfig<T>) => import("@headless-tree/core").TreeInstance<T>;
@@ -0,0 +1,12 @@
1
+ import { useState } from "react";
2
+ import { createTree } from "@headless-tree/core";
3
+ export const useTree = (config) => {
4
+ const [tree] = useState(() => ({ current: createTree(config) }));
5
+ const [state, setState] = useState(() => tree.current.getState());
6
+ tree.current.setConfig((prev) => (Object.assign(Object.assign(Object.assign({}, prev), config), { state: Object.assign(Object.assign({}, state), config.state), setState: (state) => {
7
+ var _a;
8
+ setState(state);
9
+ (_a = config.setState) === null || _a === void 0 ? void 0 : _a.call(config, state);
10
+ } })));
11
+ return tree.current;
12
+ };
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@headless-tree/react",
3
+ "version": "0.0.0-20230802230636",
4
+ "main": "lib/cjs/index.js",
5
+ "module": "lib/esm/index.js",
6
+ "types": "lib/esm/index.d.ts",
7
+ "sideEffects": false,
8
+ "scripts": {
9
+ "build:cjs": "tsc -m commonjs --outDir lib/cjs",
10
+ "build:esm": "tsc",
11
+ "start": "tsc -w"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git@github.com:lukasbach/headless-tree.git",
16
+ "directory": "packages/react"
17
+ },
18
+ "author": "Lukas Bach <npm@lukasbach.com>",
19
+ "license": "MIT",
20
+ "devDependencies": {
21
+ "@babel/preset-env": "^7.21.5",
22
+ "@babel/preset-react": "^7.18.6",
23
+ "@babel/preset-typescript": "^7.21.5",
24
+ "@headless-tree/core": "workspace:*",
25
+ "prop-types": "15.8.1",
26
+ "react": "^18.2.0",
27
+ "react-dom": "^18.2.0",
28
+ "typescript": "^5.0.4"
29
+ },
30
+ "peerDependencies": {
31
+ "@headless-tree/core": "0.0.0-20230802230636",
32
+ "react": "*",
33
+ "react-dom": "*"
34
+ }
35
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,23 @@
1
+ import { useState } from "react";
2
+ import { createTree, TreeConfig } from "@headless-tree/core";
3
+
4
+ export const useTree = <T,>(config: TreeConfig<T>) => {
5
+ const [tree] = useState(() => ({ current: createTree(config) }));
6
+ const [state, setState] = useState(() => tree.current.getState());
7
+
8
+ tree.current.setConfig((prev) => ({
9
+ ...prev,
10
+ ...config,
11
+ state: {
12
+ // ...prev.state,
13
+ ...state,
14
+ ...config.state,
15
+ },
16
+ setState: (state) => {
17
+ setState(state);
18
+ config.setState?.(state);
19
+ },
20
+ }));
21
+
22
+ return tree.current;
23
+ };
package/tsconfig.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": ["./src/**/*"],
4
+ "compilerOptions": {
5
+ "outDir": "lib/esm"
6
+ }
7
+ }
package/typedoc.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": ["../../typedoc.base.json"],
3
+ "entryPoints": ["src/index.tsx"]
4
+ }