@hitachivantara/uikit-react-core 5.27.4 → 5.27.5
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/Footer/Footer.cjs +1 -1
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +1 -1
- package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
- package/dist/esm/components/Footer/Footer.js +1 -1
- package/dist/esm/components/Footer/Footer.js.map +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
- package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/package.json +2 -2
|
@@ -27,7 +27,7 @@ const HvFooter = (props) => {
|
|
|
27
27
|
}, className),
|
|
28
28
|
...others,
|
|
29
29
|
children: [/* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
|
|
30
|
-
variant: "
|
|
30
|
+
variant: "label",
|
|
31
31
|
className: classes.name,
|
|
32
32
|
children: name
|
|
33
33
|
}), /* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.cjs","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"
|
|
1
|
+
{"version":3,"file":"Footer.cjs","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","classesProp","className","others","useDefaultProps","muiTheme","useTheme","cx","useClasses","isSmDown","useMediaQuery","breakpoints","down","root","small","children","_jsx","HvTypography","variant","_jsxs","rightContainer","separator"],"mappings":";;;;;;;;AA0BaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,kCAAgC,oBAAIC,QAAOC,YAAc,CAAA;AAAA,IACtEC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,gBAAA,YAAYV,KAAK;AACrC,QAAMW,WAAWC,OAAAA;AACX,QAAA;AAAA,IAAEN;AAAAA,IAASO;AAAAA,EAAAA,IAAOC,cAAAA,WAAWP,WAAW;AAE9C,QAAMQ,WAAWC,SAAAA,cAAcL,SAASM,YAAYC,KAAK,IAAI,CAAC;AAE9D,yCACE,UAAA;AAAA,IACEV,WAAWK,GAAGP,QAAQa,MAAM;AAAA,MAAE,CAACb,QAAQc,KAAK,GAAGL;AAAAA,OAAYP,SAAS;AAAA,IAAE,GAClEC;AAAAA,IAAMY,UAAA,CAEVC,2BAAAA,IAACC,yBAAY;AAAA,MAACC,SAAQ;AAAA,MAAQhB,WAAWF,QAAQL;AAAAA,MAAKoB,UACnDpB;AAAAA,IAAAA,CACW,GACdwB,2BAAAA,KAAA,OAAA;AAAA,MAAKjB,WAAWF,QAAQoB;AAAAA,MAAeL,UAAA,CACrCC,2BAAAA,IAACC,yBAAY;AAAA,QAACf,WAAWF,QAAQJ;AAAAA,QAAUmB,UAAEnB;AAAAA,MAAAA,CAAwB,GACpEG,SAASiB,2BAAAA,IAAA,OAAA;AAAA,QAAKd,WAAWF,QAAQqB;AAAAA,MAAY,CAAA,GAC7CtB,KAAK;AAAA,IAAA,CACH,CAAC;AAAA,EAAA,CACA;AAEZ;;;"}
|
|
@@ -242,7 +242,7 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef((props, ref) => {
|
|
|
242
242
|
onKeyDown: handleKeyDown,
|
|
243
243
|
"aria-current": selectable && selected || !isOpen && (isChildSelected == null ? void 0 : isChildSelected(nodeId)) ? href ? "page" : true : void 0,
|
|
244
244
|
"aria-expanded": expandable ? expanded : void 0,
|
|
245
|
-
"aria-controls": expandable ? setId.setId(id, "group") : void 0,
|
|
245
|
+
"aria-controls": isOpen && expandable ? setId.setId(id, "group") : void 0,
|
|
246
246
|
"aria-label": payload == null ? void 0 : payload.label
|
|
247
247
|
},
|
|
248
248
|
children: [/* @__PURE__ */ jsxRuntime.jsx(IconWrapper.IconWrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { staticClasses, useClasses } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport { staticClasses as treeViewItemClasses };\n\nexport type HvVerticalNavigationTreeViewItemClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(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 (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n isOpen,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n isOpen,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable, isOpen]\n );\n\n const renderedContent = useMemo(() => {\n const buttonLinkProps = {\n href,\n target,\n };\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n {...(href ? buttonLinkProps : null)}\n ref={contentRef}\n className={cx(classes.content, {\n [classes.link]: href != null,\n [classes.minimized]: !isOpen,\n })}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && (\n <div\n className={cx(classes.label, {\n [classes.labelIcon]: useIcons,\n [classes.labelExpandable]: !!expandable,\n })}\n >\n {label}\n </div>\n )}\n\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n </HvTypography>\n );\n }, [\n id,\n href,\n target,\n cx,\n classes.content,\n classes.link,\n classes.minimized,\n classes.label,\n classes.labelIcon,\n classes.labelExpandable,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n payload?.label,\n children,\n isOpen,\n useIcons,\n isChildSelected,\n nodeId,\n ]);\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes?.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id ?? undefined}\n className={cx(classes.node, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: selectable && !disabled,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]:\n (!disabled && selectable && selected) ||\n (!isOpen && useIcons && isChildSelected && isChildSelected(nodeId)),\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n [classes.hide]: !isOpen && !useIcons,\n className,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </li>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","classesProp","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","cx","useClasses","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","buttonLinkProps","HvTypography","setId","component","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","_jsx","IconWrapper","hasChildren","Boolean","showAvatar","labelIcon","labelExpandable","DropUpXS","DropDownXS","renderedChildren","group","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.cjs","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { staticClasses, useClasses } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport { staticClasses as treeViewItemClasses };\n\nexport type HvVerticalNavigationTreeViewItemClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(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 (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n isOpen,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n isOpen,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable, isOpen]\n );\n\n const renderedContent = useMemo(() => {\n const buttonLinkProps = {\n href,\n target,\n };\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n {...(href ? buttonLinkProps : null)}\n ref={contentRef}\n className={cx(classes.content, {\n [classes.link]: href != null,\n [classes.minimized]: !isOpen,\n })}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\":\n isOpen && expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && (\n <div\n className={cx(classes.label, {\n [classes.labelIcon]: useIcons,\n [classes.labelExpandable]: !!expandable,\n })}\n >\n {label}\n </div>\n )}\n\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n </HvTypography>\n );\n }, [\n id,\n href,\n target,\n cx,\n classes.content,\n classes.link,\n classes.minimized,\n classes.label,\n classes.labelIcon,\n classes.labelExpandable,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n payload?.label,\n children,\n isOpen,\n useIcons,\n isChildSelected,\n nodeId,\n ]);\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes?.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id ?? undefined}\n className={cx(classes.node, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: selectable && !disabled,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]:\n (!disabled && selectable && selected) ||\n (!isOpen && useIcons && isChildSelected && isChildSelected(nodeId)),\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n [classes.hide]: !isOpen && !useIcons,\n className,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </li>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","classesProp","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","cx","useClasses","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","buttonLinkProps","HvTypography","setId","component","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","_jsx","IconWrapper","hasChildren","Boolean","showAvatar","labelIcon","labelExpandable","DropUpXS","DropDownXS","renderedChildren","group","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n name?: React.ReactNode;\n copyright?: React.ReactNode;\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"
|
|
1
|
+
{"version":3,"file":"Footer.js","sources":["../../../../src/components/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["HvFooter","props","name","copyright","Date","getFullYear","links","classes","classesProp","className","others","useDefaultProps","muiTheme","useTheme","cx","useClasses","isSmDown","useMediaQuery","breakpoints","down","root","small","children","_jsx","HvTypography","variant","_jsxs","rightContainer","separator"],"mappings":";;;;;;;AA0BaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC,OAAO;AAAA,IACPC,YAAa,kCAAgC,oBAAIC,QAAOC,YAAc,CAAA;AAAA,IACtEC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACA,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYV,KAAK;AACrC,QAAMW,WAAWC;AACX,QAAA;AAAA,IAAEN;AAAAA,IAASO;AAAAA,EAAAA,IAAOC,WAAWP,WAAW;AAE9C,QAAMQ,WAAWC,cAAcL,SAASM,YAAYC,KAAK,IAAI,CAAC;AAE9D,8BACE,UAAA;AAAA,IACEV,WAAWK,GAAGP,QAAQa,MAAM;AAAA,MAAE,CAACb,QAAQc,KAAK,GAAGL;AAAAA,OAAYP,SAAS;AAAA,IAAE,GAClEC;AAAAA,IAAMY,UAAA,CAEVC,oBAACC,cAAY;AAAA,MAACC,SAAQ;AAAA,MAAQhB,WAAWF,QAAQL;AAAAA,MAAKoB,UACnDpB;AAAAA,IAAAA,CACW,GACdwB,qBAAA,OAAA;AAAA,MAAKjB,WAAWF,QAAQoB;AAAAA,MAAeL,UAAA,CACrCC,oBAACC,cAAY;AAAA,QAACf,WAAWF,QAAQJ;AAAAA,QAAUmB,UAAEnB;AAAAA,MAAAA,CAAwB,GACpEG,SAASiB,oBAAA,OAAA;AAAA,QAAKd,WAAWF,QAAQqB;AAAAA,MAAY,CAAA,GAC7CtB,KAAK;AAAA,IAAA,CACH,CAAC;AAAA,EAAA,CACA;AAEZ;"}
|
|
@@ -241,7 +241,7 @@ const HvVerticalNavigationTreeViewItem = forwardRef((props, ref) => {
|
|
|
241
241
|
onKeyDown: handleKeyDown,
|
|
242
242
|
"aria-current": selectable && selected || !isOpen && (isChildSelected == null ? void 0 : isChildSelected(nodeId)) ? href ? "page" : true : void 0,
|
|
243
243
|
"aria-expanded": expandable ? expanded : void 0,
|
|
244
|
-
"aria-controls": expandable ? setId(id, "group") : void 0,
|
|
244
|
+
"aria-controls": isOpen && expandable ? setId(id, "group") : void 0,
|
|
245
245
|
"aria-label": payload == null ? void 0 : payload.label
|
|
246
246
|
},
|
|
247
247
|
children: [/* @__PURE__ */ jsx(IconWrapper, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewItem.js","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { staticClasses, useClasses } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport { staticClasses as treeViewItemClasses };\n\nexport type HvVerticalNavigationTreeViewItemClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(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 (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n isOpen,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n isOpen,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable, isOpen]\n );\n\n const renderedContent = useMemo(() => {\n const buttonLinkProps = {\n href,\n target,\n };\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n {...(href ? buttonLinkProps : null)}\n ref={contentRef}\n className={cx(classes.content, {\n [classes.link]: href != null,\n [classes.minimized]: !isOpen,\n })}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\": expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && (\n <div\n className={cx(classes.label, {\n [classes.labelIcon]: useIcons,\n [classes.labelExpandable]: !!expandable,\n })}\n >\n {label}\n </div>\n )}\n\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n </HvTypography>\n );\n }, [\n id,\n href,\n target,\n cx,\n classes.content,\n classes.link,\n classes.minimized,\n classes.label,\n classes.labelIcon,\n classes.labelExpandable,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n payload?.label,\n children,\n isOpen,\n useIcons,\n isChildSelected,\n nodeId,\n ]);\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes?.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id ?? undefined}\n className={cx(classes.node, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: selectable && !disabled,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]:\n (!disabled && selectable && selected) ||\n (!isOpen && useIcons && isChildSelected && isChildSelected(nodeId)),\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n [classes.hide]: !isOpen && !useIcons,\n className,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </li>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","classesProp","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","cx","useClasses","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","buttonLinkProps","HvTypography","setId","component","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","_jsx","IconWrapper","hasChildren","Boolean","showAvatar","labelIcon","labelExpandable","DropUpXS","DropDownXS","renderedChildren","group","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TreeViewItem.js","sources":["../../../../../src/components/VerticalNavigation/TreeView/TreeViewItem.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useForkRef } from \"@core/hooks/useForkRef\";\nimport { setId } from \"@core/utils/setId\";\n\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\nimport { staticClasses, useClasses } from \"./TreeViewItem.styles\";\nimport { DescendantProvider, useDescendant } from \"./descendants\";\nimport {\n TreeViewControlContext,\n TreeViewStateContext,\n} from \"./TreeViewContext\";\nimport { VerticalNavigationContext } from \"../VerticalNavigationContext\";\nimport { IconWrapper } from \"./IconWrapper\";\n\nexport { staticClasses as treeViewItemClasses };\n\nexport type HvVerticalNavigationTreeViewItemClasses = ExtractNames<\n typeof useClasses\n>;\n\nexport interface HvVerticalNavigationTreeViewItemProps {\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * A Jss Object used to override or extend the styles applied to the Radio button.\n */\n classes?: HvVerticalNavigationTreeViewItemClasses;\n /**\n * Is the node disabled.\n */\n disabled?: boolean;\n /**\n * Can the node be selected.\n */\n selectable?: boolean;\n /**\n * The id of the node.\n */\n nodeId?: string;\n /**\n * The icon to display next to the node's label.\n */\n icon?: React.ReactNode;\n /**\n * The item label.\n */\n label?: React.ReactNode;\n /**\n * The url for the link.\n */\n href?: string;\n /**\n * The behavior when opening a link.\n */\n target?: string;\n /**\n * The node payload.\n */\n payload?: any;\n /**\n * @ignore\n */\n onClick?: any;\n /**\n * @ignore\n */\n onMouseDown?: any;\n /**\n * @ignore\n */\n onFocus?: any;\n /**\n * The content of the component.\n */\n children?: React.ReactNode;\n /**\n * @ignore\n */\n onMouseEnter?: any;\n /**\n * Disables the appearence of a tooltip on hovering an element ( Only applicable when the in collapsed mode)\n */\n disableTooltip?: boolean;\n}\n\nconst preventSelection = (event, disabled) => {\n if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {\n // Prevent text selection\n event.preventDefault();\n }\n};\n\nexport const HvVerticalNavigationTreeViewItem = forwardRef(\n (props: HvVerticalNavigationTreeViewItemProps, ref) => {\n const {\n id: idProp,\n className,\n classes: classesProp,\n\n disabled: disabledProp = false,\n\n selectable: selectableProp,\n\n nodeId,\n icon = null,\n label,\n href,\n target,\n payload,\n\n onClick,\n onMouseDown,\n onFocus,\n\n children,\n\n disableTooltip,\n\n ...others\n } = props;\n\n const { classes, cx } = useClasses(classesProp);\n\n const treeViewControlContext = useContext(TreeViewControlContext);\n const { isExpanded, isSelected, isFocused, isDisabled, isChildSelected } =\n useContext(TreeViewStateContext);\n\n const {\n treeId,\n mode,\n collapsible,\n toggleExpansion,\n multiSelect,\n selectNode,\n selectRange,\n disabledItemsFocusable,\n registerNode,\n unregisterNode,\n mapFirstChar,\n unMapFirstChar,\n focus,\n } = treeViewControlContext;\n\n const treeviewMode = mode === \"treeview\";\n\n let id: string | null = null;\n\n if (idProp != null) {\n id = idProp;\n } else if (treeId && nodeId) {\n id = `${treeId}-${nodeId}`;\n }\n\n const [treeitemElement, setTreeitemElement] = useState(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(setTreeitemElement, ref);\n\n const descendant = useMemo(\n () => ({\n element: treeitemElement,\n id: nodeId,\n }),\n [nodeId, treeitemElement]\n );\n\n const { isOpen, useIcons } = useContext(VerticalNavigationContext);\n\n const { index, parentId, level } = useDescendant(descendant);\n\n const expandable = collapsible && Array.isArray(children);\n const expanded = isExpanded ? isExpanded(nodeId) : false;\n const focused = isFocused ? isFocused(nodeId) : false;\n const selected = isSelected ? isSelected(nodeId) : false;\n const disabled = isDisabled ? isDisabled(nodeId) : false;\n\n const selectable =\n selectableProp != null\n ? selectableProp\n : !collapsible || !expandable || !isOpen;\n\n useEffect(() => {\n // On the first render a node's index will be -1. We want to wait for the real index.\n if (registerNode && unregisterNode && index !== -1) {\n registerNode({\n id: nodeId,\n idAttribute: id,\n index,\n parentId,\n selectable,\n expandable,\n disabled: disabledProp,\n onFocus,\n payload,\n });\n\n return () => {\n unregisterNode(nodeId);\n };\n }\n\n return undefined;\n }, [\n registerNode,\n unregisterNode,\n parentId,\n index,\n nodeId,\n expandable,\n disabledProp,\n id,\n selectable,\n onFocus,\n payload,\n ]);\n\n useEffect(() => {\n if (\n mapFirstChar &&\n unMapFirstChar &&\n label &&\n contentRef.current?.textContent\n ) {\n mapFirstChar(\n nodeId,\n contentRef.current?.textContent.substring(0, 1).toLowerCase()\n );\n\n return () => {\n unMapFirstChar(nodeId);\n };\n }\n return undefined;\n }, [mapFirstChar, unMapFirstChar, nodeId, label]);\n\n let ariaSelected;\n if (multiSelect) {\n ariaSelected = selected;\n } else if (selected) {\n /* single-selection trees unset aria-selected on un-selected items.\n *\n * If the tree does not support multiple selection, aria-selected\n * is set to true for the selected node and it is not present on any other node in the tree.\n * Source: https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n ariaSelected = true;\n }\n\n const handleFocus = useCallback(\n (event) => {\n // DOM focus stays on the tree which manages focus with aria-activedescendant\n if (event.target === event.currentTarget) {\n (event.target.ownerDocument || document)\n .getElementById(treeId)\n .focus({ preventScroll: true });\n }\n\n const unfocusable = !disabledItemsFocusable && disabled;\n if (\n !focused &&\n event.currentTarget === event.target &&\n !unfocusable &&\n focus\n ) {\n focus(event, nodeId);\n }\n },\n [disabled, disabledItemsFocusable, focus, focused, nodeId, treeId]\n );\n\n const handleExpansion = useCallback(\n (event) => {\n if (!disabled) {\n if (treeviewMode && !focused && focus) {\n focus(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 (\n expandable &&\n isOpen &&\n !(multiple && isExpanded && isExpanded(nodeId))\n ) {\n if (toggleExpansion) toggleExpansion(event, nodeId);\n }\n }\n },\n [\n disabled,\n expandable,\n focus,\n focused,\n isExpanded,\n multiSelect,\n nodeId,\n toggleExpansion,\n treeviewMode,\n isOpen,\n ]\n );\n\n const handleSelection = useCallback(\n (event) => {\n if (selectable && !disabled) {\n if (treeviewMode && !focused && focus) {\n focus(event, nodeId);\n }\n\n const multiple =\n multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);\n\n if (multiple) {\n if (event.shiftKey) {\n if (selectRange) return selectRange(event, { end: nodeId });\n } else if (selectNode) return selectNode(event, nodeId, true);\n } else if (selectNode) return selectNode(event, nodeId);\n } else {\n return false;\n }\n },\n [\n disabled,\n focus,\n focused,\n multiSelect,\n nodeId,\n selectNode,\n selectRange,\n selectable,\n treeviewMode,\n ]\n );\n\n const handleMouseDown = useCallback(\n (event) => {\n preventSelection(event, disabled);\n\n if (onMouseDown) {\n onMouseDown(event);\n }\n },\n [disabled, onMouseDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n if (!disabled) {\n if (expandable && isOpen) {\n handleExpansion(event);\n }\n\n if (selectable) {\n handleSelection(event);\n }\n }\n\n if (onClick) {\n onClick(event);\n }\n },\n [\n disabled,\n expandable,\n handleExpansion,\n handleSelection,\n onClick,\n selectable,\n isOpen,\n ]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.currentTarget !== event.target\n ) {\n return;\n }\n if (contentRef.current === event.currentTarget) {\n if (key === \"Enter\" || key === \" \") {\n if (expandable && isOpen) {\n isEventHandled = handleExpansion(event) as unknown as boolean;\n }\n\n if (selectable) {\n isEventHandled = handleSelection(event) as boolean;\n }\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [expandable, handleExpansion, handleSelection, selectable, isOpen]\n );\n\n const renderedContent = useMemo(() => {\n const buttonLinkProps = {\n href,\n target,\n };\n\n return (\n <HvTypography\n id={setId(id, \"button\")}\n component={href ? \"a\" : \"div\"}\n {...(href ? buttonLinkProps : null)}\n ref={contentRef}\n className={cx(classes.content, {\n [classes.link]: href != null,\n [classes.minimized]: !isOpen,\n })}\n variant=\"body\"\n disabled={disabled}\n onClick={handleClick}\n onMouseDown={handleMouseDown}\n style={{\n paddingLeft:\n (useIcons || !isOpen ? 0 : 10) + level * (collapsible ? 16 : 10),\n }}\n role={href ? undefined : \"button\"}\n {...(treeviewMode\n ? {\n tabIndex: -1,\n onFocus: handleFocus,\n }\n : {\n tabIndex: selectable || expandable ? 0 : -1,\n onKeyDown: handleKeyDown,\n \"aria-current\":\n (selectable && selected) ||\n (!isOpen && isChildSelected?.(nodeId))\n ? href\n ? \"page\"\n : true\n : undefined,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-controls\":\n isOpen && expandable ? setId(id, \"group\") : undefined,\n \"aria-label\": payload?.label,\n })}\n >\n <IconWrapper\n icon={useIcons && icon}\n label={payload?.label}\n hasChildren={Boolean(children)}\n showAvatar={!icon && useIcons}\n isOpen={isOpen}\n disableTooltip={disableTooltip}\n />\n\n {isOpen && (\n <div\n className={cx(classes.label, {\n [classes.labelIcon]: useIcons,\n [classes.labelExpandable]: !!expandable,\n })}\n >\n {label}\n </div>\n )}\n\n {isOpen && expandable && (expanded ? <DropUpXS /> : <DropDownXS />)}\n </HvTypography>\n );\n }, [\n id,\n href,\n target,\n cx,\n classes.content,\n classes.link,\n classes.minimized,\n classes.label,\n classes.labelIcon,\n classes.labelExpandable,\n disabled,\n handleClick,\n handleMouseDown,\n expandable,\n icon,\n level,\n collapsible,\n treeviewMode,\n handleFocus,\n selectable,\n handleKeyDown,\n selected,\n expanded,\n label,\n disableTooltip,\n payload?.label,\n children,\n isOpen,\n useIcons,\n isChildSelected,\n nodeId,\n ]);\n\n const renderedChildren = useMemo(\n () =>\n children && (\n <ul\n id={setId(id, \"group\")}\n className={classes.group}\n role={treeviewMode ? \"group\" : undefined}\n >\n {children}\n </ul>\n ),\n [children, classes?.group, id, treeviewMode]\n );\n\n return (\n <li\n ref={handleRef}\n id={id ?? undefined}\n className={cx(classes.node, {\n [classes.disabled]: disabled,\n [classes.expandable]: expandable,\n [classes.collapsed]: expandable && !expanded,\n [classes.expanded]: expandable && expanded,\n [classes.selectable]: selectable && !disabled,\n [classes.unselectable]: !disabled && !selectable,\n [classes.selected]:\n (!disabled && selectable && selected) ||\n (!isOpen && useIcons && isChildSelected && isChildSelected(nodeId)),\n [classes.unselected]: !disabled && selectable && !selected,\n [classes.focused]: focused,\n [classes.hide]: !isOpen && !useIcons,\n className,\n })}\n data-hasicon={icon != null ? true : undefined}\n {...(mode === \"treeview\" && {\n role: \"treeitem\",\n \"aria-selected\": ariaSelected,\n \"aria-expanded\": expandable ? expanded : undefined,\n \"aria-disabled\": disabled ? true : undefined,\n })}\n {...others}\n >\n {renderedContent}\n {isOpen && (\n <DescendantProvider id={nodeId} level={level + 1}>\n {renderedChildren}\n </DescendantProvider>\n )}\n </li>\n );\n }\n);\n"],"names":["preventSelection","event","disabled","shiftKey","ctrlKey","metaKey","preventDefault","HvVerticalNavigationTreeViewItem","forwardRef","props","ref","id","idProp","className","classes","classesProp","disabledProp","selectable","selectableProp","nodeId","icon","label","href","target","payload","onClick","onMouseDown","onFocus","children","disableTooltip","others","cx","useClasses","treeViewControlContext","useContext","TreeViewControlContext","isExpanded","isSelected","isFocused","isDisabled","isChildSelected","TreeViewStateContext","treeId","mode","collapsible","toggleExpansion","multiSelect","selectNode","selectRange","disabledItemsFocusable","registerNode","unregisterNode","mapFirstChar","unMapFirstChar","focus","treeviewMode","treeitemElement","setTreeitemElement","useState","contentRef","useRef","handleRef","useForkRef","descendant","useMemo","element","isOpen","useIcons","VerticalNavigationContext","index","parentId","level","useDescendant","expandable","Array","isArray","expanded","focused","selected","useEffect","idAttribute","undefined","current","textContent","substring","toLowerCase","ariaSelected","handleFocus","useCallback","currentTarget","ownerDocument","document","getElementById","preventScroll","unfocusable","handleExpansion","multiple","handleSelection","end","handleMouseDown","handleClick","handleKeyDown","isEventHandled","key","altKey","stopPropagation","renderedContent","buttonLinkProps","HvTypography","setId","component","content","link","minimized","variant","style","paddingLeft","role","tabIndex","onKeyDown","_jsx","IconWrapper","hasChildren","Boolean","showAvatar","labelIcon","labelExpandable","DropUpXS","DropDownXS","renderedChildren","group","node","collapsed","unselectable","unselected","hide","DescendantProvider"],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3665,8 +3665,11 @@ declare type HvFooterPropGetter<D extends object = Record<string, unknown>, H ex
|
|
|
3665
3665
|
}>;
|
|
3666
3666
|
|
|
3667
3667
|
export declare interface HvFooterProps extends HvBaseProps {
|
|
3668
|
+
/** Footer name. */
|
|
3668
3669
|
name?: React.ReactNode;
|
|
3670
|
+
/** Footer copyright. */
|
|
3669
3671
|
copyright?: React.ReactNode;
|
|
3672
|
+
/** Footer links. */
|
|
3670
3673
|
links?: React.ReactNode;
|
|
3671
3674
|
/** A Jss Object used to override or extend the styles applied to the component. */
|
|
3672
3675
|
classes?: HvFooterClasses;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hitachivantara/uikit-react-core",
|
|
3
|
-
"version": "5.27.
|
|
3
|
+
"version": "5.27.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "Hitachi Vantara UI Kit Team",
|
|
6
6
|
"description": "Core React components for the NEXT Design System.",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"access": "public",
|
|
65
65
|
"directory": "package"
|
|
66
66
|
},
|
|
67
|
-
"gitHead": "
|
|
67
|
+
"gitHead": "435a519a26417bd9b599a7b0b57ad441ae3a0436",
|
|
68
68
|
"main": "dist/cjs/index.cjs",
|
|
69
69
|
"exports": {
|
|
70
70
|
".": {
|