@hitachivantara/uikit-react-core 5.35.0 → 5.36.1
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/components/Drawer/Drawer.cjs +26 -8
- package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +3 -2
- package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
- package/dist/cjs/components/TreeView/TreeItem/DefaultContent.cjs +54 -0
- package/dist/cjs/components/TreeView/TreeItem/DefaultContent.cjs.map +1 -0
- package/dist/cjs/components/TreeView/TreeItem/TreeItem.cjs +124 -0
- package/dist/cjs/components/TreeView/TreeItem/TreeItem.cjs.map +1 -0
- package/dist/cjs/components/TreeView/TreeItem/TreeItem.styles.cjs +74 -0
- package/dist/cjs/components/TreeView/TreeItem/TreeItem.styles.cjs.map +1 -0
- package/dist/cjs/components/TreeView/TreeItem/useHvTreeItem.cjs +62 -0
- package/dist/cjs/components/TreeView/TreeItem/useHvTreeItem.cjs.map +1 -0
- package/dist/cjs/components/TreeView/TreeView.cjs +72 -0
- package/dist/cjs/components/TreeView/TreeView.cjs.map +1 -0
- package/dist/cjs/components/TreeView/TreeView.styles.cjs +18 -0
- package/dist/cjs/components/TreeView/TreeView.styles.cjs.map +1 -0
- package/dist/cjs/components/TreeView/internals.cjs +30 -0
- package/dist/cjs/components/TreeView/internals.cjs.map +1 -0
- package/dist/cjs/index.cjs +10 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/components/Drawer/Drawer.js +28 -10
- package/dist/esm/components/Drawer/Drawer.js.map +1 -1
- package/dist/esm/components/ListContainer/ListItem/ListItem.js +4 -3
- package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
- package/dist/esm/components/TreeView/TreeItem/DefaultContent.js +54 -0
- package/dist/esm/components/TreeView/TreeItem/DefaultContent.js.map +1 -0
- package/dist/esm/components/TreeView/TreeItem/TreeItem.js +125 -0
- package/dist/esm/components/TreeView/TreeItem/TreeItem.js.map +1 -0
- package/dist/esm/components/TreeView/TreeItem/TreeItem.styles.js +74 -0
- package/dist/esm/components/TreeView/TreeItem/TreeItem.styles.js.map +1 -0
- package/dist/esm/components/TreeView/TreeItem/useHvTreeItem.js +62 -0
- package/dist/esm/components/TreeView/TreeItem/useHvTreeItem.js.map +1 -0
- package/dist/esm/components/TreeView/TreeView.js +73 -0
- package/dist/esm/components/TreeView/TreeView.js.map +1 -0
- package/dist/esm/components/TreeView/TreeView.styles.js +18 -0
- package/dist/esm/components/TreeView/TreeView.styles.js.map +1 -0
- package/dist/esm/components/TreeView/internals.js +15 -0
- package/dist/esm/components/TreeView/internals.js.map +1 -0
- package/dist/esm/index.js +12 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +125 -8
- package/package.json +4 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHvTreeItem.js","sources":["../../../../../src/components/TreeView/TreeItem/useHvTreeItem.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { useTreeViewContext, HvTreeViewPlugins } from \"../internals\";\n\nexport function useHvTreeItem(nodeId: string) {\n const { instance, multiSelect } = useTreeViewContext<HvTreeViewPlugins>();\n\n const expandable = instance ? instance.isNodeExpandable(nodeId) : false;\n const expanded = instance ? instance.isNodeExpanded(nodeId) : false;\n const focused = instance ? instance.isNodeFocused(nodeId) : false;\n const selected = instance ? instance.isNodeSelected(nodeId) : false;\n const disabled = instance ? instance.isNodeDisabled(nodeId) : false;\n\n const handleExpansion = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!instance || disabled) return;\n\n if (!focused) {\n instance.focusNode(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n // If already expanded and trying to toggle selection don't close\n if (expandable && !(multiple && instance.isNodeExpanded(nodeId))) {\n instance.toggleNodeExpansion(event, nodeId);\n }\n };\n\n const handleSelection = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!instance || disabled) return;\n\n if (!focused) {\n instance.focusNode(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n instance.selectRange(event, { end: nodeId });\n } else {\n instance.selectNode(event, nodeId, true);\n }\n } else {\n instance.selectNode(event, nodeId);\n }\n };\n\n const preventSelection = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n };\n\n return {\n instance,\n disabled,\n expanded,\n selected,\n focused,\n handleExpansion,\n handleSelection,\n preventSelection,\n };\n}\n"],"names":["useHvTreeItem","nodeId","instance","multiSelect","useTreeViewContext","expandable","isNodeExpandable","expanded","isNodeExpanded","focused","isNodeFocused","selected","isNodeSelected","disabled","isNodeDisabled","handleExpansion","event","focusNode","multiple","shiftKey","ctrlKey","metaKey","toggleNodeExpansion","handleSelection","selectRange","end","selectNode","preventSelection","preventDefault"],"mappings":";;AAIO,SAASA,cAAcC,QAAgB;AACtC,QAAA;AAAA,IAAEC;AAAAA,IAAUC;AAAAA,MAAgBC,mBAAsC;AAExE,QAAMC,aAAaH,WAAWA,SAASI,iBAAiBL,MAAM,IAAI;AAClE,QAAMM,WAAWL,WAAWA,SAASM,eAAeP,MAAM,IAAI;AAC9D,QAAMQ,UAAUP,WAAWA,SAASQ,cAAcT,MAAM,IAAI;AAC5D,QAAMU,WAAWT,WAAWA,SAASU,eAAeX,MAAM,IAAI;AAC9D,QAAMY,WAAWX,WAAWA,SAASY,eAAeb,MAAM,IAAI;AAExDc,QAAAA,kBAAkBA,CAACC,UAA4C;AACnE,QAAI,CAACd,YAAYW;AAAU;AAE3B,QAAI,CAACJ,SAAS;AACHQ,eAAAA,UAAUD,OAAOf,MAAM;AAAA,IAClC;AAEA,UAAMiB,WACJf,gBAAgBa,MAAMG,YAAYH,MAAMI,WAAWJ,MAAMK;AAG3D,QAAIhB,cAAc,EAAEa,YAAYhB,SAASM,eAAeP,MAAM,IAAI;AACvDqB,eAAAA,oBAAoBN,OAAOf,MAAM;AAAA,IAC5C;AAAA,EAAA;AAGIsB,QAAAA,kBAAkBA,CAACP,UAA4C;AACnE,QAAI,CAACd,YAAYW;AAAU;AAE3B,QAAI,CAACJ,SAAS;AACHQ,eAAAA,UAAUD,OAAOf,MAAM;AAAA,IAClC;AAEA,UAAMiB,WACJf,gBAAgBa,MAAMG,YAAYH,MAAMI,WAAWJ,MAAMK;AAE3D,QAAIH,UAAU;AACZ,UAAIF,MAAMG,UAAU;AAClBjB,iBAASsB,YAAYR,OAAO;AAAA,UAAES,KAAKxB;AAAAA,QAAAA,CAAQ;AAAA,MAAA,OACtC;AACIyB,iBAAAA,WAAWV,OAAOf,QAAQ,IAAI;AAAA,MACzC;AAAA,IAAA,OACK;AACIyB,eAAAA,WAAWV,OAAOf,MAAM;AAAA,IACnC;AAAA,EAAA;AAGI0B,QAAAA,mBAAmBA,CAACX,UAA4C;AACpE,QAAIA,MAAMG,YAAYH,MAAMI,WAAWJ,MAAMK,WAAWR,UAAU;AAEhEG,YAAMY,eAAe;AAAA,IACvB;AAAA,EAAA;AAGK,SAAA;AAAA,IACL1B;AAAAA,IACAW;AAAAA,IACAN;AAAAA,IACAI;AAAAA,IACAF;AAAAA,IACAM;AAAAA,IACAQ;AAAAA,IACAI;AAAAA,EAAAA;AAEJ;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import { useSlotProps } from "@mui/base/utils";
|
|
4
|
+
import { DropDownXS, DropRightXS } from "@hitachivantara/uikit-react-icons";
|
|
5
|
+
import { useDefaultProps } from "../../hooks/useDefaultProps.js";
|
|
6
|
+
import { HV_TREE_VIEW_PLUGINS } from "./internals.js";
|
|
7
|
+
import { useClasses } from "./TreeView.styles.js";
|
|
8
|
+
import { staticClasses } from "./TreeView.styles.js";
|
|
9
|
+
import { useTreeView } from "@mui/x-tree-view/internals/useTreeView";
|
|
10
|
+
import { TreeViewProvider } from "@mui/x-tree-view/internals/TreeViewProvider";
|
|
11
|
+
const HvTreeView = forwardRef(function HvTreeView2(props, ref) {
|
|
12
|
+
const {
|
|
13
|
+
id,
|
|
14
|
+
children,
|
|
15
|
+
classes: classesProp,
|
|
16
|
+
className,
|
|
17
|
+
disabledItemsFocusable,
|
|
18
|
+
multiSelect,
|
|
19
|
+
expanded,
|
|
20
|
+
defaultExpanded,
|
|
21
|
+
selected,
|
|
22
|
+
defaultSelected,
|
|
23
|
+
disableSelection,
|
|
24
|
+
defaultCollapseIcon = /* @__PURE__ */ jsx(DropDownXS, { role: "none" }),
|
|
25
|
+
defaultExpandIcon = /* @__PURE__ */ jsx(DropRightXS, { role: "none" }),
|
|
26
|
+
defaultEndIcon,
|
|
27
|
+
defaultParentIcon,
|
|
28
|
+
onNodeSelect,
|
|
29
|
+
onNodeToggle,
|
|
30
|
+
onNodeFocus,
|
|
31
|
+
...others
|
|
32
|
+
} = useDefaultProps("HvTreeView", props);
|
|
33
|
+
const {
|
|
34
|
+
classes,
|
|
35
|
+
cx
|
|
36
|
+
} = useClasses(classesProp);
|
|
37
|
+
const {
|
|
38
|
+
getRootProps,
|
|
39
|
+
contextValue
|
|
40
|
+
} = useTreeView({
|
|
41
|
+
disabledItemsFocusable,
|
|
42
|
+
expanded,
|
|
43
|
+
defaultExpanded,
|
|
44
|
+
onNodeToggle,
|
|
45
|
+
onNodeFocus,
|
|
46
|
+
disableSelection,
|
|
47
|
+
defaultSelected,
|
|
48
|
+
selected,
|
|
49
|
+
multiSelect,
|
|
50
|
+
onNodeSelect,
|
|
51
|
+
id,
|
|
52
|
+
defaultCollapseIcon,
|
|
53
|
+
defaultEndIcon,
|
|
54
|
+
defaultExpandIcon,
|
|
55
|
+
defaultParentIcon,
|
|
56
|
+
plugins: HV_TREE_VIEW_PLUGINS,
|
|
57
|
+
rootRef: ref
|
|
58
|
+
});
|
|
59
|
+
const rootProps = useSlotProps({
|
|
60
|
+
elementType: "ul",
|
|
61
|
+
externalSlotProps: {},
|
|
62
|
+
externalForwardedProps: others,
|
|
63
|
+
className: classes.root,
|
|
64
|
+
getSlotProps: getRootProps,
|
|
65
|
+
ownerState: props
|
|
66
|
+
});
|
|
67
|
+
return /* @__PURE__ */ jsx(TreeViewProvider, { value: contextValue, children: /* @__PURE__ */ jsx("ul", { className: cx(classes.root, className), ...rootProps, ...others, children }) });
|
|
68
|
+
});
|
|
69
|
+
export {
|
|
70
|
+
HvTreeView,
|
|
71
|
+
staticClasses as treeView2Classes
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=TreeView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeView.js","sources":["../../../../src/components/TreeView/TreeView.tsx"],"sourcesContent":["import { ReactNode, Ref, forwardRef } from \"react\";\nimport { useSlotProps } from \"@mui/base/utils\";\nimport { DropDownXS, DropRightXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport {\n HV_TREE_VIEW_PLUGINS,\n HvTreeViewPluginParameters,\n TreeViewProvider,\n useTreeView,\n} from \"./internals\";\nimport { staticClasses, useClasses } from \"./TreeView.styles\";\n\nexport { staticClasses as treeView2Classes }; // TODO: remove old `treeViewClasses`\n\nexport type HvTreeViewClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvTreeViewProps<Multiple extends boolean | undefined>\n extends HvBaseProps<HTMLUListElement>,\n HvTreeViewPluginParameters<Multiple> {\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvTreeViewClasses;\n /** Tree View children. Usually a `HvTreeItem` instance, or a custom variation of it */\n children?: ReactNode;\n}\n\ntype HvTreeViewComponent = <Multiple extends boolean | undefined = undefined>(\n props: HvTreeViewProps<Multiple>\n) => React.JSX.Element;\n\n/* eslint-disable prefer-arrow-callback */\n/**\n * A Tree View displays hierarchical structures.\n * It also facilitates the exploration of categorical levels and their content.\n *\n * Tree structures are built through composing the `HvTreeItem` component,\n * or a custom variation of it.\n *\n * It is based on MUI's [TreeView](https://mui.com/x/react-tree-view) component.\n *\n * @example\n * ```tsx\n * <HvTreeView>\n * <HvTreeItem nodeId=\"1\" label=\"File1\" />\n * </HvTreeView>\n * ```\n */\nconst HvTreeView = forwardRef(function HvTreeView<\n Multiple extends boolean | undefined\n>(props: HvTreeViewProps<Multiple>, ref: Ref<HTMLUListElement>) {\n const {\n id,\n children,\n classes: classesProp,\n className,\n\n disabledItemsFocusable,\n multiSelect,\n expanded,\n defaultExpanded,\n selected,\n defaultSelected,\n disableSelection,\n defaultCollapseIcon = <DropDownXS role=\"none\" />,\n defaultExpandIcon = <DropRightXS role=\"none\" />,\n defaultEndIcon,\n defaultParentIcon,\n onNodeSelect,\n onNodeToggle,\n onNodeFocus,\n ...others\n } = useDefaultProps(\"HvTreeView\", props);\n const { classes, cx } = useClasses(classesProp);\n\n const { getRootProps, contextValue } = useTreeView({\n disabledItemsFocusable,\n expanded,\n defaultExpanded,\n onNodeToggle,\n onNodeFocus,\n disableSelection,\n defaultSelected,\n selected,\n multiSelect,\n onNodeSelect: onNodeSelect as HvTreeViewProps<any>[\"onNodeSelect\"],\n id,\n defaultCollapseIcon,\n defaultEndIcon,\n defaultExpandIcon,\n defaultParentIcon,\n plugins: HV_TREE_VIEW_PLUGINS,\n rootRef: ref,\n });\n\n const rootProps = useSlotProps({\n elementType: \"ul\",\n externalSlotProps: {},\n externalForwardedProps: others,\n className: classes.root,\n getSlotProps: getRootProps,\n ownerState: props,\n });\n\n return (\n <TreeViewProvider value={contextValue}>\n <ul className={cx(classes.root, className)} {...rootProps} {...others}>\n {children}\n </ul>\n </TreeViewProvider>\n );\n}) as HvTreeViewComponent;\n\nexport { HvTreeView };\n"],"names":["HvTreeView","forwardRef","props","ref","id","children","classes","classesProp","className","disabledItemsFocusable","multiSelect","expanded","defaultExpanded","selected","defaultSelected","disableSelection","defaultCollapseIcon","defaultExpandIcon","defaultEndIcon","defaultParentIcon","onNodeSelect","onNodeToggle","onNodeFocus","others","useDefaultProps","cx","useClasses","getRootProps","contextValue","useTreeView","plugins","HV_TREE_VIEW_PLUGINS","rootRef","rootProps","useSlotProps","elementType","externalSlotProps","externalForwardedProps","root","getSlotProps","ownerState"],"mappings":";;;;;;;;;;AAkDA,MAAMA,aAAaC,WAAW,SAASD,YAErCE,OAAkCC,KAA4B;AACxD,QAAA;AAAA,IACJC;AAAAA,IACAC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,sBAAsB,oBAAC,YAAW,EAAA,MAAK,OAAS,CAAA;AAAA,IAChDC,oBAAoB,oBAAC,aAAY,EAAA,MAAK,OAAS,CAAA;AAAA,IAC/CC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,cAActB,KAAK;AACjC,QAAA;AAAA,IAAEI;AAAAA,IAASmB;AAAAA,EAAAA,IAAOC,WAAWnB,WAAW;AAExC,QAAA;AAAA,IAAEoB;AAAAA,IAAcC;AAAAA,MAAiBC,YAAY;AAAA,IACjDpB;AAAAA,IACAE;AAAAA,IACAC;AAAAA,IACAS;AAAAA,IACAC;AAAAA,IACAP;AAAAA,IACAD;AAAAA,IACAD;AAAAA,IACAH;AAAAA,IACAU;AAAAA,IACAhB;AAAAA,IACAY;AAAAA,IACAE;AAAAA,IACAD;AAAAA,IACAE;AAAAA,IACAW,SAASC;AAAAA,IACTC,SAAS7B;AAAAA,EAAAA,CACV;AAED,QAAM8B,YAAYC,aAAa;AAAA,IAC7BC,aAAa;AAAA,IACbC,mBAAmB,CAAC;AAAA,IACpBC,wBAAwBd;AAAAA,IACxBf,WAAWF,QAAQgC;AAAAA,IACnBC,cAAcZ;AAAAA,IACda,YAAYtC;AAAAA,EAAAA,CACb;AAED,6BACG,kBAAiB,EAAA,OAAO0B,cACvB,UAAA,oBAAC,QAAG,WAAWH,GAAGnB,QAAQgC,MAAM9B,SAAS,GAAG,GAAIyB,WAAeV,GAAAA,QAC5DlB,UACH,EACF,CAAA;AAEJ,CAAC;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createClasses } from "../../utils/classes.js";
|
|
2
|
+
const {
|
|
3
|
+
staticClasses,
|
|
4
|
+
useClasses
|
|
5
|
+
} = createClasses("HvTreeView", {
|
|
6
|
+
/** Applied to the root element */
|
|
7
|
+
root: {
|
|
8
|
+
padding: 0,
|
|
9
|
+
margin: 0,
|
|
10
|
+
listStyle: "none",
|
|
11
|
+
outline: "none"
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export {
|
|
15
|
+
staticClasses,
|
|
16
|
+
useClasses
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=TreeView.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeView.styles.js","sources":["../../../../src/components/TreeView/TreeView.styles.ts"],"sourcesContent":["import { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvTreeView\", {\n /** Applied to the root element */\n root: {\n padding: 0,\n margin: 0,\n listStyle: \"none\",\n outline: \"none\",\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","padding","margin","listStyle","outline"],"mappings":";AAEa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,cAAc;AAAA;AAAA,EAEvEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,SAAS;AAAA,EACX;AACF,CAAC;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useTreeViewContext } from "@mui/x-tree-view/internals/TreeViewProvider/useTreeViewContext";
|
|
2
|
+
import { TreeViewProvider } from "@mui/x-tree-view/internals/TreeViewProvider";
|
|
3
|
+
import { DescendantProvider, useDescendant } from "@mui/x-tree-view/internals/TreeViewProvider/DescendantProvider";
|
|
4
|
+
import { DEFAULT_TREE_VIEW_PLUGINS } from "@mui/x-tree-view/internals/plugins/defaultPlugins";
|
|
5
|
+
import { useTreeView } from "@mui/x-tree-view/internals/useTreeView";
|
|
6
|
+
const HV_TREE_VIEW_PLUGINS = [...DEFAULT_TREE_VIEW_PLUGINS];
|
|
7
|
+
export {
|
|
8
|
+
DescendantProvider,
|
|
9
|
+
HV_TREE_VIEW_PLUGINS,
|
|
10
|
+
TreeViewProvider,
|
|
11
|
+
useDescendant,
|
|
12
|
+
useTreeView,
|
|
13
|
+
useTreeViewContext
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=internals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internals.js","sources":["../../../../src/components/TreeView/internals.ts"],"sourcesContent":["import { useTreeViewContext } from \"@mui/x-tree-view/internals/TreeViewProvider/useTreeViewContext\";\nimport { TreeViewProvider } from \"@mui/x-tree-view/internals/TreeViewProvider\";\nimport {\n DescendantProvider,\n TreeItemDescendant,\n useDescendant,\n} from \"@mui/x-tree-view/internals/TreeViewProvider/DescendantProvider\";\nimport {\n DEFAULT_TREE_VIEW_PLUGINS,\n DefaultTreeViewPlugins,\n DefaultTreeViewPluginParameters,\n} from \"@mui/x-tree-view/internals/plugins/defaultPlugins\";\nimport { useTreeView } from \"@mui/x-tree-view/internals/useTreeView\";\n\nexport type {\n DefaultTreeViewPlugins as HvTreeViewPlugins,\n DefaultTreeViewPluginParameters as HvTreeViewPluginParameters,\n TreeItemDescendant,\n};\n\nexport const HV_TREE_VIEW_PLUGINS = [...DEFAULT_TREE_VIEW_PLUGINS] as const;\n\nexport {\n DescendantProvider,\n TreeViewProvider,\n useDescendant,\n useTreeView,\n useTreeViewContext,\n};\n"],"names":["HV_TREE_VIEW_PLUGINS","DEFAULT_TREE_VIEW_PLUGINS"],"mappings":";;;;;AAoBaA,MAAAA,uBAAuB,CAAC,GAAGC,yBAAyB;"}
|
package/dist/esm/index.js
CHANGED
|
@@ -260,7 +260,12 @@ import { HvCarouselControls } from "./components/Carousel/CarouselControls.js";
|
|
|
260
260
|
import { HvCarouselThumbnails } from "./components/Carousel/CarouselThumbnails.js";
|
|
261
261
|
import { staticClasses as staticClasses112 } from "./components/TimePicker/TimePicker.styles.js";
|
|
262
262
|
import { HvTimePicker } from "./components/TimePicker/TimePicker.js";
|
|
263
|
-
import { staticClasses as staticClasses113 } from "./components/
|
|
263
|
+
import { staticClasses as staticClasses113 } from "./components/TreeView/TreeView.styles.js";
|
|
264
|
+
import { HvTreeView } from "./components/TreeView/TreeView.js";
|
|
265
|
+
import { staticClasses as staticClasses114 } from "./components/TreeView/TreeItem/TreeItem.styles.js";
|
|
266
|
+
import { HvTreeItem } from "./components/TreeView/TreeItem/TreeItem.js";
|
|
267
|
+
import { useHvTreeItem } from "./components/TreeView/TreeItem/useHvTreeItem.js";
|
|
268
|
+
import { staticClasses as staticClasses115 } from "./components/Section/Section.styles.js";
|
|
264
269
|
import { HvSection } from "./components/Section/Section.js";
|
|
265
270
|
import { useClickOutside } from "./hooks/useClickOutside.js";
|
|
266
271
|
import { useControlled } from "./hooks/useControlled.js";
|
|
@@ -425,6 +430,8 @@ export {
|
|
|
425
430
|
HvTimePicker,
|
|
426
431
|
HvToggleButton,
|
|
427
432
|
HvTooltip,
|
|
433
|
+
HvTreeItem,
|
|
434
|
+
HvTreeView,
|
|
428
435
|
HvTypography,
|
|
429
436
|
HvVerticalNavigation,
|
|
430
437
|
HvVerticalNavigationAction,
|
|
@@ -578,7 +585,7 @@ export {
|
|
|
578
585
|
staticClasses89 as rightControlClasses,
|
|
579
586
|
staticClasses106 as scrollToHorizontalClasses,
|
|
580
587
|
staticClasses104 as scrollToVerticalClasses,
|
|
581
|
-
|
|
588
|
+
staticClasses115 as sectionClasses,
|
|
582
589
|
staticClasses11 as selectionListClasses,
|
|
583
590
|
setElementAttrs,
|
|
584
591
|
setId,
|
|
@@ -608,6 +615,8 @@ export {
|
|
|
608
615
|
staticClasses108 as timeAgoClasses,
|
|
609
616
|
staticClasses112 as timePickerClasses,
|
|
610
617
|
staticClasses48 as tooltipClasses,
|
|
618
|
+
staticClasses114 as treeItemClasses,
|
|
619
|
+
staticClasses113 as treeView2Classes,
|
|
611
620
|
staticClasses98 as treeViewClasses,
|
|
612
621
|
staticClasses99 as treeViewItemClasses,
|
|
613
622
|
staticClasses as typographyClasses,
|
|
@@ -633,6 +642,7 @@ export {
|
|
|
633
642
|
default3 as useHvTable,
|
|
634
643
|
default6 as useHvTableSticky,
|
|
635
644
|
default4 as useHvTableStyles,
|
|
645
|
+
useHvTreeItem,
|
|
636
646
|
useImageLoaded,
|
|
637
647
|
useInstance,
|
|
638
648
|
useIsMounted,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ import { CSSInterpolation as CSSInterpolation_2 } from '@emotion/css';
|
|
|
22
22
|
import { CSSProperties } from 'react';
|
|
23
23
|
import { defaultCacheKey } from '@hitachivantara/uikit-react-shared';
|
|
24
24
|
import { defaultEmotionCache } from '@hitachivantara/uikit-react-shared';
|
|
25
|
+
import { DefaultTreeViewPluginParameters } from '@mui/x-tree-view/internals/plugins/defaultPlugins';
|
|
25
26
|
import { DialogActionsProps } from '@mui/material/DialogActions';
|
|
26
27
|
import { DialogContentProps } from '@mui/material/DialogContent';
|
|
27
28
|
import { DialogProps } from '@mui/material/Dialog';
|
|
@@ -75,6 +76,7 @@ import { PropGetter } from 'react-table';
|
|
|
75
76
|
import { RadioProps } from '@mui/material/Radio';
|
|
76
77
|
import { RadioProps as RadioProps_2 } from '@mui/material';
|
|
77
78
|
import { default as React_2 } from 'react';
|
|
79
|
+
import * as React_3 from 'react';
|
|
78
80
|
import { ReactElement } from 'react';
|
|
79
81
|
import { ReactNode } from 'react';
|
|
80
82
|
import { ReducerTableState } from 'react-table';
|
|
@@ -110,6 +112,8 @@ import { theme } from '@hitachivantara/uikit-styles';
|
|
|
110
112
|
import { themes } from '@hitachivantara/uikit-styles';
|
|
111
113
|
import type { ThHTMLAttributes } from 'react';
|
|
112
114
|
import { TooltipProps } from '@mui/material';
|
|
115
|
+
import type { TreeItemContentProps } from '@mui/x-tree-view';
|
|
116
|
+
import type { TreeItemProps } from '@mui/x-tree-view';
|
|
113
117
|
import { UseColumnOrderInstanceProps } from 'react-table';
|
|
114
118
|
import { UseColumnOrderState } from 'react-table';
|
|
115
119
|
import { useEffect } from 'react';
|
|
@@ -153,6 +157,11 @@ import { UseSortByInstanceProps } from 'react-table';
|
|
|
153
157
|
import { UseSortByOptions } from 'react-table';
|
|
154
158
|
import { UseSortByState } from 'react-table';
|
|
155
159
|
import { UseTableHeaderGroupProps } from 'react-table';
|
|
160
|
+
import type { UseTreeViewExpansionInstance } from '@mui/x-tree-view/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types';
|
|
161
|
+
import type { UseTreeViewFocusInstance } from '@mui/x-tree-view/internals/plugins/useTreeViewFocus/useTreeViewFocus.types';
|
|
162
|
+
import type { UseTreeViewKeyboardNavigationInstance } from '@mui/x-tree-view/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types';
|
|
163
|
+
import type { UseTreeViewNodesInstance } from '@mui/x-tree-view/internals/plugins/useTreeViewNodes/useTreeViewNodes.types';
|
|
164
|
+
import type { UseTreeViewSelectionInstance } from '@mui/x-tree-view/internals/plugins/useTreeViewSelection/useTreeViewSelection.types';
|
|
156
165
|
|
|
157
166
|
declare type Accessor<D extends object> = (originalRow: D, index: number, sub: {
|
|
158
167
|
subRows: D[];
|
|
@@ -2860,6 +2869,14 @@ export declare interface HvDrawerProps extends DrawerProps, Omit<DrawerProps, "c
|
|
|
2860
2869
|
* Title for the button close.
|
|
2861
2870
|
*/
|
|
2862
2871
|
buttonTitle?: string;
|
|
2872
|
+
/**
|
|
2873
|
+
* Show backdrop when drawer ix open.
|
|
2874
|
+
*/
|
|
2875
|
+
showBackdrop?: boolean;
|
|
2876
|
+
/**
|
|
2877
|
+
* Prevent closing the dialog when clicking on the backdrop.
|
|
2878
|
+
*/
|
|
2879
|
+
disableBackdropClick?: boolean;
|
|
2863
2880
|
/** @ignore */
|
|
2864
2881
|
ref?: DrawerProps["ref"];
|
|
2865
2882
|
/** @ignore */
|
|
@@ -4307,7 +4324,7 @@ export declare interface HvListContainerProps extends HvBaseProps<HTMLUListEleme
|
|
|
4307
4324
|
/**
|
|
4308
4325
|
* ListItem description/documentation paragraph
|
|
4309
4326
|
*/
|
|
4310
|
-
export declare const HvListItem:
|
|
4327
|
+
export declare const HvListItem: React_2.ForwardRefExoticComponent<HvListItemProps & React_2.RefAttributes<any>>;
|
|
4311
4328
|
|
|
4312
4329
|
export declare type HvListItemClasses = ExtractNames<typeof useClasses_4>;
|
|
4313
4330
|
|
|
@@ -4315,7 +4332,7 @@ export declare interface HvListItemProps extends HvBaseProps<HTMLLIElement> {
|
|
|
4315
4332
|
/**
|
|
4316
4333
|
* Overrides the implicit list item role.
|
|
4317
4334
|
*/
|
|
4318
|
-
role?:
|
|
4335
|
+
role?: HvBaseProps<HTMLLIElement>["role"];
|
|
4319
4336
|
/** Indicates if the list item is selected. */
|
|
4320
4337
|
selected?: boolean;
|
|
4321
4338
|
/** If true, the list item will be disabled. */
|
|
@@ -5419,7 +5436,7 @@ export declare interface HvScrollToVerticalProps extends HvBaseProps<HTMLOListEl
|
|
|
5419
5436
|
*/
|
|
5420
5437
|
export declare const HvSection: (props: HvSectionProps) => JSX_2.Element;
|
|
5421
5438
|
|
|
5422
|
-
export declare type HvSectionClasses = ExtractNames<typeof
|
|
5439
|
+
export declare type HvSectionClasses = ExtractNames<typeof useClasses_121>;
|
|
5423
5440
|
|
|
5424
5441
|
export declare interface HvSectionProps extends Omit<HvBaseProps<HTMLDivElement>, "title"> {
|
|
5425
5442
|
/** The title of the section */
|
|
@@ -6739,6 +6756,49 @@ export declare interface HvTooltipProps extends Omit<TooltipProps, "classes"> {
|
|
|
6739
6756
|
containerId?: string;
|
|
6740
6757
|
}
|
|
6741
6758
|
|
|
6759
|
+
export declare interface HvTreeContentProps extends TreeItemContentProps {
|
|
6760
|
+
}
|
|
6761
|
+
|
|
6762
|
+
export declare const HvTreeItem: ForwardRefExoticComponent<HvTreeItemProps & RefAttributes<HTMLLIElement>>;
|
|
6763
|
+
|
|
6764
|
+
export declare type HvTreeItemClasses = ExtractNames<typeof useClasses_120>;
|
|
6765
|
+
|
|
6766
|
+
export declare interface HvTreeItemProps extends TreeItemProps {
|
|
6767
|
+
classes?: HvTreeItemClasses;
|
|
6768
|
+
disabled?: boolean;
|
|
6769
|
+
icon?: ReactNode;
|
|
6770
|
+
ContentComponent?: React.JSXElementConstructor<HvTreeContentProps>;
|
|
6771
|
+
}
|
|
6772
|
+
|
|
6773
|
+
/**
|
|
6774
|
+
* A Tree View displays hierarchical structures.
|
|
6775
|
+
* It also facilitates the exploration of categorical levels and their content.
|
|
6776
|
+
*
|
|
6777
|
+
* Tree structures are built through composing the `HvTreeItem` component,
|
|
6778
|
+
* or a custom variation of it.
|
|
6779
|
+
*
|
|
6780
|
+
* It is based on MUI's [TreeView](https://mui.com/x/react-tree-view) component.
|
|
6781
|
+
*
|
|
6782
|
+
* @example
|
|
6783
|
+
* ```tsx
|
|
6784
|
+
* <HvTreeView>
|
|
6785
|
+
* <HvTreeItem nodeId="1" label="File1" />
|
|
6786
|
+
* </HvTreeView>
|
|
6787
|
+
* ```
|
|
6788
|
+
*/
|
|
6789
|
+
export declare const HvTreeView: HvTreeViewComponent;
|
|
6790
|
+
|
|
6791
|
+
export declare type HvTreeViewClasses = ExtractNames<typeof useClasses_119>;
|
|
6792
|
+
|
|
6793
|
+
declare type HvTreeViewComponent = <Multiple extends boolean | undefined = undefined>(props: HvTreeViewProps<Multiple>) => React.JSX.Element;
|
|
6794
|
+
|
|
6795
|
+
export declare interface HvTreeViewProps<Multiple extends boolean | undefined> extends HvBaseProps<HTMLUListElement>, DefaultTreeViewPluginParameters<Multiple> {
|
|
6796
|
+
/** A Jss Object used to override or extend the styles applied. */
|
|
6797
|
+
classes?: HvTreeViewClasses;
|
|
6798
|
+
/** Tree View children. Usually a `HvTreeItem` instance, or a custom variation of it */
|
|
6799
|
+
children?: ReactNode;
|
|
6800
|
+
}
|
|
6801
|
+
|
|
6742
6802
|
/**
|
|
6743
6803
|
* Typography component is used to render text and paragraphs within an interface.
|
|
6744
6804
|
*/
|
|
@@ -7920,6 +7980,22 @@ export declare const tooltipClasses: {
|
|
|
7920
7980
|
valueWrapper: "HvTooltip-valueWrapper";
|
|
7921
7981
|
};
|
|
7922
7982
|
|
|
7983
|
+
export declare const treeItemClasses: {
|
|
7984
|
+
content: "HvTreeItem-content";
|
|
7985
|
+
label: "HvTreeItem-label";
|
|
7986
|
+
root: "HvTreeItem-root";
|
|
7987
|
+
group: "HvTreeItem-group";
|
|
7988
|
+
expanded: "HvTreeItem-expanded";
|
|
7989
|
+
disabled: "HvTreeItem-disabled";
|
|
7990
|
+
selected: "HvTreeItem-selected";
|
|
7991
|
+
focused: "HvTreeItem-focused";
|
|
7992
|
+
iconContainer: "HvTreeItem-iconContainer";
|
|
7993
|
+
};
|
|
7994
|
+
|
|
7995
|
+
export declare const treeView2Classes: {
|
|
7996
|
+
root: "HvTreeView-root";
|
|
7997
|
+
};
|
|
7998
|
+
|
|
7923
7999
|
export declare const treeViewClasses: {
|
|
7924
8000
|
root: "HvVerticalNavigationTreeView-root";
|
|
7925
8001
|
};
|
|
@@ -8427,13 +8503,9 @@ declare const useClasses_118: (classesProp?: Partial<Record<"placeholder" | "lab
|
|
|
8427
8503
|
cx: (...args: any) => string;
|
|
8428
8504
|
};
|
|
8429
8505
|
|
|
8430
|
-
declare const useClasses_119: (classesProp?: Partial<Record<"
|
|
8506
|
+
declare const useClasses_119: (classesProp?: Partial<Record<"root", string>>, addStatic?: boolean) => {
|
|
8431
8507
|
classes: {
|
|
8432
|
-
hidden: string;
|
|
8433
|
-
content: string;
|
|
8434
|
-
header: string;
|
|
8435
8508
|
root: string;
|
|
8436
|
-
actions: string;
|
|
8437
8509
|
};
|
|
8438
8510
|
css: {
|
|
8439
8511
|
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
@@ -8455,6 +8527,40 @@ declare const useClasses_12: (classesProp?: Partial<Record<"root" | "popper" | "
|
|
|
8455
8527
|
cx: (...args: any) => string;
|
|
8456
8528
|
};
|
|
8457
8529
|
|
|
8530
|
+
declare const useClasses_120: (classesProp?: Partial<Record<"content" | "label" | "root" | "group" | "expanded" | "disabled" | "selected" | "focused" | "iconContainer", string>>, addStatic?: boolean) => {
|
|
8531
|
+
classes: {
|
|
8532
|
+
content: string;
|
|
8533
|
+
label: string;
|
|
8534
|
+
root: string;
|
|
8535
|
+
group: string;
|
|
8536
|
+
expanded: string;
|
|
8537
|
+
disabled: string;
|
|
8538
|
+
selected: string;
|
|
8539
|
+
focused: string;
|
|
8540
|
+
iconContainer: string;
|
|
8541
|
+
};
|
|
8542
|
+
css: {
|
|
8543
|
+
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
8544
|
+
(...args: CSSInterpolation[]): string;
|
|
8545
|
+
};
|
|
8546
|
+
cx: (...args: any) => string;
|
|
8547
|
+
};
|
|
8548
|
+
|
|
8549
|
+
declare const useClasses_121: (classesProp?: Partial<Record<"hidden" | "content" | "header" | "root" | "actions", string>>, addStatic?: boolean) => {
|
|
8550
|
+
classes: {
|
|
8551
|
+
hidden: string;
|
|
8552
|
+
content: string;
|
|
8553
|
+
header: string;
|
|
8554
|
+
root: string;
|
|
8555
|
+
actions: string;
|
|
8556
|
+
};
|
|
8557
|
+
css: {
|
|
8558
|
+
(template: TemplateStringsArray, ...args: CSSInterpolation[]): string;
|
|
8559
|
+
(...args: CSSInterpolation[]): string;
|
|
8560
|
+
};
|
|
8561
|
+
cx: (...args: any) => string;
|
|
8562
|
+
};
|
|
8563
|
+
|
|
8458
8564
|
declare const useClasses_13: (classesProp?: Partial<Record<"input" | "root" | "disabled" | "readOnly" | "invalid" | "resizable" | "inputBorderContainer" | "inputRootInvalid" | "inputRootReadOnly" | "inputRoot" | "inputRootFocused" | "inputRootDisabled" | "inputRootMultiline" | "inputDisabled" | "inputReadOnly" | "inputResizable", string>>, addStatic?: boolean) => {
|
|
8459
8565
|
classes: {
|
|
8460
8566
|
input: string;
|
|
@@ -10383,6 +10489,17 @@ export declare interface UseHvTableStylesTableRowProps {
|
|
|
10383
10489
|
hover?: boolean;
|
|
10384
10490
|
}
|
|
10385
10491
|
|
|
10492
|
+
export declare function useHvTreeItem(nodeId: string): {
|
|
10493
|
+
instance: (UseTreeViewNodesInstance & UseTreeViewExpansionInstance & UseTreeViewSelectionInstance & UseTreeViewFocusInstance & UseTreeViewKeyboardNavigationInstance) | null;
|
|
10494
|
+
disabled: boolean;
|
|
10495
|
+
expanded: boolean;
|
|
10496
|
+
selected: boolean;
|
|
10497
|
+
focused: boolean;
|
|
10498
|
+
handleExpansion: (event: React_3.MouseEvent<HTMLDivElement>) => void;
|
|
10499
|
+
handleSelection: (event: React_3.MouseEvent<HTMLDivElement>) => void;
|
|
10500
|
+
preventSelection: (event: React_3.MouseEvent<HTMLDivElement>) => void;
|
|
10501
|
+
};
|
|
10502
|
+
|
|
10386
10503
|
export declare const useImageLoaded: (src: any, srcSet: any) => string | boolean;
|
|
10387
10504
|
|
|
10388
10505
|
export declare function useInstance(instance: any): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.36.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Core React components for the NEXT Design System.",
|
|
@@ -33,11 +33,12 @@
|
|
|
33
33
|
"@emotion/css": "^11.11.0",
|
|
34
34
|
"@emotion/serialize": "^1.1.2",
|
|
35
35
|
"@emotion/utils": "^1.2.1",
|
|
36
|
-
"@hitachivantara/uikit-react-icons": "^5.
|
|
36
|
+
"@hitachivantara/uikit-react-icons": "^5.7.0",
|
|
37
37
|
"@hitachivantara/uikit-react-shared": "^5.1.16",
|
|
38
38
|
"@hitachivantara/uikit-styles": "^5.16.0",
|
|
39
39
|
"@internationalized/date": "^3.2.0",
|
|
40
40
|
"@mui/base": "^5.0.0-beta.4",
|
|
41
|
+
"@mui/x-tree-view": "6.0.0-beta.0",
|
|
41
42
|
"@popperjs/core": "^2.11.8",
|
|
42
43
|
"@react-aria/datepicker": "^3.4.1",
|
|
43
44
|
"@react-stately/datepicker": "^3.4.1",
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"access": "public",
|
|
65
66
|
"directory": "package"
|
|
66
67
|
},
|
|
67
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "650c55c646650c66690ce880cf2159e3e4031230",
|
|
68
69
|
"main": "dist/cjs/index.cjs",
|
|
69
70
|
"exports": {
|
|
70
71
|
".": {
|