@zuzjs/ui 0.7.7 → 0.7.8
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/dist/cjs/comps/Accordion/index.js +2 -1
- package/dist/cjs/comps/Actionbar/index.d.ts +1 -1
- package/dist/cjs/comps/Actionbar/index.js +3 -2
- package/dist/cjs/comps/Alert/index.d.ts +1 -1
- package/dist/cjs/comps/Alert/index.js +1 -0
- package/dist/cjs/comps/AutoComplete/index.js +1 -0
- package/dist/cjs/comps/Avatar/index.js +3 -2
- package/dist/cjs/comps/Box/index.js +1 -1
- package/dist/cjs/comps/Button/index.d.ts +1 -1
- package/dist/cjs/comps/Button/index.js +4 -3
- package/dist/cjs/comps/CheckBox/index.d.ts +2 -2
- package/dist/cjs/comps/CheckBox/index.js +2 -1
- package/dist/cjs/comps/ColorScheme/index.d.ts +1 -1
- package/dist/cjs/comps/ColorScheme/index.js +7 -2
- package/dist/cjs/comps/ContextMenu/index.js +3 -2
- package/dist/cjs/comps/CookiesConsent/index.js +3 -2
- package/dist/cjs/comps/Cover/index.d.ts +1 -1
- package/dist/cjs/comps/Cover/index.js +3 -2
- package/dist/cjs/comps/Drawer/index.js +1 -0
- package/dist/cjs/comps/Editor/Timeline/index.js +4 -3
- package/dist/cjs/comps/Editor/index.js +2 -1
- package/dist/cjs/comps/Fab/index.d.ts +1 -2
- package/dist/cjs/comps/Fab/index.js +2 -1
- package/dist/cjs/comps/Filters/index.d.ts +4 -1
- package/dist/cjs/comps/Filters/index.js +1 -0
- package/dist/cjs/comps/Form/index.d.ts +2 -2
- package/dist/cjs/comps/Form/index.js +5 -7
- package/dist/cjs/comps/Icon/index.d.ts +1 -1
- package/dist/cjs/comps/Icon/index.js +2 -1
- package/dist/cjs/comps/Image/index.js +1 -0
- package/dist/cjs/comps/Input/index.js +1 -0
- package/dist/cjs/comps/Label/index.js +1 -0
- package/dist/cjs/comps/List/index.d.ts +1 -1
- package/dist/cjs/comps/List/index.js +1 -0
- package/dist/cjs/comps/List/item.d.ts +6 -3
- package/dist/cjs/comps/List/item.js +1 -0
- package/dist/cjs/comps/Network/index.js +4 -3
- package/dist/cjs/comps/Overlay/index.js +2 -1
- package/dist/cjs/comps/Pagination/index.js +1 -0
- package/dist/cjs/comps/Password/index.js +2 -1
- package/dist/cjs/comps/PinInput/index.js +2 -1
- package/dist/cjs/comps/ProgressBar/index.js +1 -0
- package/dist/cjs/comps/Radio/index.js +1 -0
- package/dist/cjs/comps/Search/index.d.ts +1 -1
- package/dist/cjs/comps/Search/index.js +3 -2
- package/dist/cjs/comps/Segmented/index.js +2 -2
- package/dist/cjs/comps/Segmented/item.d.ts +4 -1
- package/dist/cjs/comps/Segmented/item.js +8 -15
- package/dist/cjs/comps/Select/index.d.ts +2 -4
- package/dist/cjs/comps/Select/index.js +4 -3
- package/dist/cjs/comps/Select/optionItem.d.ts +4 -1
- package/dist/cjs/comps/Select/optionItem.js +1 -0
- package/dist/cjs/comps/Sheet/index.d.ts +1 -1
- package/dist/cjs/comps/Sheet/index.js +4 -3
- package/dist/cjs/comps/Sidebar/index.js +1 -0
- package/dist/cjs/comps/Slider/index.d.ts +1 -1
- package/dist/cjs/comps/Slider/index.js +3 -2
- package/dist/cjs/comps/Span/index.js +1 -0
- package/dist/cjs/comps/Spinner/index.d.ts +1 -1
- package/dist/cjs/comps/Spinner/index.js +4 -6
- package/dist/cjs/comps/Switch/index.d.ts +1 -1
- package/dist/cjs/comps/Switch/index.js +2 -1
- package/dist/cjs/comps/TabView/body.js +1 -0
- package/dist/cjs/comps/TabView/index.js +1 -0
- package/dist/cjs/comps/TabView/tab.d.ts +4 -1
- package/dist/cjs/comps/TabView/tab.js +1 -0
- package/dist/cjs/comps/Table/col.d.ts +9 -6
- package/dist/cjs/comps/Table/col.js +1 -0
- package/dist/cjs/comps/Table/index.js +1 -0
- package/dist/cjs/comps/Table/row.d.ts +4 -1
- package/dist/cjs/comps/Table/row.js +2 -1
- package/dist/cjs/comps/Text/index.js +1 -1
- package/dist/cjs/comps/TextArea/index.js +1 -0
- package/dist/cjs/comps/TextWheel/index.js +1 -0
- package/dist/cjs/comps/Tooltip/index.d.ts +1 -2
- package/dist/cjs/comps/Tooltip/index.js +2 -1
- package/dist/cjs/comps/Treeview/index.d.ts +1 -2
- package/dist/cjs/comps/Treeview/index.js +2 -1
- package/dist/cjs/comps/Treeview/item.d.ts +3 -2
- package/dist/cjs/comps/Treeview/item.js +11 -7
- package/dist/cjs/comps/Treeview/types.d.ts +6 -2
- package/dist/cjs/funs/index.d.ts +2 -1
- package/dist/cjs/funs/index.js +4 -3
- package/dist/cjs/hooks/index.d.ts +4 -5
- package/dist/cjs/hooks/index.js +2 -2
- package/dist/cjs/hooks/useDelayed.d.ts +17 -0
- package/dist/cjs/hooks/useDelayed.js +25 -0
- package/dist/cjs/index.js +1 -0
- package/dist/css/styles.css +1 -1
- package/dist/esm/comps/Accordion/index.js +2 -1
- package/dist/esm/comps/Actionbar/index.d.ts +1 -1
- package/dist/esm/comps/Actionbar/index.js +3 -2
- package/dist/esm/comps/Alert/index.d.ts +1 -1
- package/dist/esm/comps/Alert/index.js +1 -0
- package/dist/esm/comps/AutoComplete/index.js +1 -0
- package/dist/esm/comps/Avatar/index.js +3 -2
- package/dist/esm/comps/Box/index.js +1 -1
- package/dist/esm/comps/Button/index.d.ts +1 -1
- package/dist/esm/comps/Button/index.js +4 -3
- package/dist/esm/comps/CheckBox/index.d.ts +2 -2
- package/dist/esm/comps/CheckBox/index.js +2 -1
- package/dist/esm/comps/ColorScheme/index.d.ts +1 -1
- package/dist/esm/comps/ColorScheme/index.js +7 -2
- package/dist/esm/comps/ContextMenu/index.js +3 -2
- package/dist/esm/comps/CookiesConsent/index.js +3 -2
- package/dist/esm/comps/Cover/index.d.ts +1 -1
- package/dist/esm/comps/Cover/index.js +3 -2
- package/dist/esm/comps/Drawer/index.js +1 -0
- package/dist/esm/comps/Editor/Timeline/index.js +4 -3
- package/dist/esm/comps/Editor/index.js +2 -1
- package/dist/esm/comps/Fab/index.d.ts +1 -2
- package/dist/esm/comps/Fab/index.js +2 -1
- package/dist/esm/comps/Filters/index.d.ts +4 -1
- package/dist/esm/comps/Filters/index.js +1 -0
- package/dist/esm/comps/Form/index.d.ts +2 -2
- package/dist/esm/comps/Form/index.js +5 -7
- package/dist/esm/comps/Icon/index.d.ts +1 -1
- package/dist/esm/comps/Icon/index.js +2 -1
- package/dist/esm/comps/Image/index.js +1 -0
- package/dist/esm/comps/Input/index.js +1 -0
- package/dist/esm/comps/Label/index.js +1 -0
- package/dist/esm/comps/List/index.d.ts +1 -1
- package/dist/esm/comps/List/index.js +1 -0
- package/dist/esm/comps/List/item.d.ts +6 -3
- package/dist/esm/comps/List/item.js +1 -0
- package/dist/esm/comps/Network/index.js +4 -3
- package/dist/esm/comps/Overlay/index.js +2 -1
- package/dist/esm/comps/Pagination/index.js +1 -0
- package/dist/esm/comps/Password/index.js +2 -1
- package/dist/esm/comps/PinInput/index.js +2 -1
- package/dist/esm/comps/ProgressBar/index.js +1 -0
- package/dist/esm/comps/Radio/index.js +1 -0
- package/dist/esm/comps/Search/index.d.ts +1 -1
- package/dist/esm/comps/Search/index.js +3 -2
- package/dist/esm/comps/Segmented/index.js +2 -2
- package/dist/esm/comps/Segmented/item.d.ts +4 -1
- package/dist/esm/comps/Segmented/item.js +8 -15
- package/dist/esm/comps/Select/index.d.ts +2 -4
- package/dist/esm/comps/Select/index.js +4 -3
- package/dist/esm/comps/Select/optionItem.d.ts +4 -1
- package/dist/esm/comps/Select/optionItem.js +1 -0
- package/dist/esm/comps/Sheet/index.d.ts +1 -1
- package/dist/esm/comps/Sheet/index.js +4 -3
- package/dist/esm/comps/Sidebar/index.js +1 -0
- package/dist/esm/comps/Slider/index.d.ts +1 -1
- package/dist/esm/comps/Slider/index.js +3 -2
- package/dist/esm/comps/Span/index.js +1 -0
- package/dist/esm/comps/Spinner/index.d.ts +1 -1
- package/dist/esm/comps/Spinner/index.js +4 -6
- package/dist/esm/comps/Switch/index.d.ts +1 -1
- package/dist/esm/comps/Switch/index.js +2 -1
- package/dist/esm/comps/TabView/body.js +1 -0
- package/dist/esm/comps/TabView/index.js +1 -0
- package/dist/esm/comps/TabView/tab.d.ts +4 -1
- package/dist/esm/comps/TabView/tab.js +1 -0
- package/dist/esm/comps/Table/col.d.ts +9 -6
- package/dist/esm/comps/Table/col.js +1 -0
- package/dist/esm/comps/Table/index.js +1 -0
- package/dist/esm/comps/Table/row.d.ts +4 -1
- package/dist/esm/comps/Table/row.js +2 -1
- package/dist/esm/comps/Text/index.js +1 -1
- package/dist/esm/comps/TextArea/index.js +1 -0
- package/dist/esm/comps/TextWheel/index.js +1 -0
- package/dist/esm/comps/Tooltip/index.d.ts +1 -2
- package/dist/esm/comps/Tooltip/index.js +2 -1
- package/dist/esm/comps/Treeview/index.d.ts +1 -2
- package/dist/esm/comps/Treeview/index.js +2 -1
- package/dist/esm/comps/Treeview/item.d.ts +3 -2
- package/dist/esm/comps/Treeview/item.js +11 -7
- package/dist/esm/comps/Treeview/types.d.ts +6 -2
- package/dist/esm/funs/index.d.ts +2 -1
- package/dist/esm/funs/index.js +4 -3
- package/dist/esm/hooks/index.d.ts +4 -5
- package/dist/esm/hooks/index.js +2 -2
- package/dist/esm/hooks/useDelayed.d.ts +17 -0
- package/dist/esm/hooks/useDelayed.js +25 -0
- package/dist/esm/index.js +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -73,7 +73,7 @@ const TRow = (props) => {
|
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
}, []);
|
|
76
|
-
return _jsxs(Box, { onContextMenu: e => onContextMenu ? onContextMenu(e, data) : null,
|
|
76
|
+
return _jsxs(Box, { onContextMenu: e => onContextMenu ? onContextMenu(e, data) : null, ...(animate ? { animate: { ..._animation, when: mounted } } : {}), as: `--row flex aic ${index == -1 ? `--row-head` : ``} ${rowClassName || ``}`, children: [index == -1 && schema.map((c, i) => {
|
|
77
77
|
const { renderWhenHeader, render, value, ...cc } = c;
|
|
78
78
|
return _jsxs(Fragment, { children: [selectable && i == 0 && Selector(-1, `--selector-${c.id}`, `all`), _jsx(TColumn, { idx: -1, onSort: onSort, sortBy: sortBy,
|
|
79
79
|
// value={renderWhenHeader && render ? render!(index == -1 ? c as dynamicObject : data as T, index) : value as string}
|
|
@@ -82,4 +82,5 @@ const TRow = (props) => {
|
|
|
82
82
|
return _jsxs(Fragment, { children: [selectable && i == 0 && Selector(i, `--selector-${c.id}`, c.id.toString()), ids.includes(String(c.id)) ? _jsx(TColumn, { pubsub: pubsub, idx: i, id: String(c.id), style: styles[String(c.id)], value: c.render ? c.render(data, index) : data[String(c.id).includes(`.`) ? String(c.id).split(`.`).reverse()[0] : c.id] }) : null] }, `--${String(c.id)}-val-${i}`);
|
|
83
83
|
})] });
|
|
84
84
|
};
|
|
85
|
+
TRow.displayName = `Row`;
|
|
85
86
|
export default TRow;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use client";
|
|
2
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
2
|
import { forwardRef } from 'react';
|
|
4
3
|
import { useBase } from '../../hooks';
|
|
@@ -9,4 +8,5 @@ const Text = forwardRef((props, ref) => {
|
|
|
9
8
|
const Tag = `h${props.h || 1}`;
|
|
10
9
|
return _jsx(Tag, { ref: ref, style: style, className: className, ...rest, children: html ? _jsx(Span, { dangerouslySetInnerHTML: { __html: html } }) : children });
|
|
11
10
|
});
|
|
11
|
+
Text.displayName = `Text`;
|
|
12
12
|
export default Text;
|
|
@@ -10,4 +10,5 @@ const TextArea = forwardRef((props, ref) => {
|
|
|
10
10
|
};
|
|
11
11
|
return _jsx("textarea", { className: `--input --textarea --${variant || Variant.Small} flex ${className}`.trim(), style: style, onInput: handleInput, ref: ref, ...rest });
|
|
12
12
|
});
|
|
13
|
+
TextArea.displayName = `TextArea`;
|
|
13
14
|
export default TextArea;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { BoxProps } from '../Box';
|
|
2
1
|
import { Position } from '../../types/enums';
|
|
3
|
-
declare const ToolTip: import("react").ForwardRefExoticComponent<BoxProps & {
|
|
2
|
+
declare const ToolTip: import("react").ForwardRefExoticComponent<import("..").BoxProps & {
|
|
4
3
|
position?: Position;
|
|
5
4
|
margin?: number;
|
|
6
5
|
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { useBase, useDimensions } from '../../hooks';
|
|
5
|
+
import { Position, TRANSITION_CURVES } from '../../types/enums';
|
|
5
6
|
import Box from '../Box';
|
|
6
7
|
import Text from '../Text';
|
|
7
|
-
import { Position, TRANSITION_CURVES } from '../../types/enums';
|
|
8
8
|
const ToolTip = forwardRef((props, ref) => {
|
|
9
9
|
const { title, position, margin, children, ...pops } = props;
|
|
10
10
|
const { style, className, rest } = useBase(pops);
|
|
@@ -53,4 +53,5 @@ const ToolTip = forwardRef((props, ref) => {
|
|
|
53
53
|
when: hovered
|
|
54
54
|
}, children: _jsx(Text, { className: `--text rel`, children: title }) })] });
|
|
55
55
|
});
|
|
56
|
+
ToolTip.displayName = `ToolTip`;
|
|
56
57
|
export default ToolTip;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { TreeViewHandler } from "./types";
|
|
2
|
-
|
|
3
|
-
declare const TreeView: import("react").ForwardRefExoticComponent<Omit<BoxProps, "tag"> & {
|
|
2
|
+
declare const TreeView: import("react").ForwardRefExoticComponent<Omit<import("..").BoxProps, "tag"> & {
|
|
4
3
|
tag?: string;
|
|
5
4
|
roots: string[];
|
|
6
5
|
nodes: import("./types").TreeNode[];
|
|
@@ -19,6 +19,7 @@ const TreeView = forwardRef((props, ref) => {
|
|
|
19
19
|
}, [_selected]);
|
|
20
20
|
return _jsx(Box, { className: `--treeview flex cols`, children: nodes
|
|
21
21
|
.filter(node => roots.includes(node.tag))
|
|
22
|
-
.map(node => _jsx(TreeItem, { treeTag: treeViewTag ? `-${treeViewTag}` : ``, selected: selected, onSelect: e => handleSelect(e), icons: icons, meta: node, skeleton: rest.skeleton, nodes: nodes }, `--node-${node.tag}`)) });
|
|
22
|
+
.map(node => _jsx(TreeItem, { treeTag: treeViewTag ? `-${treeViewTag}` : ``, selected: selected, onSelect: e => handleSelect(e), icons: icons, meta: node, isRoot: true, expanded: node.expanded || false, skeleton: rest.skeleton, nodes: nodes }, `--node-${node.tag}`)) });
|
|
23
23
|
});
|
|
24
|
+
TreeView.displayName = `TreeView`;
|
|
24
25
|
export default TreeView;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { TreeItemHandler } from "./types";
|
|
2
|
-
|
|
3
|
-
declare const TreeItem: import("react").ForwardRefExoticComponent<BoxProps & {
|
|
2
|
+
declare const TreeItem: import("react").ForwardRefExoticComponent<import("..").BoxProps & {
|
|
4
3
|
treeTag: string;
|
|
5
4
|
meta: import("./types").TreeNode;
|
|
6
5
|
nodes: import("./types").TreeNode[];
|
|
6
|
+
isRoot: boolean;
|
|
7
|
+
expanded: boolean;
|
|
7
8
|
onSelect: (tag: string) => void;
|
|
8
9
|
selected?: String;
|
|
9
10
|
icons?: import("./types").TreeNodeIcons;
|
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef, useEffect, useState } from "react";
|
|
2
|
+
import { forwardRef, useEffect, useMemo, useState } from "react";
|
|
3
3
|
import Box from "../Box";
|
|
4
4
|
import Button from "../Button";
|
|
5
5
|
import Icon from "../Icon";
|
|
6
6
|
import Text from "../Text";
|
|
7
7
|
import SVGIcons from "../svgicons";
|
|
8
8
|
const TreeItem = forwardRef((props, ref) => {
|
|
9
|
-
const { as, meta, nodes, icons, onSelect, treeTag, selected, ...rest } = props;
|
|
9
|
+
const { as, meta, nodes, icons, onSelect, treeTag, selected, isRoot, expanded, ...rest } = props;
|
|
10
10
|
const { tag, label, icon, under, isHead } = meta;
|
|
11
|
-
const [isOpen, setIsOpen] = useState(
|
|
11
|
+
const [isOpen, setIsOpen] = useState(expanded);
|
|
12
12
|
const toggle = () => {
|
|
13
13
|
localStorage.setItem(`--tn${treeTag}-${tag}`, isOpen ? `0` : `1`);
|
|
14
14
|
setIsOpen(!isOpen);
|
|
15
15
|
};
|
|
16
16
|
useEffect(() => {
|
|
17
|
-
if (
|
|
17
|
+
if (expanded || (isRoot && !localStorage.getItem(`--tn${treeTag}-${tag}`))) {
|
|
18
18
|
localStorage.setItem(`--tn${treeTag}-${tag}`, `1`);
|
|
19
19
|
setIsOpen(true);
|
|
20
20
|
}
|
|
21
21
|
else
|
|
22
22
|
setIsOpen(localStorage.getItem(`--tn${treeTag}-${tag}`) == `1`);
|
|
23
23
|
}, []);
|
|
24
|
-
const _nodes = nodes.filter(x => x.under == tag);
|
|
25
|
-
return _jsxs(Box, { className: `--treenode --treenode-${tag} flex cols`, children: [_jsxs(Box, { className: `--node --node-${tag} flex aic${selected == tag ? ` --selected` : ``}`, children: [_jsx(Button, { skeleton: rest.skeleton, onClick: toggle, className: `--node-aro-btn`, disabled: _nodes.length == 0, children: icons ? _jsx(Icon, { skeleton: rest.skeleton, className: `--node-aro-icon`, name: _nodes.length == 0 ? icons?.arrowDisabled || icons?.arrowClose : isOpen ? icons?.arrowOpen : icons?.arrowClose })
|
|
26
|
-
: _nodes.length == 0 ? SVGIcons.chevronBottom : isOpen ? SVGIcons.chevronBottom : SVGIcons.chevronRight }), _jsxs(Button, { className: `--node-meta flex aic`, onClick: (e) => onSelect(tag), children: [icons?.nodeOpen && icons?.nodeClose
|
|
24
|
+
const _nodes = useMemo(() => nodes.filter(x => x.under == tag), [nodes, tag]);
|
|
25
|
+
return _jsxs(Box, { className: `--treenode --treenode-${tag} flex cols`, children: [_jsxs(Box, { className: `--node --node-${tag} flex aic ${isRoot ? `--node-root` : ``} ${selected == tag ? ` --selected` : ``}`, children: [_jsx(Button, { skeleton: rest.skeleton, onClick: toggle, className: `--node-aro-btn`, disabled: _nodes.length == 0, children: icons?.arrowClose && icons?.arrowOpen ? _jsx(Icon, { skeleton: rest.skeleton, className: `--node-aro-icon`, name: _nodes.length == 0 ? icons?.arrowDisabled || icons?.arrowClose : isOpen ? icons?.arrowOpen : icons?.arrowClose })
|
|
26
|
+
: _nodes.length == 0 ? SVGIcons.chevronBottom : isOpen ? SVGIcons.chevronBottom : SVGIcons.chevronRight }), _jsxs(Button, { className: `--node-meta flex aic`, onClick: (e) => onSelect(tag), children: [((icons?.nodeOpen && icons?.nodeClose) || (isRoot && icons?.rootOpen && icons?.rootClose)) &&
|
|
27
|
+
_jsx(Icon, { skeleton: rest.skeleton, className: `--node-icon`, name: icon || (isOpen ?
|
|
28
|
+
isRoot ? icons?.rootOpen || icons.nodeOpen : icons.nodeOpen
|
|
29
|
+
: isRoot ? icons?.rootClose || icons?.nodeClose : icons?.nodeClose) }), _jsx(Text, { ...{ className: `--node-label` }, skeleton: rest.skeleton, children: label })] })] }), isOpen && _nodes.length > 0 && _jsx(Box, { className: `--sub-node tree-sub-node-${tag} flex cols`, children: _nodes.map(node => _jsx(TreeItem, { treeTag: treeTag, selected: selected, onSelect: onSelect, icons: icons, isRoot: false, expanded: node.expanded || false, meta: node, nodes: nodes }, `--node-${node.tag}`)) })] });
|
|
27
30
|
});
|
|
31
|
+
TreeItem.displayName = `TreeItem`;
|
|
28
32
|
export default TreeItem;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
import { BoxProps } from "../Box";
|
|
3
3
|
export interface TreeNodeIcons {
|
|
4
|
+
rootOpen?: ReactNode;
|
|
5
|
+
rootClose?: ReactNode;
|
|
4
6
|
nodeOpen?: ReactNode;
|
|
5
7
|
nodeClose?: ReactNode;
|
|
6
|
-
arrowOpen
|
|
7
|
-
arrowClose
|
|
8
|
+
arrowOpen?: ReactNode;
|
|
9
|
+
arrowClose?: ReactNode;
|
|
8
10
|
arrowDisabled?: ReactNode;
|
|
9
11
|
}
|
|
10
12
|
export type TreeViewProps = Omit<BoxProps, `tag`> & {
|
|
@@ -31,6 +33,8 @@ export type TreeItemProps = BoxProps & {
|
|
|
31
33
|
treeTag: string;
|
|
32
34
|
meta: TreeNode;
|
|
33
35
|
nodes: TreeNode[];
|
|
36
|
+
isRoot: boolean;
|
|
37
|
+
expanded: boolean;
|
|
34
38
|
onSelect: (tag: string) => void;
|
|
35
39
|
selected?: String;
|
|
36
40
|
icons?: TreeNodeIcons;
|
package/dist/esm/funs/index.d.ts
CHANGED
|
@@ -63,7 +63,8 @@ export declare const formatSize: (bytes: number | string) => string;
|
|
|
63
63
|
export declare const copyToClipboard: (text: string) => Promise<unknown>;
|
|
64
64
|
export declare const natsort: (options?: sortOptions) => (a: string | number, b: string | number) => number;
|
|
65
65
|
export declare const bindKey: (key: KeyCode, fun: () => void, element?: HTMLElement) => void;
|
|
66
|
-
export declare const camelCase: (str: string) => string;
|
|
66
|
+
export declare const camelCase: (str: string, ucf?: boolean) => string;
|
|
67
|
+
export declare const camelCaseToDash: (str: string) => string;
|
|
67
68
|
export declare const pluralize: (word: string, count: number) => string;
|
|
68
69
|
export declare const addPropsToChildren: (children: ReactNode, conditions: (child: ReactElement<any>) => boolean, newProps: object) => ReactNode;
|
|
69
70
|
export declare const getPositionAroundElement: (x: number, y: number, distance: number, childCount: number) => {
|
package/dist/esm/funs/index.js
CHANGED
|
@@ -468,15 +468,16 @@ export const bindKey = (key, fun, element) => {
|
|
|
468
468
|
};
|
|
469
469
|
(element || document.documentElement).addEventListener('keydown', handleKeydown);
|
|
470
470
|
};
|
|
471
|
-
export const camelCase = (str) => {
|
|
471
|
+
export const camelCase = (str, ucf = false) => {
|
|
472
472
|
return str
|
|
473
473
|
.toLowerCase()
|
|
474
474
|
.split(/[^a-zA-Z0-9]+/) // Split by any non-alphanumeric character
|
|
475
475
|
.map((word, index) => index === 0
|
|
476
|
-
? word
|
|
477
|
-
:
|
|
476
|
+
? ucf ? ucfirst(word) : word
|
|
477
|
+
: ucfirst(word))
|
|
478
478
|
.join('');
|
|
479
479
|
};
|
|
480
|
+
export const camelCaseToDash = (str) => str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
|
|
480
481
|
export const pluralize = (word, count) => `${word}${count !== 1 ? 's' : ''}`;
|
|
481
482
|
export const addPropsToChildren = (children, conditions, newProps) => {
|
|
482
483
|
return Children.map(children, (child) => {
|
|
@@ -3,19 +3,18 @@ export { default as useBase } from './useBase';
|
|
|
3
3
|
export { default as useCalendar } from './useCalendar';
|
|
4
4
|
export { useColorScheme } from './useColorScheme';
|
|
5
5
|
export { default as useContextMenu } from './useContextMenu';
|
|
6
|
-
export { type IDBOptions, type IDBSchema
|
|
6
|
+
export { default as useDB, type IDBOptions, type IDBSchema } from './useDB';
|
|
7
7
|
export { default as useDebounce } from './useDebounce';
|
|
8
8
|
export { default as useDevice } from './useDevice';
|
|
9
9
|
export { default as useDimensions } from './useDimensions';
|
|
10
|
-
export { default as useDrag } from './useDrag';
|
|
11
|
-
export { type DragOptions } from './useDrag';
|
|
10
|
+
export { default as useDrag, type DragOptions } from './useDrag';
|
|
12
11
|
export { default as useImage } from './useImage';
|
|
13
12
|
export { default as useIntersectionObserver } from './useIntersectionObserver';
|
|
14
13
|
export { default as useKeyBind } from './useKeyBind';
|
|
15
14
|
/**
|
|
16
15
|
* @deprecated use useDelayed hook instead
|
|
17
16
|
*/
|
|
18
|
-
export { default as useMounted } from './
|
|
19
|
-
export { default as useDelayed } from './
|
|
17
|
+
export { default as useMounted } from './useDelayed';
|
|
18
|
+
export { default as useDelayed } from './useDelayed';
|
|
20
19
|
export { default as useNetworkStatus } from './useNetworkStatus';
|
|
21
20
|
export { default as useResizeObserver } from './useResizeObserver';
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -14,8 +14,8 @@ export { default as useKeyBind } from './useKeyBind';
|
|
|
14
14
|
/**
|
|
15
15
|
* @deprecated use useDelayed hook instead
|
|
16
16
|
*/
|
|
17
|
-
export { default as useMounted } from './
|
|
18
|
-
export { default as useDelayed } from './
|
|
17
|
+
export { default as useMounted } from './useDelayed';
|
|
18
|
+
export { default as useDelayed } from './useDelayed';
|
|
19
19
|
export { default as useNetworkStatus } from './useNetworkStatus';
|
|
20
20
|
export { default as useResizeObserver } from './useResizeObserver';
|
|
21
21
|
// export { default as useDomSelector } from './useDomSelector';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook that sets a mounted state to true after a specified delay.
|
|
3
|
+
*
|
|
4
|
+
* @param {number} [delay=100] - The delay in milliseconds before setting the mounted state to true.
|
|
5
|
+
* @returns {boolean} - The mounted state.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* const isMounted = useMounted(200);
|
|
9
|
+
*
|
|
10
|
+
* useEffect(() => {
|
|
11
|
+
* if (isMounted) {
|
|
12
|
+
* // Component is mounted after 200ms
|
|
13
|
+
* }
|
|
14
|
+
* }, [isMounted]);
|
|
15
|
+
*/
|
|
16
|
+
declare const useMounted: (delay?: number) => boolean;
|
|
17
|
+
export default useMounted;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook that sets a mounted state to true after a specified delay.
|
|
4
|
+
*
|
|
5
|
+
* @param {number} [delay=100] - The delay in milliseconds before setting the mounted state to true.
|
|
6
|
+
* @returns {boolean} - The mounted state.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const isMounted = useMounted(200);
|
|
10
|
+
*
|
|
11
|
+
* useEffect(() => {
|
|
12
|
+
* if (isMounted) {
|
|
13
|
+
* // Component is mounted after 200ms
|
|
14
|
+
* }
|
|
15
|
+
* }, [isMounted]);
|
|
16
|
+
*/
|
|
17
|
+
const useMounted = (delay = 100) => {
|
|
18
|
+
const [mounted, setMounted] = useState(false);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const timer = setTimeout(() => setMounted(true), delay);
|
|
21
|
+
return () => clearTimeout(timer); // Cleanup the timer on unmount
|
|
22
|
+
}, [delay]);
|
|
23
|
+
return mounted;
|
|
24
|
+
};
|
|
25
|
+
export default useMounted;
|
package/dist/esm/index.js
CHANGED