bianic-ui 1.7.4-alpha.5 → 1.8.0
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/index.js +6 -41
- package/dist/cjs/types/components/FileTree/index.d.ts +3 -1
- package/dist/cjs/types/components/index.d.ts +0 -1
- package/dist/cjs/types/stories/FileTree/FIleTree.stories.d.ts +37 -0
- package/dist/cjs/types/stories/FileTree/FileTreeContextMenu.stories.d.ts +1 -1
- package/dist/cjs/types/stories/Window/Window.stories.d.ts +1 -2
- package/dist/esm/index.js +7 -41
- package/dist/esm/types/components/FileTree/index.d.ts +3 -1
- package/dist/esm/types/components/index.d.ts +0 -1
- package/dist/esm/types/stories/FileTree/FIleTree.stories.d.ts +37 -0
- package/dist/esm/types/stories/FileTree/FileTreeContextMenu.stories.d.ts +1 -1
- package/dist/esm/types/stories/Window/Window.stories.d.ts +1 -2
- package/dist/index.d.ts +4 -11
- package/package.json +4 -2
- package/dist/cjs/types/stories/FileTree/FileTree.stories.d.ts +0 -15
- package/dist/esm/types/stories/FileTree/FileTree.stories.d.ts +0 -15
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var Draggable = require('react-draggable');
|
|
5
4
|
|
|
6
5
|
function Accordions(_a) {
|
|
7
6
|
var title = _a.title, content = _a.content;
|
|
@@ -1649,7 +1648,7 @@ Divider.defaultProps = {
|
|
|
1649
1648
|
};
|
|
1650
1649
|
|
|
1651
1650
|
var FileTree = function (_a) {
|
|
1652
|
-
var data = _a.data, color = _a.color, contextMenu = _a.contextMenu, onMouseDown = _a.onMouseDown;
|
|
1651
|
+
var data = _a.data, color = _a.color, chevronColor = _a.chevronColor, contextMenu = _a.contextMenu, onMouseDown = _a.onMouseDown;
|
|
1653
1652
|
var popupRef = React.useRef(null); // Ref untuk div utama
|
|
1654
1653
|
var _b = useDetectOutsideClick(popupRef, false), isOpenContMenu = _b[0], setIsOpenContMenu = _b[1];
|
|
1655
1654
|
var _c = React.useState({ x: 0, y: 0 }), contMenuPosition = _c[0], setContMenuPosition = _c[1];
|
|
@@ -1667,7 +1666,7 @@ var FileTree = function (_a) {
|
|
|
1667
1666
|
return (React.createElement("div", { className: "file-tree" },
|
|
1668
1667
|
data.map(function (_a, index) {
|
|
1669
1668
|
var label = _a.label, nodes = _a.nodes, props = __rest(_a, ["label", "nodes"]);
|
|
1670
|
-
return (React.createElement(TreeItem, __assign({ label: label, nodes: nodes, key: index, color: color, handleRightClick: handleRightClick, onMouseDownTreeItem: onMouseDown }, props)));
|
|
1669
|
+
return (React.createElement(TreeItem, __assign({ label: label, nodes: nodes, key: index, color: color, chevronColor: chevronColor, handleRightClick: handleRightClick, onMouseDownTreeItem: onMouseDown }, props)));
|
|
1671
1670
|
}),
|
|
1672
1671
|
isOpenContMenu && (React.createElement("div", { style: menuStyle, ref: popupRef, className: "bianic-filetree-contextmenu absolute z-10" }, React.isValidElement(contextMenu)
|
|
1673
1672
|
? // Kirimkan handleItemClick sebagai props onClick ke setiap MenuItem
|
|
@@ -1675,13 +1674,13 @@ var FileTree = function (_a) {
|
|
|
1675
1674
|
: contextMenu))));
|
|
1676
1675
|
};
|
|
1677
1676
|
var TreeItem = function (_a) {
|
|
1678
|
-
var label = _a.label, nodes = _a.nodes, color = _a.color, handleRightClick = _a.handleRightClick, onMouseDownTreeItem = _a.onMouseDownTreeItem, props = __rest(_a, ["label", "nodes", "color", "handleRightClick", "onMouseDownTreeItem"]);
|
|
1677
|
+
var label = _a.label, nodes = _a.nodes, color = _a.color, chevronColor = _a.chevronColor, handleRightClick = _a.handleRightClick, onMouseDownTreeItem = _a.onMouseDownTreeItem, props = __rest(_a, ["label", "nodes", "color", "chevronColor", "handleRightClick", "onMouseDownTreeItem"]);
|
|
1679
1678
|
var treeRef = React.useRef(null);
|
|
1680
1679
|
var _b = React.useState(false), isExpand = _b[0], setIsExpand = _b[1];
|
|
1681
1680
|
var _c = React.useState(false), isFocused = _c[0], setIsFocused = _c[1];
|
|
1682
1681
|
var _d = useDetectOutsideClick(treeRef, false, 'mousedown'), isClickRight = _d[0], setIsClickRight = _d[1];
|
|
1683
|
-
var focusedIconColor = color
|
|
1684
|
-
? "text-bia-".concat(color)
|
|
1682
|
+
var focusedIconColor = chevronColor || color
|
|
1683
|
+
? "text-bia-".concat(chevronColor || color)
|
|
1685
1684
|
: 'text-bia-coolgrey-light-50';
|
|
1686
1685
|
var focusedBgColor = color ? "bg-bia-".concat(color) : 'bg-bia-coolgrey-light-50';
|
|
1687
1686
|
var clickRightClass = 'outline outline-[3px] outline-bia-blue-light-50';
|
|
@@ -1691,7 +1690,7 @@ var TreeItem = function (_a) {
|
|
|
1691
1690
|
nodes && nodes.length > 0 ? (React.createElement("button", { className: "cursor-pointer", onClick: function (e) {
|
|
1692
1691
|
setIsExpand(function (prev) { return !prev; });
|
|
1693
1692
|
} },
|
|
1694
|
-
React.createElement(TbChevronRight, { className: "text-bia-coolgrey-light-
|
|
1693
|
+
React.createElement(TbChevronRight, { className: "".concat(isFocused ? focusedIconColor : 'text-bia-coolgrey-light-20', " ").concat(isExpand && 'rotate-90'), size: 18 }))) : (React.createElement("div", { className: "aspect-square w-[18px]" })),
|
|
1695
1694
|
React.createElement("button", __assign({ onFocus: function (e) {
|
|
1696
1695
|
var _a;
|
|
1697
1696
|
setIsFocused(true);
|
|
@@ -3248,39 +3247,6 @@ function Toaster(_a) {
|
|
|
3248
3247
|
React.createElement(TbX, { size: 14 })))));
|
|
3249
3248
|
}
|
|
3250
3249
|
|
|
3251
|
-
function Window(_a) {
|
|
3252
|
-
var _b = _a.size, size = _b === void 0 ? 'sm' : _b, title = _a.title, open = _a.open; _a.zIndex; var onClose = _a.onClose, rest = __rest(_a, ["size", "title", "open", "zIndex", "onClose"]);
|
|
3253
|
-
var windowSize;
|
|
3254
|
-
// sizing logic
|
|
3255
|
-
switch (size) {
|
|
3256
|
-
case 'sm':
|
|
3257
|
-
windowSize = 'w-[300px]';
|
|
3258
|
-
break;
|
|
3259
|
-
case 'md':
|
|
3260
|
-
windowSize = 'w-[540px]';
|
|
3261
|
-
break;
|
|
3262
|
-
case 'lg':
|
|
3263
|
-
windowSize = 'w-[800px]';
|
|
3264
|
-
break;
|
|
3265
|
-
case 'xl':
|
|
3266
|
-
windowSize = 'w-[1140px]';
|
|
3267
|
-
break;
|
|
3268
|
-
default:
|
|
3269
|
-
windowSize = 'w-[540px]';
|
|
3270
|
-
}
|
|
3271
|
-
if (open) {
|
|
3272
|
-
return (
|
|
3273
|
-
// eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
|
|
3274
|
-
React.createElement(Draggable, { handle: ".drag-handle", enableUserSelectHack: false },
|
|
3275
|
-
React.createElement("div", { className: "bianic-window drag-handle flex flex-col gap-[20px] rounded-[5px] bg-white ".concat(windowSize) },
|
|
3276
|
-
React.createElement("div", { className: "bianic-window-header flex cursor-move justify-between px-[20px] pt-[20px]" },
|
|
3277
|
-
React.createElement("div", { className: " text-wrap text-left font-humnst777 text-[18px] font-bold leading-[21.85px] text-primary-black" }, title),
|
|
3278
|
-
React.createElement(Button, { variant: "subtle", radius: "full-rounded", iconLeft: React.createElement(TbX, null), size: "tn", onClick: function () { return onClose(); } })),
|
|
3279
|
-
React.createElement("div", { className: "bianic-window-content flex w-full flex-col items-start gap-[20px] px-[20px] pb-[20px] text-primary-black" }, rest.children))));
|
|
3280
|
-
}
|
|
3281
|
-
return null;
|
|
3282
|
-
}
|
|
3283
|
-
|
|
3284
3250
|
exports.Accordions = Accordions;
|
|
3285
3251
|
exports.Alert = Alert;
|
|
3286
3252
|
exports.Avatar = Avatar;
|
|
@@ -3349,4 +3315,3 @@ exports.TextInput = TextInput;
|
|
|
3349
3315
|
exports.Toaster = Toaster;
|
|
3350
3316
|
exports.Toggle = Toggle;
|
|
3351
3317
|
exports.Tooltip = Tooltip;
|
|
3352
|
-
exports.Window = Window;
|
|
@@ -3,14 +3,16 @@ interface TreeNode extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
|
|
|
3
3
|
label: string;
|
|
4
4
|
nodes?: TreeNode[];
|
|
5
5
|
color?: string;
|
|
6
|
+
chevronColor?: string;
|
|
6
7
|
handleRightClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
7
8
|
onMouseDownTreeItem?: (e: React.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
8
9
|
}
|
|
9
10
|
export interface FileTreeProps {
|
|
10
11
|
color?: string;
|
|
12
|
+
chevronColor?: string;
|
|
11
13
|
data: TreeNode[];
|
|
12
14
|
contextMenu?: React.ReactNode;
|
|
13
15
|
onMouseDown?: (e: React.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
14
16
|
}
|
|
15
|
-
declare const FileTree: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => React.JSX.Element;
|
|
17
|
+
declare const FileTree: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => React.JSX.Element;
|
|
16
18
|
export default FileTree;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
import { FileTreeProps } from '../../components/FileTree';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => import("react").JSX.Element;
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
args: {};
|
|
11
|
+
argTypes: {
|
|
12
|
+
color: {
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
chevronColor: {
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
contextMenu: {
|
|
19
|
+
description: string;
|
|
20
|
+
};
|
|
21
|
+
onMouseDown: {
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
data: {
|
|
25
|
+
description: string;
|
|
26
|
+
control: {
|
|
27
|
+
type: "object";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export default meta;
|
|
33
|
+
type Story = StoryObj<typeof meta>;
|
|
34
|
+
export declare const TwoLevelTree: Story;
|
|
35
|
+
export declare const MixedLevelTree: Story;
|
|
36
|
+
export declare const CustomColor: Story;
|
|
37
|
+
export declare const CustomTextChevronColor: Story;
|
|
@@ -3,7 +3,7 @@ import type { StoryObj } from '@storybook/react';
|
|
|
3
3
|
import { FileTreeProps } from '../../components/FileTree';
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
|
-
component: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => React.JSX.Element;
|
|
6
|
+
component: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => React.JSX.Element;
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: string;
|
|
9
9
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { useState, useEffect, useRef, cloneElement, Children } from 'react';
|
|
2
|
-
import Draggable from 'react-draggable';
|
|
3
2
|
|
|
4
3
|
function Accordions(_a) {
|
|
5
4
|
var title = _a.title, content = _a.content;
|
|
@@ -1647,7 +1646,7 @@ Divider.defaultProps = {
|
|
|
1647
1646
|
};
|
|
1648
1647
|
|
|
1649
1648
|
var FileTree = function (_a) {
|
|
1650
|
-
var data = _a.data, color = _a.color, contextMenu = _a.contextMenu, onMouseDown = _a.onMouseDown;
|
|
1649
|
+
var data = _a.data, color = _a.color, chevronColor = _a.chevronColor, contextMenu = _a.contextMenu, onMouseDown = _a.onMouseDown;
|
|
1651
1650
|
var popupRef = useRef(null); // Ref untuk div utama
|
|
1652
1651
|
var _b = useDetectOutsideClick(popupRef, false), isOpenContMenu = _b[0], setIsOpenContMenu = _b[1];
|
|
1653
1652
|
var _c = useState({ x: 0, y: 0 }), contMenuPosition = _c[0], setContMenuPosition = _c[1];
|
|
@@ -1665,7 +1664,7 @@ var FileTree = function (_a) {
|
|
|
1665
1664
|
return (React.createElement("div", { className: "file-tree" },
|
|
1666
1665
|
data.map(function (_a, index) {
|
|
1667
1666
|
var label = _a.label, nodes = _a.nodes, props = __rest(_a, ["label", "nodes"]);
|
|
1668
|
-
return (React.createElement(TreeItem, __assign({ label: label, nodes: nodes, key: index, color: color, handleRightClick: handleRightClick, onMouseDownTreeItem: onMouseDown }, props)));
|
|
1667
|
+
return (React.createElement(TreeItem, __assign({ label: label, nodes: nodes, key: index, color: color, chevronColor: chevronColor, handleRightClick: handleRightClick, onMouseDownTreeItem: onMouseDown }, props)));
|
|
1669
1668
|
}),
|
|
1670
1669
|
isOpenContMenu && (React.createElement("div", { style: menuStyle, ref: popupRef, className: "bianic-filetree-contextmenu absolute z-10" }, React.isValidElement(contextMenu)
|
|
1671
1670
|
? // Kirimkan handleItemClick sebagai props onClick ke setiap MenuItem
|
|
@@ -1673,13 +1672,13 @@ var FileTree = function (_a) {
|
|
|
1673
1672
|
: contextMenu))));
|
|
1674
1673
|
};
|
|
1675
1674
|
var TreeItem = function (_a) {
|
|
1676
|
-
var label = _a.label, nodes = _a.nodes, color = _a.color, handleRightClick = _a.handleRightClick, onMouseDownTreeItem = _a.onMouseDownTreeItem, props = __rest(_a, ["label", "nodes", "color", "handleRightClick", "onMouseDownTreeItem"]);
|
|
1675
|
+
var label = _a.label, nodes = _a.nodes, color = _a.color, chevronColor = _a.chevronColor, handleRightClick = _a.handleRightClick, onMouseDownTreeItem = _a.onMouseDownTreeItem, props = __rest(_a, ["label", "nodes", "color", "chevronColor", "handleRightClick", "onMouseDownTreeItem"]);
|
|
1677
1676
|
var treeRef = useRef(null);
|
|
1678
1677
|
var _b = useState(false), isExpand = _b[0], setIsExpand = _b[1];
|
|
1679
1678
|
var _c = useState(false), isFocused = _c[0], setIsFocused = _c[1];
|
|
1680
1679
|
var _d = useDetectOutsideClick(treeRef, false, 'mousedown'), isClickRight = _d[0], setIsClickRight = _d[1];
|
|
1681
|
-
var focusedIconColor = color
|
|
1682
|
-
? "text-bia-".concat(color)
|
|
1680
|
+
var focusedIconColor = chevronColor || color
|
|
1681
|
+
? "text-bia-".concat(chevronColor || color)
|
|
1683
1682
|
: 'text-bia-coolgrey-light-50';
|
|
1684
1683
|
var focusedBgColor = color ? "bg-bia-".concat(color) : 'bg-bia-coolgrey-light-50';
|
|
1685
1684
|
var clickRightClass = 'outline outline-[3px] outline-bia-blue-light-50';
|
|
@@ -1689,7 +1688,7 @@ var TreeItem = function (_a) {
|
|
|
1689
1688
|
nodes && nodes.length > 0 ? (React.createElement("button", { className: "cursor-pointer", onClick: function (e) {
|
|
1690
1689
|
setIsExpand(function (prev) { return !prev; });
|
|
1691
1690
|
} },
|
|
1692
|
-
React.createElement(TbChevronRight, { className: "text-bia-coolgrey-light-
|
|
1691
|
+
React.createElement(TbChevronRight, { className: "".concat(isFocused ? focusedIconColor : 'text-bia-coolgrey-light-20', " ").concat(isExpand && 'rotate-90'), size: 18 }))) : (React.createElement("div", { className: "aspect-square w-[18px]" })),
|
|
1693
1692
|
React.createElement("button", __assign({ onFocus: function (e) {
|
|
1694
1693
|
var _a;
|
|
1695
1694
|
setIsFocused(true);
|
|
@@ -3246,37 +3245,4 @@ function Toaster(_a) {
|
|
|
3246
3245
|
React.createElement(TbX, { size: 14 })))));
|
|
3247
3246
|
}
|
|
3248
3247
|
|
|
3249
|
-
|
|
3250
|
-
var _b = _a.size, size = _b === void 0 ? 'sm' : _b, title = _a.title, open = _a.open; _a.zIndex; var onClose = _a.onClose, rest = __rest(_a, ["size", "title", "open", "zIndex", "onClose"]);
|
|
3251
|
-
var windowSize;
|
|
3252
|
-
// sizing logic
|
|
3253
|
-
switch (size) {
|
|
3254
|
-
case 'sm':
|
|
3255
|
-
windowSize = 'w-[300px]';
|
|
3256
|
-
break;
|
|
3257
|
-
case 'md':
|
|
3258
|
-
windowSize = 'w-[540px]';
|
|
3259
|
-
break;
|
|
3260
|
-
case 'lg':
|
|
3261
|
-
windowSize = 'w-[800px]';
|
|
3262
|
-
break;
|
|
3263
|
-
case 'xl':
|
|
3264
|
-
windowSize = 'w-[1140px]';
|
|
3265
|
-
break;
|
|
3266
|
-
default:
|
|
3267
|
-
windowSize = 'w-[540px]';
|
|
3268
|
-
}
|
|
3269
|
-
if (open) {
|
|
3270
|
-
return (
|
|
3271
|
-
// eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events
|
|
3272
|
-
React.createElement(Draggable, { handle: ".drag-handle", enableUserSelectHack: false },
|
|
3273
|
-
React.createElement("div", { className: "bianic-window drag-handle flex flex-col gap-[20px] rounded-[5px] bg-white ".concat(windowSize) },
|
|
3274
|
-
React.createElement("div", { className: "bianic-window-header flex cursor-move justify-between px-[20px] pt-[20px]" },
|
|
3275
|
-
React.createElement("div", { className: " text-wrap text-left font-humnst777 text-[18px] font-bold leading-[21.85px] text-primary-black" }, title),
|
|
3276
|
-
React.createElement(Button, { variant: "subtle", radius: "full-rounded", iconLeft: React.createElement(TbX, null), size: "tn", onClick: function () { return onClose(); } })),
|
|
3277
|
-
React.createElement("div", { className: "bianic-window-content flex w-full flex-col items-start gap-[20px] px-[20px] pb-[20px] text-primary-black" }, rest.children))));
|
|
3278
|
-
}
|
|
3279
|
-
return null;
|
|
3280
|
-
}
|
|
3281
|
-
|
|
3282
|
-
export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Node as BCNode, Outlet as BCOutlet, Port as BCPort, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, VirtualPort as BCVirtualPort, Badge, Banner, Brand, Breadcrumb, Button, ButtonApp, Checkbox, Color, ContextualButton, Display, Divider, FileTree, FormGroup, FormGroupButton, FormGroupLabel, Heading, Link, LiveSearch, MenuContainer, MenuItem, Modal, P, PaginationBar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, Slider, Spinner, Tab, TabMenu, TableCell, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip, Window };
|
|
3248
|
+
export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Node as BCNode, Outlet as BCOutlet, Port as BCPort, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, VirtualPort as BCVirtualPort, Badge, Banner, Brand, Breadcrumb, Button, ButtonApp, Checkbox, Color, ContextualButton, Display, Divider, FileTree, FormGroup, FormGroupButton, FormGroupLabel, Heading, Link, LiveSearch, MenuContainer, MenuItem, Modal, P, PaginationBar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, Slider, Spinner, Tab, TabMenu, TableCell, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip };
|
|
@@ -3,14 +3,16 @@ interface TreeNode extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
|
|
|
3
3
|
label: string;
|
|
4
4
|
nodes?: TreeNode[];
|
|
5
5
|
color?: string;
|
|
6
|
+
chevronColor?: string;
|
|
6
7
|
handleRightClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
7
8
|
onMouseDownTreeItem?: (e: React.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
8
9
|
}
|
|
9
10
|
export interface FileTreeProps {
|
|
10
11
|
color?: string;
|
|
12
|
+
chevronColor?: string;
|
|
11
13
|
data: TreeNode[];
|
|
12
14
|
contextMenu?: React.ReactNode;
|
|
13
15
|
onMouseDown?: (e: React.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
14
16
|
}
|
|
15
|
-
declare const FileTree: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => React.JSX.Element;
|
|
17
|
+
declare const FileTree: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => React.JSX.Element;
|
|
16
18
|
export default FileTree;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { StoryObj } from '@storybook/react';
|
|
3
|
+
import { FileTreeProps } from '../../components/FileTree';
|
|
4
|
+
declare const meta: {
|
|
5
|
+
title: string;
|
|
6
|
+
component: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => import("react").JSX.Element;
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
args: {};
|
|
11
|
+
argTypes: {
|
|
12
|
+
color: {
|
|
13
|
+
description: string;
|
|
14
|
+
};
|
|
15
|
+
chevronColor: {
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
contextMenu: {
|
|
19
|
+
description: string;
|
|
20
|
+
};
|
|
21
|
+
onMouseDown: {
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
data: {
|
|
25
|
+
description: string;
|
|
26
|
+
control: {
|
|
27
|
+
type: "object";
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export default meta;
|
|
33
|
+
type Story = StoryObj<typeof meta>;
|
|
34
|
+
export declare const TwoLevelTree: Story;
|
|
35
|
+
export declare const MixedLevelTree: Story;
|
|
36
|
+
export declare const CustomColor: Story;
|
|
37
|
+
export declare const CustomTextChevronColor: Story;
|
|
@@ -3,7 +3,7 @@ import type { StoryObj } from '@storybook/react';
|
|
|
3
3
|
import { FileTreeProps } from '../../components/FileTree';
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
|
-
component: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => React.JSX.Element;
|
|
6
|
+
component: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => React.JSX.Element;
|
|
7
7
|
parameters: {
|
|
8
8
|
layout: string;
|
|
9
9
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -152,16 +152,18 @@ interface TreeNode extends Omit<ComponentPropsWithRef<'button'>, 'children'> {
|
|
|
152
152
|
label: string;
|
|
153
153
|
nodes?: TreeNode[];
|
|
154
154
|
color?: string;
|
|
155
|
+
chevronColor?: string;
|
|
155
156
|
handleRightClick?: (e: React$1.MouseEvent<HTMLButtonElement>) => void;
|
|
156
157
|
onMouseDownTreeItem?: (e: React$1.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
157
158
|
}
|
|
158
159
|
interface FileTreeProps {
|
|
159
160
|
color?: string;
|
|
161
|
+
chevronColor?: string;
|
|
160
162
|
data: TreeNode[];
|
|
161
163
|
contextMenu?: React$1.ReactNode;
|
|
162
164
|
onMouseDown?: (e: React$1.MouseEvent<HTMLButtonElement>, val?: TreeNode) => void;
|
|
163
165
|
}
|
|
164
|
-
declare const FileTree: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => React$1.JSX.Element;
|
|
166
|
+
declare const FileTree: ({ data, color, chevronColor, contextMenu, onMouseDown, }: FileTreeProps) => React$1.JSX.Element;
|
|
165
167
|
|
|
166
168
|
interface MenuContainerProps {
|
|
167
169
|
isTopFlat?: boolean;
|
|
@@ -708,13 +710,4 @@ interface ToasterProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
708
710
|
}
|
|
709
711
|
declare function Toaster({ children, title, icon, onClose, variant, position, }: ToasterProps): React$1.JSX.Element;
|
|
710
712
|
|
|
711
|
-
|
|
712
|
-
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
713
|
-
zIndex?: number;
|
|
714
|
-
title?: string;
|
|
715
|
-
open: boolean;
|
|
716
|
-
onClose: () => void;
|
|
717
|
-
}
|
|
718
|
-
declare function Window({ size, title, open, zIndex, onClose, ...rest }: WindowProps): React$1.JSX.Element | null;
|
|
719
|
-
|
|
720
|
-
export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Node as BCNode, Outlet as BCOutlet, Port as BCPort, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, VirtualPort as BCVirtualPort, Badge, Banner, Brand, Breadcrumb, Button, ButtonApp, Checkbox, Color, ContextualButton, Display, Divider, FileTree, FormGroup, FormGroupButton, FormGroupLabel, Heading, Link, LiveSearch, MenuContainer, MenuItem, Modal, P, PaginationBar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, Slider, Spinner, Tab, TabMenu, TableCell, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip, Window };
|
|
713
|
+
export { Accordions, Alert, Avatar, AlertRoundedSquare as BCAlertRoundedSquare, CubeHeader as BCCubeHeader, Discrepancy as BCDiscrepancy, ExposedPort as BCExposedPort, FQAnalytical as BCFQAnalytical, FQGetaway as BCFQGetaway, FQModeler as BCFQModeler, FQOperation as BCFQOperation, FQWelldone as BCFQWelldone, Flowqount as BCFlowqount, Inlet as BCInlet, Legend as BCLegend, ModalBalance as BCModalBalance, Node as BCNode, Outlet as BCOutlet, Port as BCPort, SelectAllAdd as BCSelectAllAdd, SelectAllRemove as BCSelectAllRemove, Spinner$1 as BCSpinner, Stack as BCStack, VirtualPort as BCVirtualPort, Badge, Banner, Brand, Breadcrumb, Button, ButtonApp, Checkbox, Color, ContextualButton, Display, Divider, FileTree, FormGroup, FormGroupButton, FormGroupLabel, Heading, Link, LiveSearch, MenuContainer, MenuItem, Modal, P, PaginationBar, Pills, Popover, ProgressBar, ProgressCircle, Radio, ResizeableDiv, SegmentButtonGroup, SegmentButtonItem, SelectInput, Slider, Spinner, Tab, TabMenu, TableCell, TagLabel, Text, TextArea, TextInput, Toaster, Toggle, Tooltip };
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"@biaenergi:registry": "https://gitlab.com/api/v4/projects/50905269/packages/npm/"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.
|
|
6
|
+
"version": "1.8.0",
|
|
7
7
|
"description": "Design Language System develop by BIAENERGI",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"rollup": "rollup -c",
|
|
@@ -76,6 +76,9 @@
|
|
|
76
76
|
"url-loader": "^4.1.1",
|
|
77
77
|
"webpack": "^5.88.2"
|
|
78
78
|
},
|
|
79
|
+
"dependencies": {
|
|
80
|
+
"react-draggable": "^4.4.6"
|
|
81
|
+
},
|
|
79
82
|
"main": "dist/cjs/index.js",
|
|
80
83
|
"module": "dist/esm/index.js",
|
|
81
84
|
"files": [
|
|
@@ -88,7 +91,6 @@
|
|
|
88
91
|
"peerDependencies": {
|
|
89
92
|
"react": "^18.0.0 || ^19.0.0-beta",
|
|
90
93
|
"react-dom": "^18.0.0 || ^19.0.0-beta",
|
|
91
|
-
"react-draggable": "^4.4.6",
|
|
92
94
|
"react-icons": "^5.2.1"
|
|
93
95
|
},
|
|
94
96
|
"types": "dist/index.d.ts"
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { StoryObj } from '@storybook/react';
|
|
3
|
-
import { FileTreeProps } from '../../components/FileTree';
|
|
4
|
-
declare const meta: {
|
|
5
|
-
title: string;
|
|
6
|
-
component: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => import("react").JSX.Element;
|
|
7
|
-
parameters: {
|
|
8
|
-
layout: string;
|
|
9
|
-
};
|
|
10
|
-
args: {};
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
type Story = StoryObj<typeof meta>;
|
|
14
|
-
export declare const TwoLevelTree: Story;
|
|
15
|
-
export declare const MixedLevelTree: Story;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { StoryObj } from '@storybook/react';
|
|
3
|
-
import { FileTreeProps } from '../../components/FileTree';
|
|
4
|
-
declare const meta: {
|
|
5
|
-
title: string;
|
|
6
|
-
component: ({ data, color, contextMenu, onMouseDown }: FileTreeProps) => import("react").JSX.Element;
|
|
7
|
-
parameters: {
|
|
8
|
-
layout: string;
|
|
9
|
-
};
|
|
10
|
-
args: {};
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
type Story = StoryObj<typeof meta>;
|
|
14
|
-
export declare const TwoLevelTree: Story;
|
|
15
|
-
export declare const MixedLevelTree: Story;
|