@dreamcommerce/aurora 2.9.0-1 → 2.9.0-3

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.
@@ -29,10 +29,10 @@ const TreeNode = ({ children, id, ContentComponent, LabelComponent, ...rest }) =
29
29
  [css_classes.TREE_NODE_CSS_CLASSES.treeNodeExpanded]: node.expanded,
30
30
  [main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeExpanded]]: node.expanded
31
31
  }) },
32
- ContentComponent ? null : (React__default['default'].createElement("button", { onClick: toggleNode, className: classnames__default['default'](css_classes.TREE_NODE_CSS_CLASSES.treeNodeToggler, main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeToggler]) },
32
+ ContentComponent ? (React__default['default'].createElement(ContentComponent, { node: node, toggleNode: toggleNode, isLeaf: !children })) : (React__default['default'].createElement("button", { onClick: toggleNode, className: classnames__default['default'](css_classes.TREE_NODE_CSS_CLASSES.treeNodeToggler, main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeToggler]) },
33
33
  React__default['default'].createElement("span", { className: classnames__default['default'](main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon], css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon) },
34
34
  React__default['default'].createElement(icon_list_arrow_down.IconListArrowDown, null)),
35
- LabelComponent ? (LabelComponent) : (React__default['default'].createElement("span", { className: classnames__default['default'](main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel], css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel) }, node.label ? node.label : node.id)))),
35
+ LabelComponent ? (React__default['default'].createElement(LabelComponent, { node: node })) : (React__default['default'].createElement("span", { className: classnames__default['default'](main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel], css_classes.TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel) }, node.label ? node.label : node.id)))),
36
36
  children ? (React__default['default'].createElement(reactTransitionGroup.CSSTransition, { unmountOnExit: true, in: node.expanded, timeout: 250, classNames: {
37
37
  enter: main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeChildrenEnter],
38
38
  enterActive: main_module['default'][css_classes.TREE_NODE_CSS_CLASSES.treeNodeChildrenEnterActive],
@@ -6,6 +6,7 @@ var React = require('react');
6
6
 
7
7
  const TreeContext = React.createContext({
8
8
  addNode: () => { },
9
+ updateNode: () => { },
9
10
  removeNode: () => { },
10
11
  toggleNode: () => { },
11
12
  getNode: () => undefined,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -15,6 +15,9 @@ const TreeProvider = ({ children }) => {
15
15
  addNode(node) {
16
16
  setNodes((nodes) => [...nodes, node]);
17
17
  },
18
+ updateNode(nodeId, node) {
19
+ setNodes((nodes) => nodes.map((n) => (n.id === nodeId ? { ...n, ...node } : n)));
20
+ },
18
21
  getNode(nodeId) {
19
22
  return nodes.find((node) => node.id === nodeId);
20
23
  },
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -7,9 +7,13 @@ var tree_hook = require('./tree_hook.js');
7
7
 
8
8
  const useTreeNode = (nodeId, props) => {
9
9
  const treeApi = tree_hook.useTree();
10
+ React.useEffect(() => {
11
+ if (treeApi.hasNode(nodeId) && props)
12
+ treeApi.updateNode(nodeId, props);
13
+ }, [props === null || props === void 0 ? void 0 : props.expanded]);
10
14
  React.useEffect(() => {
11
15
  if (!treeApi.hasNode(nodeId))
12
- treeApi.addNode({ ...props, id: nodeId });
16
+ treeApi.addNode({ id: nodeId, ...props });
13
17
  return () => treeApi.removeNode(nodeId);
14
18
  }, []);
15
19
  return treeApi.getNode(nodeId);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,11 +1,19 @@
1
1
  import React from 'react';
2
2
  import { TPropsWithChildren } from "../../../typings/general";
3
3
  import { ITreeNode } from "../context/tree_context";
4
+ declare type TTreeContentComponentProps = {
5
+ node: ITreeNode;
6
+ toggleNode: () => void;
7
+ isLeaf: boolean;
8
+ };
9
+ declare type TTreeLabelComponentProps = {
10
+ node: ITreeNode;
11
+ };
4
12
  declare type TTreeNodeProps = TPropsWithChildren<ITreeNode & {
5
13
  collapseIcon?: React.ReactNode;
6
14
  expandIcon?: React.ReactNode;
7
- LabelComponent?: React.ReactNode;
8
- ContentComponent?: React.ReactNode;
15
+ LabelComponent?: React.FC<TTreeLabelComponentProps>;
16
+ ContentComponent?: React.FC<TTreeContentComponentProps>;
9
17
  }>;
10
18
  export declare const TreeNode: ({ children, id, ContentComponent, LabelComponent, ...rest }: TTreeNodeProps) => JSX.Element | null;
11
19
  export default TreeNode;
@@ -20,10 +20,10 @@ const TreeNode = ({ children, id, ContentComponent, LabelComponent, ...rest }) =
20
20
  [TREE_NODE_CSS_CLASSES.treeNodeExpanded]: node.expanded,
21
21
  [cssClasses[TREE_NODE_CSS_CLASSES.treeNodeExpanded]]: node.expanded
22
22
  }) },
23
- ContentComponent ? null : (React.createElement("button", { onClick: toggleNode, className: classnames(TREE_NODE_CSS_CLASSES.treeNodeToggler, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeToggler]) },
23
+ ContentComponent ? (React.createElement(ContentComponent, { node: node, toggleNode: toggleNode, isLeaf: !children })) : (React.createElement("button", { onClick: toggleNode, className: classnames(TREE_NODE_CSS_CLASSES.treeNodeToggler, cssClasses[TREE_NODE_CSS_CLASSES.treeNodeToggler]) },
24
24
  React.createElement("span", { className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon], TREE_NODE_CSS_CLASSES.treeNodeTogglerIcon) },
25
25
  React.createElement(IconListArrowDown, null)),
26
- LabelComponent ? (LabelComponent) : (React.createElement("span", { className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel], TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel) }, node.label ? node.label : node.id)))),
26
+ LabelComponent ? (React.createElement(LabelComponent, { node: node })) : (React.createElement("span", { className: classnames(cssClasses[TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel], TREE_NODE_CSS_CLASSES.treeNodeTogglerLabel) }, node.label ? node.label : node.id)))),
27
27
  children ? (React.createElement(CSSTransition, { unmountOnExit: true, in: node.expanded, timeout: 250, classNames: {
28
28
  enter: cssClasses[TREE_NODE_CSS_CLASSES.treeNodeChildrenEnter],
29
29
  enterActive: cssClasses[TREE_NODE_CSS_CLASSES.treeNodeChildrenEnterActive],
@@ -7,6 +7,7 @@ export declare type ITreeNode = {
7
7
  };
8
8
  export interface ITreeContext {
9
9
  addNode(node: ITreeNode): void;
10
+ updateNode(nodeId: string, node: Partial<ITreeNode>): void;
10
11
  hasNode(nodeId: string): boolean;
11
12
  getNode(nodeId: string): ITreeNode | undefined;
12
13
  removeNode(nodeId: string): void;
@@ -2,6 +2,7 @@ import { createContext } from 'react';
2
2
 
3
3
  const TreeContext = createContext({
4
4
  addNode: () => { },
5
+ updateNode: () => { },
5
6
  removeNode: () => { },
6
7
  toggleNode: () => { },
7
8
  getNode: () => undefined,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -7,6 +7,9 @@ const TreeProvider = ({ children }) => {
7
7
  addNode(node) {
8
8
  setNodes((nodes) => [...nodes, node]);
9
9
  },
10
+ updateNode(nodeId, node) {
11
+ setNodes((nodes) => nodes.map((n) => (n.id === nodeId ? { ...n, ...node } : n)));
12
+ },
10
13
  getNode(nodeId) {
11
14
  return nodes.find((node) => node.id === nodeId);
12
15
  },
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,9 +3,13 @@ import { useTree } from './tree_hook.js';
3
3
 
4
4
  const useTreeNode = (nodeId, props) => {
5
5
  const treeApi = useTree();
6
+ useEffect(() => {
7
+ if (treeApi.hasNode(nodeId) && props)
8
+ treeApi.updateNode(nodeId, props);
9
+ }, [props === null || props === void 0 ? void 0 : props.expanded]);
6
10
  useEffect(() => {
7
11
  if (!treeApi.hasNode(nodeId))
8
- treeApi.addNode({ ...props, id: nodeId });
12
+ treeApi.addNode({ id: nodeId, ...props });
9
13
  return () => treeApi.removeNode(nodeId);
10
14
  }, []);
11
15
  return treeApi.getNode(nodeId);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@dreamcommerce/aurora",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "2.9.0-1",
5
+ "version": "2.9.0-3",
6
6
  "description": "aurora",
7
7
  "author": "k0ssak",
8
8
  "license": "MIT",