@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.
Files changed (42) hide show
  1. package/dist/cjs/components/Drawer/Drawer.cjs +26 -8
  2. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  3. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs +3 -2
  4. package/dist/cjs/components/ListContainer/ListItem/ListItem.cjs.map +1 -1
  5. package/dist/cjs/components/TreeView/TreeItem/DefaultContent.cjs +54 -0
  6. package/dist/cjs/components/TreeView/TreeItem/DefaultContent.cjs.map +1 -0
  7. package/dist/cjs/components/TreeView/TreeItem/TreeItem.cjs +124 -0
  8. package/dist/cjs/components/TreeView/TreeItem/TreeItem.cjs.map +1 -0
  9. package/dist/cjs/components/TreeView/TreeItem/TreeItem.styles.cjs +74 -0
  10. package/dist/cjs/components/TreeView/TreeItem/TreeItem.styles.cjs.map +1 -0
  11. package/dist/cjs/components/TreeView/TreeItem/useHvTreeItem.cjs +62 -0
  12. package/dist/cjs/components/TreeView/TreeItem/useHvTreeItem.cjs.map +1 -0
  13. package/dist/cjs/components/TreeView/TreeView.cjs +72 -0
  14. package/dist/cjs/components/TreeView/TreeView.cjs.map +1 -0
  15. package/dist/cjs/components/TreeView/TreeView.styles.cjs +18 -0
  16. package/dist/cjs/components/TreeView/TreeView.styles.cjs.map +1 -0
  17. package/dist/cjs/components/TreeView/internals.cjs +30 -0
  18. package/dist/cjs/components/TreeView/internals.cjs.map +1 -0
  19. package/dist/cjs/index.cjs +10 -0
  20. package/dist/cjs/index.cjs.map +1 -1
  21. package/dist/esm/components/Drawer/Drawer.js +28 -10
  22. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  23. package/dist/esm/components/ListContainer/ListItem/ListItem.js +4 -3
  24. package/dist/esm/components/ListContainer/ListItem/ListItem.js.map +1 -1
  25. package/dist/esm/components/TreeView/TreeItem/DefaultContent.js +54 -0
  26. package/dist/esm/components/TreeView/TreeItem/DefaultContent.js.map +1 -0
  27. package/dist/esm/components/TreeView/TreeItem/TreeItem.js +125 -0
  28. package/dist/esm/components/TreeView/TreeItem/TreeItem.js.map +1 -0
  29. package/dist/esm/components/TreeView/TreeItem/TreeItem.styles.js +74 -0
  30. package/dist/esm/components/TreeView/TreeItem/TreeItem.styles.js.map +1 -0
  31. package/dist/esm/components/TreeView/TreeItem/useHvTreeItem.js +62 -0
  32. package/dist/esm/components/TreeView/TreeItem/useHvTreeItem.js.map +1 -0
  33. package/dist/esm/components/TreeView/TreeView.js +73 -0
  34. package/dist/esm/components/TreeView/TreeView.js.map +1 -0
  35. package/dist/esm/components/TreeView/TreeView.styles.js +18 -0
  36. package/dist/esm/components/TreeView/TreeView.styles.js.map +1 -0
  37. package/dist/esm/components/TreeView/internals.js +15 -0
  38. package/dist/esm/components/TreeView/internals.js.map +1 -0
  39. package/dist/esm/index.js +12 -2
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/types/index.d.ts +125 -8
  42. 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/Section/Section.styles.js";
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
- staticClasses113 as sectionClasses,
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,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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: (props: HvListItemProps) => JSX_2.Element;
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?: string;
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 useClasses_119>;
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<"hidden" | "content" | "header" | "root" | "actions", string>>, addStatic?: boolean) => {
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.35.0",
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.6.12",
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": "e322581164467dcb33d75ddcd8cfc12da884f71e",
68
+ "gitHead": "650c55c646650c66690ce880cf2159e3e4031230",
68
69
  "main": "dist/cjs/index.cjs",
69
70
  "exports": {
70
71
  ".": {